| 1 | #%define PATCHVER P4 | 
|---|
| 2 | #%define PREVER rc1 | 
|---|
| 3 | #%define VERSION %{version}%{PREVER} | 
|---|
| 4 | #%define VERSION %{version}-%{PATCHVER} | 
|---|
| 5 | %define VERSION %{version} | 
|---|
| 6 |  | 
|---|
| 7 | %{?!SDB:       %define SDB       0} | 
|---|
| 8 | %{?!test:      %define test      0} | 
|---|
| 9 | %{?!bind_uid:  %define bind_uid  25} | 
|---|
| 10 | %{?!bind_gid:  %define bind_gid  25} | 
|---|
| 11 | %{?!GSSTSIG:   %define GSSTSIG   0} | 
|---|
| 12 | %{?!PKCS11:    %define PKCS11    0} | 
|---|
| 13 | %{?!DEVEL:     %define DEVEL     1} | 
|---|
| 14 | %define        bind_dir          /@unixroot/var/named | 
|---|
| 15 | %define        chroot_prefix     %{bind_dir}/chroot | 
|---|
| 16 |  | 
|---|
| 17 | # | 
|---|
| 18 | Summary:  The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server | 
|---|
| 19 | Name:     bind | 
|---|
| 20 | License:  ISC | 
|---|
| 21 | Version:  9.8.1 | 
|---|
| 22 | Release:  1%{?dist} | 
|---|
| 23 | Url:      http://www.isc.org/products/BIND/ | 
|---|
| 24 | Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | 
|---|
| 25 | Group:    System Environment/Daemons | 
|---|
| 26 | # | 
|---|
| 27 | Source:   ftp://ftp.isc.org/isc/bind9/%{VERSION}/bind-%{VERSION}.tar.gz | 
|---|
| 28 |  | 
|---|
| 29 | #Source8:  dnszone.schema | 
|---|
| 30 | Source25: named.conf.sample | 
|---|
| 31 | Source28: config-8.tar.bz2 | 
|---|
| 32 | Source35: bind.tmpfiles.d | 
|---|
| 33 | Source36: trusted-key.key | 
|---|
| 34 |  | 
|---|
| 35 | Patch0:  bind-os2.patch | 
|---|
| 36 |  | 
|---|
| 37 | # | 
|---|
| 38 | #Requires:       mktemp | 
|---|
| 39 | #Requires:       systemd-units | 
|---|
| 40 | #Requires:       bind-libs = %{version}-%{release} | 
|---|
| 41 | Obsoletes:      bind-config < 30:9.3.2-34.fc6 | 
|---|
| 42 | Provides:       bind-config = 30:9.3.2-34.fc6 | 
|---|
| 43 | Obsoletes:      caching-nameserver < 31:9.4.1-7.fc8 | 
|---|
| 44 | Provides:       caching-nameserver = 31:9.4.1-7.fc8 | 
|---|
| 45 | Obsoletes:      dnssec-conf < 1.27-2 | 
|---|
| 46 | Provides:       dnssec-conf = 1.27-1 | 
|---|
| 47 | BuildRequires:  openssl-devel, autoconf, pkgconfig, libxml2-devel | 
|---|
| 48 | #BuildRequires:  libidn-devel, libcap-devel, libtool | 
|---|
| 49 | %if %{SDB} | 
|---|
| 50 | BuildRequires:  openldap-devel, postgresql-devel, sqlite-devel, mysql-devel | 
|---|
| 51 | %endif | 
|---|
| 52 | %if %{test} | 
|---|
| 53 | BuildRequires:  net-tools | 
|---|
| 54 | %endif | 
|---|
| 55 | %if %{GSSTSIG} | 
|---|
| 56 | BuildRequires:  krb5-devel | 
|---|
| 57 | %endif | 
|---|
| 58 |  | 
|---|
| 59 | # Comment from atkac: | 
|---|
| 60 | # | 
|---|
| 61 | # Don't extract provides for the following libraries. Non-BIND9 | 
|---|
| 62 | # applications should not use them, they should use libraries | 
|---|
| 63 | # from bind-libs-lite package. | 
|---|
| 64 | # | 
|---|
| 65 | # Since bind-libs-lite doesn't contain some libraries used by all | 
|---|
| 66 | # BIND9 programs (like liblwres) use those "internal" libraries for | 
|---|
| 67 | # dependency resolution. If, for example, bind package requires | 
|---|
| 68 | # libdns.so then it will automatically pull in both bind-libs | 
|---|
| 69 | # and bind-libs-lite (which is incorrect, only bind-libs is needed) | 
|---|
| 70 | %{?filter_setup: | 
|---|
| 71 | %filter_provides_in %{_libdir}/bind9/libdns\.so.* | 
|---|
| 72 | %filter_provides_in %{_libdir}/bind9/libisc\.so.* | 
|---|
| 73 | %filter_provides_in %{_libdir}/bind9/libisccfg\.so.* | 
|---|
| 74 | %filter_from_requires /libdns\.so.*/d | 
|---|
| 75 | %filter_from_requires /libisc\.so.*/d | 
|---|
| 76 | %filter_from_requires /libisccfg\.so.*/d | 
|---|
| 77 | %filter_setup | 
|---|
| 78 | } | 
|---|
| 79 |  | 
|---|
| 80 | %description | 
|---|
| 81 | BIND (Berkeley Internet Name Domain) is an implementation of the DNS | 
|---|
| 82 | (Domain Name System) protocols. BIND includes a DNS server (named), | 
|---|
| 83 | which resolves host names to IP addresses; a resolver library | 
|---|
| 84 | (routines for applications to use when interfacing with DNS); and | 
|---|
| 85 | tools for verifying that the DNS server is operating properly. | 
|---|
| 86 |  | 
|---|
| 87 | %if %{PKCS11} | 
|---|
| 88 | %package pkcs11 | 
|---|
| 89 | Summary: Bind PKCS#11 tools for using DNSSEC | 
|---|
| 90 | Group:   System Environment/Daemons | 
|---|
| 91 | Requires: engine_pkcs11 opensc | 
|---|
| 92 | #BuildRequires: opensc-devel | 
|---|
| 93 |  | 
|---|
| 94 | %description pkcs11 | 
|---|
| 95 | This is a set of PKCS#11 utilities that when used together create rsa | 
|---|
| 96 | keys in a PKCS11 keystore, such as provided by opencryptoki. The keys | 
|---|
| 97 | will have a label of "zone,zsk|ksk,xxx" and an id of the keytag in hex. | 
|---|
| 98 | %endif | 
|---|
| 99 |  | 
|---|
| 100 | %if %{SDB} | 
|---|
| 101 | %package sdb | 
|---|
| 102 | Summary: BIND server with database backends and DLZ support | 
|---|
| 103 | Group:   System Environment/Daemons | 
|---|
| 104 | Requires: bind | 
|---|
| 105 |  | 
|---|
| 106 | %description sdb | 
|---|
| 107 | BIND (Berkeley Internet Name Domain) is an implementation of the DNS | 
|---|
| 108 | (Domain Name System) protocols. BIND includes a DNS server (named-sdb) | 
|---|
| 109 | which has compiled-in SDB (Simplified Database Backend) which includes | 
|---|
| 110 | support for using alternative Zone Databases stored in an LDAP server | 
|---|
| 111 | (ldapdb), a postgreSQL database (pgsqldb), an sqlite database (sqlitedb), | 
|---|
| 112 | or in the filesystem (dirdb), in addition to the standard in-memory RBT | 
|---|
| 113 | (Red Black Tree) zone database. It also includes support for DLZ | 
|---|
| 114 | (Dynamic Loadable Zones) | 
|---|
| 115 | %endif | 
|---|
| 116 |  | 
|---|
| 117 | %package libs-lite | 
|---|
| 118 | Summary:  Libraries for working with the DNS protocol | 
|---|
| 119 | Group:    Applications/System | 
|---|
| 120 | Obsoletes:bind-libbind-devel < 31:9.3.3-4.fc7 | 
|---|
| 121 | Provides: bind-libbind-devel = 31:9.3.3-4.fc7 | 
|---|
| 122 | Requires: bind-license = %{version}-%{release} | 
|---|
| 123 |  | 
|---|
| 124 | %description libs-lite | 
|---|
| 125 | Contains lite version of BIND suite libraries which are used by various | 
|---|
| 126 | programs to work with DNS protocol. | 
|---|
| 127 |  | 
|---|
| 128 | %package libs | 
|---|
| 129 | Summary: Libraries used by the BIND DNS packages | 
|---|
| 130 | Group:    Applications/System | 
|---|
| 131 | Requires: bind-license = %{version}-%{release} | 
|---|
| 132 |  | 
|---|
| 133 | %description libs | 
|---|
| 134 | Contains heavyweight version of BIND suite libraries used by both named DNS | 
|---|
| 135 | server and utilities in bind-utils package. | 
|---|
| 136 |  | 
|---|
| 137 | %package license | 
|---|
| 138 | Summary:  License of the BIND DNS suite | 
|---|
| 139 | Group:    Applications/System | 
|---|
| 140 | BuildArch:noarch | 
|---|
| 141 |  | 
|---|
| 142 | %description license | 
|---|
| 143 | Contains license of the BIND DNS suite. | 
|---|
| 144 |  | 
|---|
| 145 | %package utils | 
|---|
| 146 | Summary: Utilities for querying DNS name servers | 
|---|
| 147 | Group:   Applications/System | 
|---|
| 148 |  | 
|---|
| 149 | %description utils | 
|---|
| 150 | Bind-utils contains a collection of utilities for querying DNS (Domain | 
|---|
| 151 | Name System) name servers to find out information about Internet | 
|---|
| 152 | hosts. These tools will provide you with the IP addresses for given | 
|---|
| 153 | host names, as well as other information about registered domains and | 
|---|
| 154 | network addresses. | 
|---|
| 155 |  | 
|---|
| 156 | You should install bind-utils if you need to get information from DNS name | 
|---|
| 157 | servers. | 
|---|
| 158 |  | 
|---|
| 159 | %if %{DEVEL} | 
|---|
| 160 | %package devel | 
|---|
| 161 | Summary:  Header files and libraries needed for BIND DNS development | 
|---|
| 162 | Group:    Development/Libraries | 
|---|
| 163 | Obsoletes:bind-libbind-devel < 31:9.3.3-4.fc7 | 
|---|
| 164 | Provides: bind-libbind-devel = 31:9.3.3-4.fc7 | 
|---|
| 165 | Requires: bind-libs = %{version}-%{release} | 
|---|
| 166 |  | 
|---|
| 167 | %description devel | 
|---|
| 168 | The bind-devel package contains full version of the header files and libraries | 
|---|
| 169 | required for development with ISC BIND 9 | 
|---|
| 170 | %endif | 
|---|
| 171 |  | 
|---|
| 172 | %package lite-devel | 
|---|
| 173 | Summary:  Lite version of header files and libraries needed for BIND DNS development | 
|---|
| 174 | Group:    Development/Libraries | 
|---|
| 175 | Requires: bind-libs-lite = %{version}-%{release} | 
|---|
| 176 |  | 
|---|
| 177 | %description lite-devel | 
|---|
| 178 | The bind-lite-devel package contains lite version of the header | 
|---|
| 179 | files and libraries required for development with ISC BIND 9 | 
|---|
| 180 |  | 
|---|
| 181 | %package chroot | 
|---|
| 182 | Summary:        A chroot runtime environment for the ISC BIND DNS server, named(8) | 
|---|
| 183 | Group:          System Environment/Daemons | 
|---|
| 184 | Prefix:         %{chroot_prefix} | 
|---|
| 185 | Requires:       bind = %{version}-%{release} | 
|---|
| 186 |  | 
|---|
| 187 | %description chroot | 
|---|
| 188 | This package contains a tree of files which can be used as a | 
|---|
| 189 | chroot(2) jail for the named(8) program from the BIND package. | 
|---|
| 190 | Based on the code from Jan "Yenya" Kasprzak <kas@fi.muni.cz> | 
|---|
| 191 |  | 
|---|
| 192 | %prep | 
|---|
| 193 | %setup -q -n %{name}-%{VERSION} | 
|---|
| 194 |  | 
|---|
| 195 | # Common patches | 
|---|
| 196 | %patch0 -p1 -b .os2 | 
|---|
| 197 | :; | 
|---|
| 198 |  | 
|---|
| 199 | %build | 
|---|
| 200 | export CFLAGS="$CFLAGS $RPM_OPT_FLAGS" | 
|---|
| 201 | export CPPFLAGS="$CPPFLAGS -DDIG_SIGCHASE" | 
|---|
| 202 | export STD_CDEFINES="$CPPFLAGS" | 
|---|
| 203 | export CONFIG_SHELL="/@unixroot/usr/bin/sh.exe" | 
|---|
| 204 | # YD -Zhigh-mem is not compatible with some tcpip libc functions | 
|---|
| 205 | export LDFLAGS="-Zexe -Zomf -Zargs-wild -Zargs-resp" | 
|---|
| 206 | export LIBS="-lurpo -lmmap -lpthread" | 
|---|
| 207 |  | 
|---|
| 208 | sed -i -e \ | 
|---|
| 209 | 's/RELEASEVER=\(.*\)/RELEASEVER=\1-OS2-%{version}-%{release}/' \ | 
|---|
| 210 | version | 
|---|
| 211 |  | 
|---|
| 212 | %configure \ | 
|---|
| 213 | --with-libtool \ | 
|---|
| 214 | --enable-threads \ | 
|---|
| 215 | --disable-ipv6 \ | 
|---|
| 216 | --with-pic \ | 
|---|
| 217 | --disable-static \ | 
|---|
| 218 | --disable-openssl-version-check \ | 
|---|
| 219 | --with-openssl=%{_prefix} \ | 
|---|
| 220 | --enable-exportlib \ | 
|---|
| 221 | --with-export-libdir=%{_libdir} \ | 
|---|
| 222 | --with-export-includedir=%{_includedir} \ | 
|---|
| 223 | --includedir=%{_includedir}/bind9 \ | 
|---|
| 224 | %if %{PKCS11} | 
|---|
| 225 | --with-pkcs11=%{_libdir}/pkcs11/PKCS11_API.so \ | 
|---|
| 226 | %endif | 
|---|
| 227 | %if %{SDB} | 
|---|
| 228 | --with-dlz-ldap=yes \ | 
|---|
| 229 | --with-dlz-postgres=yes \ | 
|---|
| 230 | --with-dlz-mysql=yes \ | 
|---|
| 231 | --with-dlz-filesystem=yes \ | 
|---|
| 232 | %endif | 
|---|
| 233 | %if %{GSSTSIG} | 
|---|
| 234 | --with-gssapi=yes \ | 
|---|
| 235 | --disable-isc-spnego \ | 
|---|
| 236 | %endif | 
|---|
| 237 | "--cache-file=%{_topdir}/cache/%{name}-%{_target_cpu}.cache" | 
|---|
| 238 |  | 
|---|
| 239 | make %{?_smp_mflags} | 
|---|
| 240 |  | 
|---|
| 241 | %if %{test} | 
|---|
| 242 | %check | 
|---|
| 243 | if [ "`whoami`" = 'root' ]; then | 
|---|
| 244 | set -e | 
|---|
| 245 | chmod -R a+rwX . | 
|---|
| 246 | pushd bin/tests | 
|---|
| 247 | pushd system | 
|---|
| 248 | ./ifconfig.sh up | 
|---|
| 249 | popd | 
|---|
| 250 | make test | 
|---|
| 251 | e=$? | 
|---|
| 252 | pushd system | 
|---|
| 253 | ./ifconfig.sh down | 
|---|
| 254 | popd | 
|---|
| 255 | popd | 
|---|
| 256 | if [ "$e" -ne 0 ]; then | 
|---|
| 257 | echo "ERROR: this build of BIND failed 'make test'. Aborting." | 
|---|
| 258 | exit $e; | 
|---|
| 259 | fi; | 
|---|
| 260 | else | 
|---|
| 261 | echo 'only root can run the tests (they require an ifconfig).' | 
|---|
| 262 | %endif | 
|---|
| 263 |  | 
|---|
| 264 | %install | 
|---|
| 265 | rm -rf ${RPM_BUILD_ROOT} | 
|---|
| 266 | make DESTDIR=${RPM_BUILD_ROOT} install | 
|---|
| 267 |  | 
|---|
| 268 | install -m 755 lib/bind9/bind9.dll $RPM_BUILD_ROOT/%{_libdir} | 
|---|
| 269 |  | 
|---|
| 270 | gzip -9 doc/rfc/* | 
|---|
| 271 |  | 
|---|
| 272 | # Build directory hierarchy | 
|---|
| 273 | mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d | 
|---|
| 274 | mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d | 
|---|
| 275 | mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/NetworkManager/dispatcher.d | 
|---|
| 276 | mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/bind | 
|---|
| 277 | mkdir -p ${RPM_BUILD_ROOT}%{_var}/named/slaves | 
|---|
| 278 | mkdir -p ${RPM_BUILD_ROOT}%{_var}/named/data | 
|---|
| 279 | mkdir -p ${RPM_BUILD_ROOT}%{_var}/named/dynamic | 
|---|
| 280 | mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1 | 
|---|
| 281 | mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man5 | 
|---|
| 282 | mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8 | 
|---|
| 283 | mkdir -p ${RPM_BUILD_ROOT}%{_var}/run/named | 
|---|
| 284 | mkdir -p ${RPM_BUILD_ROOT}%{_var}/log | 
|---|
| 285 |  | 
|---|
| 286 | #chroot | 
|---|
| 287 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev | 
|---|
| 288 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc | 
|---|
| 289 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/var | 
|---|
| 290 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/var/log | 
|---|
| 291 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/var/named | 
|---|
| 292 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/var/run/named | 
|---|
| 293 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/var/tmp | 
|---|
| 294 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/pki/dnssec-keys | 
|---|
| 295 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/named | 
|---|
| 296 | mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/%{_libdir}/bind | 
|---|
| 297 | # these are required to prevent them being erased during upgrade of previous | 
|---|
| 298 | # versions that included them (bug #130121): | 
|---|
| 299 | touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/null | 
|---|
| 300 | touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/random | 
|---|
| 301 | touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/zero | 
|---|
| 302 | touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/localtime | 
|---|
| 303 |  | 
|---|
| 304 | touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/named.conf | 
|---|
| 305 | #end chroot | 
|---|
| 306 |  | 
|---|
| 307 | # Remove unwanted files | 
|---|
| 308 | rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/bind.keys | 
|---|
| 309 |  | 
|---|
| 310 | #install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d/named | 
|---|
| 311 | #install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/named | 
|---|
| 312 | #install -m 755 %SOURCE4 ${RPM_BUILD_ROOT}%{_sysconfdir}/NetworkManager/dispatcher.d/13-named | 
|---|
| 313 | mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig | 
|---|
| 314 | #install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/named | 
|---|
| 315 | %if %{SDB} | 
|---|
| 316 | mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema | 
|---|
| 317 | install -m 644 %{SOURCE8} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema/dnszone.schema | 
|---|
| 318 | install -m 644 %{SOURCE12} contrib/sdb/pgsql/ | 
|---|
| 319 | %endif | 
|---|
| 320 |  | 
|---|
| 321 | # Files required to run test-suite outside of build tree: | 
|---|
| 322 | cp -fp config.h ${RPM_BUILD_ROOT}/%{_includedir}/bind9 | 
|---|
| 323 | cp -fp lib/dns/include/dns/forward.h ${RPM_BUILD_ROOT}/%{_includedir}/dns | 
|---|
| 324 | cp -fp lib/isc/unix/include/isc/keyboard.h ${RPM_BUILD_ROOT}/%{_includedir}/isc | 
|---|
| 325 |  | 
|---|
| 326 | # Remove libtool .la files: | 
|---|
| 327 | rm -f ${RPM_BUILD_ROOT}/%{_libdir}/*.la | 
|---|
| 328 |  | 
|---|
| 329 | # Remove -devel files out of buildroot if not needed | 
|---|
| 330 | %if !%{DEVEL} | 
|---|
| 331 | rm -f ${RPM_BUILD_ROOT}/%{_libdir}/bind9/*so | 
|---|
| 332 | rm -rf ${RPM_BUILD_ROOT}/%{_includedir}/bind9 | 
|---|
| 333 | rm -f ${RPM_BUILD_ROOT}/%{_mandir}/man1/isc-config.sh.1* | 
|---|
| 334 | rm -f ${RPM_BUILD_ROOT}/%{_mandir}/man3/lwres* | 
|---|
| 335 | rm -f ${RPM_BUILD_ROOT}/%{_bindir}/isc-config.sh | 
|---|
| 336 | %endif | 
|---|
| 337 |  | 
|---|
| 338 | # SDB manpages | 
|---|
| 339 | %if %{SDB} | 
|---|
| 340 | install -m 644 %{SOURCE31} ${RPM_BUILD_ROOT}%{_mandir}/man1/ldap2zone.1 | 
|---|
| 341 | install -m 644 %{SOURCE32} ${RPM_BUILD_ROOT}%{_mandir}/man8/named-sdb.8 | 
|---|
| 342 | install -m 644 %{SOURCE33} ${RPM_BUILD_ROOT}%{_mandir}/man1/zonetodb.1 | 
|---|
| 343 | install -m 644 %{SOURCE34} ${RPM_BUILD_ROOT}%{_mandir}/man1/zone2sqlite.1 | 
|---|
| 344 | %endif | 
|---|
| 345 |  | 
|---|
| 346 | # Ghost config files: | 
|---|
| 347 | touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/named.log | 
|---|
| 348 |  | 
|---|
| 349 | # configuration files: | 
|---|
| 350 | tar -xjf %{SOURCE28} | 
|---|
| 351 | cp -r etc ${RPM_BUILD_ROOT}/@unixroot | 
|---|
| 352 | cp -r var ${RPM_BUILD_ROOT}/@unixroot | 
|---|
| 353 | touch ${RPM_BUILD_ROOT}%{_sysconfdir}/rndc.key | 
|---|
| 354 | touch ${RPM_BUILD_ROOT}%{_sysconfdir}/rndc.conf | 
|---|
| 355 | mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/named | 
|---|
| 356 |  | 
|---|
| 357 | install -m 644 bind.keys ${RPM_BUILD_ROOT}%{_sysconfdir}/named.iscdlv.key | 
|---|
| 358 | install -m 644 %{SOURCE36} ${RPM_BUILD_ROOT}%{_sysconfdir}/trusted-key.key | 
|---|
| 359 |  | 
|---|
| 360 | # sample bind configuration files for %%doc: | 
|---|
| 361 | mkdir -p sample%{_sysconfdir} sample%{_var}/named/data | 
|---|
| 362 | mkdir -p sample%{_sysconfdir} sample%{_var}/named/slaves | 
|---|
| 363 | install -m 644 %{SOURCE25} sample%{_sysconfdir}/named.conf | 
|---|
| 364 | # Copy default configuration to %%doc to make it usable from system-config-bind | 
|---|
| 365 | install -m 644 ${RPM_BUILD_ROOT}%{_sysconfdir}/named.conf named.conf.default | 
|---|
| 366 | install -m 644 ${RPM_BUILD_ROOT}%{_sysconfdir}/named.rfc1912.zones sample%{_sysconfdir}/named.rfc1912.zones | 
|---|
| 367 | install -m 644 ${RPM_BUILD_ROOT}%{_var}/named/named.ca sample%{_var}/named | 
|---|
| 368 | install -m 644 ${RPM_BUILD_ROOT}%{_var}/named/named.localhost  sample%{_var}/named | 
|---|
| 369 | install -m 644 ${RPM_BUILD_ROOT}%{_var}/named/named.loopback  sample%{_var}/named | 
|---|
| 370 | install -m 644 ${RPM_BUILD_ROOT}%{_var}/named/named.empty  sample%{_var}/named | 
|---|
| 371 | for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.internal.zone.db my.external.zone.db; do | 
|---|
| 372 | echo '@ in soa localhost. root 1 3H 15M 1W 1D | 
|---|
| 373 | ns localhost.' > sample%{_var}/named/$f; | 
|---|
| 374 | done | 
|---|
| 375 | :; | 
|---|
| 376 |  | 
|---|
| 377 | mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/tmpfiles.d | 
|---|
| 378 | install -m 644 %{SOURCE35} ${RPM_BUILD_ROOT}%{_sysconfdir}/tmpfiles.d/named.conf | 
|---|
| 379 |  | 
|---|
| 380 | %pre | 
|---|
| 381 | if [ "$1" -eq 1 ]; then | 
|---|
| 382 | /usr/sbin/groupadd -g %{bind_gid} -f -r named >/dev/null 2>&1 || :; | 
|---|
| 383 | /usr/sbin/useradd  -u %{bind_uid} -r -N -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :; | 
|---|
| 384 | fi; | 
|---|
| 385 | :; | 
|---|
| 386 |  | 
|---|
| 387 | %post | 
|---|
| 388 | #/sbin/ldconfig | 
|---|
| 389 | #/sbin/chkconfig --add named | 
|---|
| 390 | if [ "$1" -eq 1 ]; then | 
|---|
| 391 | if [ ! -e %{_sysconfdir}/rndc.key ]; then | 
|---|
| 392 | /usr/sbin/rndc-confgen -a > /dev/null 2>&1 | 
|---|
| 393 | fi | 
|---|
| 394 | [ -x /sbin/restorecon ] && /sbin/restorecon %{_sysconfdir}/rndc.* %{_sysconfdir}/named.* >/dev/null 2>&1 ; | 
|---|
| 395 | # rndc.key has to have correct perms and ownership, CVE-2007-6283 | 
|---|
| 396 | [ -e %{_sysconfdir}/rndc.key ] && chown root:named %{_sysconfdir}/rndc.key | 
|---|
| 397 | [ -e %{_sysconfdir}/rndc.key ] && chmod 0640 %{_sysconfdir}/rndc.key | 
|---|
| 398 | fi | 
|---|
| 399 | :; | 
|---|
| 400 |  | 
|---|
| 401 | %preun | 
|---|
| 402 | #if [ "$1" -eq 0 ]; then | 
|---|
| 403 | #  /sbin/service named stop >/dev/null 2>&1 || :; | 
|---|
| 404 | #  /sbin/chkconfig --del named || :; | 
|---|
| 405 | #fi; | 
|---|
| 406 | :; | 
|---|
| 407 |  | 
|---|
| 408 | %postun | 
|---|
| 409 | #/sbin/ldconfig | 
|---|
| 410 | #if [ "$1" -ge 1 ]; then | 
|---|
| 411 | #  /sbin/service named try-restart >/dev/null 2>&1 || :; | 
|---|
| 412 | #fi; | 
|---|
| 413 | :; | 
|---|
| 414 |  | 
|---|
| 415 | %if %{SDB} | 
|---|
| 416 | %post sdb | 
|---|
| 417 | /sbin/service named try-restart > /dev/null 2>&1 || :; | 
|---|
| 418 |  | 
|---|
| 419 | %postun sdb | 
|---|
| 420 | /sbin/service named try-restart > /dev/null 2>&1 || :; | 
|---|
| 421 | %endif | 
|---|
| 422 |  | 
|---|
| 423 | %triggerpostun -n bind -- bind <= 32:9.5.0-20.b1 | 
|---|
| 424 | if [ "$1" -gt 0 ]; then | 
|---|
| 425 | [ -e %{_sysconfdir}/rndc.key ] && chown root:named %{_sysconfdir}/rndc.key | 
|---|
| 426 | [ -e %{_sysconfdir}/rndc.key ] && chmod 0640 %{_sysconfdir}/rndc.key | 
|---|
| 427 | fi | 
|---|
| 428 | :; | 
|---|
| 429 |  | 
|---|
| 430 |  | 
|---|
| 431 | # Automatically update configuration from "dnssec-conf-based" to "BIND-based" | 
|---|
| 432 | %triggerpostun -n bind -- dnssec-conf | 
|---|
| 433 | if [ -r '%{_sysconfdir}/named.conf' ]; then | 
|---|
| 434 | cp -fp %{_sysconfdir}/named.conf %{_sysconfdir}/named.conf.rpmsave | 
|---|
| 435 | if grep -Eq '%{_sysconfdir}/(named.dnssec.keys|pki/dnssec-keys)' %{_sysconfdir}/named.conf; then | 
|---|
| 436 | if grep -q 'dlv.isc.org.conf' %{_sysconfdir}/named.conf; then | 
|---|
| 437 | # DLV is configured, reconfigure it to new configuration | 
|---|
| 438 | sed -i -e 's/.*dnssec-lookaside.*dlv\.isc\.org\..*/dnssec-lookaside auto;\ | 
|---|
| 439 | bindkeys-file "\%{_sysconfdir}\/named.iscdlv.key";\ | 
|---|
| 440 | managed-keys-directory "\/var\/named\/dynamic";/' %{_sysconfdir}/named.conf | 
|---|
| 441 | fi | 
|---|
| 442 | sed -i -e '/.*named\.dnssec\.keys.*/d' -e '/.*pki\/dnssec-keys.*/d' \ | 
|---|
| 443 | %{_sysconfdir}/named.conf | 
|---|
| 444 | /sbin/service named try-restart > /dev/null 2>&1 || :; | 
|---|
| 445 | fi | 
|---|
| 446 | fi | 
|---|
| 447 |  | 
|---|
| 448 | # Ditto for chroot | 
|---|
| 449 | if [ -r '/var/named/chroot%{_sysconfdir}/named.conf' ]; then | 
|---|
| 450 | cp -fp /var/named/chroot%{_sysconfdir}/named.conf /var/named/chroot%{_sysconfdir}/named.conf.rpmsave | 
|---|
| 451 | if grep -Eq '%{_sysconfdir}/(named.dnssec.keys|pki/dnssec-keys)' /var/named/chroot%{_sysconfdir}/named.conf; then | 
|---|
| 452 | if grep -q 'dlv.isc.org.conf' /var/named/chroot%{_sysconfdir}/named.conf; then | 
|---|
| 453 | # DLV is configured, reconfigure it to new configuration | 
|---|
| 454 | sed -i -e 's/.*dnssec-lookaside.*dlv\.isc\.org\..*/dnssec-lookaside auto;\ | 
|---|
| 455 | bindkeys-file "\/etc\/named.iscdlv.key";\ | 
|---|
| 456 | managed-keys-directory "\/var\/named\/dynamic";/' /var/named/chroot/etc/named.conf | 
|---|
| 457 | fi | 
|---|
| 458 | sed -i -e '/.*named\.dnssec\.keys.*/d' -e '/.*pki\/dnssec-keys.*/d' \ | 
|---|
| 459 | /var/named/chroot/etc/named.conf | 
|---|
| 460 | /sbin/service named try-restart > /dev/null 2>&1 || :; | 
|---|
| 461 | fi | 
|---|
| 462 | fi | 
|---|
| 463 |  | 
|---|
| 464 | %post chroot | 
|---|
| 465 | if [ "$1" -gt 0 ]; then | 
|---|
| 466 | [ -e %{chroot_prefix}/dev/random ] || \ | 
|---|
| 467 | /bin/mknod %{chroot_prefix}/dev/random c 1 8 | 
|---|
| 468 | [ -e %{chroot_prefix}/dev/zero ] || \ | 
|---|
| 469 | /bin/mknod %{chroot_prefix}/dev/zero c 1 5 | 
|---|
| 470 | [ -e %{chroot_prefix}/dev/zero ] || \ | 
|---|
| 471 | /bin/mknod %{chroot_prefix}/dev/null c 1 3 | 
|---|
| 472 | rm -f %{chroot_prefix}/etc/localtime | 
|---|
| 473 | cp /etc/localtime %{chroot_prefix}/etc/localtime | 
|---|
| 474 | if ! grep -q '^ROOTDIR=' /etc/sysconfig/named; then | 
|---|
| 475 | echo 'ROOTDIR=/var/named/chroot' >> /etc/sysconfig/named | 
|---|
| 476 | /sbin/service named try-restart > /dev/null 2>&1 || :; | 
|---|
| 477 | fi | 
|---|
| 478 | fi; | 
|---|
| 479 | :; | 
|---|
| 480 |  | 
|---|
| 481 | %posttrans chroot | 
|---|
| 482 | if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then | 
|---|
| 483 | [ -x /sbin/restorecon ] && /sbin/restorecon %{chroot_prefix}/dev/* > /dev/null 2>&1; | 
|---|
| 484 | fi; | 
|---|
| 485 | :; | 
|---|
| 486 |  | 
|---|
| 487 | %preun chroot | 
|---|
| 488 | if [ "$1" -eq 0 ]; then | 
|---|
| 489 | rm -f %{chroot_prefix}/dev/{random,zero,null} | 
|---|
| 490 | rm -f %{chroot_prefix}/etc/localtime | 
|---|
| 491 | if grep -q '^ROOTDIR=' /etc/sysconfig/named; then | 
|---|
| 492 | # NOTE: Do NOT call `service named try-restart` because chroot | 
|---|
| 493 | # files will remain mounted. | 
|---|
| 494 | START=no | 
|---|
| 495 | [ -e /var/lock/subsys/named ] && START=yes | 
|---|
| 496 | /sbin/service named stop > /dev/null 2>&1 || :; | 
|---|
| 497 | sed -i -e '/^ROOTDIR=.*/d' /etc/sysconfig/named | 
|---|
| 498 | if [ "x$START" = xyes ]; then | 
|---|
| 499 | /sbin/service named start > /dev/null 2>&1 || :; | 
|---|
| 500 | fi | 
|---|
| 501 | fi | 
|---|
| 502 | fi | 
|---|
| 503 | :; | 
|---|
| 504 |  | 
|---|
| 505 | %clean | 
|---|
| 506 | rm -rf ${RPM_BUILD_ROOT} | 
|---|
| 507 | :; | 
|---|
| 508 |  | 
|---|
| 509 | %files | 
|---|
| 510 | %defattr(-,root,root,-) | 
|---|
| 511 | %{_libdir}/bind | 
|---|
| 512 | #%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/named | 
|---|
| 513 | %config(noreplace) %attr(0644,root,named) %{_sysconfdir}/named.iscdlv.key | 
|---|
| 514 | %config(noreplace) %attr(0644,root,named) %{_sysconfdir}/named.root.key | 
|---|
| 515 | %{_sysconfdir}/tmpfiles.d/named.conf | 
|---|
| 516 | #%{_sysconfdir}/rc.d/init.d/named | 
|---|
| 517 | #%{_sysconfdir}/NetworkManager/dispatcher.d/13-named | 
|---|
| 518 | %{_sbindir}/arpaname.exe | 
|---|
| 519 | %{_sbindir}/ddns-confgen.exe | 
|---|
| 520 | %{_sbindir}/genrandom.exe | 
|---|
| 521 | %{_sbindir}/named-journalprint.exe | 
|---|
| 522 | %{_sbindir}/nsec3hash.exe | 
|---|
| 523 | %{_sbindir}/dnssec*.exe | 
|---|
| 524 | %{_sbindir}/named-check*.exe | 
|---|
| 525 | %{_sbindir}/lwresd.exe | 
|---|
| 526 | %{_sbindir}/named.exe | 
|---|
| 527 | %{_sbindir}/rndc*.exe | 
|---|
| 528 | %{_sbindir}/named-compilezone.exe | 
|---|
| 529 | %{_sbindir}/isc-hmac-fixup.exe | 
|---|
| 530 | %{_mandir}/man1/arpaname.1* | 
|---|
| 531 | %{_mandir}/man5/named.conf.5* | 
|---|
| 532 | %{_mandir}/man5/rndc.conf.5* | 
|---|
| 533 | %{_mandir}/man8/rndc.8* | 
|---|
| 534 | %{_mandir}/man8/named.8* | 
|---|
| 535 | %{_mandir}/man8/lwresd.8* | 
|---|
| 536 | %{_mandir}/man8/dnssec*.8* | 
|---|
| 537 | %{_mandir}/man8/named-checkconf.8* | 
|---|
| 538 | %{_mandir}/man8/named-checkzone.8* | 
|---|
| 539 | %{_mandir}/man8/named-compilezone.8* | 
|---|
| 540 | %{_mandir}/man8/rndc-confgen.8* | 
|---|
| 541 | %{_mandir}/man8/ddns-confgen.8* | 
|---|
| 542 | %{_mandir}/man8/genrandom.8* | 
|---|
| 543 | %{_mandir}/man8/named-journalprint.8* | 
|---|
| 544 | %{_mandir}/man8/nsec3hash.8* | 
|---|
| 545 | %{_mandir}/man8/isc-hmac-fixup.8* | 
|---|
| 546 | %doc CHANGES README named.conf.default | 
|---|
| 547 | %doc doc/arm doc/misc doc/draft doc/rfc | 
|---|
| 548 | %doc sample/ | 
|---|
| 549 |  | 
|---|
| 550 | # Hide configuration | 
|---|
| 551 | %defattr(0640,root,named,0750) | 
|---|
| 552 | %dir %{_sysconfdir}/named | 
|---|
| 553 | %dir %{_localstatedir}/named | 
|---|
| 554 | %config(noreplace) %verify(not link) %{_sysconfdir}/named.conf | 
|---|
| 555 | %config(noreplace) %verify(not link) %{_sysconfdir}/named.rfc1912.zones | 
|---|
| 556 | %config %verify(not link) %{_localstatedir}/named/named.ca | 
|---|
| 557 | %config %verify(not link) %{_localstatedir}/named/named.localhost | 
|---|
| 558 | %config %verify(not link) %{_localstatedir}/named/named.loopback | 
|---|
| 559 | %config %verify(not link) %{_localstatedir}/named/named.empty | 
|---|
| 560 | %defattr(0660,named,named,0770) | 
|---|
| 561 | %dir %{_localstatedir}/named/slaves | 
|---|
| 562 | %dir %{_localstatedir}/named/data | 
|---|
| 563 | %dir %{_localstatedir}/named/dynamic | 
|---|
| 564 | %ghost %{_localstatedir}/log/named.log | 
|---|
| 565 | %defattr(0640,root,named,0750) | 
|---|
| 566 | %ghost %config(noreplace) %{_sysconfdir}/rndc.key | 
|---|
| 567 | # ^- rndc.key now created on first install only if it does not exist | 
|---|
| 568 | # %verify(not size,not md5) %config(noreplace) %attr(0640,root,named) /etc/rndc.conf | 
|---|
| 569 | # ^- Let the named internal default rndc.conf be used - | 
|---|
| 570 | #    rndc.conf not required unless it differs from default. | 
|---|
| 571 | %ghost %config(noreplace) %{_sysconfdir}/rndc.conf | 
|---|
| 572 | # ^- The default rndc.conf which uses rndc.key is in named's default internal config - | 
|---|
| 573 | #    so rndc.conf is not necessary. | 
|---|
| 574 | #%config(noreplace) %{_sysconfdir}/logrotate.d/named | 
|---|
| 575 | %defattr(-,named,named,-) | 
|---|
| 576 | %dir %{_localstatedir}/run/named | 
|---|
| 577 |  | 
|---|
| 578 | %if %{SDB} | 
|---|
| 579 | %files sdb | 
|---|
| 580 | %defattr(-,root,root,-) | 
|---|
| 581 | %{_mandir}/man1/zone2ldap.1* | 
|---|
| 582 | %{_mandir}/man1/ldap2zone.1* | 
|---|
| 583 | %{_mandir}/man1/zonetodb.1* | 
|---|
| 584 | %{_mandir}/man1/zone2sqlite.1* | 
|---|
| 585 | %{_mandir}/man8/named-sdb.8* | 
|---|
| 586 | %doc contrib/sdb/ldap/README.ldap contrib/sdb/ldap/INSTALL.ldap contrib/sdb/pgsql/README.sdb_pgsql | 
|---|
| 587 | %dir %{_sysconfdir}/openldap/schema | 
|---|
| 588 | %config(noreplace) %{_sysconfdir}/openldap/schema/dnszone.schema | 
|---|
| 589 | %{_sbindir}/named-sdb | 
|---|
| 590 | %{_sbindir}/zone2ldap | 
|---|
| 591 | %{_sbindir}/ldap2zone | 
|---|
| 592 | %{_sbindir}/zonetodb | 
|---|
| 593 | %{_sbindir}/zone2sqlite | 
|---|
| 594 | %endif | 
|---|
| 595 |  | 
|---|
| 596 | %files libs | 
|---|
| 597 | %defattr(-,root,root,-) | 
|---|
| 598 | %{_libdir}/*.dll | 
|---|
| 599 |  | 
|---|
| 600 | %files libs-lite | 
|---|
| 601 | %defattr(-,root,root,-) | 
|---|
| 602 | #%{_libdir}/*export.a | 
|---|
| 603 |  | 
|---|
| 604 | %files license | 
|---|
| 605 | %defattr(-,root,root,-) | 
|---|
| 606 | %doc COPYRIGHT | 
|---|
| 607 |  | 
|---|
| 608 | %files utils | 
|---|
| 609 | %defattr(-,root,root,-) | 
|---|
| 610 | %{_bindir}/dig.exe | 
|---|
| 611 | %{_bindir}/host.exe | 
|---|
| 612 | %{_bindir}/nslookup.exe | 
|---|
| 613 | %{_bindir}/nsupdate.exe | 
|---|
| 614 | %{_mandir}/man1/host.1* | 
|---|
| 615 | %{_mandir}/man1/nsupdate.1* | 
|---|
| 616 | %{_mandir}/man1/dig.1* | 
|---|
| 617 | %{_mandir}/man1/nslookup.1* | 
|---|
| 618 | %{_sysconfdir}/trusted-key.key | 
|---|
| 619 |  | 
|---|
| 620 | %if %{DEVEL} | 
|---|
| 621 | %files devel | 
|---|
| 622 | %defattr(-,root,root,-) | 
|---|
| 623 | %{_libdir}/*.a | 
|---|
| 624 | #%exclude %{_libdir}/*export.so | 
|---|
| 625 | %{_includedir}/bind9 | 
|---|
| 626 | %{_mandir}/man1/isc-config.sh.1* | 
|---|
| 627 | %{_mandir}/man3/lwres* | 
|---|
| 628 | %{_bindir}/isc-config.sh | 
|---|
| 629 | %endif | 
|---|
| 630 |  | 
|---|
| 631 | %files lite-devel | 
|---|
| 632 | %defattr(-,root,root,-) | 
|---|
| 633 | #%{_libdir}/*export.a | 
|---|
| 634 | %{_includedir}/dns | 
|---|
| 635 | %{_includedir}/dst | 
|---|
| 636 | %{_includedir}/irs | 
|---|
| 637 | %{_includedir}/isc | 
|---|
| 638 | %{_includedir}/isccfg | 
|---|
| 639 |  | 
|---|
| 640 | %files chroot | 
|---|
| 641 | %defattr(-,root,root,-) | 
|---|
| 642 | %ghost %{chroot_prefix}/dev/null | 
|---|
| 643 | %ghost %{chroot_prefix}/dev/random | 
|---|
| 644 | %ghost %{chroot_prefix}/dev/zero | 
|---|
| 645 | %ghost %{chroot_prefix}/etc/localtime | 
|---|
| 646 | %defattr(0640,root,named,0750) | 
|---|
| 647 | %dir %{chroot_prefix} | 
|---|
| 648 | %dir %{chroot_prefix}/dev | 
|---|
| 649 | %dir %{chroot_prefix}/etc | 
|---|
| 650 | %dir %{chroot_prefix}/etc/named | 
|---|
| 651 | %dir %{chroot_prefix}/etc/pki/dnssec-keys | 
|---|
| 652 | %dir %{chroot_prefix}/var | 
|---|
| 653 | %dir %{chroot_prefix}/var/run | 
|---|
| 654 | %dir %{chroot_prefix}/var/named | 
|---|
| 655 | %dir %{chroot_prefix}/%{_libdir}/bind | 
|---|
| 656 | %ghost %config(noreplace) %{chroot_prefix}/etc/named.conf | 
|---|
| 657 | %defattr(0660,named,named,0770) | 
|---|
| 658 | %dir %{chroot_prefix}/var/run/named | 
|---|
| 659 | %dir %{chroot_prefix}/var/tmp | 
|---|
| 660 | %dir %{chroot_prefix}/var/log | 
|---|
| 661 |  | 
|---|
| 662 | %if %{PKCS11} | 
|---|
| 663 | %files pkcs11 | 
|---|
| 664 | %defattr(-,root,root,-) | 
|---|
| 665 | %doc COPYRIGHT | 
|---|
| 666 | %{_sbindir}/pkcs11-destroy | 
|---|
| 667 | %{_sbindir}/pkcs11-keygen | 
|---|
| 668 | %{_sbindir}/pkcs11-list | 
|---|
| 669 | %{_mandir}/man8/pkcs11* | 
|---|
| 670 | %endif | 
|---|
| 671 |  | 
|---|
| 672 | %changelog | 
|---|
| 673 | * Mon Jan 30 2012 yd | 
|---|
| 674 | - multiprocessor support. | 
|---|
| 675 | - thread support. | 
|---|
| 676 | - initial unixroot build. | 
|---|