diff options
| author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-05-10 20:15:50 +0000 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-05-10 20:15:50 +0000 |
| commit | 18c7f71383d650a97e28c95e3b61445cb6849bd4 (patch) | |
| tree | 81fddf8d97431eda64c8b2b1dd5c7b9737beb078 /docs/build-profiles.md | |
| parent | cbe004439cae170ad5455fbb881495795e42bf5a (diff) | |
| download | meta-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.md | 7 |
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 | ||
| 241 | Both distros mask graphics, multimedia, desktop, virtualization platforms, | ||
| 242 | and orchestration tools. The difference is that vruntime additionally masks | ||
| 243 | OCI tooling (umoci, container-registry, image recipes, sloci) that | ||
| 244 | vcontainer 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` |
