浏览代码

Merge pull request #484 from tianon/mkimage-debian

* Contrib: updated mkimage-debian
Solomon Hykes 12 年之前
父节点
当前提交
cb431f223f
共有 1 个文件被更改,包括 20 次插入4 次删除
  1. 20 4
      contrib/mkimage-debian.sh

+ 20 - 4
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"