summaryrefslogtreecommitdiff
path: root/sys-apps/dbus-broker
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-broker
parent0c100b7dd2b30e75b799d806df4ef899fd98e1ea (diff)
gentoo resync : 12.05.2022
Diffstat (limited to 'sys-apps/dbus-broker')
-rw-r--r--sys-apps/dbus-broker/Manifest5
-rw-r--r--sys-apps/dbus-broker/dbus-broker-30.ebuild45
-rw-r--r--sys-apps/dbus-broker/dbus-broker-9999.ebuild37
-rw-r--r--sys-apps/dbus-broker/files/dbus-broker-30-user-free-assertion.patch64
4 files changed, 122 insertions, 29 deletions
diff --git a/sys-apps/dbus-broker/Manifest b/sys-apps/dbus-broker/Manifest
index 0e522bb95f56..e6dbecad5690 100644
--- a/sys-apps/dbus-broker/Manifest
+++ b/sys-apps/dbus-broker/Manifest
@@ -1,3 +1,4 @@
+AUX dbus-broker-30-user-free-assertion.patch 2310 BLAKE2B 593d949c95f70ba97e1e3a7b1d809a0c27f7036d424a54f622b7a0778f41a8651e152ff91d5c93f294d02d829ef7694c5e0ccadb81ac14a9f9234ed87e935811 SHA512 f2a4da8d558c422d2b6f62a9802af233513305625d8d9d1d5902b473da3017dbe9827761a47d7f32f3d26c35f1e785d9eef5ef05226a7ffc2b2991bc0f1eb0e9
DIST c-dvar-c8ea9712a94186512c22c32f32c421d6a2db6feb.tar.gz 25212 BLAKE2B 37f02df4f0a4c7372826cd9db37de883cf40027b12f72f0d43cf08f08682d90e6c7e8c3756f90a9e6184713c98e331ad2b2c9cd3373a148b05e2a3a2305db413 SHA512 c134892b43a1b572c45f0f24d7c9c7e70b1326c8bc896995b491d86271a000e83707e5d5eeff631b66be31f3980df7146cd18c385263a3a8bd07f30840cf829c
DIST c-ini-204410a08d3a6c8221f6f0baf0355ce5af0232ed.tar.gz 13952 BLAKE2B 42c34e4ebe17d4c0904c395c72e56b0587c5f6b2cdf422cb800678844cf8516f9645718a04e9a10f6e747d1f56b2f1e563d1fa07db078e745761ae1e40ad395a SHA512 72eeaecbe0b9434b48d2ca9674dd1e722e612a730fd07ef27babb346a10ed7311b11c9d85f2aaf0cd84ddca7f926a78d76d066f453289bcbe849c4cacf72ec58
DIST c-list-a0970f12f1f406a5578a5dedf3580cd682e55812.tar.gz 10124 BLAKE2B adb0face335aaa8206e597e404dcfea2b9d22035d4297442473918878ff9928ff5d614b20cb96de8a50c1418da83da5a49837c0677fe2a5f3db4e78cf3f2bfdb SHA512 51958b4c35acd84da89e694fc58a045b28d265f77043d302fe98f3507432363d20bfa611948fad37d0e5feb36b6232f742cde80e6243bafa3cd976c8b11cfc4e
@@ -6,6 +7,8 @@ DIST c-shquote-83ccc2893385fcca1424b188f0f6c45a62f2b38d.tar.gz 10622 BLAKE2B 1c7
DIST c-stdaux-8652c488b8f1c29629a5179d4551d0a691ae5901.tar.gz 13075 BLAKE2B ef08451574ea695151cbfdad2060324423c8abcf46ac8a86b3216b85017c9b4dd8399d0561cb4f2c731e9eb2883481db59292769560cbcbfc3e96823ceb70e9a SHA512 bb669b659955ea62734f401c9745059349b23e6ddbca56e72437929b9527647ff7ac6bba4bb06506e4d8d35f3a1e7c4eacd2d5b1e7cb21098faa144c932f2bb0
DIST c-utf8-0837214a9780b7d771a3b3ce9a49196ac0a9d52f.tar.gz 9340 BLAKE2B 4bfa39c39aa8db8b7d797d78081b5f3104c659e2ceefef65aa2d3c03ffb5889d772cb78328473e3557c943b2487b7bcb7b68d7dc7f2b95940b0448b3479f1b23 SHA512 2df368af5023fac6c7f2e018c0cbfd73225bf1c4e0d0387931352909323175652bcd3739e9e6b76a099aea5d3f0290198aa70c69ecc5e9ef22df214f8c75da79
DIST dbus-broker-29.tar.gz 216639 BLAKE2B 94c8b7ea01367eae176d9411af064a960a054d6fbeb2bdebe9ba983d0938443abeb521f32e0eb9ae28155d5c5ebcf461317223387ccfad624ddd24e6bc8e227b SHA512 4c31b8c15f5d1ada0eb9c63c905c9fc9b3b8336beb533974b9c2b2a6a89c306b77d029d1ddbccbad873f62cc0d02cc373a090907dd19eae1a8a7fc2e3a4c2113
+DIST dbus-broker-30.tar.xz 238688 BLAKE2B 716bdeac726e0168e09a5893f1906888c0dc63e4c5f377f2d5ba100f1a07da17bb0379053ac079e7c55e7af09c3d382368dd317df52e04eb0fe96af03aba7441 SHA512 8b7f614e18d15baa558de2c77fc65526011e75f9592d06ddb3cafa211ec9a1c45aa42a0e32122cb16bdfce8bc34407241080f37891fe5ccb6c4577f1cd4bc66c
EBUILD dbus-broker-29.ebuild 1847 BLAKE2B 8d6fb46de8ff8d95c3ea0ec5e08ac4958cff7862d2db7db767d4e722fc5c3f736607b01dfdbb1f567701a38f9d20b33a8fd44684967bce8bac57fc5d63c9dc89 SHA512 779128c4987833c4773bf37d5c0d3716c2cd4e2d7c3933883b87d198155b29145485bba2ebc21dcd3fb25562613e6b577e2001a15b8c3b84711395e2b4bc26c1
-EBUILD dbus-broker-9999.ebuild 1844 BLAKE2B e5c9b414888fec78b1c501ee06c7723c270155488f0a3ac13d443ba35b8b40f5c8456c78d3c35b9f427b47d4160669f6dda0ae43b68f3c5c5a3e3e4075b11581 SHA512 c3c78aab0bbe62030fce880aceb4aabd3eb56cd9782ad83ae08e5dfa5e6d73f1bf56e8139a6b90abd39e35a7ebe5aabcf87fcd96c99c4b1222f26d674bfd2a6f
+EBUILD dbus-broker-30.ebuild 968 BLAKE2B 7665df74eb518cf4463af1a595da22127a4c02630b189341c903bf819b690938e5208758ecc8c10ccc65dcc47a87a17228d4b87f73c604b9b57b572ffbeaddf0 SHA512 973d7eb03e9c77712e9da9381f8afa023ebfc13830abe42a21f90144c03f4d309f43f62b82418143d89038701759283bc289213a66b922063d0445658cdfcf89
+EBUILD dbus-broker-9999.ebuild 1067 BLAKE2B d11477ac58576aca16f896134433666e20fa3d7f53324c9fba4e6f700ce5b9046324d72eb38e500807c36ac36e72ffbe8553eaeba18d80914c18e2f70f302699 SHA512 25181a668d2cc8114041dd1fdbfef5d17eff13c7f0e212b47b25dcedf4f26cf67dcc2a630c272698cf9ca203967105ca8142ed47a0c07136c45cf001043054b6
MISC metadata.xml 328 BLAKE2B 8d8eea6a3d5e3309106ec3e6f248c4b5cad557ccd5095794bd153cd270c5f43de508363646afce491d5e6cc3bff1dca1ca024c2e87e656401432ac2d833cca90 SHA512 971b4214d0a9f9a68ca12a309096b7345014d2e0f57e85e6e10ff0a09b533d5cafe153fa8082ac01609e3417a31afc319cb285a822194c9c672a57ce316340c4
diff --git a/sys-apps/dbus-broker/dbus-broker-30.ebuild b/sys-apps/dbus-broker/dbus-broker-30.ebuild
new file mode 100644
index 000000000000..6f7873290392
--- /dev/null
+++ b/sys-apps/dbus-broker/dbus-broker-30.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2017-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+SRC_URI="https://github.com/bus1/${PN}/releases/download/v${PV}/${P}.tar.xz"
+DESCRIPTION="Linux D-Bus Message Broker"
+HOMEPAGE="https://github.com/bus1/dbus-broker/wiki"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="audit doc +launcher selinux"
+
+DEPEND="
+ audit? (
+ >=sys-process/audit-3.0
+ >=sys-libs/libcap-ng-0.6
+ )
+ launcher? (
+ >=dev-libs/expat-2.2
+ >=sys-apps/systemd-230:0=
+ )
+ selinux? ( >=sys-libs/libselinux-3.2 )
+"
+RDEPEND="${DEPEND}
+ launcher? ( sys-apps/dbus )"
+BDEPEND="
+ doc? ( dev-python/docutils )
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}"/${P}-user-free-assertion.patch )
+
+src_configure() {
+ local emesonargs=(
+ -Daudit=$(usex audit true false)
+ -Ddocs=$(usex doc true false)
+ -Dlauncher=$(usex launcher true false)
+ -Dselinux=$(usex selinux true false)
+ )
+ meson_src_configure
+}
diff --git a/sys-apps/dbus-broker/dbus-broker-9999.ebuild b/sys-apps/dbus-broker/dbus-broker-9999.ebuild
index 83f7734dc680..073a8c8c8388 100644
--- a/sys-apps/dbus-broker/dbus-broker-9999.ebuild
+++ b/sys-apps/dbus-broker/dbus-broker-9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 2017-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit meson
@@ -10,21 +10,6 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/bus1/dbus-broker.git"
else
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
- SRC_URI="https://github.com/bus1/dbus-broker/archive/v${PV}/${P}.tar.gz"
- declare -Ag SUBPROJECTS=(
- [c-dvar]=9e1a5b4363aaece7169df2b2852944a1434b2df5
- [c-ini]=43f379396a320940d0661c15780f618f84d29348
- [c-list]=b1cd4dbf967d73b24dfe6cc56aaf3fdd668692e3
- [c-rbtree]=fa97402c3faa18c2ddd8325eb66e2bd58a224477
- [c-shquote]=1d171fe52c23944c3c0be1f2603595f2488a9ff8
- [c-stdaux]=d6ecce8afbb7703e1469cc5e7a59a8bd32e2d4a4
- [c-utf8]=1f7e2ff1164bd2161cb480532b2b34cb2074bde1
- )
- for sp in "${!SUBPROJECTS[@]}"; do
- commit=${SUBPROJECTS[${sp}]}
- SRC_URI+=" https://github.com/c-util/${sp}/archive/${commit}/${sp}-${commit}.tar.gz"
- done
- unset sp commit
fi
DESCRIPTION="Linux D-Bus Message Broker"
@@ -36,14 +21,14 @@ IUSE="audit doc +launcher selinux"
DEPEND="
audit? (
- >=sys-process/audit-2.7
+ >=sys-process/audit-3.0
>=sys-libs/libcap-ng-0.6
)
launcher? (
>=dev-libs/expat-2.2
>=sys-apps/systemd-230:0=
)
- selinux? ( sys-libs/libselinux )
+ selinux? ( >=sys-libs/libselinux-3.2 )
"
RDEPEND="${DEPEND}
launcher? ( sys-apps/dbus )"
@@ -52,17 +37,13 @@ BDEPEND="
virtual/pkgconfig
"
-src_prepare() {
- if [[ ${PV} != 9999 ]]; then
- local sp commit
- for sp in "${!SUBPROJECTS[@]}"; do
- commit=${SUBPROJECTS[${sp}]}
- rmdir "subprojects/${sp}" || die
- mv "${WORKDIR}/${sp}-${commit}" "subprojects/${sp}" || die
- done
- fi
- default
+if [[ ${PV} == 9999 ]]; then
+src_unpack() {
+ git-r3_src_unpack
+ cd "${P}" || die
+ meson subprojects download || die
}
+fi
src_configure() {
local emesonargs=(
diff --git a/sys-apps/dbus-broker/files/dbus-broker-30-user-free-assertion.patch b/sys-apps/dbus-broker/files/dbus-broker-30-user-free-assertion.patch
new file mode 100644
index 000000000000..278de1821b87
--- /dev/null
+++ b/sys-apps/dbus-broker/files/dbus-broker-30-user-free-assertion.patch
@@ -0,0 +1,64 @@
+From 608b259e25ef1348b9e4a8e022c35b5c68d3df98 Mon Sep 17 00:00:00 2001
+From: David Rheinsberg <david.rheinsberg@gmail.com>
+Date: Wed, 11 May 2022 08:41:48 +0200
+Subject: [PATCH] util/user: keep reference to user in each usage table
+
+Keep a reference to an owning user in each usage table. We want to allow
+callers to hold charges without holding on to any user references.
+
+Also fix the peer-deinitialization to be ordered correctly and free the
+user references last (in particular, after the charges). This is not
+strictly necessary, but now follows our coding style and would have
+avoided possible failures.
+
+This fixes an assertion failure when disconnecting entire groups of
+peers of the same user, due to the recent fix that actually made
+peer-accounting do something.
+
+Reported-by: Torge Matthies
+Reported-by: Mel34
+Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>
+---
+ src/bus/peer.c | 2 +-
+ src/util/user.c | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/bus/peer.c b/src/bus/peer.c
+index 18bd1947..69ed0fde 100644
+--- a/src/bus/peer.c
++++ b/src/bus/peer.c
+@@ -358,12 +358,12 @@ Peer *peer_free(Peer *peer) {
+ name_owner_deinit(&peer->owned_names);
+ policy_snapshot_free(peer->policy);
+ connection_deinit(&peer->connection);
+- user_unref(peer->user);
+ user_charge_deinit(&peer->charges[2]);
+ user_charge_deinit(&peer->charges[1]);
+ user_charge_deinit(&peer->charges[0]);
+ free(peer->seclabel);
+ free(peer->gids);
++ user_unref(peer->user);
+ free(peer);
+
+ close(fd);
+diff --git a/src/util/user.c b/src/util/user.c
+index 7856b768..d0edb5e8 100644
+--- a/src/util/user.c
++++ b/src/util/user.c
+@@ -48,7 +48,7 @@ static int user_usage_new(UserUsage **usagep, User *user, uid_t uid) {
+ return error_origin(-ENOMEM);
+
+ usage->n_refs = REF_INIT;
+- usage->user = user;
++ usage->user = user_ref(user);
+ usage->uid = uid;
+ usage->user_node = (CRBNode)C_RBNODE_INIT(usage->user_node);
+
+@@ -64,6 +64,7 @@ static void user_usage_free(_Atomic unsigned long *n_refs, void *userdata) {
+ c_assert(!usage->slots[i]);
+
+ user_usage_unlink(usage);
++ user_unref(usage->user);
+ free(usage);
+ }
+