summaryrefslogtreecommitdiff
path: root/sys-apps/dbus
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
committerV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
commit752d6256e5204b958b0ef7905675a940b5e9172f (patch)
tree330d16e6362a49cbed8875a777fe641a43376cd3 /sys-apps/dbus
parent0c100b7dd2b30e75b799d806df4ef899fd98e1ea (diff)
gentoo resync : 12.05.2022
Diffstat (limited to 'sys-apps/dbus')
-rw-r--r--sys-apps/dbus/Manifest5
-rw-r--r--sys-apps/dbus/dbus-1.12.22-r1.ebuild (renamed from sys-apps/dbus/dbus-1.12.22.ebuild)8
-rw-r--r--sys-apps/dbus/dbus-1.14.0-r1.ebuild (renamed from sys-apps/dbus/dbus-1.14.0.ebuild)9
-rw-r--r--sys-apps/dbus/files/dbus-1.14.0-oom_score_adj.patch115
4 files changed, 127 insertions, 10 deletions
diff --git a/sys-apps/dbus/Manifest b/sys-apps/dbus/Manifest
index e5c6c9081bd8..0df627e8290d 100644
--- a/sys-apps/dbus/Manifest
+++ b/sys-apps/dbus/Manifest
@@ -1,5 +1,6 @@
AUX 80-dbus 341 BLAKE2B 20849eb7c526475d3ff96766ac7183608aa51e5c069f07cf282a2b4d884b2a8580aa88cff182d54ef75aaa747848f3dbcc0bd0bd5da124e4a259851878c73b00 SHA512 fa019d903e5412d0c47dade4299995e9baa8b86d74ebc0b42967137762bc476628af57f8a6c354660fce731c33a49a66027cd8b5a25be4d898b7d1662c600e89
AUX dbus-1.12.22-check-fd.patch 1055 BLAKE2B a4889677a778fe0698128b2399273adb5373a11927a5610e6a9757237226fa866ce33bb603a89c44b8c2d3e2fccd4131637821ba1bb14782276223d5fa5db337 SHA512 667e76237868c177b9299eb0259dee2a5f820fde15fed0a21823b435e34ad734ec9e850f1a1b5408a6b099a78f77564b2396c38b82d931f3b0b5b93c0e5b8c4e
+AUX dbus-1.14.0-oom_score_adj.patch 3882 BLAKE2B 9b5c55d8660c7de77976026b39b76dddbc88ddc3c4810bc6114faf038401faaf162f50f8014d26182a5d5a8b6a6ba44e517a864919152ae96e7b352ab8255df4 SHA512 353beed17bf788396828c1817703bed09f8e1fe48772dce6eb1f3c601859c593c23044e4e61ec503596790a56c64e0b4bdcd2be10e337ef9ad1ec9de0dbe027c
AUX dbus-1.14.0-x-autoconf-fixes.patch 5171 BLAKE2B 6b7453397e467da695b3efd70e53f6a50dad44c44130f973037a4cb4139d62c7adab758a495ddebb97a35d068333417051adb5eb17bae86df31c998137eb6052 SHA512 e74b09c7da445c02fe84148b43ca61b21a95b67edbde4dc9f1916a9a628182097630336010f15f366063dc1432da7b1ae52e73b04185493b48ce28bf79873e54
AUX dbus-daemon-optional.patch 2701 BLAKE2B 28054bf147ffc29d893017dd9b8a6c9b3a032c31ec1860c38c7a54910b3fe8da2a9bce175d01fab1c224008ba38e1981dfc161fde80f725096e644495740052e SHA512 6d07220d8c80c49057396dc76d808cad2c995cce259544e8435d0c8fe328f85ac3a7da5a88209f80a127a04b48591ac20fe661683665adca2af75fedd2563bf2
AUX dbus-enable-elogind.patch 2801 BLAKE2B c9ef41ff7b31af6cbaf28ca16974fb62aa0f2492f1c6970b41216758768d1139d2ce9aabbb3aff952d625b0decd1e8c2b25f79bb0a13c146aa9453dd4f7b5c5a SHA512 84c5eacc9c305ce1fa9f7a50407b7e836a20c679273cef06004ff57665c27818d2c33e0cfa9ea91ae89c50da4f7b9a92077e607f0f17b9300892d16e881a7d9a
@@ -8,6 +9,6 @@ DIST dbus-1.12.20.tar.gz 2095511 BLAKE2B b467526e7e0281db7b8c7c178469fe006dab29c
DIST dbus-1.12.22.tar.gz 2108231 BLAKE2B 40c30ad9e48d8ac6b5f1c67726015eb17cb3501372ef2c8ffcd8ad73e4a2f186b80a7bbba094460d4093d1d0a3f1bbb8d83a27724397a8f5312bb8542237e6b7 SHA512 0a716022f9d693fcaf871b6dfb5f242b49a8dd05d3316ec3e530f5129f1d81a2fa9caec795fa62cfdcba6ed21549fdd2f896f9bf1cc9a96e2a7d04f2c7ec7be6
DIST dbus-1.14.0.tar.xz 1360228 BLAKE2B ae0ebc2779e840e2d83f633029f81fba0e35969648dddce0280640dd9bee3f9508aa7fb6aef696d1c4c56d40f91b754941f847525afaee5cc3170ad23a7eddbf SHA512 9bf17a3ebb3cf44722c6fbf24ee56e9dc14d6882fc312f26c7f07459d969424bc2fb63a229139e011804ecc479a8f0eb1a0c83286f8d5a664c5979d12634179f
EBUILD dbus-1.12.20-r4.ebuild 7533 BLAKE2B 19b9f34046bea0cbef61a641255f56bf98005c96aa61de9212e9e6ddca1957b02a217f8ff28b23b51fee6337b3fa7b48d4aebe707589bf0452ec4f987af8081e SHA512 0369f3de41131f9ea8fa6577a5fc992f62c16f3a995017fe1becf65bdbe6c9676f02a99d11e706ae9afc63dc2202a850543d69fd3bc2cd4d4d9545c73432375b
-EBUILD dbus-1.12.22.ebuild 7654 BLAKE2B ac43f49c5079ed47a73c4447738b90ca9b5fa8f62a891e7724892ae195cfe24212fbe58949d747c9a7c28dfd0d2713ef08ec8eefb73eb8aa7c77c16820a2cdd0 SHA512 eeac6c8ad9a7e1da9c3603d4ea9a205b2fef70a8484258b349fa3a502e8f6f7a955149e0a251aa3486166d989ed8da7acf8e6e99d0e19113ed326256d92eb42e
-EBUILD dbus-1.14.0.ebuild 7862 BLAKE2B a2e4d2adc0b5d4a6d766091be9ce2bf8ccef55a689055b5c6187368fa0161674d813313f6c3ff35f36aa7f7917ddbf5dc20b66204844515cb7908b5244c01b20 SHA512 bbb4bd2d2844f60bb1492777c691b1010bd95e3401587faba07e18d004a282a818b70efd744fd86cf51a72035de402bc9d2be9f49deb1e93aa8f71ef08106c3c
+EBUILD dbus-1.12.22-r1.ebuild 7658 BLAKE2B cafe8f95f6c8504e7cee03a14f226a0be3d8797f11e8fd8c711af3b8c249a446c99a8bed4815b3473cf150b00f6bf8accce5bca553f2798bf1424ed6431a014d SHA512 581303e1052c776ce50007825e500e69bf16d616ae7e3ea011e247b1e382b4b2211d4ba18ddf50713509cb5b7453cf2d07c7a2d8a76caa4e409125b56d308b79
+EBUILD dbus-1.14.0-r1.ebuild 7882 BLAKE2B 90cb99471a5e1a6e67031b4c5948ada9b58a267755e282c2811304a797cc777f89f12580fe47d987b7381465bd4ef82d8b5a42d1d41e8123e51476b5dd46baba SHA512 664deae60dd1f9117691749cc814a69b8559999a5eac8398f9dcf02e4c529ff0f04d9f66f06b258956969df63d6d516f9e027ede6364430f6c995f86d9538b81
MISC metadata.xml 501 BLAKE2B 7a39c6df0072e46a515e88bbf4023713826167924dda328657fc36f169f4918f92ef59127c435055d942018b6370c47d55fa288ccd6a88414e86e6fab65a0751 SHA512 b750d80e9c8a8cad6eb42952d72fd65868e69ab686a5bfc95896b1734960dab4975ff14b6c44637c0c9b80b76a55f826f2d86f6dfa4f075449a2660fbb85a79e
diff --git a/sys-apps/dbus/dbus-1.12.22.ebuild b/sys-apps/dbus/dbus-1.12.22-r1.ebuild
index f4d09190728e..68513fcf1e9d 100644
--- a/sys-apps/dbus/dbus-1.12.22.ebuild
+++ b/sys-apps/dbus/dbus-1.12.22-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/dbus/${P}.tar.gz"
LICENSE="|| ( AFL-2.1 GPL-2 )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc elogind selinux static-libs systemd test X"
RESTRICT="!test? ( test )"
@@ -64,6 +64,9 @@ PATCHES=(
"${FILESDIR}/dbus-daemon-optional.patch" # bug #653136
"${FILESDIR}/dbus-1.12.22-check-fd.patch"
+
+ # https://bugs.gentoo.org/836560
+ "${FILESDIR}/dbus-1.14.0-oom_score_adj.patch"
)
pkg_setup() {
@@ -207,9 +210,6 @@ multilib_src_compile() {
}
src_test() {
- # https://bugs.gentoo.org/836560
- addwrite /proc/self/oom_score_adj
-
DBUS_VERBOSE=1 virtx emake -j1 -C "${TBD}" check
}
diff --git a/sys-apps/dbus/dbus-1.14.0.ebuild b/sys-apps/dbus/dbus-1.14.0-r1.ebuild
index 07da8e03b737..075aeffd6de9 100644
--- a/sys-apps/dbus/dbus-1.14.0.ebuild
+++ b/sys-apps/dbus/dbus-1.14.0-r1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/dbus/${P}.tar.xz"
LICENSE="|| ( AFL-2.1 GPL-2 )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc elogind selinux static-libs systemd test X"
RESTRICT="!test? ( test )"
@@ -68,6 +68,9 @@ PATCHES=(
"${FILESDIR}/dbus-1.14.0-x-autoconf-fixes.patch"
"${FILESDIR}/dbus-1.12.22-check-fd.patch"
+
+ # https://bugs.gentoo.org/836560
+ "${FILESDIR}/dbus-1.14.0-oom_score_adj.patch"
)
pkg_setup() {
@@ -207,12 +210,10 @@ multilib_src_compile() {
}
src_test() {
- # https://bugs.gentoo.org/836560
- addwrite /proc/self/oom_score_adj
-
# DBUS_TEST_MALLOC_FAILURES=0 to avoid huge test logs
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/CONTRIBUTING.md#L231
DBUS_TEST_MALLOC_FAILURES=0 DBUS_VERBOSE=1 virtx emake -j1 -C "${TBD}" check
+
}
multilib_src_install() {
diff --git a/sys-apps/dbus/files/dbus-1.14.0-oom_score_adj.patch b/sys-apps/dbus/files/dbus-1.14.0-oom_score_adj.patch
new file mode 100644
index 000000000000..094529708088
--- /dev/null
+++ b/sys-apps/dbus/files/dbus-1.14.0-oom_score_adj.patch
@@ -0,0 +1,115 @@
+From 499cdfde1b3f5d812912e89b1a1a0d7a4fb83306 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <smcv@collabora.com>
+Date: Fri, 1 Apr 2022 18:58:34 +0100
+Subject: [PATCH 1/2] activation-helper: Never crash if unable to write
+ oom_score_adj
+
+_dbus_warn() normally only logs a warning, but can be made fatal by
+environment variables. In particular, we do that during unit testing,
+which can result in a build-time test failure if dbus is built in a
+sandbox environment that prevents write access.
+
+_dbus_log() does only the logging part of _dbus_warn(), which seems
+more appropriate here.
+
+Signed-off-by: Simon McVittie <smcv@collabora.com>
+---
+ bus/activation-helper.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bus/activation-helper.c b/bus/activation-helper.c
+index 8a4fd732..df0472ce 100644
+--- a/bus/activation-helper.c
++++ b/bus/activation-helper.c
+@@ -348,7 +348,7 @@ exec_for_correct_user (char *exec, char *user, DBusError *error)
+ /* Resetting the OOM score adjustment is best-effort, so we don't
+ * treat a failure to do so as fatal. */
+ if (!_dbus_reset_oom_score_adj (&error_str))
+- _dbus_warn ("%s: %s", error_str, strerror (errno));
++ _dbus_log (DBUS_SYSTEM_LOG_WARNING, "%s: %s", error_str, strerror (errno));
+
+ if (!switch_user (user, error))
+ return FALSE;
+--
+GitLab
+
+
+From 5c8e5b7140c4f1f88684c7a83ce9587fff2def0c Mon Sep 17 00:00:00 2001
+From: Simon McVittie <smcv@collabora.com>
+Date: Fri, 1 Apr 2022 18:56:26 +0100
+Subject: [PATCH 2/2] sysdeps: Only open oom_score_adj read/write if we need to
+ write it
+
+If we're running in a sandbox, we might not have write access to
+oom_score_adj. In the common case where we don't have any special
+protection from the OOM-killer, we can detect that with only read
+access, and skip the part where we open it for writing.
+
+(We would also not have write access to oom_score_adj if we're running
+with elevated Linux capabilities while not root, but that should never
+actually happen for dbus-daemon-launch-helper, which is setuid root
+for production use or has no capabilities during unit-testing.)
+
+Signed-off-by: Simon McVittie <smcv@collabora.com>
+---
+ dbus/dbus-sysdeps-util-unix.c | 26 +++++++++++++++++++++++---
+ 1 file changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/dbus/dbus-sysdeps-util-unix.c b/dbus/dbus-sysdeps-util-unix.c
+index 8f079cbf..ca130cff 100644
+--- a/dbus/dbus-sysdeps-util-unix.c
++++ b/dbus/dbus-sysdeps-util-unix.c
+@@ -1627,12 +1627,12 @@ _dbus_reset_oom_score_adj (const char **error_str_p)
+ const char *error_str = NULL;
+
+ #ifdef O_CLOEXEC
+- fd = open ("/proc/self/oom_score_adj", O_RDWR | O_CLOEXEC);
++ fd = open ("/proc/self/oom_score_adj", O_RDONLY | O_CLOEXEC);
+ #endif
+
+ if (fd < 0)
+ {
+- fd = open ("/proc/self/oom_score_adj", O_RDWR);
++ fd = open ("/proc/self/oom_score_adj", O_RDONLY);
+ if (fd >= 0)
+ _dbus_fd_set_close_on_exec (fd);
+ }
+@@ -1680,6 +1680,26 @@ _dbus_reset_oom_score_adj (const char **error_str_p)
+ goto out;
+ }
+
++ close (fd);
++#ifdef O_CLOEXEC
++ fd = open ("/proc/self/oom_score_adj", O_WRONLY | O_CLOEXEC);
++
++ if (fd < 0)
++#endif
++ {
++ fd = open ("/proc/self/oom_score_adj", O_WRONLY);
++ if (fd >= 0)
++ _dbus_fd_set_close_on_exec (fd);
++ }
++
++ if (fd < 0)
++ {
++ ret = FALSE;
++ error_str = "open(/proc/self/oom_score_adj) for writing";
++ saved_errno = errno;
++ goto out;
++ }
++
+ if (pwrite (fd, "0", sizeof (char), 0) < 0)
+ {
+ ret = FALSE;
+@@ -1700,7 +1720,7 @@ _dbus_reset_oom_score_adj (const char **error_str_p)
+ else
+ {
+ ret = FALSE;
+- error_str = "open(/proc/self/oom_score_adj)";
++ error_str = "open(/proc/self/oom_score_adj) for reading";
+ saved_errno = errno;
+ goto out;
+ }
+--
+GitLab
+