release revision 1ae59f0202d4dd5f41f978804b092115c6e053ea
f808c858fa61e7769218966759510a8b1190dfcfrafCopyright (C) 2000 Internet Software Consortium.
f808c858fa61e7769218966759510a8b1190dfcfrafSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
f808c858fa61e7769218966759510a8b1190dfcfraf$Id: release,v 1.21 2000/12/21 17:39:17 tale Exp $
f808c858fa61e7769218966759510a8b1190dfcfrafPreparing a bind9 release
f808c858fa61e7769218966759510a8b1190dfcfrafHere's a rough outline of the steps to follow in preparing a new bind9
f808c858fa61e7769218966759510a8b1190dfcfraf - Update the README file
f808c858fa61e7769218966759510a8b1190dfcfraf - Send the new README file to webteam@nominum.com at least 48
f808c858fa61e7769218966759510a8b1190dfcfraf hours prior to the planned release and ask them to prepare
f808c858fa61e7769218966759510a8b1190dfcfraf the web pages for the new version.
f808c858fa61e7769218966759510a8b1190dfcfraf - Verify that the file "version" contains the correct version
f808c858fa61e7769218966759510a8b1190dfcfraf number (it should have been incremented after the
f808c858fa61e7769218966759510a8b1190dfcfraf previous release)
f808c858fa61e7769218966759510a8b1190dfcfraf - Update the lib/*/api files as needed. See the libtool
cd3e933325e68e23516a196a8fea7f49b1e497c3Ali Bahrami info file for information about what the various numbers mean.
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami - Check that http://status.isc.org/bind9/bind9.html shows
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami a clean build and test status for all supported systems.
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami - Check that running "make all_tests" in bin/tests does not
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami produce compile errors.
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami - Regenerate the .html files in doc/arm by running genhtml.sh
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami and check them in. Note that not all machines have the
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami necessary XML tools, but at least trebuchet and Scanner's
bfed486ad8de8b8ebc6345a8e10accae08bf2f45Ali Bahrami - Verify that the documents in doc/misc are up-to-date.
f808c858fa61e7769218966759510a8b1190dfcfraf - Update the copyrights. According to tale:
cd3e933325e68e23516a196a8fea7f49b1e497c3Ali Bahrami Go to the root of the source tree.
cd3e933325e68e23516a196a8fea7f49b1e497c3Ali Bahrami The scripts need to be run from there; they reference the util
cd3e933325e68e23516a196a8fea7f49b1e497c3Ali Bahrami subdirectory internally.
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami $ make distclean
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami ... [I prefer to check out a fresh source tree --gson]
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami ... examine output, particularly any files with the "?" type, and
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami ... then edit util/newcopyrights if necessary
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami $ cvs ci -m'merge_copyrights' util/copyrights
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami ... examine output, edit as necessary. mail me about anything that
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami ... the script should have been able to do itself. :-)
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami $ cvs ci -m'update_copyrights'
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami - Announce a CVS freeze if doing a beta release from the mainline,
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami or stop doing pullups if building from a release branch.
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami - Run util/altbuild.sh (from the mainline). This is to make sure that
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami builds using libtool, separate source/object directories, and other
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami obscure build options work. This script may need some hacking if run
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami on anything other than NetBSD. Save the output (it's big) and look
3ed623140e27064f81020d9d47f9fb17489d1190Ali Bahrami for error and warning messages.
f808c858fa61e7769218966759510a8b1190dfcfraf cd $top_of_mainline_tree
f808c858fa61e7769218966759510a8b1190dfcfraf - If you can (= your system is similar enough to the one Tale is using),
f808c858fa61e7769218966759510a8b1190dfcfraf check the header files for cruft by running the command
f808c858fa61e7769218966759510a8b1190dfcfraf [ This step is quite imperfect and should probably be skipped
f808c858fa61e7769218966759510a8b1190dfcfraf for now -- Tale ]
f808c858fa61e7769218966759510a8b1190dfcfraf find lib -name '*.h' -print | xargs perl util/check-includes.pl
f808c858fa61e7769218966759510a8b1190dfcfraf - Ensure that the JPNIC patch applies cleanly:
f808c858fa61e7769218966759510a8b1190dfcfraf XXX This is impacted by sanitize.pl
f808c858fa61e7769218966759510a8b1190dfcfraf $ patch -p0 < contrib/idn/mdnkit/patch/bind9/patch.most > patch.out 2>&1
f808c858fa61e7769218966759510a8b1190dfcfraf $ egrep Hunk patch.out
f808c858fa61e7769218966759510a8b1190dfcfraf All hunks should have applied successfully with no offset or fuzz.
f808c858fa61e7769218966759510a8b1190dfcfraf If all succeeded but some were offset or had fuzz, the patch will be
f808c858fa61e7769218966759510a8b1190dfcfraf regenerated at the end of this stage.
f808c858fa61e7769218966759510a8b1190dfcfraf [ Sample on netbsd ... ]
f808c858fa61e7769218966759510a8b1190dfcfraf $ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
f808c858fa61e7769218966759510a8b1190dfcfraf $ cd ../../.. ; : cd back to top level
f808c858fa61e7769218966759510a8b1190dfcfraf $ cp configure configure.orig
f808c858fa61e7769218966759510a8b1190dfcfraf $ autoconf
f808c858fa61e7769218966759510a8b1190dfcfraf $ ./configure
f808c858fa61e7769218966759510a8b1190dfcfraf ... should cleanly compile
f808c858fa61e7769218966759510a8b1190dfcfraf $ make distclean
f808c858fa61e7769218966759510a8b1190dfcfraf $ mkdir -p /tmp/mdn/{lib,include}
f808c858fa61e7769218966759510a8b1190dfcfraf $ ./configure --with-mdn=/tmp/mdn --with-iconv="-L/usr/local/lib -liconv"
f808c858fa61e7769218966759510a8b1190dfcfraf $ LD_LIBRARY_PATH=/usr/local/lib:/tmp/mdn/lib:/usr/lib make
f808c858fa61e7769218966759510a8b1190dfcfraf ... should cleanly compile
f808c858fa61e7769218966759510a8b1190dfcfraf [ Some tests will be added to bin/tests/system to validate operation. ]
f808c858fa61e7769218966759510a8b1190dfcfraf Generate a fresh copy of the diffs:
f808c858fa61e7769218966759510a8b1190dfcfraf $ awk '/^\+\+\+ / {print $2}' $patchd/patch.most |
f808c858fa61e7769218966759510a8b1190dfcfraf while read i; do
f808c858fa61e7769218966759510a8b1190dfcfraf diff -u2 $i.orig $i
f808c858fa61e7769218966759510a8b1190dfcfraf $ cvs diff -u2 configure > $patchd/patch.configure
f808c858fa61e7769218966759510a8b1190dfcfraf $ cvs ci -ko $patchd/patch.*
f808c858fa61e7769218966759510a8b1190dfcfraf - Add a marker line like " --- 9.0.0b3 released ---"
f808c858fa61e7769218966759510a8b1190dfcfraf to the CHANGES file.
f808c858fa61e7769218966759510a8b1190dfcfraf - Tag the CVS source tree with the final tag, as in
f808c858fa61e7769218966759510a8b1190dfcfraf "cvs rtag v9_0_0b3 bind9" (mainline) or
cd3e933325e68e23516a196a8fea7f49b1e497c3Ali Bahrami "cvs rtag -r v9_0 v9_0_0rc1 bind9" (release branch).
f808c858fa61e7769218966759510a8b1190dfcfraf - Build the release kit. This procedure differs
f808c858fa61e7769218966759510a8b1190dfcfraf between the 9.0 release branch and the mainline.
f808c858fa61e7769218966759510a8b1190dfcfraf On the release branch,
f808c858fa61e7769218966759510a8b1190dfcfraf cd <temporary directory>
f808c858fa61e7769218966759510a8b1190dfcfraf cvs export -r v9_0_0rc6 bind9
f808c858fa61e7769218966759510a8b1190dfcfraf sh configure
On the mainline, use the "util/kit.sh" script.
pgp -sba bind-9.1.0b1.tar.gz -u 0x51BAB2ED
chmod 644 bind-9.1.0b1.tar.gz.asc