Accepting request 596357 from devel:libraries:c_c++

Resplit plugins to avoid pulling clusterlvm support by default into the dependency chain (bsc#1086447).

OBS-URL: https://build.opensuse.org/request/show/596357
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libblockdev?expand=0&rev=3
This commit is contained in:
Dominique Leuenberger 2018-04-22 12:29:36 +00:00 committed by Git OBS Bridge
commit e6adaf86b1
2 changed files with 489 additions and 78 deletions

View File

@ -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

View File

@ -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