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