diff --git a/_config b/_config index 2aeaec0..e4dc9f6 100644 --- a/_config +++ b/_config @@ -81,7 +81,6 @@ BuildFlags: onlybuild:release-manifest-image BuildFlags: onlybuild:ironic-image BuildFlags: onlybuild:ironic-ipa-downloader-image BuildFlags: onlybuild:ironic-ipa-ramdisk - BuildFlags: onlybuild:kiwi-builder-image BuildFlags: onlybuild:kube-rbac-proxy BuildFlags: onlybuild:kube-rbac-proxy-image BuildFlags: onlybuild:metallb @@ -105,6 +104,21 @@ BuildFlags: onlybuild:release-manifest-image PublishFlags: archsync %endif +%if "%_repository" == "images_16.0" + Prefer: container:sles15-image + Type: docker + BuildEngine: podman + Repotype: none + Patterntype: none + BuildFlags: dockerarg:SLE_VERSION=16.0 + BuildFlags: onlybuild:kiwi-builder-image + + # Publish multi-arch container images only once all archs have been built + PublishFlags: archsync +%endif + + + %if "%_repository" == "charts" || "%_repository" == "phantomcharts" || "%_repository" == "releasecharts" Type: helm Repotype: helm diff --git a/_meta b/_meta index 334ecb0..8d2c622 100644 --- a/_meta +++ b/_meta @@ -31,14 +31,20 @@ x86_64 {%- endif %} -{%- for repository in ["images", "test_manifest_images"] %} +{%- for repository in ["images", "images_16.0", "test_manifest_images"] %} - {%- if release_project is defined and repository == "images" %} + {%- if release_project is defined and repository != "test_manifest_images" %} {%- endif %} - - + {%- if repository == "images_16.0" %} + + + + {%- else %} + + + {%- endif %} x86_64 aarch64 diff --git a/kiwi-builder-image/Dockerfile b/kiwi-builder-image/Dockerfile index 1251741..f394d09 100644 --- a/kiwi-builder-image/Dockerfile +++ b/kiwi-builder-image/Dockerfile @@ -1,18 +1,20 @@ -#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.1 -#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.1-%RELEASE% -FROM registry.suse.com/bci/kiwi:10.1.16 -MAINTAINER SUSE LLC (https://www.suse.com/) +#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0-%RELEASE% +#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0 + +ARG KIWIVERSION="10.2.12" +FROM registry.suse.com/bci/kiwi:${KIWIVERSION} +ARG KIWIVERSION # Define labels according to https://en.opensuse.org/Building_derived_containers # labelprefix=com.suse.application.akri LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)" LABEL org.opencontainers.image.title="SLE Kiwi Builder Container Image" LABEL org.opencontainers.image.description="kiwi-builder based on the SLE Base Container Image." -LABEL org.opencontainers.image.version="%PACKAGE_VERSION%" +LABEL org.opencontainers.image.version="%%kiwi_version%%" LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/" LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.vendor="SUSE LLC" -LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:10.1.16.1" +LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0-%RELEASE%" LABEL org.openbuildservice.disturl="%DISTURL%" LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%" LABEL com.suse.eula="SUSE Combined EULA February 2024" @@ -21,8 +23,8 @@ LABEL com.suse.image-type="application" LABEL com.suse.release-stage="released" # endlabelprefix -# Configure Kiwi to use kpartx -RUN echo -e "mapper:\n - part_mapper: kpartx" > /etc/kiwi.yml +# help the build service understand the need for python3-kiwi +RUN zypper -n install -d -D python3-kiwi; [ "%%kiwi_version%%" = "${KIWIVERSION}" ] || { echo "expected kiwi version ${KIWIVERSION}: version mismatch"; exit 1; } # Copy build script into image and make it executable ADD build-image.sh /usr/bin/build-image diff --git a/kiwi-builder-image/README b/kiwi-builder-image/README index 684137f..342db77 100644 --- a/kiwi-builder-image/README +++ b/kiwi-builder-image/README @@ -8,7 +8,7 @@ Please ensure that you're running this on a registered SUSE Linux Micro 6.1 syst Next, download the podman image: -# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 +# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 Make a local output directory (where the images will reside): @@ -16,40 +16,40 @@ Make a local output directory (where the images will reside): Then, to build a standard "Base" image, run the following in podman: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 build-image To build a "Base" SelfInstall ISO, you can add additional flags, for example: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Base-SelfInstall +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 build-image -p Base-SelfInstall Then, to build a standard "Default" image, run the following in podman: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Default +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 build-image -p Default To build a "Default" SelfInstall ISO, you can add additional flags, for example: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Default-SelfInstall +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 build-image -p Default-SelfInstall To build an image with a RealTime kernel, e.g. a RAW disk image ("Default"), use the following: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Base-RT +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 build-image -p Base-RT To build an image that supports a large block/sectorsize (4096), use the "-b" flag, for example: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Default-SelfInstall -b +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 build-image -p Default-SelfInstall -b # mkdir mydefs/ # cp /path/to/SL-Micro.kiwi mydefs/ # cp /path/to/config.sh mydefs/ -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.0 build-image All output will be in the local $(pwd)/output directory, for example: # ls -1 output/ -SLE-Micro.x86_64-6.1.changes -SLE-Micro.x86_64-6.1.packages -SLE-Micro.x86_64-6.1.raw -SLE-Micro.x86_64-6.1.verified +SL-Micro.x86_64-6.1.changes +SL-Micro.x86_64-6.1.packages +SL-Micro.x86_64-6.1.raw +SL-Micro.x86_64-6.1.verified build kiwi.result kiwi.result.json diff --git a/kiwi-builder-image/_service b/kiwi-builder-image/_service index 0def281..14f9667 100644 --- a/kiwi-builder-image/_service +++ b/kiwi-builder-image/_service @@ -16,4 +16,14 @@ SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level) SUPPORT_LEVEL + + Dockerfile + %%kiwi_version%% + python3-kiwi + + + README + %%kiwi_version%% + python3-kiwi +