|
| 1 | +EDPM_BOOTC_REPO ?= quay.io/openstack-k8s-operators/edpm-bootc |
| 2 | +EDPM_BOOTC_TAG ?= latest |
| 3 | +EDPM_CONTAINERFILE ?= Containerfile.centos9 |
| 4 | +EDPM_BOOTC_IMAGE ?= ${EDPM_BOOTC_REPO}:${EDPM_BOOTC_TAG} |
| 5 | +EDPM_QCOW2_IMAGE ?= ${EDPM_BOOTC_REPO}:${EDPM_BOOTC_TAG}-qcow2 |
| 6 | +BUILDER_IMAGE ?= quay.io/centos-bootc/bootc-image-builder:latest |
| 7 | +HOST_PACKAGES ?= podman osbuild-selinux |
| 8 | +REPO_SETUP ?= current-podified |
| 9 | +REPO_SETUP_BRANCH ?= master |
| 10 | +REPO_SETUP_DISTRO_MIRROR ?= |
| 11 | +REPO_SETUP_MIRROR ?= https://trunk.rdoproject.org |
| 12 | + |
| 13 | +.ONESHELL: |
| 14 | + |
| 15 | +.PHONY: host-deps |
| 16 | +host-deps: |
| 17 | + sudo dnf install -y ${HOST_PACKAGES} |
| 18 | + |
| 19 | +output: |
| 20 | + mkdir -p output |
| 21 | + |
| 22 | +output/repo-setup: output |
| 23 | + ls output/repo-setup && exit 0 || true |
| 24 | + cd output |
| 25 | + curl -sL https://github.com/openstack-k8s-operators/repo-setup/archive/refs/heads/main.tar.gz | tar xvz |
| 26 | + cd repo-setup-main |
| 27 | + python3 -m venv ./venv |
| 28 | + source ./venv/bin/activate |
| 29 | + PBR_VERSION=0.0.0 python3 -m pip install ./ |
| 30 | + cp venv/bin/repo-setup ../repo-setup |
| 31 | + |
| 32 | +output/yum.repos.d: output/repo-setup |
| 33 | + ls output/yum.repos.d && exit 0 || true |
| 34 | + cd output |
| 35 | + mkdir -p yum.repos.d |
| 36 | + ./repo-setup --output-path yum.repos.d --branch ${REPO_SETUP_BRANCH} --rdo-mirror ${REPO_SETUP_MIRROR} ${REPO_SETUP} |
| 37 | + |
| 38 | + |
| 39 | +.PHONY: build |
| 40 | +build: output/yum.repos.d |
| 41 | + sudo buildah inspect ${EDPM_BOOTC_IMAGE} > /dev/null && exit 0 || true |
| 42 | + sudo buildah bud -f ${EDPM_CONTAINERFILE} -t ${EDPM_BOOTC_IMAGE} . |
| 43 | + |
| 44 | +.PHONY: edpm-bootc.qcow2 |
| 45 | +edpm-bootc.qcow2: build |
| 46 | + ls output/edpm-bootc.qcow2 && exit 0 || true |
| 47 | + sudo podman run --rm -it --privileged \ |
| 48 | + --security-opt label=type:unconfined_t \ |
| 49 | + -v ./output:/output \ |
| 50 | + -v /var/lib/containers/storage:/var/lib/containers/storage \ |
| 51 | + ${BUILDER_IMAGE} \ |
| 52 | + --type qcow2 \ |
| 53 | + --local \ |
| 54 | + ${EDPM_BOOTC_IMAGE} |
| 55 | + cd output |
| 56 | + sudo mv qcow2/disk.qcow2 edpm-bootc.qcow2 |
| 57 | + sudo sha256sum edpm-bootc.qcow2 > edpm-bootc.qcow2.sha256 |
| 58 | + |
| 59 | +.PHONY: package |
| 60 | +package: edpm-bootc.qcow2 |
| 61 | + sudo buildah inspect ${EDPM_QCOW2_IMAGE} > /dev/null && exit 0 || true |
| 62 | + cp ../copy_out.sh output/ |
| 63 | + cp ../Containerfile.image output/ |
| 64 | + cd output |
| 65 | + sudo buildah bud --build-arg IMAGE_NAME=edpm-bootc -f ./Containerfile.image -t ${EDPM_QCOW2_IMAGE} |
| 66 | + |
| 67 | +.PHONY: all |
| 68 | +all: build edpm-bootc.qcow2 package |
| 69 | + |
| 70 | +.PHONY: clean |
| 71 | +clean: |
| 72 | + sudo rm -rf output |
| 73 | + |
| 74 | +.PHONY: realclean |
| 75 | +realclean: clean |
| 76 | + sudo podman rmi --force ${EDPM_BOOTC_IMAGE} || true |
| 77 | + sudo podman rmi --force ${BUILDER_IMAGE} || true |
| 78 | + sudo podman rmi --force ${EDPM_QCOW2_IMAGE} || true |
0 commit comments