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
35 openssl-devel >= 1.0.1h-2
39 configure_options += \
45 --disable-openssl-version-check \
47 --with-export-libdir=/%{lib}/ \
48 --with-export-includedir=/usr/include/ \
49 --includedir=/usr/include/bind9/ \
50 --with-pkcs11=%{libdir}/pkcs11/PKCS11_API.so \
56 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}.tar.gz
58 # Create m4 directory.
59 cd %{DIR_APP} && mkdir -pv m4
65 sed -i -e 's/RELEASEVER=\(.*\)/RELEASEVER=\1-%{DISTRO_NAME}-%{version}-%{release}/' version
67 # Regenerate build environment
72 # Create user and group for /run directory.
77 # Create directory layout.
78 mkdir -pv %{BUILDROOT}%{libdir}/bind
79 mkdir -pv %{BUILDROOT}/var/named/{slaves,data,dynamic}
80 mkdir -pv %{BUILDROOT}/usr/share/man/{man1,man5,man8}
81 mkdir -pv %{BUILDROOT}/run/named
82 mkdir -pv %{BUILDROOT}/var/log
84 # Create named chroot environment.
85 mkdir -pv %{BUILDROOT}/var/named/chroot/{dev,etc,var}
86 mkdir -pv %{BUILDROOT}/var/named/chroot/var/{log,named,run/named,tmp}
87 mkdir -pv %{BUILDROOT}/var/named/chroot/etc/{pki/dnssec-keys,named}
88 mkdir -pv %{BUILDROOT}/var/named/chroot/usr/lib/bind
89 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/null
90 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/random
91 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/zero
92 mkdir -pv %{BUILDROOT}/var/named/chroot/etc/localtime
94 touch %{BUILDROOT}/var/named/chroot/etc/named.conf
97 make DESTDIR=%{BUILDROOT} install
99 # Remove RPATH from libraries.
100 chrpath --delete %{BUILDROOT}/lib*/*export*.so.*
102 # Remove unwanted files
103 rm -rvf %{BUILDROOT}/etc/bind.keys
105 # Create ghost config files
106 touch %{BUILDROOT}/var/log/named.log
108 # Configuration files
109 tar -C %{BUILDROOT} -xaf %{DIR_DL}/bind-config-12.tar.bz2
110 touch %{BUILDROOT}/etc/rndc.key
111 touch %{BUILDROOT}/etc/rndc.conf
113 mkdir %{BUILDROOT}/etc/named
114 install -m 644 bind.keys %{BUILDROOT}/etc/named.iscdlv.key
115 install -m 644 %{DIR_SOURCE}/trusted-key.key %{BUILDROOT}/etc/trusted-key.key
117 # Recreate symlinks for export libraries
118 rm -rf %{BUILDROOT}/%{lib}/lib*-export.so
120 ln -svf ../../%{lib}/libdns-export.so.104 %{BUILDROOT}%{libdir}/libdns-export.so
121 ln -svf ../../%{lib}/libirs-export.so.91 %{BUILDROOT}%{libdir}/libirs-export.so
122 ln -svf ../../%{lib}/libisccfg-export.so.90 %{BUILDROOT}%{libdir}/libisccfg-export.so
123 ln -svf ../../%{lib}/libisc-export.so.95 %{BUILDROOT}%{libdir}/libisc-export.so
126 mkdir -pv %{BUILDROOT}/run/named
127 chown -Rv named.named %{BUILDROOT}/run/named/
132 getent group named >/dev/null || /usr/sbin/groupadd -r named
133 getent passwd named >/dev/null || /usr/sbin/useradd -r -g named \
134 -d /var/named -c "User for bind DNS server" -s /sbin/nologin named
144 prerequires += shadow-utils
150 # XXX Add systemd scriptlet if a service file becomes available
153 package %{name}-utils
154 summary = Utilities for querying bind DNS name server.
155 description = %{summary}
162 /usr/share/man/man1/dig.1*
163 /usr/share/man/man1/host.1*
164 /usr/share/man/man1/nslookup.1*
165 /usr/share/man/man1/nsupdate.1*
169 package %{name}-chroot
170 summary = Chroot environment for bind DNS servers.
171 description = %{summary}
182 package %{name}-devel
186 package %{name}-debuginfo