X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=RELEASE-CHECKLIST;h=cdd3461a9de1fd5e4e792de25f55d58f2d4b9602;hb=1fe1c762360d2e902469df7c05967aa067972765;hp=574fa1b7ab6589dec174ac3fd65e3191c9b780b0;hpb=48dd4282c59e3d3a16582e63d8190f312f1f3ba7;p=adns.git diff --git a/RELEASE-CHECKLIST b/RELEASE-CHECKLIST index 574fa1b..cdd3461 100755 --- a/RELEASE-CHECKLIST +++ b/RELEASE-CHECKLIST @@ -4,15 +4,22 @@ # * Maybe rerun autoconf # * Ensure changelog reflects changes # * Ensure NEWS reflects changes +# * Maybe update copyright dates # * 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 -# ./RELEASE-CHECKLIST +# ./RELEASE-CHECKLIST [--real] # # * 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) # @@ -22,6 +29,11 @@ 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" @@ -36,31 +48,47 @@ 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 -j6 +x make check -j6 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 <