Conversation
SPECS/linux/linux.spec and linux-esx.spec now build kernel 6.1 for photon_subrelease 90 and below and kernel 6.12 from 91, on x86_64 and aarch64, replacing SPECS/90/linux/linux.spec and linux-esx.spec. Each kernel's preamble (Release, FIPS model, sources, patches) and changelog live in <flavour>-<kernel>.inc and <flavour>-<kernel>-changelog.inc; linux.spec also takes the subpackages whose descriptions differ from linux-<kernel>-packages.inc. Version, Source0, the dependencies both kernels share, the acvp/kat refusal and every section are written once, with photon_subrelease conditionals where the kernels differ. The 6.1 files move to SPECS/linux: included files to the top level, where SpecParser resolves includes, everything else under 6.1/. A name that exists for 6.12 with other content gets a -6.1 suffix, because Photon stages sources by file name. The 6.1 archives join config.yaml. linux-rt stays in SPECS/90/linux with the files it uses. rpm and Photon's SpecParser read both specs exactly as before for subreleases 90, 91 and 92, on x86_64 and aarch64, with and without canister_build, acvp_build and kat_build. check_spec needs fix/check-spec-subrelease-aware on the common branch to read a spec that serves several subreleases. Change-Id: Iee86a86f800b0bb70b83b96c673078a4bc6e1512 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JW73JTCUGRcaNTUEQcAMtf
This was referenced Sep 15, 2026
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.
Problem
Photon 5.0 keeps two copies of each kernel spec:
SPECS/90/linux/linux.specandlinux-esx.specbuild kernel 6.1 forphoton_subrelease90 and below,SPECS/linux/builds 6.12 from 91. Every change that is not kernel-specific — dependencies, sections, the canister logic, the acvp/kat refusal — has to be made twice, and the two copies drift.Change
SPECS/linux/linux.specandlinux-esx.specnow build every 5.0 subrelease, on x86_64 and aarch64, and replaceSPECS/90/linux/linux.specandlinux-esx.spec.Version, Source0, the dependencies both kernels share, the acvp/kat refusal and every section are written once, with
photon_subreleaseconditionals where the kernels differ. Each kernel's preamble (Release, FIPS model, sources, patches) and changelog live in<flavour>-<kernel>.incand<flavour>-<kernel>-changelog.inc;linux.specalso takes the subpackages whose descriptions differ fromlinux-<kernel>-packages.inc.The 6.1 files move to
SPECS/linux: included files to the top level, whereSpecParser.pyresolves includes, everything else under6.1/. A name that already exists for 6.12 with other content gets a-6.1suffix, because Photon stages sources by file name. The 6.1 archives joinconfig.yaml.linux-rtstays inSPECS/90/linuxwith the files it uses.Testing
rpmspec -P, preamble and queries) and Photon'sSpecParser.pyread both specs exactly as before for subreleases 90, 91 and 92, on x86_64 and aarch64, with and withoutcanister_build,acvp_buildandkat_build: 48 cases plus kernel selection and source mapping, all identical.%prepand preprocessed spec); no aarch64 build host was available.Dependencies
check_specneeds spec-checker: check a spec as the subrelease being checked sees it #34 to read a spec that serves several subreleases.make imageneeds spec-generator: read kernel specs as the current subrelease sees them #35: the kernel-deps generator otherwise crashes on the single spec.🤖 Generated with Claude Code