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