fix(os): omit the migration floor when empty — rauc refused every plain bundle build - #873
Merged
Merged
Conversation
…in bundle build
mkbundle wrote minimum_os_version= unconditionally, and rauc rejects a
manifest key with an empty value ('Missing value for key
minimum_os_version'), so EVERY ordinary non-migrating bundle build
failed at the signing step. The stack tests stub `rauc bundle`, so
nothing caught it; a real bench build did.
The manifest render moves into render_bundle_manifest (beside
populate_slot) so the write side is testable without a multi-minute
image build, and the new tests assert a plain build omits the floor
entirely, a migrating build names it, and NO key ever renders with an
empty value — the exact shape rauc refuses.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
The bug
mkbundle.shwroteminimum_os_version=$MIN_OS_VERSIONunconditionally. RAUC rejects a manifest key with an empty value:So every ordinary (non-migrating) bundle build failed at the signing step — the normal case. Introduced with the migration-manifest work in #863; CI never saw it because the stack tests stub
rauc bundle. A real bench build caught it minutes after merge.The fix
The floor key is emitted only when the release declares one. The manifest render moves into
render_bundle_manifestbesidepopulate_slot, so the write side is testable without a multi-minute image build (the read side,os_bundle_meta, was already covered). Net: mkbundle.sh gets 14 lines shorter.Tests — the ones that would have caught it
Stack suite 2079/0, shellcheck clean.
🤖 Generated with Claude Code