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: