2 # This is for the benefit of the upstream maintainers of GNU adns
4 # * Maybe rerun autoconf
5 # * Ensure changelog reflects changes
6 # * Ensure NEWS reflects changes
7 # * Maybe update copyright dates
8 # * Maybe update MAJOR and/or MINOR in common.make.in
9 # * Update DISTVERSION in Makefile.in
10 # * Update ADNS_VERSION_STRING in client/client.h
11 # * Update version in ./changelog
15 # ./RELEASE-CHECKLIST [--real] <version>
17 # * On chiark, maybe, replace ~ian/public-html/adns/current
18 # with symlink to web-$(version)
20 # * On chiark, maybe, replace docs link (as directed by script)
22 # * If not an rc release, put files on ftp.gnu.org
24 # * Send release announcement (use last one as template)
26 # * Update DISTVERSION, ADNS_VERSION_STRING and start new changelog entry
30 fail
() { echo >&2 "$0: $*"; exit 16; }
33 if [ "x$1" = x--real
]; then
37 if [ $# != 1 ]; then fail
"wrong # arguments"; fi
40 version
=`sed -n <Makefile.in 's/^DISTVERSION=[ ]*//p'`
42 if [ "x$version" != "x$wantversion" ]; then
43 fail
"you say version $wantversion but tree is $version"
46 gpgkey
='-u 0x48B50D39'
47 chiark
=chiark
:/u
/ian
/public-html
/adns
50 x
() { echo "----- $* -----"; "$@"; }
51 wx
() { if $real; then x
"$@"; else echo "WOULD: $*"; fi; }
62 distfile
=$distdir.
tar.gz
71 git fetch
--quiet ..
/.. HEAD
73 git commit
--quiet
-m T
74 git
diff --exit-code FETCH_HEAD
77 tag
=adns-
${version//\~/-}
80 wx gpg
--detach-sign
$distfile
81 wx git tag
-s
$gpgkey -m
"adns release $version" $tag
82 wx git push origin
$tag~
0:master
$tag
84 distfiles
="$distfile $distfile.sig"
85 wx rsync
-vP
$distfiles $chiarkftp/
87 wx rsync
-rvP web
/.
$chiark/$webout
89 wx sha256sum
$distfiles
91 if ! $real; then echo "NOT REAL"; exit 0; fi
95 TO UPDATE WEB PAGE DOCS:
99 ln -s $webout docs.tmp