From: Jan Stancek <jstan...@redhat.com>

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 <jstan...@redhat.com>

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
@@ -680,6 +680,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
 
@@ -1426,6 +1427,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>
@@ -1527,6 +1535,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"\
 Requires: realtime-setup\
 %endif\
@@ -1807,6 +1816,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) \
@@ -4181,6 +4192,8 @@ fi\
 %kernel_variant_files %{_use_vdso} %{with_arm64_16k_base} 16k
 %kernel_variant_files %{_use_vdso} %{with_arm64_64k_base} 64k
 
+%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 -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
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/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to