diff --git a/libblockdev.changes b/libblockdev.changes index f39faa6..3f050d1 100644 --- a/libblockdev.changes +++ b/libblockdev.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Mar 28 03:13:10 UTC 2018 - luc14n0@linuxmail.org + +- Resplit plugins to avoid pulling clusterlvm support by default + into the dependency chain (bsc#1086447). + ------------------------------------------------------------------- Mon Mar 5 23:28:39 UTC 2018 - luc14n0@linuxmail.org diff --git a/libblockdev.spec b/libblockdev.spec index 3bd94b7..7fbc61e 100644 --- a/libblockdev.spec +++ b/libblockdev.spec @@ -17,8 +17,10 @@ %bcond_with python2 -%define somajor 2 -%define libname %{name}%{somajor} +%define bcachetools_version 1.0.8 +%define lvm2-clvm_version 2.02.156 +%define somajor 2 +%define libname %{name}%{somajor} Name: libblockdev Summary: A library for low-level manipulation with block devices @@ -64,19 +66,9 @@ be used as standalone libraries. One of the core principles of LibBlockDev is that it is stateless from the storage configuration's perspective (e.g. it has no information about VGs when creating an LV). -%package -n %{libname} +%package -n %{libname} Summary: A library for low-level manipulation with block devices Group: System/Libraries -Requires: bcache-tools >= 1.0.8 -Requires: device-mapper -# For thin_metadata_size -#Requires: device-mapper-persistent-data -Requires: dmraid -Requires: gdisk -Requires: lvm2 -Requires: lvm2-clvm >= 2.02.156 -Requires: mdadm -Requires: util-linux %description -n %{libname} The LibBlockDev is a C library with GObject introspection support that can be @@ -87,7 +79,7 @@ be used as standalone libraries. One of the core principles of LibBlockDev is that it is stateless from the storage configuration's perspective (e.g. it has no information about VGs when creating an LV). -%package -n typelib-1_0-BlockDev-2_0 +%package -n typelib-1_0-BlockDev-2_0 Summary: Introspection bindings for the LibBlockDev library Group: System/Libraries @@ -95,22 +87,17 @@ Group: System/Libraries This package provides the GObject Introspection bindings for LibBlockDev, which provides low-level manipulation of block devices. -%package devel +%package devel Summary: Development files for the LibBlockDev library Group: Development/Libraries/C and C++ Requires: %{libname} >= %{version} Requires: glib2-devel -Requires: device-mapper-devel -Requires: systemd-devel -Requires: dmraid-devel -Requires: xfsprogs -Requires: dosfstools -%description devel +%description devel This package provides header files, pkg-config modules and API documentation needed for development with the LibBlockDev library. -%package -n python2-%{name} +%package -n python2-%{name} Summary: Python2 gobject-introspection bindings for the LibBlockDev library Group: Development/Libraries/Python Requires: %{libname} >= %{version} @@ -120,7 +107,7 @@ Requires: python2-gobject This package contains enhancements to the gobject-introspection bindings for LibBlockDev in Python2. -%package -n python3-%{name} +%package -n python3-%{name} Summary: Python3 gobject-introspection bindings for the LibBlockDev library Group: Development/Libraries/Python Requires: %{libname} >= %{version} @@ -130,6 +117,322 @@ Requires: python3-gobject This package contains enhancements to the gobject-introspection bindings for LibBlockDev in Python3. + +%package -n libbd_btrfs%{somajor} +Summary: The BTRFS plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Provides: libblockdev-btrfs = %{version} + +%description -n libbd_btrfs%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the BTRFS-related functionality. + +%package -n libbd_btrfs-devel +Summary: Development files for the libbd_btrfs plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_btrfs%{somajor} >= %{version} +Requires: glib2-devel +Requires: libbd_utils-devel +Provides: libblockdev-btrfs-devel = %{version} + +%description -n libbd_btrfs-devel +This package contains header files and pkg-config files needed for development +with the libbd_btrfs plugin/library. + + +%package -n libbd_crypto%{somajor} +Summary: The crypto plugin for the LibBlockDev library +Group: System/Libraries +Provides: libblockdev-crypto = %{version} + +%description -n libbd_crypto%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to encrypted devices (LUKS). + +%package -n libbd_crypto-devel +Summary: Development files for the libbd_crypto plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_crypto%{somajor} >= %{version} +Requires: glib2-devel +Provides: libblockdev-crypto-devel = %{version} + +%description -n libbd_crypto-devel +This package contains header files and pkg-config files needed for development +with the libbd_crypto plugin/library.. + + +%package -n libbd_dm%{somajor} +Summary: The Device Mapper plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: device-mapper +Requires: dmraid +Provides: libblockdev-dm = %{version} + +%description -n libbd_dm%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to Device Mapper. + +%package -n libbd_dm-devel +Summary: Development files for the libbd_dm plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_dm%{somajor} >= %{version} +Requires: glib2-devel +Requires: device-mapper-devel +Requires: systemd-devel +Requires: dmraid-devel +Requires: libbd_utils-devel +Provides: libblockdev-dm-devel = %{version} + +%description -n libbd_dm-devel +This package contains header files and pkg-config files needed for development +with the libbd_dm plugin/library.. + + +%package -n libbd_fs%{somajor} +Summary: The FS plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: device-mapper +Provides: libblockdev-fs = %{version} + +%description -n libbd_fs%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to operations with file systems. + +%package -n libbd_fs-devel +Summary: Development files for the libbd_fs plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_fs%{somajor} >= %{version} +Requires: libbd_utils-devel +Requires: glib2-devel +Requires: xfsprogs +Requires: dosfstools +Provides: libblockdev-fs-devel = %{version} + +%description -n libbd_fs-devel +This package contains header files and pkg-config files needed for development +with the libbd_fs plugin/library.. + + +%package -n libbd_kbd%{somajor} +Summary: The KBD plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: bcache-tools >= %{bcachetools_version} +Provides: libblockdev-kbd = %{version} + +%description -n libbd_kbd%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to kernel block devices (namely zRAM and +Bcache). + +%package -n libbd_kbd-devel +Summary: Development files for the libbd_kbd plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_kbd%{somajor} >= %{version} +Requires: libbd_utils-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-kbd-devel = %{version} + +%description -n libbd_kbd-devel +This package contains header files and pkg-config files needed for development +with the libbd_kbd plugin/library.. + + +%package -n libbd_loop%{somajor} +Summary: The loop plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Provides: libblockdev-loop = %{version} + +%description -n libbd_loop%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to loop devices. + +%package -n libbd_loop-devel +Summary: Development files for the libblockdev-loop plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_loop%{somajor} = %{version} +Requires: libbd_utils-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-loop-devel = %{version} + +%description -n libbd_loop-devel +This package contains header files and pkg-config files needed for development +with the libbd_loop plugin/library. + + +%package -n libbd_lvm%{somajor} +Summary: The LVM plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: lvm2 +# For thin_metadata_size. +Requires: thin-provisioning-tools +Provides: libblockdev-lvm = %{version} + +%description -n libbd_lvm%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the LVM-related functionality. + +%package -n libbd_lvm-devel +Summary: Development files for the libblockdev-lvm plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_lvm%{somajor} = %{version} +Requires: libbd_utils-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-lvm-devel = %{version} + +%description -n libbd_lvm-devel +This package contains header files and pkg-config files needed for development +with the libbd_lvm plugin/library. + + +%package -n libbd_lvm-dbus%{somajor} +Summary: The LVM plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: lvm2-clvm >= 2.02.156 +# For thin_metadata_size. +Requires: thin-provisioning-tools +Provides: libblockdev-lvm-dbus = %{version} + +%description -n libbd_lvm-dbus%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the LVM-related functionality utilizing the LVM DBus API. + +%package -n libbd_lvm-dbus-devel +Summary: Development files for the libblockdev-lvm-dbus plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_lvm-dbus%{somajor} = %{version} +Requires: libbd_utils-devel >= %{version} +Requires: libbd_lvm-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-lvm-dbus-devel = %{version} + +%description -n libbd_lvm-dbus-devel +This package contains header files and pkg-config files needed for development +with the libbd_lvm-dbus plugin/library. + + +%package -n libbd_mdraid%{somajor} +Summary: The MD RAID plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: mdadm +Provides: libblockdev-mdraid = %{version} + +%description -n libbd_mdraid%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to MD RAID. + +%package -n libbd_mdraid-devel +Summary: Development files for the libblockdev-mdraid plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_mdraid%{somajor} = %{version} +Requires: libbd_utils-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-mdraid-devel = %{version} + +%description -n libbd_mdraid-devel +This package contains header files and pkg-config files needed for development +with the libbd_mdraid plugin/library. + + +%package -n libbd_mpath%{somajor} +Summary: The multipath plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: multipath-tools +Provides: libblockdev-mpath = %{version} + +%description -n libbd_mpath%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to multipath devices. + +%package -n libbd_mpath-devel +Summary: Development files for the libblockdev-mpath plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_mpath%{somajor} = %{version} +Requires: libbd_utils-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-mpath-devel = %{version} + +%description -n libbd_mpath-devel +This package contains header files and pkg-config files needed for development +with the libbd_mpath plugin/library. + + +%package -n libbd_part%{somajor} +Summary: The partitioning plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: multipath-tools +Requires: gptfdisk +Requires: util-linux +Provides: libblockdev-part = %{version} + +%description -n libbd_part%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to partitioning. + +%package -n libbd_part-devel +Summary: Development files for the libblockdev-part plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_part%{somajor} = %{version} +Requires: libbd_utils-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-part-devel = %{version} + +%description -n libbd_part-devel +This package contains header files and pkg-config files needed for development +with the libbd_part plugin/library. + + +%package -n libbd_swap%{somajor} +Summary: The swap plugin for the LibBlockDev library +Group: System/Libraries +Requires: libbd_utils%{somajor} >= %{version} +Requires: util-linux +Provides: libblockdev-swap = %{version} + +%description -n libbd_swap%{somajor} +The LibBlockDev library plugin (and in the same time a standalone library) +providing the functionality related to swap devices. + +%package -n libbd_swap-devel +Summary: Development files for the libblockdev-swap plugin/library +Group: Development/Libraries/C and C++ +Requires: libbd_swap%{somajor} = %{version} +Requires: libbd_utils-devel >= %{version} +Requires: glib2-devel +Provides: libblockdev-swap-devel = %{version} + +%description -n libbd_swap-devel +This package contains header files and pkg-config files needed for development +with the libbd_swap plugin/library. + + +%package -n libbd_utils%{somajor} +Summary: Utility functions library for the LibBlockDev library +Group: System/Libraries + +%description -n libbd_utils%{somajor} +The libbd_utils is a library providing utility functions used by the +LibBlockDev library and its plugins. + +%package -n libbd_utils-devel +Summary: Development files for libbd_utils +Group: Development/Libraries/C and C++ +Requires: libbd_utils%{somajor} >= %{version} +Requires: glib2-devel + +%description -n libbd_utils-devel +This package contains header files and pkg-config files needed for development +with the libbd_utils library. + %prep %autosetup -p1 @@ -164,30 +467,53 @@ rm -rf %{buildroot}/gi/overrides/ %post -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig +%post -n libbd_btrfs%{somajor} -p /sbin/ldconfig +%postun -n libbd_btrfs%{somajor} -p /sbin/ldconfig + +%post -n libbd_crypto%{somajor} -p /sbin/ldconfig +%postun -n libbd_crypto%{somajor} -p /sbin/ldconfig + +%post -n libbd_dm%{somajor} -p /sbin/ldconfig +%postun -n libbd_dm%{somajor} -p /sbin/ldconfig + +%post -n libbd_fs%{somajor} -p /sbin/ldconfig +%postun -n libbd_fs%{somajor} -p /sbin/ldconfig + +%post -n libbd_kbd%{somajor} -p /sbin/ldconfig +%postun -n libbd_kbd%{somajor} -p /sbin/ldconfig + +%post -n libbd_loop%{somajor} -p /sbin/ldconfig +%postun -n libbd_loop%{somajor} -p /sbin/ldconfig + +%post -n libbd_lvm%{somajor} -p /sbin/ldconfig +%postun -n libbd_lvm%{somajor} -p /sbin/ldconfig + +%post -n libbd_lvm-dbus%{somajor} -p /sbin/ldconfig +%postun -n libbd_lvm-dbus%{somajor} -p /sbin/ldconfig + +%post -n libbd_mdraid%{somajor} -p /sbin/ldconfig +%postun -n libbd_mdraid%{somajor} -p /sbin/ldconfig + +%post -n libbd_mpath%{somajor} -p /sbin/ldconfig +%postun -n libbd_mpath%{somajor} -p /sbin/ldconfig + +%post -n libbd_part%{somajor} -p /sbin/ldconfig +%postun -n libbd_part%{somajor} -p /sbin/ldconfig + +%post -n libbd_swap%{somajor} -p /sbin/ldconfig +%postun -n libbd_swap%{somajor} -p /sbin/ldconfig + +%post -n libbd_utils%{somajor} -p /sbin/ldconfig +%postun -n libbd_utils%{somajor} -p /sbin/ldconfig + %files %dir %{_sysconfdir}/libblockdev %dir %{_sysconfdir}/libblockdev/conf.d %config %{_sysconfdir}/libblockdev/conf.d/00-default.cfg -%config %{_sysconfdir}/libblockdev/conf.d/10-lvm-dbus.cfg %files -n %{libname} %license LICENSE %{_libdir}/libblockdev.so.%{somajor}* -# List all plugins to keep track of them -%{_libdir}/libbd_btrfs.so.%{somajor}* -%{_libdir}/libbd_crypto.so.%{somajor}* -%{_libdir}/libbd_dm.so.%{somajor}* -%{_libdir}/libbd_fs.so.%{somajor}* -%{_libdir}/libbd_kbd.so.%{somajor}* -%{_libdir}/libbd_loop.so.%{somajor}* -%{_libdir}/libbd_lvm.so.%{somajor}* -%{_libdir}/libbd_lvm-dbus.so.%{somajor}* -%{_libdir}/libbd_mdraid.so.%{somajor}* -%{_libdir}/libbd_mpath.so.%{somajor}* -%{_libdir}/libbd_part.so.%{somajor}* -%{_libdir}/libbd_part_err.so.%{somajor}* -%{_libdir}/libbd_swap.so.%{somajor}* -%{_libdir}/libbd_utils.so.%{somajor}* %files -n typelib-1_0-BlockDev-2_0 %{_libdir}/girepository-1.0/BlockDev-2.0.typelib @@ -196,50 +522,11 @@ rm -rf %{buildroot}/gi/overrides/ %doc features.rst specs.rst %doc %{_datadir}/gtk-doc/html/libblockdev %{_libdir}/libblockdev.so -%{_libdir}/libbd_btrfs.so -%{_libdir}/libbd_crypto.so -%{_libdir}/libbd_dm.so -%{_libdir}/libbd_fs.so -%{_libdir}/libbd_kbd.so -%{_libdir}/libbd_loop.so -%{_libdir}/libbd_lvm.so -%{_libdir}/libbd_lvm-dbus.so -%{_libdir}/libbd_mdraid.so -%{_libdir}/libbd_mpath.so -%{_libdir}/libbd_part.so -%{_libdir}/libbd_part_err.so -%{_libdir}/libbd_swap.so -%{_libdir}/libbd_utils.so %{_libdir}/pkgconfig/blockdev.pc -%{_libdir}/pkgconfig/blockdev-utils.pc %{_datadir}/gir-1.0/BlockDev-2.0.gir %dir %{_includedir}/blockdev -%dir %{_includedir}/blockdev/fs %{_includedir}/blockdev/blockdev.h -%{_includedir}/blockdev/module.h %{_includedir}/blockdev/plugins.h -%{_includedir}/blockdev/btrfs.h -%{_includedir}/blockdev/crypto.h -%{_includedir}/blockdev/dev_utils.h -%{_includedir}/blockdev/dm.h -%{_includedir}/blockdev/exec.h -%{_includedir}/blockdev/extra_arg.h -%{_includedir}/blockdev/fs.h -%{_includedir}/blockdev/fs/ext.h -%{_includedir}/blockdev/fs/generic.h -%{_includedir}/blockdev/fs/mount.h -%{_includedir}/blockdev/fs/ntfs.h -%{_includedir}/blockdev/fs/vfat.h -%{_includedir}/blockdev/fs/xfs.h -%{_includedir}/blockdev/kbd.h -%{_includedir}/blockdev/loop.h -%{_includedir}/blockdev/lvm.h -%{_includedir}/blockdev/mdraid.h -%{_includedir}/blockdev/mpath.h -%{_includedir}/blockdev/part.h -%{_includedir}/blockdev/sizes.h -%{_includedir}/blockdev/swap.h -%{_includedir}/blockdev/utils.h %if %{with python2} %files -n python2-%{name} @@ -253,4 +540,122 @@ rm -rf %{buildroot}/gi/overrides/ %dir %{python3_sitearch}/gi/overrides %{python3_sitearch}/gi/overrides/BlockDev.py +%files -n libbd_btrfs%{somajor} +%{_libdir}/libbd_btrfs.so.%{somajor}* + +%files -n libbd_btrfs-devel +%{_libdir}/libbd_btrfs.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/btrfs.h + +%files -n libbd_crypto%{somajor} +%{_libdir}/libbd_crypto.so.%{somajor}* + +%files -n libbd_crypto-devel +%{_libdir}/libbd_crypto.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/crypto.h + +%files -n libbd_dm%{somajor} +%{_libdir}/libbd_dm.so.%{somajor}* + +%files -n libbd_dm-devel +%{_libdir}/libbd_dm.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/dm.h + +%files -n libbd_fs%{somajor} +%{_libdir}/libbd_fs.so.%{somajor}* + +%files -n libbd_fs-devel +%{_libdir}/libbd_fs.so +%dir %{_includedir}/blockdev +%dir %{_includedir}/blockdev/fs +%{_includedir}/blockdev/fs.h +%{_includedir}/blockdev/fs/ext.h +%{_includedir}/blockdev/fs/generic.h +%{_includedir}/blockdev/fs/mount.h +%{_includedir}/blockdev/fs/ntfs.h +%{_includedir}/blockdev/fs/vfat.h +%{_includedir}/blockdev/fs/xfs.h + +%files -n libbd_kbd%{somajor} +%{_libdir}/libbd_kbd.so.%{somajor}* + +%files -n libbd_kbd-devel +%{_libdir}/libbd_kbd.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/kbd.h + +%files -n libbd_loop%{somajor} +%{_libdir}/libbd_loop.so.%{somajor}* + +%files -n libbd_loop-devel +%{_libdir}/libbd_loop.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/loop.h + +%files -n libbd_lvm%{somajor} +%{_libdir}/libbd_lvm.so.%{somajor}* + +%files -n libbd_lvm-devel +%{_libdir}/libbd_lvm.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/lvm.h + +%files -n libbd_lvm-dbus%{somajor} +%{_libdir}/libbd_lvm-dbus.so.%{somajor}* +%config %{_sysconfdir}/libblockdev/conf.d/10-lvm-dbus.cfg + +%files -n libbd_lvm-dbus-devel +%{_libdir}/libbd_lvm-dbus.so + +%files -n libbd_mdraid%{somajor} +%{_libdir}/libbd_mdraid.so.%{somajor}* + +%files -n libbd_mdraid-devel +%{_libdir}/libbd_mdraid.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/mdraid.h + +%files -n libbd_mpath%{somajor} +%{_libdir}/libbd_mpath.so.%{somajor}* + +%files -n libbd_mpath-devel +%{_libdir}/libbd_mpath.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/mpath.h + +%files -n libbd_part%{somajor} +%{_libdir}/libbd_part.so.%{somajor}* + +%files -n libbd_part-devel +%{_libdir}/libbd_part.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/part.h + +%files -n libbd_swap%{somajor} +%{_libdir}/libbd_swap.so.%{somajor}* + +%files -n libbd_swap-devel +%{_libdir}/libbd_swap.so +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/swap.h + +%files -n libbd_utils%{somajor} +%{_libdir}/libbd_part_err.so.%{somajor}* +%{_libdir}/libbd_utils.so.%{somajor}* + +%files -n libbd_utils-devel +%{_libdir}/libbd_utils.so +%{_libdir}/libbd_part_err.so +%{_libdir}/pkgconfig/blockdev-utils.pc +%dir %{_includedir}/blockdev +%{_includedir}/blockdev/utils.h +%{_includedir}/blockdev/sizes.h +%{_includedir}/blockdev/exec.h +%{_includedir}/blockdev/extra_arg.h +%{_includedir}/blockdev/dev_utils.h +%{_includedir}/blockdev/module.h + %changelog