Browse Source

Remove non-modified /etc/dpkg/dpkg.cfg configuration file when upgrading
from versions 1.9.21 through 1.10.28, to avoid getting prompted about
conffile changes. Closes: #398061

Guillem Jover 17 years ago
parent
commit
9bed0d2663
2 changed files with 22 additions and 0 deletions
  1. 3 0
      debian/changelog
  2. 19 0
      debian/dpkg.preinst

+ 3 - 0
debian/changelog

@@ -11,6 +11,9 @@ dpkg (1.13.25~) UNRELEASED; urgency=low
   * Support extracting lzma compressed source and binary packages,
     and add a Suggests on package lzma. Closes: #347715
   * Add '/emul/ia32-linux' biarch paths to dpkg-shlibdeps. Closes: #403216
+  * Remove non-modified /etc/dpkg/dpkg.cfg configuration file when upgrading
+    from versions 1.9.21 through 1.10.28, to avoid getting prompted about
+    conffile changes. Closes: #398061
 
   [ Updated dpkg translations ]
   * Chinese (Traditional, Asho Yeh)

+ 19 - 0
debian/dpkg.preinst

@@ -143,6 +143,19 @@ remove_hd_method() {
 }
 
 
+# Handle upgrades from pre-conffile dpkg.cfg
+upgrade_dpkg_non_conffile()
+{
+    if [ -r /etc/dpkg/dpkg.cfg ]; then
+	dpkg_cfg_md5="535552ad5ee9145dbc7a34c264df4e59  /etc/dpkg/dpkg.cfg"
+	if echo "$dpkg_cfg_md5" | md5sum -c >/dev/null 2>&1; then
+	    echo "Removing non-modified dpkg.cfg to be replaced by a conffile ..."
+	    rm -f /etc/dpkg/dpkg.cfg
+	fi
+    fi
+}
+
+
 case "$1" in
     install)
 	;;
@@ -165,6 +178,12 @@ case "$1" in
 	        confirm_dselect_split
 		;;
 	esac
+	case "$2" in
+	    # Upgrade from pre-conffile dpkg.cfg
+	    1.9.21 | 1.10.* )
+		upgrade_dpkg_non_conffile
+		;;
+	esac
 	;;
 
     abort-upgrade)