torture: Add tests of rename behaviour to replica_sync.py
[obnox/samba/samba-obnox.git] / script / librelease.sh
index 105e794c690d457274cbccd5cdd75dd09aa90973..5119ca4aca78bf5543623fe080ff94a3ade5b4c6 100755 (executable)
@@ -12,10 +12,12 @@ if [ $# -lt 1 ]; then
     exit 1
 fi
 
+umask 0022
 
 release_lib() {
     lib="$1"
     srcdir="$2"
+    ftpdir="$3"
 
     pushd $srcdir
 
@@ -29,37 +31,77 @@ release_lib() {
     }
     tarname=$(basename $tgzname .gz)
     echo "Tarball: $tarname"
-    gunzip $tgzname || exit 1
+    gunzip -f $tgzname || exit 1
     [ -f "$tarname" ] || {
        echo "Failed to decompress tarball $tarname"
        exit 1
     }
+
+    tagname=$(basename $tarname .tar)
+    echo "tagging as $tagname"
+    git tag -u $GPG_KEYID -s "$tagname" -m "$lib: tag release $tagname" || {
+       exit 1
+    }
+
     echo "signing"
-    gpg --detach-sign --armor $tarname || exit 1
+    rm -f "$tarname.asc"
+    gpg -u "$GPG_USER" --detach-sign --armor $tarname || {
+       exit 1
+    }
     [ -f "$tarname.asc" ] || {
        echo "Failed to create signature $tarname.asc"
        exit 1
     }
     echo "compressing"
-    gzip -9 $tarname
+    gzip -f -9 $tarname
     [ -f "$tgzname" ] || {
        echo "Failed to compress $tgzname"
        exit 1
     }
 
-    echo "Transferring"
-    rsync -Pav $tarname.asc $tgzname master.samba.org:~ftp/pub/$lib/
+    [ -z "$ftpdir" ] && {
+        popd
+        return 0
+    }
+
+    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)
+           [ -z "$GPG_USER" ] && {
+               GPG_USER='Samba Library Distribution Key <samba-bugs@samba.org>'
+           }
+
+           [ -z "$GPG_KEYID" ] && {
+               GPG_KEYID='13084025'
+           }
+
+           release_lib $lib "lib/$lib" $lib
            ;;
-       ldb)
-           release_lib $lib "source4/lib/$lib"
+       samba)
+           [ -z "$GPG_USER" ] && {
+               GPG_USER='6568B7EA'
+           }
+
+           [ -z "$GPG_KEYID" ] && {
+               GPG_KEYID='6568B7EA'
+           }
+
+           # for now we don't upload
+           release_lib $lib "." ""
            ;;
        *)
            echo "Unknown library $lib"