Pramod V U <pramodvu1...@proton.me> writes:
dbus-daemon is the reference dbus daemon.
dbus-broker is an efficient daemon which does things more
performant,
and more reliable in certain scenarios.
It is just a bus, and the rest of the tasks [configuration,
systemd-activation, logging, opening sockets etc...] are done by
dbus-broker-launcher, enabled with USE=launcher.
The latter "launcher" which babysits the broker, is the one
responsible for depending on systemd.
`66-dbus-launch` replaces that part; to use `66` instead.
[...]
That the `66-dbus-launch` binary is meant for starting
exclusively
dbus-broker, and `sys-apps/dbus-broker[-launcher]` is
systemd-independant, the launcher is the one which uses systemd,
does
activation, etc...
`66-dbus-launch` uses 66 instead, but is otherwise very much
same.
Firstly, as some context, i'm the author of a guide "D-Bus: The
essentials":
https://github.com/flexibeast/guides/blob/master/dbus.md
and a guide "D-Bus and X sessions":
https://github.com/flexibeast/guides/blob/master/dbus-and-x-sessions.md
as well as having made various edits related to D-Bus on the
Gentoo wiki.
i'm also the person who ported the documentation for various
skaware packages to man pages:
https://wiki.gentoo.org/wiki/User:Flexibeast#The_s6_ecosystem
and have written a guide on using s6 and s6-rc for user services
under OpenRC:
https://wiki.gentoo.org/wiki/User:Flexibeast/guides/OpenRC_user_services_via_s6_and_s6-rc
So:
My point is that, regardless of dbus-broker's advantages over
dbus-daemon, it _depends on systemd_: anything that needs to
install the `dbus-broker` package will result in _the `systemd`
package being installed as well_, even if systemd isn't being
directly used for init / service supervision / service management
(which are distinct things). i'm using OpenRC with
sys-apps/systemd masked:
```
# emerge dbus-broker
Local copy of remote index is up-to-date and will be used.
Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
Dependency resolution took 21.84 s (backtrack: 4/20).
!!! All ebuilds that could satisfy ">=sys-apps/systemd-230:0="
have been masked.
!!! One of the following masked packages is required to complete
your request:
- sys-apps/systemd-9999::gentoo (masked by: package.mask, missing
keyword)
- sys-apps/systemd-257.3::gentoo (masked by: package.mask, ~amd64
keyword)
- sys-apps/systemd-256.12::gentoo (masked by: package.mask, ~amd64
keyword)
- sys-apps/systemd-256.10::gentoo (masked by: package.mask)
- sys-apps/systemd-254.24::gentoo (masked by: package.mask, ~amd64
keyword)
- sys-apps/systemd-254.22::gentoo (masked by: package.mask)
(dependency required by
"sys-apps/dbus-broker-36::gentoo[launcher]" [ebuild])
(dependency required by "dbus-broker" [argument])
```
Having systemd installed will be the _opposite_ of what many - if
not most! - people wanting to use 66 will want. "So in order to
use this alternative to systemd .... I'll need systemd
installed???" And if you need an idea of how strongly people not
wanting to use systemd can feel around this stuff, search the
Gentoo forums for people complaining about the systemd-utils
package getting installed on their non-systemd systems;
cf. e.g. https://forums.gentoo.org/viewtopic-t-1169990-start-0.html.
My advice and suggestions are based on my knowledge and
experiences in this area, with the intention of helping you create
a package that people will want to use. But also, i don't want
people to get the impression that 66 depends on systemd - which it
doesn't - simply because you insist on using dbus-broker rather
than dbus-daemon, even though the latter is perfectly adequate for
most people's needs (including my own).
Alexis.