1 |
|
2 |
# bcond_without is built by default, unless --without X is passed |
3 |
# bcond_with is built only when --with X is passed to build |
4 |
%bcond_with SYSTEMTEST |
5 |
%bcond_without GSSTSIG |
6 |
%bcond_without JSON |
7 |
# FIXME: Not ready. Should it be worked on? |
8 |
%bcond_without DLZ |
9 |
# New MaxMind GeoLite support |
10 |
%bcond_without GEOIP2 |
11 |
# Disabled temporarily until kyua is fixed on rawhide, bug #1926779 |
12 |
%bcond_without UNITTEST |
13 |
%bcond_without LMDB |
14 |
%bcond_with DOC |
15 |
%bcond_without MAN |
16 |
|
17 |
%define major_version 9.18.24 |
18 |
#define patch_version P4 |
19 |
%define dashpatch %{?patch_version:-%patch_version}%nil |
20 |
%define dotpatch %{?patch_version:.%patch_version}%nil |
21 |
%define chroot_prefix /var/named/chroot |
22 |
%define chroot_create_directories \\\ |
23 |
/dev /run/named %{_localstatedir}/{log,named,tmp} \\\ |
24 |
%{_sysconfdir}/{crypto-policies/back-ends,pki/dnssec-keys,named} \\\ |
25 |
%{_libdir}/bind %{_libdir}/named %{_datadir}/GeoIP |
26 |
|
27 |
%define libname %mklibname bind %version |
28 |
|
29 |
# libisc-nosym requires to be linked with unresolved symbols |
30 |
# When libisc-nosym linking is fixed, it can be defined to 1 |
31 |
# Visit https://bugzilla.redhat.com/show_bug.cgi?id=1540300 |
32 |
%define _disable_ld_no_undefined 1 |
33 |
|
34 |
Name: bind |
35 |
Version: %{major_version}%{dotpatch} |
36 |
Release: %mkrel 1 |
37 |
Summary: A DNS (Domain Name System) server |
38 |
License: MPLv2.0 |
39 |
Group: System/Servers |
40 |
URL: https://www.isc.org/bind |
41 |
Source0: https://downloads.isc.org/isc/bind9/%{version}/%{name}-%{version}.tar.xz |
42 |
|
43 |
Source1: named.sysconfig |
44 |
Source2: https://downloads.isc.org/isc/bind9/%{version}/%{name}-%{version}.tar.xz.asc |
45 |
Source3: named.logrotate |
46 |
Source4: https://downloads.isc.org/isc/pgpkeys/codesign2021.txt |
47 |
Source16: named.conf |
48 |
# Refresh by command: dig @a.root-servers.net. +tcp +norec |
49 |
# or from URL |
50 |
Source17: https://www.internic.net/domain/named.root |
51 |
Source18: named.localhost |
52 |
Source19: named.loopback |
53 |
Source20: named.empty |
54 |
Source23: named.rfc1912.zones |
55 |
Source25: named.conf.sample |
56 |
Source27: named.root.key |
57 |
Source35: bind.tmpfiles |
58 |
Source36: trusted-key.key |
59 |
Source37: named.service |
60 |
Source38: named-chroot.service |
61 |
Source41: setup-named-chroot.sh |
62 |
Source42: generate-rndc-key.sh |
63 |
Source43: named.rwtab |
64 |
Source44: named-chroot-setup.service |
65 |
Source46: named-setup-rndc.service |
66 |
Source48: setup-named-softhsm.sh |
67 |
Source49: named-chroot.files |
68 |
|
69 |
# fedora patches |
70 |
# FIXME: Is this still required? |
71 |
Patch10: bind-9.5-PIE.patch |
72 |
# https://bugzilla.redhat.com/show_bug.cgi?id=2122010 |
73 |
Patch26: bind-9.18-unittest-netmgr-unstable.patch |
74 |
|
75 |
# |
76 |
# Security Patches |
77 |
# Patch100 -> ... |
78 |
# |
79 |
|
80 |
Recommends: bind-utils |
81 |
Recommends: bind-dnssec-utils |
82 |
Requires(post): systemd >= %{systemd_required_version} |
83 |
Requires(post): rpm-helper >= 0.24.8-1 |
84 |
Requires(preun): rpm-helper >= 0.24.8-1 |
85 |
BuildRequires: pkgconfig(jemalloc) |
86 |
BuildRequires: pkgconfig(openssl) |
87 |
BuildRequires: pkgconfig(libidn2) |
88 |
BuildRequires: pkgconfig(libcap) >= 2.10 |
89 |
BuildRequires: pkgconfig(libxml-2.0) |
90 |
BuildRequires: pkgconfig(libnghttp2) |
91 |
BuildRequires: pkgconfig(readline) |
92 |
BuildRequires: systemd |
93 |
BuildRequires: pkgconfig(libuv) |
94 |
%if %{with DLZ} |
95 |
BuildRequires: openldap-devel |
96 |
BuildRequires: postgresql-devel |
97 |
BuildRequires: pkgconfig(sqlite3) |
98 |
BuildRequires: mysql-devel |
99 |
%endif |
100 |
%if %{with UNITTEST} || %{with SYSTEMTEST} |
101 |
BuildRequires: softhsm |
102 |
BuildRequires: pkgconfig(cmocka) |
103 |
%endif |
104 |
%if %{with SYSTEMTEST} |
105 |
# bin/tests/system dependencies |
106 |
BuildRequires: perl(Net::DNS) perl(Net::DNS::Nameserver) perl(Time::HiRes) perl(Getopt::Long) |
107 |
# manual configuration requires this tool |
108 |
BuildRequires: iproute |
109 |
%endif |
110 |
%if %{with GSSTSIG} |
111 |
BuildRequires: krb5-devel |
112 |
%endif |
113 |
%if %{with LMDB} |
114 |
BuildRequires: lmdb-devel |
115 |
%endif |
116 |
%if %{with JSON} |
117 |
BuildRequires: json-c-devel |
118 |
%endif |
119 |
%if %{with GEOIP2} |
120 |
BuildRequires: pkgconfig(libmaxminddb) |
121 |
%endif |
122 |
# Needed to regenerate dig.1 manpage |
123 |
%if %{with DOC} || %{with MAN} |
124 |
BuildRequires: python3-sphinx |
125 |
BuildRequires: python3-sphinx_rtd_theme |
126 |
BuildRequires: doxygen |
127 |
%endif |
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; a resolver library |
133 |
(routines for applications to use when interfacing with DNS); and |
134 |
tools for verifying that the DNS server is operating properly. |
135 |
|
136 |
%package utils |
137 |
Summary: Utilities for querying DNS name servers |
138 |
Group: Networking/Other |
139 |
Conflicts: bind < 9.11.5.P1-3 |
140 |
Conflicts: bind-dnssec-utils < 9.11.9 |
141 |
Obsoletes: %{name}-pkcs11-utils < 32:9.18.4-2 |
142 |
|
143 |
%description utils |
144 |
Bind-utils contains a collection of utilities for querying DNS (Domain |
145 |
Name System) name servers to find out information about Internet |
146 |
hosts. These tools will provide you with the IP addresses for given |
147 |
host names, as well as other information about registered domains and |
148 |
network addresses. |
149 |
|
150 |
You should install %{name}-utils if you need to get information from DNS name |
151 |
servers. |
152 |
|
153 |
%package dnssec-utils |
154 |
Summary: DNSSEC keys and zones management utilities |
155 |
Group: Networking/Other |
156 |
Conflicts: bind-utils < 9.11.5.P1-6 |
157 |
Obsoletes: python3-%{name} < 9.18.0 |
158 |
|
159 |
%description dnssec-utils |
160 |
%{name}-dnssec-utils contains a collection of utilities for editing |
161 |
DNSSEC keys and BIND zone files. These tools provide generation, |
162 |
revocation and verification of keys and DNSSEC signatures in zone files. |
163 |
|
164 |
You should install %{name}-dnssec-utils if you need to sign a DNS zone |
165 |
or maintain keys for it. |
166 |
|
167 |
%package -n %{libname} |
168 |
Summary: Libraries used by the BIND DNS packages |
169 |
Group: System/Libraries |
170 |
|
171 |
%description -n %{libname} |
172 |
Contains heavyweight version of BIND suite libraries used by both named DNS |
173 |
server and utilities in bind-utils package. |
174 |
|
175 |
%package devel |
176 |
Summary: Include files and libraries needed for bind-dyndb-ldap |
177 |
Group: Development/C |
178 |
Requires: %{libname} = %{version}-%{release} |
179 |
|
180 |
%description devel |
181 |
The %{name}-devel package contains full version of the header files and libraries |
182 |
required for building bind-dyndb-ldap. Upstream no longer supports nor recommends |
183 |
bind libraries for third party applications. |
184 |
|
185 |
%package chroot |
186 |
Summary: A chroot runtime environment for the ISC BIND DNS server, named(8) |
187 |
Prefix: %{chroot_prefix} |
188 |
# grep is required due to setup-named-chroot.sh script |
189 |
Requires: grep |
190 |
Requires: %{name} = %{version}-%{release} |
191 |
|
192 |
%description chroot |
193 |
This package contains a tree of files which can be used as a |
194 |
chroot(2) jail for the named(8) program from the BIND package. |
195 |
Based on the code from Jan "Yenya" Kasprzak <kas@fi.muni.cz> |
196 |
|
197 |
|
198 |
%if %{with DLZ} |
199 |
%package dlz-filesystem |
200 |
Summary: BIND server filesystem DLZ module |
201 |
Group: System/Servers |
202 |
Requires: bind = %{version}-%{release} |
203 |
|
204 |
%description dlz-filesystem |
205 |
Dynamic Loadable Zones filesystem module for BIND server. |
206 |
|
207 |
%package dlz-ldap |
208 |
Summary: BIND server ldap DLZ module |
209 |
Group: System/Servers |
210 |
Requires: bind = %{version}-%{release} |
211 |
|
212 |
%description dlz-ldap |
213 |
Dynamic Loadable Zones LDAP module for BIND server. |
214 |
|
215 |
%package dlz-mysql |
216 |
Summary: BIND server mysql and mysqldyn DLZ modules |
217 |
Group: System/Servers |
218 |
Requires: bind = %{version}-%{release} |
219 |
|
220 |
%description dlz-mysql |
221 |
Dynamic Loadable Zones MySQL module for BIND server. |
222 |
Contains also mysqldyn module with dynamic DNS updates (DDNS) support. |
223 |
|
224 |
%package dlz-sqlite3 |
225 |
Summary: BIND server sqlite3 DLZ module |
226 |
Requires: bind = %{version}-%{release} |
227 |
|
228 |
%description dlz-sqlite3 |
229 |
Dynamic Loadable Zones sqlite3 module for BIND server. |
230 |
%endif |
231 |
|
232 |
%if %{with DOC} |
233 |
%package doc |
234 |
Summary: BIND 9 Administrator Reference Manual |
235 |
Requires: python3-sphinx_rtd_theme |
236 |
BuildArch: noarch |
237 |
|
238 |
%description doc |
239 |
BIND (Berkeley Internet Name Domain) is an implementation of the DNS |
240 |
(Domain Name System) protocols. BIND includes a DNS server (named), |
241 |
which resolves host names to IP addresses; a resolver library |
242 |
(routines for applications to use when interfacing with DNS); and |
243 |
tools for verifying that the DNS server is operating properly. |
244 |
|
245 |
This package contains BIND 9 Administrator Reference Manual |
246 |
in HTML and PDF format. |
247 |
%endif |
248 |
|
249 |
%prep |
250 |
%autosetup -n %{name}-%{version} -p1 |
251 |
|
252 |
|
253 |
|
254 |
%build |
255 |
## We use out of tree configure/build for export libs |
256 |
%define _configure "../configure" |
257 |
|
258 |
%serverbuild |
259 |
|
260 |
CFLAGS="$CFLAGS $RPM_OPT_FLAGS" |
261 |
export CFLAGS |
262 |
export STD_CDEFINES="$CPPFLAGS" |
263 |
|
264 |
|
265 |
sed -i -e \ |
266 |
's/([bind_VERSION_EXTRA],\s*\([^)]*\))/([bind_VERSION_EXTRA], \1-RH)/' \ |
267 |
configure.ac |
268 |
|
269 |
autoreconf --force --install |
270 |
|
271 |
mkdir build |
272 |
|
273 |
%if %{with DLZ} |
274 |
# DLZ modules do not support oot builds. Copy files into build |
275 |
mkdir -p build/contrib/dlz |
276 |
cp -frp contrib/dlz/modules build/contrib/dlz/modules |
277 |
%endif |
278 |
|
279 |
pushd build |
280 |
LIBDIR_SUFFIX= |
281 |
export LIBDIR_SUFFIX |
282 |
%configure \ |
283 |
--localstatedir=%{_var} \ |
284 |
--with-pic \ |
285 |
--disable-static \ |
286 |
--includedir=%{_includedir}/bind9 \ |
287 |
--with-tuning=large \ |
288 |
--with-libidn2 \ |
289 |
%if %{with GEOIP2} |
290 |
--with-maxminddb \ |
291 |
%endif |
292 |
%if %{with GSSTSIG} |
293 |
--with-gssapi=yes \ |
294 |
%endif |
295 |
%if %{with LMDB} |
296 |
--with-lmdb=yes \ |
297 |
%else |
298 |
--with-lmdb=no \ |
299 |
%endif |
300 |
%if %{with JSON} |
301 |
--with-json-c \ |
302 |
%endif |
303 |
%if %{with UNITTEST} |
304 |
--with-cmocka \ |
305 |
%endif |
306 |
--enable-fixed-rrset \ |
307 |
--enable-full-report \ |
308 |
; |
309 |
|
310 |
|
311 |
%make_build |
312 |
|
313 |
%if %{with DOC} |
314 |
make doc |
315 |
%endif |
316 |
|
317 |
%if %{with DLZ} |
318 |
pushd contrib/dlz/modules |
319 |
for DIR in filesystem ldap mysql mysqldyn sqlite3; do |
320 |
make -C $DIR CFLAGS="-fPIC -I../include $CFLAGS $LDFLAGS -DPTHREADS=1" LDFLAGS="$LDFLAGS" |
321 |
done |
322 |
popd |
323 |
%endif |
324 |
|
325 |
popd # build |
326 |
|
327 |
%install |
328 |
|
329 |
# Build directory hierarchy |
330 |
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d |
331 |
mkdir -p %{buildroot}%{_libdir}/{bind,named} |
332 |
mkdir -p %{buildroot}%{_localstatedir}/named/{slaves,data,dynamic} |
333 |
mkdir -p %{buildroot}%{_mandir}/{man1,man5,man8} |
334 |
mkdir -p %{buildroot}/run/named |
335 |
mkdir -p %{buildroot}%{_localstatedir}/log |
336 |
|
337 |
#chroot |
338 |
for D in %{chroot_create_directories}; do |
339 |
mkdir -p %{buildroot}/%{chroot_prefix}${D} |
340 |
done |
341 |
|
342 |
# create symlink as it is on real filesystem |
343 |
pushd %{buildroot}/%{chroot_prefix}/var |
344 |
ln -s ../run run |
345 |
popd |
346 |
|
347 |
# these are required to prevent them being erased during upgrade of previous |
348 |
touch %{buildroot}/%{chroot_prefix}/etc/named.conf |
349 |
#end chroot |
350 |
|
351 |
pushd build |
352 |
%make_install |
353 |
popd |
354 |
|
355 |
# Remove unwanted files |
356 |
rm -f %{buildroot}/etc/bind.keys |
357 |
|
358 |
# Systemd unit files |
359 |
install -d -m 755 %{buildroot}%{_unitdir} |
360 |
install -m 644 %{SOURCE37} %{buildroot}%{_unitdir} |
361 |
install -m 644 %{SOURCE38} %{buildroot}%{_unitdir} |
362 |
install -m 644 %{SOURCE44} %{buildroot}%{_unitdir} |
363 |
install -m 644 %{SOURCE46} %{buildroot}%{_unitdir} |
364 |
|
365 |
mkdir -p %{buildroot}%{_libexecdir} |
366 |
install -m 755 %{SOURCE41} %{buildroot}%{_libexecdir}/setup-named-chroot.sh |
367 |
install -m 755 %{SOURCE42} %{buildroot}%{_libexecdir}/generate-rndc-key.sh |
368 |
|
369 |
install -m 755 %{SOURCE48} %{buildroot}%{_libexecdir}/setup-named-softhsm.sh |
370 |
|
371 |
install -m 644 %SOURCE3 %{buildroot}/etc/logrotate.d/named |
372 |
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig |
373 |
install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/sysconfig/named |
374 |
install -m 644 %{SOURCE49} %{buildroot}%{_sysconfdir}/named-chroot.files |
375 |
|
376 |
pushd ${RPM_BUILD_ROOT}%{_sbindir} |
377 |
# Compatibility with previous major versions, only for selected binaries |
378 |
for BIN in named-checkconf named-checkzone named-compilezone |
379 |
do |
380 |
ln -s ../bin/$BIN $BIN |
381 |
done |
382 |
popd |
383 |
|
384 |
%if %{with DLZ} |
385 |
pushd build |
386 |
pushd contrib/dlz/modules |
387 |
for DIR in filesystem ldap mysql mysqldyn sqlite3; do |
388 |
%make_install -C $DIR libdir=%{_libdir}/bind |
389 |
done |
390 |
pushd %{buildroot}/%{_libdir}/named |
391 |
cp -s ../bind/dlz_*.so . |
392 |
popd |
393 |
mkdir -p doc/{mysql,mysqldyn} |
394 |
cp -p mysqldyn/testing/README doc/mysqldyn/README.testing |
395 |
cp -p mysqldyn/testing/* doc/mysqldyn |
396 |
cp -p mysql/testing/* doc/mysql |
397 |
popd |
398 |
popd |
399 |
%endif |
400 |
|
401 |
# Remove libtool .la files: |
402 |
find %{buildroot}/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';'; |
403 |
|
404 |
install -d -m 755 %{buildroot}%{_sysconfdir}/rsyslog.d/ |
405 |
cat > %{buildroot}%{_sysconfdir}/rsyslog.d/named.conf <<'EOF' |
406 |
$AddUnixListenSocket %{chroot_prefix}/dev/log |
407 |
EOF |
408 |
|
409 |
# 9.16.4 installs even manual pages for tools not generated |
410 |
%if %{without DNSTAP} |
411 |
rm -f %{buildroot}%{_mandir}/man1/dnstap-read.1* || true |
412 |
%endif |
413 |
%if %{without LMDB} |
414 |
rm -f %{buildroot}%{_mandir}/man8/named-nzd2nzf.8* || true |
415 |
%endif |
416 |
|
417 |
pushd %{buildroot}%{_mandir}/man8 |
418 |
ln -s ddns-confgen.8.gz tsig-keygen.8.gz |
419 |
popd |
420 |
pushd ${RPM_BUILD_ROOT}%{_mandir}/man1 |
421 |
ln -s named-checkzone.1.gz named-compilezone.1.gz |
422 |
popd |
423 |
|
424 |
%if %{with DOC} |
425 |
mkdir -p %{buildroot}%{_pkgdocdir} |
426 |
cp -a build/doc/arm/_build/html %{buildroot}%{_pkgdocdir} |
427 |
rm -rf %{buildroot}%{_pkgdocdir}/html/.{buildinfo,doctrees} |
428 |
# Share static data from original sphinx package |
429 |
for DIR in %{python3_sitelib}/sphinx_rtd_theme/static/* |
430 |
do |
431 |
BASE=$(basename -- "$DIR") |
432 |
BINDTHEMEDIR="%{buildroot}%{_pkgdocdir}/html/_static/$BASE" |
433 |
if [ -d "$BINDTHEMEDIR" ]; then |
434 |
rm -rf "$BINDTHEMEDIR" |
435 |
ln -s "$DIR" "$BINDTHEMEDIR" |
436 |
fi |
437 |
done |
438 |
%endif |
439 |
|
440 |
# Ghost config files: |
441 |
touch %{buildroot}%{_localstatedir}/log/named.log |
442 |
|
443 |
# configuration files: |
444 |
install -m 644 %{SOURCE16} %{buildroot}%{_sysconfdir}/named.conf |
445 |
touch %{buildroot}%{_sysconfdir}/rndc.{key,conf} |
446 |
install -m 644 %{SOURCE27} %{buildroot}%{_sysconfdir}/named.root.key |
447 |
install -m 644 %{SOURCE36} %{buildroot}%{_sysconfdir}/trusted-key.key |
448 |
mkdir %{buildroot}%{_sysconfdir}/named |
449 |
|
450 |
# data files: |
451 |
mkdir -p %{buildroot}%{_localstatedir}/named |
452 |
install -m 644 %{SOURCE17} %{buildroot}%{_localstatedir}/named/named.ca |
453 |
install -m 644 %{SOURCE18} %{buildroot}%{_localstatedir}/named/named.localhost |
454 |
install -m 644 %{SOURCE19} %{buildroot}%{_localstatedir}/named/named.loopback |
455 |
install -m 644 %{SOURCE20} %{buildroot}%{_localstatedir}/named/named.empty |
456 |
install -m 644 %{SOURCE23} %{buildroot}%{_sysconfdir}/named.rfc1912.zones |
457 |
|
458 |
# sample bind configuration files for %%doc: |
459 |
mkdir -p sample/etc sample/var/named/{data,slaves} |
460 |
install -m 644 %{SOURCE25} sample/etc/named.conf |
461 |
# Copy default configuration to %%doc to make it usable from system-config-bind |
462 |
install -m 644 %{SOURCE16} named.conf.default |
463 |
install -m 644 %{SOURCE23} sample/etc/named.rfc1912.zones |
464 |
install -m 644 %{SOURCE18} %{SOURCE19} %{SOURCE20} sample/var/named |
465 |
install -m 644 %{SOURCE17} sample/var//named/named.ca |
466 |
for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.internal.zone.db my.external.zone.db; do |
467 |
echo '@ in soa localhost. root 1 3H 15M 1W 1D |
468 |
ns localhost.' > sample/var/named/$f; |
469 |
done |
470 |
:; |
471 |
|
472 |
mkdir -p %{buildroot}%{_tmpfilesdir} |
473 |
install -m 644 %{SOURCE35} %{buildroot}%{_tmpfilesdir}/named.conf |
474 |
|
475 |
mkdir -p %{buildroot}%{_sysconfdir}/rwtab.d |
476 |
install -m 644 %{SOURCE43} %{buildroot}%{_sysconfdir}/rwtab.d/named |
477 |
|
478 |
%triggerun -- bind < 9.11.5.P1-2.mga7 |
479 |
# stop the service so as to be able to umount old chroot |
480 |
systemctl condstop named.service |
481 |
|
482 |
%pre |
483 |
%_pre_useradd named /var/named /bin/false |
484 |
|
485 |
%post |
486 |
%_tmpfilescreate named |
487 |
%_post_service named |
488 |
|
489 |
%preun |
490 |
%_preun_service named |
491 |
|
492 |
%postun |
493 |
%_postun_userdel named |
494 |
|
495 |
%post chroot |
496 |
%_post_service named-chroot |
497 |
|
498 |
%preun chroot |
499 |
%_preun_service named-chroot |
500 |
%_preun_service named-chroot-setup |
501 |
|
502 |
%files |
503 |
# TODO: Move from lib/bind to lib/named, as used by upstream |
504 |
# FIXME: current build targets filters into %%_libdir/bind again? |
505 |
%dir %{_libdir}/bind |
506 |
%{_libdir}/bind/filter*.so |
507 |
%dir %{_libdir}/named |
508 |
%config(noreplace) %{_sysconfdir}/sysconfig/named |
509 |
%config(noreplace) %{_sysconfdir}/named.root.key |
510 |
%config(noreplace) %{_sysconfdir}/logrotate.d/named |
511 |
%{_tmpfilesdir}/named.conf |
512 |
%{_sysconfdir}/rwtab.d/named |
513 |
%{_unitdir}/named.service |
514 |
%{_unitdir}/named-setup-rndc.service |
515 |
%{_bindir}/named-journalprint |
516 |
%{_bindir}/named-checkconf |
517 |
%{_bindir}/named-rrchecker |
518 |
%{_bindir}/mdig |
519 |
%{_sbindir}/named |
520 |
%{_sbindir}/rndc* |
521 |
%{_sbindir}/named-checkconf |
522 |
%{_libexecdir}/generate-rndc-key.sh |
523 |
%{_libexecdir}/setup-named-softhsm.sh |
524 |
%{_mandir}/man1/mdig.1* |
525 |
%{_mandir}/man1/named-rrchecker.1* |
526 |
%{_mandir}/man5/named.conf.5* |
527 |
%{_mandir}/man5/rndc.conf.5* |
528 |
%{_mandir}/man8/rndc.8* |
529 |
%{_mandir}/man8/named.8* |
530 |
%{_mandir}/man1/named-checkconf.1* |
531 |
%{_mandir}/man8/rndc-confgen.8* |
532 |
%{_mandir}/man1/named-journalprint.1* |
533 |
%{_mandir}/man8/filter-*.8* |
534 |
%doc CHANGES README.md named.conf.default |
535 |
%doc sample/ |
536 |
|
537 |
# main configuration |
538 |
%dir %{_sysconfdir}/named |
539 |
%config(noreplace) %verify(not link) %{_sysconfdir}/named.conf |
540 |
%config(noreplace) %verify(not link) %{_sysconfdir}/named.rfc1912.zones |
541 |
%attr(-,named,named) %dir %{_localstatedir}/named |
542 |
%attr(-,named,named) %dir %{_localstatedir}/named/slaves |
543 |
%attr(-,named,named) %dir %{_localstatedir}/named/data |
544 |
%attr(-,named,named) %dir %{_localstatedir}/named/dynamic |
545 |
%ghost %{_localstatedir}/log/named.log |
546 |
%config %verify(not link) %{_localstatedir}/named/named.ca |
547 |
%config %verify(not link) %{_localstatedir}/named/named.localhost |
548 |
%config %verify(not link) %{_localstatedir}/named/named.loopback |
549 |
%config %verify(not link) %{_localstatedir}/named/named.empty |
550 |
%ghost %config(noreplace) %{_sysconfdir}/rndc.key |
551 |
# ^- rndc.key now created on first install only if it does not exist |
552 |
%ghost %config(noreplace) %{_sysconfdir}/rndc.conf |
553 |
# ^- The default rndc.conf which uses rndc.key is in named's default internal config - |
554 |
# so rndc.conf is not necessary. |
555 |
|
556 |
%files -n %{libname} |
557 |
%{_libdir}/libdns-%{version}.so |
558 |
%{_libdir}/libirs-%{version}.so |
559 |
%{_libdir}/libisc-%{version}.so |
560 |
%{_libdir}/libbind9-%{version}.so |
561 |
%{_libdir}/libns-%{version}.so |
562 |
%{_libdir}/libisccc-%{version}.so |
563 |
%{_libdir}/libisccfg-%{version}.so |
564 |
|
565 |
|
566 |
%files utils |
567 |
%{_bindir}/dig |
568 |
%{_bindir}/delv |
569 |
%{_bindir}/host |
570 |
%{_bindir}/nslookup |
571 |
%{_bindir}/nsupdate |
572 |
%{_bindir}/arpaname |
573 |
%{_sbindir}/ddns-confgen |
574 |
%{_sbindir}/tsig-keygen |
575 |
%{_bindir}/nsec3hash |
576 |
%{_bindir}/named-checkzone |
577 |
%{_bindir}/named-compilezone |
578 |
%{_sbindir}/named-checkzone |
579 |
%{_sbindir}/named-compilezone |
580 |
%if %{with DNSTAP} |
581 |
%{_bindir}/dnstap-read |
582 |
%{_mandir}/man1/dnstap-read.1* |
583 |
%endif |
584 |
%if %{with LMDB} |
585 |
%{_bindir}/named-nzd2nzf |
586 |
%{_mandir}/man1/named-nzd2nzf.1* |
587 |
%endif |
588 |
%{_mandir}/man1/host.1* |
589 |
%{_mandir}/man1/nsupdate.1* |
590 |
%{_mandir}/man1/dig.1* |
591 |
%{_mandir}/man1/delv.1* |
592 |
%{_mandir}/man1/nslookup.1* |
593 |
%{_mandir}/man1/arpaname.1* |
594 |
%{_mandir}/man8/ddns-confgen.8* |
595 |
%{_mandir}/man8/tsig-keygen.8* |
596 |
%{_mandir}/man1/nsec3hash.1* |
597 |
%{_mandir}/man1/named-checkzone.1* |
598 |
%{_mandir}/man1/named-compilezone.1* |
599 |
%{_sysconfdir}/trusted-key.key |
600 |
|
601 |
%files dnssec-utils |
602 |
%{_bindir}/dnssec* |
603 |
%{_mandir}/man1/dnssec*.1* |
604 |
|
605 |
%files devel |
606 |
%{_libdir}/libbind9.so |
607 |
%{_libdir}/libisccc.so |
608 |
%{_libdir}/libns.so |
609 |
%{_libdir}/libdns.so |
610 |
%{_libdir}/libirs.so |
611 |
%{_libdir}/libisc.so |
612 |
%{_libdir}/libisccfg.so |
613 |
%dir %{_includedir}/bind9 |
614 |
%{_includedir}/bind9/bind9 |
615 |
%{_includedir}/bind9/isccc |
616 |
%{_includedir}/bind9/ns |
617 |
%{_includedir}/bind9/dns |
618 |
%{_includedir}/bind9/dst |
619 |
%{_includedir}/bind9/irs |
620 |
%{_includedir}/bind9/isc |
621 |
%{_includedir}/bind9/isccfg |
622 |
|
623 |
%files chroot |
624 |
%config(noreplace) %{_sysconfdir}/rsyslog.d/named.conf |
625 |
%config(noreplace) %{_sysconfdir}/named-chroot.files |
626 |
%{_unitdir}/named-chroot.service |
627 |
%{_unitdir}/named-chroot-setup.service |
628 |
%{_libexecdir}/setup-named-chroot.sh |
629 |
%defattr(0664,root,named,-) |
630 |
%ghost %dev(c,1,3) %verify(not mtime) %{chroot_prefix}/dev/null |
631 |
%ghost %dev(c,1,8) %verify(not mtime) %{chroot_prefix}/dev/random |
632 |
%ghost %dev(c,1,9) %verify(not mtime) %{chroot_prefix}/dev/urandom |
633 |
%ghost %dev(c,1,5) %verify(not mtime) %{chroot_prefix}/dev/zero |
634 |
%defattr(0644,root,named,0755) |
635 |
%dir %{chroot_prefix} |
636 |
%dir %{chroot_prefix}/dev |
637 |
%dir %{chroot_prefix}%{_sysconfdir} |
638 |
%dir %{chroot_prefix}%{_sysconfdir}/named |
639 |
%dir %{chroot_prefix}%{_sysconfdir}/pki |
640 |
%dir %{chroot_prefix}%{_sysconfdir}/pki/dnssec-keys |
641 |
%dir %{chroot_prefix}%{_sysconfdir}/crypto-policies |
642 |
%dir %{chroot_prefix}%{_sysconfdir}/crypto-policies/back-ends |
643 |
%dir %{chroot_prefix}%{_localstatedir} |
644 |
%dir %{chroot_prefix}/run |
645 |
%ghost %config(noreplace) %{chroot_prefix}%{_sysconfdir}/named.conf |
646 |
%defattr(-,root,root,-) |
647 |
%dir %{chroot_prefix}/usr |
648 |
%dir %{chroot_prefix}/%{_libdir} |
649 |
%dir %{chroot_prefix}/%{_libdir}/bind |
650 |
%dir %{chroot_prefix}/%{_datadir}/GeoIP |
651 |
%defattr(0664,root,named,01775) |
652 |
%dir %{chroot_prefix}%{_localstatedir}/named |
653 |
%defattr(0664,named,named,0775) |
654 |
%dir %{chroot_prefix}%{_localstatedir}/tmp |
655 |
%dir %{chroot_prefix}%{_localstatedir}/log |
656 |
%defattr(-,named,named,-) |
657 |
%dir %{chroot_prefix}/run/named |
658 |
%{chroot_prefix}%{_localstatedir}/run |
659 |
|
660 |
%if %{with DLZ} |
661 |
%files dlz-filesystem |
662 |
%{_libdir}/{named,bind}/dlz_filesystem_dynamic.so |
663 |
|
664 |
%files dlz-mysql |
665 |
%{_libdir}/{named,bind}/dlz_mysql_dynamic.so |
666 |
%doc build/contrib/dlz/modules/doc/mysql |
667 |
%{_libdir}/{named,bind}/dlz_mysqldyn_mod.so |
668 |
%doc build/contrib/dlz/modules/doc/mysqldyn |
669 |
|
670 |
%files dlz-ldap |
671 |
%{_libdir}/{named,bind}/dlz_ldap_dynamic.so |
672 |
%doc contrib/dlz/modules/ldap/testing/* |
673 |
|
674 |
%files dlz-sqlite3 |
675 |
%{_libdir}/{named,bind}/dlz_sqlite3_dynamic.so |
676 |
%doc contrib/dlz/modules/sqlite3/testing/* |
677 |
|
678 |
%endif |
679 |
|
680 |
%if %{with DOC} |
681 |
%files doc |
682 |
%dir %{_pkgdocdir} |
683 |
%doc %{_pkgdocdir}/html |
684 |
%doc %{_pkgdocdir}/Bv9ARM.html |
685 |
%endif |