X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=blobdiff_plain;f=ubuntu-daily;h=43d56e76316f1f11d6a7ca0265ef60cad71563bf;hb=17f06f59993002f4f639c0686d7f45ce28a94270;hp=cec013105a917d3b145241f6ab9db745cbf582cb;hpb=e470a222375a6f1b03b3bb72d9b2b994da8de8bb;p=bin.git diff --git a/ubuntu-daily b/ubuntu-daily index cec0131..43d56e7 100755 --- a/ubuntu-daily +++ b/ubuntu-daily @@ -1,7 +1,7 @@ #! /bin/sh PROJECT= -CURRENT_DIST=natty +CURRENT_DIST=oneiric DIST="$CURRENT_DIST" BASE=cdimage.ubuntu.com::cdimage RSYNC=false @@ -13,7 +13,7 @@ Usage: $0 [options] image_type architecture Options: -f|--flavour FLAVOUR Flavour (default: ubuntu). - -d|--dist DIST Distribution (default: natty). + -d|--dist DIST Distribution (default: oneiric). -a|--authenticated Use privileged access. -r|--rsync Force rsync. -h|--http Force HTTP only (no reuse). @@ -59,14 +59,7 @@ if $HTTP; then BASE="http://cdimage.ubuntu.com" fi -case $2 in - hppa*|ia64*|lpia*|powerpc*|sparc*) - PREFIX=ports/ - ;; - *) - PREFIX= - ;; -esac +PREFIX= if [ "$DIST" != "$CURRENT_DIST" ]; then PREFIX="$DIST/$PREFIX" fi @@ -102,7 +95,7 @@ case $1 in esac case $1 in - install|alternate|server|addon|serveraddon|dvd) ;; + install|alternate|server|addon|serveraddon) ;; *) $HTTP || RSYNC=: ;; @@ -121,16 +114,49 @@ else sed -i "s/=$DIST-$1-$2/=$PROJECT-$DIST-$1-$2/g" "$LOCAL.jigdo" fi rsync -avP "$REMOTE.template" "$LOCAL.template" + + mkdir -p old + EXISTING=false + MOUNTS= + + do_mount () { + mkdir -p "old/$1" + MOUNTS="${MOUNTS:+$MOUNTS }$1" + sudo mount -o loop,ro "$1" "old/$1" + } + + cleanup () { + trap - EXIT HUP INT QUIT TERM + + local mount + + for mount in $MOUNTS; do + sudo umount "old/$mount" + rmdir -p --ignore-fail-on-non-empty "old/$mount" + done + + if $EXISTING; then + rm -f "$LOCAL.iso.old" + fi + } + trap cleanup EXIT HUP INT QUIT TERM + if [ -e "$LOCAL.iso" ]; then EXISTING=: mv "$LOCAL.iso" "$LOCAL.iso.old" - mkdir -p "old-$2" - sudo mount -o loop "$LOCAL.iso.old" "old-$2" - fi - ionice -c2 -n7 jigdo-lite "$LOCAL.jigdo" - if $EXISTING; then - sudo umount "old-$2" || true - rm -f "$LOCAL.iso.old" + do_mount "$LOCAL.iso.old" fi + + for iso in *"$DIST"-*.iso; do + case $iso in + *-install-*|*-alternate-*|*-server-*|*-addon-*|*-serveraddon-*) ;; + *) + continue + ;; + esac + do_mount "$iso" + done + + ionice -c2 -n7 jigdo-lite --scan "$PWD/old" "$LOCAL.jigdo" fi