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

Reply via email to