1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 groups = Networking/Tools
11 url = http://www.isc.org/products/BIND/
13 summary = BIND provides tools for the DNS.
16 BIND (Berkeley Internet Name Domain or named) is the most commonly used
17 DNS server on the Internet, especially on Unix-like systems.
20 source_dl = ftp://ftp.isc.org/isc/bind/%{version}/
23 %{name}-config-12.tar.bz2
34 openssl-devel >= 1.0.1h-2
38 configure_options += \
44 --disable-openssl-version-check \
46 --with-export-libdir=/%{lib}/ \
47 --with-export-includedir=/usr/include/ \
48 --includedir=/usr/include/bind9/ \
49 --with-pkcs11=%{libdir}/pkcs11/PKCS11_API.so \
55 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}.tar.gz
57 # Create m4 directory.
58 cd %{DIR_APP} && mkdir -pv m4
64 sed -i -e 's/RELEASEVER=\(.*\)/RELEASEVER=\1-%{DISTRO_NAME}-%{version}-%{release}/' version
66 # Regenerate build environment
71 # Create user and group for /run directory.
76 # Create directory layout.
77 mkdir -pv %{BUILDROOT}%{libdir}/bind
78 mkdir -pv %{BUILDROOT}/var/named/{slaves,data,dynamic}
79 mkdir -pv %{BUILDROOT}/usr/share/man/{man1,man5,man8}
80 mkdir -pv %{BUILDROOT}/run/named
81 mkdir -pv %{BUILDROOT}/var/log
83 # Create named chroot environment.
84 mkdir -pv %{BUILDROOT}/var/named/chroot/{dev,etc,var}
85 mkdir -pv %{BUILDROOT}/var/named/chroot/var/{log,named,run/named,tmp}
86 mkdir -pv %{BUILDROOT}/var/named/chroot/etc/{pki/dnssec-keys,named}
87 mkdir -pv %{BUILDROOT}/var/named/chroot/usr/lib/bind
88 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/null
89 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/random
90 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/zero
91 mkdir -pv %{BUILDROOT}/var/named/chroot/etc/localtime
93 touch %{BUILDROOT}/var/named/chroot/etc/named.conf
96 make DESTDIR=%{BUILDROOT} install
98 # Remove RPATH from libraries.
99 chrpath --delete %{BUILDROOT}/lib*/*export*.so.*
101 # Remove unwanted files
102 rm -rvf %{BUILDROOT}/etc/bind.keys
104 # Create ghost config files
105 touch %{BUILDROOT}/var/log/named.log
107 # Configuration files
108 tar -C %{BUILDROOT} -xaf %{DIR_DL}/bind-config-12.tar.bz2
109 touch %{BUILDROOT}/etc/rndc.key
110 touch %{BUILDROOT}/etc/rndc.conf
112 mkdir %{BUILDROOT}/etc/named
113 install -m 644 bind.keys %{BUILDROOT}/etc/named.iscdlv.key
114 install -m 644 %{DIR_SOURCE}/trusted-key.key %{BUILDROOT}/etc/trusted-key.key
116 # Recreate symlinks for export libraries
117 rm -rf %{BUILDROOT}/%{lib}/lib*-export.so
119 ln -svf ../../%{lib}/libdns-export.so.104 %{BUILDROOT}%{libdir}/libdns-export.so
120 ln -svf ../../%{lib}/libirs-export.so.91 %{BUILDROOT}%{libdir}/libirs-export.so
121 ln -svf ../../%{lib}/libisccfg-export.so.90 %{BUILDROOT}%{libdir}/libisccfg-export.so
122 ln -svf ../../%{lib}/libisc-export.so.95 %{BUILDROOT}%{libdir}/libisc-export.so
125 mkdir -pv %{BUILDROOT}/run/named
126 chown -Rv named.named %{BUILDROOT}/run/named/
131 getent group named >/dev/null || /usr/sbin/groupadd -r named
132 getent passwd named >/dev/null || /usr/sbin/useradd -r -g named \
133 -d /var/named -c "User for bind DNS server" -s /sbin/nologin named
143 prerequires += shadow-utils
149 # XXX Add systemd scriptlet if a service file becomes available
152 package %{name}-utils
153 summary = Utilities for querying bind DNS name server.
154 description = %{summary}
161 /usr/share/man/man1/dig.1*
162 /usr/share/man/man1/host.1*
163 /usr/share/man/man1/nslookup.1*
164 /usr/share/man/man1/nsupdate.1*
168 package %{name}-chroot
169 summary = Chroot environment for bind DNS servers.
170 description = %{summary}
181 package %{name}-devel
185 package %{name}-debuginfo