summaryrefslogtreecommitdiff
path: root/tools/make-tarball
diff options
context:
space:
mode:
Diffstat (limited to 'tools/make-tarball')
-rwxr-xr-xtools/make-tarball34
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"