Install this version:
emerge -a =sys-apps/dbus-broker-dispatch-9999
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =sys-apps/dbus-broker-dispatch-9999
Or alternatively:
emerge --autounmask-write -a =sys-apps/dbus-broker-dispatch-9999
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | 0 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit git-r3 meson s6
DESCRIPTION="Init-independent launcher and service activation for dbus-broker"
HOMEPAGE="https://github.com/FlyingWaffleDev/dbus-broker-dispatch"
EGIT_REPO_URI="${HOMEPAGE}.git"
LICENSE="GPL-3"
SLOT="0"
IUSE="dinit elogind +openrc pam runit s6 selinux"
RDEPEND="
sys-apps/dbus
sys-apps/dbus-broker[-launcher]
dev-libs/expat
elogind? ( sys-auth/elogind )
pam? ( sys-libs/pam )
selinux? ( sys-libs/libselinux )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-build/meson
dev-build/ninja
virtual/pkgconfig
"
src_configure() {
local emesonargs=(
-Delogind=$(usex elogind true false)
-Dpam=$(usex pam enabled disabled)
-Dselinux=$(usex selinux enabled disabled)
)
if use pam; then
emesonargs+=( -Dpam-module-dir="/$(get_libdir)/security" )
fi
meson_src_configure
}
src_install() {
meson_src_install
if use openrc; then
newinitd "${S}/init/openrc/dbus.initd" dbus
newconfd "${S}/init/openrc/dbus.confd" dbus
exeinto /etc/user/init.d
newexe "${S}/init/openrc/dbus.user.initd" dbus
if ! use pam; then
insinto /etc/profile.d
newins "${S}/init/openrc/dbus-broker-dispatch.sh" dbus-broker-dispatch.sh
fi
fi
if use runit; then
exeinto /etc/sv/dbus
newexe "${S}/init/runit/system/dbus/run" run
exeinto /usr/share/dbus-broker-dispatch/runit/user/dbus
newexe "${S}/init/runit/user/dbus/run" run
if ! use pam; then
insinto /etc/profile.d
newins "${S}/init/runit/dbus-broker-dispatch.sh" dbus-broker-dispatch-runit.sh
fi
fi
if use dinit; then
insinto /etc/dinit.d
newins "${S}/init/dinit/system/dbus" dbus
insinto /etc/dinit.d/user
newins "${S}/init/dinit/user/dbus" dbus
if ! use pam; then
insinto /etc/profile.d
newins "${S}/init/dinit/dbus-broker-dispatch.sh" dbus-broker-dispatch-dinit.sh
fi
fi
if use s6; then
s6_install_service dbus "${S}/init/s6/system/dbus/run"
exeinto /usr/share/dbus-broker-dispatch/s6/user/dbus
newexe "${S}/init/s6/user/dbus/run" run
if ! use pam; then
insinto /etc/profile.d
newins "${S}/init/s6/dbus-broker-dispatch.sh" dbus-broker-dispatch-s6.sh
fi
fi
dodoc README.md
newdoc init/README.md init-services.md
}
pkg_postinst() {
if use pam; then
einfo "The PAM user-bus module is installed but is not inserted into login"
einfo "stacks automatically. Add the following after pam_elogind.so in each"
einfo "session stack that should inherit a user bus (e.g. system-login,"
einfo "sddm-greeter; directly after pam_elogind.so):"
einfo " -session optional pam_dbus_broker_dispatch.so"
einfo "See the installed README for display manager and regular-login details."
elif use openrc || use runit || use dinit || use s6; then
einfo "Login-shell fallbacks are installed in /etc/profile.d. Configure a"
einfo "user supervisor first for runit, dinit, or s6; see init-services.md."
einfo "With multiple init flags, set DBUS_BROKER_DISPATCH_INIT before the"
einfo "profile hooks run. Sessions that do not source profile.d, including"
einfo "the SDDM greeter, are not covered."
else
einfo "Configure a user service manager to start the user bus and publish"
einfo "DBUS_SESSION_BUS_ADDRESS, or enable the pam USE flag."
fi
if use runit || use s6; then
einfo "Copy the user service directory from /usr/share/dbus-broker-dispatch/"
einfo "into the user's writable service directory before enabling it."
fi
}
Manage flags for this package:
euse -i <flag> -p sys-apps/dbus-broker-dispatch |
euse -E <flag> -p sys-apps/dbus-broker-dispatch |
euse -D <flag> -p sys-apps/dbus-broker-dispatch
sys-apps/dbus sys-apps/dbus-broker[-launcher] dev-libs/expat elogind? ( sys-auth/elogind ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux )
sys-apps/dbus sys-apps/dbus-broker[-launcher] dev-libs/expat elogind? ( sys-auth/elogind ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux )
dev-build/meson dev-build/ninja virtual/pkgconfig