3 %bcond_without apidocs # gtk-doc based API documentation
5 Summary: A library for low-level manipulation with block devices
6 Summary(pl.UTF-8): Biblioteka do niskopoziomowych operacji na urządzeniach blokowych
12 Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}-1/%{name}-%{version}.tar.gz
13 # Source0-md5: d022c1ebb9b9a838c1a8c8b2b781b69d
14 URL: https://github.com/storaged-project/libblockdev
15 BuildRequires: autoconf >= 2.50
16 BuildRequires: automake
17 BuildRequires: cryptsetup-devel >= 2.3.0
18 BuildRequires: device-mapper-devel >= 1.02.93
19 BuildRequires: dmraid-devel
20 BuildRequires: glib2-devel >= 1:2.42.2
21 BuildRequires: gobject-introspection-devel >= 1.3.0
22 BuildRequires: gtk-doc
23 BuildRequires: kmod-devel >= 19
24 BuildRequires: libblkid-devel >= 2.23.0
25 BuildRequires: libbytesize-devel >= 0.1
26 BuildRequires: libmount-devel >= 2.23.0
27 BuildRequires: libtool >= 2:2
28 BuildRequires: libuuid-devel
29 BuildRequires: ndctl-devel >= 58.4
30 BuildRequires: nss-devel >= 3.18.0
31 BuildRequires: parted-devel >= 3.1
32 BuildRequires: pkgconfig
33 BuildRequires: python-devel >= 2
34 BuildRequires: python3-devel >= 1:3.2
35 BuildRequires: udev-devel >= 1:216
36 BuildRequires: volume_key-devel
37 BuildRequires: yaml-devel >= 0.1
38 Requires: glib2 >= 1:2.42.2
39 Requires: kmod-libs >= 19
40 Requires: udev-libs >= 1:216
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 The libblockdev is a C library with GObject introspection support that
45 can be used for doing low-level operations with block devices like
46 setting up LVM, BTRFS, LUKS or MD RAID. The library uses plugins (LVM,
47 BTRFS,...) and serves as a thin wrapper around its plugins'
48 functionality. All the plugins, however, can be used as standalone
49 libraries. One of the core principles of libblockdev is that it is
50 stateless from the storage configuration's perspective (e.g. it has no
51 information about VGs when creating an LV).
53 %description -l pl.UTF-8
54 libblockdev to biblioteka C z obsługą GObject introspection. Można ją
55 wykorzystywać do wykonywania niskopoziomowych operacji na urządzeniach
56 blokowaych, w tym konfigurowania LVM, BTRFS, LUKS czy MD RAID.
57 Biblioteka wykorzystuje wtyczki (LVM, BTRFS...) oraz służy jako cienka
58 warstwa pośrednia do funkcjonalności tych wtyczek. Wszystkie wtyczki
59 mogą być także wykorzystywane jako samodzielne biblioteki. Jedną z
60 głównych zasad libblockdev jest to, że jest bezstanowa z punktu
61 widzenia konfiguracji urządzenia (np. nie ma informacji o VG podczas
65 Summary: Header files for libblockdev library
66 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libblockdec
67 Group: Development/Libraries
68 Requires: %{name} = %{version}-%{release}
69 Requires: %{name}-btrfs = %{version}-%{release}
70 Requires: %{name}-crypto = %{version}-%{release}
71 Requires: %{name}-dm = %{version}-%{release}
72 Requires: %{name}-fs = %{version}-%{release}
73 Requires: %{name}-kbd = %{version}-%{release}
74 Requires: %{name}-loop = %{version}-%{release}
75 Requires: %{name}-lvm = %{version}-%{release}
76 Requires: %{name}-lvm-dbus = %{version}-%{release}
77 Requires: %{name}-mdraid = %{version}-%{release}
78 Requires: %{name}-mpath = %{version}-%{release}
79 Requires: %{name}-part = %{version}-%{release}
80 Requires: %{name}-swap = %{version}-%{release}
81 Requires: glib2-devel >= 1:2.42.2
84 Header files for libblockdev library.
86 %description devel -l pl.UTF-8
87 Pliki nagłówkowe biblioteki libblockdev.
90 Summary: libblockdev API documentation
91 Summary(pl.UTF-8): Dokumentacja API biblioteki libblockdev
93 Requires: gtk-doc-common
96 API documentation for libblockdev library.
98 %description apidocs -l pl.UTF-8
99 Dokumentacja API biblioteki libblockdev.
102 Summary: The BTRFS plugin for the libblockdev library
103 Summary(pl.UTF-8): Wtyczka BTRFS do biblioteki libblockdev
105 Requires: %{name} = %{version}-%{release}
106 Requires: btrfs-progs
107 Requires: libbytesize >= 0.1
110 The libblockdev library plugin providing the BTRFS-related
113 %description btrfs -l pl.UTF-8
114 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
118 Summary: The crypto plugin for the libblockdev library
119 Summary(pl.UTF-8): Wtyczka crypto do biblioteki libblockdev
121 Requires: %{name} = %{version}-%{release}
122 Requires: cryptsetup >= 2.3.0
123 Requires: libblkid >= 2.23.0
124 Requires: nss >= 3.18.1
127 The libblockdev library plugin providing the functionality related to
128 encrypted devices (LUKS).
130 %description crypto -l pl.UTF-8
131 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
132 związaną z urządzeniami szyfrowanymi (LUKS).
135 Summary: The Device Mapper plugin for the libblockdev library
136 Summary(pl.UTF-8): Wtyczka Device Mapper do biblioteki libblockdev
138 Requires: %{name} = %{version}-%{release}
139 Requires: device-mapper >= 1.02.93
143 The libblockdev library plugin providing the functionality related to
146 %description dm -l pl.UTF-8
147 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
148 związaną z Device Mapperem.
151 Summary: The FS plugin for the libblockdev library
152 Summary(pl.UTF-8): Wtyczka FS do biblioteki libblockdev
154 Requires: %{name} = %{version}-%{release}
155 Requires: libblkid >= 2.23.0
156 Requires: libmount >= 2.23.0
157 Requires: parted-libs >= 3.1
160 The libblockdev library plugin providing the functionality related to
161 operations with file systems.
163 %description fs -l pl.UTF-8
164 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
165 związaną z operacjami na systemie plików.
168 Summary: The KBD plugin for the libblockdev library
169 Summary(pl.UTF-8): Wtyczka KBD do biblioteki libblockdev
171 Requires: %{name} = %{version}-%{release}
172 Requires: bcache-tools >= 1.0.8
173 Requires: libbytesize >= 0.1
176 The libblockdev library plugin providing the functionality related to
177 kernel block devices (namely zRAM and Bcache).
179 %description kbd -l pl.UTF-8
180 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
181 związaną z urządzeniami blokowymi jądra (konkretnie zRAM i Bcache).
184 Summary: The loop plugin for the libblockdev library
185 Summary(pl.UTF-8): Wtyczka loop do biblioteki libblockdev
187 Requires: %{name} = %{version}-%{release}
190 The libblockdev library plugin providing the functionality related to
193 %description loop -l pl.UTF-8
194 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
195 związaną z urządzeniami loopback.
198 Summary: The LVM plugin for the libblockdev library
199 Summary(pl.UTF-8): Wtyczka LVM do biblioteki libblockdev
201 Requires: %{name} = %{version}-%{release}
202 Requires: libbytesize >= 0.1
203 Requires: lvm2 >= 1.02.93
204 Requires: thin-provisioning-tools
207 The libblockdev library plugin providing the LVM-related
210 %description lvm -l pl.UTF-8
211 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
215 Summary: The LVM-DBus plugin for the libblockdev library
216 Summary(pl.UTF-8): Wtyczka LVM-DBus do biblioteki libblockdev
218 Requires: %{name} = %{version}-%{release}
219 Requires: lvm2-dbusd >= 2.02.156
220 Requires: thin-provisioning-tools
222 %description lvm-dbus
223 The libblockdev library plugin providing the LVM-related functionality
224 utilizing the LVM DBus API.
226 %description lvm-dbus -l pl.UTF-8
227 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
228 związaną z LVM, wykorzystująca API DBus LVM.
231 Summary: The MD RAID plugin for the libblockdev library
232 Summary(pl.UTF-8): Wtyczka MD RAID do biblioteki libblockdev
234 Requires: %{name} = %{version}-%{release}
235 Requires: libbytesize >= 0.1
239 The libblockdev library plugin providing the functionality related to
242 %description mdraid -l pl.UTF-8
243 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
247 Summary: The multipath plugin for the libblockdev library
248 Summary(pl.UTF-8): Wtyczka multipath do biblioteki libblockdev
250 Requires: %{name} = %{version}-%{release}
251 Requires: multipath-tools
254 The libblockdev library plugin providing the functionality related to
257 %description mpath -l pl.UTF-8
258 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
259 związaną z urządzeniami multipath.
262 Summary: The nvdimm plugin for the libblockdev library
263 Summary(pl.UTF-8): Wtyczka nvdimm do biblioteki libblockdev
265 Requires: %{name} = %{version}-%{release}
266 Requires: ndctl-libs >= 58.4
269 The libblockdev library plugin providing the functionality related to
272 %description nvdimm -l pl.UTF-8
273 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
274 związaną z urządzeniami nvdimm.
277 Summary: The partitioning plugin for the libblockdev library
278 Summary(pl.UTF-8): Wtyczka partycjonująca do biblioteki libblockdev
280 Requires: %{name} = %{version}-%{release}
282 Requires: multipath-tools
283 Requires: parted-libs >= 3.1
287 The libblockdev library plugin providing the functionality related to
290 %description part -l pl.UTF-8
291 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
292 związaną z partycjonowaniem.
295 Summary: The swap plugin for the libblockdev library
296 Summary(pl.UTF-8): Wtyczka swap do biblioteki libblockdev
298 Requires: %{name} = %{version}-%{release}
299 Requires: libblkid >= 2.23.0
300 Requires: util-linux >= 2.23.0
303 The libblockdev library plugin providing the functionality related to
306 %description swap -l pl.UTF-8
307 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
308 związaną z urządzeniami wymiany.
311 Summary: The vdo plugin for the libblockdev library
312 Summary(pl.UTF-8): Wtyczka vdo do biblioteki libblockdev
314 Requires: %{name} = %{version}-%{release}
315 Requires: libbytesize >= 0.1
318 The libblockdev library plugin providing the functionality related to
321 %description vdo -l pl.UTF-8
322 Wtyczka biblioteki libblockdev zapewniająca funkcjonalność
323 związaną z urządzeniami vdo.
326 Summary: Meta-package that pulls all the libblockdev plugins as dependencies
327 Summary(pl.UTF-8): Metapakiet instalujący przez zależności wszystkie wtyczki libblockdev
329 Requires: %{name}-btrfs = %{version}-%{release}
330 Requires: %{name}-crypto = %{version}-%{release}
331 Requires: %{name}-dm = %{version}-%{release}
332 Requires: %{name}-fs = %{version}-%{release}
333 Requires: %{name}-kbd = %{version}-%{release}
334 Requires: %{name}-loop = %{version}-%{release}
335 Requires: %{name}-lvm = %{version}-%{release}
336 Requires: %{name}-lvm-dbus = %{version}-%{release}
337 Requires: %{name}-mdraid = %{version}-%{release}
338 Requires: %{name}-mpath = %{version}-%{release}
339 Requires: %{name}-nvdimm = %{version}-%{release}
340 Requires: %{name}-part = %{version}-%{release}
341 Requires: %{name}-swap = %{version}-%{release}
342 Requires: %{name}-vdo = %{version}-%{release}
345 A meta-package that pulls all the libblockdev plugins as dependencies.
347 %description plugins -l pl.UTF-8
348 Metapakiet instalujący przez zależności wszystkie wtyczki libblockdev.
350 %package -n python-blockdev
351 Summary: Python 2 bindings for libblockdev
352 Summary(pl.UTF-8): Wiązania Pythona 2 do libblockdev
353 Group: Libraries/Python
354 Requires: %{name} = %{version}-%{release}
355 Requires: python-pygobject3 >= 3
357 %description -n python-blockdev
358 This package contains Python 2 bindings for libblockdev.
360 %description -n python-blockdev -l pl.UTF-8
361 Ten pakiet zawiera wiązania Pythona 2 do libblockdev.
363 %package -n python3-blockdev
364 Summary: Python 2 bindings for libblockdev
365 Summary(pl.UTF-8): Wiązania Pythona 2 do libblockdev
366 Group: Libraries/Python
367 Requires: %{name} = %{version}-%{release}
368 Requires: python3-pygobject3 >= 3
370 %description -n python3-blockdev
371 This package contains Python 3 bindings for libblockdev.
373 %description -n python3-blockdev -l pl.UTF-8
374 Ten pakiet zawiera wiązania Pythona 3 do libblockdev.
385 %{__with_without apidocs gtk-doc}
389 rm -rf $RPM_BUILD_ROOT
390 install -d $RPM_BUILD_ROOT%{_gtkdocdir}
393 DESTDIR=$RPM_BUILD_ROOT
396 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/gtk-doc/html/libblockdev,%{_gtkdocdir}}
399 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
401 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
402 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
406 rm -rf $RPM_BUILD_ROOT
408 %post -p /sbin/ldconfig
409 %postun -p /sbin/ldconfig
411 %post btrfs -p /sbin/ldconfig
412 %postun btrfs -p /sbin/ldconfig
414 %post crypto -p /sbin/ldconfig
415 %postun crypto -p /sbin/ldconfig
417 %post dm -p /sbin/ldconfig
418 %postun dm -p /sbin/ldconfig
420 %post fs -p /sbin/ldconfig
421 %postun fs -p /sbin/ldconfig
423 %post kbd -p /sbin/ldconfig
424 %postun kbd -p /sbin/ldconfig
426 %post loop -p /sbin/ldconfig
427 %postun loop -p /sbin/ldconfig
429 %post lvm -p /sbin/ldconfig
430 %postun lvm -p /sbin/ldconfig
432 %post lvm-dbus -p /sbin/ldconfig
433 %postun lvm-dbus -p /sbin/ldconfig
435 %post mdraid -p /sbin/ldconfig
436 %postun mdraid -p /sbin/ldconfig
438 %post mpath -p /sbin/ldconfig
439 %postun mpath -p /sbin/ldconfig
441 %post nvdimm -p /sbin/ldconfig
442 %postun nvdimm -p /sbin/ldconfig
444 %post part -p /sbin/ldconfig
445 %postun part -p /sbin/ldconfig
447 %post swap -p /sbin/ldconfig
448 %postun swap -p /sbin/ldconfig
450 %post vdo -p /sbin/ldconfig
451 %postun vdo -p /sbin/ldconfig
454 %defattr(644,root,root,755)
455 %doc features.rst specs.rst
456 %attr(755,root,root) %{_libdir}/libbd_part_err.so.*.*.*
457 %attr(755,root,root) %ghost %{_libdir}/libbd_part_err.so.2
458 %attr(755,root,root) %{_libdir}/libbd_utils.so.*.*.*
459 %attr(755,root,root) %ghost %{_libdir}/libbd_utils.so.2
460 %attr(755,root,root) %{_libdir}/libblockdev.so.*.*.*
461 %attr(755,root,root) %ghost %{_libdir}/libblockdev.so.2
462 %dir %{_sysconfdir}/libblockdev
463 %dir %{_sysconfdir}/libblockdev/conf.d
464 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libblockdev/conf.d/00-default.cfg
465 %{_libdir}/girepository-1.0/BlockDev-2.0.typelib
468 %defattr(644,root,root,755)
469 %attr(755,root,root) %{_libdir}/libbd_btrfs.so
470 %attr(755,root,root) %{_libdir}/libbd_crypto.so
471 %attr(755,root,root) %{_libdir}/libbd_dm.so
472 %attr(755,root,root) %{_libdir}/libbd_fs.so
473 %attr(755,root,root) %{_libdir}/libbd_kbd.so
474 %attr(755,root,root) %{_libdir}/libbd_loop.so
475 %attr(755,root,root) %{_libdir}/libbd_lvm.so
476 %attr(755,root,root) %{_libdir}/libbd_lvm-dbus.so
477 %attr(755,root,root) %{_libdir}/libbd_mdraid.so
478 %attr(755,root,root) %{_libdir}/libbd_mpath.so
479 %attr(755,root,root) %{_libdir}/libbd_nvdimm.so
480 %attr(755,root,root) %{_libdir}/libbd_part.so
481 %attr(755,root,root) %{_libdir}/libbd_part_err.so
482 %attr(755,root,root) %{_libdir}/libbd_swap.so
483 %attr(755,root,root) %{_libdir}/libbd_utils.so
484 %attr(755,root,root) %{_libdir}/libbd_vdo.so
485 %attr(755,root,root) %{_libdir}/libblockdev.so
486 %{_includedir}/blockdev
487 %{_datadir}/gir-1.0/BlockDev-2.0.gir
488 %{_pkgconfigdir}/blockdev.pc
489 %{_pkgconfigdir}/blockdev-utils.pc
493 %defattr(644,root,root,755)
494 %{_gtkdocdir}/libblockdev
498 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_libdir}/libbd_btrfs.so.*.*.*
500 %attr(755,root,root) %ghost %{_libdir}/libbd_btrfs.so.2
503 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_libdir}/libbd_crypto.so.*.*.*
505 %attr(755,root,root) %ghost %{_libdir}/libbd_crypto.so.2
508 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_libdir}/libbd_dm.so.*.*.*
510 %attr(755,root,root) %ghost %{_libdir}/libbd_dm.so.2
513 %defattr(644,root,root,755)
514 %attr(755,root,root) %{_libdir}/libbd_fs.so.*.*.*
515 %attr(755,root,root) %ghost %{_libdir}/libbd_fs.so.2
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_libdir}/libbd_kbd.so.*.*.*
520 %attr(755,root,root) %ghost %{_libdir}/libbd_kbd.so.2
523 %defattr(644,root,root,755)
524 %attr(755,root,root) %{_libdir}/libbd_loop.so.*.*.*
525 %attr(755,root,root) %ghost %{_libdir}/libbd_loop.so.2
528 %defattr(644,root,root,755)
529 %attr(755,root,root) %{_bindir}/lvm-cache-stats
530 %attr(755,root,root) %{_libdir}/libbd_lvm.so.*.*.*
531 %attr(755,root,root) %ghost %{_libdir}/libbd_lvm.so.2
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_libdir}/libbd_lvm-dbus.so.*.*.*
536 %attr(755,root,root) %ghost %{_libdir}/libbd_lvm-dbus.so.2
537 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libblockdev/conf.d/10-lvm-dbus.cfg
540 %defattr(644,root,root,755)
541 %attr(755,root,root) %{_libdir}/libbd_mdraid.so.*.*.*
542 %attr(755,root,root) %ghost %{_libdir}/libbd_mdraid.so.2
545 %defattr(644,root,root,755)
546 %attr(755,root,root) %{_libdir}/libbd_mpath.so.*.*.*
547 %attr(755,root,root) %ghost %{_libdir}/libbd_mpath.so.2
550 %defattr(644,root,root,755)
551 %attr(755,root,root) %{_libdir}/libbd_nvdimm.so.*.*.*
552 %attr(755,root,root) %ghost %{_libdir}/libbd_nvdimm.so.2
555 %defattr(644,root,root,755)
556 %attr(755,root,root) %{_libdir}/libbd_part.so.*.*.*
557 %attr(755,root,root) %ghost %{_libdir}/libbd_part.so.2
560 %defattr(644,root,root,755)
561 %attr(755,root,root) %{_libdir}/libbd_swap.so.*.*.*
562 %attr(755,root,root) %ghost %{_libdir}/libbd_swap.so.2
565 %defattr(644,root,root,755)
566 %attr(755,root,root) %{_libdir}/libbd_vdo.so.*.*.*
567 %attr(755,root,root) %ghost %{_libdir}/libbd_vdo.so.2
570 %defattr(644,root,root,755)
572 %files -n python-blockdev
573 %defattr(644,root,root,755)
574 %{py_sitedir}/gi/overrides/BlockDev.py[co]
576 %files -n python3-blockdev
577 %defattr(644,root,root,755)
578 %{py3_sitedir}/gi/overrides/BlockDev.py