[meta-virtualization][PATCH 2/2] container-image-multiarch: add helper recipe

Tim Orling <[email protected]> Wed, 3 Jun 2026 17:41:20 -0700
Newsgroups org.yoctoproject.lists.meta-virtualization
Message-ID <[email protected]>
Similar to core-image-ptest.bb, this recipe uses mcextend to add
multiarch support for any recipe in CONTAINER_IMAGES variable which is
populated by the CONTAINER_IMAGES_META_VIRT variable in
container-image-packagelists.inc.

Signed-off-by: Tim Orling <[email protected]>
---
 .../images/container-image-multiarch.bb       | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 recipes-containers/images/container-image-multiarch.bb

diff --git a/recipes-containers/images/container-image-multiarch.bb b/recipes-containers/images/container-image-multiarch.bb
new file mode 100644
index 00000000..d3b586f4
--- /dev/null
+++ b/recipes-containers/images/container-image-multiarch.bb
@@ -0,0 +1,25 @@
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "vcontainer"
+
+require conf/distro/include/container-image-packagelists.inc
+
+DESCRIPTION += "Enable building the ${MCNAME} multiarch image."
+SUMMARY ?= "${MCNAME} multiarch image."
+HOMEPAGE ?= "https://www.yoctoproject.org/"
+LICENSE ?= "MIT"
+LIC_FILES_CHKSUM ?= "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+
+CONTAINER_IMAGES = "${CONTAINER_IMAGES_META_VIRT}"
+
+inherit oci-multiarch
+
+BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('CONTAINER_IMAGES').split()])}"
+
+OCI_MULTIARCH_RECIPE = "${MCNAME}"
+OCI_MULTIARCH_PLATFORMS = "aarch64 x86_64"
+
+python () {
+    if not d.getVar("MCNAME"):
+        raise bb.parse.SkipRecipe("No class extension set")
+}
-- 
2.54.0