Gentoo Archives: gentoo-commits

From: "Tobias Scherbaum (dertobi123)" <dertobi123@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-dns/bind: ChangeLog bind-9.6.0.ebuild
Date: Fri, 26 Dec 2008 22:38:27
Message-Id: E1LGLK5-0000Cv-9A@stork.gentoo.org
1 dertobi123 08/12/26 22:38:25
2
3 Modified: ChangeLog
4 Added: bind-9.6.0.ebuild
5 Log:
6 Version bump
7 (Portage version: 2.2_rc19/cvs/Linux 2.6.25-gentoo-r7 x86_64)
8
9 Revision Changes Path
10 1.216 net-dns/bind/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-dns/bind/ChangeLog?rev=1.216&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-dns/bind/ChangeLog?rev=1.216&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-dns/bind/ChangeLog?r1=1.215&r2=1.216
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v
19 retrieving revision 1.215
20 retrieving revision 1.216
21 diff -u -r1.215 -r1.216
22 --- ChangeLog 26 Dec 2008 22:27:30 -0000 1.215
23 +++ ChangeLog 26 Dec 2008 22:38:25 -0000 1.216
24 @@ -1,6 +1,11 @@
25 # ChangeLog for net-dns/bind
26 # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v 1.215 2008/12/26 22:27:30 dertobi123 Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v 1.216 2008/12/26 22:38:25 dertobi123 Exp $
29 +
30 +*bind-9.6.0 (26 Dec 2008)
31 +
32 + 26 Dec 2008; Tobias Scherbaum <dertobi123@g.o> +bind-9.6.0.ebuild:
33 + Version bump
34
35 *bind-9.5.1 (26 Dec 2008)
36
37
38
39
40 1.1 net-dns/bind/bind-9.6.0.ebuild
41
42 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-dns/bind/bind-9.6.0.ebuild?rev=1.1&view=markup
43 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-dns/bind/bind-9.6.0.ebuild?rev=1.1&content-type=text/plain
44
45 Index: bind-9.6.0.ebuild
46 ===================================================================
47 # Copyright 1999-2008 Gentoo Foundation
48 # Distributed under the terms of the GNU General Public License v2
49 # $Header: /var/cvsroot/gentoo-x86/net-dns/bind/bind-9.6.0.ebuild,v 1.1 2008/12/26 22:38:25 dertobi123 Exp $
50
51 inherit eutils libtool autotools toolchain-funcs flag-o-matic
52
53 SDB_LDAP_VER="1.1.0"
54
55 DESCRIPTION="BIND - Berkeley Internet Name Domain - Name Server"
56 HOMEPAGE="http://www.isc.org/products/BIND/bind9.html"
57 SRC_URI="ftp://ftp.isc.org/isc/bind9/${PV}/${P}.tar.gz
58 sdb-ldap? ( mirror://gentoo/bind-sdb-ldap-${SDB_LDAP_VER}.tar.bz2 )
59 doc? ( mirror://gentoo/dyndns-samples.tbz2 )"
60
61 LICENSE="as-is"
62 SLOT="0"
63 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
64 IUSE="ssl ipv6 doc dlz postgres berkdb mysql odbc ldap selinux idn threads resolvconf urandom sdb-ldap"
65
66 DEPEND="ssl? ( >=dev-libs/openssl-0.9.6g )
67 mysql? ( >=virtual/mysql-4.0 )
68 odbc? ( >=dev-db/unixODBC-2.2.6 )
69 ldap? ( net-nds/openldap )
70 idn? ( net-dns/idnkit )
71 postgres? ( virtual/postgresql-base )
72 threads? ( >=sys-libs/libcap-2.1.0 )"
73
74 RDEPEND="${DEPEND}
75 selinux? ( sec-policy/selinux-bind )
76 resolvconf? ( net-dns/openresolv )"
77
78 pkg_setup() {
79 use threads && {
80 echo
81 ewarn "If you're in vserver enviroment, you're probably want to"
82 ewarn "disable threads support because of linux capabilities dependency"
83 echo
84 }
85
86 ebegin "Creating named group and user"
87 enewgroup named 40
88 enewuser named 40 -1 /etc/bind named
89 eend ${?}
90 }
91
92 src_unpack() {
93 unpack ${A}
94 cd "${S}"
95
96 # Adjusting PATHs in manpages
97 for i in bin/{named/named.8,check/named-checkconf.8,rndc/rndc.8} ; do
98 sed -i \
99 -e 's:/etc/named.conf:/etc/bind/named.conf:g' \
100 -e 's:/etc/rndc.conf:/etc/bind/rndc.conf:g' \
101 -e 's:/etc/rndc.key:/etc/bind/rndc.key:g' \
102 "${i}"
103 done
104
105 use dlz && epatch "${FILESDIR}"/${PN}-9.4.0-dlzbdb-close_cursor.patch
106
107 # bind fails to reconnect to MySQL5 databases, bug #180720, patch by Nicolas Brousse
108 # (http://www.shell-tips.com/2007/09/04/bind-950-patch-dlz-mysql-5-for-auto-reconnect/)
109 use dlz && use mysql && has_version ">=dev-db/mysql-5" && epatch "${FILESDIR}"/bind-dlzmysql5-reconnect.patch
110
111 # should be installed by bind-tools
112 sed -e "s:nsupdate ::g" -i "${S}"/bin/Makefile.in
113
114 # sdb-ldap patch as per bug #160567
115 # Upstream URL: http://bind9-ldap.bayour.com/
116 use sdb-ldap && epatch "${WORKDIR}"/sdb-ldap/${PN}-sdb-ldap-${SDB_LDAP_VER}.patch
117
118 # bug #220361
119 rm "${S}"/aclocal.m4 "${S}"/libtool.m4
120 WANT_AUTOCONF=2.5 AT_NO_RECURSIVE=1 eautoreconf
121
122 # bug #151839
123 sed -e \
124 's:struct isc_socket {:#undef SO_BSDCOMPAT\n\nstruct isc_socket {:' \
125 -i lib/isc/unix/socket.c
126
127 # remove useless c++ checks
128 epunt_cxx
129 }
130
131 src_compile() {
132 local myconf=""
133
134 use ssl && myconf="${myconf} --with-openssl"
135 use idn && myconf="${myconf} --with-idn"
136
137 use dlz && {
138 myconf="${myconf} --with-dlz-filesystem --with-dlz-stub"
139 use postgres && myconf="${myconf} --with-dlz-postgres"
140 use mysql && myconf="${myconf} --with-dlz-mysql"
141 use berkdb && myconf="${myconf} --with-dlz-bdb"
142 use ldap && myconf="${myconf} --with-dlz-ldap"
143 use odbc && myconf="${myconf} --with-dlz-odbc"
144 }
145
146 if use threads; then
147 if use dlz && use mysql; then
148 echo
149 ewarn
150 ewarn "MySQL uses thread local storage in its C api. Thus MySQL"
151 ewarn "requires that each thread of an application execute a MySQL"
152 ewarn "\"thread initialization\" to setup the thread local storage."
153 ewarn "This is impossible to do safely while staying within the DLZ"
154 ewarn "driver API. This is a limitation caused by MySQL, and not"
155 ewarn "the DLZ API."
156 ewarn "Because of this BIND MUST only run with a single thread when"
157 ewarn "using the MySQL driver."
158 ewarn
159 myconf="${myconf} --disable-linux-caps --disable-threads"
160 ewarn "Threading support disabled"
161 epause 10
162 else
163 myconf="${myconf} --enable-linux-caps --enable-threads"
164 einfo "Threading support enabled"
165 fi
166 else
167 myconf="${myconf} --disable-linux-caps --disable-threads"
168 fi
169
170 if use urandom; then
171 myconf="${myconf} --with-randomdev=/dev/urandom"
172 else
173 myconf="${myconf} --with-randomdev=/dev/random"
174 fi
175
176 # bug #227333
177 append-flags -D_GNU_SOURCE
178
179 # bug #158664
180 gcc-specs-ssp && replace-flags -O[23s] -O
181 export BUILD_CC="${CBUILD}-gcc"
182 econf \
183 --sysconfdir=/etc/bind \
184 --localstatedir=/var \
185 --with-libtool \
186 `use_enable ipv6` \
187 ${myconf} || die "econf failed"
188
189 emake -j1 || die "failed to compile bind"
190 }
191
192 src_install() {
193 einstall || die "failed to install bind"
194
195 dodoc CHANGES COPYRIGHT FAQ README
196
197 use doc && {
198 docinto misc
199 dodoc doc/misc/*
200
201 docinto html
202 dohtml doc/arm/*
203
204 docinto draft
205 dodoc doc/draft/*
206
207 docinto rfc
208 dodoc doc/rfc/*
209
210 docinto contrib
211 dodoc contrib/named-bootconf/named-bootconf.sh \
212 contrib/nanny/nanny.pl
213
214 # some handy-dandy dynamic dns examples
215 cd "${D}"/usr/share/doc/${PF}
216 tar pjxf ${DISTFILES}/dyndns-samples.tbz2
217 }
218
219 newenvd "${FILESDIR}"/10bind.env 10bind
220
221 dodir /etc/bind /var/bind/{pri,sec}
222 keepdir /var/bind/sec
223
224 insinto /etc/bind ; newins "${FILESDIR}"/named.conf-r3 named.conf
225
226 # ftp://ftp.rs.internic.net/domain/named.ca:
227 insinto /var/bind ; doins "${FILESDIR}"/named.ca
228
229 insinto /var/bind/pri
230 newins "${FILESDIR}"/127.zone-r1 127.zone
231 newins "${FILESDIR}"/localhost.zone-r3 localhost.zone
232
233 newinitd "${FILESDIR}"/named.init-r5 named
234 newconfd "${FILESDIR}"/named.confd-r2 named
235
236 dosym ../../var/bind/named.ca /var/bind/root.cache
237 dosym ../../var/bind/pri /etc/bind/pri
238 dosym ../../var/bind/sec /etc/bind/sec
239
240 # Let's get rid of those tools and their manpages since they're provided by bind-tools
241 rm -f "${D}"/usr/share/man/man1/{dig.1,host.1,nslookup.1}
242 rm -f "${D}"/usr/share/man/man8/{dnssec-keygen.8,nsupdate.8}
243 rm -f "${D}"/usr/bin/{dig,host,nslookup,dnssec-keygen,nsupdate}
244
245 use resolvconf && {
246 exeinto /etc/resolvconf/update.d
247 newexe "${FILESDIR}"/resolvconf.bind bind
248 }
249 }
250
251 pkg_postinst() {
252 if [ ! -f '/etc/bind/rndc.key' ]; then
253 if [ -c /dev/urandom ]; then
254 einfo "Using /dev/urandom for generating rndc.key"
255 /usr/sbin/rndc-confgen -r /dev/urandom -a -u named
256 echo
257 else
258 einfo "Using /dev/random for generating rndc.key"
259 /usr/sbin/rndc-confgen -a -u named
260 echo
261 fi
262 fi
263
264 install -d -o named -g named "${ROOT}"/var/run/named \
265 "${ROOT}"/var/bind/pri "${ROOT}"/var/bind/sec
266 chown -R named:named "${ROOT}"/var/bind
267
268 elog "The default zone files are now installed as *.zone,"
269 elog "be careful merging config files if you have modified"
270 elog "/var/bind/pri/127 or /var/bind/pri/localhost"
271 elog
272 elog "You can edit /etc/conf.d/named to customize named settings"
273 elog
274 elog "The BIND ebuild now includes chroot support."
275 elog "If you like to run bind in chroot AND this is a new install OR"
276 elog "your bind doesn't already run in chroot, simply run:"
277 elog "\`emerge --config '=${CATEGORY}/${PF}'\`"
278 elog "Before running the above command you might want to change the chroot"
279 elog "dir in /etc/conf.d/named. Otherwise /chroot/dns will be used."
280 elog
281 elog "Recently verisign added a wildcard A record to the .COM and .NET TLD"
282 elog "zones making all .com and .net domains appear to be registered"
283 elog "This causes many problems such as breaking important anti-spam checks"
284 elog "which verify source domains exist. ISC released a patch for BIND which"
285 elog "adds 'delegation-only' zones to allow admins to return the .com and .net"
286 elog "domain resolution to their normal function."
287 elog
288 elog "There is no need to create a com or net data file. Just the"
289 elog "entries to the named.conf file is enough."
290 elog
291 elog " zone "com" IN { type delegation-only; };"
292 elog " zone "net" IN { type delegation-only; };"
293
294 echo
295 ewarn "BIND >=9.2.5 makes the priority argument to MX records mandatory"
296 ewarn "when it was previously optional. If the priority is missing, BIND"
297 ewarn "won't load the zone file at all."
298 echo
299 }
300
301 pkg_config() {
302 CHROOT=`sed -n 's/^[[:blank:]]\?CHROOT="\([^"]\+\)"/\1/p' /etc/conf.d/named 2>/dev/null`
303 EXISTS="no"
304
305 if [ -z "${CHROOT}" -a ! -d "/chroot/dns" ]; then
306 CHROOT="/chroot/dns"
307 elif [ -d ${CHROOT} ]; then
308 eerror; eerror "${CHROOT:-/chroot/dns} already exists. Quitting."; eerror; EXISTS="yes"
309 fi
310
311 if [ ! "$EXISTS" = yes ]; then
312 einfo ; einfon "Setting up the chroot directory..."
313 mkdir -m 700 -p ${CHROOT}
314 mkdir -p ${CHROOT}/{dev,etc,var/run/named}
315 chown -R named:named ${CHROOT}/var/run/named
316 cp -R /etc/bind ${CHROOT}/etc/
317 cp /etc/localtime ${CHROOT}/etc/localtime
318 chown named:named ${CHROOT}/etc/bind/rndc.key
319 cp -R /var/bind ${CHROOT}/var/
320 chown -R named:named ${CHROOT}/var/
321 mknod ${CHROOT}/dev/zero c 1 5
322 mknod ${CHROOT}/dev/random c 1 8
323 chmod 666 ${CHROOT}/dev/{random,zero}
324 chown root:named ${CHROOT}
325 chmod 0750 ${CHROOT}
326
327 grep -q "^#[[:blank:]]\?CHROOT" /etc/conf.d/named ; RETVAL=$?
328 if [ $RETVAL = 0 ]; then
329 sed 's/^# \?\(CHROOT.*\)$/\1/' /etc/conf.d/named > /etc/conf.d/named.orig 2>/dev/null
330 mv --force /etc/conf.d/named.orig /etc/conf.d/named
331 fi
332
333 sleep 1; echo " Done."; sleep 1
334 einfo
335 einfo "Add the following to your root .bashrc or .bash_profile: "
336 einfo " alias rndc='rndc -k ${CHROOT}/etc/bind/rndc.key'"
337 einfo "Then do the following: "
338 einfo " source /root/.bashrc or .bash_profile"
339 einfo
340 fi
341 }