The `Containers1` interface is not stable or production-ready, and on
the 1.14.x branch it has always been compile-time-optional behind a build
option that cannot actually be enabled (it intentionally provokes a
compiler `#error`).
As discussed in <https://github.com/systemd/mkosi/issues/3189>, if we
use the `@DBUS_USER@` here, it makes `tmpfiles.d/dbus.conf` dependent
on having created the `@DBUS_USER@` via `sysusers.d` or some
appropriate distro-specific mechanism. This is problematic in distros
that split up the functionality of dbus into several layers, such as
Debian: the `@DBUS_USER@` conceptually belongs to the same layer as
the well-known system bus, but `/etc/machine-id` and
`/var/lib/dbus/machine-id` are also used by the well-known session bus,
which is orthogonal to the system bus; so we want `dbus.conf` to be in a
lower layer than the `@DBUS_USER@`.
Because the 1.14.x branch is never going to gain a working implementation
of the `Containers1` interface (that sort of feature change is
out-of-scope for a stable branch), we can simplify dbus.conf by never
creating /run/dbus/containers.
Signed-off-by: Simon McVittie <smcv@collabora.com>
# Make ${localstatedir}/lib/dbus/machine-id a symlink to /etc/machine-id
# if it does not already exist
L @EXPANDED_LOCALSTATEDIR@/lib/dbus/machine-id - - - - /etc/machine-id
-
-# Create ${runstatedir}/dbus/containers owned by the system bus user.
-# org.freedesktop.DBus.Containers1 uses this to create sockets.
-d @EXPANDED_RUNSTATEDIR@/dbus/containers 0755 @DBUS_USER@ - - -