mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-30 20:00:11 +01:00
bus: Don't create /run/dbus/containers if the feature is disabled
The `Containers1` interface is not stable or production-ready, and is compile-time-optional behind a build option, which in fact currently cannot be enabled (it intentionally provokes a compiler `#error` if enabled). If it isn't enabled, this directory won't be useful, so there's no reason to create it. 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@`. Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
08d64b1638
commit
54f9aa554a
3 changed files with 14 additions and 4 deletions
5
bus/tmpfiles.d/dbus-containers.conf.in
Normal file
5
bus/tmpfiles.d/dbus-containers.conf.in
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Fields: type; path; mode; uid; gid; age; argument (symlink target)
|
||||
|
||||
# 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@ - - -
|
||||
|
|
@ -7,7 +7,3 @@ d @EXPANDED_LOCALSTATEDIR@/lib/dbus 0755 - - -
|
|||
# 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@ - - -
|
||||
|
|
|
|||
|
|
@ -25,3 +25,12 @@ configure_file(
|
|||
configuration: data_config,
|
||||
install_dir: get_option('prefix') / 'lib' / 'tmpfiles.d',
|
||||
)
|
||||
|
||||
if get_option('containers')
|
||||
configure_file(
|
||||
input: 'dbus-containers.conf.in',
|
||||
output: 'dbus-containers.conf',
|
||||
configuration: data_config,
|
||||
install_dir: get_option('prefix') / 'lib' / 'tmpfiles.d',
|
||||
)
|
||||
endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue