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

Scott James Remnant scott at netsplit.com
Wed Jan 5 17:52:48 PST 2011


On Mon, Jan 3, 2011 at 10:52 AM, Simon McVittie
<simon.mcvittie at collabora.co.uk> wrote:
> On Sun, 02 Jan 2011 at 22:46:53 +0000, Scott James Remnant wrote:
>> Instead of hardcoding the request string to be the systemd service
>> name, make it any string you wish to pass to the activation manager.
>
> How does this work for activatable services not provided by the distro (i.e.
> from source)? If I'm writing a service uk.co.collabora.lolcatkit and I don't
> know whether my users will be using Upstart or systemd, it looks as though
> I'll have to choose between these two:
>
That's a brilliant point we hadn't considered.  If the config format
requires specifying the systemd service name, it would mean that same
config would not work on a service manager with a different config
name or a service manager such as Upstart which simply takes the D-Bus
name.

Lennart's suggestion of:

  ActivationRequest[systemd]=...

makes more sense after all.  Though again, this would bring us back
round to hardcoding names like systemd into D-Bus; would:

  ActivationRequest[org.freedesktop.systemd1]=...

be too wordy?

For Upstart, you'd just omit this and use the:

  ActivationByManager=true

suggestion I guess (implied by the presence of any other activation
request).  That would at least mean an upstream distributed systemd
config would work straight away for Upstart (assuming we keep the Exec
& User fields in the activation signal, so it can use a default job
for all activation).

The inverse though would be an upstream D-Bus service without the
systemd name wouldn't work for systemd?

Scott


More information about the dbus mailing list