]>
Commit | Line | Data |
---|---|---|
7aef1654 | 1 | #!/bin/sh -e |
39e4ea99 | 2 | |
79d7c801 | 3 | if [ $# -lt 1 ]; then |
7aef1654 | 4 | echo "Usage: $0 [branch]" |
39e4ea99 | 5 | echo "Where [branch] is the path under /bzr/ to the branch to snapshot." |
7aef1654 | 6 | exit 1 |
7 | fi | |
39e4ea99 | 8 | # VCS details |
e14c0072 | 9 | module=squid3 |
39e4ea99 HN |
10 | BZRROOT=${BZRROOT:-/bzr} |
11 | ||
12 | # generate a tarball name from the branch ($1) note that trunk is at | |
13 | # /bzr/trunk, but we call it HEAD for consistency with CVS (squid 2.x), and | |
14 | # branches are in /bzr/branches/ but we don't want 'branches/' in the tarball | |
15 | # name so we strip that. | |
39e4ea99 | 16 | branchpath=${1:-trunk} |
79d7c801 | 17 | tag=${2:-`basename $branchpath`} |
7aef1654 | 18 | startdir=$PWD |
10f7190b | 19 | date=`env TZ=GMT date +%Y%m%d` |
7aef1654 | 20 | |
bf97dee2 | 21 | tmpdir=${TMPDIR:-${PWD}}/${module}-${tag}-mksnapshot |
7aef1654 | 22 | |
7aef1654 | 23 | rm -rf $tmpdir |
24 | trap "rm -rf $tmpdir" 0 | |
25 | ||
19be127e | 26 | rm -f ${tag}.out |
f3aaab79 | 27 | bzr export $tmpdir $BZRROOT/$module/$branchpath || exit 1 |
069abead | 28 | if [ ! -f $tmpdir/configure ] && [ -f $tmpdir/configure.in ]; then |
045442b0 HN |
29 | sh -c "cd $tmpdir && ./bootstrap.sh" |
30 | fi | |
7aef1654 | 31 | if [ ! -f $tmpdir/configure ]; then |
e14c0072 | 32 | echo "ERROR! Tag $tag not found in $module" |
7aef1654 | 33 | fi |
34 | ||
35 | cd $tmpdir | |
a03cfcfc AJ |
36 | eval `grep "^ *PACKAGE_VERSION=" configure | sed -e 's/-BZR//' | sed -e 's/-CVS//' | sed -e 's/PACKAGE_//'` |
37 | eval `grep "^ *PACKAGE_TARNAME=" configure | sed -e 's/_TARNAME//'` | |
7aef1654 | 38 | ed -s configure.in <<EOS |
d81d6f38 | 39 | g/${VERSION}-[A-Z]*/ s//${VERSION}-${date}/ |
7aef1654 | 40 | w |
41 | EOS | |
42 | ed -s configure <<EOS | |
d81d6f38 | 43 | g/${VERSION}-[A-Z]*/ s//${VERSION}-${date}/ |
7aef1654 | 44 | w |
45 | EOS | |
46 | ||
0f40f099 | 47 | ./test-builds.sh --cleanup || exit 1 |
7aef1654 | 48 | ./configure --silent |
069abead | 49 | make -s dist-all || echo "ERROR: make dist-all failed." |
7aef1654 | 50 | |
05a55a90 | 51 | basetarball=/server/httpd/htdocs/squid-cache.org/Versions/v`echo $VERSION | cut -d. -f1`/`echo $VERSION | cut -d. -f-2|cut -d- -f1`/${PACKAGE}-${VERSION}.tar.bz2 |
79325308 | 52 | if (echo $VERSION | grep PRE) || (echo $VERSION | grep STABLE); then |
79325308 | 53 | if [ -f $basetarball ]; then |
54 | tar jxf ${PACKAGE}-${VERSION}-${date}.tar.bz2 | |
55 | tar jxf $basetarball | |
79d7c801 | 56 | echo "Differences from ${PACKAGE}-${VERSION} to ${PACKAGE}-${VERSION}-${date}" >${PACKAGE}-${VERSION}-${date}.diff |
79325308 | 57 | diff -ruN ${PACKAGE}-${VERSION} ${PACKAGE}-${VERSION}-${date} >>${PACKAGE}-${VERSION}-${date}.diff || true |
58 | else | |
79d7c801 | 59 | #cvs -q rdiff -u -r SQUID_`echo $VERSION | tr .- __` -r $tag $module >>${PACKAGE}-${VERSION}-${date}.diff || true |
79325308 | 60 | fi |
b8da3ec1 | 61 | elif [ -f STABLE_BRANCH ]; then |
79d7c801 HN |
62 | #stable=`cat STABLE_BRANCH` |
63 | #echo "Differences from ${stable} to ${PACKAGE}-${VERSION}-${date}" >${PACKAGE}-${VERSION}-${date}.diff | |
64 | #cvs -q rdiff -u -r $stable -r $tag $module >>${PACKAGE}-${VERSION}-${date}.diff | |
79325308 | 65 | fi |
66 | ||
7aef1654 | 67 | cd $startdir |
a80dfff0 | 68 | echo "Preparing to publish: ${PACKAGE}-${VERSION}-${date}.tar.* ..." |
069abead | 69 | pwd |
a80dfff0 | 70 | ls -1 ./*.tar.* |
085dba93 | 71 | ls -1 $tmpdir/*.tar.* |
7aef1654 | 72 | cp -p $tmpdir/${PACKAGE}-${VERSION}-${date}.tar.gz . |
19be127e | 73 | echo ${PACKAGE}-${VERSION}-${date}.tar.gz >>${tag}.out |
c6a26ddb | 74 | cp -p $tmpdir/${PACKAGE}-${VERSION}-${date}.tar.bz2 . |
71918ca5 | 75 | echo ${PACKAGE}-${VERSION}-${date}.tar.bz2 >>${tag}.out |
79325308 | 76 | if [ -f $tmpdir/${PACKAGE}-${VERSION}-${date}.diff ]; then |
77 | cp -p $tmpdir/${PACKAGE}-${VERSION}-${date}.diff . | |
78 | echo ${PACKAGE}-${VERSION}-${date}.diff >>${tag}.out | |
79 | fi | |
19be127e | 80 | |
c6a26ddb | 81 | relnotes=$tmpdir/doc/release-notes/release-`echo $VERSION | cut -d. -f1,2 | cut -d- -f1`.html |
82 | if [ -f $relnotes ]; then | |
83 | cp -p $relnotes ${PACKAGE}-${VERSION}-${date}-RELEASENOTES.html | |
84 | echo ${PACKAGE}-${VERSION}-${date}-RELEASENOTES.html >>${tag}.out | |
a6528f8d | 85 | ed -s ${PACKAGE}-${VERSION}-${date}-RELEASENOTES.html <<EOF |
86 | g/"ChangeLog"/ s//"${PACKAGE}-${VERSION}-${date}-ChangeLog.txt"/g | |
87 | w | |
88 | EOF | |
c6a26ddb | 89 | fi |
f2cc0e97 | 90 | cp -p $tmpdir/ChangeLog ${PACKAGE}-${VERSION}-${date}-ChangeLog.txt |
91 | echo ${PACKAGE}-${VERSION}-${date}-ChangeLog.txt >>${tag}.out | |
b8da3ec1 | 92 | |
12175206 | 93 | # Generate Configuration Manual HTML |
b8da3ec1 | 94 | if [ -x $tmpdir/scripts/www/build-cfg-help.pl ]; then |
95 | make -C $tmpdir/src cf.data | |
96 | mkdir -p $tmpdir/doc/cfgman | |
00a4454c | 97 | $tmpdir/scripts/www/build-cfg-help.pl --version ${VERSION} -o $tmpdir/doc/cfgman $tmpdir/src/cf.data |
b8da3ec1 | 98 | sh -c "cd $tmpdir/doc/cfgman && tar -zcf $PWD/${PACKAGE}-${VERSION}-${date}-cfgman.tar.gz *" |
99 | echo ${PACKAGE}-${VERSION}-${date}-cfgman.tar.gz >>${tag}.out | |
00a4454c | 100 | $tmpdir/scripts/www/build-cfg-help.pl --version ${VERSION} -o ${PACKAGE}-${VERSION}-${date}-cfgman.html -f singlehtml $tmpdir/src/cf.data |
b8da3ec1 | 101 | gzip -f -9 ${PACKAGE}-${VERSION}-${date}-cfgman.html |
102 | echo ${PACKAGE}-${VERSION}-${date}-cfgman.html.gz >>${tag}.out | |
103 | fi | |
d2669d90 | 104 | |
12175206 | 105 | # Collate Manual Pages and generate HTML versions |
7460890a | 106 | if (groff --help >/dev/null); then |
83915266 | 107 | make -C ${tmpdir}/src squid.8 |
5406f265 AJ |
108 | if [ ! -d ${tmpdir}/doc/manuals ] ; then |
109 | mkdir -p ${tmpdir}/doc/manuals | |
110 | fi | |
83915266 | 111 | for f in `ls -1 ${tmpdir}/helpers/*/*/*.8 ${tmpdir}/src/*.8 ${tmpdir}/tools/*.1 ${tmpdir}/tools/*.8 ./helpers/*/*/*.8 2>/dev/null` ; do |
12175206 AJ |
112 | cp $f ${tmpdir}/doc/manuals/ |
113 | done | |
5406f265 | 114 | for f in `ls -1 ${tmpdir}/doc/manuals/*.1 ${tmpdir}/doc/manuals/*.8 2>/dev/null` ; do |
12175206 AJ |
115 | cat ${f} | groff -E -Thtml -mandoc >${f}.html |
116 | done | |
1d7dcc0e | 117 | sh -c "cd ${tmpdir}/doc/manuals && tar -zcf $PWD/${PACKAGE}-${VERSION}-${date}-manuals.tar.gz *.html *.1 *.8" |
12175206 AJ |
118 | echo ${PACKAGE}-${VERSION}-${date}-manuals.tar.gz >>${tag}.out |
119 | fi | |
120 | ||
d2669d90 AJ |
121 | # Generate language-pack tarballs |
122 | # NP: Only to be done on HEAD branch. | |
f2f17d62 | 123 | if test "${VERSION}" = "3.HEAD" ; then |
2e3ee15d | 124 | sh -c "cd $tmpdir/errors && tar -zcf ${PWD}/${PACKAGE}-${VERSION}-${date}-langpack.tar.gz ./*/* ./alias* ./TRANSLATORS ./COPYRIGHT " |
39d24d69 AJ |
125 | echo ${PACKAGE}-${VERSION}-${date}-langpack.tar.gz >>${tag}.out |
126 | fi |