-
Notifications
You must be signed in to change notification settings - Fork 51
/
build-release
executable file
·105 lines (73 loc) · 2.03 KB
/
build-release
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/bin/sh --
#
# Build a mutt release.
#
# This used to be part of the main Makefile, but is better handled
# by a shell script.
#
# Note that this script won't work for you. I'm including it with
# the distribution for the sake of completeness.
#
# Thomas Roessler <roessler@does-not-exist.org> Mon, 8 Nov 1999 22:32:41 +0100
#
set -e
if test "$1" = "-nodiff" ; then
diff=no
else
diff=yes
fi
#devel="devel/" # comment out for the stable branch
# test for uncommitted changes
if hg id | grep -q '+'
then
echo "Uncommitted changes"
exit 1
fi
# update the source
hg update
# Do automated security checks
./check_sec.sh || exit 1
# bump the version number, and calculate the tags
OVERSION="`cat VERSION`"
OTAG="mutt-`echo $OVERSION | tr . -`-rel"
echo $OVERSION | awk -F . '{printf("%d.%d.%d\n", $1, $2, $3 + 1);}' > VERSION
${VISUAL:-vi} VERSION
VERSION="`cat VERSION`"
TAG="mutt-`echo $VERSION | tr . -`-rel"
#echo 'const char *ReleaseDate = "'`date +%Y-%m-%d`'";' > reldate.h
# now, prepare the distribution tar balls
automake --add-missing --copy --force-missing
touch configure.ac
make config.status
./config.status
make update-doc
make update-changelog
(cd po && make update-po)
# build them
make dist
# commit and tag the release
hg commit -m "automatic post-release commit for mutt-${VERSION}"
#make commit-changelog
hg tag ${TAG}
# build the diff between the two releases
if test "$diff" = yes
then
hg diff -r ${OTAG} -r ${TAG} | gzip -9 \
> diff-${OVERSION}-${VERSION}.gz
fi
# sign the various files
# DISTFILES="mutt-${VERSION}.tar.gz mutt-${VERSION}i.tar.gz diff-${OVERSION}i-${VERSION}i.gz"
DISTFILES="mutt-${VERSION}.tar.gz"
if test "$diff" = yes ; then
DISTFILES="$DISTFILES diff-${OVERSION}-${VERSION}.gz"
fi
for f in $DISTFILES; do
gpg -ba $f
chmod 644 $f.asc
done
for f in $DISTFILES ; do
scp $f $f.asc trithemius.gnupg.org:/home/ftp/mutt/${devel}
done
hg sign -m"mutt-${VERSION} signed" ${TAG}
# Finally, announce the new mutt to the public
# mutt -s "[Announce] mutt-${VERSION} is out" mutt-dev@mutt.org