release revision 3d4a70fe38769e42b943717256208b63fec05f32
Copyright (C) 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
$Id: release,v 1.15 2000/09/08 21:27:47 gson Exp $
Preparing a bind9 release
Here's a rough outline of the steps to follow in preparing a new bind9
release.
- Update the README file
- Update doc/misc/options, verify that doc/misc/dnssec is up-to-date
- Verify that the file "version" contains the correct version
number (it should have been incremented after the
previous release)
- If this is a final release (not a beta), update the
lib/*/api files as needed. See the libtool info file
for information about what the various numbers mean.
- Check that http://status.isc.org/bind9/bind9.html shows
a clean build and test status for all supported systems.
- Check that "make all_tests" does not produce compile errors.
- Make sure that the most recent version of the ARM has been
checked in. Look for any obvious broken links in the
.html files. If "fgrep .HTML *.html" produces output,
there is a problem.
- 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
subdirectory internally.
$ make distclean
... [I prefer to check out a fresh source tree --gson]
$ perl util/merge_copyrights
... examine output, particularly any files with the "?" type, and
... then edit util/newcopyrights if necessary
$ cvs ci -m'merge_copyrights' util/copyrights
$ perl util/update_copyrights < util/copyrights
$ cvs diff
... 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 pool freeze on bind-dev
- Run util/altbuild.sh (from the mainline). This is to make sure that
builds using libtool, separate source/object directories, and other
obscure build options work. Save the output (it's big) and look
for error and warning messages.
cd $top_of_mainline_tree
sh util/altbuild.sh v9_0
- On a system like the one Tale is using (:-)), run the command
find lib -name '*.h' -print | xargs perl util/check-includes.pl
- On a system using gcc, do a "make install" and then
util/check-instincludes.sh $prefix
- On selected platforms, do more detailed tests:
Using bind9 as a caching server during web surfing
Resolving IPv6 addresses
Doing queries over IPv6
- Add a marker line like " --- 9.0.0b3 released ---"
to the CHANGES file.
- Tag the CVS source tree with the final tag, as in
"cvs rtag v9_0_0b3 bind9" (mainline) or
"cvs rtag -r v9_0 v9_0_0rc1 bind9" (release branch).
- Build the release kit:
cd <temporary directory>
cvs export -r v9_0_0rc3 bind9
cd bind9
sh configure
make kit
- Build bind9 from the kit on at least one machine
and test it.
- If problems are found at this stage, fix them, move the
release tag up using "rtag -F", and respin the kit.
- Take the resulting distribution files to a secure system
and sign them with the ISC signing PGP key:
pgp -sba bind-9.0.0rc5.tar.gz -u 0x51BAB2ED
- Fix the permissions on the signature file:
chmod 644 bind-9.0.0rc5.tar.gz.asc
- Verify the PGP signature:
- Prepare a release announcement based on the previous one
- Prepare new web site information
- Copy the distribution and PGP signature files to the FTP site:
ver=9.0.0rc5
ssh isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind9/$ver"
scp bind-$ver.tar.gz bind-$ver.tar.gz.asc \
- Download using FTP (or Netscape) and verify the PGP signature again
- Increment the version in the file "version"
- Announce end of CVS pool freeze on bind-dev
- Announce the release