-
-
Notifications
You must be signed in to change notification settings - Fork 195
Revert previous applied patches in reverse order if applying patches fails and reapply patches + canary wipe dev helper improvements #1953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
tlaurion
merged 9 commits into
linuxboot:master
from
tlaurion:patch_revert_if_apply_fails-canary_wipe_rebuild_improvements
Apr 15, 2025
Conversation
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
d5f8384
to
86cd549
Compare
…n dev cycle helpers Signed-off-by: Thierry Laurion <[email protected]>
…d updated so that it wipes things correctly Signed-off-by: Thierry Laurion <[email protected]>
…objdir) is wiped clean on each build so coreboot stages to be stitched are clean Signed-off-by: Thierry Laurion <[email protected]>
…t failing Signed-off-by: Thierry Laurion <[email protected]>
86cd549
to
da38f7b
Compare
…ot git .canary with bogus commit, remove duplicated patches apply/reversal/reapply logic Signed-off-by: Thierry Laurion <[email protected]>
…led logic without subshell Signed-off-by: Thierry Laurion <[email protected]>
tlaurion
commented
Apr 11, 2025
…le ones under patches/* Signed-off-by: Thierry Laurion <[email protected]>
66e328a
to
9d7fe66
Compare
… helper for reproducible builds in dev cycles Otherwise qemu roms which injects distinct public key with entropy at each build are wiped. TODO : revisit approach when flashrom/flashprog/qemu supports 16MB SPI flash emulation so we can use flashprog to flash internally, which will require refactoring Signed-off-by: Thierry Laurion <[email protected]>
9d7fe66
to
4981e70
Compare
…sgcc reusable cache layer) from being reused to speed up rebuilds Signed-off-by: Thierry Laurion <[email protected]>
46e6efe output of doing
Give no output on egrep command: the two builds produce the same hashes for all files, outside of hashes.txt timestamps and paths:
@miczyg1 comments/approval? |
JonathonHall-Purism
approved these changes
Apr 15, 2025
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.
Fixes #1952
To reproduce a reproducible board image in dev cycles while rebuilding only what is necessary:
./docker_repro.sh make BOARD=x230-hotp-maximized real.remove_canary_files-extract_patch_rebuild_what_changed
./docker_repro.sh make BOARD=x230-hotp-maximized
This pull request includes several changes to the
Makefile
aimed at improving the patch application process and adding new helper functions. The most important changes include modifying the patch application logic to handle errors more gracefully and adding a helper function to manage the.canary
file for coreboot git repositories.Improvements to patch application logic:
New helper functions:
overwrite_canary_if_coreboot_git
to overwrite the coreboot git repository's.canary
file with a placeholder commit ID. This helps to ensure that the build process can be restarted correctly. Restarting a new build will make sure that tarballs/git repos are cloned, patched properly (with patches reverted in reverse order then reapplied if patching fails), targets are reconfigured and finally built from changed source files. This helper should be used in dev cycles to reduce building timeEnhancements to cleaning targets:
real.clean
,real.gitclean
,real.gitclean_keep_packages
, andreal.remove_canary_files-extract_patch_rebuild_what_changed
targets to call the new helper functionoverwrite_canary_if_coreboot_git
. This ensures that the.canary
file is managed appropriately during cleaning operations. [1] [2]Additional cleanup: