]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blame - bind/bind.nm
tmux: New package.
[people/ms/ipfire-3.x.git] / bind / bind.nm
CommitLineData
d918082a 1###############################################################################
802ea3af
MT
2# IPFire.org - An Open Source Firewall Solution #
3# Copyright (C) - IPFire Development Team <info@ipfire.org> #
d918082a
MT
4###############################################################################
5
802ea3af 6name = bind
ac29baf9 7version = 9.8.1
26d6a9af 8release = 3
d918082a 9
802ea3af
MT
10groups = Networking/Tools
11url = http://www.isc.org/products/BIND/
12license = Proprietary
13summary = BIND provides tools for the DNS.
d918082a 14
802ea3af
MT
15description
16 BIND (Berkeley Internet Name Domain or named) is the most commonly used
d918082a 17 DNS server on the Internet, especially on Unix-like systems.
802ea3af 18end
d918082a 19
802ea3af 20source_dl = ftp://ftp.isc.org/isc/bind/%{version}/
d918082a 21
ac29baf9
SS
22sources = \
23 bind-9.8.1.tar.gz \
24 bind-config-8.tar.bz2
25
26# Apply patches in a special order.
27patches = \
28 bind-nonexec.patch \
29 bind-9.5-PIE.patch \
30 bind-9.3.2-redhat_doc.patch \
31 bind-96-dyndb.patch \
32 bind98-rh725741.patch \
33 bind-9.5-overflow.patch \
34 bind-9.5-dlz-64bit.patch \
35 bind-9.5-libidn.patch \
36 bind-9.5-libidn2.patch \
37 bind-9.5-libidn3.patch \
38 bind-9.5-parallel-build.patch \
39 bind95-rh461409.patch\
40 bind-96-libtool2.patch \
41 bind-95-rh452060.patch \
42 bind97-dist-pkcs11.patch \
43 bind97-rh478718.patch \
44 bind97-rh570851.patch \
45 bind97-exportlib.patch \
46 bind97-rh645544.patch \
47 bind97-rh699951.patch \
48 bind97-rh693982.patch \
49 bind97-rh700097.patch \
50 bind97-rh714049.patch \
51 bind98-dlz_buildfix.patch \
52 bind98-rh735103.patch
53
802ea3af
MT
54build
55 requires
ac29baf9
SS
56 autoconf
57 automake
58 chrpath
802ea3af 59 db4-devel
ac29baf9
SS
60 libtool
61 libcap-devel
62 libidn-devel
63 pkg-config
802ea3af 64 openssl-devel
26d6a9af 65 shadow-utils
802ea3af 66 end
e698b321 67
ac29baf9
SS
68 configure_options += \
69 --with-libtool \
ac29baf9
SS
70 --enable-threads \
71 --enable-ipv6 \
72 --with-pic \
73 --disable-static \
74 --disable-openssl-version-check \
75 --enable-exportlib \
1438baad 76 --with-export-libdir=/%{lib}/ \
ac29baf9
SS
77 --with-export-includedir=/usr/include/ \
78 --includedir=/usr/include/bind9/ \
1438baad 79 --with-pkcs11=%{libdir}/pkcs11/PKCS11_API.so \
ac29baf9
SS
80 --with-gssapi=yes \
81 --disable-isc-spnego
82
83 prepare
84 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}.tar.gz
85
86 # Create m4 directory.
87 cd %{DIR_APP} && mkdir -pv m4
d918082a 88
ac29baf9
SS
89 # Apply all patches.
90 %{MACRO_PATCHES}
91
92 # Branding.
93 sed -i -e 's/RELEASEVER=\(.*\)/RELEASEVER=\1-%{DISTRO_NAME}-%{version}-%{release}/' version
94
95 # Regenerate build environment
96 libtoolize -c -f
97 aclocal -I m4 --force
98 autoconf -f
26d6a9af
SS
99
100 # Create user and group for /run directory.
101 %{create_user}
802ea3af
MT
102 end
103
104 install
ac29baf9
SS
105 # Compress doc files.
106 gzip -9 doc/rfc/*
107
108 # Create directory layout.
1438baad 109 mkdir -pv %{BUILDROOT}%{libdir}/bind
ac29baf9
SS
110 mkdir -pv %{BUILDROOT}/var/named/{slaves,data,dynamic}
111 mkdir -pv %{BUILDROOT}/usr/share/man/{man1,man5,man8}
112 mkdir -pv %{BUILDROOT}/run/named
113 mkdir -pv %{BUILDROOT}/var/log
114
115 # Create named chroot environment.
116 mkdir -pv %{BUILDROOT}/var/named/chroot/{dev,etc,var}
117 mkdir -pv %{BUILDROOT}/var/named/chroot/var/{log,named,run/named,tmp}
118 mkdir -pv %{BUILDROOT}/var/named/chroot/etc/{pki/dnssec-keys,named}
119 mkdir -pv %{BUILDROOT}/var/named/chroot/usr/lib/bind
120 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/null
121 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/random
122 mkdir -pv %{BUILDROOT}/var/named/chroot/dev/zero
123 mkdir -pv %{BUILDROOT}/var/named/chroot/etc/localtime
124
125 touch %{BUILDROOT}/var/named/chroot/etc/named.conf
126
127 # Run make install
128 make DESTDIR=%{BUILDROOT} install
129
130 # Remove RPATH from libraries.
131 chrpath --delete %{BUILDROOT}/lib*/*export*.so.*
132
133 # Remove unwanted files
134 rm -rvf %{BUILDROOT}/etc/bind.keys
135
136 # Create ghost config files
137 touch %{BUILDROOT}/var/log/named.log
138
139 # Configuration files
140 tar -C %{BUILDROOT} -xaf %{DIR_DL}/bind-config-8.tar.bz2
141 touch %{BUILDROOT}/etc/rndc.key
142 touch %{BUILDROOT}/etc/rndc.conf
1f9bc2f0 143
ac29baf9
SS
144 mkdir %{BUILDROOT}/etc/named
145 install -m 644 bind.keys %{BUILDROOT}/etc/named.iscdlv.key
146 install -m 644 %{DIR_SOURCE}/trusted-key.key %{BUILDROOT}/etc/trusted-key.key
147
148 # Recreate symlinks for export libraries
1438baad 149 rm -rf %{BUILDROOT}/%{lib}/lib*-export.so
ac29baf9 150
1438baad
MT
151 ln -svf ../../%{lib}/libdns-export.so.81 %{BUILDROOT}%{libdir}/libdns-export.so
152 ln -svf ../../%{lib}/libirs-export.so.80 %{BUILDROOT}%{libdir}/libirs-export.so
153 ln -svf ../../%{lib}/libisccfg-export.so.82 %{BUILDROOT}%{libdir}/libisccfg-export.so
154 ln -svf ../../%{lib}/libisc-export.so.83 %{BUILDROOT}%{libdir}/libisc-export.so
26d6a9af
SS
155
156 # Create /run/named.
157 mkdir -pv %{BUILDROOT}/run/named
158 chown -Rv named.named %{BUILDROOT}/run/named/
802ea3af
MT
159 end
160end
161
26d6a9af
SS
162create_user
163 getent group named >/dev/null || /usr/sbin/groupadd -r named
164 getent passwd named >/dev/null || /usr/sbin/useradd -r -g named \
165 -d /var/named -c "User for bind DNS server" -s /sbin/nologin named
166end
167
802ea3af 168packages
ac29baf9
SS
169 package %{name}
170 requires
171 bind-utils
172 bind-chroot
173 end
174
175 prerequires += shadow-utils
176
177 script prein
26d6a9af 178 %{create_user}
ac29baf9
SS
179 end
180
181 # XXX Add systemd scriptlet if a service file becomes available
182 end
183
802ea3af 184 package %{name}-utils
ac29baf9
SS
185 summary = Utilities for querying bind DNS name server.
186 description = %{summary}
187
188 files
189 /usr/bin/dig
190 /usr/bin/host
191 /usr/bin/nslookup
192 /usr/bin/nsupdate
193 /usr/share/man/man1/dig.1*
194 /usr/share/man/man1/host.1*
195 /usr/share/man/man1/nslookup.1*
196 /usr/share/man/man1/nsupdate.1*
197 end
198 end
199
200 package %{name}-chroot
201 summary = Chroot environment for bind DNS servers.
202 description = %{summary}
203
204 files
205 /var/named/chroot
206 end
207 end
208
209 package %{name}-libs
210 template LIBS
211 end
212
213 package %{name}-devel
214 template DEVEL
802ea3af 215 end
1f9bc2f0
MT
216
217 package %{name}-debuginfo
218 template DEBUGINFO
219 end
802ea3af 220end