Copyright (C) 2000 Internet Software Consortium. See COPYRIGHT in the source root or http://www.isc.org/copyright for terms. $Id: release,v 1.11 2000/07/19 20:34:40 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 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. - 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 $ diff util/copyrights util/newcopyrights ... examine output, particularly any files with the "?" type, and ... then edit util/newcopyrights if necessary $ mv util/newcopyrights util/copyrights $ 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 - Do basic tests on each build system: check out a source tree do a build test it: transfer in transfer out auth query recursive query exit cleanly with no leaks - Do a test build using a separate build directory and libtool - Run 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). - Export the source tree in to a fresh directory by running "cvs export", as in "cvs export -rv9_0_0b3 bind9" - Build the kit: 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.0b3.tar.gz -u 0x51BAB2ED" - Fix the permissions permissions on the signature file: chmod 644 bind-9.0.0b3.tar.gz.asc - Verify the PGP signature: pgp bind-9.0.0b3.tar.gz.asc bind-9.0.0b3.tar.gz - 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: ssh isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind9/9.0.0b4" scp bind-9.0.0b4.tar.gz bind-9.0.0b4.tar.gz.asc \ isrv4.pa.vix.com:/udir/ftp/isc/bind9/9.0.0b4 - 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