release revision 31f15d225d716df580dd3859908ea2449367513c
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark AndrewsCopyright (C) 2000, 2001 Internet Software Consortium.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan HuntSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
bef75d63d74f58abc0f834ed271526672777ba29Automatic Updater$Id: release,v 1.47 2001/10/16 21:56:31 gson Exp $
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox UserPreparing a bind9 release
0f66aced2640d964aeb6db41210711ba0640d7f2Evan HuntHere's a rough outline of the steps to follow in preparing a new bind9
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - Update the README file
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User - Send the new README file to webteam@nominum.com at least 48
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt hours prior to the planned release and ask them to prepare
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User the web pages for the new version. If there have been only
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt minor changes, send context diffs relative to the previous
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt release instead.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - Do a "cvs update" to check that all changes have been committed.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - Verify that the file "version" contains the correct version
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt number (it should have been incremented after the
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt previous release)
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - Update the lib/*/api files as needed. See the libtool
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt info file for information about what the various numbers mean.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - If building from a release branch, check that any important
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt bug fixes made on the mainline since the last release have
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt been pulled up. You can do this by comparing the CHANGES
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt files using the util/check-pullups.pl script. For example,
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt running the script from a mainline tree:
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt perl util/check-pullups.pl CHANGES ../9.2/CHANGES
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User This will list all bug fixes on the mainline that are not
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User on the 9.2 release branch.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User - Check that http://status.isc.org/bind9/bind9.html
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User shows a clean build and test status for all supported
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt systems and that the tests are actually being run on the
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User version being released (the version can be found in the
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User page behind the "Source tar build" link).
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User - Check that running "make all_tests" in bin/tests does not
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt produce compile errors.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User - Regenerate the documentation by running "make man" (mainline/9.2)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User or by running genhtml.sh in doc/arm (9.1 release branch)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User and commit it. Note that not all machines have the
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt necessary XML tools, but at least trebuchet, cuba,
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User and Scanner's machine do.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User - Verify that the documents in doc/misc are up-to-date.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User - Update the copyrights. According to tale:
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User Go to the root of the source tree.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User The scripts need to be run from there; they reference the util
7e71f05d8643aca84914437c900cb716444507e4Tinderbox User subdirectory internally.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $ make distclean
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt ... [I prefer to check out a fresh source tree --gson]
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt ... examine output, particularly any files with the "?" type, and
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt ... then edit util/newcopyrights if necessary
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ cvs ci -m'merge_copyrights' util/copyrights
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $ perl util/update_copyrights < util/copyrights
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt ... examine output, edit as necessary. mail me about anything that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ... the script should have been able to do itself. :-)
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ cvs ci -m'update_copyrights'
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User - Announce a CVS freeze if doing an alpha or beta release from
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the mainline, or stop doing pullups if building from a release branch.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - Run util/altbuild.sh. This is to make sure that
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt builds using libtool, separate source/object directories, and other
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt obscure build options work. This script may need some hacking if run
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt on anything other than NetBSD. Save the output (it's big) and look
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt for error and warning messages.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User cd $top_of_mainline_tree
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User cd $top_of_9_1_tree
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt Alteratively, you can do this after building the kit, by giving
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt the kit .tar.gz file as an argument to altbuild.sh instad of
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt the CVS tag.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - 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
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User for now -- Tale ]
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User find lib -name '*.h' -print | xargs perl util/check-includes.pl
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt - Ensure that the JPNIC patch applies cleanly:
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt If you don't have the "iconv" library, you need to get it from
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User http://clisp.cons.org/~haible/packages-libiconv.html and install it.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ patch -p0 < contrib/idn/mdnkit/patch/bind9/patch.most > patch.out 2>&1
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt All hunks should have applied successfully with no offset or fuzz.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt If all succeeded but some were offset or had fuzz, the patch will be
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt regenerated at the end of this stage.
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt [ Sample on netbsd ... ]
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ cd ../../.. ; : cd back to top level
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ cp configure configure.orig
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt $ ./configure
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt ... should cleanly compile
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ make distclean
0f66aced2640d964aeb6db41210711ba0640d7f2Evan Hunt $ mkdir -p /tmp/mdn/{lib,include}
[ Some tests will be added to bin/tests/system to validate operation. ]
$ patchd=$mdn/patch/bind9
$ awk '/^\+\+\+ / {print $2}' $patchd/patch.most |
diff -u2 $i.orig $i
done > $patchd/patch.most.new
$ cvs diff -u2 configure > $patchd/patch.configure
$ mv $patchd/patch.most.new $patchd
$ cvs ci -ko $patchd/patch.*
"util/kit.sh" script.
pgp -sba bind-9.2.0rc7.tar.gz -u 0x51BAB2ED
chmod 644 bind-9.2.0rc7.tar.gz.asc
pgp -sba BIND$ver.zip -u 0x51BAB2ED
chmod 644 BIND$ver.zip.asc