[OE-core] [PATCH v4] base.bbclass: Fix matching of MACHINEOVERRIDES in COMPATIBLE_MACHINE
Otavio Salvador
otavio at ossystems.com.br
Tue Apr 9 11:20:32 UTC 2013
On Tue, Apr 9, 2013 at 7:05 AM, Phil Blundell <pb at pbcl.net> wrote:
> On Mon, 2013-04-08 at 18:42 -0300, Otavio Salvador wrote:
>> When a MACHINEOVERRIDES has more than one value, split by ':' as usual
>> OVERRIDES, this were not being properly checked in COMPATIBLE_MACHINE
>> matching as we need to iterate over each SoC family and check if it is
>> compatible or not.
>
> [...]
>
>> import re
>> - this_machine = d.getVar('MACHINE', True)
>> - if this_machine and not re.match(need_machine, this_machine):
>> - this_soc_family = d.getVar('SOC_FAMILY', True)
>> - if (this_soc_family and not re.match(need_machine, this_soc_family)) or not this_soc_family:
>> - raise bb.parse.SkipPackage("incompatible with machine %s (not in COMPATIBLE_MACHINE)" % this_machine)
>> + compat_machines = (d.getVar('MACHINEOVERRIDES', True) or "").split(":")
>> + for m in compat_machines:
>> + if re.match(need_machine, m):
>
> The checkin comment above doesn't really capture the semantic changes
> going on in this patch. The comment implies that there was previously
> an issue with MACHINEOVERRIDES not being split when it contains multiple
> entries, but this is misleading: prior to this patch, COMPATIBLE_MACHINE
> wasn't being matched against MACHINEOVERRIDES at all. So, the effect of
> this is that anything in MACHINEOVERRIDES (which could potentially be
> quite a large set of strings) will be considered as a candidate for
> matching COMPATIBLE_MACHINE.
>
> It's not abundantly clear to me whether this is a good thing or not, but
> it certainly ought to be accurately described in the commit log.
In fact it was being matched as SOC_FAMILY, in fact, extended
MACHINEOVERRIDES. I will send a new version with improved commit log
in either case.
--
Otavio Salvador O.S. Systems
E-mail: otavio at ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
More information about the Openembedded-core
mailing list