release revision 1d94248a12c2fcce1428c8ffd9ec4864db8a10fd
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsCopyright (C) 2004-2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox UserCopyright (C) 2000-2003 Internet Software Consortium.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater$Id: release,v 1.74 2009/08/06 23:47:44 tbox Exp $
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsPreparing a bind9 release
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsHere's a rough outline of the steps to follow in preparing a new bind9
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsrelease.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Update the README file
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Send the new README file to webteam@nominum.com at least 48
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews hours prior to the planned release and ask them to prepare
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews the web pages for the new version. If there have been only
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User minor changes, send context diffs relative to the previous
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews release instead.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Do a "cvs update" to check that all changes have been committed.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews - Verify that the file "version" contains the correct version
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews number (it should have been incremented after the
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User previous release)
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - If building from a release branch, check that any important
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews bug fixes made on the mainline since the last release have
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews been pulled up. You can do this by comparing the CHANGES
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews files using the util/check-pullups.pl script. For example,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews running the script from a mainline tree:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews perl util/check-pullups.pl CHANGES ../9.2/CHANGES ../9.2/EXCLUDED
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater This will list all bug fixes on the mainline that are not
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews on the 9.2 release branch.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Before creating a new release branch, update the lib/*/api files
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews as needed. See the libtool info file for information about what
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews the various numbers mean.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cvs rdiff -r <last_release> -r <branch/HEAD> bind9/lib > diff
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews e.g.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cvs rdiff -r v9_4_0rc2 -r v9_4 bind9/lib > diff
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Check that https://internal.isc.org/bind-build/
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews shows a clean build and test status for all supported
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews systems and that the tests are actually being run on the
0f52ea95d861c237da324aa0c009638298069ec0Tinderbox User version being released (the version can be found in the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews page behind the "Source tar build" link).
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User - Check that running "make all_tests" in bin/tests does not
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews produce compile errors.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Regenerate the documentation by running "make man" (mainline/9.2)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews or by running genhtml.sh in doc/arm (9.1 release branch)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and commit it. Note that not all machines have the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews necessary XML tools, but at least trebuchet, cuba,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and Scanner's machine do. Commit any files that were
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews regenerated.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Most of this has now been automated, only doc/arm/ARM.pdf will
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User not be committed:
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User ssh tbox@docs.lab.isc.org
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User run this command from crontab.
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews1 1 * * * /usr/bin/lockf -s -t 0 /udir/tbox/bind9-documents/regenerate.lock /udir/tbox/bind9-documents/regenerate
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User Check to see if the ARM has changed since the last release
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User and if it has commit doc/arm/ARM.pdf.
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User e.g.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cvs rdiff -r v9_6_1 -r v9_6 bind9/doc/arm
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cd bind9-documents/bind9.v9_6
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cvs commit doc/arm/ARM.pdf
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Verify that the documents in doc/misc are up-to-date.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Update the copyrights.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ssh tbox@cvs.isc.org
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews run these two command from the crontab
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# Merge and Update copyrights
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews30 23 * * * /usr/bin/lockf -s -t 3600 /udir/tbox/tarballs/build-tarballs.lock /bin/sh /udir/tbox/tarballs/mergecopyrights
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews45 23 * * * /usr/bin/lockf -s -t 3600 /udir/tbox/updatecopyrights/updatecopyrights.lock /bin/sh /udir/tbox/updatecopyrights/updatecopyrights
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews When tbox@cvs.isc.org is not available:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Go to the root of the source tree.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The scripts need to be run from there; they reference the util
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews subdirectory internally.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ make distclean
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ... [I prefer to check out a fresh source tree --gson]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ perl util/merge_copyrights
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ diff util/copyrights util/newcopyrights
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ... examine output, particularly any files with the "?" type, and
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ... then edit util/newcopyrights if necessary
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ mv util/newcopyrights util/copyrights
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ cvs ci -m'merge_copyrights' util/copyrights
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ perl util/update_copyrights < util/copyrights
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ cvs diff
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ... examine output, edit as necessary. mail me about anything that
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ... the script should have been able to do itself. :-)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ cvs ci -m'update_copyrights'
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Announce a CVS freeze if doing an alpha or beta release from
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews the mainline, or stop doing pullups if building from a release branch.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews - Run util/altbuild.sh. This is to make sure that
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews builds using libtool, separate source/object directories, and other
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews obscure build options work. This script may need some hacking if run
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews on anything other than NetBSD. Save the output (it's big) and look
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews for error and warning messages.
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cd $top_of_mainline_tree
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews sh util/altbuild.sh v9_0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews or
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cd $top_of_9_1_tree
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews sh util/altbuild.sh v9_1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User Alteratively, you can do this after building the kit, by giving
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User the kit .tar.gz file as an argument to altbuild.sh instad of
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User the CVS tag.
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User - If you can (= your system is similar enough to the one Tale is using),
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews check the header files for cruft by running the command
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [ This step is quite imperfect and should probably be skipped
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews for now -- Tale ]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews find lib -name '*.h' -print | xargs perl util/check-includes.pl
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews - Ensure that the JPNIC patch applies cleanly (9.2 and 9.3):
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews If you don't have the "iconv" library, you need to get it from
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews http://clisp.cons.org/~haible/packages-libiconv.html and install it.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If you're reading this part of these instructions in order to generate
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews a version of the patch for a new release, you'll need to pick a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews version of the patch from some prior release to use as a starting
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews point. In general, the patch corresponding to the most recent
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews prior release will be the best starting point.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ patch -p0 < contrib/idn/idnkit-1.0-src/patch/bind9/bind-9.x.y-patch \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews > patch.out 2>&1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $ egrep Hunk patch.out
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews All hunks should have applied successfully with no offset or fuzz.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If all succeeded but some were offset or had fuzz, the patch will be
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User regenerated at the end of this stage.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User Note that two of the files which the patch attempts to update
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (configure and config.h.in) are generated automatically. When
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User generating a new patch, the old version of the patch may not apply
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User correctly to these files, but that's ok so long as the patch does
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews apply correctly to the source files from which these files are
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User generated. The steps below will regenerate these files.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ cd contrib/idn/idnkit-1.0-src
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User [ Sample on netbsd ... ]
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User [ Sample on freebsd -- formerly used giconv, now uses iconv ]
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ./configure --with-iconv-include=/usr/local/include \
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User '--with-iconv=-L/usr/local/lib -liconv'
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ make
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ cd ../../.. ; : cd back to top level
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ autoheader ; : regenerate config.h.in
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ autoconf ; : regenerate configure
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ ./configure
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ make
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User ... should cleanly compile
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ (cd bin/dig ; rm host.1 dig.1 ; make host.1 dig.1 ; cvs update host.1 dig.1 )
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ make distclean
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ rm -rf /tmp/idn
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ mkdir -p /tmp/idn/lib /tmp/idn/include
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ idn=contrib/idn/idnkit-1.0-src
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ cp $idn/lib/.libs/libidnkit.so* /tmp/idn/lib
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ cp -r $idn/include/mdn $idn/include/idn /tmp/idn/include
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ ./configure --with-idn=/tmp/idn --with-iconv="-L/usr/local/lib -liconv"
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User $ LD_LIBRARY_PATH=/usr/local/lib:/tmp/idn/lib:/usr/lib make
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User ... should cleanly compile
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User [ Some tests will be added to bin/tests/system to validate operation. ]
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Generate a fresh copy of the diffs:
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ patchd=$idn/patch/bind9
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ old_patch=bind-9.x.y-patch
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ new_patch=bind-9.x.z-patch
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ files=`awk '/^Index:/ && NF == 2 {print $2}' $patchd/$old_patch`
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ missing=`cvs status $files | awk '/Status: Unknown/ { print $2; }'`
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ sed '/^Index:/,$d' $patchd/$old_patch > $patchd/$new_patch
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ for i in $missing; \
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User do echo Index: $i; diff -u /dev/null $i; done >> $patchd/$new_patch
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ cvs -f diff -U 2 -N $files >> $patchd/$new_patch
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ cvs add -ko $patchd/$new_patch
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ cvs ci $patchd/$new_patch
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ cvs update -C
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ rm README.idnkit
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User $ make distclean
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Add a marker line like " --- 9.0.0rc10 released ---"
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User to the CHANGES file.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Tag the CVS source tree with the final tag, as in
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User "cvs rtag v9_0_0rc1 bind9" (mainline) or
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User "cvs rtag -r v9_2 v9_2_0rc10 bind9" (release branch).
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Build the release kit. This procedure differs
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User between the 9.0 release branch and later versions.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User On the 9.0 release branch,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User cd <temporary directory>
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User cvs export -r v9_0_0rc10 bind9
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User cd bind9
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User sh configure
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User make kit
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User On the 9.[1-2] release branch or mainline, use the
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User "util/kit.sh" script.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Build bind9 from the kit on ns-ext (phred)
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User and ns-int (rc), install it, and let it run for
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User a day keeping an eye on it for any problems.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ssh phred.isc.org
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ver=9.2.0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User scp rc.isc.org:bind-$ver.tar.gz .
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User gunzip <bind-$ver.tar.gz | tar xfv -
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User cd bind-$ver
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User sh configure
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User make
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User su
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User make install
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ps -elf | grep named
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User # kill both the keep-running script and named itself
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User /var/named/keep-running ns-ext &
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ssh rc
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ver=9.2.0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User gunzip <bind-$ver.tar.gz | tar xfv -
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User cd bind-$ver
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User sh configure
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User make
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User su
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User make install
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User mv /usr/local/sbin/named /usr/local/sbin/named9
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ps -elf | grep named
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User # kill both keep-running scripts and both named9:s
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User /var/named/keep-running9 rc-res1 &
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User /var/named/keep-running9 ns-int &
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User - If you can, try resolving some IPv6 addresses and
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User doing queries over IPv6.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User - If problems are found at this stage, fix them, move the
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User release tag up using "rtag -F", and respin the kit.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Sign the distribution files with the ISC signing PGP key
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User and fix the permissions on the signature file:
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ver=9.2.0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User pgp -sba bind-$ver.tar.gz -u 0x51BAB2ED
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User chmod 644 bind-$ver.tar.gz.asc
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Verify the PGP signature:
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User pgp bind-$ver.tar.gz.asc bind-$ver.tar.gz
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User (Look for the words "Good signature" in the output.)
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - If there is a companion binary kit for NT, sign it and verify the
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User signature:
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User scp rc.isc.org:/udir/mayer/BIND$ver.zip .
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User pgp -sba BIND$ver.zip -u 0x51BAB2ED
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User chmod 644 BIND$ver.zip.asc
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User pgp BIND$ver.zip.asc BIND$ver.zip
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Prepare a release announcement based on the previous one.
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Copy the distribution and PGP signature files to the FTP site:
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ssh -n isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind9/$ver"
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User scp bind-$ver.tar.gz bind-$ver.tar.gz.asc \
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User isrv4.pa.vix.com:/udir/ftp/isc/bind9/$ver
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - If there is a companion binary kit for NT, copy it, too:
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User ssh -n isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind/contrib/ntbind-$ver"
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User scp BIND$ver.zip BIND$ver.zip.asc \
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User isrv4.pa.vix.com:/udir/ftp/isc/bind/contrib/ntbind-$ver
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Download using FTP (or a web browser) using the URLs in the release
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User announcement and verify the PGP signature again
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Ask webteam@nominum.com to publish the updated web pages
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - When the web pages are up, announce the release on
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User bind-announce@isc.org
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Increment the version in the file "version", "configure.in" and
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User "doc/arm/Bv9ARM-book.xml".
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User - Resume doing pullups
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User