2N/ACopyright (C) 2000, 2001 Internet Software Consortium.
2N/A$Id: release,v 1.43 2001/09/08 00:18:33 gson Exp $
2N/APreparing a bind9 release
2N/AHere's a rough outline of the steps to follow in preparing a new bind9
2N/A - Update the README file
2N/A - Send the new README file to webteam@nominum.com at least 48
2N/A hours prior to the planned release and ask them to prepare
2N/A the web pages for the new version. If there have been only
2N/A minor changes, send context diffs relative to the previous
2N/A - Do a "cvs update" to check that all changes have been committed.
2N/A - Verify that the file "version" contains the correct version
2N/A number (it should have been incremented after the
2N/A - Update the lib/*/api files as needed. See the libtool
2N/A info file for information about what the various numbers mean.
2N/A - If building from a release branch, check that any important
2N/A bug fixes made on the mainline since the last release have
2N/A been pulled up. You can do this by comparing the CHANGES
2N/A running the script from a mainline tree:
2N/A This will list all bug fixes on the mainline that are not
2N/A on the 9.2 release branch.
2N/A shows a clean build and test status for all supported
2N/A systems and that the tests are actually being run on the
2N/A version being released (the version can be found in the
2N/A page behind the "Source tar build" link).
- Regenerate the documentation by running "make man" (mainline/9.2)
and commit it. Note that not all machines have the
necessary XML tools, but at least trebuchet, cuba,
and Scanner's machine do.
- Verify that the documents in
doc/misc are up-to-date.
- Update the copyrights. According to tale:
Go to the root of the source tree.
The scripts need to be run from there; they reference the util
... [I prefer to check out a fresh source tree --gson]
... examine output, particularly any files with the "?" type, and
... examine output, edit as necessary. mail me about anything that
... the script should have been able to do itself. :-)
$ cvs ci -m'update_copyrights'
- Announce a CVS freeze if doing an alpha or beta release from
the mainline, or stop doing pullups if building from a release branch.
builds using libtool, separate
source/object directories, and other
obscure build options work. This script may need some hacking if run
on anything other than NetBSD. Save the output (it's big) and look
for error and warning messages.
Alteratively, you can do this after building the kit, by giving
- If you can (= your system is similar enough to the one Tale is using),
check the header files for cruft by running the command
[ This step is quite imperfect and should probably be skipped
- Ensure that the JPNIC patch applies cleanly:
If you don't have the "iconv" library, you need to get it from
All hunks should have applied successfully with no offset or fuzz.
If all succeeded but some were offset or had fuzz, the patch will be
regenerated at the end of this stage.
$ cd ../../.. ; : cd back to top level
... should cleanly compile
... should cleanly compile
Generate a fresh copy of the diffs:
- Add a marker line like " --- 9.0.0rc1 released ---"
- Tag the CVS source tree with the final tag, as in
"cvs rtag v9_0_0rc1 bind9" (mainline) or
"cvs rtag -r v9_1 v9_1_1rc7 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,
cvs export -r v9_0_0rc7 bind9
On the 9.[1-2] release branch or mainline, use the
- Build bind9 from the kit on at least one machine
and test it. Run it as a caching name server.
If you can, try resolving some IPv6 addresses and
- 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:
- Verify the PGP signature:
(Look for the words "Good signature" in the output.)
- Prepare a release announcement based on the previous one.
- Copy the distribution and PGP signature files to the FTP site:
- Download using FTP (or Netscape) using the URLs in the release
announcement and verify the PGP signature again
- Increment the version in the file "version"
- Announce the release on bind-announce@isc.org