summaryrefslogtreecommitdiffstats
path: root/recipes-containers/vcontainer
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2026-01-23 15:22:28 -0500
committerBruce Ashfield <bruce.ashfield@gmail.com>2026-02-09 03:34:12 +0000
commit0f5344e8c36eef45c4886a903bc5f0ccef305111 (patch)
tree73f5f9cdff5117f815e8c70389a11a7d13f0ded5 /recipes-containers/vcontainer
parentcfab7d389bcbbf0327ced8b320ab03f07ec4fb65 (diff)
downloadmeta-virtualization-0f5344e8c36eef45c4886a903bc5f0ccef305111.tar.gz
vcontainer: fix runc/crun conflict in multiconfig builds
The vruntime distro is used for multiconfig builds of both vdkr (Docker/runc) and vpdmn (Podman/crun) images. When CONTAINER_PROFILE or VIRTUAL-RUNTIME_container_runtime is set, containerd and podman pull their preferred runtime via RDEPENDS, causing package conflicts. Fix by having vruntime distro NOT participate in CONTAINER_PROFILE: - Set VIRTUAL-RUNTIME_container_runtime="" to prevent automatic runtime selection - Explicitly install runc in vdkr-rootfs-image.bb - Explicitly install crun in vpdmn-rootfs-image.bb This allows both images to be built in the same multiconfig without conflicts, while standard container-host images continue to use CONTAINER_PROFILE normally. Also add kernel-modules to vdkr-rootfs-image for overlay filesystem support. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-containers/vcontainer')
-rw-r--r--recipes-containers/vcontainer/vdkr-rootfs-image.bb3
-rw-r--r--recipes-containers/vcontainer/vpdmn-rootfs-image.bb13
2 files changed, 6 insertions, 10 deletions
diff --git a/recipes-containers/vcontainer/vdkr-rootfs-image.bb b/recipes-containers/vcontainer/vdkr-rootfs-image.bb
index 4a0c8a10..8dcf4190 100644
--- a/recipes-containers/vcontainer/vdkr-rootfs-image.bb
+++ b/recipes-containers/vcontainer/vdkr-rootfs-image.bb
@@ -38,6 +38,8 @@ do_rootfs[nostamp] = "1"
38inherit core-image 38inherit core-image
39 39
40# We need Docker and container tools 40# We need Docker and container tools
41# Note: runc is explicitly listed because vruntime distro sets
42# VIRTUAL-RUNTIME_container_runtime="" to avoid runc/crun conflicts.
41IMAGE_INSTALL = " \ 43IMAGE_INSTALL = " \
42 packagegroup-core-boot \ 44 packagegroup-core-boot \
43 docker-moby \ 45 docker-moby \
@@ -48,6 +50,7 @@ IMAGE_INSTALL = " \
48 iproute2 \ 50 iproute2 \
49 iptables \ 51 iptables \
50 util-linux \ 52 util-linux \
53 kernel-modules \
51" 54"
52 55
53# No extra features needed 56# No extra features needed
diff --git a/recipes-containers/vcontainer/vpdmn-rootfs-image.bb b/recipes-containers/vcontainer/vpdmn-rootfs-image.bb
index 82dd64ba..644ce14d 100644
--- a/recipes-containers/vcontainer/vpdmn-rootfs-image.bb
+++ b/recipes-containers/vcontainer/vpdmn-rootfs-image.bb
@@ -31,21 +31,14 @@ do_rootfs[nostamp] = "1"
31# Inherit from core-image-minimal for a minimal base 31# Inherit from core-image-minimal for a minimal base
32inherit core-image 32inherit core-image
33 33
34# Use crun as the OCI runtime (not runc) - this prevents the conflict where
35# both crun (which creates /usr/bin/runc symlink) and runc package are installed
36VIRTUAL-RUNTIME_container_runtime = "crun"
37
38# Use netavark for container networking (pulled in via podman's RDEPENDS)
39VIRTUAL-RUNTIME_container_networking = "netavark"
40
41# Use aardvark-dns for container DNS
42VIRTUAL-RUNTIME_container_dns = "aardvark-dns"
43
44# We need Podman and container tools 34# We need Podman and container tools
45# Podman is daemonless - no containerd required! 35# Podman is daemonless - no containerd required!
36# Note: crun is explicitly listed because vruntime distro sets
37# VIRTUAL-RUNTIME_container_runtime="" to avoid runc/crun conflicts.
46IMAGE_INSTALL = " \ 38IMAGE_INSTALL = " \
47 packagegroup-core-boot \ 39 packagegroup-core-boot \
48 podman \ 40 podman \
41 crun \
49 skopeo \ 42 skopeo \
50 conmon \ 43 conmon \
51 netavark \ 44 netavark \