diff --git a/hack/make.sh b/hack/make.sh index 7407ce8924..6139c93bb5 100755 --- a/hack/make.sh +++ b/hack/make.sh @@ -37,6 +37,7 @@ DEFAULT_BUNDLES=( test dynbinary dyntest + tgz ubuntu ) diff --git a/hack/make/tgz b/hack/make/tgz new file mode 100644 index 0000000000..80cdb69eed --- /dev/null +++ b/hack/make/tgz @@ -0,0 +1,23 @@ +#!/bin/sh + +DEST="$1" +BINARY="$DEST/../binary/docker-$VERSION" +TGZ="$DEST/docker-$VERSION.tgz" + +set -e + +if [ ! -x "$BINARY" ]; then + echo >&2 'error: binary must be run before tgz' + false +fi + +mkdir -p "$DEST/build" + +mkdir -p "$DEST/build/usr/local/bin" +cp -L "$BINARY" "$DEST/build/usr/local/bin/docker" + +tar --numeric-owner --owner 0 -C "$DEST/build" -czf "$TGZ" usr + +rm -rf "$DEST/build" + +echo "Created tgz: $TGZ" diff --git a/hack/release.sh b/hack/release.sh index 931ab6f9af..2ec40677e7 100755 --- a/hack/release.sh +++ b/hack/release.sh @@ -47,6 +47,7 @@ cd /go/src/github.com/dotcloud/docker RELEASE_BUNDLES=( binary + tgz ubuntu ) @@ -188,6 +189,22 @@ EOF echo "APT repository uploaded. Instructions available at $(s3_url)/ubuntu" } +# Upload a tgz to S3 +release_tgz() { + [ -e bundles/$VERSION/tgz/docker-$VERSION.tgz ] || { + echo >&2 './hack/make.sh must be run before release_binary' + exit 1 + } + + S3DIR=s3://$BUCKET/builds/Linux/x86_64 + s3cmd --acl-public put bundles/$VERSION/tgz/docker-$VERSION.tgz $S3DIR/docker-$VERSION.tgz + + if [ -z "$NOLATEST" ]; then + echo "Copying docker-$VERSION.tgz to docker-latest.tgz" + s3cmd --acl-public cp $S3DIR/docker-$VERSION.tgz $S3DIR/docker-latest.tgz + fi +} + # Upload a static binary to S3 release_binary() { [ -e bundles/$VERSION/binary/docker-$VERSION ] || { @@ -230,6 +247,7 @@ release_test() { main() { setup_s3 release_binary + release_tgz release_ubuntu release_index release_test