c766501c9228684825ad2e783a5fc38bec44633b
[gnupg.git] / scripts / mksnapshot
1 #!/bin/sh
2 # Make a snapshot of the CVS head revision
3 #  Fixme: we should either run autoconf here or make a real distribution
4
5 set -e
6
7 ftp_dir=$1
8
9 cd $HOME/pub
10 PATH="$HOME/bin:$PATH"
11
12 fix_version () {
13     version=$(cat $1/VERSION)
14     echo "$version-snap$(date +%Y-%m-%d)" >$1/VERSION
15     cat <<EOF >$1/SNAPSHOT
16                   WARNING!
17
18 This is a snapshot of the current CVS head branch!
19
20 It may not compile or not work.  Please don't report
21 bugs about this snapshot release it is just for your
22 convenience and to reduce the load of out CVS server.
23
24 Thanks,
25
26    Werner
27 EOF
28 }
29
30 build_dist () {
31     set +e
32     nice scripts/autogen.sh && nice ./configure && nice make dist 
33     rm $ftp_dir/gnupg-*snap*-*-*.tar.gz
34     mv gnupg-*.tar.gz $ftp_dir/
35     set -e
36 }
37
38
39 do_export () {
40     pgm=$1
41     mod=$2
42
43     rm -rf $pgm.new || true
44     rm -rf $pgm.old || true
45     cvs -Q export -r HEAD -d $pgm.new $mod
46     fix_version $pgm.new
47     if [ -n "$ftp_dir" ]; then
48       here=$(pwd)
49       cd $pgm.new    
50       build_dist 
51       cd $here
52     fi
53     [ -d $pgm ] && mv $pgm $pgm.old
54     if ! mv $pgm.new $pgm ; then
55         echo "rename failed - restoring" >&2
56         mv $pgm.old $pgm
57         exit 1
58     fi
59     rm -rf $pgm.old || true
60 }
61
62
63 do_export gnupg-snapshot gnupg
64
65
66 exit 0
67