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

Bug#680343: unblock: trousers/0.3.9-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package trousers

This version fixes an annoying bug which prevents upgrades or removal
from previous versions, including stable (and thus makes upgrades fail,
without any proper way to upgrade or remove the old version).
See #67682 and #679621

The fix is a workaround: since the init script cannot be used, we kill
and remove the executable in the prerm script so the init script can
exit properly, and continue the upgrade process with the new version.

debdiff attached

Thanks,
Pierre

unblock trousers/0.3.9-2
diff -Nru trousers-0.3.9/debian/changelog trousers-0.3.9/debian/changelog
--- trousers-0.3.9/debian/changelog	2012-06-18 22:22:21.000000000 +0200
+++ trousers-0.3.9/debian/changelog	2012-07-04 21:57:25.000000000 +0200
@@ -1,3 +1,10 @@
+trousers (0.3.9-2) unstable; urgency=low
+
+  * Add workaround for upgrade failure for versions before 0.3.8-3
+    (Closes: #679621)
+
+ -- Pierre Chifflier <pollux@debian.org>  Wed, 04 Jul 2012 21:57:22 +0200
+
 trousers (0.3.9-1) unstable; urgency=low
 
   * Imported Upstream version 0.3.9
diff -Nru trousers-0.3.9/debian/trousers.postinst trousers-0.3.9/debian/trousers.postinst
--- trousers-0.3.9/debian/trousers.postinst	2012-02-26 11:47:51.000000000 +0100
+++ trousers-0.3.9/debian/trousers.postinst	2012-07-04 21:46:07.000000000 +0200
@@ -5,7 +5,7 @@
 case "${1}" in
 	configure)
 		# Adding tss system user
-		adduser --system --home /var/lib/tpm --shell /bin/false --no-create-home --group tss
+		adduser --system --quiet --home /var/lib/tpm --shell /bin/false --no-create-home --group tss
 
 		# Setting owner
 		chown tss:tss /var/lib/tpm -R
diff -Nru trousers-0.3.9/debian/trousers.prerm trousers-0.3.9/debian/trousers.prerm
--- trousers-0.3.9/debian/trousers.prerm	1970-01-01 01:00:00.000000000 +0100
+++ trousers-0.3.9/debian/trousers.prerm	2012-07-04 21:46:07.000000000 +0200
@@ -0,0 +1,42 @@
+#!/bin/sh
+# prerm script for trousers
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    failed-upgrade)
+        if dpkg --compare-versions "$2" lt 0.3.8-3; then
+            # hack to avoid #676828
+            # removing the executable will make the init script exit gracefully
+            rm -f /usr/sbin/tcsd
+            # kill tcsd (and any other process owned by the tss user)
+            killall -u tss  2>/dev/null || true
+        fi
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

Reply to: