2004-09-21 19:01:48 +00:00
|
|
|
|
|
|
|
|
2004-09-27 00:25:56 +00:00
|
|
|
FreeBSD maintainer's guide to updating BIND 9
|
|
|
|
=============================================
|
2004-09-21 19:01:48 +00:00
|
|
|
|
2004-09-27 00:25:56 +00:00
|
|
|
1) Obtain the latest source distribution from the ISC's FTP server
|
|
|
|
(ftp://ftp.isc.org/isc/bind9/)
|
2004-09-21 19:01:48 +00:00
|
|
|
|
2005-03-17 08:40:41 +00:00
|
|
|
2) Unpack the tarball in a suitable directory, and cd into the new
|
|
|
|
source directory.
|
2004-09-21 19:01:48 +00:00
|
|
|
|
2004-09-27 00:25:56 +00:00
|
|
|
3) Remove unwanted files and directories:
|
|
|
|
|
|
|
|
$ while read pattern ; do rm -rf $pattern ; done \
|
|
|
|
</usr/src/contrib/bind9/FREEBSD-Xlist
|
|
|
|
|
|
|
|
Make sure that took care of everything, and if it didn't, make sure
|
|
|
|
to update FREEBSD-Xlist so you won't miss it the next time. A good
|
|
|
|
way to do this is to run a test import and see if any new files
|
|
|
|
show up:
|
|
|
|
|
2005-03-17 08:40:41 +00:00
|
|
|
$ cvs -q -n import src/contrib/bind9 ISC x | grep \^N
|
2004-09-27 00:25:56 +00:00
|
|
|
|
|
|
|
4) Import the sources:
|
|
|
|
|
2005-03-17 08:40:41 +00:00
|
|
|
$ cvs import -m "Vendor import of BIND 9.X.Y" \
|
|
|
|
src/contrib/bind9 ISC BIND_9_X_Y
|
2004-09-27 00:25:56 +00:00
|
|
|
|
|
|
|
5) Resolve conflicts.
|
|
|
|
|
2005-12-29 04:41:09 +00:00
|
|
|
As of 28 December 2005, we have no local patches against BIND 9; thus
|
2004-09-27 00:25:56 +00:00
|
|
|
there are no conflicts to merge. This may change at a later date.
|
|
|
|
|
2006-01-14 02:45:49 +00:00
|
|
|
5a) Remove any files that are no longer in the tarball from the vendor branch.
|
|
|
|
|
2004-09-27 00:25:56 +00:00
|
|
|
6) Remove any references to the {bin,lib}/tests and docutil
|
|
|
|
directories from the configure and Makefile templates:
|
|
|
|
|
2005-12-29 04:41:09 +00:00
|
|
|
$ sed -i.orig -e '/\/tests/d; /docutil/d; /\/xsl/d;' \
|
2004-09-27 00:25:56 +00:00
|
|
|
configure.in Makefile.in */Makefile.in
|
|
|
|
|
|
|
|
Please do not commit this change, as it would unnecessarily take
|
|
|
|
files off the vendor branch. You only need this to generate
|
|
|
|
config.h.
|
|
|
|
|
|
|
|
7) Generate and run configure:
|
|
|
|
|
2005-07-25 17:14:00 +00:00
|
|
|
$ aclocal
|
|
|
|
$ autoheader
|
|
|
|
$ autoconf
|
2004-09-27 00:25:56 +00:00
|
|
|
$ ./configure --prefix=/usr \
|
|
|
|
--infodir=/usr/share/info --mandir=/usr/share/man \
|
2005-07-25 17:14:00 +00:00
|
|
|
--disable-threads --enable-libbind --disable-ipv6 \
|
2004-09-27 00:25:56 +00:00
|
|
|
--enable-getifaddrs --disable-linux-caps \
|
|
|
|
--with-openssl=/usr --with-randomdev=/dev/random
|
|
|
|
|
|
|
|
Note that we intentionally disable IPv6 support on the configure
|
|
|
|
command line; src/lib/bind/config.mk will re-enable it at compile
|
2006-03-17 18:54:44 +00:00
|
|
|
time if WITHOUT_INET6 is not defined.
|
2004-09-27 00:25:56 +00:00
|
|
|
|
2005-07-25 17:14:00 +00:00
|
|
|
8) Copy the following generated files to src/lib/bind and commit them:
|
|
|
|
|
|
|
|
Path in src/contrib/bind9 Path in src/lib/bind
|
|
|
|
------------------------------------------------------------
|
|
|
|
config.h config.h
|
|
|
|
lib/bind/config.h bind/config.h
|
|
|
|
lib/bind/port_after.h bind/port_after.h
|
|
|
|
lib/bind/port_before.h bind/port_before.h
|
|
|
|
lib/isc/include/isc/platform.h isc/isc/platform.h
|
|
|
|
lib/lwres/include/lwres/netdb.h lwres/lwres/netdb.h
|
|
|
|
lib/lwres/include/lwres/platform.h lwres/lwres/platform.h
|
|
|
|
|
|
|
|
Do not commit any other file that was modified or created in
|
|
|
|
steps 6) or 7).
|
2004-09-27 00:25:56 +00:00
|
|
|
|
2005-03-17 08:40:41 +00:00
|
|
|
9) cd src/lib/bind/dns && make -DMAINTAINER_MODE generate && rm gen
|
|
|
|
Commit the new versions of the files generated.
|
|
|
|
|
|
|
|
The following directories contain Makefiles for bits and pieces of
|
2004-09-27 00:25:56 +00:00
|
|
|
BIND 9:
|
|
|
|
|
|
|
|
FreeBSD directory ISC directory
|
|
|
|
========================================================
|
|
|
|
src/lib/bind bind9/lib
|
|
|
|
src/lib/bind/bind bind9/lib/bind
|
|
|
|
src/lib/bind/bind9 bind9/lib/bind9
|
|
|
|
src/lib/bind/dns bind9/lib/dns
|
|
|
|
src/lib/bind/isc bind9/lib/isc
|
|
|
|
src/lib/bind/isccc bind9/lib/isccc
|
|
|
|
src/lib/bind/isccfg bind9/lib/isccfg
|
|
|
|
src/lib/bind/lwres bind9/lib/lwres
|
|
|
|
src/share/doc/bind9 bind9/doc/{arm,misc}
|
|
|
|
src/usr.bin/dig bind9/bin/dig
|
|
|
|
src/usr.bin/host bind9/bin/dig
|
|
|
|
src/usr.bin/nslookup bind9/bin/dig
|
|
|
|
src/usr.bin/nsupdate bind9/bin/nsupdate
|
|
|
|
src/usr.sbin/dnssec-keygen bind9/bin/dnssec
|
|
|
|
src/usr.sbin/dnssec-signzone bind9/bin/dnssec
|
|
|
|
src/usr.sbin/named bind9/bin/named
|
|
|
|
src/usr.sbin/named-checkconf bind9/bin/check
|
|
|
|
src/usr.sbin/named-checkzone bind9/bin/check
|
|
|
|
src/usr.sbin/rndc bind9/bin/rndc
|
|
|
|
src/usr.sbin/rndc-confgen bind9/bin/rndc
|
|
|
|
|
|
|
|
Make sure that the lists of sources, headers and man pages in each
|
|
|
|
FreeBSD Makefile accurately reflects those in the corresponding ISC
|
|
|
|
Makefile. Please strive to keep those lists in the same order and
|
|
|
|
with line breaks in the same places to ease future comparisons.
|
|
|
|
|
|
|
|
A) Build and test.
|
|
|
|
|
|
|
|
B) Lather, rinse, repeat.
|
|
|
|
|
|
|
|
C) Commit when everything builds cleanly and works properly.
|
|
|
|
|
|
|
|
-- des@FreeBSD.org
|
2005-03-17 08:40:41 +00:00
|
|
|
-- dougb@FreeBSD.org
|
2004-09-27 00:25:56 +00:00
|
|
|
|
|
|
|
$FreeBSD$
|