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

Richard Purdie <[email protected]> Fri, 24 Apr 2026 09:42:38 +0100
Newsgroups org.yoctoproject.lists.meta-virtualization
Message-ID <7236dc0ea04a07ec47bd19e8cb4aee8823a7cb3f.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 ?

Just to follow up, I fixed the ca-certificates issue (patch sent) and
once I did that, I could confirm that after my patch, yocto-check-layer
still passes. We're therefore good on that front.

I also compiled a list of usability issues we need to fix in yocto-
check-layer:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=16266

Cheers,

Richard