]> 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=/home/squidadm/$LOGNAME.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 *-langpack.tar.gz)
38 type=-langpack.tar.gz
39 ;;
40 *-manuals.tar.gz)
41 type=-manuals.tar.gz
42 ;;
43 *)
44 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/'`
45 esac
46
47 # move tarball
48 rm -f $dst/$file.md5
49 rm -f $dst/$file
50 md5 $file >$dst/$file.md5
51 cp -p $file $dst/$file
52 rm -f $file
53
54 # update snapshot symlink
55 rm -f $dst/squid-$ver.snapshot$type
56 ln -s $file $dst/squid-$ver.snapshot$type
57 rm -f $dst/squid-$ver.snapshot$type.md5
58 ln -s $file.md5 $dst/squid-$ver.snapshot$type.md5
59
60 # cleanup old snapshots
61 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
62 rm -f $dst/*-$f $dst/*-$f.md5
63 done
64
65 # Special cases
66 case $file in
67 *-cfgman.tar.gz)
68 mkdir -p $dst/cfgman
69 tar -C $dst/cfgman -zxf $dst/$file
70 ;;
71 *-cfgman.html)
72 rm -f $dst/cfgman.html
73 ln -s $dst/$file $dst/cfgman.html
74 ;;
75 *-cfgman.html.gz)
76 rm -f $dst/cfgman.html.gz
77 ln -s $dst/$file $dst/cfgman.html.gz
78 ;;
79 *-manuals.tar.gz)
80 mkdir -p $dst/manuals
81 tar -C $dst/manuals -zxf $dst/$file
82 ;;
83 esac
84 done
85
86 # update web page
87 if [ -x $dst/make.sh ]; then
88 $dst/make.sh
89 fi
90
91 } }
92
93 set +e
94
95 # autotool derived files not kept in trunk, but still need to bootstrap for make dist
96 ../commit/bootstrap squid-3
97 make_snapshot ../commit/squid-3/mksnapshot.sh trunk v3 HEAD 6
98
99 rm -f /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new
100 cp ../commit/squid-3/CONTRIBUTORS /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new
101 chmod 444 /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new
102 mv -f /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.new /server/httpd/htdocs/squid-cache.org/CONTRIBUTORS.txt
103
104 rm -f /server/httpd/htdocs/squid-cache.org/SPONSORS.new
105 cp ../commit/squid-3/SPONSORS /server/httpd/htdocs/squid-cache.org/SPONSORS.new
106 chmod 444 /server/httpd/htdocs/squid-cache.org/SPONSORS.new
107 mv -f /server/httpd/htdocs/squid-cache.org/SPONSORS.new /server/httpd/htdocs/squid-cache.org/SPONSORS.txt
108
109 ../commit/bootstrap squid-3.1
110 make_snapshot ../commit/squid-3/mksnapshot.sh branches/SQUID_3_1 v3 3.1 3
111
112 #../commit/bootstrap squid-3.0
113 #make_snapshot ../commit/squid-3/mksnapshot.sh branches/SQUID_3_0 v3 3.0 3
114
115 ../commit/bootstrap squid-2
116 make_snapshot ../commit/squid-2/mksnapshot.sh HEAD v2 HEAD 3
117
118 ../commit/bootstrap squid-2.7
119 make_snapshot ../commit/squid-2.7/mksnapshot.sh SQUID_2_7 v2 2.7 3
120
121 #../commit/bootstrap squid-2.6
122 #make_snapshot ../commit/squid-2.6/mksnapshot.sh SQUID_2_6 v2 2.6 3
123
124 #../commit/bootstrap squid-2.5
125 #make_snapshot ../commit/squid-2.5/mksnapshot.sh SQUID_2_5 v2 2.5 3
126
127 #../commit/squid3-SQUID2.sync