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