bib: use images lib to generate the rpm ISO [HMS-9297]#1131
Closed
mvo5 wants to merge 3 commits intoosbuild:mainfrom
Closed
bib: use images lib to generate the rpm ISO [HMS-9297]#1131mvo5 wants to merge 3 commits intoosbuild:mainfrom
mvo5 wants to merge 3 commits intoosbuild:mainfrom
Conversation
b18ab2e to
656d33a
Compare
656d33a to
efc99d8
Compare
…mvo5/images@bootc-anaconda-iso-2 && go mod tidy
efc99d8 to
c7dd947
Compare
Drop legacy_iso.go and use the images library to build the image.
c7dd947 to
7887324
Compare
Contributor
Author
|
I'm closing this in favor of osbuild/image-builder-cli#374 and #1157 - I think instead of this we can focus on making it a multicall binary directly. If it turns out to be too difficult/too much churn in a single go we can revisit/reopen this PR. |
supakeen
added a commit
to osbuild/image-builder-cli
that referenced
this pull request
Dec 4, 2025
This PR move the bootc-image-builder code into cmd/image-builder and changes main() so that image-builder becomes a multi-call binary. When image-builder is called with argv[0] as bootc-image-builder it will use the cobra commandline and code from bootc-image-builder. There is still a bit of duplication in the manifest generation and building between bib_main.go and main.go but that is hard to avoid if we want the "new" bib to be as close as possible to the existing one (e.g. we do things like "canChownInPath()" in bib which we do not need in ibcli). One important difference between the two is how anaconda-iso image types for bootc handle the repositories. The bib personality stays the same as the orignal, i.e. it will use the container repositories for depsolving. This require some complicated mTLS handling that does not map well into ibcli. Here we do not do that and instead use our own repos for the detected distro. I.e. if the detected distro is fedora we build the (rpm) installer from out fedora repos. We can strive to unify this and add (not so nice) code into ibcli to support this or we just warn in ibcli if bootc with anaconda-iso is used that this behaves differently from bib and that people should use bib if they need the old behavior (I would prefer that). I hope then we can phase out this rpm based bootc anaconda-iso in favor of the container based bootc-installer type. This is osbuild/bootc-image-builder#1131 but directly in ibcli instead of doing the bib intermediate step. The advantage is that we can "freeze" the bib repo and if we run into issues with the transition have the last known good bib code. Once we are happy we just delete all go files in the bib repo and it just becomes a repo that builds the container for bib. It has many commits because it imports the full history of bib/cmd/bootc-image-builder.
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.
[draft as this needs https://github.com/osbuild/images/pull/2007 and https://github.com/osbuild/images/pull/2010 first]
Drop legacy_iso.go and use the images library to build the
image.
We probably also want something like https://github.com/osbuild/images/pull/1804/files#diff-7a537ca8934a30b5cf043848aa0921b3f0fc61a2a0c117c83e83db94b4f5ea9f here