[23495] in Source-Commits

home help back first fref pref prev next nref lref last post

/svn/athena r23141 - trunk/debathena/third/openafs

daemon@ATHENA.MIT.EDU (andersk@MIT.EDU)
Fri Aug 15 04:50:50 2008

Date: Fri, 15 Aug 2008 04:50:36 -0400 (EDT)
From: andersk@MIT.EDU
Message-Id: <200808150850.EAA11110@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: andersk
Date: 2008-08-15 04:50:36 -0400 (Fri, 15 Aug 2008)
New Revision: 23141

Modified:
   trunk/debathena/third/openafs/debathenify-openafs
Log:
Build updated versions of existing openafs modules, too.


Modified: trunk/debathena/third/openafs/debathenify-openafs
===================================================================
--- trunk/debathena/third/openafs/debathenify-openafs	2008-08-15 07:41:59 UTC (rev 23140)
+++ trunk/debathena/third/openafs/debathenify-openafs	2008-08-15 08:50:36 UTC (rev 23141)
@@ -1,5 +1,9 @@
 #!/bin/sh
 
+quote() {
+  echo "$1" | sed 's/[^[:alnum:]]/\\&/g'
+}
+
 fail() {
   echo "$@" >&2
   exit 1
@@ -41,6 +45,9 @@
 schr() { schroot -r -c "$sid" -u root -- "$@"; }  # Run in the chroot as root
 schr apt-get -qq -y update || exit 3
 
+afsv=$(schq apt-cache show --no-all-versions openafs-modules-source | \
+  sed -n 's/^Version: // p')
+
 # Get all of the packages named linux-image-*.  This list includes
 # three types of packages:
 #  - Actual kernel images (e.g. linux-image-2.6.24-19-generic)
@@ -102,9 +109,14 @@
 # (according to the command-line arguments) a corresponding
 # openafs-modules package if one does not already exist.
 for hdr in $headers; do
+  hdrv=$(schq apt-cache show --no-all-versions "$hdr" | \
+    sed -n 's/^Version: // p')
+
   # Check if we already have one.
   module=$(echo "$hdr" | sed -e 's/^linux-headers/openafs-modules/')
-  if zcat "$pkgfile" | fgrep -qx "Package: $module"; then
+  if zcat "$pkgfile" | \
+     dpkg-awk -f - "Package:^$module\$" "Version:^$(quote "$afsv+$hdrv")\$" | \
+     grep -q .; then
     echo "*** Already exists: $dist_arch $module"
     continue
   fi
@@ -121,9 +133,6 @@
     schr apt-get -y install module-assistant "$hdr"
     schr m-a -i -t -l "$kversion" get openafs
     schr m-a -i -t -l "$kversion" unpack openafs
-    afsv=$(schq dpkg-query --showformat='${Version}' --show \
-      openafs-modules-source)
-    hdrv=$(schq dpkg-query --showformat='${Version}' --show "$hdr")
     schr touch \
       "/usr/src/openafs-modules-${kversion}_${afsv}+${hdrv}_$arch.changes.pt"
     here=$(readlink -f .)
@@ -188,7 +197,8 @@
   afs_mpkg=$(echo "$image_mpkg" | sed -e 's/^linux-image/openafs-modules/')
 
   # Check if we already have an up-to-date OpenAFS metapackage.
-  repover=$(zcat "$pkgfile" | dpkg-awk -f - "Package:^$afs_mpkg\$" -- Version \
+  repover=$(zcat "$pkgfile" \
+    | dpkg-awk -f - "Package:^$(quote $afs_mpkg)\$" -- Version \
     | sed -e 's/^Version: //')
   if [ "x${repover%%~*}" = "x$ver" ]; then
     echo "*** Already up to date: $dist_arch $afs_mpkg"


home help back first fref pref prev next nref lref last post