0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsCopyright (C) 2000-2007, 2009, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsThis Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsLicense, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrewsfile, You can obtain one at http://mozilla.org/MPL/2.0/.
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
6bf23b0270d0f39afcc1d6c4da25c1473c5fd264Automatic Updater$Id: release,v 1.74 2009/08/06 23:47:44 tbox 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
361a4334ec8ef9d678dcd6c94f96547efedb02bdAndreas Gustafsson the web pages for the new version. If there have been only
361a4334ec8ef9d678dcd6c94f96547efedb02bdAndreas Gustafsson minor changes, send context diffs relative to the previous
361a4334ec8ef9d678dcd6c94f96547efedb02bdAndreas Gustafsson release instead.
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson
aff4e48c82c1de198a627fe7a57fb6f400d6d3c1Andreas Gustafsson - Do a "cvs update" to check that all changes have been committed.
aff4e48c82c1de198a627fe7a57fb6f400d6d3c1Andreas 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
b3651a8e87c12ea0428eeb5cf4b304be5bcd9db0Brian Wellington - If building from a release branch, check that any important
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson bug fixes made on the mainline since the last release have
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson been pulled up. You can do this by comparing the CHANGES
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson files using the util/check-pullups.pl script. For example,
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson running the script from a mainline tree:
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson
bfe7da9c6b20573c2da09ad2e7cac0a54c8cd47bMark Andrews perl util/check-pullups.pl CHANGES ../9.2/CHANGES ../9.2/EXCLUDED
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson This will list all bug fixes on the mainline that are not
c5b14e2676e8832de77bf63b8f58890d13a6c1e2Andreas Gustafsson on the 9.2 release branch.
65dfcdc392b93f9d67684adce8b33a1d8168e67cAndreas Gustafsson
f11c81f4fe26ae9f1ef990257b3b2cac6ab5be12Mark Andrews - Before creating a new release branch, update the lib/*/api files
f11c81f4fe26ae9f1ef990257b3b2cac6ab5be12Mark Andrews as needed. See the libtool info file for information about what
f11c81f4fe26ae9f1ef990257b3b2cac6ab5be12Mark Andrews the various numbers mean.
f11c81f4fe26ae9f1ef990257b3b2cac6ab5be12Mark Andrews
0e780f132d725c59bae021b6c0bcb34b800a9230Mark Andrews cvs rdiff -r <last_release> -r <branch/HEAD> bind9/lib > diff
0e780f132d725c59bae021b6c0bcb34b800a9230Mark Andrews
0e780f132d725c59bae021b6c0bcb34b800a9230Mark Andrews e.g.
0e780f132d725c59bae021b6c0bcb34b800a9230Mark Andrews
0e780f132d725c59bae021b6c0bcb34b800a9230Mark Andrews cvs rdiff -r v9_4_0rc2 -r v9_4 bind9/lib > diff
0e780f132d725c59bae021b6c0bcb34b800a9230Mark Andrews
0e780f132d725c59bae021b6c0bcb34b800a9230Mark Andrews - Check that https://internal.isc.org/bind-build/
0e873a120279dbae16ec3773d7c67d473602b7c6Andreas Gustafsson shows a clean build and test status for all supported
0e873a120279dbae16ec3773d7c67d473602b7c6Andreas Gustafsson systems and that the tests are actually being run on the
0e873a120279dbae16ec3773d7c67d473602b7c6Andreas Gustafsson version being released (the version can be found in the
0e873a120279dbae16ec3773d7c67d473602b7c6Andreas Gustafsson page behind the "Source tar build" link).
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson - Check that running "make all_tests" in bin/tests does not
72e278abc7c73059de68017eceae7d5138ee98c1Andreas Gustafsson produce compile errors.
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson
c5b14e2676e8832de77bf63b8f58890d13a6c1e2Andreas Gustafsson - Regenerate the documentation by running "make man" (mainline/9.2)
d075bd326e34600c036c905eea6c80f565ea951fAndreas Gustafsson or by running genhtml.sh in doc/arm (9.1 release branch)
d075bd326e34600c036c905eea6c80f565ea951fAndreas Gustafsson and commit it. Note that not all machines have the
361a4334ec8ef9d678dcd6c94f96547efedb02bdAndreas Gustafsson necessary XML tools, but at least trebuchet, cuba,
7f800a6b10b0172e36e6fef855f48109717b6a2cAndreas Gustafsson and Scanner's machine do. Commit any files that were
7f800a6b10b0172e36e6fef855f48109717b6a2cAndreas Gustafsson regenerated.
b976f9c60a09f4a098852d0653ad5df6842557a7Andreas Gustafsson
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews Most of this has now been automated, only doc/arm/ARM.pdf will
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews not be committed:
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews ssh tbox@docs.lab.isc.org
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews run this command from crontab.
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews1 1 * * * /usr/bin/lockf -s -t 0 /udir/tbox/bind9-documents/regenerate.lock /udir/tbox/bind9-documents/regenerate
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews Check to see if the ARM has changed since the last release
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews and if it has commit doc/arm/ARM.pdf.
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews e.g.
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews cvs rdiff -r v9_6_1 -r v9_6 bind9/doc/arm
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews cd bind9-documents/bind9.v9_6
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews cvs commit doc/arm/ARM.pdf
9be408c36882c768c1a3554803d8b4dbf44557e4Mark Andrews
a1bb4b0e4f71fb2878050905087d279cfa87b786Andreas Gustafsson - Verify that the documents in doc/misc are up-to-date.
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews - Update the copyrights.
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews ssh tbox@cvs.isc.org
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews run these two command from the crontab
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews#
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews# Merge and Update copyrights
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews#
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews30 23 * * * /usr/bin/lockf -s -t 3600 /udir/tbox/tarballs/build-tarballs.lock /bin/sh /udir/tbox/tarballs/mergecopyrights
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews45 23 * * * /usr/bin/lockf -s -t 3600 /udir/tbox/updatecopyrights/updatecopyrights.lock /bin/sh /udir/tbox/updatecopyrights/updatecopyrights
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews
3f5510b6fd74d8458aa4c8ead297bbfdd70547f0Mark Andrews When tbox@cvs.isc.org is not available:
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
6af37648dd5e0cb407cbef1fed5255dd874e61efAndreas Gustafsson - Announce a CVS freeze if doing an alpha or beta release from
6af37648dd5e0cb407cbef1fed5255dd874e61efAndreas Gustafsson the mainline, or stop doing pullups if building from a release branch.
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson - Run util/altbuild.sh. 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
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson or
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson cd $top_of_9_1_tree
6f6fbed6eb4d755198a452e557eead49f215d54bAndreas Gustafsson sh util/altbuild.sh v9_1
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson
6af37648dd5e0cb407cbef1fed5255dd874e61efAndreas Gustafsson Alteratively, you can do this after building the kit, by giving
6af37648dd5e0cb407cbef1fed5255dd874e61efAndreas Gustafsson the kit .tar.gz file as an argument to altbuild.sh instad of
6af37648dd5e0cb407cbef1fed5255dd874e61efAndreas Gustafsson the CVS tag.
6af37648dd5e0cb407cbef1fed5255dd874e61efAndreas 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
f8b11dc88787139b40c12f4cd797fef7d27e6809Mark Andrews - Ensure that the JPNIC patch applies cleanly (9.2 and 9.3):
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
021a3183ec1db24e2b9627bdd059a121c56ab886Andreas Gustafsson If you don't have the "iconv" library, you need to get it from
021a3183ec1db24e2b9627bdd059a121c56ab886Andreas Gustafsson http://clisp.cons.org/~haible/packages-libiconv.html and install it.
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
3494f301f7d3897a56350010005a5758aad32711Rob Austein If you're reading this part of these instructions in order to generate
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein a version of the patch for a new release, you'll need to pick a
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein version of the patch from some prior release to use as a starting
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein point. In general, the patch corresponding to the most recent
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein prior release will be the best starting point.
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ patch -p0 < contrib/idn/idnkit-1.0-src/patch/bind9/bind-9.x.y-patch \
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein > 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.
1ae59f0202d4dd5f41f978804b092115c6e053eaDavid Lawrence If all succeeded but some were offset or had fuzz, the patch will be
1ae59f0202d4dd5f41f978804b092115c6e053eaDavid Lawrence regenerated at the end of this stage.
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein Note that two of the files which the patch attempts to update
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein (configure and config.h.in) are generated automatically. When
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein generating a new patch, the old version of the patch may not apply
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein correctly to these files, but that's ok so long as the patch does
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein apply correctly to the source files from which these files are
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein generated. The steps below will regenerate these files.
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ cd contrib/idn/idnkit-1.0-src
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence [ Sample on netbsd ... ]
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
f11c81f4fe26ae9f1ef990257b3b2cac6ab5be12Mark Andrews
3494f301f7d3897a56350010005a5758aad32711Rob Austein [ Sample on freebsd -- formerly used giconv, now uses iconv ]
1676408640d8283c9f17eec0b183e1302ea7fd70Mark Andrews ./configure --with-iconv-include=/usr/local/include \
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein '--with-iconv=-L/usr/local/lib -liconv'
f11c81f4fe26ae9f1ef990257b3b2cac6ab5be12Mark Andrews
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ make
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ cd ../../.. ; : cd back to top level
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ autoheader ; : regenerate config.h.in
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ autoconf ; : regenerate configure
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ ./configure
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ make
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence ... should cleanly compile
b5ecd4d276c0daa3371d645aba7840b4d8419310Mark Andrews $ (cd bin/dig ; rm host.1 dig.1 ; make host.1 dig.1 ; cvs update host.1 dig.1 )
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence $ make distclean
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ rm -rf /tmp/idn
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ mkdir -p /tmp/idn/lib /tmp/idn/include
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ idn=contrib/idn/idnkit-1.0-src
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ cp $idn/lib/.libs/libidnkit.so* /tmp/idn/lib
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ cp -r $idn/include/mdn $idn/include/idn /tmp/idn/include
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ ./configure --with-idn=/tmp/idn --with-iconv="-L/usr/local/lib -liconv"
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ LD_LIBRARY_PATH=/usr/local/lib:/tmp/idn/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
1ae59f0202d4dd5f41f978804b092115c6e053eaDavid Lawrence Generate a fresh copy of the diffs:
1ae59f0202d4dd5f41f978804b092115c6e053eaDavid Lawrence
1e730144b4cbb0767510f5f6adef6666bf861bbbMark Andrews $ patchd=$idn/patch/bind9
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ old_patch=bind-9.x.y-patch
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ new_patch=bind-9.x.z-patch
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ files=`awk '/^Index:/ && NF == 2 {print $2}' $patchd/$old_patch`
5d2568aa9d3218e32bcbe795473e6d2d710a4ab6Mark Andrews $ missing=`cvs status $files | awk '/Status: Unknown/ { print $2; }'`
2984f8f7bf213642e47affe710851ff0d6580083Mark Andrews $ sed '/^Index:/,$d' $patchd/$old_patch > $patchd/$new_patch
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ for i in $missing; \
2984f8f7bf213642e47affe710851ff0d6580083Mark Andrews do echo Index: $i; diff -u /dev/null $i; done >> $patchd/$new_patch
2984f8f7bf213642e47affe710851ff0d6580083Mark Andrews $ cvs -f diff -U 2 -N $files >> $patchd/$new_patch
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ cvs add -ko $patchd/$new_patch
818bb50f16abdb79ada224cd910d500d5fd71278Rob Austein $ cvs ci $patchd/$new_patch
2984f8f7bf213642e47affe710851ff0d6580083Mark Andrews
2984f8f7bf213642e47affe710851ff0d6580083Mark Andrews $ cvs update -C
2984f8f7bf213642e47affe710851ff0d6580083Mark Andrews $ rm README.idnkit
070347dafd61757886d03b80628ada12214fec61Mark Andrews $ make distclean
04bdb234571448ed6194e1d4048e6512f2446f1cDavid Lawrence
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson - Add a marker line like " --- 9.0.0rc10 released ---"
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson to the CHANGES file.
f5eb48652c7ec98514256b5b6e6fd7cbc22b1916Andreas Gustafsson
76458ec215a57c6806afdd831b9c9a30b93344b0Andreas Gustafsson - Tag the CVS source tree with the final tag, as in
021a3183ec1db24e2b9627bdd059a121c56ab886Andreas Gustafsson "cvs rtag v9_0_0rc1 bind9" (mainline) or
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson "cvs rtag -r v9_2 v9_2_0rc10 bind9" (release branch).
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson - Build the release kit. This procedure differs
6f6fbed6eb4d755198a452e557eead49f215d54bAndreas Gustafsson between the 9.0 release branch and later versions.
6f6fbed6eb4d755198a452e557eead49f215d54bAndreas Gustafsson On the 9.0 release branch,
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson
20df5357b17d31a3adc4d6f7cfdd9d4f1c5addf2Andreas Gustafsson cd <temporary directory>
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson cvs export -r v9_0_0rc10 bind9
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson cd bind9
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson sh configure
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson make kit
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson
c5b14e2676e8832de77bf63b8f58890d13a6c1e2Andreas Gustafsson On the 9.[1-2] release branch or mainline, use the
021a3183ec1db24e2b9627bdd059a121c56ab886Andreas Gustafsson "util/kit.sh" script.
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson
d5a0b9c15c0a81a982fd7375a195f368c30a47b9Andreas Gustafsson - Build bind9 from the kit on ns-ext (phred)
d5a0b9c15c0a81a982fd7375a195f368c30a47b9Andreas Gustafsson and ns-int (rc), install it, and let it run for
d5a0b9c15c0a81a982fd7375a195f368c30a47b9Andreas Gustafsson a day keeping an eye on it for any problems.
d5a0b9c15c0a81a982fd7375a195f368c30a47b9Andreas Gustafsson
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson ssh phred.isc.org
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson ver=9.2.0
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson scp rc.isc.org:bind-$ver.tar.gz .
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson gunzip <bind-$ver.tar.gz | tar xfv -
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson cd bind-$ver
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson sh configure
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson make
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson su
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson make install
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson ps -elf | grep named
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson # kill both the keep-running script and named itself
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson /var/named/keep-running ns-ext &
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson ssh rc
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson ver=9.2.0
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson gunzip <bind-$ver.tar.gz | tar xfv -
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson cd bind-$ver
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson sh configure
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson make
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson su
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson make install
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson mv /usr/local/sbin/named /usr/local/sbin/named9
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson ps -elf | grep named
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson # kill both keep-running scripts and both named9:s
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson /var/named/keep-running9 rc-res1 &
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson /var/named/keep-running9 ns-int &
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson
d5a0b9c15c0a81a982fd7375a195f368c30a47b9Andreas 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
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson - Sign the distribution files with the ISC signing PGP key
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson and fix the permissions on the signature file:
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson
b1e7bb6aef7f9c559a2b42d8fcc82001d8c83b21Andreas Gustafsson ver=9.2.0
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson pgp -sba bind-$ver.tar.gz -u 0x51BAB2ED
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson chmod 644 bind-$ver.tar.gz.asc
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson
f7aa8ce0b3cf7f5df618a42beecf8d5517c000acAndreas Gustafsson - Verify the PGP signature:
c7d445ce7f4db5262ba3412eac7b1ee9d053b93dAndreas Gustafsson
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson pgp bind-$ver.tar.gz.asc bind-$ver.tar.gz
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson
2357f291c53de433c39ce844d2f0abc0bccfa9fcAndreas Gustafsson (Look for the words "Good signature" in the output.)
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson - If there is a companion binary kit for NT, sign it and verify the
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson signature:
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson scp rc.isc.org:/udir/mayer/BIND$ver.zip .
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson pgp -sba BIND$ver.zip -u 0x51BAB2ED
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson chmod 644 BIND$ver.zip.asc
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson pgp BIND$ver.zip.asc BIND$ver.zip
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas 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
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
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson - If there is a companion binary kit for NT, copy it, too:
c33679b400a69afeeb719addc390a3134f61ecfcAndreas Gustafsson
c33679b400a69afeeb719addc390a3134f61ecfcAndreas Gustafsson ssh -n isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind/contrib/ntbind-$ver"
c33679b400a69afeeb719addc390a3134f61ecfcAndreas Gustafsson scp BIND$ver.zip BIND$ver.zip.asc \
c33679b400a69afeeb719addc390a3134f61ecfcAndreas Gustafsson isrv4.pa.vix.com:/udir/ftp/isc/bind/contrib/ntbind-$ver
c33679b400a69afeeb719addc390a3134f61ecfcAndreas Gustafsson
7736b3327ede0998c44c925b8301de7d61b0f4abAndreas Gustafsson - Download using FTP (or a web browser) using the URLs in the release
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson announcement and verify the PGP signature again
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson - Ask webteam@nominum.com to publish the updated web pages
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson - When the web pages are up, announce the release on
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson bind-announce@isc.org
fdf2eaf21bf4530114049f3c77421a56d585aabcAndreas Gustafsson
682d0209e8a67d53594fb524b5d9ae4141bcc9b2Evan Hunt - Increment the version in the file "version", "configure.in" and
682d0209e8a67d53594fb524b5d9ae4141bcc9b2Evan Hunt "doc/arm/Bv9ARM-book.xml".
2d54cf04fc02db7c369592b6f91bbd1330df3387Andreas Gustafsson
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson - Resume doing pullups
36bc6a0a8312de762caf1e984efe15c8e7170d9dAndreas Gustafsson