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

r3746 - in glibc-package/trunk/debian: . debhelper.in



Author: aurel32
Date: 2009-08-09 19:15:04 +0000 (Sun, 09 Aug 2009)
New Revision: 3746

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/debhelper.in/libc.preinst
Log:
  * Don't access dpkg files directly in libc6.preinst.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2009-08-09 19:13:31 UTC (rev 3745)
+++ glibc-package/trunk/debian/changelog	2009-08-09 19:15:04 UTC (rev 3746)
@@ -6,6 +6,7 @@
     using the "new" dpkg-dev features. Clean-out some very old entries.
   * Recommends libc6-i686 on amd64 and libc0.1-i686 on kfreebsd-amd64
     (Closes: bug#455603).
+  * Don't access dpkg files directly in libc6.preinst.
 
   [ Petr Salinger ]
   * kfreebsd/local-sysdeps.diff: update to revision 2696 (from glibc-bsd).

Modified: glibc-package/trunk/debian/debhelper.in/libc.preinst
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.preinst	2009-08-09 19:13:31 UTC (rev 3745)
+++ glibc-package/trunk/debian/debhelper.in/libc.preinst	2009-08-09 19:15:04 UTC (rev 3746)
@@ -6,19 +6,21 @@
 preversion=$2
 
 rm_conffile() {
-    CONFFILE="$1"
+    local PKGNAME="$1"
+    local CONFFILE="$2"
 
-    if [ -e "$CONFFILE" ]; then
-        md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
-        old_md5sum="`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $CONFFILE'{s/.* //;p}}\" /var/lib/dpkg/status`"
-        if [ "$md5sum" != "$old_md5sum" ]; then
-            echo "Obsolete conffile $CONFFILE has been modified by you."
-            echo "Saving as $CONFFILE.dpkg-bak ..."
-            mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
-        else
-            echo "Removing obsolete conffile $CONFFILE ..."
-            rm -f "$CONFFILE"
-        fi
+    [ -e "$CONFFILE" ] || return 0
+
+    local md5sum="$(md5sum $CONFFILE | sed -e 's/ .*//')"
+    local old_md5sum="$(dpkg-query -W -f='${Conffiles}' $PKGNAME | \
+            sed -n -e "\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")"
+    if [ "$md5sum" != "$old_md5sum" ]; then
+        echo "Obsolete conffile $CONFFILE has been modified by you."
+        echo "Saving as $CONFFILE.dpkg-bak ..."
+        mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
+    else
+        echo "Removing obsolete conffile $CONFFILE ..."
+        rm -f "$CONFFILE"
     fi
 }
 
@@ -49,7 +51,7 @@
 then
     # Remove old /etc/init.d/glibc.sh init script
     if dpkg --compare-versions "$preversion" le "2.9-22"; then
-        rm_conffile "/etc/init.d/glibc.sh"
+        rm_conffile LIBC "/etc/init.d/glibc.sh"
 	update-rc.d glibc.sh remove >/dev/null
     fi
 


Reply to: