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

X Strike Force SVN commit: rev 414 - trunk/debian



Author: branden
Date: 2003-08-19 23:51:15 -0500 (Tue, 19 Aug 2003)
New Revision: 414

Modified:
   trunk/debian/xserver-common.preinst.in
   trunk/debian/xserver-xfree86.preinst.in
Log:
debian/xserver-{common,xfree86}.preinst.in: add more robustification to
  config file migration strategy;
  - use "lt-nl" operator instead of "lt" when invoking dpkg
    --compare-versions; if we know of no previous configured version of the
    package, don't bother attempting to migrate at all
  - wrap "db_get"s in if statements so that if for some reason the debconf
    template of interest has already been purged, the script does not fail


Modified: trunk/debian/xserver-common.preinst.in
===================================================================
--- trunk/debian/xserver-common.preinst.in	2003-08-20 03:59:58 UTC (rev 413)
+++ trunk/debian/xserver-common.preinst.in	2003-08-20 04:51:15 UTC (rev 414)
@@ -38,39 +38,41 @@
 
   # if upgrading from < 4.2.1-10, migrate Xwrapper.config to (simplified)
   # ucf-style handling
-  if dpkg --compare-versions "$2" lt "4.2.1-10"; then
+  if dpkg --compare-versions "$2" lt-nl "4.2.1-10"; then
     # was the user letting the debconf "manage" the file?
-    db_get xserver-common/manage_config_with_debconf
-    if [ "$RET" = "true" ]; then
-      # yes; attempt to pre-seed the md5sum file based on the current content
-      # of the file
-      WRITE_MD5SUM=yes
-      # if the config file doesn't even exist, don't bother
-      if [ -e "$XWRAPPER_CONFIG" ]; then
-        # this is the preinst, so our checksum directory might not have been
-        # unpacked yet (in fact, if we're upgrading from < 4.2.1-10, we expect
-        # it not to be)
-        if [ ! -e "$CHECKSUM_DIR" ]; then
-          mkdir --mode=755 "$CHECKSUM_DIR"
-        else
-          # if the checksum pathname does exist but is not a directory, give
-          # up; dpkg will probably vomit on unpack anyway
-          if [ ! -d "$CHECKSUM_DIR" ]; then
-            message "Warning: cannot store MD5 checksum of $XWRAPPER_CONFIG;" \
-                    "$CHECKSUM_DIR exists but is not a directory."
-            WRITE_MD5SUM=
+    if db_get xserver-common/manage_config_with_debconf; then
+      if [ "$RET" = "true" ]; then
+        # yes; attempt to pre-seed the md5sum file based on the current content
+        # of the file
+        WRITE_MD5SUM=yes
+        # if the config file doesn't even exist, don't bother
+        if [ -e "$XWRAPPER_CONFIG" ]; then
+          # this is the preinst, so our checksum directory might not have been
+          # unpacked yet (in fact, if we're upgrading from < 4.2.1-10, we
+          # expect it not to be)
+          if [ ! -e "$CHECKSUM_DIR" ]; then
+            mkdir --mode=755 "$CHECKSUM_DIR"
+          else
+            # if the checksum pathname does exist but is not a directory, give
+            # up; dpkg will probably vomit on unpack anyway
+            if [ ! -d "$CHECKSUM_DIR" ]; then
+              message "Warning: cannot store MD5 checksum of" \
+                      "$XWRAPPER_CONFIG; $CHECKSUM_DIR exists but is not a" \
+                      "directory."
+              WRITE_MD5SUM=
+            fi
           fi
+          if [ -n "$WRITE_MD5SUM" ]; then
+            # people were letting debconf "manage" the config file even though
+            # they complained when it did so, so store a backup to keep people
+            # quiet
+            message "Note: migrating $XWRAPPER_CONFIG away from management" \
+                    "by debconf; backup stored in $XWRAPPER_CONFIG.dpkg-old" \
+                    "and MD5 checksum stored in $XWRAPPER_CONFIG_CHECKSUM."
+            md5sum "$XWRAPPER_CONFIG" > "$XWRAPPER_CONFIG_CHECKSUM"
+            cp "$XWRAPPER_CONFIG" "$XWRAPPER_CONFIG.dpkg-old"
+          fi
         fi
-        if [ -n "$WRITE_MD5SUM" ]; then
-          # people were letting debconf "manage" the config file even though
-          # they complained when it did so, so store a backup to keep people
-          # quiet
-          message "Note: migrating $XWRAPPER_CONFIG away from management" \
-                  "by debconf; backup stored in $XWRAPPER_CONFIG.dpkg-old" \
-                  "and MD5 checksum stored in $XWRAPPER_CONFIG_CHECKSUM."
-          md5sum "$XWRAPPER_CONFIG" > "$XWRAPPER_CONFIG_CHECKSUM"
-          cp "$XWRAPPER_CONFIG" "$XWRAPPER_CONFIG.dpkg-old"
-        fi
       fi
     fi
 

Modified: trunk/debian/xserver-xfree86.preinst.in
===================================================================
--- trunk/debian/xserver-xfree86.preinst.in	2003-08-20 03:59:58 UTC (rev 413)
+++ trunk/debian/xserver-xfree86.preinst.in	2003-08-20 04:51:15 UTC (rev 414)
@@ -26,7 +26,7 @@
 if [ "$1" = "install" -o "$1" = "upgrade" ]; then
   # if upgrading from < 4.2.1-10, migrate X server symlink and XF86Config-4
   # to (simplified) ucf-style handling
-  if dpkg --compare-versions "$2" lt "4.2.1-10"; then
+  if dpkg --compare-versions "$2" lt-nl "4.2.1-10"; then
     # do we have any configuration files to work with?
     if [ -e "$SERVER_SYMLINK" -o -e "$XF86CONFIG" ]; then
       # this is the preinst, so our checksum directory might not have been
@@ -44,21 +44,22 @@
             # attempt to pre-seed the md5sum file based on the current content
             # of the file; first, is this package selected as the one
             # containing the default X server?
-            db_get shared/default-x-server
-            if [ "$RET" = "$THIS_PACKAGE" ]; then
-              # next, does the symlink point to the server executable provided
-              # by this package?
-              CURRENT_SYMLINK_TARGET=$(readlink "$SERVER_SYMLINK")
-              if [ "$CURRENT_SYMLINK_TARGET" = "$THIS_SERVER" ]; then
-                # people were letting debconf "manage" the config file even
-                # though they complained when it did so, so store a backup to
-                # keep people quiet
-                message "Note: migrating $SERVER_SYMLINK away from management" \
-                        "by debconf; backup stored in" \
-                        "$SERVER_SYMLINK.dpkg-old and MD5 checksum stored in" \
-                        "$SERVER_SYMLINK_CHECKSUM."
-                echo "$CURRENT_SYMLINK_TARGET" | md5sum > "$SERVER_SYMLINK_CHECKSUM"
-                ln -s "$CURRENT_SYMLINK_TARGET" "$SERVER_SYMLINK.dpkg-old"
+            if db_get shared/default-x-server; then
+              if [ "$RET" = "$THIS_PACKAGE" ]; then
+                # next, does the symlink point to the server executable
+                # provided by this package?
+                CURRENT_SYMLINK_TARGET=$(readlink "$SERVER_SYMLINK")
+                if [ "$CURRENT_SYMLINK_TARGET" = "$THIS_SERVER" ]; then
+                  # people were letting debconf "manage" the config file even
+                  # though they complained when it did so, so store a backup to
+                  # keep people quiet
+                  message "Note: migrating $SERVER_SYMLINK away from" \
+                          "management by debconf; backup stored in" \
+                          "$SERVER_SYMLINK.dpkg-old and MD5 checksum stored" \
+                          "in $SERVER_SYMLINK_CHECKSUM."
+                  echo "$CURRENT_SYMLINK_TARGET" | md5sum > "$SERVER_SYMLINK_CHECKSUM"
+                  ln -s "$CURRENT_SYMLINK_TARGET" "$SERVER_SYMLINK.dpkg-old"
+                fi
               fi
             fi
           fi
@@ -67,18 +68,19 @@
           if [ -e "$XF86CONFIG" ]; then
             # attempt to pre-seed the md5sum file based on the current content
             # of the file
-            db_get xserver-xfree86/manage_config_with_debconf
-            if [ "$RET" = "true" ]; then
-              # if the config file doesn't even exist, don't bother
-              if [ -e "$XF86CONFIG" ]; then
-                # people were letting debconf "manage" the config file even
-                # though they complained when it did so, so store a backup to
-                # keep people quiet
-                message "Note: migrating $XF86CONFIG away from management by" \
-                        "debconf; backup stored in $XF86CONFIG.dpkg-old and" \
-                        "MD5 checksum stored in $XF86CONFIG_CHECKSUM."
-                md5sum "$XF86CONFIG" > "$XF86CONFIG_CHECKSUM"
-                cp "$XF86CONFIG" "$XF86CONFIG.dpkg-old"
+            if db_get xserver-xfree86/manage_config_with_debconf; then
+              if [ "$RET" = "true" ]; then
+                # if the config file doesn't even exist, don't bother
+                if [ -e "$XF86CONFIG" ]; then
+                  # people were letting debconf "manage" the config file even
+                  # though they complained when it did so, so store a backup to
+                  # keep people quiet
+                  message "Note: migrating $XF86CONFIG away from management" \
+                          "by debconf; backup stored in $XF86CONFIG.dpkg-old" \
+                          "and MD5 checksum stored in $XF86CONFIG_CHECKSUM."
+                  md5sum "$XF86CONFIG" > "$XF86CONFIG_CHECKSUM"
+                  cp "$XF86CONFIG" "$XF86CONFIG.dpkg-old"
+                fi
               fi
             fi
           fi



Reply to: