]> git.pld-linux.org Git - packages/unbound.git/blob - unbound.spec
6f402e19f42f118a91eccf6db92d52bcf20b5655
[packages/unbound.git] / unbound.spec
1 #
2 # Conditional build:
3 %bcond_without  python  # Python binding
4 %bcond_with     dnstap  # dnstap replication support
5 %bcond_with     systemd # systemd support
6 #
7 Summary:        Recursive, validating DNS resolver
8 Summary(pl.UTF-8):      Rekurencyjny, weryfikujący resolver DNS
9 Name:           unbound
10 Version:        1.6.8
11 Release:        2
12 License:        BSD
13 Group:          Applications/Network
14 Source0:        http://www.unbound.net/downloads/%{name}-%{version}.tar.gz
15 # Source0-md5:  c9d26cef224b10705229d5072142636c
16 Source1:        %{name}.init
17 Source2:        %{name}.service
18 Source3:        https://data.iana.org/root-anchors/icannbundle.pem
19 # Source3-md5:  24a426d59b61524623695f1b849f159b
20 Source4:        ftp://ftp.internic.net/domain/named.cache
21 # Source4-md5:  f4a35c0015a679d1605c18d40aad7506
22 Patch0:         %{name}-default_trust_anchor.patch
23 Patch1:         %{name}-sh.patch
24 Patch2:         %{name}-pythondir.patch
25 Patch3:         %{name}-flex.patch
26 Patch4:         unbound-bug-3512.patch
27 URL:            http://unbound.net/
28 BuildRequires:  autoconf >= 2.56
29 BuildRequires:  automake
30 BuildRequires:  bison
31 BuildRequires:  expat-devel
32 BuildRequires:  flex
33 %{?with_dnstap:BuildRequires:   fstrm-devel}
34 BuildRequires:  libevent-devel
35 BuildRequires:  libtool
36 BuildRequires:  openssl-devel >= 1.0
37 %{?with_dnstap:BuildRequires:   protobuf-c-devel}
38 BuildRequires:  rpmbuild(macros) >= 1.671
39 %{?with_systemd:BuildRequires:  systemd-devel}
40 %if %{with python}
41 BuildRequires:  python-devel >= 1:2.4.0
42 BuildRequires:  swig-python
43 %endif
44 Provides:       user(unbound)
45 Requires(post,preun):   /sbin/chkconfig
46 Requires(postun):       /usr/sbin/userdel
47 Requires(pre):  /bin/id
48 Requires(pre):  /usr/sbin/useradd
49 Requires:       systemd-units >= 38
50 Requires:       %{name}-libs = %{version}-%{release}
51 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52
53 %description
54 Unbound is a validating, recursive, and caching DNS resolver.
55
56 The C implementation of Unbound is developed and maintained by NLnet
57 Labs. It is based on ideas and algorithms taken from a Java prototype
58 developed by Verisign labs, Nominet, Kirei and ep.net.
59
60 Unbound is designed as a set of modular components, so that also
61 DNSSEC (secure DNS) validation and stub-resolvers (that do not run as
62 a server, but are linked into an application) are easily possible.
63
64 %description -l pl.UTF-8
65 Unbound to weryfikujący, rekurencyjny i cache'ujący resolver (kod
66 rozwiązujący nazwy) DNS.
67
68 Implementacja Unbound w C jest tworzona i utrzymywana przez NLnet
69 Labs. Jest oparta na pomysłach i algorytmach zaczerpniętych z
70 prototypu w Javie stworzonego przez Verisign Labs, Nominet, Kirei oraz
71 ep.net.
72
73 Unbound został zaprojektowany jako zbiór modularnych komponentów, więc
74 możliwe są także weryfikacja DNSSEC (bezpieczny DNS) oraz
75 resolvery-zaślepki (nie działające jako serwer, ale wbudowane w
76 aplikację).
77
78 %package libs
79 Summary:        Unbound shared library
80 Summary(pl.UTF-8):      Biblioteka współdzielona Unbound
81 Group:          Libraries
82 Conflicts:      unbound < 1.4.18-1
83
84 %description libs
85 Unbound shared library.
86
87 %description libs -l pl.UTF-8
88 Biblioteka współdzielona Unbound.
89
90 %package devel
91 Summary:        Header files for unbound library
92 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki unbound
93 Group:          Development/Libraries
94 Requires:       %{name}-libs = %{version}-%{release}
95 Requires:       openssl-devel
96
97 %description devel
98 Header files for unbound library.
99
100 %description devel -l pl.UTF-8
101 Pliki nagłówkowe biblioteki unbound.
102
103 %package static
104 Summary:        Static unbound library
105 Summary(pl.UTF-8):      Statyczna biblioteka unbound
106 Group:          Development/Libraries
107 Requires:       %{name}-devel = %{version}-%{release}
108
109 %description static
110 Static unbound library.
111
112 %description static -l pl.UTF-8
113 Statyczna biblioteka unbound.
114
115 %package -n python-unbound
116 Summary:        Python interface to unbound library
117 Summary(pl.UTF-8):      Pythonowy interfejs do biblioteki unbound
118 Group:          Python/Libraries
119 Requires:       %{name}-libs = %{version}-%{release}
120
121 %description -n python-unbound
122 Python interface to unbound library.
123
124 %description -n python-unbound -l pl.UTF-8
125 Pythonowy interfejs do biblioteki unbound.
126
127 %prep
128 %setup -q
129 %patch0 -p1
130 %patch1 -p1
131 %patch2 -p1
132 %patch3 -p1
133 %patch4 -p1
134
135 %build
136 %{__libtoolize}
137 %{__aclocal}
138 %{__autoconf}
139 %{__autoheader}
140 %configure \
141         %{?with_dnstap:--enable-dnstap} \
142         %{?with_systemd:--enable-systemd} \
143         %{__with_without python pyunbound} \
144         %{__with_without python pythonmodule} \
145         --with-pidfile=/run/%{name}.pid \
146         --with-chroot-dir="" \
147         --with-conf-file=%{_sysconfdir}/%{name}/%{name}.conf \
148         --with-rootkey-file=/var/lib/%{name}/root.key \
149         --with-rootcert-file=%{_sysconfdir}/%{name}/icannbundle.pem
150
151 %{__make}
152
153 %install
154 rm -rf $RPM_BUILD_ROOT
155 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},/var/lib/%{name}}
156
157 %{__make} install \
158         DESTDIR=$RPM_BUILD_ROOT
159
160 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
161 install %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
162 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/icannbundle.pem
163 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/named.cache
164
165 touch $RPM_BUILD_ROOT/var/lib/%{name}/root.key
166
167 %if %{with python}
168 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_unbound.la
169 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
170 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
171 %py_postclean
172 %endif
173
174 %clean
175 rm -rf $RPM_BUILD_ROOT
176
177 %post
178 /sbin/chkconfig --add %{name}
179 %systemd_post %{name}.service
180 %service %{name} restart
181
182 %pre
183 %useradd -u 196 -g 99 -d /tmp -s /bin/false -c "unbound user" unbound
184
185 %preun
186 if [ "$1" = "0" ]; then
187         %service -q %{name} stop
188         /sbin/chkconfig --del %{name}
189 fi
190 %systemd_preun %{name}.service
191
192 %postun
193 if [ "$1" = "0" ]; then
194         %userremove unbound
195 fi
196 %systemd_reload
197
198 %triggerpostun -- %{name} < 1.4.22-1
199 %systemd_trigger %{name}.service
200
201 %post   libs -p /sbin/ldconfig
202 %postun libs -p /sbin/ldconfig
203
204 %files
205 %defattr(644,root,root,755)
206 %doc doc/{CREDITS,Changelog,FEATURES,LICENSE,README,TODO,control_proto_spec.txt,example.conf,ietf67-design-02.pdf,requirements.txt}
207 %attr(754,root,root) /etc/rc.d/init.d/unbound
208 %{systemdunitdir}/%{name}.service
209 %dir %{_sysconfdir}/%{name}
210 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/unbound.conf
211 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/named.cache
212 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/icannbundle.pem
213 %attr(755,root,root) %{_sbindir}/unbound
214 %attr(755,root,root) %{_sbindir}/unbound-anchor
215 %attr(755,root,root) %{_sbindir}/unbound-checkconf
216 %attr(755,root,root) %{_sbindir}/unbound-control*
217 %attr(755,root,root) %{_sbindir}/unbound-host
218 %{_mandir}/man1/unbound-host.1*
219 %{_mandir}/man5/unbound.conf.5*
220 %{_mandir}/man8/unbound-checkconf.8*
221 %{_mandir}/man8/unbound.8*
222 %{_mandir}/man8/unbound-anchor.8*
223 %{_mandir}/man8/unbound-control*.8*
224 %dir %attr(755,unbound,nobody) /var/lib/%{name}
225 %ghost /var/lib/%{name}/root.key
226
227 %files libs
228 %defattr(644,root,root,755)
229 %attr(755,root,root) %{_libdir}/libunbound.so.*.*.*
230 %attr(755,root,root) %ghost %{_libdir}/libunbound.so.2
231
232 %files devel
233 %defattr(644,root,root,755)
234 %attr(755,root,root) %{_libdir}/libunbound.so
235 %{_libdir}/libunbound.la
236 %{_includedir}/unbound.h
237 %{_mandir}/man3/libunbound.3*
238 %{_mandir}/man3/ub_*.3*
239
240 %files static
241 %defattr(644,root,root,755)
242 %{_libdir}/libunbound.a
243
244 %if %{with python}
245 %files -n python-unbound
246 %defattr(644,root,root,755)
247 %attr(755,root,root) %{py_sitedir}/_unbound.so*
248 %{py_sitedir}/unbound.py[co]
249 %{py_sitedir}/unboundmodule.py[co]
250 %endif
This page took 0.041109 seconds and 2 git commands to generate.