[23495] in Source-Commits
/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"