Package: x2gobroker Version: 0.0.4.3-2.1 Severity: serious User: jo...@debian.org Usertags: adduserpurge Control: tag -1 + patch X-Debbugs-CC: jo...@debian.org
Hi, the packages passwd and adduser are not part of the Essential:yes set. According to policy §7.2 maintainer scripts cannot assume them being installed when purging a package. If one tries to remove this package without adduser (which depends on passwd) installed, one gets: --%<------------------------------------------------------------------------- ==> x2gobroker-agent.log <== Purging configuration files for x2gobroker-agent (0.0.4.3-2.1) ... /var/lib/dpkg/info/x2gobroker-agent.postrm: 35: deluser: not found dpkg: error processing package x2gobroker-agent (--purge): installed x2gobroker-agent package post-removal script subprocess returned error exit status 127 Errors were encountered while processing: x2gobroker-agent ==> x2gobroker-authservice.log <== Purging configuration files for x2gobroker-authservice (0.0.4.3-2.1) ... /var/lib/dpkg/info/x2gobroker-authservice.postrm: 31: deluser: not found dpkg: error processing package x2gobroker-authservice (--purge): installed x2gobroker-authservice package post-removal script subprocess returned error exit status 127 Errors were encountered while processing: x2gobroker-authservice ==> x2gobroker-daemon.log <== Purging configuration files for x2gobroker-daemon (0.0.4.3-2.1) ... /var/lib/dpkg/info/x2gobroker-daemon.postrm: 31: deluser: not found dpkg: error processing package x2gobroker-daemon (--purge): installed x2gobroker-daemon package post-removal script subprocess returned error exit status 127 Errors were encountered while processing: x2gobroker-daemon ==> x2gobroker-loadchecker.log <== Purging configuration files for x2gobroker-loadchecker (0.0.4.3-2.1) ... /var/lib/dpkg/info/x2gobroker-loadchecker.postrm: 31: deluser: not found dpkg: error processing package x2gobroker-loadchecker (--purge): installed x2gobroker-loadchecker package post-removal script subprocess returned error exit status 127 Errors were encountered while processing: x2gobroker-loadchecker ==> x2gobroker-ssh.log <== Purging configuration files for x2gobroker-ssh (0.0.4.3-2.1) ... /var/lib/dpkg/info/x2gobroker-ssh.postrm: 30: deluser: not found dpkg: error processing package x2gobroker-ssh (--purge): installed x2gobroker-ssh package post-removal script subprocess returned error exit status 127 Errors were encountered while processing: x2gobroker-ssh ==> x2gobroker-wsgi.log <== Purging configuration files for x2gobroker-wsgi (0.0.4.3-2.1) ... /var/lib/dpkg/info/x2gobroker-wsgi.postrm: 47: deluser: not found dpkg: error processing package x2gobroker-wsgi (--purge): installed x2gobroker-wsgi package post-removal script subprocess returned error exit status 127 Errors were encountered while processing: x2gobroker-wsgi -->%------------------------------------------------------------------------- There is ongoing discussion how to handle system users on package removal, see https://bugs.debian.org/621833 For a discussion about use of adduser during purge, see #1035654. To work around this problem, at least 125 source packages [codesearch] simply ignore failures of calling the passwd or adduser tools during purge. The following patch should fix this package by doing the same: --%<------------------------------------------------------------------------- diff -Nru x2gobroker-0.0.4.3/debian/x2gobroker-agent.postrm x2gobroker-0.0.4.3/debian/x2gobroker-agent.postrm --- x2gobroker-0.0.4.3/debian/x2gobroker-agent.postrm 2019-03-31 16:49:49.000000000 +0200 +++ x2gobroker-0.0.4.3/debian/x2gobroker-agent.postrm 2023-05-10 08:01:29.000000000 +0200 @@ -32,9 +32,9 @@ if [ ! -d /usr/share/doc/x2gobroker-daemon ] && [ ! -d /usr/share/doc/x2gobroker-authservice ] && [ ! -d /usr/share/doc/x2gobroker-wsgi ] && [ ! -d /usr/share/doc/x2gobroker-loadchecker ]; then # remove user/group x2gobroker from system (if not in use by x2gobroker-daemon, x2gobroker-authservice, x2gobroker-wsgi, x2gobroker-loadchecker) - getent passwd x2gobroker 1>/dev/null && deluser x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker + getent passwd x2gobroker 1>/dev/null && deluser x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true rm -Rf /var/lib/x2gobroker fi @@ -52,4 +52,4 @@ #DEBHELPER# -exit 0 \ No newline at end of file +exit 0 diff -Nru x2gobroker-0.0.4.3/debian/x2gobroker-authservice.postrm x2gobroker-0.0.4.3/debian/x2gobroker-authservice.postrm --- x2gobroker-0.0.4.3/debian/x2gobroker-authservice.postrm 2019-03-31 16:49:49.000000000 +0200 +++ x2gobroker-0.0.4.3/debian/x2gobroker-authservice.postrm 2023-05-10 08:01:29.000000000 +0200 @@ -28,9 +28,9 @@ if [ ! -d /usr/share/doc/x2gobroker-daemon ] && [ ! -d /usr/share/doc/x2gobroker-agent ] && [ ! -d /usr/share/doc/x2gobroker-wsgi ] && [ ! -d /usr/share/doc/x2gobroker-loadchecker ]; then # remove user/group x2gobroker from system (only if not in use by x2gobroker-daemon, x2gobroker-agent, x2gobroker-wsgi, x2gobroker-loadchecker) - getent passwd x2gobroker 1>/dev/null && deluser x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker + getent passwd x2gobroker 1>/dev/null && deluser x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true rm -Rf /var/lib/x2gobroker fi diff -Nru x2gobroker-0.0.4.3/debian/x2gobroker-daemon.postrm x2gobroker-0.0.4.3/debian/x2gobroker-daemon.postrm --- x2gobroker-0.0.4.3/debian/x2gobroker-daemon.postrm 2019-03-31 16:49:49.000000000 +0200 +++ x2gobroker-0.0.4.3/debian/x2gobroker-daemon.postrm 2023-05-10 08:01:29.000000000 +0200 @@ -28,9 +28,9 @@ if [ ! -d /usr/share/doc/x2gobroker-agent ] && [ ! -d /usr/share/doc/x2gobroker-authservice ] && [ ! -d /usr/share/doc/x2gobroker-wsgi ] && [ ! -d /usr/share/doc/x2gobroker-loadchecker ]; then # remove user/group x2gobroker from system (only if not in use by x2gobroker-agent, x2gobroker-authservice, x2gobroker-wsgi, x2gobroker-loadchecker) - getent passwd x2gobroker 1>/dev/null && deluser x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker + getent passwd x2gobroker 1>/dev/null && deluser x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true rm -Rf /var/lib/x2gobroker fi diff -Nru x2gobroker-0.0.4.3/debian/x2gobroker-loadchecker.postrm x2gobroker-0.0.4.3/debian/x2gobroker-loadchecker.postrm --- x2gobroker-0.0.4.3/debian/x2gobroker-loadchecker.postrm 2019-03-31 16:49:49.000000000 +0200 +++ x2gobroker-0.0.4.3/debian/x2gobroker-loadchecker.postrm 2023-05-10 08:01:29.000000000 +0200 @@ -28,9 +28,9 @@ if [ ! -d /usr/share/doc/x2gobroker-daemon ] && [ ! -d /usr/share/doc/x2gobroker-agent ] && [ ! -d /usr/share/doc/x2gobroker-wsgi ] && [ ! -d /usr/share/doc/x2gobroker-authservice ]; then # remove user/group x2gobroker from system (only if not in use by x2gobroker-daemon, x2gobroker-agent, x2gobroker-wsgi, x2gobroker-authservice) - getent passwd x2gobroker 1>/dev/null && deluser x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker + getent passwd x2gobroker 1>/dev/null && deluser x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true rm -Rf /var/lib/x2gobroker fi diff -Nru x2gobroker-0.0.4.3/debian/x2gobroker-ssh.postrm x2gobroker-0.0.4.3/debian/x2gobroker-ssh.postrm --- x2gobroker-0.0.4.3/debian/x2gobroker-ssh.postrm 2019-03-31 16:49:49.000000000 +0200 +++ x2gobroker-0.0.4.3/debian/x2gobroker-ssh.postrm 2023-05-10 08:01:29.000000000 +0200 @@ -27,9 +27,9 @@ if [ ! -d /usr/share/doc/x2gobroker-agent ] && [ ! -d /usr/share/doc/x2gobroker-authservice ] && [ ! -d /usr/share/doc/x2gobroker-wsgi ] && [ ! -d /usr/share/doc/x2gobroker-daemon ]; then # remove user/group x2gobroker from system (only if not in use by x2gobroker-agent, x2gobroker-authservice, x2gobroker-wsgi) - getent passwd x2gobroker 1>/dev/null && deluser x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker + getent passwd x2gobroker 1>/dev/null && deluser x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true rm -Rf /var/lib/x2gobroker fi diff -Nru x2gobroker-0.0.4.3/debian/x2gobroker-wsgi.postrm x2gobroker-0.0.4.3/debian/x2gobroker-wsgi.postrm --- x2gobroker-0.0.4.3/debian/x2gobroker-wsgi.postrm 2019-03-31 16:49:49.000000000 +0200 +++ x2gobroker-0.0.4.3/debian/x2gobroker-wsgi.postrm 2023-05-10 08:01:29.000000000 +0200 @@ -44,9 +44,9 @@ if [ ! -d /usr/share/doc/x2gobroker-agent ] && [ ! -d /usr/share/doc/x2gobroker-authservice ] && [ ! -d /usr/share/doc/x2gobroker-daemon ] && [ ! -d /usr/share/doc/x2gobroker-loadchecker ]; then # remove user/group x2gobroker from system (only if not in use by x2gobroker-agent, x2gobroker-authservice, x2gobroker-daemon, x2gobroker-loadchecker) - getent passwd x2gobroker 1>/dev/null && deluser x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker - getent group x2gobroker 1>/dev/null && delgroup x2gobroker + getent passwd x2gobroker 1>/dev/null && deluser x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true + getent group x2gobroker 1>/dev/null && delgroup x2gobroker || true rm -Rf /var/lib/x2gobroker fi -->%------------------------------------------------------------------------- If you prefer I can fix this via an NMU. Thanks! cheers, josch [codesearch] https://codesearch.debian.net/search?q=del%28user%7Cgroup%29.*%5C%7C%5C%7C+true+path%3Adebian%2F.*%5C.%28pre%7Cpost%29rm%24&literal=0