From 7fa5e8f8c4bb09a39a141d417b1e9d0a661b3dee Mon Sep 17 00:00:00 2001 From: Caleb Carlson Date: Sun, 11 Aug 2024 09:06:11 +0700 Subject: [PATCH] LU-17928 build: fix 'or' clause for rpmbuild 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 Signed-off-by: Shaun Tancheff Change-Id: I529d30a0dfb0b6e2e2bb55834db4c53506992d37 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55877 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: jsimmons Reviewed-by: Oleg Drokin --- lustre.spec.in | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lustre.spec.in b/lustre.spec.in index 0d83191..0e7a891 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -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 -- 1.8.3.1