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