Package: stella Version: 3.5-1 Severity: wishlist Tags: patch User: ubuntu-de...@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 stella. 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.) 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 - in fact, you'd no longer need to have handwritten maintainer scripts at all. 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 stella-3.5/debian/control stella-3.5/debian/control --- stella-3.5/debian/control 2011-12-29 22:45:07.000000000 +0000 +++ stella-3.5/debian/control 2012-02-13 18:42:55.000000000 +0000 @@ -5,13 +5,14 @@ Uploaders: Stephen Kitt <st...@sk2.org> DM-Upload-Allowed: yes Standards-Version: 3.9.2 -Build-Depends: debhelper (>= 7.0.50), libsdl1.2-dev, zlib1g-dev, libpng12-dev, autotools-dev +Build-Depends: debhelper (>= 8.1.0~), libsdl1.2-dev, zlib1g-dev, libpng12-dev, autotools-dev Homepage: http://stella.sf.net Vcs-Git: git://git.debian.org/git/pkg-games/stella.git Vcs-Browser: http://git.debian.org/?p=pkg-games/stella.git Package: stella Architecture: any +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Atari 2600 Emulator for SDL & the X Window System Stella is a portable emulator of the old Atari 2600 video-game diff -Nru stella-3.5/debian/maintscript stella-3.5/debian/maintscript --- stella-3.5/debian/maintscript 1970-01-01 01:00:00.000000000 +0100 +++ stella-3.5/debian/maintscript 2012-02-13 18:41:45.000000000 +0000 @@ -0,0 +1 @@ +rm_conffile /etc/stella.pro 3.2-1 diff -Nru stella-3.5/debian/postinst stella-3.5/debian/postinst --- stella-3.5/debian/postinst 2011-06-15 22:48:02.000000000 +0100 +++ stella-3.5/debian/postinst 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ -#!/bin/sh -# postinst script for stella -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postinst> `configure' <most-recently-configured-version> -# * <old-postinst> `abort-upgrade' <new version> -# * <conflictor's-postinst> `abort-remove' `in-favour' <package> -# <new-version> -# * <postinst> `abort-remove' -# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' -# <failed-install-package> <version> `removing' -# <conflicting-package> <version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -if dpkg-maintscript-helper supports rm_conffile; then - dpkg-maintscript-helper rm_conffile /etc/stella.pro 3.2-1 stella -- "$@" -fi - -case "$1" in - configure) - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst 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 diff -Nru stella-3.5/debian/postrm stella-3.5/debian/postrm --- stella-3.5/debian/postrm 2011-06-15 22:48:02.000000000 +0100 +++ stella-3.5/debian/postrm 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -#!/bin/sh -# postrm script for stella -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postrm> `remove' -# * <postrm> `purge' -# * <old-postrm> `upgrade' <new-version> -# * <new-postrm> `failed-upgrade' <old-version> -# * <new-postrm> `abort-install' -# * <new-postrm> `abort-install' <old-version> -# * <new-postrm> `abort-upgrade' <old-version> -# * <disappearer's-postrm> `disappear' <overwriter> -# <overwriter-version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -if dpkg-maintscript-helper supports rm_conffile; then - dpkg-maintscript-helper rm_conffile /etc/stella.pro 3.2-1 stella -- "$@" -fi - -case "$1" in - purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - - *) - echo "postrm 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 diff -Nru stella-3.5/debian/preinst stella-3.5/debian/preinst --- stella-3.5/debian/preinst 2011-06-15 22:48:02.000000000 +0100 +++ stella-3.5/debian/preinst 1970-01-01 01:00:00.000000000 +0100 @@ -1,39 +0,0 @@ -#!/bin/sh -# preinst script for stella -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <new-preinst> `install' -# * <new-preinst> `install' <old-version> -# * <new-preinst> `upgrade' <old-version> -# * <old-preinst> `abort-upgrade' <new-version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -if dpkg-maintscript-helper supports rm_conffile; then - dpkg-maintscript-helper rm_conffile /etc/stella.pro 3.2-1 stella -- "$@" -fi - -case "$1" in - install|upgrade) - ;; - - abort-upgrade) - ;; - - *) - echo "preinst 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 Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org