diff options
Diffstat (limited to 'tools/make-tarball')
-rwxr-xr-x | tools/make-tarball | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/make-tarball b/tools/make-tarball new file mode 100755 index 00000000..7fdeb7df --- /dev/null +++ b/tools/make-tarball @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +find_root() { + local topd + if [ -z "${CLOUD_INIT_TOP_D}" ]; then + topd=$(cd "$(dirname "${0}")" && cd .. && pwd) + else + topd=$(cd "${CLOUD_INIT_TOP_D}" && pwd) + fi + [ $? -eq 0 -a -f "${topd}/setup.py" ] || return + ROOT_DIR="$topd" +} + +if ! find_root; then + echo "Unable to locate 'setup.py' file that should" \ + "exist in the cloud-init root directory." 1>&2 + exit 1; +fi + +if [ ! -z "$1" ]; then + ARCHIVE_FN="$1" +else + REVNO=$(bzr revno $ROOT_DIR) + VERSION=$($ROOT_DIR/tools/read-version) + ARCHIVE_FN="$PWD/cloud-init-$REVNO-$VERSION.tar.gz" +fi + +FILES=$(cd $ROOT_DIR && bzr ls --versioned --recursive) +echo "$FILES" | tar czf $ARCHIVE_FN \ + -C "$ROOT_DIR" \ + --no-recursion --files-from - + +echo "$ARCHIVE_FN" |