]> git.ipfire.org Git - thirdparty/squid.git/blame - mkrelease.sh
Bug 5069: Keep listening after getsockname() error (#1713)
[thirdparty/squid.git] / mkrelease.sh
CommitLineData
cccb93e3 1#!/bin/sh -ex
a151895d 2#
b8ae064d 3## Copyright (C) 1996-2023 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 10if [ $# -ne 1 -a $# -ne 2 ]; then
11 echo "Usage: $0 revision [destination]"
95468954 12 exit 1
f373d962 13fi
39e4ea99
HN
14
15# infer tags from command line details
16package=squid
95468954 17rev=`echo $1 | sed -e "s/^${package}-//"`
18name=${package}-${rev}
19tag=`echo ${name} | tr a-z.- A-Z__`
a4572994 20startdir=$PWD/
21dst=${2:-$PWD}/
f5386c09 22RELEASE_TIME=`date +%s`
95468954 23
fe4990f7 24# DPW 2007-08-30
25#
26# check that $rev has the right syntax
27#
702a9bc3 28checkrev=`expr $rev : '\([0-9]\.[0-9]\(\.[0-9\.]\)*\)'`
fe4990f7 29if test "$rev" != "$checkrev" ; then
7ed34ab7 30 echo "revision '$rev' has incorrect syntax. Should be like '3.1.0.1'"
fe4990f7 31 exit 1;
32fi
33
bf97dee2 34tmpdir=${TMPDIR:-${PWD}}/${name}-mkrelease
95468954 35
95468954 36rm -rf $name.tar.gz $tmpdir
37trap "rm -rf $tmpdir" 0
38
2db9989c
AJ
39mkdir ${tmpdir}
40(git archive --format=tar HEAD | tar -xC ${tmpdir}) || exit 1
41
7ed34ab7 42if [ ! -f $tmpdir/bootstrap.sh ]; then
2db9989c 43 echo "ERROR! Tag $tag not found"
95468954 44fi
45
46cd $tmpdir
7ed34ab7 47./bootstrap.sh
2db9989c 48eval `grep "^ *PACKAGE_VERSION=" configure | sed -e 's/-VCS//' | sed -e 's/PACKAGE_//'`
156251e6 49eval `grep "^ *PACKAGE_TARNAME=" configure | sed -e 's/_TARNAME//'`
95468954 50if [ ${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
54fi
cd6a9da6 55RELEASE=`echo $VERSION | cut -d. -f1,1 | cut -d- -f1`
a6093a2d 56ed -s configure.ac <<EOS
2db9989c 57g/${VERSION}-VCS/ s//${VERSION}/
95468954 58w
59EOS
60ed -s configure <<EOS
2db9989c 61g/${VERSION}-VCS/ s//${VERSION}/
95468954 62w
63EOS
f5386c09 64ed -s include/version.h <<EOS
65g/squid_curtime/ s//${RELEASE_TIME}/
66w
67EOS
95468954 68
4eb85b7a 69./configure --silent --enable-translation
58b4f0d6 70make dist-all
95468954 71
72cd $startdir
d2eaa7f2 73inst() {
74rm -f $2
75cp -p $1 $2
76chmod 444 $2
77}
78inst $tmpdir/${name}.tar.gz $dst/${name}.tar.gz
79inst $tmpdir/${name}.tar.bz2 $dst/${name}.tar.bz2
d2eaa7f2 80inst $tmpdir/ChangeLog $dst/ChangeLog.txt
cccb93e3 81if [ -f $tmpdir/doc/release-notes/release-$RELEASE.html ]; then
d2eaa7f2 82 inst $tmpdir/RELEASENOTES.html $dst/${name}-RELEASENOTES.html
83 ln -sf ${name}-RELEASENOTES.html $dst/RELEASENOTES.html
cccb93e3 84fi