summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/distro/include/meta-virt-container-podman.inc2
-rw-r--r--recipes-containers/podman/podman_git.bb18
-rw-r--r--recipes-containers/vcontainer/vpdmn-rootfs-image.bb9
3 files changed, 14 insertions, 15 deletions
diff --git a/conf/distro/include/meta-virt-container-podman.inc b/conf/distro/include/meta-virt-container-podman.inc
index b57eaaca..96ea7d7b 100644
--- a/conf/distro/include/meta-virt-container-podman.inc
+++ b/conf/distro/include/meta-virt-container-podman.inc
@@ -2,6 +2,8 @@ include meta-virt-container.inc
2 2
3VIRTUAL-RUNTIME_container_engine ?= "podman" 3VIRTUAL-RUNTIME_container_engine ?= "podman"
4VIRTUAL-RUNTIME_container_runtime ?= "crun" 4VIRTUAL-RUNTIME_container_runtime ?= "crun"
5# netavark is the only supported network backend since podman 6.0
6# (containers/common removed CNI support entirely)
5VIRTUAL-RUNTIME_container_networking ?= "netavark" 7VIRTUAL-RUNTIME_container_networking ?= "netavark"
6VIRTUAL-RUNTIME_container_dns ?= "aardvark-dns" 8VIRTUAL-RUNTIME_container_dns ?= "aardvark-dns"
7VIRTUAL-RUNTIME_container_orchestration ?= "" 9VIRTUAL-RUNTIME_container_orchestration ?= ""
diff --git a/recipes-containers/podman/podman_git.bb b/recipes-containers/podman/podman_git.bb
index 75e2fae3..36c80c0e 100644
--- a/recipes-containers/podman/podman_git.bb
+++ b/recipes-containers/podman/podman_git.bb
@@ -36,13 +36,10 @@ PACKAGES =+ "${PN}-contrib"
36 36
37PODMAN_PKG = "github.com/containers/podman" 37PODMAN_PKG = "github.com/containers/podman"
38 38
39# Include the cni build tag unless the distro explicitly selects netavark-only. 39# Podman's vendored containers/common library removed CNI support entirely
40# The runtime backend is selected via containers.conf (network_backend), 40# (commit 8d1f636e40, March 2026). The network backend is now unconditionally
41# but podman must be compiled with the cni tag to support it at all. 41# netavark — the cni build tag is a no-op.
42# Previously this was gated on VIRTUAL-RUNTIME_container_networking == "cni", 42BUILDTAGS_EXTRA ?= ""
43# which excluded cni in vruntime builds where that variable is intentionally
44# blank (vpdmn-rootfs-image installs cni packages directly in IMAGE_INSTALL).
45BUILDTAGS_EXTRA ?= "${@'' if d.getVar('VIRTUAL-RUNTIME_container_networking') == 'netavark' else 'cni'}"
46BUILDTAGS ?= "seccomp varlink \ 43BUILDTAGS ?= "seccomp varlink \
47${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ 44${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
48exclude_graphdriver_btrfs exclude_graphdriver_devicemapper ${BUILDTAGS_EXTRA}" 45exclude_graphdriver_btrfs exclude_graphdriver_devicemapper ${BUILDTAGS_EXTRA}"
@@ -137,7 +134,6 @@ FILES:${PN} += " \
137 ${systemd_user_unitdir}/* \ 134 ${systemd_user_unitdir}/* \
138 ${nonarch_libdir}/tmpfiles.d/* \ 135 ${nonarch_libdir}/tmpfiles.d/* \
139 ${datadir}/user-tmpfiles.d/* \ 136 ${datadir}/user-tmpfiles.d/* \
140 ${sysconfdir}/cni \
141" 137"
142 138
143SYSTEMD_SERVICE:${PN} = "podman.service podman.socket" 139SYSTEMD_SERVICE:${PN} = "podman.service podman.socket"
@@ -148,9 +144,13 @@ VIRTUAL-RUNTIME_base-utils-nsenter ?= "util-linux-nsenter"
148 144
149COMPATIBLE_HOST = "^(?!mips).*" 145COMPATIBLE_HOST = "^(?!mips).*"
150 146
147# netavark is the only supported network backend since podman 6.0
148VIRTUAL-RUNTIME_container_networking = "netavark"
149VIRTUAL-RUNTIME_container_dns = "aardvark-dns"
150
151RDEPENDS:${PN} += "\ 151RDEPENDS:${PN} += "\
152 catatonit conmon ${VIRTUAL-RUNTIME_container_runtime} gpgme iptables libdevmapper \ 152 catatonit conmon ${VIRTUAL-RUNTIME_container_runtime} gpgme iptables libdevmapper \
153 ${VIRTUAL-RUNTIME_container_dns} ${VIRTUAL-RUNTIME_container_networking} ${VIRTUAL-RUNTIME_base-utils-nsenter} \ 153 ${VIRTUAL-RUNTIME_container_networking} ${VIRTUAL-RUNTIME_container_dns} ${VIRTUAL-RUNTIME_base-utils-nsenter} \
154" 154"
155RRECOMMENDS:${PN} += "slirp4netns \ 155RRECOMMENDS:${PN} += "slirp4netns \
156 kernel-module-xt-masquerade \ 156 kernel-module-xt-masquerade \
diff --git a/recipes-containers/vcontainer/vpdmn-rootfs-image.bb b/recipes-containers/vcontainer/vpdmn-rootfs-image.bb
index f061ce08..cca9191f 100644
--- a/recipes-containers/vcontainer/vpdmn-rootfs-image.bb
+++ b/recipes-containers/vcontainer/vpdmn-rootfs-image.bb
@@ -50,7 +50,8 @@ IMAGE_INSTALL = " \
50 crun \ 50 crun \
51 skopeo \ 51 skopeo \
52 conmon \ 52 conmon \
53 cni \ 53 netavark \
54 aardvark-dns \
54 busybox \ 55 busybox \
55 iproute2 \ 56 iproute2 \
56 iptables \ 57 iptables \
@@ -121,13 +122,9 @@ additionalimagestores = []
121EOF 122EOF
122 123
123 # Create containers.conf for podman engine settings 124 # Create containers.conf for podman engine settings
124 # Use CNI instead of netavark — netavark's dependency chain
125 # (nmap → libpcap → bluez5 → python3-pygobject → cairo) is too
126 # heavy for the vruntime BBMASK environment.
127 cat > ${IMAGE_ROOTFS}/etc/containers/containers.conf << 'EOF' 125 cat > ${IMAGE_ROOTFS}/etc/containers/containers.conf << 'EOF'
128[network] 126[network]
129network_backend = "cni" 127network_backend = "netavark"
130cni_plugin_dirs = ["/opt/cni/bin", "/usr/libexec/cni"]
131EOF 128EOF
132 129
133 # Prevent libnss_systemd segfaults — systemd is not running in the 130 # Prevent libnss_systemd segfaults — systemd is not running in the