Skip to content

microvm-rootfs: don't delete libssl with the e2fsprogs cleanup - #231

Merged
norrietaylor merged 1 commit into
mainfrom
fix-microvm-rootfs-libssl
Jun 8, 2026
Merged

microvm-rootfs: don't delete libssl with the e2fsprogs cleanup#231
norrietaylor merged 1 commit into
mainfrom
fix-microvm-rootfs-libssl

Conversation

@norrietaylor

@norrietaylor norrietaylor commented Jun 8, 2026

Copy link
Copy Markdown
Member

Follow-up to #229. The e2fsprogs lib-removal glob libss*.so* greedily matched openssl's libssl.so.3 (socat links it), so the built microvm-rootfs image shipped a socat that failed at load:

socat: error while loading shared libraries: libssl.so.3: cannot open shared object file

The guest init never emitted READY → microVM boot times out. Caught while wiring the downstream consumer to the merged package.

Fix: tighten the glob to libss.so* (e2fsprogs's libss.so.2 only, not libssl). Tightened the other two e2fs libs to lib<name>.so* for precision too.

Verified against a rebuilt image: libssl.so.3/libcrypto.so.3 present, e2fsprogs libss.so/libext2fs/mke2fs still excluded, and the image boots to READY under libkrun.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Refined build script for more precise handling of staged runtime libraries during rootfs generation, with improved documentation of the process.

The e2fsprogs lib-removal glob `libss*.so*` also matched openssl's
`libssl.so.3`, which socat links against — so the guest image shipped a socat
that failed at load ("libssl.so.3: cannot open shared object file") and never
emitted READY. Tighten to `libss.so*` (e2fsprogs's libss only); same for the
other two e2fs libs for precision. Verified: libssl.so.3 stays, libss.so/
libext2fs/mke2fs still excluded, and the image boots to READY.
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e2bf7a0d-dabe-485a-97cd-c748483cb9b9

📥 Commits

Reviewing files that changed from the base of the PR and between 9610b7b and ef9e0a4.

📒 Files selected for processing (1)
  • packages/microvm-rootfs/build.sh

📝 Walkthrough

Walkthrough

The rootfs build script now removes only specific e2fs-related staging libraries using tightened glob patterns and includes a clarifying comment explaining the libss.so* syntax.

Changes

Library Pruning Refinement

Layer / File(s) Summary
Library pruning patterns and clarification
packages/microvm-rootfs/build.sh
The rm -f command is refined to delete only libext2fs.so*, libe2p.so*, and libss.so* from the staging tree, replacing broader patterns; a comment clarifies the intended glob semantics for the libss library.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • gominimal/pkgs#229: Both PRs modify packages/microvm-rootfs/build.sh to refine ext/e2fs/ss runtime library pruning patterns in the staging tree.

Suggested reviewers

  • twitchyliquid64

Poem

🐰 A libss pattern, once fuzzy and wide,
Now trimmed with precision, with purpose inside—
Three libraries tagged, their fate now clear:
.so* globs dance, and comments appear! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: fixing an overly broad glob pattern that was incorrectly deleting libssl (an OpenSSL library) along with e2fsprogs libraries.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-microvm-rootfs-libssl

Comment @coderabbitai help to get the list of available commands and usage tips.

@norrietaylor
norrietaylor added this pull request to the merge queue Jun 8, 2026
Merged via the queue into main with commit 64e6866 Jun 8, 2026
4 checks passed
@norrietaylor
norrietaylor deleted the fix-microvm-rootfs-libssl branch June 8, 2026 17:20
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