From b251e1cbb388fcc39374f3327dd6ee73bb87863d Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Tue, 29 Apr 2025 15:23:34 -0400 Subject: [PATCH 1/4] Containerfile: drop pulling rpm-ostree from copr Things have stabilized a bit now so let's revert 1a5ba89 so it's easier to override the builder image if someone wants to do that. --- Containerfile | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/Containerfile b/Containerfile index 4bfaf00..4453cf9 100644 --- a/Containerfile +++ b/Containerfile @@ -13,13 +13,8 @@ ARG REPOS_IMAGE=quay.io/fedora/fedora:rawhide FROM $REPOS_IMAGE as repos # BOOTSTRAPPING: This can be any image that has rpm-ostree and selinux-policy-targeted. -FROM quay.io/fedora/fedora:41 as builder -# However we also pull rpm-ostree from git main to get some fixes for now -RUN < Date: Tue, 29 Apr 2025 15:25:22 -0400 Subject: [PATCH 2/4] Containerfile: explain why REPOS_IMAGE is needed Having this is a bit confusing because the use case for it is exactly what `podman build --from` was intended for. Let's add a comment here about why it was added in aa9c6c2 [1], which is because konflux doesn't support --from yet [1]. [1] https://gitlab.com/fedora/bootc/base-images/-/merge_requests/106#note_2380147640 --- Containerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Containerfile b/Containerfile index 4453cf9..0f173b6 100644 --- a/Containerfile +++ b/Containerfile @@ -9,6 +9,9 @@ # Override this repos container to control the base image package versions. For # example, podman build --from=quay.io/fedora/fedora:41 will get you a system # that uses Fedora 41 packages. Or inject arbitrary yum repos (COPR, etc) here. +# +# Note we also support --build-arg REPOS_IMAGE=quay.io/fedora/fedora:41 here +# since konflux doesn't yet support --from. ARG REPOS_IMAGE=quay.io/fedora/fedora:rawhide FROM $REPOS_IMAGE as repos From b5275ecaf78fc7282ac383f899761eec0a7f250f Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Tue, 29 Apr 2025 15:29:18 -0400 Subject: [PATCH 3/4] Containerfile: support --build-arg BUILDER_IMAGE=quay.io/... too This will make it easier to override the builder image if that's desired too. --- Containerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 0f173b6..4e30563 100644 --- a/Containerfile +++ b/Containerfile @@ -13,10 +13,11 @@ # Note we also support --build-arg REPOS_IMAGE=quay.io/fedora/fedora:41 here # since konflux doesn't yet support --from. ARG REPOS_IMAGE=quay.io/fedora/fedora:rawhide +ARG BUILDER_IMAGE=quay.io/fedora/fedora:rawhide FROM $REPOS_IMAGE as repos # BOOTSTRAPPING: This can be any image that has rpm-ostree and selinux-policy-targeted. -FROM quay.io/fedora/fedora:rawhide as builder +FROM $BUILDER_IMAGE as builder RUN dnf -y install rpm-ostree selinux-policy-targeted ARG MANIFEST=fedora-standard # The input git repository has .repo files committed to git rpm-ostree has historically From d2cfbe1c959e1c6155b29e64306d3e7f2a392fab Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Wed, 30 Apr 2025 14:58:28 -0400 Subject: [PATCH 4/4] Containerfile: name the python3 dependency Since bootc-base-imagectl is python3 we need to make sure it's installed in our `builder` container steps. --- Containerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Containerfile b/Containerfile index 4e30563..f89430c 100644 --- a/Containerfile +++ b/Containerfile @@ -16,9 +16,10 @@ ARG REPOS_IMAGE=quay.io/fedora/fedora:rawhide ARG BUILDER_IMAGE=quay.io/fedora/fedora:rawhide FROM $REPOS_IMAGE as repos -# BOOTSTRAPPING: This can be any image that has rpm-ostree and selinux-policy-targeted. +# BOOTSTRAPPING: This can be any image that has rpm-ostree, selinux-policy-targeted +# and python3 (for bootc-base-imagectl). FROM $BUILDER_IMAGE as builder -RUN dnf -y install rpm-ostree selinux-policy-targeted +RUN dnf -y install rpm-ostree selinux-policy-targeted python3 ARG MANIFEST=fedora-standard # The input git repository has .repo files committed to git rpm-ostree has historically # emphasized that. But here, we are fetching the repos from the container base image.