Accepting request 583156 from devel:libraries:c_c++

OBS-URL: https://build.opensuse.org/request/show/583156
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libblockdev?expand=0&rev=2
This commit is contained in:
Dominique Leuenberger 2018-03-06 09:48:35 +00:00 committed by Git OBS Bridge
commit 2e62a38914
2 changed files with 77 additions and 480 deletions

View File

@ -1,9 +1,9 @@
-------------------------------------------------------------------
Fri Feb 23 17:00:12 UTC 2018 - luc14n0@linuxmail.org
Mon Mar 5 23:28:39 UTC 2018 - luc14n0@linuxmail.org
- Add SO version to the libbd_lvm-dbus pluing's libbd_utils
Requires tag and replace lvm2-dbusd with lvm2-clvm (openSUSE's
lvm2 daemon) to make the plugin subpackage installable.
- Move all plugins into the shared library subpackage and their
respective development files into the devel one.
- Add '-only' to LGPL License tag to comply with SPDX 3.0.
-------------------------------------------------------------------
Wed Feb 21 23:40:34 UTC 2018 - luc14n0@linuxmail.org

View File

@ -16,19 +16,17 @@
#
%bcond_with python2
%define somajor 2
%define libname %{name}%{somajor}
%define bcachetools_version 1.0.8
%define lvm2_clvm_version 2.02.156
%bcond_with python2
%define somajor 2
%define libname %{name}%{somajor}
Name: libblockdev
Summary: A library for low-level manipulation with block devices
License: LGPL-2.1
License: LGPL-2.1-only
Group: Development/Libraries/C and C++
Version: 2.16
Release: 0
Url: https://github.com/storaged-project/libblockdev
URL: https://github.com/storaged-project/libblockdev
Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}-1/libblockdev-%{version}.tar.gz
# PATCH-FIX-OPENSUSE libblockdev-fix-libkmod-include.patch luc14n0@linuxmail.org -- openSUSE's libkmod.h file location are not under the expected /usr/include directory but /usr/include/kmod.
@ -55,11 +53,7 @@ BuildRequires: pkgconfig(libparted) >= 3.1
BuildRequires: pkgconfig(libudev) >= 216
BuildRequires: pkgconfig(mount) >= 2.23.0
BuildRequires: pkgconfig(nss) >= 3.18.0
# Needed for the escrow tests in tests/crypto_test.py, but not used to build
# BuildRequires: volume_key
# BuildRequires: nss-tools
# Needed for python 2 vs. 3 compatibility in the tests, but not used to build
# BuildRequires: python2-six
Requires: %{libname} >= %{version}
%description
The LibBlockDev is a C library with GObject introspection support that can be
@ -73,6 +67,16 @@ no information about VGs when creating an LV).
%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
@ -96,6 +100,11 @@ 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
This package provides header files, pkg-config modules and API documentation needed for
@ -121,284 +130,6 @@ Requires: python3-gobject
This package contains enhancements to the gobject-introspection bindings for
LibBlockDev in Python3.
%package -n libbd_utils%{somajor}
Summary: Utility functions library for the LibBlockDev library
Group: System/Libraries
%description -n libbd_utils%{somajor}
The LibBlockDev-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.
%package -n libbd_btrfs%{somajor}
Summary: The BTRFS plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{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
%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
%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
%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
%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
%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
%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
%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}
%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
%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}
%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 libbd_loop plugin/library
Group: Development/Libraries/C and C++
Requires: libbd_loop%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: glib2-devel
%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
Requires: device-mapper
%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 libbd_lvm plugin/library
Group: Development/Libraries/C and C++
Requires: libbd_lvm%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: glib2-devel
%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 >= %{lvm2_clvm_version}
# For thin_metadata_size
#Requires: device-mapper-persistent-data
%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 libbd-lvm-dbus plugin/library
Group: Development/Libraries/C and C++
Requires: libbd_lvm-dbus%{somajor} >= %{version}
Requires: libbd_lvm-devel >= %{version}
Requires: libbd_utils-devel >= %{version}
Requires: glib2-devel
%description -n libbd_lvm-dbus-devel
This package contains header files and pkg-config files needed for development
with the libblockdev-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
%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 libbd_mdraid plugin/library
Group: Development/Libraries/C and C++
Requires: libbd_mdraid%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: glib2-devel
%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: device-mapper
%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 libbd_mpath plugin/library
Group: Development/Libraries/C and C++
Requires: libbd_mpath%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: glib2-devel
%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: device-mapper
Requires: gdisk
Requires: util-linux
%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 libbd_part plugin/library
Group: Development/Libraries/C and C++
Requires: libbd_part%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: glib2-devel
%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
%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 libbd_swap plugin/library
Group: Development/Libraries/C and C++
Requires: libbd_swap%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: glib2-devel
%description -n libbd_swap-devel
This package contains header files and pkg-config files needed for development
with the libbd_swap plugin/library.
%prep
%autosetup -p1
@ -433,140 +164,66 @@ rm -rf %{buildroot}/gi/overrides/
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%post -n libbd_utils%{somajor} -p /sbin/ldconfig
%postun -n libbd_utils%{somajor} -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
%files
%defattr(-,root,root,-)
%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}
%defattr(-,root,root,-)
%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
%defattr(-,root,root,-)
%{_libdir}/girepository-1.0/BlockDev-2.0.typelib
%files devel
%defattr(-,root,root,-)
%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
%{_libdir}/pkgconfig/blockdev.pc
%{_datadir}/gir-1.0/BlockDev-2.0.gir
%if %{with python2}
%files -n python2-%{name}
%defattr(-,root,root,-)
%dir %{python2_sitearch}/gi
%dir %{python2_sitearch}/gi/overrides
%{python2_sitearch}/gi/overrides/BlockDev.py
%endif
%files -n python3-%{name}
%defattr(-,root,root,-)
%dir %{python3_sitearch}/gi
%dir %{python3_sitearch}/gi/overrides
%{python3_sitearch}/gi/overrides/BlockDev.py
%files -n libbd_utils%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_utils.so.*
%files -n libbd_utils-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_utils.so
%{_libdir}/pkgconfig/blockdev-utils.pc
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/utils.h
%{_includedir}/blockdev/sizes.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/dev_utils.h
%files -n libbd_btrfs%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_btrfs.so.*
%files -n libbd_btrfs-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_btrfs.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/btrfs.h
%files -n libbd_crypto%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_crypto.so.*
%files -n libbd_crypto-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_crypto.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/crypto.h
%files -n libbd_dm%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_dm.so.*
%files -n libbd_dm-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_dm.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/dm.h
%files -n libbd_fs%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_fs.so.*
%files -n libbd_fs-devel
%defattr(-,root,root,-)
%{_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
@ -574,86 +231,26 @@ rm -rf %{buildroot}/gi/overrides/
%{_includedir}/blockdev/fs/ntfs.h
%{_includedir}/blockdev/fs/vfat.h
%{_includedir}/blockdev/fs/xfs.h
%files -n libbd_kbd%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_kbd.so.*
%files -n libbd_kbd-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_kbd.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/kbd.h
%files -n libbd_loop%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_loop.so.*
%files -n libbd_loop-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_loop.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/loop.h
%files -n libbd_lvm%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_lvm.so.*
%files -n libbd_lvm-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_lvm.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/lvm.h
%files -n libbd_lvm-dbus%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_lvm-dbus.so.*
%config %{_sysconfdir}/libblockdev/conf.d/10-lvm-dbus.cfg
%files -n libbd_lvm-dbus-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_lvm-dbus.so
%files -n libbd_mdraid%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_mdraid.so.*
%files -n libbd_mdraid-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_mdraid.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/mdraid.h
%files -n libbd_mpath%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_mpath.so.*
%files -n libbd_mpath-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_mpath.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/mpath.h
%files -n libbd_part%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_part.so.*
%{_libdir}/libbd_part_err.so.*
%files -n libbd_part-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_part.so
%{_libdir}/libbd_part_err.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/part.h
%files -n libbd_swap%{somajor}
%defattr(-,root,root,-)
%{_libdir}/libbd_swap.so.*
%files -n libbd_swap-devel
%defattr(-,root,root,-)
%{_libdir}/libbd_swap.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/sizes.h
%{_includedir}/blockdev/swap.h
%{_includedir}/blockdev/utils.h
%if %{with python2}
%files -n python2-%{name}
%dir %{python2_sitearch}/gi
%dir %{python2_sitearch}/gi/overrides
%{python2_sitearch}/gi/overrides/BlockDev.py
%endif
%files -n python3-%{name}
%dir %{python3_sitearch}/gi
%dir %{python3_sitearch}/gi/overrides
%{python3_sitearch}/gi/overrides/BlockDev.py
%changelog