|
@@ -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"
|