chiark / gitweb /
src/types.c: Do not crash when one of several addr subqueries fails
[adns] / RELEASE-CHECKLIST
CommitLineData
28747f70
IJ
1#!/bin/bash
2# This is for the benefit of the upstream maintainers of GNU adns
3#
4# * Maybe rerun autoconf
5# * Ensure changelog reflects changes
6# * Ensure NEWS reflects changes
7# * Maybe update MAJOR and/or MINOR in common.make.in
8# * Update DISTVERSION in Makefile.in
9# * Update ADNS_VERSION_STRING in client/client.h
495cc83f
IJ
10# * Update version in ./changelog
11# * Commit the result
28747f70
IJ
12#
13# * Run this script
a75f3424 14# ./RELEASE-CHECKLIST [--real] <version>
28747f70
IJ
15#
16# * On chiark, maybe, replace ~ian/public-html/adns/current
495cc83f
IJ
17# with symlink to web-$(version)
18#
19# * On chiark, maybe, replace docs link (as directed by script)
20#
21# * If not an rc release, put files on ftp.gnu.org
28747f70
IJ
22#
23# * Send release announcement (use last one as template)
daf4b02e
IJ
24#
25# * Update DISTVERSION, ADNS_VERSION_STRING and start new changelog entry
28747f70
IJ
26
27set -e
28
48dd4282
IJ
29fail () { echo >&2 "$0: $*"; exit 16; }
30
a75f3424
IJ
31real=false
32if [ "x$1" = x--real ]; then
33 real=true; shift
34fi
35
48dd4282
IJ
36if [ $# != 1 ]; then fail "wrong # arguments"; fi
37wantversion="$1"
38
28747f70
IJ
39version=`sed -n <Makefile.in 's/^DISTVERSION=[ ]*//p'`
40
48dd4282
IJ
41if [ "x$version" != "x$wantversion" ]; then
42 fail "you say version $wantversion but tree is $version"
43fi
44
28747f70
IJ
45gpgkey='-u 0x48B50D39'
46chiark=chiark:/u/ian/public-html/adns
47chiarkftp=$chiark/ftp
48
49x () { echo "----- $* -----"; "$@"; }
a75f3424 50wx () { if $real; then x "$@"; else echo "WOULD: $*"; fi; }
28747f70
IJ
51
52x git clean -xdff
53x ./configure
495cc83f
IJ
54x make -j6
55x make check -j6
28747f70
IJ
56x make dist
57rm -rf web
58x make web-install
59
29bad808
IJ
60distdir=adns-$version
61distfile=$distdir.tar.gz
28747f70
IJ
62x test -f $distfile
63
29bad808
IJ
64rm -rf dist_tmp
65mkdir dist_tmp
66cd dist_tmp
67tar axf ../$distfile
68cd $distdir
69git init --quiet
70git fetch --quiet ../.. HEAD
71git add .
72git commit --quiet -m T
73git diff --exit-code FETCH_HEAD
74cd ../..
75
28747f70
IJ
76tag=adns-${version//\~/-}
77webout=docs-$version
78
a75f3424
IJ
79wx gpg --detach-sign $distfile
80wx git tag -s $gpgkey -m "adns release $version" $tag
81wx git push origin $tag~0:master $tag
28747f70
IJ
82
83distfiles="$distfile $distfile.sig"
a75f3424
IJ
84wx rsync -vP $distfiles $chiarkftp/
85
86wx rsync -rvP web/. $chiark/$webout
28747f70 87
a75f3424 88wx sha256sum $distfiles
28747f70 89
a75f3424 90if ! $real; then echo "NOT REAL"; exit 0; fi
28747f70
IJ
91
92cat <<END
93
94TO UPDATE WEB PAGE DOCS:
95 ssh ${chiark%%:*}
96 cd ${chiark#*:}
97 rm -f docs.tmp
98 ln -s $webout docs.tmp
99 mv -Tf docs.tmp docs
100END