release revision 72e278abc7c73059de68017eceae7d5138ee98c1
0N/ACopyright (C) 2000 Internet Software Consortium.
3261N/ASee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
0N/A
0N/A$Id: release,v 1.19 2000/12/11 04:00:36 gson Exp $
0N/A
0N/APreparing a bind9 release
2362N/A
0N/AHere's a rough outline of the steps to follow in preparing a new bind9
2362N/Arelease.
0N/A
0N/A - Update the README file
0N/A
0N/A - Send the new README file to webteam@nominum.com at least 48
0N/A hours prior to the planned release and ask them to prepare
0N/A the web pages for the new version.
0N/A
0N/A - Verify that the file "version" contains the correct version
0N/A number (it should have been incremented after the
0N/A previous release)
0N/A
2362N/A - Update the lib/*/api files as needed. See the libtool
2362N/A info file for information about what the various numbers mean.
2362N/A
0N/A - Check that http://status.isc.org/bind9/bind9.html shows
0N/A a clean build and test status for all supported systems.
0N/A
0N/A - Check that running "make all_tests" in bin/tests does not
0N/A produce compile errors.
0N/A
0N/A - Regenereate the .html files in doc/arm by running genhtml.sh
0N/A and check them in.
0N/A
0N/A - Verify that the documents in doc/misc are up-to-date
0N/A
0N/A - Update the copyrights. According to tale:
0N/A
0N/A Go to the root of the source tree.
0N/A The scripts need to be run from there; they reference the util
0N/A subdirectory internally.
0N/A
0N/A $ make distclean
0N/A ... [I prefer to check out a fresh source tree --gson]
0N/A $ perl util/merge_copyrights
0N/A $ diff util/copyrights util/newcopyrights
0N/A ... examine output, particularly any files with the "?" type, and
0N/A ... then edit util/newcopyrights if necessary
430N/A $ mv util/newcopyrights util/copyrights
0N/A $ cvs ci -m'merge_copyrights' util/copyrights
0N/A $ perl util/update_copyrights < util/copyrights
0N/A $ cvs diff
0N/A ... examine output, edit as necessary. mail me about anything that
0N/A ... the script should have been able to do itself. :-)
0N/A $ cvs ci -m'update_copyrights'
0N/A
0N/A - Announce a CVS freeze if doing a beta release from the mainline,
0N/A or stop doing pullups if building from a release branch.
0N/A
0N/A - Run util/altbuild.sh (from the mainline). This is to make sure that
0N/A builds using libtool, separate source/object directories, and other
0N/A obscure build options work. This script may need some hacking if run
0N/A on anything other than NetBSD. Save the output (it's big) and look
0N/A for error and warning messages.
0N/A
0N/A cd $top_of_mainline_tree
0N/A sh util/altbuild.sh v9_0
0N/A
0N/A - If you can (= your system is similar enough to the one Tale is using),
0N/A check the header files for cruft by running the command
0N/A [ This step is quite imperfect and should probably be skipped
0N/A for now -- Tale ]
430N/A
0N/A find lib -name '*.h' -print | xargs perl util/check-includes.pl
0N/A
0N/A - Ensure that the JPNIC patch applies cleanly:
0N/A
0N/A XXX This is impacted by sanitize.pl
0N/A
0N/A $ patch -p0 < contrib/idn/mdnkit/patch/bind9/patch.most > patch.out 2>&1
0N/A $ egrep Hunk patch.out
0N/A
0N/A All hunks should have applied successfully with no offset or fuzz.
0N/A Check any that did not, and regenerate the patch as appropriate.
0N/A
0N/A the build tests.
0N/A $ cd contrib/idn/mdnkit
0N/A [ Sample on netbsd ... ]
0N/A $ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
0N/A $ make
0N/A $ cd ../../.. ; : cd back to top level
0N/A $ cp configure configure.orig
0N/A $ autoconf
0N/A $ ./configure
0N/A
0N/A $ make
0N/A ... should cleanly compile
0N/A $ make distclean
0N/A $ rm -rf /tmp/mdn
0N/A $ mkdir -p /tmp/mdn/{lib,include}
0N/A $ mdn=`pwd`/contrib/idn/mdnkit
0N/A $ cp $mdn/lib/.libs/libmdn.so /tmp/mdn/lib
0N/A $ cp -r $mdn/include/mdn /tmp/mdn/include
0N/A $ ./configure --with-mdn=/tmp/mdn --with-iconv="-L/usr/local/lib -liconv"
0N/A $ LD_LIBRARY_PATH=/usr/local/lib:/tmp/mdn/lib:/usr/lib make
430N/A ... should cleanly compile
0N/A
0N/A [ Some tests will be added to bin/tests/system to validate operation. ]
0N/A
0N/A Generate a fresh copy of the configure diffs, and append to the patch.
0N/A $ cvs diff -u2 configure >> contrib/idn/mdnkit/patch/bind9/patch.configure
0N/A
0N/A - Add a marker line like " --- 9.0.0b3 released ---"
0N/A to the CHANGES file.
430N/A
0N/A - Tag the CVS source tree with the final tag, as in
0N/A "cvs rtag v9_0_0b3 bind9" (mainline) or
0N/A "cvs rtag -r v9_0 v9_0_0rc1 bind9" (release branch).
0N/A
0N/A - Build the release kit. This procedure differs
0N/A between the 9.0 release branch and the mainline.
0N/A On the release branch,
0N/A
0N/A cd <temporary directory>
0N/A cvs export -r v9_0_0rc6 bind9
0N/A cd bind9
0N/A sh configure
0N/A make kit
0N/A
0N/A On the mainline, use the "util/kit.sh" script.
430N/A
0N/A - Build bind9 from the kit on at least one machine
0N/A and test it. Run it as a caching name server.
0N/A If you can, try resolving some IPv6 addresses and
0N/A doing queries over IPv6.
430N/A
0N/A - If problems are found at this stage, fix them, move the
0N/A release tag up using "rtag -F", and respin the kit.
0N/A
0N/A - Take the resulting distribution files to a secure system
0N/A and sign them with the ISC signing PGP key:
0N/A
0N/A pgp -sba bind-9.1.0b1.tar.gz -u 0x51BAB2ED
0N/A
0N/A - Fix the permissions on the signature file:
0N/A
0N/A chmod 644 bind-9.1.0b1.tar.gz.asc
0N/A
0N/A - Verify the PGP signature:
0N/A
430N/A pgp bind-9.1.0b1.tar.gz.asc bind-9.1.0b1.tar.gz
0N/A
3174N/A - Prepare a release announcement based on the previous one.
3174N/A
3174N/A - Copy the distribution and PGP signature files to the FTP site:
3174N/A
3174N/A ver=9.1.0b1
0N/A ssh -n isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind9/$ver"
0N/A scp bind-$ver.tar.gz bind-$ver.tar.gz.asc \
0N/A isrv4.pa.vix.com:/udir/ftp/isc/bind9/$ver
0N/A
0N/A - Download using FTP (or Netscape) using the URLs in the release
0N/A announcement and verify the PGP signature again
0N/A
0N/A - Increment the version in the file "version"
0N/A
0N/A - Resume doing pullups
0N/A
0N/A - Announce the release on bind-announce@isc.org
0N/A
0N/A