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