Merge pull request #484 from tianon/mkimage-debian

* Contrib: updated mkimage-debian
This commit is contained in:
Solomon Hykes 2013-04-29 12:12:02 -07:00
commit cb431f223f
1 changed files with 20 additions and 4 deletions

View File

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