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