From 77332b1f0a00064becd3b702a2c2d5220b57103b Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Thu, 9 Sep 2010 18:22:34 +0100 Subject: [PATCH] ubuntu-daily: new script, cobbled together from bits and pieces of other scripts --- ubuntu-daily | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100755 ubuntu-daily diff --git a/ubuntu-daily b/ubuntu-daily new file mode 100755 index 0000000..d114322 --- /dev/null +++ b/ubuntu-daily @@ -0,0 +1,124 @@ +#! /bin/sh + +PROJECT= +CURRENT_DIST=maverick +DIST="$CURRENT_DIST" +BASE=antimony:cdimage/www/full +RSYNC=false + +usage () { + cat <&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 -- 2.30.2