2 # This is for the benefit of the upstream maintainers of GNU adns
4 # * Maybe rerun autoconf
5 # * Ensure changelog reflects changes
6 # * Maybe update copyright dates
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
10 # * Update version in ./changelog
14 # ./RELEASE-CHECKLIST [--real] <version>
16 # * On chiark, maybe, replace ~ian/public-html/adns/current
17 # with symlink to web-$(version)
19 # * On chiark, maybe, replace docs link (as directed by script)
21 # * If not an rc release, put files on ftp.gnu.org
23 # * Send release announcement (use last one as template)
25 # * Update DISTVERSION, ADNS_VERSION_STRING and start new changelog entry
29 fail () { echo >&2 "$0: $*"; exit 16; }
32 if [ "x$1" = x--real ]; then
36 if [ $# != 1 ]; then fail "wrong # arguments"; fi
39 version=`sed -n <Makefile.in 's/^DISTVERSION=[ ]*//p'`
41 if [ "x$version" != "x$wantversion" ]; then
42 fail "you say version $wantversion but tree is $version"
45 gpgkey='-u 0x48B50D39'
46 chiark=chiark:/u/ian/public-html/adns
49 x () { echo "----- $* -----"; "$@"; }
50 wx () { if $real; then x "$@"; else echo "WOULD: $*"; fi; }
61 distfile=$distdir.tar.gz
70 git fetch --quiet ../.. HEAD
72 git commit --quiet -m T
73 git diff --exit-code FETCH_HEAD
76 tag=adns-${version//\~/-}
79 wx gpg --detach-sign $distfile
80 wx git tag -s $gpgkey -m "adns release $version" $tag
81 wx git push origin $tag~0:master $tag
83 distfiles="$distfile $distfile.sig"
84 wx rsync -vP $distfiles $chiarkftp/
86 wx rsync -rvP web/. $chiark/$webout
88 wx sha256sum $distfiles
90 if ! $real; then echo "NOT REAL"; exit 0; fi
94 TO UPDATE WEB PAGE DOCS:
98 ln -s $webout docs.tmp