Conversation
When %{?fips} == 0 (the aarch64 default, or after an explicit
x86_64 fips=0 override), neither the canister_build nor the
canister_usage branch in %prep applies the patch that introduces
the GCC_PLUGIN_{MATCH,PAD}_CANISTER_STRUCTS Kconfig symbols. The
shipped config still carries the "# CONFIG_GCC_PLUGIN_..._STRUCTS
is not set" comments, but the kernel tree no longer recognises
those symbols, so the olddefconfig run inside
check_for_config_applicability.inc drops them. The inc's
diff -u .config.old .config then returns non-zero and %prep is
killed before %build can run.
Strip the two comment lines up-front so the diff guard stays
clean. canister_build and canister_usage paths are unaffected
because they run before this hunk and either rewrite the line in
place (canister_usage) or delete it explicitly (canister_build).
Reproducible by building this spec on aarch64 (fips=0 by default)
or on x86_64 with --define 'fips 0'. The same fix shipped in
common as 6.12.78-6 (see /root/common/SPECS/linux/v6.12/linux.spec
in the photon 6.0 working tree).
Co-developed-by: Claude Opus 4.7 (Anthropic) <noreply@anthropic.com>
Signed-off-by: Claude Opus 4.7 (Anthropic) <noreply@anthropic.com>
Signed-off-by: David Casota <dcasota@gmail.com>
Owner
Author
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.
Summary
When
%{?fips} == 0(aarch64 default, or x86_64 with explicit fips=0override), neither the
canister_buildnorcanister_usagebranch in%prepruns, so the patch that addsCONFIG_GCC_PLUGIN_{MATCH,PAD}_CANISTER_STRUCTSis never applied. Theshipped
.configstill carries the corresponding is not set commentsbut the kernel tree no longer recognises the symbols.
make olddefconfig(run insidecheck_for_config_applicability.inc)silently drops them, and the inc's
diff -u .config.old .configreturnsnon-zero, killing
%prep.This patch strips the two comment lines up-front under
%if 0%{?fips} == 0, leaving thecanister_build/canister_usagepaths untouched.
Provenance
The fix has been validated on Photon 6.0 (
linux-6.12.78-6.ph6) wherethe same condition reproduces; this PR is the port to
photon5-experimental-1(SPECS/linux/linux.specat6.12.78-4).Test plan
make build PKG=linux-esxon aarch64 (fips=0 default) - confirm%prepruns to completionmake build PKG=linuxon x86_64 with--define 'fips 0'- confirm samemake build PKG=linuxon x86_64 with default fips=1 - confirm no regression (canister paths unchanged).configfor absence of the stripped Kconfig linesAI-assistance disclosure
Per
Documentation/process/coding-assistants.rst, this patch wasprepared with assistance from Claude Opus 4.7 (Anthropic). The fix has
been understood, reviewed and is being submitted as a draft for build
verification on the target branch before merging.