[PATCH 1/5] activation: change SystemdService to ActivationRequest

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Jan 6 04:59:16 PST 2011


On Thu, 06 Jan 2011 at 12:13:08 +0000, Scott James Remnant wrote:
>     [D-Bus Service]
>     Name=org.freedesktop.Example
>     Exec=/usr/sbin/example-service
>     ActivationRequest=example
...
> shipped on an Upstart system it would fail because even if there were
> a job for this, the request has overridden the use of the bus name so
> Upstart no longer works.

Yeah, it sounds as though ActivationRequest is a harmful generalization.

> It doesn't even scale beyond the two existing init daemons, if the
> windows D-Bus port wanted to use the windows service manager, would
> they have to name all their services the same as systemd to guarantee
> compatibility?

I would have thought that using the same short name for as many as possible
of the sysvinit script, the systemd unit, the Upstart job and the hypothetical
Windows service (and for that matter, the dpkg and RPM packages, anacron and
logrotate jobs, etc. etc.) is likely to become best-practice anyway? I'd
certainly suggest that you follow that convention in any example
Upstart'ization you provide.

systemd already wants the sysvinit script and the systemd unit to be
named the same, so that it can ignore sysvinit scripts that have a
corresponding systemd unit (which is assumed to duplicate the init script's
functionality).

> I'm starting to think that the only way to have any activated service
> name in the .service file is if it's scoped by the activation
> manager's name itself, going back to:
> 
>     SystemdService=...

That sounds sensible, and also backwards-compatible :-)

Services that want to integrate with systemd will already need to take
systemd-specific action (provide a systemd unit with the appropriate name)
so requiring a systemd-specific key in the D-Bus service file doesn't seem bad.

    S


More information about the dbus mailing list