Skip to content

doc/reproducible-builds.md: fix verification section - #2178

Closed
tlaurion wants to merge 1 commit into
linuxboot:masterfrom
tlaurion:fix-doc-verification
Closed

doc/reproducible-builds.md: fix verification section#2178
tlaurion wants to merge 1 commit into
linuxboot:masterfrom
tlaurion:fix-doc-verification

Conversation

@tlaurion

@tlaurion tlaurion commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

The reproducibility doc that landed via #2174 has three issues:

  1. References real.gitclean_keep_packages which was renamed to real.gitclean_keep_pkg in the Makefile reorg.
  2. Claims warm builds produce partial hashes.txt — FORCE on modules.cpio makes warm builds complete.
  3. Conflates same-commit and different-commit verification — the ROM hash always differs between commits because GIT_HASH is embedded in /etc/config.

This fix separates Same commit (everything should match) from Different commits (ROM always differs), removes the stale target reference, and drops the incorrect warm-build claim.

…erification

Remove stale claim that warm builds produce partial hashes.txt
(FORCE on modules.cpio ensures completeness).  Separate verification
into Same commit (everything should match) and Different commits
(ROM always differs due to GIT_HASH in /etc/config).  Drop
real.gitclean_keep_packages reference.

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Copilot AI lite review requested due to automatic review settings August 4, 2026 23:47
@tlaurion tlaurion closed this Aug 4, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Not ready to approve

The “step down” troubleshooting guidance for same-commit ROM mismatches omits checking bzImage, which can misdirect investigations when the kernel image is the differing artifact.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.

Pull request overview

Updates the reproducible-builds documentation to correct the ROM reproducibility verification guidance, aligning it with current build behavior and separating same-commit vs different-commit expectations.

Changes:

  • Removes the stale real.gitclean_keep_packages reference and the incorrect “warm builds produce partial hashes.txt” claim.
  • Splits verification guidance into Same commit (ROM hash should match) vs Different commits (ROM hash expected to differ due to embedded GIT_HASH).
File summaries
File Description
doc/reproducible-builds.md Fixes and clarifies the ROM reproducibility verification section (same-commit vs different-commit), and removes outdated/incorrect prerequisites.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.

Comment on lines +148 to +151
If the ROM differs, step down: `initrd.cpio.xz` → `tools.cpio` →
individual files. The innermost differing file (e.g. `./bin/busybox`) is the
root cause — fix it and the cascade resolves. `hashes.txt` records every file
at every level, so no diffoscope is needed until you've identified what differs.
at every level so no diffoscope is needed until you've identified what differs.
tlaurion added a commit to tlaurion/heads that referenced this pull request Aug 6, 2026
Supersedes linuxboot#2178.

- Rewrite real.gitclean / gitclean_keep_packages / gitclean_keep_packages_and_build
  @echo messages to name the git clean -fxd command and describe exact preserve rules
- Tighten real.remove_canary_files-extract_patch_rebuild_what_changed @echo messages:
  make clear that this target deletes .canary stamps and the re-extract/rebuild
  happens on the next make invocation
- Split reproducibility doc verification into Same/Different commit sections
- Remove stale warm-build partial-hashes.txt claim (FORCE fixes make it obsolete)
- Add CI hashes.txt download reference with example URL
- Add clean working tree prerequisite
- Simplify comprehensive diff command (hash+path comparison, drop awk)
- Restore bzImage in step-down path
- Fix SOURCE_DATE_EPOCH claim: always 0 (extracted tarballs lack .git; git log
  in modules/musl-cross-make falls back to echo 0)

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
tlaurion added a commit to tlaurion/heads that referenced this pull request Aug 7, 2026
Supersedes linuxboot#2178.

- Rewrite real.gitclean / gitclean_keep_packages / gitclean_keep_packages_and_build
  @echo messages to name the git clean -fxd command and describe exact preserve rules
- Tighten real.remove_canary_files-extract_patch_rebuild_what_changed @echo messages:
  make clear that this target deletes .canary stamps and the re-extract/rebuild
  happens on the next make invocation
- Split reproducibility doc verification into Same/Different commit sections
- Remove stale warm-build partial-hashes.txt claim (FORCE fixes make it obsolete)
- Add CI hashes.txt download reference with example URL
- Add clean working tree prerequisite
- Simplify comprehensive diff command (hash+path comparison, drop awk)
- Restore bzImage in step-down path
- Fix SOURCE_DATE_EPOCH claim: always 0 (extracted tarballs lack .git; git log
  in modules/musl-cross-make falls back to echo 0)

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
tlaurion added a commit to tlaurion/heads that referenced this pull request Aug 7, 2026
Supersedes linuxboot#2178.

- Rewrite real.gitclean / gitclean_keep_packages / gitclean_keep_packages_and_build
  @echo messages to name the git clean -fxd command and describe exact preserve rules
- Tighten real.remove_canary_files-extract_patch_rebuild_what_changed @echo messages:
  make clear that this target deletes .canary stamps and the re-extract/rebuild
  happens on the next make invocation
- Split reproducibility doc verification into Same/Different commit sections
- Remove stale warm-build partial-hashes.txt claim (FORCE fixes make it obsolete)
- Add CI hashes.txt download reference with example URL
- Add clean working tree prerequisite
- Simplify comprehensive diff command (hash+path comparison, drop awk)
- Restore bzImage in step-down path
- Fix SOURCE_DATE_EPOCH claim: always 0 (extracted tarballs lack .git; git log
  in modules/musl-cross-make falls back to echo 0)

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
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.

2 participants