3 %bcond_with go # GO plugin
4 %bcond_without ocaml # OCaml plugin (requires ocaml_opt support)
5 %bcond_without perl # Perl plugin
6 %bcond_without python # Python plugin
7 %bcond_with rust # Rust plugin
8 %bcond_with vddk # VMware VDDK plugin [needs proprietary VDDK]
10 %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
15 Summary: Toolkit for creating NBD servers
16 Summary(pl.UTF-8): Narzędzia do tworzenia serwerów NBD
21 Group: Applications/System
22 Source0: http://libguestfs.org/download/nbdkit/1.24-stable/%{name}-%{version}.tar.gz
23 # Source0-md5: ba9319e544d5a728ebfee84953968b9e
24 URL: http://libguestfs.org/
25 BuildRequires: autoconf >= 2.50
26 BuildRequires: automake
27 BuildRequires: curl-devel
28 BuildRequires: libguestfs-devel
29 BuildRequires: libtool >= 2:2
30 BuildRequires: libtorrent-rasterbar-devel
31 BuildRequires: libvirt-devel
32 %{?with_ocaml:BuildRequires: ocaml >= 4.02.2}
33 %{?with_perl:BuildRequires: perl-devel}
34 BuildRequires: perl-tools-pod
35 BuildRequires: pkgconfig
36 %{?with_python:BuildRequires: python3-devel}
37 BuildRequires: xz-devel
38 BuildRequires: zlib-devel
39 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 # depends on symbols from nbdkit binary and ocaml ABI
42 %define skip_post_check_so libnbdkitocaml.so.*
45 NBD is a protocol for accessing Block Devices (hard disks and
46 disk-like things) over a Network.
48 'nbdkit' is a toolkit for creating NBD servers.
50 %description -l pl.UTF-8
51 NBD (Network Block Device) to protokół sieciowego dostępu do urządzeń
52 blokowych (dysków twardych i podobnego osprzętu).
54 nbdkit to zestaw narzędzi do tworzenia serwerów NBD.
57 Summary: curl plugin for nbdkit
58 Summary(pl.UTF-8): Wtyczka curl dla nbdkitu
60 Requires: %{name} = %{version}-%{release}
62 %description plugin-curl
63 curl plugin for nbdkit.
65 %description plugin-curl -l pl.UTF-8
66 Wtyczka curl dla nbdkitu.
68 %package plugin-guestfs
69 Summary: guestfs plugin for nbdkit
70 Summary(pl.UTF-8): Wtyczka guestfs dla nbdkitu
72 Requires: %{name} = %{version}-%{release}
74 %description plugin-guestfs
75 guestfs plugin for nbdkit.
77 %description plugin-guestfs -l pl.UTF-8
78 Wtyczka guestfs dla nbdkitu.
80 %package plugin-libvirt
81 Summary: libvirt plugin for nbdkit
82 Summary(pl.UTF-8): Wtyczka libvirt dla nbdkitu
84 Requires: %{name} = %{version}-%{release}
86 %description plugin-libvirt
87 libvirt plugin for nbdkit.
89 %description plugin-libvirt -l pl.UTF-8
90 Wtyczka libvirt dla nbdkitu.
93 Summary: Go embed plugin for nbdkit
94 Summary(pl.UTF-8): Wtyczka wbudowanego Go dla nbdkitu
96 Requires: %{name} = %{version}-%{release}
98 %description plugin-go
99 Go embed plugin for nbdkit.
101 %description plugin-go -l pl.UTF-8
102 Wtyczka wbudowanego Go dla nbdkitu.
104 %package plugin-ocaml
105 Summary: OCaml embed plugin for nbdkit
106 Summary(pl.UTF-8): Wtyczka wbudowanego OCamla dla nbdkitu
108 Requires: %{name} = %{version}-%{release}
109 Requires: ocaml-runtime
111 %description plugin-ocaml
112 OCaml embed plugin for nbdkit.
114 %description plugin-ocaml -l pl.UTF-8
115 Wtyczka wbudowanego OCamla dla nbdkitu.
118 Summary: Perl embed plugin for nbdkit
119 Summary(pl.UTF-8): Wtyczka wbudowanego Perla dla nbdkitu
121 Requires: %{name} = %{version}-%{release}
123 %description plugin-perl
124 Perl embed plugin for nbdkit.
126 %description plugin-perl -l pl.UTF-8
127 Wtyczka wbudowanego Perla dla nbdkitu.
129 %package plugin-python
130 Summary: Python embed plugin for nbdkit
131 Summary(pl.UTF-8): Wtyczka wbudowanego Pythona dla nbdkitu
133 Requires: %{name} = %{version}-%{release}
135 %description plugin-python
136 Python embed plugin for nbdkit.
138 %description plugin-python -l pl.UTF-8
139 Wtyczka wbudowanego Pythona dla nbdkitu.
142 Summary: VMware VDDK plugin for nbdkit
143 Summary(pl.UTF-8): Wtyczka VMware VDDK dla nbdkitu
145 Requires: %{name} = %{version}-%{release}
147 %description plugin-vddk
148 VMware VDDK plugin for nbdkit.
150 %description plugin-vddk -l pl.UTF-8
151 Wtyczka VMware VDDK dla nbdkitu.
154 Summary: Header file for nbdkit plugins
155 Summary(pl.UTF-8): Plik nagłówkowy dla wtyczek nbdkit
156 Group: Development/Libraries
157 # doesn't require base
160 Header file for nbdkit plugins.
162 %description devel -l pl.UTF-8
163 Plik nagłówkowy dla wtyczek nbdkit.
176 MKISOFS=/usr/bin/mkisofs \
177 %{!?with_go:--disable-golang} \
178 %{!?with_ocaml:--disable-ocaml} \
179 %{!?with_perl:--disable-perl} \
180 %{!?with_python:--disable-python} \
181 %{!?with_rust:--disable-rust} \
183 %{?with_vddk:--with-vddk}
189 rm -rf $RPM_BUILD_ROOT
192 DESTDIR=$RPM_BUILD_ROOT
194 %{__rm} $RPM_BUILD_ROOT%{_libdir}/nbdkit/filters/*.la
195 %{__rm} $RPM_BUILD_ROOT%{_libdir}/nbdkit/plugins/*.la
198 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libnbdkitocaml.la
202 rm -rf $RPM_BUILD_ROOT
204 %post plugin-ocaml -p /sbin/ldconfig
205 %postun plugin-ocaml -p /sbin/ldconfig
208 %defattr(644,root,root,755)
209 %doc LICENSE README TODO
210 %attr(755,root,root) %{_sbindir}/nbdkit
211 %dir %{_libdir}/nbdkit
212 %dir %{_libdir}/nbdkit/filters
213 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-blocksize-filter.so
214 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-cache-filter.so
215 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-cacheextents-filter.so
216 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-checkwrite-filter.so
217 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-cow-filter.so
218 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-ddrescue-filter.so
219 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-delay-filter.so
220 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-error-filter.so
221 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-exitlast-filter.so
222 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-exitwhen-filter.so
223 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-exportname-filter.so
224 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-ext2-filter.so
225 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-extentlist-filter.so
226 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-fua-filter.so
227 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-gzip-filter.so
228 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-ip-filter.so
229 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-limit-filter.so
230 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-log-filter.so
231 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-nocache-filter.so
232 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-noextents-filter.so
233 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-nofilter-filter.so
234 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-noparallel-filter.so
235 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-nozero-filter.so
236 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-offset-filter.so
237 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-partition-filter.so
238 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-pause-filter.so
239 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-rate-filter.so
240 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-readahead-filter.so
241 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-retry-filter.so
242 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-stats-filter.so
243 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-swab-filter.so
244 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-tar-filter.so
245 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-tls-fallback-filter.so
246 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-truncate-filter.so
247 %attr(755,root,root) %{_libdir}/nbdkit/filters/nbdkit-xz-filter.so
248 %dir %{_libdir}/nbdkit/plugins
249 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-S3-plugin
250 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-cc-plugin.so
251 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-cdi-plugin.so
252 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-data-plugin.so
253 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-eval-plugin.so
254 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-example1-plugin.so
255 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-example2-plugin.so
256 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-example3-plugin.so
257 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-example4-plugin
258 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-file-plugin.so
259 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-floppy-plugin.so
260 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-full-plugin.so
261 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-gzip-plugin.so
262 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-info-plugin.so
263 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-iso-plugin.so
264 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-lua-plugin.so
265 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-memory-plugin.so
266 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-null-plugin.so
267 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-ondemand-plugin.so
268 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-partitioning-plugin.so
269 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-pattern-plugin.so
270 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-random-plugin.so
271 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-sh-plugin.so
272 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-sparse-random-plugin.so
273 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-split-plugin.so
274 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-ssh-plugin.so
275 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-streaming-plugin.so
276 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-tar-plugin.so
277 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-tcl-plugin.so
278 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-tmpdisk-plugin.so
279 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-torrent-plugin.so
280 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-zero-plugin.so
281 %{_mandir}/man1/nbdkit.1*
282 %{_mandir}/man1/nbdkit-blocksize-filter.1*
283 %{_mandir}/man1/nbdkit-cacheextents-filter.1*
284 %{_mandir}/man1/nbdkit-cache-filter.1*
285 %{_mandir}/man1/nbdkit-captive.1*
286 %{_mandir}/man1/nbdkit-cdi-plugin.1*
287 %{_mandir}/man1/nbdkit-checkwrite-filter.1*
288 %{_mandir}/man1/nbdkit-client.1*
289 %{_mandir}/man1/nbdkit-cow-filter.1*
290 %{_mandir}/man1/nbdkit-data-plugin.1*
291 %{_mandir}/man1/nbdkit-ddrescue-filter.1*
292 %{_mandir}/man1/nbdkit-delay-filter.1*
293 %{_mandir}/man1/nbdkit-error-filter.1*
294 %{_mandir}/man1/nbdkit-eval-plugin.1*
295 %{_mandir}/man1/nbdkit-example1-plugin.1*
296 %{_mandir}/man1/nbdkit-example2-plugin.1*
297 %{_mandir}/man1/nbdkit-example3-plugin.1*
298 %{_mandir}/man1/nbdkit-example4-plugin.1*
299 %{_mandir}/man1/nbdkit-exitlast-filter.1*
300 %{_mandir}/man1/nbdkit-exitwhen-filter.1*
301 %{_mandir}/man1/nbdkit-exportname-filter.1*
302 %{_mandir}/man1/nbdkit-ext2-filter.1*
303 %{_mandir}/man1/nbdkit-extentlist-filter.1*
304 %{_mandir}/man1/nbdkit-file-plugin.1*
305 %{_mandir}/man1/nbdkit-floppy-plugin.1*
306 %{_mandir}/man1/nbdkit-fua-filter.1*
307 %{_mandir}/man1/nbdkit-full-plugin.1*
308 %{_mandir}/man1/nbdkit-gzip-filter.1*
309 %{_mandir}/man1/nbdkit-gzip-plugin.1*
310 %{_mandir}/man1/nbdkit-info-plugin.1*
311 %{_mandir}/man1/nbdkit-ip-filter.1*
312 %{_mandir}/man1/nbdkit-iso-plugin.1*
313 %{_mandir}/man1/nbdkit-limit-filter.1*
314 %{_mandir}/man1/nbdkit-log-filter.1*
315 %{_mandir}/man1/nbdkit-loop.1*
316 %{_mandir}/man1/nbdkit-memory-plugin.1*
317 %{_mandir}/man1/nbdkit-nocache-filter.1*
318 %{_mandir}/man1/nbdkit-noextents-filter.1*
319 %{_mandir}/man1/nbdkit-nofilter-filter.1*
320 %{_mandir}/man1/nbdkit-noparallel-filter.1*
321 %{_mandir}/man1/nbdkit-nozero-filter.1*
322 %{_mandir}/man1/nbdkit-null-plugin.1*
323 %{_mandir}/man1/nbdkit-offset-filter.1*
324 %{_mandir}/man1/nbdkit-ondemand-plugin.1*
325 %{_mandir}/man1/nbdkit-partition-filter.1*
326 %{_mandir}/man1/nbdkit-partitioning-plugin.1*
327 %{_mandir}/man1/nbdkit-pattern-plugin.1*
328 %{_mandir}/man1/nbdkit-pause-filter.1*
329 %{_mandir}/man1/nbdkit-probing.1*
330 %{_mandir}/man1/nbdkit-protocol.1*
331 %{_mandir}/man1/nbdkit-random-plugin.1*
332 %{_mandir}/man1/nbdkit-rate-filter.1*
333 %{_mandir}/man1/nbdkit-readahead-filter.1*
334 %{_mandir}/man1/nbdkit-release-notes-1.10.1*
335 %{_mandir}/man1/nbdkit-release-notes-1.12.1*
336 %{_mandir}/man1/nbdkit-release-notes-1.14.1*
337 %{_mandir}/man1/nbdkit-release-notes-1.16.1*
338 %{_mandir}/man1/nbdkit-release-notes-1.18.1*
339 %{_mandir}/man1/nbdkit-release-notes-1.20.1*
340 %{_mandir}/man1/nbdkit-release-notes-1.22.1*
341 %{_mandir}/man1/nbdkit-release-notes-1.24.1*
342 %{_mandir}/man1/nbdkit-release-notes-1.4.1*
343 %{_mandir}/man1/nbdkit-release-notes-1.6.1*
344 %{_mandir}/man1/nbdkit-release-notes-1.8.1*
345 %{_mandir}/man1/nbdkit-retry-filter.1*
346 %{_mandir}/man1/nbdkit-S3-plugin.1*
347 %{_mandir}/man1/nbdkit-security.1*
348 %{_mandir}/man1/nbdkit-service.1*
349 %{_mandir}/man1/nbdkit-sparse-random-plugin.1*
350 %{_mandir}/man1/nbdkit-split-plugin.1*
351 %{_mandir}/man1/nbdkit-ssh-plugin.1*
352 %{_mandir}/man1/nbdkit-stats-filter.1*
353 %{_mandir}/man1/nbdkit-streaming-plugin.1*
354 %{_mandir}/man1/nbdkit-swab-filter.1*
355 %{_mandir}/man1/nbdkit-tar-filter.1*
356 %{_mandir}/man1/nbdkit-tar-plugin.1*
357 %{_mandir}/man1/nbdkit-tls.1*
358 %{_mandir}/man1/nbdkit-tls-fallback-filter.1*
359 %{_mandir}/man1/nbdkit-tmpdisk-plugin.1*
360 %{_mandir}/man1/nbdkit-torrent-plugin.1*
361 %{_mandir}/man1/nbdkit-truncate-filter.1*
362 %{_mandir}/man1/nbdkit-xz-filter.1*
363 %{_mandir}/man1/nbdkit-zero-plugin.1*
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-curl-plugin.so
368 %{_mandir}/man1/nbdkit-curl-plugin.1*
370 %files plugin-guestfs
371 %defattr(644,root,root,755)
372 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-guestfs-plugin.so
373 %{_mandir}/man1/nbdkit-guestfs-plugin.1*
375 %files plugin-libvirt
376 %defattr(644,root,root,755)
377 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-libvirt-plugin.so
378 %{_mandir}/man1/nbdkit-libvirt-plugin.1*
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-golang-plugin.so
384 %{_mandir}/man3/nbdkit-golang-plugin.3*
389 %defattr(644,root,root,755)
390 %attr(755,root,root) %{_libdir}/libnbdkitocaml.so.*.*.*
391 %attr(755,root,root) %ghost %{_libdir}/libnbdkitocaml.so.0
392 %attr(755,root,root) %{_libdir}/libnbdkitocaml.so
393 %{_libdir}/ocaml/NBDKit.cm[ix]
394 %{_libdir}/ocaml/NBDKit.mli
395 %{_libdir}/ocaml/NBDKit.o
396 %{_mandir}/man3/NBDKit.3*
397 %{_mandir}/man3/nbdkit-ocaml-plugin.3*
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-perl-plugin.so
404 %{_mandir}/man3/nbdkit-perl-plugin.3*
409 %defattr(644,root,root,755)
410 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-python-plugin.so
411 %{_mandir}/man3/nbdkit-python-plugin.3*
416 %defattr(644,root,root,755)
417 %attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-vddk-plugin.so
418 %{_mandir}/man1/nbdkit-vddk-plugin.1*
422 %defattr(644,root,root,755)
423 %{_includedir}/nbdkit-common.h
424 %{_includedir}/nbdkit-filter.h
425 %{_includedir}/nbdkit-plugin.h
426 %{_includedir}/nbdkit-version.h
427 %{_includedir}/nbd-protocol.h
428 %{_mandir}/man3/nbdkit-plugin.3*
429 %{_pkgconfigdir}/nbdkit.pc
430 %{_mandir}/man3/nbdkit-cc-plugin.3*
431 %{_mandir}/man3/nbdkit-filter.3*
432 %{_mandir}/man3/nbdkit-lua-plugin.3*
433 %{_mandir}/man3/nbdkit-sh-plugin.3*
434 %{_mandir}/man3/nbdkit-tcl-plugin.3*