summaryrefslogtreecommitdiffstats
path: root/conf/distro/vcontainer.conf
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2026-05-10 13:57:50 +0000
committerBruce Ashfield <bruce.ashfield@gmail.com>2026-05-10 13:57:50 +0000
commit84e81eea1a581e10528b2ba95f9c34ee67c8ad3c (patch)
treedf9e3b6405f0ebc9713a762481f86dc298d64aa3 /conf/distro/vcontainer.conf
parent4ba5825ee16fcded87f4d555b4ed7a7615dc67ac (diff)
downloadmeta-virtualization-84e81eea1a581e10528b2ba95f9c34ee67c8ad3c.tar.gz
vcontainer: add OCI builder distro with shared base
The oci-multiarch.bbclass was dead code because vruntime's BBMASK blocks the OCI tooling (umoci, skopeo) needed to build container images. We could not simply use the vruntime multiconfigs for OCI image builds because the aggressive recipe masking that keeps vruntime rootfs minimal also removes the packages needed for container image creation. Rather than maintaining two independent distro configs with duplicated DISTRO_FEATURES, extract the common configuration into a shared base fragment and create a new distro that omits the BBMASK. Changes: - Extract vruntime-base.inc from vruntime.conf with shared settings: stripped DISTRO_FEATURES, opted-out features, native class overrides - Simplify vruntime.conf to require vruntime-base.inc, keeping only VM-specific settings (BBMASK, busybox init, ptest disable) - Add vcontainer.conf: requires the same shared base but without BBMASK, giving OCI tooling full access to the package set - Add container-aarch64 and container-x86-64 multiconfigs using the vcontainer distro with separate TMPDIRs - Add container multiconfigs to BBMULTICONFIG in meta-virt-host.conf - Remove unused container.conf placeholder from 2022 IMAGE_FSTYPES is intentionally NOT set in vcontainer.conf because the 'oci' type requires image-oci.bbclass which only container image recipes inherit. Setting it distro-wide breaks non-container images parsed under this distro (e.g., core-image-multilib-example from meta-skeleton). Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'conf/distro/vcontainer.conf')
-rw-r--r--conf/distro/vcontainer.conf24
1 files changed, 24 insertions, 0 deletions
diff --git a/conf/distro/vcontainer.conf b/conf/distro/vcontainer.conf
new file mode 100644
index 00000000..3b81a46c
--- /dev/null
+++ b/conf/distro/vcontainer.conf
@@ -0,0 +1,24 @@
1# SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield
2#
3# SPDX-License-Identifier: MIT
4#
5# VContainer - OCI container image builder distro
6#
7# Shares the same stripped DISTRO_FEATURES as vruntime but without BBMASK,
8# so OCI tooling (umoci, jq, skopeo) and the full package set are available.
9#
10# Used by container-aarch64 / container-x86-64 multiconfigs to build
11# single-arch OCI images that are then combined into multi-arch indexes.
12
13require conf/distro/include/vruntime-base.inc
14
15# No BBMASK -- OCI image building needs umoci, jq, and full package set.
16
17DISTRO = "vcontainer"
18DISTRO_NAME = "VContainer OCI Builder"
19DISTRO_VERSION = "1.0"
20
21# IMAGE_FSTYPES is NOT set here -- the 'oci' type requires image-oci.bbclass
22# which only container image recipes inherit. Setting it distro-wide would
23# break non-container images (e.g., core-image-*) parsed in this distro.
24# Container recipes like container-base.bb set their own IMAGE_FSTYPES.