script/autobuild.py: add log_base variable to avoid hardcoded values
[sfrench/samba-autobuild/.git] / script / librelease.sh
index 70048e9203301e262d77e4d7d019603ce5896674..ac82762d307a60f615d25e43c50f6b0f860bc9ab 100755 (executable)
@@ -1,8 +1,13 @@
 #!/bin/bash
 # make a release of a Samba library
 
-GPG_USER='Samba Library Distribution Key <samba-bugs@samba.org>'
-GPG_KEYID='13084025'
+[ -z "$GPG_USER" ] && {
+    GPG_USER='Samba Library Distribution Key <samba-bugs@samba.org>'
+}
+
+[ -z "$GPG_KEYID" ] && {
+    GPG_KEYID='13084025'
+}
 
 if [ ! -d ".git" ]; then
        echo "Run this script from the top-level directory in the"
@@ -15,10 +20,12 @@ if [ $# -lt 1 ]; then
     exit 1
 fi
 
+umask 0022
 
 release_lib() {
     lib="$1"
     srcdir="$2"
+    ftpdir="$3"
 
     pushd $srcdir
 
@@ -38,13 +45,17 @@ release_lib() {
        exit 1
     }
 
-    tagname=$(basename $tarname .tar | sed s/[\.]/-/g)
+    tagname=$(basename $tarname .tar)
     echo "tagging as $tagname"
-    git tag -u $GPG_KEYID -s "$tagname" -m "$lib: tag release $tagname"
+    git tag -u $GPG_KEYID -s "$tagname" -m "$lib: tag release $tagname" || {
+       exit 1
+    }
 
     echo "signing"
     rm -f "$tarname.asc"
-    gpg -u "$GPG_USER" --detach-sign --armor $tarname || exit 1
+    gpg -u "$GPG_USER" --detach-sign --armor $tarname || {
+       exit 1
+    }
     [ -f "$tarname.asc" ] || {
        echo "Failed to create signature $tarname.asc"
        exit 1
@@ -56,19 +67,27 @@ release_lib() {
        exit 1
     }
 
-    echo "Transferring"
-    rsync -Pav $tarname.asc $tgzname master.samba.org:~ftp/pub/$lib/
+    echo "Push git tag $tagname"
+    git push ssh://git.samba.org/data/git/samba.git refs/tags/$tagname:refs/tags/$tagname || {
+       exit 1
+    }
+
+    echo "Transferring for FTP"
+    rsync -Pav $tarname.asc $tgzname master.samba.org:~ftp/pub/$ftpdir/ || {
+       exit 1
+    }
+    rsync master.samba.org:~ftp/pub/$ftpdir/$tarname.*
 
     popd
 }
 
 for lib in $*; do
     case $lib in
-       talloc | tdb | tevent)
-           release_lib $lib "lib/$lib"
+       talloc | tdb | tevent | ldb)
+           release_lib $lib "lib/$lib" $lib
            ;;
-       ldb)
-           release_lib $lib "source4/lib/$lib"
+       samba4)
+           release_lib $lib "." "samba/$lib"
            ;;
        *)
            echo "Unknown library $lib"