From: Jan Stancek <[email protected]>

redhat: introduce modules-extra-matched meta package

There are packages that require kmods from modules-extra to function
correctly. These however have no concept of what kernel variants
and versions are installed. Add a meta package that can act as
a single point of reference, that these other packages can Require
and leave it to kernel to pull in correct variant and version
of modules-extra package.

Signed-off-by: Jan Stancek <[email protected]>

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -692,6 +692,7 @@ ExclusiveOS: Linux
 Requires: kernel-core-uname-r = %{KVERREL}
 Requires: kernel-modules-uname-r = %{KVERREL}
 Requires: kernel-modules-core-uname-r = %{KVERREL}
+Requires: ((kernel-modules-extra-uname-r = %{KVERREL}) if 
kernel-modules-extra-matched)
 Provides: installonlypkg(kernel)
 %endif
 
@@ -1442,6 +1443,13 @@ Requires: %{package_name}%{?1:-%{1}}-core = 
%{specrpmversion}-%{release}\
 This meta package is used to install matching core and devel packages for a 
given %{?2:%{2} }kernel.\
 %{nil}
 
+%define kernel_modules_extra_matched_package(m) \
+%package modules-extra-matched\
+Summary: Meta package which requires modules-extra to be installed for all 
kernels.\
+%description modules-extra-matched\
+This meta package provides a single reference that other packages can Require 
to have modules-extra installed for all kernels.\
+%{nil}
+
 #
 # This macro creates a kernel-<subpackage>-modules-internal package.
 #      %%kernel_modules_internal_package <subpackage> <pretty-name>
@@ -1543,6 +1551,7 @@ summary: kernel meta-package for the %{1} kernel\
 Requires: kernel-%{1}-core-uname-r = %{KVERREL}%{uname_suffix %{1}}\
 Requires: kernel-%{1}-modules-uname-r = %{KVERREL}%{uname_suffix %{1}}\
 Requires: kernel-%{1}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{1}}\
+Requires: ((kernel-%{1}-modules-extra-uname-r = %{KVERREL}%{uname_suffix 
%{1}}) if kernel-modules-extra-matched)\
 %if "%{1}" == "rt" || "%{1}" == "rt-debug" || "%{1}" == "rt-64k" || "%{1}" == 
"rt-64k-debug"\
 Requires: realtime-setup\
 %endif\
@@ -1846,6 +1855,8 @@ Prebuilt 64k unified kernel image for virtual machines.
 Prebuilt 64k unified kernel image addons for virtual machines.
 %endif
 
+%kernel_modules_extra_matched_package
+
 %define log_msg() \
        { set +x; } 2>/dev/null \
        _log_msglineno=$(grep -n %{*} %{_specdir}/${RPM_PACKAGE_NAME}.spec | 
grep log_msg | cut -d":" -f1) \
@@ -4254,6 +4265,8 @@ fi\
 %kernel_variant_files %{_use_vdso} %{with_debug} rt-64k-debug
 %endif
 
+%files modules-extra-matched
+
 # plz don't put in a version string unless you're going to tag
 # and build.
 #

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3745

-- 
_______________________________________________
kernel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to