2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-23 02:28:55 +00:00
bind/doc/dev/release

171 lines
5.6 KiB
Plaintext
Raw Normal View History

2000-06-21 23:50:43 +00:00
Copyright (C) 2000 Internet Software Consortium.
2000-08-09 04:37:43 +00:00
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
2000-05-19 20:41:27 +00:00
2000-12-15 00:22:52 +00:00
$Id: release,v 1.20 2000/12/15 00:22:52 gson Exp $
2000-06-22 22:00:42 +00:00
2000-05-19 20:41:27 +00:00
Preparing a bind9 release
Here's a rough outline of the steps to follow in preparing a new bind9
release.
- Update the README file
2000-09-22 17:50:56 +00:00
- Send the new README file to webteam@nominum.com at least 48
hours prior to the planned release and ask them to prepare
the web pages for the new version.
2000-05-23 23:42:07 +00:00
- Verify that the file "version" contains the correct version
2000-05-19 20:41:27 +00:00
number (it should have been incremented after the
previous release)
2000-11-14 18:09:44 +00:00
- Update the lib/*/api files as needed. See the libtool
info file for information about what the various numbers mean.
2000-05-23 23:42:07 +00:00
- Check that http://status.isc.org/bind9/bind9.html shows
2000-05-23 23:42:07 +00:00
a clean build and test status for all supported systems.
2000-12-11 04:00:36 +00:00
- Check that running "make all_tests" in bin/tests does not
produce compile errors.
2000-05-23 23:42:07 +00:00
2000-12-15 00:22:52 +00:00
- Regenerate the .html files in doc/arm by running genhtml.sh
and check them in. Note that not all machines have the
necessary XML tools, but at least trebuchet and Scanner's
machine do.
2000-06-15 17:24:35 +00:00
2000-12-15 00:22:52 +00:00
- Verify that the documents in doc/misc are up-to-date.
2000-09-22 17:50:56 +00:00
- Update the copyrights. According to tale:
Go to the root of the source tree.
The scripts need to be run from there; they reference the util
subdirectory internally.
$ make distclean
... [I prefer to check out a fresh source tree --gson]
$ perl util/merge_copyrights
$ diff util/copyrights util/newcopyrights
... examine output, particularly any files with the "?" type, and
... then edit util/newcopyrights if necessary
$ mv util/newcopyrights util/copyrights
$ cvs ci -m'merge_copyrights' util/copyrights
$ perl util/update_copyrights < util/copyrights
$ cvs diff
... examine output, edit as necessary. mail me about anything that
... the script should have been able to do itself. :-)
$ cvs ci -m'update_copyrights'
2000-12-11 04:00:36 +00:00
- Announce a CVS freeze if doing a beta release from the mainline,
or stop doing pullups if building from a release branch.
2000-05-19 20:41:27 +00:00
2000-09-08 21:27:47 +00:00
- Run util/altbuild.sh (from the mainline). This is to make sure that
builds using libtool, separate source/object directories, and other
2000-09-22 17:50:56 +00:00
obscure build options work. This script may need some hacking if run
on anything other than NetBSD. Save the output (it's big) and look
2000-09-08 21:27:47 +00:00
for error and warning messages.
cd $top_of_mainline_tree
sh util/altbuild.sh v9_0
2000-05-19 20:41:27 +00:00
- If you can (= your system is similar enough to the one Tale is using),
2000-09-22 17:50:56 +00:00
check the header files for cruft by running the command
[ This step is quite imperfect and should probably be skipped
for now -- Tale ]
find lib -name '*.h' -print | xargs perl util/check-includes.pl
- Ensure that the JPNIC patch applies cleanly:
XXX This is impacted by sanitize.pl
$ patch -p0 < contrib/idn/mdnkit/patch/bind9/patch.most > patch.out 2>&1
$ egrep Hunk patch.out
All hunks should have applied successfully with no offset or fuzz.
Check any that did not, and regenerate the patch as appropriate.
the build tests.
$ cd contrib/idn/mdnkit
[ Sample on netbsd ... ]
$ CFLAGS=-I/usr/local/include ./configure '--with-iconv=-L/usr/local/lib -liconv'
$ make
$ cd ../../.. ; : cd back to top level
$ cp configure configure.orig
$ autoconf
$ ./configure
$ make
... should cleanly compile
$ make distclean
$ rm -rf /tmp/mdn
$ mkdir -p /tmp/mdn/{lib,include}
$ mdn=`pwd`/contrib/idn/mdnkit
$ cp $mdn/lib/.libs/libmdn.so /tmp/mdn/lib
$ cp -r $mdn/include/mdn /tmp/mdn/include
$ ./configure --with-mdn=/tmp/mdn --with-iconv="-L/usr/local/lib -liconv"
$ LD_LIBRARY_PATH=/usr/local/lib:/tmp/mdn/lib:/usr/lib make
... should cleanly compile
[ Some tests will be added to bin/tests/system to validate operation. ]
Generate a fresh copy of the configure diffs, and append to the patch.
$ cvs diff -u2 configure >> contrib/idn/mdnkit/patch/bind9/patch.configure
2000-05-23 23:42:07 +00:00
- Add a marker line like " --- 9.0.0b3 released ---"
to the CHANGES file.
2000-05-23 23:42:07 +00:00
- Tag the CVS source tree with the final tag, as in
"cvs rtag v9_0_0b3 bind9" (mainline) or
"cvs rtag -r v9_0 v9_0_0rc1 bind9" (release branch).
2000-05-19 20:41:27 +00:00
2000-09-22 17:50:56 +00:00
- Build the release kit. This procedure differs
between the 9.0 release branch and the mainline.
On the release branch,
2000-08-08 23:37:21 +00:00
cd <temporary directory>
2000-09-22 17:50:56 +00:00
cvs export -r v9_0_0rc6 bind9
cd bind9
sh configure
make kit
2000-09-22 17:50:56 +00:00
On the mainline, use the "util/kit.sh" script.
- Build bind9 from the kit on at least one machine
2000-09-22 17:50:56 +00:00
and test it. Run it as a caching name server.
If you can, try resolving some IPv6 addresses and
doing queries over IPv6.
- If problems are found at this stage, fix them, move the
release tag up using "rtag -F", and respin the kit.
2000-05-19 20:41:27 +00:00
- Take the resulting distribution files to a secure system
2000-05-23 23:42:07 +00:00
and sign them with the ISC signing PGP key:
2000-09-08 21:27:47 +00:00
2000-12-11 04:00:36 +00:00
pgp -sba bind-9.1.0b1.tar.gz -u 0x51BAB2ED
2000-05-19 20:41:27 +00:00
2000-08-08 23:37:21 +00:00
- Fix the permissions on the signature file:
2000-05-19 20:41:27 +00:00
2000-12-11 04:00:36 +00:00
chmod 644 bind-9.1.0b1.tar.gz.asc
- Verify the PGP signature:
2000-07-19 20:34:40 +00:00
2000-12-11 04:00:36 +00:00
pgp bind-9.1.0b1.tar.gz.asc bind-9.1.0b1.tar.gz
2000-05-19 20:41:27 +00:00
2000-09-22 17:50:56 +00:00
- Prepare a release announcement based on the previous one.
2000-05-19 20:41:27 +00:00
2000-06-15 17:24:35 +00:00
- Copy the distribution and PGP signature files to the FTP site:
2000-05-19 20:41:27 +00:00
2000-12-11 04:00:36 +00:00
ver=9.1.0b1
2000-09-22 17:50:56 +00:00
ssh -n isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind9/$ver"
2000-08-08 23:37:21 +00:00
scp bind-$ver.tar.gz bind-$ver.tar.gz.asc \
isrv4.pa.vix.com:/udir/ftp/isc/bind9/$ver
2000-05-19 20:41:27 +00:00
2000-09-22 17:50:56 +00:00
- Download using FTP (or Netscape) using the URLs in the release
announcement and verify the PGP signature again
2000-05-19 20:41:27 +00:00
2000-05-23 23:42:07 +00:00
- Increment the version in the file "version"
2000-05-19 20:41:27 +00:00
2000-09-22 17:50:56 +00:00
- Resume doing pullups
- Announce the release on bind-announce@isc.org
2000-05-19 20:41:27 +00:00