]>
Commit | Line | Data |
---|---|---|
cccb93e3 | 1 | #!/bin/sh -ex |
a151895d | 2 | # |
5b74111a | 3 | ## Copyright (C) 1996-2018 The Squid Software Foundation and contributors |
a151895d AJ |
4 | ## |
5 | ## Squid software is distributed under GPLv2+ license and includes | |
6 | ## contributions from numerous individuals and organizations. | |
7 | ## Please see the COPYING and CONTRIBUTORS files for details. | |
8 | ## | |
9 | ||
a4572994 | 10 | if [ $# -ne 1 -a $# -ne 2 ]; then |
11 | echo "Usage: $0 revision [destination]" | |
95468954 | 12 | exit 1 |
f373d962 | 13 | fi |
39e4ea99 HN |
14 | |
15 | # infer tags from command line details | |
16 | package=squid | |
95468954 | 17 | rev=`echo $1 | sed -e "s/^${package}-//"` |
18 | name=${package}-${rev} | |
19 | tag=`echo ${name} | tr a-z.- A-Z__` | |
a4572994 | 20 | startdir=$PWD/ |
21 | dst=${2:-$PWD}/ | |
f5386c09 | 22 | RELEASE_TIME=`date +%s` |
95468954 | 23 | |
fe4990f7 | 24 | # DPW 2007-08-30 |
25 | # | |
26 | # check that $rev has the right syntax | |
27 | # | |
7ed34ab7 | 28 | checkrev=`expr $rev : '\([0-9]\.[0-9]\.[0-9\.]*\)'` |
fe4990f7 | 29 | if test "$rev" != "$checkrev" ; then |
7ed34ab7 | 30 | echo "revision '$rev' has incorrect syntax. Should be like '3.1.0.1'" |
fe4990f7 | 31 | exit 1; |
32 | fi | |
33 | ||
bf97dee2 | 34 | tmpdir=${TMPDIR:-${PWD}}/${name}-mkrelease |
95468954 | 35 | |
95468954 | 36 | rm -rf $name.tar.gz $tmpdir |
37 | trap "rm -rf $tmpdir" 0 | |
38 | ||
2db9989c AJ |
39 | mkdir ${tmpdir} |
40 | (git archive --format=tar HEAD | tar -xC ${tmpdir}) || exit 1 | |
41 | ||
7ed34ab7 | 42 | if [ ! -f $tmpdir/bootstrap.sh ]; then |
2db9989c | 43 | echo "ERROR! Tag $tag not found" |
95468954 | 44 | fi |
45 | ||
46 | cd $tmpdir | |
7ed34ab7 | 47 | ./bootstrap.sh |
2db9989c | 48 | eval `grep "^ *PACKAGE_VERSION=" configure | sed -e 's/-VCS//' | sed -e 's/PACKAGE_//'` |
156251e6 | 49 | eval `grep "^ *PACKAGE_TARNAME=" configure | sed -e 's/_TARNAME//'` |
95468954 | 50 | if [ ${name} != ${PACKAGE}-${VERSION} ]; then |
39e4ea99 | 51 | echo "ERROR! The tag and configure version numbers do not match!" |
95468954 | 52 | echo "${name} != ${PACKAGE}-${VERSION}" |
53 | exit 1 | |
54 | fi | |
cd6a9da6 AJ |
55 | RELEASE=`echo $VERSION | cut -d. -f1,1 | cut -d- -f1` |
56 | NOTES_VERSION=`grep "$VERSION" doc/release-notes/release-${RELEASE}.sgml` | |
d88bcf6b | 57 | if test "x$NOTES_VERSION" = "x"; then |
0bd5370a | 58 | echo "ERROR! Release Notes HTML version numbers do not match!" |
d88bcf6b AJ |
59 | exit 1 |
60 | fi | |
a6093a2d | 61 | ed -s configure.ac <<EOS |
2db9989c | 62 | g/${VERSION}-VCS/ s//${VERSION}/ |
95468954 | 63 | w |
64 | EOS | |
65 | ed -s configure <<EOS | |
2db9989c | 66 | g/${VERSION}-VCS/ s//${VERSION}/ |
95468954 | 67 | w |
68 | EOS | |
f5386c09 | 69 | ed -s include/version.h <<EOS |
70 | g/squid_curtime/ s//${RELEASE_TIME}/ | |
71 | w | |
72 | EOS | |
95468954 | 73 | |
4eb85b7a | 74 | ./configure --silent --enable-translation |
58b4f0d6 | 75 | make dist-all |
95468954 | 76 | |
77 | cd $startdir | |
d2eaa7f2 | 78 | inst() { |
79 | rm -f $2 | |
80 | cp -p $1 $2 | |
81 | chmod 444 $2 | |
82 | } | |
83 | inst $tmpdir/${name}.tar.gz $dst/${name}.tar.gz | |
84 | inst $tmpdir/${name}.tar.bz2 $dst/${name}.tar.bz2 | |
85 | inst $tmpdir/CONTRIBUTORS $dst/CONTRIBUTORS.txt | |
86 | inst $tmpdir/COPYING $dst/COPYING.txt | |
78dd48ca | 87 | inst $tmpdir/README $dst/README.txt |
d2eaa7f2 | 88 | inst $tmpdir/CREDITS $dst/CREDITS.txt |
bdb40e33 | 89 | inst $tmpdir/SPONSORS $dst/SPONSORS.txt |
d2eaa7f2 | 90 | inst $tmpdir/ChangeLog $dst/ChangeLog.txt |
cccb93e3 | 91 | if [ -f $tmpdir/doc/release-notes/release-$RELEASE.html ]; then |
d2eaa7f2 | 92 | cat $tmpdir/doc/release-notes/release-$RELEASE.html | sed -e ' |
93 | s/"ChangeLog"/"ChangeLog.txt"/g; | |
94 | ' > $tmpdir/RELEASENOTES.html | |
95 | touch -r $tmpdir/doc/release-notes/release-$RELEASE.html $tmpdir/RELEASENOTES.html | |
96 | inst $tmpdir/RELEASENOTES.html $dst/${name}-RELEASENOTES.html | |
97 | ln -sf ${name}-RELEASENOTES.html $dst/RELEASENOTES.html | |
cccb93e3 | 98 | fi |
f2cc7004 | 99 | if [ -f $dst/changesets/.update ]; then |
100 | rm -f $dst/changesets/$tag.html | |
101 | $dst/changesets/.update | |
b84e7b4c | 102 | fi |