release revision 08bed4d70afbae446384fef4c92f005fb2103cee
1633838b8255282d10af15c5c84cee5a51466712Bob HalleyCopyright (C) 2000, 2001 Internet Software Consortium.
a7038d1a0513c8e804937ebc95fc9cb3a46c04f5Mark AndrewsSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence
1633838b8255282d10af15c5c84cee5a51466712Bob Halley$Id: release,v 1.45 2001/10/02 17:20:43 gson Exp $
1633838b8255282d10af15c5c84cee5a51466712Bob Halley
1633838b8255282d10af15c5c84cee5a51466712Bob HalleyPreparing a bind9 release
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence
15a44745412679c30a6d022733925af70a38b715David LawrenceHere's a rough outline of the steps to follow in preparing a new bind9
15a44745412679c30a6d022733925af70a38b715David Lawrencerelease.
15a44745412679c30a6d022733925af70a38b715David Lawrence
15a44745412679c30a6d022733925af70a38b715David Lawrence - Update the README file
15a44745412679c30a6d022733925af70a38b715David Lawrence
15a44745412679c30a6d022733925af70a38b715David Lawrence - Send the new README file to webteam@nominum.com at least 48
15a44745412679c30a6d022733925af70a38b715David Lawrence hours prior to the planned release and ask them to prepare
15a44745412679c30a6d022733925af70a38b715David Lawrence the web pages for the new version. If there have been only
1633838b8255282d10af15c5c84cee5a51466712Bob Halley minor changes, send context diffs relative to the previous
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley release instead.
93d6dfaf66258337985427c86181f01fc51f0bb4Mark Andrews
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence - Do a "cvs update" to check that all changes have been committed.
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley - Verify that the file "version" contains the correct version
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley number (it should have been incremented after the
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley previous release)
e4e071ae12aee942fefc2c0a3280e402938669deBob Halley
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley - Update the lib/*/api files as needed. See the libtool
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley info file for information about what the various numbers mean.
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence - If building from a release branch, check that any important
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence bug fixes made on the mainline since the last release have
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence been pulled up. You can do this by comparing the CHANGES
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence files using the util/check-pullups.pl script. For example,
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence running the script from a mainline tree:
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence perl util/check-pullups.pl CHANGES ../9.2/CHANGES
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley This will list all bug fixes on the mainline that are not
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley on the 9.2 release branch.
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington - Check that http://status.isc.org/bind9/bind9.html
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington shows a clean build and test status for all supported
b6309ed962c4988a314d61742c4fbc4935467d68Mark Andrews systems and that the tests are actually being run on the
b6309ed962c4988a314d61742c4fbc4935467d68Mark Andrews version being released (the version can be found in the
b6309ed962c4988a314d61742c4fbc4935467d68Mark Andrews page behind the "Source tar build" link).
b6309ed962c4988a314d61742c4fbc4935467d68Mark Andrews
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington - Check that running "make all_tests" in bin/tests does not
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington produce compile errors.
b6309ed962c4988a314d61742c4fbc4935467d68Mark Andrews
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington - Regenerate the documentation by running "make man" (mainline/9.2)
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington or by running genhtml.sh in doc/arm (9.1 release branch)
bcff3198111e329e89cde7dac9d432b002477d80Mark Andrews and commit it. Note that not all machines have the
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington necessary XML tools, but at least trebuchet, cuba,
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington and Scanner's machine do.
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington - Verify that the documents in doc/misc are up-to-date.
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington - Update the copyrights. According to tale:
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley Go to the root of the source tree.
84cb41f729e2a8526300dd7a6cffaa66da5cf6cdMark Andrews The scripts need to be run from there; they reference the util
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington subdirectory internally.
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ make distclean
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington ... [I prefer to check out a fresh source tree --gson]
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ perl util/merge_copyrights
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ diff util/copyrights util/newcopyrights
618e871c2eb80021673bedf083496ccd1bf65cd0Brian Wellington ... examine output, particularly any files with the "?" type, and
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington ... then edit util/newcopyrights if necessary
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ mv util/newcopyrights util/copyrights
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ cvs ci -m'merge_copyrights' util/copyrights
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ perl util/update_copyrights < util/copyrights
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ cvs diff
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington ... examine output, edit as necessary. mail me about anything that
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington ... the script should have been able to do itself. :-)
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington $ cvs ci -m'update_copyrights'
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington - Announce a CVS freeze if doing an alpha or beta release from
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley the mainline, or stop doing pullups if building from a release branch.
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
b55c30f2de6e1baaa3a9ba69b92f428f2c255ac3Mark Andrews - Run util/altbuild.sh. This is to make sure that
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley builds using libtool, separate source/object directories, and other
308c7ad5f68301d19f023af616f62f3e7cbce632Andreas Gustafsson obscure build options work. This script may need some hacking if run
04b8111f2137a9cf9b0b71228f76b3e40ffa1173Brian Wellington on anything other than NetBSD. Save the output (it's big) and look
04b8111f2137a9cf9b0b71228f76b3e40ffa1173Brian Wellington for error and warning messages.
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington cd $top_of_mainline_tree
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington sh util/altbuild.sh v9_0
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington or
8224be5129daebea8f0f5e8be5f925679ec893f1Brian Wellington
8224be5129daebea8f0f5e8be5f925679ec893f1Brian Wellington cd $top_of_9_1_tree
a413f94248ceed48a6b7aaa2fa1d2401fb8b9f30Brian Wellington sh util/altbuild.sh v9_1
d14b749789121d9d502fa1348e9e73270e9b039fBob Halley
63d1ef9e771b748ca9bf241dfc1f07d3730203faBob Halley Alteratively, you can do this after building the kit, by giving
659175b7d430afe13b439e499442a964e2c9110fMark Andrews the kit .tar.gz file as an argument to altbuild.sh instad of
cd02757774252fe5b92dbd59a24b34721fb49ff4Bob Halley the CVS tag.
cd02757774252fe5b92dbd59a24b34721fb49ff4Bob Halley
7b4dcbb89b71b17f5c16ca19a0e705e09509f063Bob Halley - If you can (= your system is similar enough to the one Tale is using),
73af6575e00f8cf4942abce177f435797b9cfe41Brian Wellington check the header files for cruft by running the command
322b0fb39dd1538c9f5021cd2f54d4c12684ecdbBrian Wellington [ This step is quite imperfect and should probably be skipped
3864eb0e9a73148ac744893b5367169761184db5Mark Andrews for now -- Tale ]
f53e43c37f2c978ccec0b49ed829426b213f9933Bob Halley
afbc02482008c58af2c98000209165f6880835f7Mark Andrews find lib -name '*.h' -print | xargs perl util/check-includes.pl
e1f16346db02486f751c6db683fffe53c866c186Andreas Gustafsson
93d6dfaf66258337985427c86181f01fc51f0bb4Mark Andrews - Ensure that the JPNIC patch applies cleanly:
2ee24549b3dddd4046ee14257e1207cf2e34f29cBrian Wellington
9ac7076ebad044afb15e9e2687e3696868778538Mark Andrews If you don't have the "iconv" library, you need to get it from
6850cdd4497424c9d42ade487edfde9fb9a47de9Brian Wellington http://clisp.cons.org/~haible/packages-libiconv.html and install it.
20a313a4581e7f85fb2ce37430a146b3538da841Mark Andrews
20a313a4581e7f85fb2ce37430a146b3538da841Mark Andrews $ sh util/sanitize_all.sh
b20ee662a7c847c9ef7b96ab9e5e34543efe5c0dMark Andrews $ patch -p0 < contrib/idn/mdnkit/patch/bind9/patch.most > patch.out 2>&1
b55c30f2de6e1baaa3a9ba69b92f428f2c255ac3Mark Andrews $ egrep Hunk patch.out
e21d199dca95aff5d50f133d6b064309e209af00Brian Wellington
6a56be50dd11702cb65347a57894ffd96a7e3501Andreas Gustafsson All hunks should have applied successfully with no offset or fuzz.
1275a72e8db349ce249c84804b2b4861d33d4db7Brian Wellington If all succeeded but some were offset or had fuzz, the patch will be
15af30dfc1c54a02d252dcf4c6f3b8759eaf0327Bob Halley regenerated at the end of this stage.
15af30dfc1c54a02d252dcf4c6f3b8759eaf0327Bob Halley
58cbc05eb0b80510182496ad905cd407f3624dbeBrian Wellington $ cd contrib/idn/mdnkit
a93cf7e83be621d3d68f51e37121a47a70a6757bMark Andrews [ Sample on netbsd ... ]
9ac7076ebad044afb15e9e2687e3696868778538Mark Andrews $ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
5ea0d11ca45bfd1ea9db8db07f18fbb02f500661Brian Wellington $ make
a9ef4854464fcc56d95f72331b6e09e9563bb5f3Andreas Gustafsson $ cd ../../.. ; : cd back to top level
2c64908ae0d5b5a1cfead295d7526e7be550d3d3Mark Andrews $ cp configure configure.orig
01446841be2b73f9a2ead74056df2d5342414041Andreas Gustafsson $ autoconf
ff1b064f5e2bf19c8e25f8927d23df5714e666edMark Andrews $ ./configure
b6279d0b4b19f041b29775e637074e09f38e5e11Brian Wellington
231ffa6c85cd04d5d83f80643e26fdc3ff510138Brian Wellington $ make
4b171ebd702d72200a4d7609f11c5f79d6b6f964Brian Wellington ... should cleanly compile
0b09763c354ec91fb352b6b4cea383bd0195b2d8Mark Andrews $ make distclean
4d9f3f00d93fcb8743b1105e8cf82e862be220d1Mark Andrews $ rm -rf /tmp/mdn
5bd76af084edfdcd1cb4db9453ac781d32dde6f7Mark Andrews $ mkdir -p /tmp/mdn/{lib,include}
5bd76af084edfdcd1cb4db9453ac781d32dde6f7Mark Andrews $ mdn=`pwd`/contrib/idn/mdnkit
5bd76af084edfdcd1cb4db9453ac781d32dde6f7Mark Andrews $ cp $mdn/lib/.libs/libmdn.so /tmp/mdn/lib
5bd76af084edfdcd1cb4db9453ac781d32dde6f7Mark Andrews $ cp -r $mdn/include/mdn /tmp/mdn/include
5bd76af084edfdcd1cb4db9453ac781d32dde6f7Mark Andrews $ ./configure --with-mdn=/tmp/mdn --with-iconv="-L/usr/local/lib -liconv"
c86eed4bdecad9df12f992f9d743dfee3a6c5bdcMark Andrews $ LD_LIBRARY_PATH=/usr/local/lib:/tmp/mdn/lib:/usr/lib make
421e4cf66e4cba0b0751a34a9c027e39fe0474f9Mark Andrews ... should cleanly compile
8b5de9701428e2b5eb50aba96af23dc1186124ddMark Andrews
182a34004c7c48e2c1626f3ce7e787f413955126Mark Andrews [ Some tests will be added to bin/tests/system to validate operation. ]
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
182a34004c7c48e2c1626f3ce7e787f413955126Mark Andrews Generate a fresh copy of the diffs:
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley $ patchd=$mdn/patch/bind9
894a2f61c9e3e51463bf21957c003d7c5636bdc5David Lawrence $ awk '/^\+\+\+ / {print $2}' $patchd/patch.most |
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley while read i; do
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley diff -u2 $i.orig $i
894a2f61c9e3e51463bf21957c003d7c5636bdc5David Lawrence done > $patchd/patch.most.new
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley $ cvs diff -u2 configure > $patchd/patch.configure
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley $ mv $patchd/patch.most.new $patchd
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley $ cvs ci -ko $patchd/patch.*
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley - Add a marker line like " --- 9.0.0rc1 released ---"
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley to the CHANGES file.
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley - Tag the CVS source tree with the final tag, as in
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley "cvs rtag v9_0_0rc1 bind9" (mainline) or
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley "cvs rtag -r v9_1 v9_1_1rc7 bind9" (release branch).
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley - Build the release kit. This procedure differs
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley between the 9.0 release branch and later versions.
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley On the 9.0 release branch,
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington cd <temporary directory>
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley cvs export -r v9_0_0rc7 bind9
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley cd bind9
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley sh configure
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence make kit
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence
6d12fdf96621801e80f3f4c2a8a569fe48766a20David Lawrence On the 9.[1-2] release branch or mainline, use the
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence "util/kit.sh" script.
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence - Build bind9 from the kit on at least one machine
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence and test it. Run it as a caching name server.
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence If you can, try resolving some IPv6 addresses and
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence doing queries over IPv6.
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrence
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley - If problems are found at this stage, fix them, move the
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley release tag up using "rtag -F", and respin the kit.
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley - Sign the distribution files with the ISC signing PGP key
and fix the permissions on the signature file:
pgp -sba bind-9.2.0rc2.tar.gz -u 0x51BAB2ED
chmod 644 bind-9.2.0rc2.tar.gz.asc
- Verify the PGP signature:
pgp bind-9.2.0rc2.tar.gz.asc bind-9.2.0rc2.tar.gz
(Look for the words "Good signature" in the output.)
- Prepare a release announcement based on the previous one.
- Copy the distribution and PGP signature files to the FTP site:
ver=9.2.0rc2
ssh -n isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind9/$ver"
scp bind-$ver.tar.gz bind-$ver.tar.gz.asc \
isrv4.pa.vix.com:/udir/ftp/isc/bind9/$ver
- Download using FTP (or Netscape) using the URLs in the release
announcement and verify the PGP signature again
- Increment the version in the file "version"
- Resume doing pullups
- Announce the release on bind-announce@isc.org