-
Committer:
Teddy Hogeborn
-
Date:
2026-05-17 23:05:07 UTC
-
Revision ID:
teddy@recompile.se-20260517230507-9wgmlfdydkxndwko
Add systemd dependency on dbus.socket
If the Mandos server is installed at the exact same time that the
D-Bus daemon is being installed, it is possible that the D-Bus daemon
is installed, but, crucially, not configured or started, when the
Mandos server is started. This makes the Mandos server fail to start,
since it can't connect to the D-Bus system bus. This is only a
problem at that first install time; if the system is restarted,
everything works. I.e. it is not a problem in the most common case
where the Mandos server is installed after the D-Bus server has
already been installed and is running.
However, it can sometimes be a problem. In particular, this seems to
be a problem on the Debian CI servers, which installs all required
packages at the same time.
For Debian packages, for strict dependencies, there is a solution for
this in the "Pre-Depends" header in the Debian package "control" file
(deb-control(5)). There is, however, no such analogous thing for
non-strict dependencies. The Mandos server does not have a strict
dependency on a D-Bus daemon (since a Mandos server can be configured
to run without using D-Bus at all), so we do not want to introduce
such a dependency. Debian package dependencies are hard for system
administrators to override, but a systemd service options are
relatively easy to overide.
Therefore, as far as I know, adding this systemd dependency is all we
can do, currently.
* mandos.service ([Unit]/After): Add "dbus.socket".