chiark
/
gitweb
/
~ianmdlvl
/
adns.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix typo in changelog entry for 1.6.1
[adns.git]
/
RELEASE-CHECKLIST
diff --git
a/RELEASE-CHECKLIST
b/RELEASE-CHECKLIST
index 9001461b4837a8d0ba0835d3f967d74de1c0af51..e38d55c2c1a9316632501e3050c8db6b00e3b8e0 100755
(executable)
--- a/
RELEASE-CHECKLIST
+++ b/
RELEASE-CHECKLIST
@@
-3,53
+3,91
@@
#
# * Maybe rerun autoconf
# * Ensure changelog reflects changes
#
# * Maybe rerun autoconf
# * Ensure changelog reflects changes
-# *
Ensure NEWS reflects chang
es
+# *
Maybe update copyright dat
es
# * Maybe update MAJOR and/or MINOR in common.make.in
# * Update DISTVERSION in Makefile.in
# * Update ADNS_VERSION_STRING in client/client.h
# * Maybe update MAJOR and/or MINOR in common.make.in
# * Update DISTVERSION in Makefile.in
# * Update ADNS_VERSION_STRING in client/client.h
+# * Update version in ./changelog
+# * Commit the result
#
# * Run this script
#
# * Run this script
-# ./RELEASE-CHECKLIST
+# ./RELEASE-CHECKLIST
[--real] <version>
#
# * On chiark, maybe, replace ~ian/public-html/adns/current
#
# * On chiark, maybe, replace ~ian/public-html/adns/current
-# with symlink to web-$(version) (as directed by script)
+# with symlink to web-$(version)
+#
+# * On chiark, maybe, replace docs link (as directed by script)
+#
+# * If not an rc release, put files on ftp.gnu.org
#
# * Send release announcement (use last one as template)
#
# * Send release announcement (use last one as template)
+#
+# * Update DISTVERSION, ADNS_VERSION_STRING and start new changelog entry
set -e
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'`
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 "----- $* -----"; "$@"; }
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 git clean -xdff
x ./configure
-x make -j
4
-x make check
+x make -j
6
+x make check
-j6
x make dist
rm -rf web
x make web-install
x make dist
rm -rf web
x make web-install
-distfile=adns-$version.tar.gz
+distdir=adns-$version
+distfile=$distdir.tar.gz
x test -f $distfile
x test -f $distfile
+rm -rf dist_tmp
+mkdir dist_tmp
+cd dist_tmp
+tar axf ../$distfile
+cd $distdir
+git init --quiet
+git fetch --quiet ../.. HEAD
+git add .
+git commit --quiet -m T
+git diff --exit-code FETCH_HEAD
+cd ../..
+
tag=adns-${version//\~/-}
webout=docs-$version
tag=adns-${version//\~/-}
webout=docs-$version
-x gpg --detach-sign $distfile
-x git tag -s $gpgkey -m "adns release $version" $tag
-x git push origin $tag~0:master $tag
+
w
x gpg --detach-sign $distfile
+
w
x git tag -s $gpgkey -m "adns release $version" $tag
+
w
x git push origin $tag~0:master $tag
distfiles="$distfile $distfile.sig"
distfiles="$distfile $distfile.sig"
-x rsync -vP $distfiles $chiarkftp/
+wx rsync -vP $distfiles $chiarkftp/
+
+wx rsync -rvP web/. $chiark/$webout
-x rsync -rvP web/. $chiark/$webout
+wx sha256sum $distfiles
-x sha256sum $distfiles
+if ! $real; then echo "NOT REAL"; exit 0; fi
cat <<END
cat <<END