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.

Reply via email to