summaryrefslogtreecommitdiffstats
path: root/contrib/bind9/FREEBSD-Upgrade
blob: 721404620ab84a3a905eed074a9453d1afb3c17f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99


	    FreeBSD maintainer's guide to updating BIND 9
	    =============================================

1) Obtain the latest source distribution from the ISC's FTP server
   (ftp://ftp.isc.org/isc/bind9/)

2) Unpack the tarball in a suitable directory.

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:

	$ cvs -n import src/contrib/bind9 ISC x | grep \^N

4) Import the sources:

	$ cvs import src/contrib/bind9 ISC BIND_9_X_Y

5) Resolve conflicts.

   As of 2004-09-27, we have no local patches against BIND 9; thus
   there are no conflicts to merge.  This may change at a later date.

6) Remove any references to the {bin,lib}/tests and docutil
   directories from the configure and Makefile templates:

	$ sed -i.orig -e '/\/tests/d; /docutil/d;' \
		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:

	$ autoconf253
	$ autoheader253
	$ ./configure --prefix=/usr \
		--infodir=/usr/share/info --mandir=/usr/share/man \
		--enable-threads --enable-libbind --disable-ipv6 \
		--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
   time if NO_INET6 is not defined.

8) Copy the resulting config.h to src/lib/bind, add an RCS id tag and
   commit it.  Do not commit any other file that was modified or
   created in steps 6) or 7).

9) The following directories contain Makefiles for bits and pieces of
   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

$FreeBSD$
OpenPOWER on IntegriCloud