From: Scott Weaver <scweaver@xxxxxxxxxx>
kernel.spec: updates for automotive-only build
When we generate the kernel-automotive srpm, we only want to include
sources that will be required for that build. For automotive the
INCLUDE_FEDORA_FILES, INCLUDE_RHEL_FILES and INCLUDE_RT_FILES will be
disabled which means we need to arrange the sources so that
kernel-automotive will have all the files it requires.
When building automotive only, to generate kernel-automotive packages,
it doesn't make sense to create the automotive variant of automotive
(kernel-automotive-automotive) which would be the result if we only
changed the package name. Therefore, with automotive-only, we generate
'stock' kernel-automotive packages while keeping the ability to also
generate the automotive variant of the stock kernel if that would ever
be needed.
Signed-off-by: Scott Weaver <scweaver@xxxxxxxxxx>
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
@@ -908,7 +908,7 @@ BuildRequires: redhat-sb-certs >= 9.4-0.1
Source0: linux-%{tarfile_release}.tar.xz
Source1: Makefile.rhelver
-Source2: kernel.changelog
+Source2: %{package_name}.changelog
Source10: redhatsecurebootca5.cer
Source13: redhatsecureboot501.cer
@@ -961,11 +961,8 @@ Source22: filtermods.py
%define modsign_cmd %{SOURCE21}
%if 0%{?include_rhel}
-Source23: x509.genkey.rhel
-
Source24: %{name}-aarch64-rhel.config
Source25: %{name}-aarch64-debug-rhel.config
-
Source27: %{name}-ppc64le-rhel.config
Source28: %{name}-ppc64le-debug-rhel.config
Source29: %{name}-s390x-rhel.config
@@ -973,14 +970,15 @@ Source30: %{name}-s390x-debug-rhel.config
Source31: %{name}-s390x-zfcpdump-rhel.config
Source32: %{name}-x86_64-rhel.config
Source33: %{name}-x86_64-debug-rhel.config
-
-Source34: def_variants.yaml.rhel
-
-Source41: x509.genkey.centos
# ARM64 64K page-size kernel config
Source42: %{name}-aarch64-64k-rhel.config
Source43: %{name}-aarch64-64k-debug-rhel.config
+%endif
+%if %{include_rhel} || %{include_automotive}
+Source23: x509.genkey.rhel
+Source34: def_variants.yaml.rhel
+Source41: x509.genkey.centos
%endif
%if 0%{?include_fedora}
@@ -1084,12 +1082,18 @@ Source487: %{name}-riscv64-rt-debug-fedora.config
%endif
%if %{include_automotive}
-# automotive config files
+%if %{with_automotiveonly}
+Source488: %{name}-aarch64-rhel.config
+Source489: %{name}-aarch64-debug-rhel.config
+Source490: %{name}-x86_64-rhel.config
+Source491: %{name}-x86_64-debug-rhel.config
+%else
Source488: %{name}-aarch64-automotive-rhel.config
Source489: %{name}-aarch64-automotive-debug-rhel.config
Source490: %{name}-x86_64-automotive-rhel.config
Source491: %{name}-x86_64-automotive-debug-rhel.config
%endif
+%endif
# Sources for kernel-tools
@@ -1764,8 +1768,13 @@ on kernel bugs, as some of these options impact performance noticably.
%if %{with_debug} && %{with_automotive}
%define variant_summary The Linux Automotive kernel compiled with extra debugging enabled
+%if %{with_automotiveonly}
+%kernel_variant_package debug
+%description debug-core
+%else
%kernel_variant_package automotive-debug
%description automotive-debug-core
+%endif
The kernel package contains the Linux kernel (vmlinuz), the core of any
Linux operating system. The kernel handles the basic functions
of the operating system: memory allocation, process allocation, device
@@ -1778,8 +1787,13 @@ on kernel bugs, as some of these options impact performance noticably.
%if %{with_automotive_base}
%define variant_summary The Linux kernel compiled with PREEMPT_RT enabled
+%if %{with_automotiveonly}
+%kernel_variant_package
+%description core
+%else
%kernel_variant_package automotive
%description automotive-core
+%endif
This package includes a version of the Linux kernel compiled with the
PREEMPT_RT real-time preemption support, targeted for Automotive platforms
%endif
@@ -3017,8 +3031,12 @@ BuildKernel %make_target %kernel_image %{_use_vdso} rt-64k-debug
%endif
%if %{with_automotive}
+%if %{with_automotiveonly}
+BuildKernel %make_target %kernel_image %{_use_vdso} debug
+%else
BuildKernel %make_target %kernel_image %{_use_vdso} automotive-debug
%endif
+%endif
%if %{with_arm64_16k}
BuildKernel %make_target %kernel_image %{_use_vdso} 16k-debug
@@ -3054,8 +3072,12 @@ BuildKernel %make_target %kernel_image %{_use_vdso} rt-64k
%endif
%if %{with_automotive_base}
+%if %{with_automotiveonly}
+BuildKernel %make_target %kernel_image %{_use_vdso}
+%else
BuildKernel %make_target %kernel_image %{_use_vdso} automotive
%endif
+%endif
%if %{with_up_base}
BuildKernel %make_target %kernel_image %{_use_vdso}
@@ -3882,9 +3904,14 @@ fi\
%endif
%if %{with_automotive_base}
+%if %{with_automotiveonly}
+%kernel_variant_preun
+%kernel_variant_post
+%else
%kernel_variant_preun -v automotive
%kernel_variant_post -v automotive -r kernel
%endif
+%endif
%if %{with_realtime} && %{with_debug}
%kernel_variant_preun -v rt-debug
@@ -3904,9 +3931,14 @@ fi\
%endif
%if %{with_automotive} && %{with_debug}
+%if %{with_automotiveonly}
+%kernel_variant_preun -v debug
+%kernel_variant_post -v debug
+%else
%kernel_variant_preun -v automotive-debug
%kernel_variant_post -v automotive-debug
%endif
+%endif
###
### file lists
@@ -4225,10 +4257,18 @@ fi\
%if %{with_realtime}
%kernel_variant_files %{_use_vdso} %{with_debug} rt-debug
%endif
+%if %{with_automotiveonly}
+%kernel_variant_files %{_use_vdso} %{with_automotive_base}
+%else
%kernel_variant_files %{_use_vdso} %{with_automotive_base} automotive
+%endif
%if %{with_automotive}
+%if %{with_automotiveonly}
+%kernel_variant_files %{_use_vdso} %{with_debug} debug
+%else
%kernel_variant_files %{_use_vdso} %{with_debug} automotive-debug
%endif
+%endif
%if %{with_debug_meta}
%files debug
%files debug-core
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3870
--
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue