]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/release/makebacularel
Update release directory
[bacula/bacula] / bacula / release / makebacularel
index eecec644041ca5af310d318708d707b6648df7fe..0d8947a314506ac1656740c227740e19ed616c50 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/sh
 #
+# Copyright (C) 2000-2017 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
 #
 # This script is used to make a Bacula release
 #   bacula
 # Commit all changes, update the language files, 
 #    export the release, make a release tar.
 #
-cwd=`pwd`
-reltype=release
+# source config
+. ./config
+
 tagbase=Release-
+base_dir=bacula
 base_pkg=bacula
-if [ $# != 2 ] ; then
-  echo "Need $0 <source-directory> <branch>"
-  echo "e.g. $0 release-source 3.0.3"
+
+remote=$2
+branch=$3
+ver=$4
+
+if [ $# != 4 ] ; then
+  echo "Need $0 <source-directory> <remote-name> <branch> <version>"
+  echo "e.g. $0 release-source bee Branch-4.0 4.0.3"
   exit 1
 fi
 cd $1
@@ -27,25 +36,24 @@ if [ $? -ne 0 ]; then
    exit 1
 fi
 src=`pwd` 
-cd $base_pkg 
+current=`git branch | awk '/*/ { print $2 }'`
+cd $base_dir 
 if [ $?  -ne 0 ]; then
    echo "Directory: $1 does not exist"
    exit 1
 fi
-branch=$2
 git checkout ${branch}
-git pull origin ${branch}
+git pull ${remote} ${branch}
 if [ $? -ne 0 ]; then
    echo "Checkout of branch ${branch} failed."
    exit 1
 fi
-ver=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' src/version.h`
 fulltag=$tagbase$ver
 echo " "
 echo "Making $reltype for $base_pkg-$ver ..."
 echo " "
-echo "OK?  ctl-c to stop"
-read a
+#echo "OK?  ctl-c to stop"
+#read a
 rm -rf Release-$ver
 if [ $reltype != "beta" ] ; then
    cd src
@@ -54,11 +62,13 @@ if [ $reltype != "beta" ] ; then
    rm -f 1
    cd ..
 fi
-./configure --enable-client-only
-cd po
-make update-po
-cd ${src}   
-git commit -am "Final po changes for ${fulltag}"
+if [ a$updatepo != ano ]; then
+   ./configure --enable-client-only
+   cd po
+   make update-po
+   cd ${src}   
+fi
+
 git tag -d ${fulltag}
 echo "Creating new tag -- $fulltag"
 git tag $fulltag
@@ -74,6 +84,7 @@ rm -rf $base_pkg-$ver $base_pkg-$ver.tar.gz $base_pkg-$ver.tar.gz.sig
 rm -rf $fulltag
 cd ${src}
 git archive --format=tar --prefix=$base_pkg-$ver/ $fulltag | gzip >${cwd}/$base_pkg-$ver.tar.gz
+
 if [ $? != 0 ] ; then
   echo " "
   echo "Non-zero return status from Git"
@@ -81,21 +92,34 @@ if [ $? != 0 ] ; then
   exit 1
 fi
 echo "Exported release into ${cwd}/$base_pkg-$ver.tar.gz"
-git checkout master
 cd ${cwd}
 tar xfz $base_pkg-$ver.tar.gz 
-cd $base_pkg-$ver/
+# First remove Enterprise Win32 plugin source
+cd $base_pkg-$ver/bacula
+cp -fp ReleaseNotes ChangeLog src/version.h ${cwd}/
+cp -fp LICENSE* ${cwd}/
+
+cd ${cwd}/$base_pkg-$ver
+# Move directories to release names including version
 mv bacula $base_pkg-$ver
 mv gui $base_pkg-gui-$ver
 mv regress $base_pkg-regress-$ver
+# Tar each component individually
 tar cvfz ../$base_pkg-$ver.tar.gz $base_pkg-$ver
 tar cvfz ../$base_pkg-gui-$ver.tar.gz $base_pkg-gui-$ver
 tar cvfz ../$base_pkg-regress-$ver.tar.gz $base_pkg-regress-$ver
 cd ..
+rm -rf $base_pkg-$ver
 ./sign $base_pkg-$ver.tar.gz
 ./sign $base_pkg-gui-$ver.tar.gz
 ./sign $base_pkg-regress-$ver.tar.gz
 
+if [ a$push != ano ]; then
+   cd ${src}
+   git push ${remote} ${branch}
+   git push ${remote} tag ${fulltag}
+   echo "Pushed ${remote} and push tag ${fulltag}"
+fi
+
 cd ${src}
-git push
-git push --tags
+git checkout ${current}