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