--- /dev/null
+#! /bin/sh
+
+PROJECT=
+CURRENT_DIST=maverick
+DIST="$CURRENT_DIST"
+BASE=antimony:cdimage/www/full
+RSYNC=false
+
+usage () {
+ cat <<EOF
+Usage: $0 [options] image_type architecture
+
+Options:
+ -f|--flavour FLAVOUR Flavour (default: ubuntu).
+ -d|--dist DIST Distribution (default: maverick).
+ -a|--anonymous Don't use privileged access.
+ -r|--rsync Force rsync.
+EOF
+}
+
+eval set -- "$(getopt -o f:d:ar -l help,flavour:,dist:,anonymous,rsync -- "$@")" || { usage >&2; exit 2; }
+while :; do
+ case $1 in
+ --help)
+ usage
+ exit 0
+ ;;
+ -f|--flavour)
+ PROJECT="$2"
+ if [ "$PROJECT" = ubuntu ]; then
+ PROJECT=
+ fi
+ shift 2
+ ;;
+ -d|--dist)
+ DIST="$2"
+ shift 2
+ ;;
+ -a|--anonymous)
+ BASE=cdimage.ubuntu.com::cdimage
+ shift
+ ;;
+ -r|--rsync)
+ RSYNC=:
+ shift
+ ;;
+ --) shift; break ;;
+ *) usage >&2; exit 2;
+ esac
+done
+
+case $2 in
+ hppa*|ia64*|lpia*|powerpc*|sparc*)
+ PREFIX=ports/
+ ;;
+ *)
+ PREFIX=
+ ;;
+esac
+if [ "$DIST" != "$CURRENT_DIST" ]; then
+ PREFIX="$DIST/$PREFIX"
+fi
+case $1 in
+ server)
+ PREFIX="ubuntu-server/$PREFIX"
+ ;;
+ jeos)
+ PREFIX="jeos/$PREFIX"
+ ;;
+ mid)
+ PREFIX="ubuntu-mid/$PREFIX"
+ ;;
+esac
+case $1 in
+ live|desktop|mid)
+ IMAGE_TYPE=${IMAGE_TYPE:-${PREFIX}daily-live}
+ ;;
+ dvd)
+ IMAGE_TYPE=${IMAGE_TYPE:-${PREFIX}dvd}
+ ;;
+ *)
+ IMAGE_TYPE=${IMAGE_TYPE:-${PREFIX}daily}
+ ;;
+esac
+case $1 in
+ mid)
+ EXTENSION=img
+ ;;
+ *)
+ EXTENSION=iso
+ ;;
+esac
+
+case $1 in
+ install|alternate|server|addon|serveraddon|dvd) ;;
+ *)
+ RSYNC=:
+ ;;
+esac
+
+LOCAL="./${PROJECT:+$PROJECT-}$DIST-$1-$2"
+REMOTE="$BASE/${PROJECT:+$PROJECT/}$IMAGE_TYPE/current/$DIST-$1-$2"
+
+if $RSYNC; then
+ ionice -c2 -n7 rsync -avP "$REMOTE.$EXTENSION" "$LOCAL.$EXTENSION"
+else
+ rsync -avP "$REMOTE.jigdo" "$LOCAL.jigdo"
+ if [ "$PROJECT" ]; then
+ sed -i "s/=$DIST-$1-$2/=$PROJECT-$DIST-$1-$2/g" "$LOCAL.jigdo"
+ fi
+ rsync -avP "$REMOTE.template" "$LOCAL.template"
+ EXISTING=false
+ 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"
+ fi
+fi