Skip to content

golden: refresh the de25nano hash after #141's image-common (fixes red master) - #151

Merged
mcfbytes merged 1 commit into
masterfrom
fix/de25-golden-after-image-common
Sep 6, 2026
Merged

golden: refresh the de25nano hash after #141's image-common (fixes red master)#151
mcfbytes merged 1 commit into
masterfrom
fix/de25-golden-after-image-common

Conversation

@mcfbytes

@mcfbytes mcfbytes commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Fixes master, red at lint-config since run 34010678657.

What happened

A semantic merge conflict, not a textual one. Neither PR is wrong and git reported no conflict — they collided in the resolved config rather than in any file's text.

Merged, the recorded de25nano hash describes a stack that no longer exists:

FAIL: de25nano: resolved configuration DRIFTED
  actual 68cc9ed6191e9539098c8307a6f470830c70a8f640ef37e05379c1b96e6b6e88
  golden 81e7f4e613aafa3114768db14eadbc66c778f310e10dd1d163acfbbe1e7289b6

One line changes. de10nano also gained image-common in #141, but its hash is unchanged (fccaabea…) because that half of the refactor only relocated symbols already present in de10nano-image — which is the evidence that the DE10 image this repo actually builds and ships is byte-identical to the one #150 validated at 176/176. de10nano-kernel and rt don't take image-common and are untouched.

Reviewed, not just regenerated

This bump has already burned that lesson once — #150's first golden regeneration silently baked in a uClibc regression, so a bare --update-golden was not good enough here.

I resolved the de25nano config with and without image-common and diffed them:

Nothing else moved. BR2_TOOLCHAIN_USES_GLIBC, BR2_KERNEL_HEADERS_7_1 / 7.1.13, gcc 15.3.0 all intact and BR2_LEGACY clear — so #150's DE25 headers fix survived the merge.

The drift is #141's intent; the golden line is what needed to catch up.

Note for DE25: it now pulls linux-firmware, which it did not before. That is #141's design decision surfacing, not a side effect of this fix.

Verification

  • scripts/check-config-fragments.sh — all 4 stacks report golden hash matches, OK
  • The other three steps in the lint-config job (patch headers, kernel-defconfig lockstep) were already green; this was the only failing step
  • stacks.mk confirmed unmodified — the with/without comparison was done on a temporary edit that was restored

🤖 Generated with Claude Code

https://claude.ai/code/session_01PFQovqPVshbtdzJnZyr5bc

…141 and #150)

master went red at lint-config after both PRs landed. Neither is wrong and git
reported no conflict -- they collided semantically, in the resolved config
rather than in any file's text.

#141 added `image-common` to DE25NANO_FRAGMENTS, so the de25nano stack resolves
from three fragments instead of two (55 -> 86 fragment symbols). #150 recorded
the 2026.08 golden hashes against the two-fragment composition, which was
correct when it was written. Merged, the recorded de25nano hash describes a
stack that no longer exists: expected 81e7f4e6, actual 68cc9ed6.

Only de25nano moved. de10nano also gained image-common in #141, but its hash is
unchanged (fccaabea) because that half of the refactor only relocated symbols
that were already in de10nano-image -- which is exactly the evidence that the
DE10 image this repo actually builds and ships is byte-identical to the one
#150 validated at 176/176. de10nano-kernel and rt do not take image-common at
all and are untouched.

REVIEWED, NOT JUST REGENERATED -- this bump has already burned that lesson once
(#150's first golden regeneration baked in a uClibc regression). Resolved the
de25nano config with and without image-common and diffed: 33 lines, ALL
additions, ZERO removals, all of them BR2_PACKAGE_LINUX_FIRMWARE* -- the WiFi/BT
firmware set #141 deliberately hoisted so both images select it once instead of
mirroring it per board. Nothing else moved: BR2_TOOLCHAIN_USES_GLIBC,
BR2_KERNEL_HEADERS_7_1 / 7.1.13, gcc 15.3.0 all intact and BR2_LEGACY clear, so
#150's headers fix survived the merge. The drift is #141's intent, and the
golden line is what needed to catch up.

Note for DE25 specifically: it now pulls linux-firmware, which it did not
before. That is #141's design decision, not a side effect of this fix.

`check-config-fragments.sh` now passes on all 4 stacks; the other three lint
steps in that job were already green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PFQovqPVshbtdzJnZyr5bc
@mcfbytes
mcfbytes merged commit a010170 into master Sep 6, 2026
2 of 5 checks passed
@mcfbytes
mcfbytes deleted the fix/de25-golden-after-image-common branch September 6, 2026 04:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant