#
# Commit all changes, export the release, make a release tar.
#
+. ./functions
+
cwd=`pwd`
reltype=release
tagbase=Release-
base_dir=docs
base_pkg=bacula-$base_dir
-branch=$3
-if [ $# != 3 ] ; then
- echo "Need $0 <bacula-source-directory> <docs-source-directory> <branch>"
- echo "e.g. $0 bacula-source docs-source master"
+remote=$3
+branch=$4
+ver=$5
+
+if [ $# != 5 ] ; then
+ echo "Need $0 <bacula-source-directory> <docs-source-directory> <remote-name> <branch> <version>"
+ echo "e.g. $0 bacula-source docs-source bee master 4.0.1"
exit 1
fi
-cd $1
-if [ $? -ne 0 ]; then
- echo "Directory: $1 does not exist"
- exit 1
-fi
-cd bacula
-if [ $? -ne 0 ]; then
- echo "Directory: $1 does not exist"
- exit 1
-fi
+
+# Get Bacula branch setup
+cd $1/bacula
+check_return_code "$0: Directory $1/bacula does not exist"
+
+bcurrent=`git branch | awk '/*/ { print $2 }'`
git checkout ${branch}
-if [ $? -ne 0 ]; then
- echo "Checkout of branch ${branch} in $1/bacula failed."
- exit 1
-fi
-git pull origin ${branch}
+check_return_code "$0: Checkout of branch ${branch} in $1/bacula failed."
+git pull ${remote} ${branch}
bsrc=`pwd`
cd ${cwd}
-cd $2
-if [ $? -ne 0 ]; then
- echo "Directory: $2 does not exist"
- exit 1
-fi
-cd $base_dir
-if [ $? -ne 0 ]; then
- echo "Directory: $2 does not exist"
- exit 1
-fi
+
+# Go to docs
+cd $2/$base_dir
+check_return_code "$0: Directory $2/$base_dir does not exist"
+
+current=`git branch | awk '/*/ { print $2 }'`
src=`pwd`
git checkout ${branch}
-if [ $? -ne 0 ]; then
- echo "Checkout of branch ${branch} in ${src} failed."
- exit 1
-fi
-git pull origin ${branch}
-ver=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${bsrc}/src/version.h`
+check_return_code "$0: Checkout of branch ${branch} in ${src} failed."
+
+git pull ${remote} ${branch}
fulltag=$tagbase$ver
echo " "
-echo "Making $reltype for $base_pkg-$ver ..."
+echo "$0: Making $reltype for $base_pkg-$ver ..."
echo " "
echo "OK? ctl-c to stop"
read a
-git tag -d ${fulltag}
+git tag -d ${fulltag} 2>/dev/null 1>/dev/null
echo "Creating new tag -- $fulltag"
git tag $fulltag
-if [ $? != 0 ] ; then
- echo " "
- echo "Non-zero return status from Git"
- echo " "
- exit 1
-fi
+check_return_code "$0: Non-zero return status from Git"
echo "Create Tag $fulltag done"
cd ${cwd}
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"
- echo " "
- exit 1
-fi
+check_return_code "$0: Non-zero return status from Git"
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/
cd $base_pkg-$ver
./configure --with-bacula=$bsrc
make en
-cd ${bsrc}
-git checkout master
cd ${cwd}
echo "Tarring docs ..."
tar cf $base_pkg-$ver.tar $base_pkg-$ver
if [ a$push != ano ]; then
cd ${src}
- git push origin $branch
- git push tag $fulltag
+ git push ${remote} ${branch}
+# git push ${remote} tag ${fulltag}
+ echo "Pushed ${remote}"
fi
+
+cd ${src}
+git checkout ${current}
+
+cd ${bsrc}
+git checkout ${bcurrent}
+exit 0