[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1035847: x2gobroker-* packages fail to purge without adduser



Package: x2gobroker
Version: 0.0.4.3-2.1
Severity: serious
User: josch@debian.org
Usertags: adduserpurge
Control: tag -1 + patch
X-Debbugs-CC: josch@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 to: