feat: add libguestfs and supermin#17624
Draft
christopherco wants to merge 3 commits into
Draft
Conversation
The bootstrap OCaml toolchain (ocaml-findlib-devel) had ABI-mismatched module hashes that prevented dependency resolution, which forced the workaround in bf151bb to disable hivex's OCaml bindings via build.without = ["ocaml"]. The OCaml bootstrap sequence is now resolved (verified by a clean ocaml-augeas build, which consumes ocaml-findlib-devel), so this reverts the workaround. hivex now builds the ocaml-hivex / ocaml-hivex-devel subpackages again, which libguestfs requires as a mandatory build dependency. With no overlays remaining, the dedicated comp file is removed and the component returns to an inline entry.
supermin builds the minimal appliance image used by libguestfs. Imported from Fedora dist-git. Includes an overlay patch teaching supermin's package-manager auto-detection (src/ph_rpm.ml) to recognize Azure Linux. Upstream only inspects the os-release ID field against a hard-coded allow-list and does not consider ID_LIKE; Azure Linux sets ID=azurelinux (ID_LIKE=fedora) and ships no /etc/redhat-release marker, so without the patch supermin aborts with "could not detect package manager used by this system or distro", which also breaks the libguestfs appliance build. The patch should be submitted upstream (https://github.com/libguestfs/supermin).
libguestfs is a library and set of tools (guestfish, virt-* utilities) for accessing and modifying virtual machine disk images. Imported from Fedora dist-git with the full Fedora binding set (OCaml, Perl, Python, Ruby, Lua, PHP, GObject/Vala) and no overlays, keeping divergence from upstream minimal for regular Fedora-baseline refreshes. Requires the supermin component (added in a prior commit) and the ocaml-hivex-devel subpackage re-enabled in hivex. Build was validated end to end: the appliance builds and the upstream %check boots the appliance under KVM and runs libguestfs-test-tool against both the libvirt and direct backends, with both reporting TEST FINISHED OK.
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.
Adds the
libguestfspackage (library +guestfish/virt-*tools foraccessing and modifying VM disk images) to Azure Linux 4.0, imported from
Fedora dist-git with the full Fedora binding set and no overlays to keep
divergence minimal for regular Fedora-baseline refreshes.
This is a patch series of three self-contained commits:
fix(hivex): re-enable OCaml bindings — Reverts the earlier
workaround (bf151bb) that disabled hivex's OCaml bindings due to a
broken bootstrap OCaml toolchain. The bootstrap is now resolved,
so hivex again provides
ocaml-hivex-devel, a mandatory libguestfsbuild dependency. The dedicated comp file is removed and hivex
returns to an inline entry.
feat(supermin): add supermin component — Adds the appliance
builder libguestfs depends on, with an overlay patch teaching
supermin's package-manager detection to recognize
ID=azurelinux(upstream only checks a hard-coded ID allow-list, ignoring
ID_LIKE).The patch is flagged for upstream submission.
feat(libguestfs): add libguestfs component — Adds libguestfs with
the full Fedora binding set (OCaml, Perl, Python, Ruby, Lua, PHP,
GObject/Vala) and no overlays.
Fixes: AB#20621