CLK 6.12 Namespacing#1172
Open
bmastbergen wants to merge 13 commits intociq-6.12.yfrom
Open
Conversation
Rename spec file from kernel.spec to kernel-clk6.12.spec.
Introduce %{pkg_suffix} macro (clk%{patchversion}) and use it for:
- package_name: kernel-%{pkg_suffix}
- tool packages: perf, python3-perf, libperf, rtla, rv
Tool packages now named:
- perf-%{pkg_suffix}
- python3-perf-%{pkg_suffix}
- libperf-%{pkg_suffix}
- libperf-%{pkg_suffix}-devel
- rtla-%{pkg_suffix}
- rv-%{pkg_suffix}
- *-debuginfo variants
Each tool package includes:
- Provides: <original-name> = %{specrpmversion}-%{release}
- Conflicts: <original-name>
Adds Provides and Conflicts tags to kernel-clk6.12-* packages that
cannot be parallel installed with stock Rocky kernel packages:
- kernel-doc
- kernel-headers
- kernel-cross-headers
- kernel-debuginfo-common
- kernel-tools
- kernel-tools-libs
- kernel-tools-libs-devel
- kernel-selftests-internal
This allows these packages to satisfy dependencies for stock kernel
packages while preventing simultaneous installation with stock Rocky
kernel tools.
Remove gemini switch, which comes from kernel-ark and is part of their
solution for a kernel variant that should supplant the factory kernel.
Fix config file naming in %prep to use %{name} instead of hardcoded
'kernel' prefix.
Update generate_tarball.sh to reference kernel-clk6.12.spec.
Switch Module.symvers compression from the dynamic %compression macro (xz) to hardcoded gzip -c9, matching the upstream kernel spec. Also fixes the ghost file permissions from 0644 to 0600. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Jonathan Dieter <jdieter@ciq.com>
Inject +%{pkg_suffix} into KVERREL and the shell-level equivalents
(KernelVer, DevelDir, EXTRAVERSION) so that uname -r shows the CLK
kernel identity, e.g. 6.12.78-1.1.el9_ciq.x86_64+clk6.12.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Dieter <jdieter@ciq.com>
- Consolidate version defines (kernel_major_minor, kernel_patch, buildid)
- Derive specversion, pkgrelease, tarfile_release from base defines
- Rework -default package with proper scriptlets and kernel-provider
- Convert tools subpackages to short form naming
- Bundle bindgen-cli for Rocky 9.6 builds
- Export GRUB_NON_STANDARD_KERNEL to prevent boot default hijacking
- Update generate_tarball.sh for new version scheme
Fix Provides/Requires to use %{name} instead of hardcoded kernel
Package names should use %{name} (kernel-clk6.12) instead of hardcoded
'kernel' in Provides and Requires to ensure dependency resolution works
correctly for CLK kernels.
Adds 'Provides: kernel = version' to base package for compatibility with packages depending on generic kernel capability.
Add versioned Provides for kernel-headers, kernel-devel, and kernel-devel-<arch> so the namespaced CLK packages satisfy the same dependency capabilities as stock Rocky kernel packages. Remove Conflicts on kernel-headers and kernel-cross-headers since the namespaced packages now provide those capabilities directly.
PlaidCat
reviewed
May 4, 2026
Collaborator
There was a problem hiding this comment.
I think this was an accident on no longer being a stub ... its still commented out in the SPEC as well.
PlaidCat
reviewed
May 4, 2026
PlaidCat
reviewed
May 4, 2026
PlaidCat
reviewed
May 4, 2026
PlaidCat
reviewed
May 4, 2026
PlaidCat
reviewed
May 4, 2026
PlaidCat
reviewed
May 4, 2026
…ons, ipaclones
Replace remaining hardcoded 'kernel' references with %{name} in:
- kernel_kvm_package: Summary, Requires, Provides, %description
- uki-virt-addons: Requires
- kernel_ipaclones_package: Summary
- Add set -e so the script exits on any command failure - Add -f (--fail) to curl so HTTP errors are caught - Verify the downloaded crate against the known SHA256 from crates.io before extracting
jdieter
requested changes
May 6, 2026
| Provides: kernel-headers = %{specversion}-%{release} | ||
| Obsoletes: kernel-headers < %{specversion} |
There was a problem hiding this comment.
Should probably Conflicts: kernel-headers
| Provides: kernel-cross-headers = %{specversion}-%{release} | ||
| Obsoletes: kernel-cross-headers < %{specversion} |
There was a problem hiding this comment.
Should probably Conflicts: kernel-cross-headers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Continuation of PR #1065 which got automatically closed because ciq-6.12.y got updated.
This PR brings CLK 6.12 in sync with CLK 6.18 with respect to namespacing
for Rocky 9.6, and exports GRUB_NON_STANDARD_KERNEL to prevent boot menu hijacking. Also fixes Provides/Requires to use %{name} instead of hardcoded "kernel".
The changes to add generic kernel-headers and kernel-devel Provides is not currently in 6.18, but a PR exists to add them to 6.18 as well: #1155