mirror of
https://github.com/versity/scoutfs.git
synced 2026-10-22 06:12:40 +00:00
Strict requirements on EL major/minor
This is needed for repositories to host kmod RPMs for each minor version in a major-centric repository.
This commit is contained in:
+18
-12
@@ -3,6 +3,23 @@
|
||||
%define kmod_git_hash @@GITHASH@@
|
||||
%define kmod_git_describe @@GITDESCRIBE@@
|
||||
%define pkg_date %(date +%%Y%%m%%d)
|
||||
%define _os_version_id %(. /etc/os-release 2>/dev/null; echo "${VERSION_ID:-0.0}")
|
||||
%define os_major %(echo %{_os_version_id} | cut -d. -f1)
|
||||
%define os_minor %(echo %{_os_version_id} | grep -q '\\.' && echo %{_os_version_id} | cut -d. -f2 || echo "")
|
||||
%global pointrel_pkgs redhat-release rocky-release almalinux-release oraclelinux-release cloudlinux-release virtuozzo-release
|
||||
%global majoronly_pkgs centos-stream-release
|
||||
|
||||
# --- Build the Boolean requires expression at spec-parse time ---
|
||||
%global relreq %(
|
||||
clauses=""
|
||||
for p in %{pointrel_pkgs}; do
|
||||
clauses="${clauses}${p} = %{os_major}.%{os_minor} or "
|
||||
done
|
||||
for p in %{majoronly_pkgs}; do
|
||||
clauses="${clauses}${p} = %{os_major}"
|
||||
done
|
||||
echo "(${clauses%})"
|
||||
)
|
||||
|
||||
# take kernel version or default to uname -r
|
||||
%{!?kversion: %global kversion %(uname -r)}
|
||||
@@ -27,6 +44,7 @@ Release: %{_release}%{?dist}
|
||||
License: GPLv2
|
||||
Group: System/Kernel
|
||||
URL: http://scoutfs.org/
|
||||
Requires: %{relreq}
|
||||
|
||||
%if 0%{?el7}
|
||||
BuildRequires: %{kernel_module_package_buildreqs}
|
||||
@@ -53,22 +71,10 @@ Source: %{kmod_name}-kmod-%{kmod_version}.tar
|
||||
%global flavors_to_build x86_64
|
||||
%endif
|
||||
|
||||
# el9 sanity: make sure we lock to the minor release we built for and block upgrades
|
||||
%{lua:
|
||||
if string.match(rpm.expand("%{dist}"), "%.el9") then
|
||||
rpm.define("el9 1")
|
||||
end
|
||||
}
|
||||
|
||||
%if 0%{?el9}
|
||||
%define release_major_minor 9.%{lua: print(rpm.expand("%{dist}"):match("%.el9_(%d)"))}
|
||||
Requires: system-release = %{release_major_minor}
|
||||
%endif
|
||||
|
||||
%description
|
||||
%{kmod_name} - kernel module
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n %{kmod_name}-kmod-%{kmod_version}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user