blob: e1f45dd0c5a556e671adcfb45bf4c49bbb9b007a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#!/bin/bash
# This is for the benefit of the upstream maintainers of GNU adns
#
# * Maybe rerun autoconf
# * Ensure changelog reflects changes
# * Ensure NEWS reflects changes
# * Maybe update MAJOR and/or MINOR in common.make.in
# * Update DISTVERSION in Makefile.in
# * Update ADNS_VERSION_STRING in client/client.h
#
# * Run this script
# ./RELEASE-CHECKLIST [--real] <version>
#
# * On chiark, maybe, replace ~ian/public-html/adns/current
# with symlink to web-$(version) (as directed by script)
#
# * Send release announcement (use last one as template)
#
# * Update DISTVERSION, ADNS_VERSION_STRING and start new changelog entry
set -e
fail () { echo >&2 "$0: $*"; exit 16; }
real=false
if [ "x$1" = x--real ]; then
real=true; shift
fi
if [ $# != 1 ]; then fail "wrong # arguments"; fi
wantversion="$1"
version=`sed -n <Makefile.in 's/^DISTVERSION=[ ]*//p'`
if [ "x$version" != "x$wantversion" ]; then
fail "you say version $wantversion but tree is $version"
fi
gpgkey='-u 0x48B50D39'
chiark=chiark:/u/ian/public-html/adns
chiarkftp=$chiark/ftp
x () { echo "----- $* -----"; "$@"; }
wx () { if $real; then x "$@"; else echo "WOULD: $*"; fi; }
x git clean -xdff
x ./configure
x make -j4
x make check
x make dist
rm -rf web
x make web-install
distfile=adns-$version.tar.gz
x test -f $distfile
tag=adns-${version//\~/-}
webout=docs-$version
wx gpg --detach-sign $distfile
wx git tag -s $gpgkey -m "adns release $version" $tag
wx git push origin $tag~0:master $tag
distfiles="$distfile $distfile.sig"
wx rsync -vP $distfiles $chiarkftp/
wx rsync -rvP web/. $chiark/$webout
wx sha256sum $distfiles
if ! $real; then echo "NOT REAL"; exit 0; fi
cat <<END
TO UPDATE WEB PAGE DOCS:
ssh ${chiark%%:*}
cd ${chiark#*:}
rm -f docs.tmp
ln -s $webout docs.tmp
mv -Tf docs.tmp docs
END
|