fix(bootc): require bubblewrap for bootc install - #18983
Open
Izan (IzanVil) wants to merge 1 commit into
Open
Izan (IzanVil) wants to merge 1 commit into
Izan (IzanVil) wants to merge 1 commit into
Conversation
bootc 1.13 runs bootupctl inside a bwrap sandbox when installing the bootloader from the target deployment (install_via_bootupd in crates/lib/src/bootloader.rs, via BwrapCmd in crates/utils/src/bwrap.rs). The Fedora spec does not require bubblewrap, which is normally pulled in transitively by rpm-ostree, so `bootc install to-disk` from a minimal Azure Linux bootc image fails because bwrap is missing. Add an overlay with `Requires: bubblewrap`. Upstream replaced the bwrap path with a chroot after 1.13, so the overlay can be dropped once bootc is updated past that change. Move bootc to its own comp.toml now that it carries an overlay. Ref: microsoft#18817 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: IzanVil <soyoquienmas@outlook.com>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The new overlay lacks the required classification metadata.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Adds bubblewrap as a runtime dependency so bootc install to-disk works on minimal images.
Changes:
- Moves
bootcinto a dedicated component definition. - Adds a
Requires: bubblewrapoverlay. - Refreshes the lock and rendered specification.
| File | Description |
|---|---|
base/comps/bootc/bootc.comp.toml |
Defines the dependency overlay. |
base/comps/components.toml |
Removes the former inline component entry. |
locks/bootc.lock |
Refreshes the component fingerprint. |
specs/b/bootc/bootc.spec |
Renders the dependency and release update. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+12
to
+16
| [[components.bootc.overlays]] | ||
| description = "Add Requires: bubblewrap, needed by bootc install to run bootupctl" | ||
| type = "spec-add-tag" | ||
| tag = "Requires" | ||
| value = "bubblewrap" |
This branch has not been deployed
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.

Ref #18817
Problem
bootc install to-diskfails on a minimal Azure Linux 4.0 bootc image becausebwrapis not installed.bootc 1.13.0 (the version shipped in 4.0) installs the bootloader by running
bootupctlfrom the target deployment inside a bubblewrap sandbox —install_via_bootupdincrates/lib/src/bootloader.rsbuilds aBwrapCmd, which spawnsbwrap(crates/utils/src/bwrap.rs). The Fedora spec we import does notRequirebubblewrap; on Fedora it is normally pulled in transitively (e.g. by rpm-ostree), so the gap does not show there. The proof of concept linked in #18817 hit exactly this and had to addbubblewrapby hand.Change
base/comps/bootc/bootc.comp.tomlwith aspec-add-tagoverlay addingRequires: bubblewrapto the mainbootcpackage (system-reinstall-bootcis unaffected).[components.bootc]entry fromcomponents.toml.locks/bootc.lockand the rendered spec.Upstream replaced the bwrap path with a chroot after 1.13 (bootc-dev/bootc
e0975251e7, "utils: Drop unused BwrapCmd"), so the overlay comment notes it can be dropped once bootc is updated past that change.Verification
azldev comp render -p bootc—Requires: bubblewraplands in the main package preamble.azldev comp build -p bootc— succeeds.rpm -qp --requires bootc-1.13.0-*.rpmlistsbubblewrap;system-reinstall-bootcdoes not.azldev adv mock shell --add-package bootc-*.rpm): installingbootcpulls inbubblewrap-0.11.0,bootc --version→bootc 1.13.0, andbwrap --dev-bind / / trueruns successfully.azldev comp update -p bootcandrenderafter committing produce no drift.Not covered: an end-to-end
bootc install to-diskon a VM.🤖 Generated with Claude Code