1 |
%define sdb 1 |
2 |
%define geoip 0 |
3 |
%define gssapi 1 |
4 |
|
5 |
%{?_with_sdbp: %{expand: %%global sdb 1}} |
6 |
%{?_without_sdb: %{expand: %%global sdb 0}} |
7 |
%{?_with_geoip: %{expand: %%global geoip 1}} |
8 |
%{?_without_geoip: %{expand: %%global geoip 0}} |
9 |
%{?_with_gssapi: %{expand: %%global gssapi 1}} |
10 |
%{?_without_gssapi: %{expand: %%global gssapi 0}} |
11 |
|
12 |
%define major_version 9.10.1 |
13 |
%define patch_version P2 |
14 |
%define dashpatch %{?patch_version:-%patch_version}%nil |
15 |
%define dotpatch %{?patch_version:.%patch_version}%nil |
16 |
%define chroot_prefix /var/lib/named |
17 |
|
18 |
Name: bind |
19 |
Version: %{major_version}%{dotpatch} |
20 |
Release: %mkrel 1 |
21 |
Summary: A DNS (Domain Name System) server |
22 |
License: ISC |
23 |
Group: System/Servers |
24 |
URL: http://www.isc.org/products/BIND/ |
25 |
Source0: ftp://ftp.isc.org/isc/%{name}9/%{major_version}%{dashpatch}/%{name}-%{major_version}%{dashpatch}.tar.gz |
26 |
Source1: ftp://ftp.isc.org/isc/%{name}9/%{major_version}%{dashpatch}/%{name}-%{major_version}%{dashpatch}.tar.gz.sha512.asc |
27 |
|
28 |
Source6: named.sysconfig |
29 |
Source7: named.logrotate |
30 |
Source8: named.NetworkManager |
31 |
Source11: ftp://ftp.internic.net/domain/named.cache |
32 |
Source20: bind-keygen.c |
33 |
Source40: bind.tmpfiles |
34 |
Source41: named.service |
35 |
Source42: named-sdb.service |
36 |
Source43: setup-named-chroot.sh |
37 |
|
38 |
# sdb |
39 |
Source30: ldap2zone.c |
40 |
Source31: ldap2zone.1 |
41 |
Source32: named-sdb.8 |
42 |
Source33: zonetodb.1 |
43 |
Source34: zone2sqlite.1 |
44 |
Source35: bind-9.3.1rc1-sdb_tools-Makefile.in |
45 |
Source36: dnszone.schema |
46 |
Source37: README.sdb_pgsql |
47 |
|
48 |
Source100: named.conf |
49 |
Source102: named.root.key |
50 |
Source103: trusted-key.key |
51 |
Source105: rndc.key |
52 |
Source110: named.ca |
53 |
Source111: named.localhost |
54 |
Source112: named.empty |
55 |
Source113: named.loopback |
56 |
|
57 |
# fedora patches |
58 |
Patch10: bind-9.5-PIE.patch |
59 |
Patch72: bind-9.5-dlz-64bit.patch |
60 |
Patch87: bind-9.5-parallel-build.patch |
61 |
Patch99: bind-9.9.3-libtool2.diff |
62 |
Patch101: bind-96-old-api.patch |
63 |
Patch102: bind-95-rh452060.patch |
64 |
Patch106: bind93-rh490837.patch |
65 |
Patch107: bind97-dist-pkcs11.patch |
66 |
Patch109: bind97-rh478718.patch |
67 |
Patch110: bind97-rh570851.patch |
68 |
Patch111: bind97-exportlib.patch |
69 |
Patch112: bind97-rh645544.patch |
70 |
Patch119: bind97-rh693982.patch |
71 |
Patch123: bind98-rh735103.patch |
72 |
Patch124: nslookup-norec.patch |
73 |
Patch127: bind99-forward.patch |
74 |
Patch130: bind-9.9.3-dlz-libdb4.diff |
75 |
Patch131: bind-9.9.1-P2-multlib-conflict.patch |
76 |
Patch133: bind99-rh640538.patch |
77 |
Patch134: bind97-rh669163.patch |
78 |
Patch135: bind99-libidn4.patch |
79 |
Patch137: bind99-rrl.patch |
80 |
|
81 |
# SDB patches |
82 |
Patch11: bind-9.9.3-sdbsrc.diff |
83 |
Patch12: bind-9.5-sdb.patch |
84 |
Patch62: bind-9.5-sdb-sqlite-bld.patch |
85 |
|
86 |
# needs inpection |
87 |
Patch17: bind-9.3.2b1-fix_sdb_ldap.patch |
88 |
Patch104: bind-96-dyndb.patch |
89 |
|
90 |
# IDN patches |
91 |
Patch73: bind-9.5-libidn.patch |
92 |
Patch83: bind-9.5-libidn2.patch |
93 |
Patch85: bind-9.5-libidn3.patch |
94 |
Patch94: bind95-rh461409.patch |
95 |
|
96 |
# other patches |
97 |
Patch206: bind-9.2.0rc3-varrun.patch |
98 |
Patch208: bind-9.3.2-prctl_set_dumpable.patch |
99 |
Patch209: bind-9.9.3-P2-make_the_test_suite_work.diff |
100 |
|
101 |
# (oe) rediffed patch originates from http://www.caraytech.com/geodns/ |
102 |
Patch300: bind-9.4.0-geoip.diff |
103 |
Requires: bind-utils >= %{version}-%{release} |
104 |
Requires(post): systemd >= %{systemd_required_version} |
105 |
Requires(post): rpm-helper >= 0.24.8-1 |
106 |
Requires(preun): rpm-helper >= 0.24.8-1 |
107 |
BuildRequires: openssl-devel |
108 |
BuildRequires: multiarch-utils >= 1.0.3 |
109 |
BuildRequires: libidn-devel |
110 |
BuildRequires: postgresql-devel |
111 |
BuildRequires: mysql-devel |
112 |
BuildRequires: libcap-devel >= 2.10 |
113 |
BuildRequires: libxml2-devel |
114 |
%if %{gssapi} |
115 |
BuildRequires: krb5-devel |
116 |
%endif |
117 |
%if %{geoip} |
118 |
BuildRequires: libgeoip-devel |
119 |
%endif |
120 |
%if %{sdb} |
121 |
BuildRequires: mysql-devel |
122 |
BuildRequires: openldap-devel |
123 |
BuildRequires: postgresql-devel |
124 |
BuildRequires: sqlite3-devel |
125 |
%endif |
126 |
# needed for "make check" |
127 |
BuildRequires: bind-testsuite-setup perl(Net::DNS) |
128 |
|
129 |
%description |
130 |
BIND (Berkeley Internet Name Domain) is an implementation of the DNS |
131 |
(domain Name System) protocols. BIND includes a DNS server (named), |
132 |
which resolves host names to IP addresses, and a resolver library |
133 |
(routines for applications to use when interfacing with DNS). A DNS |
134 |
server allows clients to name resources or objects and share the |
135 |
information with other network machines. The named DNS server can be |
136 |
used on workstations as a caching name server, but is generally only |
137 |
needed on one machine for an entire network. Note that the |
138 |
configuration files for making BIND act as a simple caching nameserver |
139 |
are included in the caching-nameserver package. |
140 |
|
141 |
Install the bind package if you need a DNS server for your network. If |
142 |
you want bind to act a caching name server, you will also need to install |
143 |
the caching-nameserver package. |
144 |
|
145 |
Many BIND 8 features previously unimplemented in BIND 9, including |
146 |
domain-specific forwarding, the \$GENERATE master file directive, and |
147 |
the "blackhole", "dialup", and "sortlist" options Forwarding of dynamic |
148 |
update requests; this is enabled by the "allow-update-forwarding" option |
149 |
A new, simplified database interface and a number of sample drivers based |
150 |
on it; see doc/dev/sdb for details |
151 |
Support for building single-threaded servers for environments that do not |
152 |
supply POSIX threads |
153 |
New configuration options: "min-refresh-time", "max-refresh-time", |
154 |
"min-retry-time", "max-retry-time", "additional-from-auth", |
155 |
"additional-from-cache", "notify explicit" |
156 |
Faster lookups, particularly in large zones. |
157 |
|
158 |
Build Options: |
159 |
--with sdb Build with database backends and DLZ support (enabled by default) |
160 |
--with geoip Build with GeoIP support (disabled per default) |
161 |
|
162 |
%if %{sdb} |
163 |
%package sdb |
164 |
Summary: BIND server with database backends and DLZ support |
165 |
Group: System/Servers |
166 |
Requires: bind |
167 |
Requires(post): rpm-helper >= 0.24.8-1 |
168 |
Requires(preun): rpm-helper >= 0.24.8-1 |
169 |
|
170 |
%description sdb |
171 |
BIND (Berkeley Internet Name Domain) is an implementation of the DNS |
172 |
(Domain Name System) protocols. BIND includes a DNS server (named-sdb) |
173 |
which has compiled-in SDB (Simplified Database Backend) which includes |
174 |
support for using alternative Zone Databases stored in an LDAP server |
175 |
(ldapdb), a postgreSQL database (pgsqldb), an sqlite database (sqlitedb), |
176 |
or in the filesystem (dirdb), in addition to the standard in-memory RBT |
177 |
(Red Black Tree) zone database. It also includes support for DLZ |
178 |
(Dynamic Loadable Zones) |
179 |
%endif |
180 |
|
181 |
%package utils |
182 |
Summary: Utilities for querying DNS name servers |
183 |
Group: Networking/Other |
184 |
|
185 |
%description utils |
186 |
Bind-utils contains a collection of utilities for querying DNS (Domain |
187 |
Name Service) name servers to find out information about Internet hosts. |
188 |
These tools will provide you with the IP addresses for given host names, |
189 |
as well as other information about registered domains and network |
190 |
addresses. |
191 |
|
192 |
You should install bind-utils if you need to get information from DNS name |
193 |
servers. |
194 |
|
195 |
%package devel |
196 |
Summary: Include files and libraries needed for bind DNS development |
197 |
Group: Development/C |
198 |
|
199 |
%description devel |
200 |
The bind-devel package contains all the include files and the |
201 |
library required for DNS (Domain Name Service) development for |
202 |
BIND versions 9.x.x. |
203 |
|
204 |
%package doc |
205 |
Summary: Documentation for BIND |
206 |
Group: Documentation |
207 |
BuildArch: noarch |
208 |
|
209 |
%description doc |
210 |
The bind-devel package contains the documentation for BIND. |
211 |
|
212 |
%prep |
213 |
%setup -q -n %{name}-%{major_version}%{dashpatch} |
214 |
|
215 |
%patch10 -p1 -b .PIE |
216 |
|
217 |
%patch104 -p1 -b .dyndb |
218 |
%patch72 -p1 -b .64bit |
219 |
%patch73 -p1 -b .libidn |
220 |
%patch83 -p1 -b .libidn2 |
221 |
%patch85 -p1 -b .libidn3 |
222 |
%patch87 -p1 -b .parallel |
223 |
%patch94 -p1 -b .rh461409 |
224 |
mkdir m4 |
225 |
%patch99 -p0 -b .libtool2 |
226 |
%patch102 -p1 -b .rh452060 |
227 |
%patch106 -p1 -b .rh490837 |
228 |
%patch107 -p1 -b .dist-pkcs11 |
229 |
%patch109 -p1 -b .rh478718 |
230 |
%patch110 -p1 -b .rh570851 |
231 |
# exportlib is gone, keep for now |
232 |
# %%patch111 -p1 -b .exportlib |
233 |
%patch112 -p1 -b .rh645544 |
234 |
%patch119 -p1 -b .rh693982 |
235 |
%patch123 -p1 -b .rh735103 |
236 |
%patch124 -p1 -b .nslookup-norec |
237 |
%patch127 -p1 -b .forward |
238 |
# no idea what this is good for, keep for now |
239 |
# %%patch130 -p1 -b .libdb4 |
240 |
%patch131 -p1 -b .multlib-conflict |
241 |
%patch137 -p1 -b .rrl |
242 |
|
243 |
%if %{sdb} |
244 |
%patch101 -p1 -b .old-api |
245 |
mkdir bin/named-sdb |
246 |
cp -r bin/named/* bin/named-sdb |
247 |
%patch11 -p1 -b .sdbsrc |
248 |
# SDB ldap |
249 |
cp -fp contrib/sdb/ldap/ldapdb.[ch] bin/named-sdb |
250 |
# SDB postgreSQL |
251 |
cp -fp contrib/sdb/pgsql/pgsqldb.[ch] bin/named-sdb |
252 |
# SDB sqlite |
253 |
cp -fp contrib/sdb/sqlite/sqlitedb.[ch] bin/named-sdb |
254 |
# SDB Berkeley DB - needs to be ported to DB4! |
255 |
#cp -fp contrib/sdb/bdb/bdb.[ch] bin/named_sdb |
256 |
# SDB dir |
257 |
cp -fp contrib/sdb/dir/dirdb.[ch] bin/named-sdb |
258 |
# SDB tools |
259 |
mkdir -p bin/sdb_tools |
260 |
cp -fp %{SOURCE30} bin/sdb_tools/ldap2zone.c |
261 |
cp -fp %{SOURCE35} bin/sdb_tools/Makefile.in |
262 |
#cp -fp contrib/sdb/bdb/zone2bdb.c bin/sdb_tools |
263 |
cp -fp contrib/sdb/ldap/{zone2ldap.1,zone2ldap.c} bin/sdb_tools |
264 |
cp -fp contrib/sdb/pgsql/zonetodb.c bin/sdb_tools |
265 |
cp -fp contrib/sdb/sqlite/zone2sqlite.c bin/sdb_tools |
266 |
%patch12 -p1 -b .sdb |
267 |
%patch17 -p1 -b .fix_sdb_ldap |
268 |
%patch62 -p1 -b .sdb-sqlite-bld |
269 |
%endif |
270 |
%patch133 -p1 -b .rh640538 |
271 |
%patch134 -p1 -b .rh669163 |
272 |
%patch135 -p1 -b .libidn4 |
273 |
|
274 |
%patch206 -p1 -b .varrun.droplet |
275 |
%patch208 -p1 -b .prctl_set_dumpable.droplet |
276 |
%patch209 -p1 |
277 |
|
278 |
%if %{geoip} |
279 |
%patch300 -p1 -b .geoip |
280 |
%endif |
281 |
|
282 |
cp %{SOURCE20} keygen.c |
283 |
cp %{SOURCE11} named.cache |
284 |
|
285 |
%build |
286 |
%serverbuild |
287 |
|
288 |
# https://kb.isc.org/article/AA-01167 |
289 |
export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" |
290 |
|
291 |
# -DBIND9 due to P123 |
292 |
export CPPFLAGS="$CPPFLAGS -DDIG_SIGCHASE -DBIND9 -fPIC" |
293 |
export STD_CDEFINES="$CPPFLAGS" |
294 |
|
295 |
libtoolize --copy --force |
296 |
aclocal -I m4 --force |
297 |
autoheader --force |
298 |
autoconf --force |
299 |
|
300 |
# (oe) make queryperf from the contrib _before_ bind..., makes it |
301 |
# easier to determine if it builds or not, it saves time... |
302 |
pushd contrib/queryperf |
303 |
rm -f configure |
304 |
autoconf |
305 |
%configure2_5x |
306 |
%make CFLAGS="$CFLAGS" |
307 |
popd |
308 |
|
309 |
pushd contrib/query-loc-* |
310 |
perl -pi -e "s|-lnsl|-lnsl -lresolv|g" configure* |
311 |
rm -f configure |
312 |
autoconf |
313 |
%configure2_5x |
314 |
%make CFLAGS="$CFLAGS" |
315 |
popd |
316 |
|
317 |
%if %{geoip} |
318 |
export CFLAGS="$CFLAGS -DGEOIP" |
319 |
export LDFLAGS="$LDFLAGS -lGeoIP" |
320 |
%endif |
321 |
|
322 |
%configure2_5x \ |
323 |
--localstatedir=/var \ |
324 |
--disable-openssl-version-check \ |
325 |
--enable-exportlib \ |
326 |
--with-export-libdir=%{_libdir} \ |
327 |
--with-export-includedir=%{_includedir} \ |
328 |
--enable-threads \ |
329 |
--enable-largefile \ |
330 |
--enable-ipv6 \ |
331 |
--enable-filter-aaaa \ |
332 |
--enable-epoll \ |
333 |
--with-openssl=%{_prefix} \ |
334 |
%if %{gssapi} |
335 |
--with-gssapi=%{_prefix} --disable-isc-spnego \ |
336 |
%endif |
337 |
--with-randomdev=/dev/urandom \ |
338 |
--with-libxml2=yes \ |
339 |
--enable-newstats \ |
340 |
--enable-rrl \ |
341 |
%if %{sdb} |
342 |
--with-dlz-ldap=yes \ |
343 |
--with-dlz-postgres=yes \ |
344 |
--with-dlz-mysql=yes \ |
345 |
--with-dlz-filesystem=yes \ |
346 |
--with-dlz-stub=yes |
347 |
%endif |
348 |
|
349 |
# pkcs11 support requires a working backend, otherwise bind won't start |
350 |
# http://blogs.sun.com/janp/ |
351 |
# http://sourceforge.net/projects/opencryptoki |
352 |
#--with-pkcs11 \ |
353 |
|
354 |
make |
355 |
|
356 |
gcc $CFLAGS -o dns-keygen keygen.c |
357 |
|
358 |
#%%check |
359 |
## run the test suite |
360 |
#make check |
361 |
|
362 |
%install |
363 |
%makeinstall_std |
364 |
|
365 |
install -d -p %{buildroot}%{_libdir}/bind |
366 |
install -d %{buildroot}/var/named/{slaves,data,dynamic} |
367 |
install -d %{buildroot}/var/log |
368 |
|
369 |
# chroot |
370 |
install -d %{buildroot}%{chroot_prefix}/{dev,etc,var} |
371 |
install -d %{buildroot}%{chroot_prefix}/var/{log,named,run/named,tmp} |
372 |
install -d %{buildroot}%{chroot_prefix}/etc/{pki/dnssec-keys,named} |
373 |
install -d %{buildroot}%{chroot_prefix}/%{_libdir}/bind |
374 |
install -d %{buildroot}%{chroot_prefix}/%{_libdir}/openssl |
375 |
|
376 |
# these are required to prevent them being erased during upgrade of previous |
377 |
# versions that included them (rh bug #130121): |
378 |
touch %{buildroot}%{chroot_prefix}/dev/null |
379 |
touch %{buildroot}%{chroot_prefix}/dev/random |
380 |
touch %{buildroot}%{chroot_prefix}/dev/zero |
381 |
touch %{buildroot}%{chroot_prefix}/etc/localtime |
382 |
|
383 |
install -m 755 %{SOURCE43} %{buildroot}%{_sbindir}/setup-named-chroot.sh |
384 |
|
385 |
# systemd files |
386 |
install -d -m 755 %{buildroot}%{_unitdir} |
387 |
install -m 644 %{SOURCE41} %{buildroot}%{_unitdir} |
388 |
install -m 644 %{SOURCE42} %{buildroot}%{_unitdir} |
389 |
|
390 |
install -D -m 644 %{SOURCE40} %{buildroot}%{_tmpfilesdir}/named.conf |
391 |
|
392 |
# main configuration |
393 |
install -m 644 %{SOURCE100} %{buildroot}%{_sysconfdir}/named.conf |
394 |
install -m 644 %{SOURCE102} %{buildroot}%{_sysconfdir}/named.root.key |
395 |
install -m 644 %{SOURCE103} %{buildroot}%{_sysconfdir}/trusted-key.key |
396 |
install -m 640 %{SOURCE105} %{buildroot}%{_sysconfdir}/rndc.key |
397 |
|
398 |
mv %{buildroot}%{_sysconfdir}/bind.keys \ |
399 |
%{buildroot}%{_sysconfdir}/named.iscdlv.key |
400 |
install -d 755 %{buildroot}/etc/named |
401 |
|
402 |
install -d 755 %{buildroot}%{_localstatedir}/named |
403 |
install -m 644 %{SOURCE110} %{buildroot}%{_localstatedir}/named/named.ca |
404 |
install -m 644 %{SOURCE111} %{buildroot}%{_localstatedir}/named/named.localhost |
405 |
install -m 644 %{SOURCE112} %{buildroot}%{_localstatedir}/named/named.empty |
406 |
install -m 644 %{SOURCE113} %{buildroot}%{_localstatedir}/named/named.loopback |
407 |
|
408 |
# other configuration |
409 |
install -D -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/sysconfig/named |
410 |
install -D -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/logrotate.d/named |
411 |
|
412 |
install -d -m 755 %{buildroot}%{_sysconfdir}/rsyslog.d/ |
413 |
cat > %{buildroot}%{_sysconfdir}/rsyslog.d/named.conf <<'EOF' |
414 |
$AddUnixListenSocket /var/lib/named/dev/log |
415 |
EOF |
416 |
|
417 |
install -D -m 755 \ |
418 |
%{SOURCE8} %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/13-named |
419 |
|
420 |
%if %{sdb} |
421 |
mkdir -p %{buildroot}/etc/openldap/schema |
422 |
install -m 644 %{SOURCE36} %{buildroot}/etc/openldap/schema/dnszone.schema |
423 |
install -m 644 %{SOURCE37} contrib/sdb/pgsql/ |
424 |
|
425 |
install -m 644 %{SOURCE31} %{buildroot}%{_mandir}/man1/ldap2zone.1 |
426 |
install -m 644 %{SOURCE32} %{buildroot}%{_mandir}/man8/named-sdb.8 |
427 |
install -m 644 %{SOURCE33} %{buildroot}%{_mandir}/man1/zonetodb.1 |
428 |
install -m 644 %{SOURCE34} %{buildroot}%{_mandir}/man1/zone2sqlite.1 |
429 |
%endif |
430 |
|
431 |
# contrib |
432 |
install -m0755 contrib/scripts/named-bootconf.sh %{buildroot}%{_sbindir}/named-bootconf |
433 |
install -m0755 contrib/queryperf/queryperf %{buildroot}%{_bindir}/ |
434 |
cp contrib/queryperf/README README.queryperf |
435 |
|
436 |
install -m0755 contrib/query-loc-*/query-loc %{buildroot}%{_bindir}/ |
437 |
install -m0644 contrib/query-loc-*/query-loc.1 %{buildroot}%{_mandir}/man1/ |
438 |
cp contrib/query-loc-*/ADDRESSES ADDRESSES.query-loc |
439 |
cp contrib/query-loc-*/ALGO ALGO.query-loc |
440 |
cp contrib/query-loc-*/README README.query-loc |
441 |
cp contrib/query-loc-*/USAGE USAGE.query-loc |
442 |
|
443 |
install -m 755 dns-keygen %{buildroot}%{_sbindir}/dns-keygen |
444 |
|
445 |
install -d -m 755 %{buildroot}%{_docdir}/%{name} |
446 |
install -d -m 755 %{buildroot}%{_docdir}/%{name}/arm |
447 |
install -m 644 doc/arm/*.html %{buildroot}%{_docdir}/%{name}/arm |
448 |
install -m 644 doc/arm/*.pdf %{buildroot}%{_docdir}/%{name}/arm |
449 |
cp -pr doc/misc %{buildroot}%{_docdir}/%{name} |
450 |
rm -f %{buildroot}%{_docdir}/%{name}/misc/Makefile* |
451 |
|
452 |
%multiarch_binaries %{buildroot}%{_bindir}/isc-config.sh |
453 |
%multiarch_binaries %{buildroot}%{_bindir}/bind9-config |
454 |
|
455 |
cat > README.mga <<EOF |
456 |
Mageia BIND SDB support: |
457 |
|
458 |
Mageia ships named with compiled in Simplified Database Backend modules that |
459 |
ISC provides in the "contrib/sdb" directory. Install bind-sdb package if you |
460 |
want to use them. The SDB modules for LDAP, PostGreSQL, DirDB and SQLite are |
461 |
compiled into named-sdb. |
462 |
EOF |
463 |
|
464 |
%triggerpostun -- bind < 9.9.2 |
465 |
# handle migration from previous setup after uninstallation of previous release |
466 |
# so as to catch modified configuration files saved as .rpmsave |
467 |
for f in named.conf trusted_networks_acl.conf logging.conf rndc.conf rndc.key; do |
468 |
if [ -f %{chroot_prefix}/etc/$f.rpmsave ]; then |
469 |
if [ -f %{_sysconfdir}/$f ]; then |
470 |
mv %{_sysconfdir}/$f %{_sysconfdir}/$f.rpmnew |
471 |
fi |
472 |
mv %{chroot_prefix}/etc/$f.rpmsave %{_sysconfdir}/$f; |
473 |
fi |
474 |
done |
475 |
|
476 |
if [ -d %{chroot_prefix}/var/named/master ]; then |
477 |
mv %{chroot_prefix}/var/named/master %{_localstatedir}/named |
478 |
fi |
479 |
|
480 |
if [ -d %{chroot_prefix}/var/named/reverse ]; then |
481 |
mv %{chroot_prefix}/var/named/reverse %{_localstatedir}/named |
482 |
fi |
483 |
|
484 |
%pre |
485 |
%_pre_useradd named /var/lib/named /bin/false |
486 |
|
487 |
%post |
488 |
if [ "$1" -gt 1 ]; then |
489 |
# upgrade |
490 |
mv -f %{chroot_prefix}/var/named/* /var/named/ |
491 |
rm -rf %{chroot_prefix}%{_libdir}/openssl-* |
492 |
fi |
493 |
%_tmpfilescreate named |
494 |
%_post_service named |
495 |
|
496 |
# chroot devices |
497 |
[ -e %{chroot_prefix}/dev/random ] || \ |
498 |
/bin/mknod %{chroot_prefix}/dev/random c 1 8 |
499 |
[ -e %{chroot_prefix}/dev/zero ] || \ |
500 |
/bin/mknod %{chroot_prefix}/dev/zero c 1 5 |
501 |
[ -e %{chroot_prefix}/dev/null ] || \ |
502 |
/bin/mknod %{chroot_prefix}/dev/null c 1 3 |
503 |
rm -f %{chroot_prefix}/etc/localtime |
504 |
cp /etc/localtime %{chroot_prefix}/etc/localtime |
505 |
|
506 |
if [ "$1" -eq 1 ]; then |
507 |
# installation |
508 |
MYKEY="`%{_sbindir}/dns-keygen`" |
509 |
perl -pi -e "s|_MY_KEY_|$MYKEY|g" %{_sysconfdir}/rndc.key |
510 |
fi |
511 |
|
512 |
%preun |
513 |
%_preun_service named |
514 |
|
515 |
if [ "$1" -eq 0 ]; then |
516 |
# uninstallation |
517 |
rm -f %{chroot_prefix}/dev/{random,zero,null} |
518 |
rm -f %{chroot_prefix}/etc/localtime |
519 |
fi |
520 |
|
521 |
%postun |
522 |
%_postun_userdel named |
523 |
|
524 |
%files |
525 |
%doc CHANGES README README.mga FAQ COPYRIGHT |
526 |
%if %{geoip} |
527 |
%doc geodns.INSTALL geodns.named.conf-sample |
528 |
%endif |
529 |
%{_bindir}/delv |
530 |
%{_sbindir}/arpaname |
531 |
%{_sbindir}/ddns-confgen |
532 |
%{_sbindir}/dns-keygen |
533 |
%{_sbindir}/dnssec-checkds |
534 |
%{_sbindir}/dnssec-coverage |
535 |
%{_sbindir}/dnssec-dsfromkey |
536 |
%{_sbindir}/dnssec-importkey |
537 |
%{_sbindir}/dnssec-keyfromlabel |
538 |
%{_sbindir}/dnssec-keygen |
539 |
%{_sbindir}/dnssec-revoke |
540 |
%{_sbindir}/dnssec-settime |
541 |
%{_sbindir}/dnssec-signzone |
542 |
%{_sbindir}/dnssec-verify |
543 |
%{_sbindir}/genrandom |
544 |
%{_sbindir}/isc-hmac-fixup |
545 |
%{_sbindir}/lwresd |
546 |
%{_sbindir}/named |
547 |
%{_sbindir}/named-bootconf |
548 |
%{_sbindir}/named-checkconf |
549 |
%{_sbindir}/named-checkzone |
550 |
%{_sbindir}/named-compilezone |
551 |
%{_sbindir}/named-journalprint |
552 |
%{_sbindir}/named-rrchecker |
553 |
%{_sbindir}/nsec3hash |
554 |
%{_sbindir}/rndc |
555 |
%{_sbindir}/rndc-confgen |
556 |
%{_sbindir}/setup-named-chroot.sh |
557 |
%{_sbindir}/tsig-keygen |
558 |
%{_mandir}/man1/arpaname.1.* |
559 |
%{_mandir}/man1/delv.1* |
560 |
%{_mandir}/man1/named-rrchecker.1* |
561 |
%{_mandir}/man5/named.conf.5* |
562 |
%{_mandir}/man5/rndc.conf.5* |
563 |
%{_mandir}/man8/ddns-confgen.8.* |
564 |
%{_mandir}/man8/dnssec-*.8* |
565 |
%{_mandir}/man8/genrandom.8.* |
566 |
%{_mandir}/man8/isc-hmac-fixup.8.* |
567 |
%{_mandir}/man8/lwresd.8* |
568 |
%{_mandir}/man8/named-*.8* |
569 |
%{_mandir}/man8/named.8* |
570 |
%{_mandir}/man8/nsec3hash.8.* |
571 |
%{_mandir}/man8/rndc.8* |
572 |
%{_mandir}/man8/rndc-confgen.8* |
573 |
%{_mandir}/man8/tsig-keygen.8* |
574 |
%{_libdir}/bind |
575 |
|
576 |
# main configuration |
577 |
%dir %{_sysconfdir}/named |
578 |
%config(noreplace) %{_sysconfdir}/named.conf |
579 |
%attr(-,root,named) %config(noreplace) %{_sysconfdir}/rndc.key |
580 |
%attr(-,root,named) %config(noreplace) %{_sysconfdir}/named.iscdlv.key |
581 |
%attr(-,root,named) %config(noreplace) %{_sysconfdir}/named.root.key |
582 |
|
583 |
# other configuration |
584 |
%config(noreplace) %{_sysconfdir}/sysconfig/named |
585 |
%config(noreplace) %{_sysconfdir}/rsyslog.d/named.conf |
586 |
%config(noreplace) %{_sysconfdir}/logrotate.d/named |
587 |
%{_sysconfdir}/NetworkManager/dispatcher.d/13-named |
588 |
%{_tmpfilesdir}/named.conf |
589 |
%{_unitdir}/named.service |
590 |
|
591 |
# variable directory |
592 |
%dir %{_localstatedir}/named |
593 |
%attr(-,named,named) %dir %{_localstatedir}/named/slaves |
594 |
%attr(-,named,named) %dir %{_localstatedir}/named/data |
595 |
%attr(-,named,named) %dir %{_localstatedir}/named/dynamic |
596 |
%config(noreplace) %{_localstatedir}/named/named.ca |
597 |
%config(noreplace) %{_localstatedir}/named/named.localhost |
598 |
%config(noreplace) %{_localstatedir}/named/named.loopback |
599 |
%config(noreplace) %{_localstatedir}/named/named.empty |
600 |
|
601 |
# the chroot |
602 |
%ghost %{chroot_prefix}/dev/null |
603 |
%ghost %{chroot_prefix}/dev/random |
604 |
%ghost %{chroot_prefix}/dev/zero |
605 |
%ghost %{chroot_prefix}/etc/localtime |
606 |
%dir %{chroot_prefix} |
607 |
%dir %{chroot_prefix}/dev |
608 |
%dir %{chroot_prefix}/etc |
609 |
%dir %{chroot_prefix}/etc/named |
610 |
%dir %{chroot_prefix}/etc/pki |
611 |
%dir %{chroot_prefix}/etc/pki/dnssec-keys |
612 |
%dir %{chroot_prefix}/var |
613 |
%dir %{chroot_prefix}/var/run |
614 |
%dir %{chroot_prefix}/var/named |
615 |
%dir %{chroot_prefix}/usr |
616 |
%dir %{chroot_prefix}/%{_libdir} |
617 |
%dir %{chroot_prefix}/%{_libdir}/bind |
618 |
%dir %{chroot_prefix}/%{_libdir}/openssl |
619 |
|
620 |
%attr(-,named,named) %dir %{chroot_prefix}/var/run/named |
621 |
%attr(-,named,named) %dir %{chroot_prefix}/var/tmp |
622 |
%attr(-,named,named) %dir %{chroot_prefix}/var/log |
623 |
|
624 |
|
625 |
%files devel |
626 |
%doc CHANGES README |
627 |
%multiarch %{multiarch_bindir}/isc-config.sh |
628 |
%multiarch %{multiarch_bindir}/bind9-config |
629 |
%{_bindir}/isc-config.sh |
630 |
%{_bindir}/bind9-config |
631 |
%{_includedir}/* |
632 |
%{_libdir}/*.a |
633 |
%{_mandir}/man1/bind9-config.1* |
634 |
%{_mandir}/man1/isc-config.sh.1* |
635 |
%{_mandir}/man3/lwres*.3* |
636 |
|
637 |
%files utils |
638 |
%doc README COPYRIGHT *.query-loc *.queryperf |
639 |
%{_bindir}/dig |
640 |
%{_bindir}/host |
641 |
%{_bindir}/nslookup |
642 |
%{_bindir}/nsupdate |
643 |
%{_bindir}/queryperf |
644 |
%{_bindir}/query-loc |
645 |
%{_mandir}/man1/host.1* |
646 |
%{_mandir}/man1/dig.1* |
647 |
%{_mandir}/man1/nslookup.1* |
648 |
%{_mandir}/man1/nsupdate.1* |
649 |
%{_mandir}/man1/query-loc.1* |
650 |
%{_sysconfdir}/trusted-key.key |
651 |
|
652 |
%files doc |
653 |
%{_docdir}/%{name} |
654 |
|
655 |
%if %{sdb} |
656 |
%files sdb |
657 |
%doc contrib/sdb/ldap/README.ldap |
658 |
%doc contrib/sdb/ldap/INSTALL.ldap |
659 |
%doc contrib/sdb/pgsql/README.sdb_pgsql |
660 |
%{_unitdir}/named-sdb.service |
661 |
%{_mandir}/man1/zone2ldap.1* |
662 |
%{_mandir}/man1/ldap2zone.1* |
663 |
%{_mandir}/man1/zonetodb.1* |
664 |
%{_mandir}/man1/zone2sqlite.1* |
665 |
%{_mandir}/man8/named-sdb.8* |
666 |
%config(noreplace) %{_sysconfdir}/openldap/schema/dnszone.schema |
667 |
%{_sbindir}/named-sdb |
668 |
%{_sbindir}/zone2ldap |
669 |
%{_sbindir}/ldap2zone |
670 |
%{_sbindir}/zonetodb |
671 |
%{_sbindir}/zone2sqlite |
672 |
%endif |