diff --git a/contrib/mkimage-debian.sh b/contrib/mkimage-debian.sh index 64cd139224..ace555ada6 100755 --- a/contrib/mkimage-debian.sh +++ b/contrib/mkimage-debian.sh @@ -1,11 +1,20 @@ #!/bin/bash set -e -latestSuite='wheezy' +# these should match the names found at http://www.debian.org/releases/ +stableSuite='squeeze' +testingSuite='wheezy' +unstableSuite='sid' + +# if suite is equal to this, it gets the "latest" tag +latestSuite="$testingSuite" + +variant='minbase' +include='iproute,iputils-ping' repo="$1" suite="${2:-$latestSuite}" -mirror="${3:-http://ftp.us.debian.org/debian}" +mirror="${3:-}" # stick to the default debootstrap mirror if one is not provided if [ ! "$repo" ]; then echo >&2 "usage: $0 repo [suite [mirror]]" @@ -13,7 +22,7 @@ if [ ! "$repo" ]; then exit 1 fi -target="/tmp/docker-rootfs-$$-$RANDOM-debian-$suite" +target="/tmp/docker-rootfs-debian-$suite-$$-$RANDOM" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" returnTo="$(pwd -P)" @@ -22,7 +31,7 @@ set -x # bootstrap mkdir -p "$target" -sudo debootstrap --verbose --variant=minbase --include=iproute,iputils-ping "$suite" "$target" "$mirror" +sudo debootstrap --verbose --variant="$variant" --include="$include" "$suite" "$target" "$mirror" cd "$target" @@ -40,6 +49,13 @@ fi # test the image docker run -i -t $repo:$suite echo success +# unstable's version numbers match testing (since it's mostly just a sandbox for testing), so it doesn't get a version number tag +if [ "$suite" != "$unstableSuite" -a "$suite" != 'unstable' ]; then + # tag the specific version + ver=$(docker run $repo:$suite cat /etc/debian_version) + docker tag $img $repo $ver +fi + # cleanup cd "$returnTo" sudo rm -rf "$target"