From 1d53c86794b202bb9f42eb45f476ab08208ca8d8 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Fri, 23 Jan 2026 16:15:25 -0500 Subject: packagegroups: add container build aggregates Add packagegroup recipes to simplify building all container-related artifacts: - packagegroup-container-images: Build all OCI container images (recipes inheriting image-oci) - packagegroup-container-bundles: Build all container bundles (recipes inheriting container-bundle) - packagegroup-container-demo: Build all demo containers and bundles Usage: bitbake packagegroup-container-images bitbake packagegroup-container-bundles bitbake packagegroup-container-demo Signed-off-by: Bruce Ashfield --- .../packagegroup-container-bundles.bb | 34 +++++++++++++++ .../packagegroups/packagegroup-container-demo.bb | 48 ++++++++++++++++++++++ .../packagegroups/packagegroup-container-images.bb | 36 ++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 recipes-core/packagegroups/packagegroup-container-bundles.bb create mode 100644 recipes-core/packagegroups/packagegroup-container-demo.bb create mode 100644 recipes-core/packagegroups/packagegroup-container-images.bb (limited to 'recipes-core/packagegroups') diff --git a/recipes-core/packagegroups/packagegroup-container-bundles.bb b/recipes-core/packagegroups/packagegroup-container-bundles.bb new file mode 100644 index 00000000..910c55f2 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-container-bundles.bb @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield +# +# SPDX-License-Identifier: MIT +# +# packagegroup-container-bundles.bb +# Build aggregate for all container bundle recipes +# +# Usage: bitbake packagegroup-container-bundles +# +# This triggers builds of all container bundles that inherit container-bundle. + +SUMMARY = "Build all container bundles" +DESCRIPTION = "Aggregate recipe to build all container bundle recipes. \ + Bundles package OCI images for deployment and cross-install." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +# This is a build-only aggregate - no actual package is created +ALLOW_EMPTY:${PN} = "1" +EXCLUDE_FROM_WORLD = "1" + +inherit packagegroup + +# Container bundles (inherit container-bundle) +# These package OCI images for deployment +CONTAINER_BUNDLES = "\ + example-container-bundle \ + remote-container-bundle \ + multilayer-container-bundle \ + alpine-oci-base \ +" + +# Build dependencies - triggers builds of all listed bundles +do_build[depends] += "${@' '.join(['%s:do_build' % x for x in d.getVar('CONTAINER_BUNDLES').split()])}" diff --git a/recipes-core/packagegroups/packagegroup-container-demo.bb b/recipes-core/packagegroups/packagegroup-container-demo.bb new file mode 100644 index 00000000..ab505108 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-container-demo.bb @@ -0,0 +1,48 @@ +# SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield +# +# SPDX-License-Identifier: MIT +# +# packagegroup-container-demo.bb +# Build aggregate for all demo containers and bundles +# +# Usage: bitbake packagegroup-container-demo +# +# This triggers builds of all demo containers, test containers, and bundles. +# Use this to build everything needed for container demonstrations. + +SUMMARY = "Build all demo containers and bundles" +DESCRIPTION = "Aggregate recipe to build all container demo recipes including \ + OCI images, bundles, and test containers." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +# This is a build-only aggregate - no actual package is created +ALLOW_EMPTY:${PN} = "1" +EXCLUDE_FROM_WORLD = "1" + +inherit packagegroup + +# All OCI container images +CONTAINER_IMAGES = "\ + container-base \ + app-container \ + app-container-alpine \ + app-container-curl \ + app-container-layered \ + app-container-multilayer \ + autostart-test-container \ +" + +# All container bundles +CONTAINER_BUNDLES = "\ + example-container-bundle \ + remote-container-bundle \ + multilayer-container-bundle \ + alpine-oci-base \ +" + +# Build dependencies for images +do_build[depends] += "${@' '.join(['%s:do_image_complete' % x for x in d.getVar('CONTAINER_IMAGES').split()])}" + +# Build dependencies for bundles +do_build[depends] += "${@' '.join(['%s:do_build' % x for x in d.getVar('CONTAINER_BUNDLES').split()])}" diff --git a/recipes-core/packagegroups/packagegroup-container-images.bb b/recipes-core/packagegroups/packagegroup-container-images.bb new file mode 100644 index 00000000..43279e6e --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-container-images.bb @@ -0,0 +1,36 @@ +# SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield +# +# SPDX-License-Identifier: MIT +# +# packagegroup-container-images.bb +# Build aggregate for all OCI container image recipes +# +# Usage: bitbake packagegroup-container-images +# +# This triggers builds of all container images that inherit image-oci. + +SUMMARY = "Build all OCI container images" +DESCRIPTION = "Aggregate recipe to build all OCI container image recipes. \ + These are reference containers for testing and demonstration." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +# This is a build-only aggregate - no actual package is created +ALLOW_EMPTY:${PN} = "1" +EXCLUDE_FROM_WORLD = "1" + +inherit packagegroup + +# OCI container images (inherit image-oci) +# These produce OCI-format container images in deploy/ +CONTAINER_IMAGES = "\ + container-base \ + app-container \ + app-container-alpine \ + app-container-curl \ + app-container-layered \ + app-container-multilayer \ +" + +# Build dependencies - triggers builds of all listed images +do_build[depends] += "${@' '.join(['%s:do_image_complete' % x for x in d.getVar('CONTAINER_IMAGES').split()])}" -- cgit v1.2.3-54-g00ecf