Commit | Line | Data |
---|---|---|
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 | |
48dd4282 | 12 | # ./RELEASE-CHECKLIST <version> |
28747f70 IJ |
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) | |
daf4b02e IJ |
18 | # |
19 | # * Update DISTVERSION, ADNS_VERSION_STRING and start new changelog entry | |
28747f70 IJ |
20 | |
21 | set -e | |
22 | ||
48dd4282 IJ |
23 | fail () { echo >&2 "$0: $*"; exit 16; } |
24 | ||
25 | if [ $# != 1 ]; then fail "wrong # arguments"; fi | |
26 | wantversion="$1" | |
27 | ||
28747f70 IJ |
28 | version=`sed -n <Makefile.in 's/^DISTVERSION=[ ]*//p'` |
29 | ||
48dd4282 IJ |
30 | if [ "x$version" != "x$wantversion" ]; then |
31 | fail "you say version $wantversion but tree is $version" | |
32 | fi | |
33 | ||
28747f70 IJ |
34 | gpgkey='-u 0x48B50D39' |
35 | chiark=chiark:/u/ian/public-html/adns | |
36 | chiarkftp=$chiark/ftp | |
37 | ||
38 | x () { echo "----- $* -----"; "$@"; } | |
39 | ||
40 | x git clean -xdff | |
41 | x ./configure | |
42 | x make -j4 | |
43 | x make check | |
44 | x make dist | |
45 | rm -rf web | |
46 | x make web-install | |
47 | ||
48 | distfile=adns-$version.tar.gz | |
49 | x test -f $distfile | |
50 | ||
51 | tag=adns-${version//\~/-} | |
52 | webout=docs-$version | |
53 | ||
54 | x gpg --detach-sign $distfile | |
55 | x git tag -s $gpgkey -m "adns release $version" $tag | |
56 | x git push origin $tag~0:master $tag | |
57 | ||
58 | distfiles="$distfile $distfile.sig" | |
59 | x rsync -vP $distfiles $chiarkftp/ | |
60 | ||
61 | x rsync -rvP web/. $chiark/$webout | |
62 | ||
63 | x sha256sum $distfiles | |
64 | ||
65 | cat <<END | |
66 | ||
67 | TO UPDATE WEB PAGE DOCS: | |
68 | ssh ${chiark%%:*} | |
69 | cd ${chiark#*:} | |
70 | rm -f docs.tmp | |
71 | ln -s $webout docs.tmp | |
72 | mv -Tf docs.tmp docs | |
73 | END |