]> git.ipfire.org Git - thirdparty/squid.git/blob - mksnapshot-cron.sh
Merge from trunk
[thirdparty/squid.git] / mksnapshot-cron.sh
1 #!/bin/sh -e
2 # Nightly cron job to generate snapshot releases
3 top=$PWD
4 versions=/server/httpd/htdocs/squid-cache.org/Versions/
5 TMPDIR=/tmp/hno.cron
6 export TMPDIR
7 if [ -d $TMPDIR ]; then
8 chmod -R +w $TMPDIR
9 rm -rf $TMPDIR
10 fi
11 mkdir -p $TMPDIR
12 trap "cd /; chmod -R +w $TMPDIR; rm -rf $TMPDIR" 0
13
14 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
15 export PATH
16
17 # Be nice to our friends. This is a batch job
18 renice 10 $$ >/dev/null
19
20 make_snapshot()
21 { {
22 set -e
23 cd ../release
24 mksnap=$1
25 branch=$2
26 dir=$3
27 ver=$4
28 save=${5:-3}
29 dst=$versions/$dir/$ver
30 out=${6:-`basename $branch`}
31 $mksnap $branch $6 2>&1 | grep -v "set owner/group"
32 for file in `cat $out.out` ; do
33 case $file in
34 *-cfgman.tar.gz)
35 type=-cfgman.tar.gz
36 ;;
37 *)
38 type=`echo $file | sed -e 's/.*\.tar\.gz/.tar.gz/' -e 's/.*\.tar\.bz2/.tar.bz2/' -e 's/.*\.patch/.patch/' -e 's/.*\.diff/.diff/' -e 's/.*-RELEASENOTES.html/-RELEASENOTES.html/' -e 's/^.*ChangeLog.txt$/-ChangeLog.txt/' -e 's/.*-cfgman/-cfgman/'`
39 esac
40
41 # move tarball
42 rm -f $dst/$file.md5
43 rm -f $dst/$file
44 md5 $file >$dst/$file.md5
45 cp -p $file $dst/$file
46 rm -f $file
47
48 # update snapshot symlink
49 rm -f $dst/squid-$ver.snapshot$type
50 ln -s $file $dst/squid-$ver.snapshot$type
51 rm -f $dst/squid-$ver.snapshot$type.md5
52 ln -s $file $dst/squid-$ver.snapshot$type.md5
53
54 # cleanup old snapshots
55 ls $dst/*-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$type | sed -e 's/.*-\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'$type'\)/\1/' | sort -r | tail +$save | while read f; do
56 rm -f $dst/*-$f $dst/*-$f.md5
57 done
58
59 # Special cases
60 case $file in
61 *-cfgman.tar.gz)
62 mkdir -p $dst/cfgman
63 tar -C $dst/cfgman -zxf $dst/$file
64 ;;
65 *-cfgman.html)
66 rm -f $dst/cfgman.html
67 ln -s $dst/$file $dst/cfgman.html
68 ;;
69 *-cfgman.html.gz)
70 rm -f $dst/cfgman.html.gz
71 ln -s $dst/$file $dst/cfgman.html.gz
72 ;;
73 esac
74 done
75
76 # update web page
77 if [ -x $dst/make.sh ]; then
78 $dst/make.sh
79 fi
80
81 } }
82
83 set +e
84
85 # autotool derived files not kept in trunk, no need to bootstrap
86 #../commit/bootstrap squid-3
87 make_snapshot ../commit/squid-3/mksnapshot.sh trunk v3 HEAD 6
88
89 rm -f /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new
90 cp ../commit/squid-3/CONTRIBUTORS /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new
91 chmod 444 /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new
92 mv -f /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.txt
93
94 rm -f /server/httpd/htdocs/squid-cache.org/SPONSORS.new
95 cp ../commit/squid-3/SPONSORS /server/httpd/htdocs/squid-cache.org/SPONSORS.new
96 chmod 444 /server/httpd/htdocs/squid-cache.org/SPONSORS.new
97 mv -f /server/httpd/htdocs/squid-cache.org/SPONSORS.new /server/httpd/htdocs/squid-cache.org/SPONSORS.txt
98
99 ../commit/bootstrap squid-3.0
100 make_snapshot ../commit/squid-3/mksnapshot.sh branches/SQUID_3_0 v3 3.0 3
101
102 ../commit/bootstrap squid-2
103 make_snapshot ../commit/squid-2/mksnapshot.sh HEAD v2 HEAD 3
104
105 ../commit/bootstrap squid-2.7
106 make_snapshot ../commit/squid-2.7/mksnapshot.sh SQUID_2_7 v2 2.7 3
107
108 ../commit/bootstrap squid-2.6
109 make_snapshot ../commit/squid-2.6/mksnapshot.sh SQUID_2_6 v2 2.6 3
110
111 #../commit/bootstrap squid-2.5
112 #make_snapshot ../commit/squid-2.5/mksnapshot.sh SQUID_2_5 v2 2.5 3
113
114 #../commit/squid3-SQUID2.sync