Control: tags -1 + moreinfo On Tue, 04 Mar 2025 at 16:35:45 +0100, John Paul Adrian Glaubitz wrote:
the package dbus-system-bus-common fails to install when the messagebus user already exists which seems to be the case on some systems:
Specifically, it looks as though on the affected system, the messagebus user exists outside the Debian-Policy-defined system user range 100-999 (or possibly adduser is misidentifying it as being outside that range). Please provide details of the messagebus user/group? This should do it: getent passwd messagebus getent group messagebus
Setting up dbus-system-bus-common (1.16.2-1) ... fatal: The user `messagebus' already exists, but is not a system user. Exiting. dpkg: error processing package dbus-system-bus-common (--configure): installed dbus-system-bus-common package post-installation script subprocess returned error exit status 13 Setting up sbuild-build-depends-dose3-dummy (0.invalid.0) ... dpkg: dependency problems prevent configuration of dbus: dbus depends on dbus-system-bus-common (>= 1.16.2-1); however: Package dbus-system-bus-common is not configured yet.
From the mention of sbuild-build-depends-dose3-dummy, I assume this is a sbuild chroot, in which case /etc/passwd and /etc/group were probably copied from the host system by sbuild. If so, running the commands above on the host system is probably sufficient.
The postinst script should probably check for the existance of the messagebus account instead of trying to create it unconditionally.
If I understand correctly, the adduser maintainers' recommendation is that, to the contrary, packages *should* invoke adduser unconditionally, and let adduser decide what (if anything) it needs to do to arrange for the desired state to exist. adduser maintainers: is that correct, or am I misunderstanding? smcv