Re: [meta-virtualization] [PATCH] lasyer.conf/qemu-system-native: Improve native DISTRO_FEATURE handling

Richard Purdie <[email protected]> Fri, 24 Apr 2026 07:14:55 +0100
Newsgroups org.yoctoproject.lists.meta-virtualization
Message-ID <6efbb64def5f38fd31a4089e48f6abb465e80a5e.camel@linuxfoundation.org>
On Thu, 2026-04-23 at 21:01 -0400, Bruce Ashfield wrote:
> 
> 
> On Thu, Apr 23, 2026 at 11:47 AM Richard Purdie via lists.yoctoproject.org <[email protected]> wrote:
> > OE-Core needs to make some improvements to the way DISTRO_FEATURES is being built
> > but this will break the way meta-virtualization is handling native propagation.
> > 
> > Use DISTRO_FEATURES_FILTER_NATIVE which is designed for this.
> > 
> > That then means updating the bbappend just to look at DISTRO_FEATURES and to
> > look for both possible values.
> > 
> > Signed-off-by: Richard Purdie <[email protected]>
> > ---
> >  conf/layer.conf                                     | 2 +-
> >  recipes-devtools/qemu/qemu-system-native_%.bbappend | 6 +++---
> >  2 files changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/conf/layer.conf b/conf/layer.conf
> > index eababe00..2a4a4c91 100644
> > --- a/conf/layer.conf
> > +++ b/conf/layer.conf
> > @@ -72,7 +72,7 @@ HOSTTOOLS_NONFATAL += "getent"
> > 
> >  # Propagate virtualization/vcontainer to native DISTRO_FEATURES for qemu virtfs support
> >  # This enables virtio-9p in qemu-system-native for container-cross-install batch imports
> > -DISTRO_FEATURES_NATIVE:append = " ${@bb.utils.contains_any('DISTRO_FEATURES', 'vcontainer virtualization', 'virtualization', '', d)}"
> > +DISTRO_FEATURES_FILTER_NATIVE:append = " vcontainer virtualization"
> > 
> 
> 
> I'm good to use DISTRO_FEATURES_FILTER_NATIVE, but it was less the
> mapping of vcontainer -> virtualization I was going for (although I
> did like the simplicity of just checking one), it was the yocto
> compat question.
>
> Doesn't that change now make it an unconditional update to that
> variable (and everyone that had meta-virt in their layers now gets
> those two variables filtered )? Or is by the native of it being
> distro features there is special handling and it won't cause
> compatibility issues ?

The problem isn't an unconditional update in itself, it would be an
unconditional update to a variable things actually depend upon.

If that breaks YP compat, I think we globally exclude
DISTRO_FEATURES_FILTER_NATIVE from hashes since the piece that matters
is DISTRO_FEATURES itself. I don't think that dependency should be
picked up but I'm not 100% sure and there may be a path the dependency
code can find.

DISTRO_FEATURES is the thing which would change than code would
actually be depending upon.

Unfortunately meta-virtualization YP compat was already failing with
another issue so we need to fix that one first before we can test this.

Cheers,

Richard