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

Reply via email to