chiark / gitweb /
resolv.conf option parsing: Fix word separation
[adns.git] / RELEASE-CHECKLIST
index af1cbc1571cdcc34f2a6c590fad974f808673a3b..d2fb527b0b1afee757fbe25af90c22cb2e8285ca 100755 (executable)
@@ -9,7 +9,7 @@
 #  * Update ADNS_VERSION_STRING in client/client.h
 #
 #  * Run this script
-#      ./RELEASE-CHECKLIST
+#      ./RELEASE-CHECKLIST [--real] <version>
 #
 #  * On chiark, maybe, replace ~ian/public-html/adns/current
 #    with symlink to web-$(version) (as directed by script)
 
 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
@@ -36,22 +51,37 @@ 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
 
+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
 
-x gpg --detach-sign $distfile
-x git tag -s $gpgkey -m "adns release $version" $tag
-x git push origin $tag~0:master $tag
+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"
-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