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