[Pkg-freeipa-devel] Bug#769446: certmonger: Failed to issue method call: Unit dbus.socket failed to load: No such file or directory.

Simon McVittie smcv at debian.org
Sat Nov 22 14:35:22 UTC 2014


On Thu, 13 Nov 2014 at 23:30:00 -0800, Cameron Norman wrote:
> On Thu, 13 Nov 2014 17:59:51 +0100 Benjamin Drung
> <benjamin.drung at profitbricks.com> wrote:
> > Setting up certmonger (0.75.14-2) ...
> > Failed to issue method call: Unit dbus.socket failed to load: No such file
> or directory.
> > invoke-rc.d: initscript certmonger, action "start" failed.
> > [...]
> > certmonger should probably depend on dbus.
> 
> Please do not do that. Both the Upstart job and init script work just fine
> without D-Bus installed.
> 
> Instead, I think that the certmonger systemd service should change its type
> from dbus to forking and remove the `-n` option. Alternatively, it could use
> Type=simple and keep the `-n` option but then you do not get readiness. Not
> sure if that is critical.

If you don't want to depend on dbus then changing the Type to forking
(and removing the -n option) seems best. The service already has the
necessary PIDFile= line to be able to tell systemd which of its processes
after forking is to be considered the main one.

> I think you can still keep dbus based activation without Type=dbus and a
> without a dependency on dbus, but you should ask the systemd maintainers
> about that.

If you leave the BusName= line intact, that provides the prerequisite
for the systemd side of D-Bus system service activation.

However, this seems to be irrelevant, because certmonger doesn't
install anything in /usr/share/dbus-1/system-services, so dbus-daemon
will never try to service-activate it on-demand anyway; anything
communicating with it over D-Bus is only going to work because the init
system already started it.

There appears to be an attempt to provide system service activation in
http://anonscm.debian.org/cgit/pkg-freeipa/certmonger.git/tree/systemd/org.fedorahosted.certmonger.service.in
but (a) it isn't currently installed, (b) I think it may be starting the wrong
binary (certmonger-session), and (c) it does not have the SystemdService
key, so dbus-daemon would try to run it as a child process (via a setuid
helper, dbus-daemon-launch-helper) instead of asking systemd to do it.

Here is an example of a correct file for /usr/share/dbus-1/system-services
with systemd integration:
http://sources.debian.net/src/udisks2/2.1.3-5/data/org.freedesktop.UDisks2.service.in/

Regards,
    S



More information about the Pkg-freeipa-devel mailing list