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

Bug#613842: spread: fix for Uninstall of spread breaks dpkg



tags 613842 + patch
thanks

Hi,

attached is a patch that solves the issue for me.
The reordering would have been enough in most cases,
but I wanted to safeguard it a bit :)
No idea how that could have worked in the first place, or did dpkg
accept non-extisting users in statoverrides before?

No intent to NMU at this time due to #639916

Regards
Evgeni
diff -u spread-3.17.4/debian/changelog spread-3.17.4/debian/changelog
--- spread-3.17.4/debian/changelog
+++ spread-3.17.4/debian/changelog
@@ -1,3 +1,11 @@
+spread (3.17.4-4.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Only delete the user and group when no statoverrides are left
+    Closes: #613842
+
+ -- Evgeni Golov <evgeni@debian.org>  Sun, 08 Jul 2012 13:21:09 +0200
+
 spread (3.17.4-4) unstable; urgency=low
 
   * QA upload.
diff -u spread-3.17.4/debian/spread.postrm spread-3.17.4/debian/spread.postrm
--- spread-3.17.4/debian/spread.postrm
+++ spread-3.17.4/debian/spread.postrm
@@ -1,15 +1,22 @@
 #!/bin/sh -e
 
 if [ "$1" = "purge" ]; then
-		
-	if [ -x /usr/sbin/userdel -a -x /usr/sbin/groupdel ]; then
-		getent passwd spread >/dev/null && userdel spread
-		getent group spread >/dev/null && groupdel spread
-	fi
 
 	dpkg-statoverride --remove /etc/spread/spread.conf || true
 	dpkg-statoverride --remove /etc/spread || true
 	dpkg-statoverride --remove /var/run/spread || true
+
+	# only delete the user and group when no statoverrides are left
+	if ! dpkg-statoverride --list /etc/spread/spread.conf >/dev/null; then
+		if ! dpkg-statoverride --list /etc/spread >/dev/null; then
+			if ! dpkg-statoverride --list /var/run/spread >/dev/null; then
+				if [ -x /usr/sbin/userdel -a -x /usr/sbin/groupdel ]; then
+					getent passwd spread >/dev/null && userdel spread
+					getent group spread >/dev/null && groupdel spread
+				fi
+			fi
+		fi
+	fi
 fi
 
 #DEBHELPER#

Reply to: