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

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: