release revision 72e278abc7c73059de68017eceae7d5138ee98c1
9bff67898d55cddfcec9ce30cc2b1bb6211ec691David LawrenceCopyright (C) 2000 Internet Software Consortium.
816e576f77e2c46df3e3d97d65822aa8aded7c4bDavid LawrenceSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson$Id: release,v 1.19 2000/12/11 04:00:36 gson Exp $
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas GustafssonPreparing a bind9 release
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas GustafssonHere's a rough outline of the steps to follow in preparing a new bind9
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafssonrelease.
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson - Update the README file
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
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
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)
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
77527513f94fe78413221a63fd6d383cec32bcafAndreas Gustafsson - Update the lib/*/api files as needed. See the libtool
77527513f94fe78413221a63fd6d383cec32bcafAndreas Gustafsson info file for information about what the various numbers mean.
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson
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
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson - Check that running "make all_tests" in bin/tests does not
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson produce compile errors.
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson - Regenereate the .html files in doc/arm by running genhtml.sh
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson and check them in.
b976f9c60a09f4a098852d0653ad5df6842557a7Andreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson - Verify that the documents in doc/misc are up-to-date
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson
63404af69b0b99b8fa551e92702921f01c3bbfd7Andreas Gustafsson - Update the copyrights. According to tale:
63404af69b0b99b8fa551e92702921f01c3bbfd7Andreas Gustafsson
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
63404af69b0b99b8fa551e92702921f01c3bbfd7Andreas Gustafsson $ make distclean
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson ... [I prefer to check out a fresh source tree --gson]
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson $ perl util/merge_copyrights
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 $ mv util/newcopyrights util/copyrights
63404af69b0b99b8fa551e92702921f01c3bbfd7Andreas Gustafsson $ cvs ci -m'merge_copyrights' util/copyrights
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson $ perl util/update_copyrights < util/copyrights
63404af69b0b99b8fa551e92702921f01c3bbfd7Andreas Gustafsson $ cvs diff
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'
63404af69b0b99b8fa551e92702921f01c3bbfd7Andreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson - Announce a CVS freeze if doing a beta release from the mainline,
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson or stop doing pullups if building from a release branch.
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
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
3d4a70fe38769e42b943717256208b63fec05f32Andreas Gustafsson cd $top_of_mainline_tree
3d4a70fe38769e42b943717256208b63fec05f32Andreas Gustafsson sh util/altbuild.sh v9_0
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
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
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson find lib -name '*.h' -print | xargs perl util/check-includes.pl
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence - Ensure that the JPNIC patch applies cleanly:
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence XXX This is impacted by sanitize.pl
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ patch -p0 < contrib/idn/mdnkit/patch/bind9/patch.most > patch.out 2>&1
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ egrep Hunk patch.out
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
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
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence the build tests.
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ cd contrib/idn/mdnkit
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence [ Sample on netbsd ... ]
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ make
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ cd ../../.. ; : cd back to top level
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ cp configure configure.orig
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ autoconf
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ ./configure
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ make
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence ... should cleanly compile
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ make distclean
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ rm -rf /tmp/mdn
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ mkdir -p /tmp/mdn/{lib,include}
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ mdn=`pwd`/contrib/idn/mdnkit
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ cp $mdn/lib/.libs/libmdn.so /tmp/mdn/lib
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ cp -r $mdn/include/mdn /tmp/mdn/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
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence [ Some tests will be added to bin/tests/system to validate operation. ]
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
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
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson - Add a marker line like " --- 9.0.0b3 released ---"
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson to the CHANGES file.
f5eb48652c7ec98514256b5b6e6fd7cbc22b1916Andreas Gustafsson
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).
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
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,
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson
20df5357b17d31a3adc4d6f7cfdd9d4f1c5addf2Andreas Gustafsson cd <temporary directory>
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson cvs export -r v9_0_0rc6 bind9
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson cd bind9
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson sh configure
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson make kit
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson On the mainline, use the "util/kit.sh" script.
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson
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
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.
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence - Take the resulting distribution files to a secure system
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson and sign them with the ISC signing PGP key:
3d4a70fe38769e42b943717256208b63fec05f32Andreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson pgp -sba bind-9.1.0b1.tar.gz -u 0x51BAB2ED
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
20df5357b17d31a3adc4d6f7cfdd9d4f1c5addf2Andreas Gustafsson - Fix the permissions on the signature file:
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson chmod 644 bind-9.1.0b1.tar.gz.asc
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson - Verify the PGP signature:
c7d445ce7f4db5262ba3412eac7b1ee9d053b93dAndreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson pgp bind-9.1.0b1.tar.gz.asc bind-9.1.0b1.tar.gz
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson - Prepare a release announcement based on the previous one.
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
b976f9c60a09f4a098852d0653ad5df6842557a7Andreas Gustafsson - Copy the distribution and PGP signature files to the FTP site:
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson ver=9.1.0b1
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
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson - Download using FTP (or Netscape) using the URLs in the release
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson announcement and verify the PGP signature again
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson - Increment the version in the file "version"
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson - Resume doing pullups
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson - Announce the release on bind-announce@isc.org
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson