<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/classes, branch master-next</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2026-04-28T18:49:19+00:00</updated>
<entry>
<title>oe-go-mod-fetcher: add license scanning for Go module dependencies</title>
<updated>2026-04-28T18:49:19+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-04-28T18:49:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=cd15723c5d62bbfa4c07c36eb7ab7bd962bd4936'/>
<id>urn:sha1:cd15723c5d62bbfa4c07c36eb7ab7bd962bd4936</id>
<content type='text'>
Add --scan-licenses to oe-go-mod-fetcher.py which scans Go module zips
for license files and generates go-mod-licenses.inc with LICENSE and
LIC_FILES_CHKSUM entries matching OE-core's go-mod-update-modules format.

License detection uses OE-core's glob patterns and MD5 + crunched MD5
matching against known SPDX licenses. The hash database resolves from:
1. --common-license-dir (explicit path)
2. Auto-detected poky tree common-licenses
3. Bundled scripts/data/license-hashes.csv (offline fallback)

New files:
- scripts/generate-license-hashes.py: regenerate bundled CSV
- scripts/data/license-hashes.csv: pre-computed hash DB (704 entries)

bbclass changes:
- go-mod-discovery: pass --scan-licenses during do_generate_modules
- GO_MOD_DISCOVERY_SKIP_LICENSES variable to bypass scanning
- do_update_license_hashes task to refresh bundled CSV

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>go-mod-vcs.bbclass: handle pure hybrid mode gracefully</title>
<updated>2026-03-26T17:55:14+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-26T17:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=c5670da69b765c4c16bc663cbfb6777ae98f602f'/>
<id>urn:sha1:c5670da69b765c4c16bc663cbfb6777ae98f602f</id>
<content type='text'>
When a recipe uses only gomod:// fetches with no VCS (git://) modules,
GO_MODULE_CACHE_DATA is an empty list. Previously do_create_module_cache
would run with nothing to process and do_sync_go_files would fatal with
"No modules found in cache".

Detect the empty module list and return early with an informational
message in both tasks, allowing pure hybrid recipes (like yq) to
build without workarounds.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>go-mod-discovery/oe-go-mod-fetcher: add GO_MOD_VCS_EXCLUDE for deleted repos</title>
<updated>2026-03-19T15:56:06+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-19T15:55:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=b1a6d274a8cf9b2248ac708f3cd35e0d04540717'/>
<id>urn:sha1:b1a6d274a8cf9b2248ac708f3cd35e0d04540717</id>
<content type='text'>
Some upstream Go module repositories get deleted from GitHub (e.g.,
github.com/vtolstov/go-ioctl). While the Go module proxy still serves
cached archives, VCS mode cannot git clone a deleted repo. This causes
both do_fetch failures and generator verification failures.

Add GO_MOD_VCS_EXCLUDE recipe variable (space-separated module path
prefixes) and corresponding --exclude-module CLI flag. Excluded modules
are filtered out before verification and SRC_URI generation. Recipes
must provide a gomod:// SRC_URI entry for excluded modules as fallback.

Usage in recipe:
  SRC_URI += "gomod://example.com/deleted-repo;version=v1.0.0;sha256sum=..."
  GO_MOD_VCS_EXCLUDE = "example.com/deleted-repo"

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>container-bundle: add explicit do_fetch dependency on skopeo-native</title>
<updated>2026-03-12T19:59:59+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-12T19:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=e390223891b11c13c005a5183cf3bbb6d105d6c9'/>
<id>urn:sha1:e390223891b11c13c005a5183cf3bbb6d105d6c9</id>
<content type='text'>
do_fetch_containers runs as a postfunc of do_fetch and needs skopeo
from the native sysroot. However, DEPENDS only gates
do_prepare_recipe_sysroot which runs after do_fetch, so with a clean
tmp/ directory skopeo-native may not be built when do_fetch runs.

Add an explicit do_fetch[depends] on skopeo-native:do_populate_sysroot
when remote containers are configured so the ordering is correct.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>container-registry: make IMAGE_FEATURES local to image recipes</title>
<updated>2026-03-12T17:29:17+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-12T17:29:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=e5a041720071917e561ce1c38f6b5279289eee21'/>
<id>urn:sha1:e5a041720071917e561ce1c38f6b5279289eee21</id>
<content type='text'>
Remove the global IMAGE_FEATURES[validitems] registration entirely.
Setting it in layer.conf or a globally-inherited bbclass changes the
varflag value, which gets pulled into the signature of every recipe
that depends on IMAGE_FEATURES — causing yocto-check-layer signature
change failures.

Image recipes that use the container-registry feature already set
IMAGE_FEATURES[validitems] locally (e.g. container-image-host.bb).
Users who want the feature in their own images add the one-liner:
  IMAGE_FEATURES[validitems] += "container-registry"

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>container-registry: make IMAGE_FEATURES conditional on distro features</title>
<updated>2026-03-11T23:34:27+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-11T23:34:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=947678262ae85f214a306ff41d7352485c8d5a03'/>
<id>urn:sha1:947678262ae85f214a306ff41d7352485c8d5a03</id>
<content type='text'>
Move the container-registry IMAGE_FEATURES[validitems] registration
from layer.conf into meta-virt-container-cfg.bbclass where it can be
gated on DISTRO_FEATURES. The validitems varflag is now only registered
when vcontainer or virtualization is in DISTRO_FEATURES.

layer.conf is parsed before distro features are known, so inline
Python cannot be used there. The bbclass is loaded via USER_CLASSES
(deferred parsing) and already handles container profile configuration.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>xen-guest-bundle: drop QA skip for installed-vs-shipped</title>
<updated>2026-03-11T23:26:18+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-11T23:26:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=09a89703b9fb4ce19bd4baabc57bec33c6a8d4a7'/>
<id>urn:sha1:09a89703b9fb4ce19bd4baabc57bec33c6a8d4a7</id>
<content type='text'>
While we need the buildpaths QA skip due to the 3rd party
nature of some bundles, we don't need the installed-vs-shipped.

There's no reason why a bundled guest isn't packaging all its
files (or deleting them).

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>sanity: default virtualization distro check to false</title>
<updated>2026-03-10T13:41:16+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-10T13:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=ebe61f2aee8afe4caaa0e2327b8a02c0ded4e330'/>
<id>urn:sha1:ebe61f2aee8afe4caaa0e2327b8a02c0ded4e330</id>
<content type='text'>
We've terrorized the users of meta-virt for long enough with
the warning about the virtualization distro feature not
being set.

Modern OE has the features_check capability so recipes and
functionality that need the distro feature to be set can
just check it themselves. No need to warn over and over
again.

For now, it just default to off, but the check can be
completely removed in the future (since it does cause some
parse time overhead).

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>image-oci: update oci-iamge-tools + runc instructions</title>
<updated>2026-03-03T04:36:40+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-03T04:36:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=6aef6e666245999a40d11366d5464b651460fee2'/>
<id>urn:sha1:6aef6e666245999a40d11366d5464b651460fee2</id>
<content type='text'>
Our runc is now sufficiently far ahead of the oci-image-tools
such that they aren't compatible.

But

They can still be made to work with a runc generated spec.

Update the comments to show a flow that works if using runc
directly is desired.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>xen: add guest bundling infrastructure with cross-install class</title>
<updated>2026-02-26T01:05:01+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-19T19:14:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=1e88a57bfa40ec640962a8aaea6c1db6da990500'/>
<id>urn:sha1:1e88a57bfa40ec640962a8aaea6c1db6da990500</id>
<content type='text'>
Add xen-guest-cross-install.bbclass for bundling Xen guest images into
Dom0 host images at build time. Supports per-guest configuration via
varflags (memory, vcpus, vif, kernel extra), custom config files,
external/pre-built guests, and autostart via /etc/xen/auto/ symlinks.

Also add example-xen-guest-bundle recipe as a template, and simplify
xen-guest-image-minimal by removing the old XEN_GUEST_AUTO_BUNDLE
do_deploy mechanism in favor of the new class-based approach.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
</feed>
