Gentoo Archives: gentoo-commits

From: "Christian Ruppert (idl0r)" <idl0r@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-dns/bind: bind-9.10.1.ebuild ChangeLog metadata.xml
Date: Tue, 30 Sep 2014 18:43:59
Message-Id: 20140930184354.DD3DE69AC@oystercatcher.gentoo.org
1 idl0r 14/09/30 18:43:54
2
3 Modified: ChangeLog metadata.xml
4 Added: bind-9.10.1.ebuild
5 Log:
6 Version bump, also fixes bug 523470
7
8 (Portage version: 2.2.14_rc1/cvs/Linux x86_64, signed Manifest commit with key B427ABC8)
9
10 Revision Changes Path
11 1.507 net-dns/bind/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/ChangeLog?rev=1.507&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/ChangeLog?rev=1.507&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/ChangeLog?r1=1.506&r2=1.507
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v
20 retrieving revision 1.506
21 retrieving revision 1.507
22 diff -u -r1.506 -r1.507
23 --- ChangeLog 10 Sep 2014 20:09:58 -0000 1.506
24 +++ ChangeLog 30 Sep 2014 18:43:54 -0000 1.507
25 @@ -1,6 +1,12 @@
26 # ChangeLog for net-dns/bind
27 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v 1.506 2014/09/10 20:09:58 idl0r Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v 1.507 2014/09/30 18:43:54 idl0r Exp $
30 +
31 +*bind-9.10.1 (30 Sep 2014)
32 +
33 + 30 Sep 2014; Christian Ruppert <idl0r@g.o> +bind-9.10.1.ebuild,
34 + metadata.xml:
35 + Version bump, also fixes bug 523470
36
37 10 Sep 2014; Christian Ruppert <idl0r@g.o> bind-9.10.0_p2.ebuild:
38 The MySQL reconnect patch is no longer required, thanks to BtbN via IRC
39
40
41
42 1.21 net-dns/bind/metadata.xml
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/metadata.xml?rev=1.21&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/metadata.xml?rev=1.21&content-type=text/plain
46 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/metadata.xml?r1=1.20&r2=1.21
47
48 Index: metadata.xml
49 ===================================================================
50 RCS file: /var/cvsroot/gentoo-x86/net-dns/bind/metadata.xml,v
51 retrieving revision 1.20
52 retrieving revision 1.21
53 diff -u -r1.20 -r1.21
54 --- metadata.xml 15 Aug 2014 12:05:02 -0000 1.20
55 +++ metadata.xml 30 Sep 2014 18:43:54 -0000 1.21
56 @@ -15,6 +15,7 @@
57 <flag name="nslint">Build and install the nslint util</flag>
58 <flag name="rpz">Enable response policy rewriting (rpz)</flag>
59 <flag name="rrl">Response Rate Limiting (RRL) - Experimental</flag>
60 + <flag name="seccomp">Enable use of <pkg>sys-libs/libseccomp</pkg> for system call filtering</flag>
61 <flag name="sdb-ldap">Enables ldap-sdb backend</flag>
62 <flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
63 </use>
64
65
66
67 1.1 net-dns/bind/bind-9.10.1.ebuild
68
69 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/bind-9.10.1.ebuild?rev=1.1&view=markup
70 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/bind/bind-9.10.1.ebuild?rev=1.1&content-type=text/plain
71
72 Index: bind-9.10.1.ebuild
73 ===================================================================
74 # Copyright 1999-2014 Gentoo Foundation
75 # Distributed under the terms of the GNU General Public License v2
76 # $Header: /var/cvsroot/gentoo-x86/net-dns/bind/bind-9.10.1.ebuild,v 1.1 2014/09/30 18:43:54 idl0r Exp $
77
78 # Re dlz/mysql and threads, needs to be verified..
79 # MySQL uses thread local storage in its C api. Thus MySQL
80 # requires that each thread of an application execute a MySQL
81 # thread initialization to setup the thread local storage.
82 # This is impossible to do safely while staying within the DLZ
83 # driver API. This is a limitation caused by MySQL, and not the DLZ API.
84 # Because of this BIND MUST only run with a single thread when
85 # using the MySQL driver.
86
87 EAPI="5"
88
89 PYTHON_COMPAT=( python2_7 python3_2 python3_3 )
90
91 inherit python-r1 eutils autotools toolchain-funcs flag-o-matic multilib db-use user systemd
92
93 MY_PV="${PV/_p/-P}"
94 MY_PV="${MY_PV/_rc/rc}"
95 MY_P="${PN}-${MY_PV}"
96
97 SDB_LDAP_VER="1.1.0-fc14"
98
99 RRL_PV="${MY_PV}"
100
101 NSLINT_DIR="contrib/nslint-3.0a2/"
102
103 # SDB-LDAP: http://bind9-ldap.bayour.com/
104
105 DESCRIPTION="BIND - Berkeley Internet Name Domain - Name Server"
106 HOMEPAGE="http://www.isc.org/software/bind"
107 SRC_URI="ftp://ftp.isc.org/isc/bind9/${MY_PV}/${MY_P}.tar.gz
108 doc? ( mirror://gentoo/dyndns-samples.tbz2 )"
109 # sdb-ldap? (
110 # http://ftp.disconnected-by-peer.at/pub/bind-sdb-ldap-${SDB_LDAP_VER}.patch.bz2
111 # )"
112
113 LICENSE="GPL-2 ISC BSD BSD-2 HPND JNIC openssl"
114 SLOT="0"
115 KEYWORDS="~amd64 ~arm ~mips ~s390 ~sh ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
116 IUSE="berkdb caps dlz doc filter-aaaa fixed-rrset geoip gost gssapi idn ipv6
117 ldap mysql nslint odbc postgres python rpz seccomp selinux ssl static-libs
118 +threads urandom xml"
119 # sdb-ldap - patch broken
120 # no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
121
122 REQUIRED_USE="postgres? ( dlz )
123 berkdb? ( dlz )
124 mysql? ( dlz !threads )
125 odbc? ( dlz )
126 ldap? ( dlz )
127 gost? ( ssl )
128 threads? ( caps )"
129 # sdb-ldap? ( dlz )
130
131 DEPEND="ssl? ( dev-libs/openssl:0[-bindist] )
132 mysql? ( >=virtual/mysql-4.0 )
133 odbc? ( >=dev-db/unixODBC-2.2.6 )
134 ldap? ( net-nds/openldap )
135 idn? ( net-dns/idnkit )
136 postgres? ( dev-db/postgresql-base )
137 caps? ( >=sys-libs/libcap-2.1.0 )
138 xml? ( dev-libs/libxml2 )
139 geoip? ( >=dev-libs/geoip-1.4.6 )
140 gssapi? ( virtual/krb5 )
141 gost? ( >=dev-libs/openssl-1.0.0:0[-bindist] )
142 seccomp? ( sys-libs/libseccomp )"
143 # sdb-ldap? ( net-nds/openldap )
144
145 RDEPEND="${DEPEND}
146 selinux? ( sec-policy/selinux-bind )
147 || ( sys-process/psmisc >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd )"
148
149 S="${WORKDIR}/${MY_P}"
150
151 # bug 479092, requires networking
152 RESTRICT="test"
153
154 pkg_setup() {
155 ebegin "Creating named group and user"
156 enewgroup named 40
157 enewuser named 40 -1 /etc/bind named
158 eend ${?}
159 }
160
161 src_prepare() {
162 # Adjusting PATHs in manpages
163 for i in bin/{named/named.8,check/named-checkconf.8,rndc/rndc.8} ; do
164 sed -i \
165 -e 's:/etc/named.conf:/etc/bind/named.conf:g' \
166 -e 's:/etc/rndc.conf:/etc/bind/rndc.conf:g' \
167 -e 's:/etc/rndc.key:/etc/bind/rndc.key:g' \
168 "${i}" || die "sed failed, ${i} doesn't exist"
169 done
170
171 # if use dlz; then
172 # # sdb-ldap patch as per bug #160567
173 # # Upstream URL: http://bind9-ldap.bayour.com/
174 # # New patch take from bug 302735
175 # if use sdb-ldap; then
176 # epatch "${WORKDIR}"/${PN}-sdb-ldap-${SDB_LDAP_VER}.patch
177 # cp -fp contrib/sdb/ldap/ldapdb.[ch] bin/named/
178 # cp -fp contrib/sdb/ldap/{ldap2zone.1,ldap2zone.c} bin/tools/
179 # cp -fp contrib/sdb/ldap/{zone2ldap.1,zone2ldap.c} bin/tools/
180 # fi
181 # fi
182
183 # should be installed by bind-tools
184 sed -i -r -e "s:(nsupdate|dig|delv) ::g" bin/Makefile.in || die
185
186 # Disable tests for now, bug 406399
187 sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die
188
189 if use nslint; then
190 sed -i -e 's:/etc/named.conf:/etc/bind/named.conf:' ${NSLINT_DIR}/nslint.{c,8} || die
191 fi
192
193 # bug #220361
194 rm aclocal.m4
195 rm -rf libtool.m4/
196 eautoreconf
197 }
198
199 src_configure() {
200 local myconf=""
201
202 if use urandom; then
203 myconf="${myconf} --with-randomdev=/dev/urandom"
204 else
205 myconf="${myconf} --with-randomdev=/dev/random"
206 fi
207
208 use geoip && myconf="${myconf} --with-geoip"
209
210 # bug #158664
211 # gcc-specs-ssp && replace-flags -O[23s] -O
212
213 # To include db.h from proper path
214 use berkdb && append-flags "-I$(db_includedir)"
215
216 export BUILD_CC=$(tc-getBUILD_CC)
217 econf \
218 --sysconfdir=/etc/bind \
219 --localstatedir=/var \
220 --with-libtool \
221 --enable-full-report \
222 $(use_enable threads) \
223 $(use_with dlz dlopen) \
224 $(use_with dlz dlz-filesystem) \
225 $(use_with dlz dlz-stub) \
226 $(use_with postgres dlz-postgres) \
227 $(use_with mysql dlz-mysql) \
228 $(use_with berkdb dlz-bdb) \
229 $(use_with ldap dlz-ldap) \
230 $(use_with odbc dlz-odbc) \
231 $(use_with ssl openssl "${EPREFIX}"/usr) \
232 $(use_with ssl ecdsa) \
233 $(use_with idn) \
234 $(use_enable ipv6) \
235 $(use_with xml libxml2) \
236 $(use_with gssapi) \
237 $(use_enable rpz rpz-nsip) \
238 $(use_enable rpz rpz-nsdname) \
239 $(use_enable caps linux-caps) \
240 $(use_with gost) \
241 $(use_enable filter-aaaa) \
242 $(use_enable fixed-rrset) \
243 $(use_with python) \
244 $(use_enable seccomp) \
245 --without-readline \
246 ${myconf}
247
248 # $(use_enable static-libs static) \
249
250 # bug #151839
251 echo '#undef SO_BSDCOMPAT' >> config.h
252
253 if use nslint; then
254 cd $NSLINT_DIR
255 econf
256 fi
257 }
258
259 src_compile() {
260 emake
261
262 if use nslint; then
263 emake -C $NSLINT_DIR CCOPT="${CFLAGS}"
264 fi
265 }
266
267 src_install() {
268 emake DESTDIR="${D}" install
269
270 if use nslint; then
271 cd $NSLINT_DIR
272 dobin nslint
273 doman nslint.8
274 cd "${S}"
275 fi
276
277 dodoc CHANGES FAQ README
278
279 if use idn; then
280 dodoc contrib/idn/README.idnkit
281 fi
282
283 if use doc; then
284 dodoc doc/arm/Bv9ARM.pdf
285
286 docinto misc
287 dodoc doc/misc/*
288
289 # might a 'html' useflag make sense?
290 docinto html
291 dohtml -r doc/arm/*
292
293 docinto contrib
294 dodoc contrib/scripts/{nanny.pl,named-bootconf.sh}
295
296 # some handy-dandy dynamic dns examples
297 pushd "${D}"/usr/share/doc/${PF} 1>/dev/null
298 tar xf "${DISTDIR}"/dyndns-samples.tbz2 || die
299 popd 1>/dev/null
300 fi
301
302 insinto /etc/bind
303 newins "${FILESDIR}"/named.conf-r8 named.conf
304
305 # ftp://ftp.rs.internic.net/domain/named.cache:
306 insinto /var/bind
307 doins "${FILESDIR}"/named.cache
308
309 insinto /var/bind/pri
310 newins "${FILESDIR}"/localhost.zone-r3 localhost.zone
311
312 newinitd "${FILESDIR}"/named.init-r13 named
313 newconfd "${FILESDIR}"/named.confd-r7 named
314
315 if use gost; then
316 sed -i -e 's/^OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0}$/OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-1}/' "${D}/etc/init.d/named" || die
317 else
318 sed -i -e 's/^OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-1}$/OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0}/' "${D}/etc/init.d/named" || die
319 fi
320
321 newenvd "${FILESDIR}"/10bind.env 10bind
322
323 # Let's get rid of those tools and their manpages since they're provided by bind-tools
324 rm -f "${D}"/usr/share/man/man1/{dig,host,nslookup}.1*
325 rm -f "${D}"/usr/share/man/man8/{dnssec-keygen,nsupdate}.8*
326 rm -f "${D}"/usr/bin/{dig,host,nslookup,dnssec-keygen,nsupdate}
327 rm -f "${D}"/usr/sbin/{dig,host,nslookup,dnssec-keygen,nsupdate}
328
329 # bug 405251, library archives aren't properly handled by --enable/disable-static
330 if ! use static-libs; then
331 find "${D}" -type f -name '*.a' -delete || die
332 fi
333
334 # bug 405251
335 find "${D}" -type f -name '*.la' -delete || die
336
337 if use python; then
338 install_python_tools() {
339 dosbin bin/python/dnssec-{checkds,coverage}
340 }
341 python_foreach_impl install_python_tools
342
343 python_replicate_script "${D}usr/sbin/dnssec-checkds"
344 python_replicate_script "${D}usr/sbin/dnssec-coverage"
345 fi
346
347 # bug 450406
348 dosym named.cache /var/bind/root.cache
349
350 dosym /var/bind/pri /etc/bind/pri
351 dosym /var/bind/sec /etc/bind/sec
352 dosym /var/bind/dyn /etc/bind/dyn
353 keepdir /var/bind/{pri,sec,dyn}
354
355 dodir /var/log/named
356
357 fowners root:named /{etc,var}/bind /var/log/named /var/bind/{sec,pri,dyn}
358 fowners root:named /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf}
359 fperms 0640 /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf}
360 fperms 0750 /etc/bind /var/bind/pri
361 fperms 0770 /var/log/named /var/bind/{,sec,dyn}
362
363 systemd_newunit "${FILESDIR}/named.service-r1" named.service
364 exeinto /usr/libexec
365 doexe "${FILESDIR}/generate-rndc-key.sh"
366 }
367
368 pkg_postinst() {
369 if [ ! -f '/etc/bind/rndc.key' ]; then
370 if use urandom; then
371 einfo "Using /dev/urandom for generating rndc.key"
372 /usr/sbin/rndc-confgen -r /dev/urandom -a
373 echo
374 else
375 einfo "Using /dev/random for generating rndc.key"
376 /usr/sbin/rndc-confgen -a
377 echo
378 fi
379 chown root:named /etc/bind/rndc.key
380 chmod 0640 /etc/bind/rndc.key
381 fi
382
383 einfo
384 einfo "You can edit /etc/conf.d/named to customize named settings"
385 einfo
386 use mysql || use postgres || use ldap && {
387 elog "If your named depends on MySQL/PostgreSQL or LDAP,"
388 elog "uncomment the specified rc_named_* lines in your"
389 elog "/etc/conf.d/named config to ensure they'll start before bind"
390 einfo
391 }
392 einfo "If you'd like to run bind in a chroot AND this is a new"
393 einfo "install OR your bind doesn't already run in a chroot:"
394 einfo "1) Uncomment and set the CHROOT variable in /etc/conf.d/named."
395 einfo "2) Run \`emerge --config '=${CATEGORY}/${PF}'\`"
396 einfo
397
398 CHROOT=$(source /etc/conf.d/named 2>/dev/null; echo ${CHROOT})
399 if [[ -n ${CHROOT} ]]; then
400 elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!"
401 elog "To enable the old behaviour (without using mount) uncomment the"
402 elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config."
403 elog "If you decide to use the new/default method, ensure to make backup"
404 elog "first and merge your existing configs/zones to /etc/bind and"
405 elog "/var/bind because bind will now mount the needed directories into"
406 elog "the chroot dir."
407 fi
408 }
409
410 pkg_config() {
411 CHROOT=$(source /etc/conf.d/named; echo ${CHROOT})
412 CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT})
413 CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP})
414
415 if [[ -z "${CHROOT}" ]]; then
416 eerror "This config script is designed to automate setting up"
417 eerror "a chrooted bind/named. To do so, please first uncomment"
418 eerror "and set the CHROOT variable in '/etc/conf.d/named'."
419 die "Unset CHROOT"
420 fi
421 if [[ -d "${CHROOT}" ]]; then
422 ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!"
423 ewarn "To enable the old behaviour (without using mount) uncomment the"
424 ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config."
425 ewarn
426 ewarn "${CHROOT} already exists... some things might become overridden"
427 ewarn "press CTRL+C if you don't want to continue"
428 sleep 10
429 fi
430
431 echo; einfo "Setting up the chroot directory..."
432
433 mkdir -m 0750 -p ${CHROOT}
434 mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run}
435 mkdir -m 0750 -p ${CHROOT}/etc/bind
436 mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/
437 # As of bind 9.8.0
438 if has_version net-dns/bind[gost]; then
439 if [ "$(get_libdir)" = "lib64" ]; then
440 mkdir -m 0755 -p ${CHROOT}/usr/lib64/engines
441 ln -s lib64 ${CHROOT}/usr/lib
442 else
443 mkdir -m 0755 -p ${CHROOT}/usr/lib/engines
444 fi
445 fi
446 chown root:named ${CHROOT} ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ ${CHROOT}/etc/bind
447
448 mknod ${CHROOT}/dev/null c 1 3
449 chmod 0666 ${CHROOT}/dev/null
450
451 mknod ${CHROOT}/dev/zero c 1 5
452 chmod 0666 ${CHROOT}/dev/zero
453
454 if use urandom; then
455 mknod ${CHROOT}/dev/urandom c 1 9
456 chmod 0666 ${CHROOT}/dev/urandom
457 else
458 mknod ${CHROOT}/dev/random c 1 8
459 chmod 0666 ${CHROOT}/dev/random
460 fi
461
462 if [ "${CHROOT_NOMOUNT:-0}" -ne 0 ]; then
463 cp -a /etc/bind ${CHROOT}/etc/
464 cp -a /var/bind ${CHROOT}/var/
465 fi
466
467 if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then
468 mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP
469 fi
470
471 elog "You may need to add the following line to your syslog-ng.conf:"
472 elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };"
473 }