NVMe plugin backport

Resolves: rhbz#2123338
This commit is contained in:
Vojtech Trefny 2022-09-22 14:20:29 +02:00
parent bb62668d70
commit 260e8c44c5
3 changed files with 6523 additions and 2 deletions

File diff suppressed because it is too large Load Diff

View File

@ -20,6 +20,7 @@
%define with_escrow 1
%define with_dmraid 1
%define with_tools 1
%define with_nvme 1
# python2 is not available on RHEL > 7 and not needed on Fedora > 29
%if 0%{?rhel} > 7 || 0%{?fedora} > 29 || %{with_python2} == 0
@ -120,12 +121,15 @@
%if %{with_gi} != 1
%define gi_copts --disable-introspection
%endif
%if %{with_nvme} != 1
%define nvme_copts --without-nvme
%endif
%define configure_opts %{?python2_copts} %{?python3_copts} %{?bcache_copts} %{?lvm_dbus_copts} %{?btrfs_copts} %{?crypto_copts} %{?dm_copts} %{?loop_copts} %{?lvm_copts} %{?lvm_dbus_copts} %{?mdraid_copts} %{?mpath_copts} %{?swap_copts} %{?kbd_copts} %{?part_copts} %{?fs_copts} %{?nvdimm_copts} %{?vdo_copts} %{?tools_copts} %{?gi_copts}
%define configure_opts %{?python2_copts} %{?python3_copts} %{?bcache_copts} %{?lvm_dbus_copts} %{?btrfs_copts} %{?crypto_copts} %{?dm_copts} %{?loop_copts} %{?lvm_copts} %{?lvm_dbus_copts} %{?mdraid_copts} %{?mpath_copts} %{?swap_copts} %{?kbd_copts} %{?part_copts} %{?fs_copts} %{?nvdimm_copts} %{?nvme_copts} %{?vdo_copts} %{?tools_copts} %{?gi_copts}
Name: libblockdev
Version: 2.28
Release: 1%{?dist}
Release: 2%{?dist}
Summary: A library for low-level manipulation with block devices
License: LGPLv2+
URL: https://github.com/storaged-project/libblockdev
@ -133,6 +137,7 @@ Source0: https://github.com/storaged-project/libblockdev/releases/download/%
Patch0: libblockdev-gcc11.patch
Patch1: 0001-lvm-devices-file-support.patch
Patch2: 0002-Add-support-for-creating-and-activating-integrity-de.patch
Patch3: 0003-NVMe-plugin-backport.patch
BuildRequires: make
BuildRequires: glib2-devel
@ -504,6 +509,29 @@ with the libblockdev-nvdimm plugin/library.
%endif
%if %{with_nvme}
%package nvme
BuildRequires: libnvme-devel
BuildRequires: libuuid-devel
Summary: The NVMe plugin for the libblockdev library
Requires: %{name}-utils%{?_isa} = %{version}-%{release}
%description nvme
The libblockdev library plugin (and in the same time a standalone library)
providing the functionality related to operations with NVMe devices.
%package nvme-devel
Summary: Development files for the libblockdev-nvme plugin/library
Requires: %{name}-nvme%{?_isa} = %{version}-%{release}
Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release}
Requires: glib2-devel
%description nvme-devel
This package contains header files and pkg-config files needed for development
with the libblockdev-nvme plugin/library.
%endif
%if %{with_part}
%package part
BuildRequires: parted-devel
@ -664,6 +692,10 @@ Requires: %{name}-mpath%{?_isa} = %{version}-%{release}
Requires: %{name}-nvdimm%{?_isa} = %{version}-%{release}
%endif
%if %{with_nvme}
Requires: %{name}-nvme%{?_isa} = %{version}-%{release}
%endif
%if %{with_part}
Requires: %{name}-part%{?_isa} = %{version}-%{release}
%endif
@ -689,6 +721,7 @@ A meta-package that pulls all the libblockdev plugins as dependencies.
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
autoreconf -ivf
@ -743,6 +776,10 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm}
%ldconfig_scriptlets nvdimm
%endif
%if %{with_nvme}
%ldconfig_scriptlets nvme
%endif
%if %{with_part}
%ldconfig_scriptlets part
%endif
@ -942,6 +979,17 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm}
%endif
%if %{with_nvme}
%files nvme
%{_libdir}/libbd_nvme.so.*
%files nvme-devel
%{_libdir}/libbd_nvme.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/nvme.h
%endif
%if %{with_part}
%files part
%{_libdir}/libbd_part.so.*
@ -992,6 +1040,10 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm}
%files plugins-all
%changelog
* Thu Sep 22 2022 Vojtech Trefny <vtrefny@redhat.com> - 2.28-2
- NVMe plugin backport
Resolves: rhbz#2123338
* Wed Sep 14 2022 Vojtech Trefny <vtrefny@redhat.com> - 2.28-1
- Rebase to the latest upstream release 2.28
Resolves: rhbz#2123346

View File

@ -29,3 +29,5 @@
- python3-dbus
- python3-yaml
- python3-bytesize
- nvme-cli
- nvmetcli