aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2013-04-08 18:42:44 -0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-04-09 13:17:03 +0100
commit8ceef74dd4f662b4c7e3c170ce486e966ebebeff (patch)
tree8fd65e6eac9b4702a20d6b20d187c955ecdbc267 /meta/classes
parent7429db6f38e405774ba66b3fa1bc3ac4b74ae6b9 (diff)
downloadopenembedded-core-contrib-8ceef74dd4f662b4c7e3c170ce486e966ebebeff.tar.gz
base.bbclass: Fix matching of MACHINEOVERRIDES in COMPATIBLE_MACHINE
The use of SOC_FAMILY here is old code and SOC_FAMILY is now implemented by MACHINEOVERRIDES behind the scenes. It therefore makes more sense to use the replacement value in this code. Just like SOC_FAMILY, this is a ":" delimited variable so we should iterate over the components, not use the value directly. Finally, MACHINEOVERRIDES contains MACHINE so we don't need to check that directly. This makes the functionality match what most users would expect it to do and is also compatible with the way things previously worked. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/base.bbclass11
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index abd6a526c3..641316d1fa 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -515,11 +515,12 @@ python () {
need_machine = d.getVar('COMPATIBLE_MACHINE', True)
if need_machine:
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):
+ break
+ else:
+ raise bb.parse.SkipPackage("incompatible with machine %s (not in COMPATIBLE_MACHINE)" % d.getVar('MACHINE', True))
bad_licenses = (d.getVar('INCOMPATIBLE_LICENSE', True) or "").split()