-
Notifications
You must be signed in to change notification settings - Fork 154
Dockerfile: Use rpmbuild #1775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dockerfile: Use rpmbuild #1775
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request refactors the Dockerfile build process to use rpmbuild for creating the bootc package. This is a significant improvement as it modularizes the build logic into separate, cacheable stages and scripts, making the build process cleaner and more efficient. The changes are well-structured, moving complex shell logic out of the Dockerfile into dedicated scripts.
My main feedback is a small but critical issue with build argument handling for the RPM version, which I've commented on. Once that is addressed, this looks like a great improvement to the project's build system.
78492f1 to
37b9a3c
Compare
|
I was getting quite confused until I finally realized that the failure here is specific to fedora and things work on the default c10s...digging into what the difference is in the build env there. |
This broke caching with podman 5.6; it's fixed as of containers/buildah@fb6ce9d but it's easy enough for us to just use the `LABEL` instruction anyways. Assisted-by: Claude Code (Sonnet 4.5) Signed-off-by: Colin Walters <walters@verbum.org>
This was used at one point for composefs testing, but no longer. Assisted-by: Claude Code (Sonnet 4.5) Signed-off-by: Colin Walters <walters@verbum.org>
Squashes a podman build warning; variant and base only apply to the base image. Signed-off-by: Colin Walters <walters@verbum.org>
See the comment for more info. Signed-off-by: Colin Walters <walters@verbum.org>
- The ci/Dockerfile.fcos has been unused for some time and testing with FCOS derivatives is already done outside of CI here - Drop the bits which reference git in the Makefile, a new rule I'm trying to impose here is that nothing in the build system should rely on git (or at least not rely on being built from a git repository) Signed-off-by: Colin Walters <walters@verbum.org>
We were bit before by just doing a `COPY` of our binaries overtop of the base image because that doens't remove old files. Replace the pre-build approach with rpmbuild, and then change to do an rpm-based upgrade so that we fix that problem. Note that we still preserve incremental rebuilds by overriding some of the RPM build process. Assisted-by: Claude Code (Sonnet 4.5) Signed-off-by: Colin Walters <walters@verbum.org>
|
OK I think this one is now passing tests! |
Now that we've cut over to always building + installing via an (RPM) package in our build system, we need to always install the dracut module. Signed-off-by: Colin Walters <walters@verbum.org>
jeckersb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I played around with this a bit, feels pretty good to me!
See individual commits.