packaging: add a maketarball script
authorMichael Adam <obnox@samba.org>
Thu, 29 Jan 2009 10:46:04 +0000 (11:46 +0100)
committerMichael Adam <obnox@samba.org>
Thu, 29 Jan 2009 10:46:04 +0000 (11:46 +0100)
The script extracts the version number from the spec file.
It takes an extra argument, that can be appended to the
version in the tar ball name and directory prefix.

Michael

packaging/maketarball.sh [new file with mode: 0755]

diff --git a/packaging/maketarball.sh b/packaging/maketarball.sh
new file mode 100755 (executable)
index 0000000..2cb1609
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# Copyright (C) Michael Adam 2009
+#
+# Create CTDB source tarball of the current git branch HEAD.
+# The version is extracted from the spec file...
+# The first extra argument will be added as an additional version.
+
+DIRNAME=$(dirname $0)
+TOPDIR=${DIRNAME}/..
+RPMDIR=${DIRNAME}/RPM
+SPECFILE=${RPMDIR}/ctdb.spec
+
+EXTRA_SUFFIX="$1"
+
+VERSION=$(grep ^Version ${SPECFILE} | sed -e 's/^Version:\ \+//')
+
+if [ "x${EXTRA_SUFFIX}" != "x" ]; then
+       VERSION="${VERSION}-${EXTRA_SUFFIX}"
+fi
+
+if echo | gzip -c --rsyncable - > /dev/null 2>&1 ; then
+       GZIP="gzip -9 --rsyncable"
+else
+       GZIP="gzip -9"
+fi
+
+pushd ${TOPDIR}
+echo -n "Creating ctdb-${VERSION}.tar.gz ... "
+git archive --prefix=ctdb-${VERSION}/ HEAD | ${GZIP} \
+       > ${TOPDIR}/ctdb-${VERSION}.tar.gz
+RC=$?
+popd
+
+echo "Done."
+
+if [ $RC -ne 0 ]; then
+        echo "Creation of tarball failed."
+        exit 1
+fi
+
+exit 0