[Pkg-sysvinit-commits] r1215 - in sysvinit/trunk/debian: . initscripts

pere at alioth.debian.org pere at alioth.debian.org
Sun Jan 13 09:32:44 UTC 2008


Author: pere
Date: 2008-01-13 09:32:43 +0000 (Sun, 13 Jan 2008)
New Revision: 1215

Modified:
   sysvinit/trunk/debian/changelog
   sysvinit/trunk/debian/initscripts/preinst
Log:
  * Rewrite conffile removal code in initscripts.preinst to use dpkg-
    query instead of reading /var/lib/dpkg/status directly.

Modified: sysvinit/trunk/debian/changelog
===================================================================
--- sysvinit/trunk/debian/changelog	2008-01-13 09:20:21 UTC (rev 1214)
+++ sysvinit/trunk/debian/changelog	2008-01-13 09:32:43 UTC (rev 1215)
@@ -1,3 +1,10 @@
+sysvinit (2.86.ds1-50) UNRELEASED; urgency=low
+
+  * Rewrite conffile removal code in initscripts.preinst to use dpkg-
+    query instead of reading /var/lib/dpkg/status directly.
+
+ -- Petter Reinholdtsen <pere at debian.org>  Sun, 13 Jan 2008 10:27:05 +0100
+
 sysvinit (2.86.ds1-49) unstable; urgency=low
 
   * Handle trailing space after interface names in

Modified: sysvinit/trunk/debian/initscripts/preinst
===================================================================
--- sysvinit/trunk/debian/initscripts/preinst	2008-01-13 09:20:21 UTC (rev 1214)
+++ sysvinit/trunk/debian/initscripts/preinst	2008-01-13 09:32:43 UTC (rev 1215)
@@ -9,18 +9,21 @@
 # $1: conffile
 #
 # If the argument was not listed as a conffile, silently do nothing.
-# Adapted from code obtained from www.dpkg.org/ConffileHandling
+# Adapted from code obtained from http://wiki.debian.org/DpkgConffileHandling
 eliminate_conffile() {
+	PKGNAME="initscripts"
 	CONFFILE="$1"
-	if [ -f "$CONFFILE" ]; then
+
+	if [ -e "$CONFFILE" ]; then
 		CURRENT_MD5SUM="$(md5sum "$CONFFILE" 2>/dev/null | sed -e "s/ .*//")"
-		FACTORY_MD5SUM="$(sed -n -e "/^Conffiles:/,/^[^ ]/{\\' $CONFFILE'{s/.* //;p}}" /var/lib/dpkg/status)"
+		FACTORY_MD5SUM="$(dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\")"
 		if [ "$CURRENT_MD5SUM" != "$FACTORY_MD5SUM" ]; then
-			echo -n "Renaming obsolete modified conffile "
-			mv -vf "$CONFFILE" "$CONFFILE".dpkg-old
+			echo "Obsolete conffile $CONFFILE has been modified by you."
+			echo "Saving as $CONFFILE.dpkg-bak ..."
+			mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
 		else
-			echo -n "Unmodified conffile '${CONFFILE}' obsolete; "
-			rm -vf "$CONFFILE"
+			echo "Removing obsolete conffile $CONFFILE ..."
+			rm -f "$CONFFILE"
 		fi
 	fi
 }




More information about the Pkg-sysvinit-commits mailing list