summaryrefslogtreecommitdiffstats
path: root/docs/build-profiles.md
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2026-05-10 20:15:50 +0000
committerBruce Ashfield <bruce.ashfield@gmail.com>2026-05-10 20:15:50 +0000
commit18c7f71383d650a97e28c95e3b61445cb6849bd4 (patch)
tree81fddf8d97431eda64c8b2b1dd5c7b9737beb078 /docs/build-profiles.md
parentcbe004439cae170ad5455fbb881495795e42bf5a (diff)
downloadmeta-virtualization-18c7f71383d650a97e28c95e3b61445cb6849bd4.tar.gz
vcontainer: add BBMASK for parse savings and suppress layer warnings
The initial vcontainer distro had no BBMASK at all, making it effectively poky with fewer DISTRO_FEATURES. Every multiconfig parsed the entire recipe universe even though container image builds only need a small subset. With 4+ multiconfigs, the parse overhead is significant. Add vcontainer-bbmask.inc as a lighter alternative to vruntime's aggressive BBMASK. It masks the same categories irrelevant to any container/VM build (graphics, multimedia, desktop, virtualization platforms, orchestration tools, meta-python, meta-filesystems, meta-webserver) but keeps the OCI tooling that vruntime blocks: umoci, container-registry, image recipes, sloci, oci-image-tools. Masking entire layers (meta-python, meta-filesystems, meta-webserver) produces BBFILE_PATTERN warnings because the layers are registered in bblayers.conf (shared with the main build) but have zero recipes after masking. BitBake provides BBFILE_PATTERN_IGNORE_EMPTY_<collection> to suppress this, but checks it on self.data (the base datastore), not per-multiconfig datastores. Setting it in the distro config has no effect. Move the suppression to meta-virt-host.conf which is included by the main build's local.conf and therefore visible to the base datastore. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'docs/build-profiles.md')
-rw-r--r--docs/build-profiles.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/docs/build-profiles.md b/docs/build-profiles.md
index 15c4a9cf..7a82855f 100644
--- a/docs/build-profiles.md
+++ b/docs/build-profiles.md
@@ -232,12 +232,17 @@ The `myapp-container.bb` recipe must inherit `image-oci` and produce OCI output.
232| | vruntime | vcontainer | 232| | vruntime | vcontainer |
233|--|----------|------------| 233|--|----------|------------|
234| **Purpose** | VM rootfs for vdkr/vpdmn | OCI container images | 234| **Purpose** | VM rootfs for vdkr/vpdmn | OCI container images |
235| **BBMASK** | Yes (minimal) | No (full packages) | 235| **BBMASK** | Aggressive (blocks OCI tools) | Lighter (keeps OCI tools) |
236| **Init** | busybox | (per recipe) | 236| **Init** | busybox | (per recipe) |
237| **IMAGE_FSTYPES** | ext4 | (per recipe) | 237| **IMAGE_FSTYPES** | ext4 | (per recipe) |
238| **Multiconfigs** | vruntime-aarch64, vruntime-x86-64 | container-aarch64, container-x86-64 | 238| **Multiconfigs** | vruntime-aarch64, vruntime-x86-64 | container-aarch64, container-x86-64 |
239| **Shared base** | vruntime-base.inc | vruntime-base.inc | 239| **Shared base** | vruntime-base.inc | vruntime-base.inc |
240 240
241Both distros mask graphics, multimedia, desktop, virtualization platforms,
242and orchestration tools. The difference is that vruntime additionally masks
243OCI tooling (umoci, container-registry, image recipes, sloci) that
244vcontainer needs for building container images.
245
241## Design Notes 246## Design Notes
242 247
243**Profiles are pure deltas.** They do not include `meta-virt-host.conf` 248**Profiles are pure deltas.** They do not include `meta-virt-host.conf`