Skip to content

fix(os): omit the migration floor when empty — rauc refused every plain bundle build - #873

Merged
VijitSingh97 merged 1 commit into
develop-v2from
fix/mkbundle-empty-manifest-key
Aug 3, 2026
Merged

fix(os): omit the migration floor when empty — rauc refused every plain bundle build#873
VijitSingh97 merged 1 commit into
develop-v2from
fix/mkbundle-empty-manifest-key

Conversation

@VijitSingh97

Copy link
Copy Markdown
Collaborator

The bug

mkbundle.sh wrote minimum_os_version=$MIN_OS_VERSION unconditionally. RAUC rejects a manifest key with an empty value:

Failed to create bundle: Missing value for key 'minimum_os_version'

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_manifest beside populate_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

  • a plain build omits the floor entirely (no empty-valued key)
  • a migrating build names its floor
  • no manifest key ever renders with an empty value — the exact shape RAUC refuses

Stack suite 2079/0, shellcheck clean.

🤖 Generated with Claude Code

…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>
@VijitSingh97
VijitSingh97 merged commit 4dd3ddb into develop-v2 Aug 3, 2026
16 checks passed
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