[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#998063: debian-policy: New virtual package: {default-,}dbus-system-bus



Package: debian-policy
Version: 4.6.0.1
Severity: wishlist

We now have two implementations of the D-Bus well-known system bus
available in Debian:

* dbus, the portable reference implementation
* dbus-broker, a Linux-specific reimplementation

so it seems like a good time to introduce {default-,}dbus-system-bus
virtual packages, mirroring {default-,}dbus-session-bus.

At the moment, dbus is the default for all architectures. It is possible
that dbus-broker might take over as the default on Linux architectures
in some future release (but it is explicitly not portable, so dbus will
probably always be the default on kFreeBSD and Hurd, similar to how we
choose dbus-user-session vs. dbus-launch).

Packages depending on "dbus" can currently count on having most aspects of
the reference implementation available (except for the session bus, which
requires either dbus-user-session or dbus-launch), but I would prefer to
move towards packages explicitly declaring a dependency on one or more of:

* default-dbus-system-bus | dbus-system-bus:
  the well-known system bus, as required by e.g. Avahi, polkit, udisks2
* dbus-daemon: ability to run the dbus-daemon(1) and dbus-run-session(1)
  executables, or rely on having the D-Bus machine ID /var/lib/dbus/machine-id
  (dbus-session-bus and dbus-system-bus both imply some sort of machine
  ID, but it might be systemd's /etc/machine-id)
* dbus-bin: ability to run assorted CLI tools such as dbus-send(1) and
  dbus-monitor(1)

Proposed wording attached.

Thanks,
    smcv
>From cc65839b65e9a41ca0e9e633ac32a085cec66fa2 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Fri, 29 Oct 2021 10:58:13 +0100
Subject: [PATCH] virtual-package-names-list: Add dbus-system-bus,
 default-dbus-system-bus

This is the same as dbus-session-bus, but for the well-known system bus
described in the D-Bus Specification[1].

dbus, the reference implementation of D-Bus, Provides these since
bullseye. dbus-broker, an independent reimplementation, also Provides
dbus-system-bus in unstable.

The mention of "including service activation" is intended to make it
clearer that some implementation of /usr/share/dbus-1/system-services/
activation is required, for example via dbus' setuid helper and
conditional handoff to systemd, or dbus-broker's unconditional handoff
to systemd.

[1] https://dbus.freedesktop.org/doc/dbus-specification.html

Signed-off-by: Simon McVittie <smcv@debian.org>
---
 virtual-package-names-list.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/virtual-package-names-list.yaml b/virtual-package-names-list.yaml
index 2a9857a..eb5ace2 100644
--- a/virtual-package-names-list.yaml
+++ b/virtual-package-names-list.yaml
@@ -118,6 +118,10 @@ virtualPackages:
    description: provides the D-Bus well-known session bus for most or all user login sessions
  - name: default-dbus-session-bus
    description: Debian's preferred implementation of dbus-session-bus, possibly architecture-specific
+ - name: dbus-system-bus
+   description: provides the D-Bus well-known system bus as a system service, including service activation
+ - name: default-dbus-system-bus
+   description: Debian's preferred implementation of dbus-system-bus, possibly architecture-specific
  - name: logind
    description: an org.freedesktop.login1 D-Bus API implementation (versioned)
  - name: default-logind
-- 
2.33.1


Reply to: