[OE-core] [PATCH 1/1] base.bbclass: fix COMPATIBLE_MACHINE

Robert Yang liezhi.yang at windriver.com
Mon Apr 11 02:11:41 UTC 2016



On 04/11/2016 09:56 AM, Christopher Larson wrote:
> On Sun, Apr 10, 2016 at 6:17 PM Robert Yang <liezhi.yang at windriver.com
> <mailto:liezhi.yang at windriver.com>> wrote:
>
>
>
>     On 04/11/2016 03:06 AM, Denys Dmytriyenko wrote:
>      > On Sun, Apr 10, 2016 at 07:14:56AM -0700, Robert Yang wrote:
>      >> It mismatched such as qemux86 and qemux86-64 which was incorrect, for
>      >> example:
>      >> COMPATIBLE_MACHINE = "(qemux86)"
>      >
>      > That will match qemux86 and qemux86-64 and is by design! It's a regular
>
>     I'm afraid no, please see my last reply, for others such as
>     MACHINE_OVERRIDES, they never design to work in such a way, so I don't
>     think that COMPATIBLE_MACHINE should work in this way. If you really
>     want to match more, I think that you can set it as "(qemux86.*)" or
>     something familiar.
>
>
> That's an apples and oranges comparison. MACHINEOVERRIDES is part of OVERRIDES,
> which has *completely* different semantics than COMPATIBLE_*. COMPATIBLE_MACHINE
> is a regex variable more like BBMASK than anything else, and it's been that way
> since we introduced it. OVERRIDES has nothing to do with regular expressions.

Since introduced ? I did a grep in oe-core and meta-openembedded, it seems
that no ?

In oe-core:

$ grep 'COMPATIBLE_MACHINE.*qemux86' meta/recipes* -r
linux-yocto_4.4.bb:COMPATIBLE_MACHINE = 
"qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
linux-yocto-tiny_4.4.bb:COMPATIBLE_MACHINE = "(qemux86)"
linux-yocto-dev.bb:COMPATIBLE_MACHINE = 
"(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)"
linux-yocto-tiny_4.1.bb:COMPATIBLE_MACHINE = "(qemux86)"
linux-yocto-rt_4.1.bb:COMPATIBLE_MACHINE = 
"(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
linux-yocto-rt_4.4.bb:COMPATIBLE_MACHINE = 
"(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
linux-yocto_4.1.bb:COMPATIBLE_MACHINE = 
"qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"

In meta-openembedded:
vboxguestdrivers_4.3.30.bb:COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"

We can see that the only one sets qemux86 but no set qemux86-64 is
linux-yocto-tiny:
COMPATIBLE_MACHINE = "(qemux86)"

And it really doesn't work with qemux86-64.

// Robert



More information about the Openembedded-core mailing list