3 %bcond_without apidocs # gtk-doc based API documentation
4 %bcond_without python2 # CPython 2.x support
5 %bcond_without python3 # CPython 3.x support
7 Summary: A library for low-level manipulation with block devices
8 Summary(pl.UTF-8): Biblioteka do niskopoziomowych operacji na urządzeniach blokowych
14 Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}-1/%{name}-%{version}.tar.gz
15 # Source0-md5: d022c1ebb9b9a838c1a8c8b2b781b69d
16 URL: https://github.com/storaged-project/libblockdev
17 BuildRequires: autoconf >= 2.50
18 BuildRequires: automake
19 BuildRequires: cryptsetup-devel >= 2.4.0
20 BuildRequires: device-mapper-devel >= 1.02.93
21 BuildRequires: dmraid-devel
22 BuildRequires: glib2-devel >= 1:2.42.2
23 BuildRequires: gobject-introspection-devel >= 1.3.0
24 BuildRequires: gtk-doc
25 BuildRequires: kmod-devel >= 19
26 BuildRequires: libblkid-devel >= 2.27.0
27 BuildRequires: libbytesize-devel >= 0.1
28 BuildRequires: libmount-devel >= 2.23.0
29 BuildRequires: libtool >= 2:2
30 BuildRequires: libuuid-devel
31 BuildRequires: ndctl-devel >= 60
32 BuildRequires: nss-devel >= 3.18.1
33 BuildRequires: parted-devel >= 3.1
34 BuildRequires: pkgconfig
35 %{?with_python2:BuildRequires: python-devel >= 1:2.5}
36 %{?with_python3:BuildRequires: python3-devel >= 1:3.2}
37 BuildRequires: rpm-build >= 4.6
38 BuildRequires: udev-devel >= 1:216
39 BuildRequires: volume_key-devel
40 BuildRequires: yaml-devel >= 0.1
41 Requires: glib2 >= 1:2.42.2
42 Requires: kmod-libs >= 19
43 Requires: udev-libs >= 1:216
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 The libblockdev is a C library with GObject introspection support that
48 can be used for doing low-level operations with block devices like
49 setting up LVM, BTRFS, LUKS or MD RAID. The library uses plugins (LVM,
50 BTRFS,...) and serves as a thin wrapper around its plugins'
51 functionality. All the plugins, however, can be used as standalone
52 libraries. One of the core principles of libblockdev is that it is
53 stateless from the storage configuration's perspective (e.g. it has no
54 information about VGs when creating an LV).
56 %description -l pl.UTF-8
57 libblockdev to biblioteka C z obsługą GObject introspection. Można ją
58 wykorzystywać do wykonywania niskopoziomowych operacji na urządzeniach
59 blokowaych, w tym konfigurowania LVM, BTRFS, LUKS czy MD RAID.
60 Biblioteka wykorzystuje wtyczki (LVM, BTRFS...) oraz służy jako cienka
61 warstwa pośrednia do funkcjonalności tych wtyczek. Wszystkie wtyczki
62 mogą być także wykorzystywane jako samodzielne biblioteki. Jedną z
63 głównych zasad libblockdev jest to, że jest bezstanowa z punktu
64 widzenia konfiguracji urządzenia (np. nie ma informacji o VG podczas
68 Summary: Header files for libblockdev library
69 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libblockdec
70 Group: Development/Libraries
71 Requires: %{name} = %{version}-%{release}
72 Requires: %{name}-btrfs = %{version}-%{release}
73 Requires: %{name}-crypto = %{version}-%{release}
74 Requires: %{name}-dm = %{version}-%{release}
75 Requires: %{name}-fs = %{version}-%{release}
76 Requires: %{name}-kbd = %{version}-%{release}
77 Requires: %{name}-loop = %{version}-%{release}
78 Requires: %{name}-lvm = %{version}-%{release}
79 Requires: %{name}-lvm-dbus = %{version}-%{release}
80 Requires: %{name}-mdraid = %{version}-%{release}
81 Requires: %{name}-mpath = %{version}-%{release}
82 Requires: %{name}-part = %{version}-%{release}
83 Requires: %{name}-swap = %{version}-%{release}
84 Requires: glib2-devel >= 1:2.42.2
87 Header files for libblockdev library.
89 %description devel -l pl.UTF-8
90 Pliki nagłówkowe biblioteki libblockdev.
93 Summary: libblockdev API documentation
94 Summary(pl.UTF-8): Dokumentacja API biblioteki libblockdev
96 Requires: gtk-doc-common
100 API documentation for libblockdev library.
102 %description apidocs -l pl.UTF-8
103 Dokumentacja API biblioteki libblockdev.
106 Summary: The BTRFS plugin for the libblockdev library
107 Summary(pl.UTF-8): Wtyczka BTRFS do biblioteki libblockdev
109 Requires: %{name} = %{version}-%{release}
110 Requires: btrfs-progs
111 Requires: libbytesize >= 0.1
114 The libblockdev library plugin providing the BTRFS-related
117 %description btrfs -l pl.UTF-8
118 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
122 Summary: The crypto plugin for the libblockdev library
123 Summary(pl.UTF-8): Wtyczka crypto do biblioteki libblockdev
125 Requires: %{name} = %{version}-%{release}
126 Requires: cryptsetup >= 2.4.0
127 Requires: libblkid >= 2.27.0
128 Requires: nss >= 3.18.1
131 The libblockdev library plugin providing the functionality related to
132 encrypted devices (LUKS).
134 %description crypto -l pl.UTF-8
135 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
136 związaną z urządzeniami szyfrowanymi (LUKS).
139 Summary: The Device Mapper plugin for the libblockdev library
140 Summary(pl.UTF-8): Wtyczka Device Mapper do biblioteki libblockdev
142 Requires: %{name} = %{version}-%{release}
143 Requires: device-mapper >= 1.02.93
147 The libblockdev library plugin providing the functionality related to
150 %description dm -l pl.UTF-8
151 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
152 związaną z Device Mapperem.
155 Summary: The FS plugin for the libblockdev library
156 Summary(pl.UTF-8): Wtyczka FS do biblioteki libblockdev
158 Requires: %{name} = %{version}-%{release}
159 Requires: libblkid >= 2.27.0
160 Requires: libmount >= 2.23.0
161 Requires: parted-libs >= 3.1
164 The libblockdev library plugin providing the functionality related to
165 operations with file systems.
167 %description fs -l pl.UTF-8
168 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
169 związaną z operacjami na systemie plików.
172 Summary: The KBD plugin for the libblockdev library
173 Summary(pl.UTF-8): Wtyczka KBD do biblioteki libblockdev
175 Requires: %{name} = %{version}-%{release}
176 Requires: bcache-tools >= 1.0.8
177 Requires: libbytesize >= 0.1
180 The libblockdev library plugin providing the functionality related to
181 kernel block devices (namely zRAM and Bcache).
183 %description kbd -l pl.UTF-8
184 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
185 związaną z urządzeniami blokowymi jądra (konkretnie zRAM i Bcache).
188 Summary: The loop plugin for the libblockdev library
189 Summary(pl.UTF-8): Wtyczka loop do biblioteki libblockdev
191 Requires: %{name} = %{version}-%{release}
194 The libblockdev library plugin providing the functionality related to
197 %description loop -l pl.UTF-8
198 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
199 związaną z urządzeniami loopback.
202 Summary: The LVM plugin for the libblockdev library
203 Summary(pl.UTF-8): Wtyczka LVM do biblioteki libblockdev
205 Requires: %{name} = %{version}-%{release}
206 Requires: libbytesize >= 0.1
207 Requires: lvm2 >= 1.02.93
208 Requires: thin-provisioning-tools
211 The libblockdev library plugin providing the LVM-related
214 %description lvm -l pl.UTF-8
215 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
219 Summary: The LVM-DBus plugin for the libblockdev library
220 Summary(pl.UTF-8): Wtyczka LVM-DBus do biblioteki libblockdev
222 Requires: %{name} = %{version}-%{release}
223 Requires: lvm2-dbusd >= 2.02.156
224 Requires: thin-provisioning-tools
226 %description lvm-dbus
227 The libblockdev library plugin providing the LVM-related functionality
228 utilizing the LVM DBus API.
230 %description lvm-dbus -l pl.UTF-8
231 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
232 związaną z LVM, wykorzystująca API DBus LVM.
235 Summary: The MD RAID plugin for the libblockdev library
236 Summary(pl.UTF-8): Wtyczka MD RAID do biblioteki libblockdev
238 Requires: %{name} = %{version}-%{release}
239 Requires: libbytesize >= 0.1
243 The libblockdev library plugin providing the functionality related to
246 %description mdraid -l pl.UTF-8
247 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
251 Summary: The multipath plugin for the libblockdev library
252 Summary(pl.UTF-8): Wtyczka multipath do biblioteki libblockdev
254 Requires: %{name} = %{version}-%{release}
255 Requires: multipath-tools
258 The libblockdev library plugin providing the functionality related to
261 %description mpath -l pl.UTF-8
262 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
263 związaną z urządzeniami multipath.
266 Summary: The nvdimm plugin for the libblockdev library
267 Summary(pl.UTF-8): Wtyczka nvdimm do biblioteki libblockdev
269 Requires: %{name} = %{version}-%{release}
270 Requires: ndctl-libs >= 60
273 The libblockdev library plugin providing the functionality related to
276 %description nvdimm -l pl.UTF-8
277 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
278 związaną z urządzeniami nvdimm.
281 Summary: The partitioning plugin for the libblockdev library
282 Summary(pl.UTF-8): Wtyczka partycjonująca do biblioteki libblockdev
284 Requires: %{name} = %{version}-%{release}
287 Requires: parted-libs >= 3.1
291 The libblockdev library plugin providing the functionality related to
294 %description part -l pl.UTF-8
295 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
296 związaną z partycjonowaniem.
299 Summary: The swap plugin for the libblockdev library
300 Summary(pl.UTF-8): Wtyczka swap do biblioteki libblockdev
302 Requires: %{name} = %{version}-%{release}
303 Requires: libblkid >= 2.27.0
304 Requires: util-linux >= 2.23.0
307 The libblockdev library plugin providing the functionality related to
310 %description swap -l pl.UTF-8
311 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
312 związaną z urządzeniami wymiany.
315 Summary: The vdo plugin for the libblockdev library
316 Summary(pl.UTF-8): Wtyczka vdo do biblioteki libblockdev
318 Requires: %{name} = %{version}-%{release}
319 Requires: libbytesize >= 0.1
322 The libblockdev library plugin providing the functionality related to
325 %description vdo -l pl.UTF-8
326 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
327 związaną z urządzeniami vdo.
330 Summary: Meta-package that pulls all the libblockdev plugins as dependencies
331 Summary(pl.UTF-8): Metapakiet instalujący przez zależności wszystkie wtyczki libblockdev
333 Requires: %{name}-btrfs = %{version}-%{release}
334 Requires: %{name}-crypto = %{version}-%{release}
335 Requires: %{name}-dm = %{version}-%{release}
336 Requires: %{name}-fs = %{version}-%{release}
337 Requires: %{name}-kbd = %{version}-%{release}
338 Requires: %{name}-loop = %{version}-%{release}
339 Requires: %{name}-lvm = %{version}-%{release}
340 Requires: %{name}-lvm-dbus = %{version}-%{release}
341 Requires: %{name}-mdraid = %{version}-%{release}
342 Requires: %{name}-mpath = %{version}-%{release}
343 Requires: %{name}-nvdimm = %{version}-%{release}
344 Requires: %{name}-part = %{version}-%{release}
345 Requires: %{name}-swap = %{version}-%{release}
346 Requires: %{name}-vdo = %{version}-%{release}
349 A meta-package that pulls all the libblockdev plugins as dependencies.
351 %description plugins -l pl.UTF-8
352 Metapakiet instalujący przez zależności wszystkie wtyczki libblockdev.
354 %package -n python-blockdev
355 Summary: Python 2 bindings for libblockdev
356 Summary(pl.UTF-8): Wiązania Pythona 2 do libblockdev
357 Group: Libraries/Python
358 Requires: %{name} = %{version}-%{release}
359 Requires: python-pygobject3 >= 3
361 %description -n python-blockdev
362 This package contains Python 2 bindings for libblockdev.
364 %description -n python-blockdev -l pl.UTF-8
365 Ten pakiet zawiera wiązania Pythona 2 do libblockdev.
367 %package -n python3-blockdev
368 Summary: Python 2 bindings for libblockdev
369 Summary(pl.UTF-8): Wiązania Pythona 2 do libblockdev
370 Group: Libraries/Python
371 Requires: %{name} = %{version}-%{release}
372 Requires: python3-pygobject3 >= 3
374 %description -n python3-blockdev
375 This package contains Python 3 bindings for libblockdev.
377 %description -n python3-blockdev -l pl.UTF-8
378 Ten pakiet zawiera wiązania Pythona 3 do libblockdev.
389 %{__with_without apidocs gtk-doc} \
390 %{!?with_python2:--without-python2} \
391 %{!?with_python3:--without-python3}
396 rm -rf $RPM_BUILD_ROOT
397 install -d $RPM_BUILD_ROOT%{_gtkdocdir}
400 DESTDIR=$RPM_BUILD_ROOT
403 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/gtk-doc/html/libblockdev,%{_gtkdocdir}}
406 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
408 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
409 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
412 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
413 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
416 rm -rf $RPM_BUILD_ROOT
418 %post -p /sbin/ldconfig
419 %postun -p /sbin/ldconfig
421 %post btrfs -p /sbin/ldconfig
422 %postun btrfs -p /sbin/ldconfig
424 %post crypto -p /sbin/ldconfig
425 %postun crypto -p /sbin/ldconfig
427 %post dm -p /sbin/ldconfig
428 %postun dm -p /sbin/ldconfig
430 %post fs -p /sbin/ldconfig
431 %postun fs -p /sbin/ldconfig
433 %post kbd -p /sbin/ldconfig
434 %postun kbd -p /sbin/ldconfig
436 %post loop -p /sbin/ldconfig
437 %postun loop -p /sbin/ldconfig
439 %post lvm -p /sbin/ldconfig
440 %postun lvm -p /sbin/ldconfig
442 %post lvm-dbus -p /sbin/ldconfig
443 %postun lvm-dbus -p /sbin/ldconfig
445 %post mdraid -p /sbin/ldconfig
446 %postun mdraid -p /sbin/ldconfig
448 %post mpath -p /sbin/ldconfig
449 %postun mpath -p /sbin/ldconfig
451 %post nvdimm -p /sbin/ldconfig
452 %postun nvdimm -p /sbin/ldconfig
454 %post part -p /sbin/ldconfig
455 %postun part -p /sbin/ldconfig
457 %post swap -p /sbin/ldconfig
458 %postun swap -p /sbin/ldconfig
460 %post vdo -p /sbin/ldconfig
461 %postun vdo -p /sbin/ldconfig
464 %defattr(644,root,root,755)
465 %doc features.rst specs.rst
466 %attr(755,root,root) %{_libdir}/libbd_part_err.so.*.*.*
467 %attr(755,root,root) %ghost %{_libdir}/libbd_part_err.so.2
468 %attr(755,root,root) %{_libdir}/libbd_utils.so.*.*.*
469 %attr(755,root,root) %ghost %{_libdir}/libbd_utils.so.2
470 %attr(755,root,root) %{_libdir}/libblockdev.so.*.*.*
471 %attr(755,root,root) %ghost %{_libdir}/libblockdev.so.2
472 %dir %{_sysconfdir}/libblockdev
473 %dir %{_sysconfdir}/libblockdev/conf.d
474 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libblockdev/conf.d/00-default.cfg
475 %{_libdir}/girepository-1.0/BlockDev-2.0.typelib
478 %defattr(644,root,root,755)
479 %attr(755,root,root) %{_libdir}/libbd_btrfs.so
480 %attr(755,root,root) %{_libdir}/libbd_crypto.so
481 %attr(755,root,root) %{_libdir}/libbd_dm.so
482 %attr(755,root,root) %{_libdir}/libbd_fs.so
483 %attr(755,root,root) %{_libdir}/libbd_kbd.so
484 %attr(755,root,root) %{_libdir}/libbd_loop.so
485 %attr(755,root,root) %{_libdir}/libbd_lvm.so
486 %attr(755,root,root) %{_libdir}/libbd_lvm-dbus.so
487 %attr(755,root,root) %{_libdir}/libbd_mdraid.so
488 %attr(755,root,root) %{_libdir}/libbd_mpath.so
489 %attr(755,root,root) %{_libdir}/libbd_nvdimm.so
490 %attr(755,root,root) %{_libdir}/libbd_part.so
491 %attr(755,root,root) %{_libdir}/libbd_part_err.so
492 %attr(755,root,root) %{_libdir}/libbd_swap.so
493 %attr(755,root,root) %{_libdir}/libbd_utils.so
494 %attr(755,root,root) %{_libdir}/libbd_vdo.so
495 %attr(755,root,root) %{_libdir}/libblockdev.so
496 %{_includedir}/blockdev
497 %{_datadir}/gir-1.0/BlockDev-2.0.gir
498 %{_pkgconfigdir}/blockdev.pc
499 %{_pkgconfigdir}/blockdev-utils.pc
503 %defattr(644,root,root,755)
504 %{_gtkdocdir}/libblockdev
508 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_libdir}/libbd_btrfs.so.*.*.*
510 %attr(755,root,root) %ghost %{_libdir}/libbd_btrfs.so.2
513 %defattr(644,root,root,755)
514 %attr(755,root,root) %{_libdir}/libbd_crypto.so.*.*.*
515 %attr(755,root,root) %ghost %{_libdir}/libbd_crypto.so.2
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_libdir}/libbd_dm.so.*.*.*
520 %attr(755,root,root) %ghost %{_libdir}/libbd_dm.so.2
523 %defattr(644,root,root,755)
524 %attr(755,root,root) %{_libdir}/libbd_fs.so.*.*.*
525 %attr(755,root,root) %ghost %{_libdir}/libbd_fs.so.2
528 %defattr(644,root,root,755)
529 %attr(755,root,root) %{_libdir}/libbd_kbd.so.*.*.*
530 %attr(755,root,root) %ghost %{_libdir}/libbd_kbd.so.2
533 %defattr(644,root,root,755)
534 %attr(755,root,root) %{_libdir}/libbd_loop.so.*.*.*
535 %attr(755,root,root) %ghost %{_libdir}/libbd_loop.so.2
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_bindir}/lvm-cache-stats
540 %attr(755,root,root) %{_libdir}/libbd_lvm.so.*.*.*
541 %attr(755,root,root) %ghost %{_libdir}/libbd_lvm.so.2
544 %defattr(644,root,root,755)
545 %attr(755,root,root) %{_libdir}/libbd_lvm-dbus.so.*.*.*
546 %attr(755,root,root) %ghost %{_libdir}/libbd_lvm-dbus.so.2
547 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libblockdev/conf.d/10-lvm-dbus.cfg
550 %defattr(644,root,root,755)
551 %attr(755,root,root) %{_libdir}/libbd_mdraid.so.*.*.*
552 %attr(755,root,root) %ghost %{_libdir}/libbd_mdraid.so.2
555 %defattr(644,root,root,755)
556 %attr(755,root,root) %{_libdir}/libbd_mpath.so.*.*.*
557 %attr(755,root,root) %ghost %{_libdir}/libbd_mpath.so.2
560 %defattr(644,root,root,755)
561 %attr(755,root,root) %{_libdir}/libbd_nvdimm.so.*.*.*
562 %attr(755,root,root) %ghost %{_libdir}/libbd_nvdimm.so.2
565 %defattr(644,root,root,755)
566 %attr(755,root,root) %{_libdir}/libbd_part.so.*.*.*
567 %attr(755,root,root) %ghost %{_libdir}/libbd_part.so.2
570 %defattr(644,root,root,755)
571 %attr(755,root,root) %{_libdir}/libbd_swap.so.*.*.*
572 %attr(755,root,root) %ghost %{_libdir}/libbd_swap.so.2
575 %defattr(644,root,root,755)
576 %attr(755,root,root) %{_libdir}/libbd_vdo.so.*.*.*
577 %attr(755,root,root) %ghost %{_libdir}/libbd_vdo.so.2
580 %defattr(644,root,root,755)
583 %files -n python-blockdev
584 %defattr(644,root,root,755)
585 %{py_sitedir}/gi/overrides/BlockDev.py[co]
589 %files -n python3-blockdev
590 %defattr(644,root,root,755)
591 %{py3_sitedir}/gi/overrides/BlockDev.py
592 %{py3_sitedir}/gi/overrides/__pycache__/BlockDev.cpython-*.py[co]