#! /bin/sh
PROJECT=
-CURRENT_DIST=maverick
+CURRENT_DIST=oneiric
DIST="$CURRENT_DIST"
-BASE=antimony:cdimage/www/full
+BASE=cdimage.ubuntu.com::cdimage
RSYNC=false
HTTP=false
Options:
-f|--flavour FLAVOUR Flavour (default: ubuntu).
- -d|--dist DIST Distribution (default: maverick).
- -a|--anonymous Don't use privileged access.
+ -d|--dist DIST Distribution (default: oneiric).
+ -a|--authenticated Use privileged access.
-r|--rsync Force rsync.
-h|--http Force HTTP only (no reuse).
EOF
}
-eval set -- "$(getopt -o f:d:arh -l help,flavour:,dist:,anonymous,rsync,http -- "$@")" || { usage >&2; exit 2; }
+eval set -- "$(getopt -o f:d:arh -l help,flavour:,dist:,authenticated,rsync,http -- "$@")" || { usage >&2; exit 2; }
while :; do
case $1 in
--help)
DIST="$2"
shift 2
;;
- -a|--anonymous)
- BASE=cdimage.ubuntu.com::cdimage
+ -a|--authenticated)
+ BASE=antimony:cdimage/www/full
shift
;;
-r|--rsync)
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
esac
case $1 in
- install|alternate|server|addon|serveraddon|dvd) ;;
+ install|alternate|server|addon|serveraddon) ;;
*)
$HTTP || RSYNC=:
;;
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