]> git.sur5r.net Git - bacula/bacula/blob - bacula/release/makerescuerel
Tweak update release script
[bacula/bacula] / bacula / release / makerescuerel
1 #!/bin/sh
2 #
3 #
4 # This script is used to make a Bacula rescue release
5 #   rescue
6 # It writes in the current directory, so we recommend that you
7 #  do not run it in the Bacula source or Git directory, but
8 #  in a special release directory.
9 #
10 # Commit all changes, export the release, make a release tar.
11 #
12 cwd=`pwd`
13 reltype=release
14 tagbase=Release-
15 base_pkg=bacula-rescue
16 base_dir=rescue
17 remote=$2
18 branch=$3
19 ver=$4
20
21 if [ $# != 4 ] ; then
22   echo "Need $0 <rescue-source-directory> <remote-name> <branch> <version>"
23   echo "e.g. $0 rescue-source bee Branch-4.0 4.0.1"
24   exit 1
25 fi
26 cd $1
27 if [ $? -ne 0 ]; then
28    echo "Directory: $1 does not exist"
29    exit 1
30 fi
31 cd $base_dir
32 if [ $?  -ne 0 ]; then
33    echo "Directory: $1 does not exist"
34    exit 1
35 fi
36
37 current=`git branch | awk '/*/ { print $2 }'`
38 src=`pwd` 
39 git checkout ${branch}
40 if [ $? -ne 0 ]; then
41    echo "Checkout of branch ${branch} in ${src} failed."
42    exit 1
43 fi
44 git pull ${remote} ${branch}
45 fulltag=$tagbase$ver
46 echo " "
47 echo "Making $reltype for $base_pkg-$ver ..."
48 echo " "
49 echo "OK?  ctl-c to stop"
50 read a
51
52 git tag -d ${fulltag}
53 echo "Creating new tag -- $fulltag"
54 git tag $fulltag
55 if [ $? != 0 ] ; then
56   echo " "
57   echo "Non-zero return status from Git"
58   echo " "
59   exit 1
60 fi
61 echo "Create Tag $fulltag done"
62 cd ${cwd}
63 rm -rf $base_pkg-$ver $base_pkg-$ver.tar.gz $base_pkg-$ver.tar.gz.sig
64 rm -rf $fulltag
65 cd ${src}
66 git archive --format=tar --prefix=$base_pkg-$ver/ $fulltag | gzip >${cwd}/$base_pkg-$ver.tar.gz
67 if [ $? != 0 ] ; then
68   echo " "
69   echo "Non-zero return status from Git"
70   echo " "
71   exit 1
72 fi
73 echo "Exported release into ${cwd}/$base_pkg-$ver.tar.gz"
74 if [ a$push != ano ]; then
75    cd ${src}
76    git push ${remote} ${branch}
77 #  git push ${remote} tag ${fulltag}
78    echo "Pushed ${remote}"
79 fi
80 cd ${src}
81 git checkout ${current}
82
83 cd ${cwd}
84 ./sign $base_pkg-$ver.tar.gz
85 ls -l $base_pkg-$ver.tar.*