Bug#659549: desktop-base: use dh_installdeb maintscript support
Package: desktop-base
Version: 6.0.7
Severity: wishlist
Tags: patch
User: ubuntu-devel@lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch precise
Using 'dpkg-maintscript-helper supports rm_conffile' guards introduces
unreliability into upgrades; it means that the conffile is removed or
not depending on whether dpkg happens to be unpacked before
desktop-base. This seems generally undesirable; it would be better to
enforce a single code path. (This is academic for Debian because the
version of dpkg in squeeze supported dpkg-maintscript-helper, hence
Severity: wishlist; Ubuntu's last LTS release didn't have a sufficient
version of dpkg for that which is why I care.)
Since you already build-depend on a sufficient version of debhelper, it
would be nice to just use dh_installdeb's support for generating
dpkg-maintscript-helper commands, which was introduced in debhelper
8.1.0. This would remove duplicate code from your maintainer scripts.
Here's a patch:
* Use maintscript support in dh_installdeb rather than writing out
dpkg-maintscript-helper commands by hand. We now simply Pre-Depend on a
new enough version of dpkg rather than using 'dpkg-maintscript-helper
supports' guards, leading to more predictable behaviour on upgrades.
diff -Nru desktop-base-6.0.7/debian/control desktop-base-6.0.7ubuntu1/debian/control
--- desktop-base-6.0.7/debian/control 2011-10-14 20:43:50.000000000 +0100
+++ desktop-base-6.0.7ubuntu1/debian/control 2012-02-12 00:22:48.000000000 +0000
@@ -15,6 +15,7 @@
Package: desktop-base
Architecture: all
+Pre-Depends: ${misc:Pre-Depends}
Depends: librsvg2-common
Suggests: gnome | kde-standard | xfce4 | wmaker
Description: common files for the Debian Desktop
diff -Nru desktop-base-6.0.7/debian/maintscript desktop-base-6.0.7ubuntu1/debian/maintscript
--- desktop-base-6.0.7/debian/maintscript 1970-01-01 01:00:00.000000000 +0100
+++ desktop-base-6.0.7ubuntu1/debian/maintscript 2012-02-12 00:21:47.000000000 +0000
@@ -0,0 +1 @@
+rm_conffile /etc/kde3/kdeglobals 6.0.1
diff -Nru desktop-base-6.0.7/debian/postinst desktop-base-6.0.7ubuntu1/debian/postinst
--- desktop-base-6.0.7/debian/postinst 2010-12-21 09:28:42.000000000 +0000
+++ desktop-base-6.0.7ubuntu1/debian/postinst 2012-02-12 00:22:15.000000000 +0000
@@ -2,10 +2,6 @@
#DEBHELPER#
-if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
- dpkg-maintscript-helper rm_conffile /etc/kde3/kdeglobals 6.0.1 -- "$@"
-fi
-
if [ "${1}" = "configure" ] && [ "$2" != "" ] ; then
if dpkg --compare-versions ${2} lt 0.3.11 && dpkg --compare-versions ${2} gt 0.3.5; then
diff -Nru desktop-base-6.0.7/debian/postrm desktop-base-6.0.7ubuntu1/debian/postrm
--- desktop-base-6.0.7/debian/postrm 2010-12-21 21:31:51.000000000 +0000
+++ desktop-base-6.0.7ubuntu1/debian/postrm 2012-02-12 00:22:17.000000000 +0000
@@ -2,10 +2,6 @@
#DEBHELPER#
-if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
- dpkg-maintscript-helper rm_conffile /etc/kde3/kdeglobals 6.0.1 -- "$@"
-fi
-
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
if which update-grub2 > /dev/null ; then
update-grub2 || true
diff -Nru desktop-base-6.0.7/debian/preinst desktop-base-6.0.7ubuntu1/debian/preinst
--- desktop-base-6.0.7/debian/preinst 2010-11-18 12:09:34.000000000 +0000
+++ desktop-base-6.0.7ubuntu1/debian/preinst 2012-02-12 00:22:12.000000000 +0000
@@ -1,9 +1,6 @@
#!/bin/sh -e
#DEBHELPER#
-if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
- dpkg-maintscript-helper rm_conffile /etc/kde3/kdeglobals 6.0.1 -- "$@"
-fi
if [ "${1}" = "upgrade" ]; then
if dpkg --compare-versions ${2} lt 0.3.11 && dpkg --compare-versions ${2} gt 0.3.5; then
Thanks,
--
Colin Watson [cjwatson@ubuntu.com]
Reply to: