On Mon, 10 Jul 2023 17:14:48 +0100 Steve McIntyre <st...@einval.com> wrote: > Hi, and thanks for your bug report! > > On Mon, Jul 10, 2023 at 05:27:50PM +0200, yogg wrote: > >Package: installation-reports > >Severity: serious > >Tags: d-i > >Justification: https://wiki.debian.org/MachineId > > > > ... > > >After installation was finished and the system has been restarted the > >files "/etc/machine-id" and "/var/lib/dbus/machine-id" are not linked > >in any way (no soft or hardlink) and the ID inside the files differ > >from each other. > > I've confirmed this bug just now, doing a clean installation from the > 12.0.0 amd64 netinst.
As a wild guess, maybe the split of src:dbus into multiple packages affected the order in which the postinsts run, and now systemd's runs first and creates /etc/machine-id, and then dbus-daemon's runs and creates /var/lib/dbus/machine-id. There is a tmpfiles.d shipped by dbus-daemon that creates /var/lib/dbus/machine-id as a symlink to /etc/machine-id if it exists, but this snippet runs _after_ the dbus-uuidgen so effectively it is always a no-op on package install: $ cat /var/lib/dpkg/info/dbus-daemon.postinst #!/bin/sh set -e if [ "$1" = configure ]; then # This is idempotent, so it's OK to do every time. The system bus' init # script does this anyway, but you also have to do this before a session # bus will work on non-systemd systems, so we do this here for the # benefit of people starting a temporary session bus in a chroot. mkdir -p "${DPKG_ROOT:-/}var/lib/dbus" dbus-uuidgen --ensure="${DPKG_ROOT:-/}var/lib/dbus/machine-id" fi # Automatically added by dh_installtmpfiles/13.11.4 if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then if [ -x "$(command -v systemd-tmpfiles)" ]; then systemd-tmpfiles ${DPKG_ROOT:+--root="$DPKG_ROOT"} --create dbus.conf >/dev/null || true fi fi # End automatically added section It seems to me a safe way to fix this and do the right thing is to swap the #DEBHELPER# token and the manual dbus-uuidgen block in dbus- daemon's postinst. Then on systemd systems the tmpfiles will win and on other systems dbus-uuidgen will do its job. -- Kind regards, Luca Boccassi
signature.asc
Description: This is a digitally signed message part