Whamcloud - gitweb
LU-17928 build: fix 'or' clause for rpmbuild 77/55877/3
authorCaleb Carlson <caleb.carlson@hpe.com>
Sun, 11 Aug 2024 02:06:11 +0000 (09:06 +0700)
committerOleg Drokin <green@whamcloud.com>
Fri, 23 Aug 2024 22:00:13 +0000 (22:00 +0000)
This fixes the 'or' clause testing for older distro
versions, which was intended to provide backwards
compatibility for builds on distros that didn't natively
support the rpmbuild 'or' keyword. Instead, it always
evaluated to true, making it so that the DKMS package
was never included as a requirement satisfaction.

This change uses the 'or dkms' Requires, if any of the
distro versions are above a certain level.

Test-Parameters: trivial
HPE-bug-id: LUS-12467
Fixes: ab3b29ec39 ("LU-17928 lnet: add kmod devel package")
Signed-off-by: Caleb Carlson <caleb.carlson@hpe.com>
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I529d30a0dfb0b6e2e2bb55834db4c53506992d37
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55877
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre.spec.in

index 0d83191..0e7a891 100644 (file)
@@ -246,10 +246,10 @@ Source20: kmp-lnet-in-kernel-o2iblnd.files
 URL: https://wiki.whamcloud.com/
 BuildRoot: %{_tmppath}/lustre-%{version}-root
 %if %{with lustre_modules}
-%if 0%{?suse_version} < 1500 || 0%{?rhel} < 8 || 0%{?fedora} < 34
-Requires: %{requires_kmod_name} = %{requires_kmod_version}
-%else
+%if 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 || 0%{?fedora} >= 34
 Requires: (%{lustre_name}-dkms or %{requires_kmod_name} >= %{requires_release_major_minor})
+%else
+Requires: %{requires_kmod_name} >= %{requires_release_major_minor}
 %endif
 %endif
 %if %{with lustre_tests_lutf}
@@ -395,11 +395,11 @@ BuildRequires: pkgconfig(mount)
 Provides: %{name}-osd-mount = %{version}
 Obsoletes: lustre-osd-mount < %{version}
 %if 0%{confzfsdobjpath} != 0
-%if 0%{?suse_version} < 1500 || 0%{?rhel} < 8 || 0%{?fedora} < 34
-# 'or' is not available so default is assuming 'zfs' is defined
-BuildRequires: libzfs%{?zfs}-devel
-%else
+%if 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 || 0%{?fedora} >= 34
 BuildRequires: (libzfs-devel or libzfs4-devel or libzfs5-devel)
+%else
+# 'or' is not available, Use: --define 'zfs 5' or 'zfs 4'
+BuildRequires: libzfs%{?zfs}-devel
 %endif
 %endif
 # end confzfsdobjpath
@@ -437,10 +437,10 @@ Summary: Lustre include headers
 Provides: lustre-devel = %{version}
 Requires: %{lustre_name} = %{version}
 %if %{with lustre_modules}
-%if 0%{?suse_version} < 1500 || 0%{?rhel} < 8 || 0%{?fedora} < 34
-Requires: %{requires_kmod_name} >= %{requires_release_major_minor}
-%else
+%if 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 || 0%{?fedora} >= 34
 Requires: (%{lustre_name}-dkms or %{requires_kmod_name} >= %{requires_release_major_minor})
+%else
+Requires: %{requires_kmod_name} >= %{requires_release_major_minor}
 %endif
 %endif
 
@@ -464,10 +464,10 @@ Requires: lustre-devel = %{version}
 Requires: python3 >= 3.6.0, python3-PyYAML
 %endif
 %if %{with lustre_modules}
-%if 0%{?suse_version} < 1500 || 0%{?rhel} < 8 || 0%{?fedora} < 34
-Requires: %{requires_kmod_name} = %{requires_kmod_version}
-%else
+%if 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 || 0%{?fedora} >= 34
 Requires: (%{lustre_name}-dkms or %{requires_kmod_name} >= %{requires_release_major_minor})
+%else
+Requires: %{requires_kmod_name} >= %{requires_release_major_minor}
 %endif
 Requires: %{requires_kmod_tests_name} >= %{requires_release_major_minor}
 %endif