RELEASE-CHECKLIST: wip, as used for 1.5.0~rc0
[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
10#
11# * Run this script
12# ./RELEASE-CHECKLIST
13#
14# * On chiark, maybe, replace ~ian/public-html/adns/current
15# with symlink to web-$(version) (as directed by script)
16#
17# * Send release announcement (use last one as template)
18
19set -e
20
21version=`sed -n <Makefile.in 's/^DISTVERSION=[ ]*//p'`
22
23gpgkey='-u 0x48B50D39'
24chiark=chiark:/u/ian/public-html/adns
25chiarkftp=$chiark/ftp
26
27x () { echo "----- $* -----"; "$@"; }
28
29x git clean -xdff
30x ./configure
31x make -j4
32x make check
33x make dist
34rm -rf web
35x make web-install
36
37distfile=adns-$version.tar.gz
38x test -f $distfile
39
40tag=adns-${version//\~/-}
41webout=docs-$version
42
43x gpg --detach-sign $distfile
44x git tag -s $gpgkey -m "adns release $version" $tag
45x git push origin $tag~0:master $tag
46
47distfiles="$distfile $distfile.sig"
48x rsync -vP $distfiles $chiarkftp/
49
50x rsync -rvP web/. $chiark/$webout
51
52x sha256sum $distfiles
53
54cat <<END
55
56TO UPDATE WEB PAGE DOCS:
57 ssh ${chiark%%:*}
58 cd ${chiark#*:}
59 rm -f docs.tmp
60 ln -s $webout docs.tmp
61 mv -Tf docs.tmp docs
62END