script: added librelease.sh script
authorAndrew Tridgell <tridge@samba.org>
Mon, 10 Jan 2011 23:55:07 +0000 (10:55 +1100)
committerAndrew Tridgell <tridge@samba.org>
Tue, 11 Jan 2011 00:23:05 +0000 (01:23 +0100)
this is used to make library releases

script/librelease.sh [new file with mode: 0755]

diff --git a/script/librelease.sh b/script/librelease.sh
new file mode 100755 (executable)
index 0000000..105e794
--- /dev/null
@@ -0,0 +1,68 @@
+#!/bin/bash
+# make a release of a Samba library
+
+if [ ! -d ".git" ]; then
+       echo "Run this script from the top-level directory in the"
+       echo "repository"
+       exit 1
+fi
+
+if [ $# -lt 1 ]; then
+    echo "Usage: librelease.sh <LIBNAMES>"
+    exit 1
+fi
+
+
+release_lib() {
+    lib="$1"
+    srcdir="$2"
+
+    pushd $srcdir
+
+    echo "Releasing library $lib"
+
+    echo "building release tarball"
+    tgzname=$(make dist 2>&1 | grep ^Created | cut -d' ' -f2)
+    [ -f "$tgzname" ] || {
+       echo "Failed to create tarball"
+       exit 1
+    }
+    tarname=$(basename $tgzname .gz)
+    echo "Tarball: $tarname"
+    gunzip $tgzname || exit 1
+    [ -f "$tarname" ] || {
+       echo "Failed to decompress tarball $tarname"
+       exit 1
+    }
+    echo "signing"
+    gpg --detach-sign --armor $tarname || exit 1
+    [ -f "$tarname.asc" ] || {
+       echo "Failed to create signature $tarname.asc"
+       exit 1
+    }
+    echo "compressing"
+    gzip -9 $tarname
+    [ -f "$tgzname" ] || {
+       echo "Failed to compress $tgzname"
+       exit 1
+    }
+
+    echo "Transferring"
+    rsync -Pav $tarname.asc $tgzname master.samba.org:~ftp/pub/$lib/
+
+    popd
+}
+
+for lib in $*; do
+    case $lib in
+       talloc | tdb | tevent)
+           release_lib $lib "lib/$lib"
+           ;;
+       ldb)
+           release_lib $lib "source4/lib/$lib"
+           ;;
+       *)
+           echo "Unknown library $lib"
+           exit 1
+    esac
+done