summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2026-01-23 16:15:25 -0500
committerBruce Ashfield <bruce.ashfield@gmail.com>2026-01-24 15:53:46 -0500
commit54197321d56ec4d008f524736513c5a35b1a8f47 (patch)
tree051ed24ff8809a31ceefb0f21442899f1906f985
parent8f7f2089a528e0d1d39e5f65ae3728ac6b8e56cd (diff)
downloadmeta-virtualization-54197321d56ec4d008f524736513c5a35b1a8f47.tar.gz
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 <bruce.ashfield@gmail.com>
-rw-r--r--recipes-core/packagegroups/packagegroup-container-bundles.bb34
-rw-r--r--recipes-core/packagegroups/packagegroup-container-demo.bb48
-rw-r--r--recipes-core/packagegroups/packagegroup-container-images.bb36
3 files changed, 118 insertions, 0 deletions
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 @@
1# SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield
2#
3# SPDX-License-Identifier: MIT
4#
5# packagegroup-container-bundles.bb
6# Build aggregate for all container bundle recipes
7#
8# Usage: bitbake packagegroup-container-bundles
9#
10# This triggers builds of all container bundles that inherit container-bundle.
11
12SUMMARY = "Build all container bundles"
13DESCRIPTION = "Aggregate recipe to build all container bundle recipes. \
14 Bundles package OCI images for deployment and cross-install."
15LICENSE = "MIT"
16LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
17
18# This is a build-only aggregate - no actual package is created
19ALLOW_EMPTY:${PN} = "1"
20EXCLUDE_FROM_WORLD = "1"
21
22inherit packagegroup
23
24# Container bundles (inherit container-bundle)
25# These package OCI images for deployment
26CONTAINER_BUNDLES = "\
27 example-container-bundle \
28 remote-container-bundle \
29 multilayer-container-bundle \
30 alpine-oci-base \
31"
32
33# Build dependencies - triggers builds of all listed bundles
34do_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 @@
1# SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield
2#
3# SPDX-License-Identifier: MIT
4#
5# packagegroup-container-demo.bb
6# Build aggregate for all demo containers and bundles
7#
8# Usage: bitbake packagegroup-container-demo
9#
10# This triggers builds of all demo containers, test containers, and bundles.
11# Use this to build everything needed for container demonstrations.
12
13SUMMARY = "Build all demo containers and bundles"
14DESCRIPTION = "Aggregate recipe to build all container demo recipes including \
15 OCI images, bundles, and test containers."
16LICENSE = "MIT"
17LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
18
19# This is a build-only aggregate - no actual package is created
20ALLOW_EMPTY:${PN} = "1"
21EXCLUDE_FROM_WORLD = "1"
22
23inherit packagegroup
24
25# All OCI container images
26CONTAINER_IMAGES = "\
27 container-base \
28 app-container \
29 app-container-alpine \
30 app-container-curl \
31 app-container-layered \
32 app-container-multilayer \
33 autostart-test-container \
34"
35
36# All container bundles
37CONTAINER_BUNDLES = "\
38 example-container-bundle \
39 remote-container-bundle \
40 multilayer-container-bundle \
41 alpine-oci-base \
42"
43
44# Build dependencies for images
45do_build[depends] += "${@' '.join(['%s:do_image_complete' % x for x in d.getVar('CONTAINER_IMAGES').split()])}"
46
47# Build dependencies for bundles
48do_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 @@
1# SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield
2#
3# SPDX-License-Identifier: MIT
4#
5# packagegroup-container-images.bb
6# Build aggregate for all OCI container image recipes
7#
8# Usage: bitbake packagegroup-container-images
9#
10# This triggers builds of all container images that inherit image-oci.
11
12SUMMARY = "Build all OCI container images"
13DESCRIPTION = "Aggregate recipe to build all OCI container image recipes. \
14 These are reference containers for testing and demonstration."
15LICENSE = "MIT"
16LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
17
18# This is a build-only aggregate - no actual package is created
19ALLOW_EMPTY:${PN} = "1"
20EXCLUDE_FROM_WORLD = "1"
21
22inherit packagegroup
23
24# OCI container images (inherit image-oci)
25# These produce OCI-format container images in deploy/
26CONTAINER_IMAGES = "\
27 container-base \
28 app-container \
29 app-container-alpine \
30 app-container-curl \
31 app-container-layered \
32 app-container-multilayer \
33"
34
35# Build dependencies - triggers builds of all listed images
36do_build[depends] += "${@' '.join(['%s:do_image_complete' % x for x in d.getVar('CONTAINER_IMAGES').split()])}"