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