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