Starting the kdbus discussions

Lennart Poettering mzqohf at 0pointer.de
Thu Jan 2 06:21:48 PST 2014


On Thu, 02.01.14 11:38, Alberto Mardegan (alberto.mardegan at canonical.com) wrote:

> I have only one major concern, which is about the activation of the
> kdbus services. From what I understood while reading this thread,
> activatable services should ship a systemd unit file (or two?). Would it
> be possible to make this feature independent of systemd?
> That is, ship a .service file (similar to the old D-Bus service files)
> in some place such as /usr/share/kdbus/services/, and any
> systemd-specific data elsewhere (or even in the same file, but maybe
> with a "X-systemd-" prefix)?

Nope. This is not how dbus1 is set up on systemd systems currently, and
I am not going to change that. Currently, on systemd systems pretty much
all bus activatable socket services ship native unit files, and the old
dbus1 service actviation files simply refer to them, they have very
little value on their own.

We want uniformity here, the different kinds of activation and the
execution environment of services should be identical for all services,
and controllable uniformly. 

On sysv systems with dbus-daemon installed you have this weird situation
that service that start at boot are run from an init script, while
services started via dbus are started from dbus-daemon. Service started
via socket activation are started via inetd and services started on time
via cron. This makes life hard for the admin and dev, as all of them
behave very differently, provide very different features and very
different execution environments. You cannot combine different forms of
activation, without races. With systemd you have a single .service file
for each service now, regardless how it is started. And you combine it
with one or more .busname units to get bus activation, with one or more
.socket units to also get socket activation, with one or more .timer
units to get timer activation. This uniformity is what we are going for
here.

I mentioned this elsewhere in this thread: I believe that executing
services and doing activation should be an implementation detail of the
init system, not of dbus. The same way as the format of sysv init
scripts is not described in the dbus spec (even though services like
this can and regularly do connect to the bus), I see no point in
continuing to describe the bus activation file format in the spec.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the dbus mailing list