summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/data_smart.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-14 11:02:59 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-14 17:10:59 +0000
commit999ae9291cda3e3472341b0b66b59d5c6bad986e (patch)
tree298b66186f8627e7ecf76bc13182389ea160d6ac /bitbake/lib/bb/data_smart.py
parentb06c7392e14a6de3ed7efa4ef5bb3cbd1faf3e37 (diff)
downloadpoky-999ae9291cda3e3472341b0b66b59d5c6bad986e.tar.gz
bitbake: data_smart: Allow numeric characters in overrides
We're seeing problems due to the way x86-64 is handled (or not handled) as an override. Relax the containts on overrides from being lowercase to being lowercase or numeric. This fixes problem where MACHINE=qemux86 would work but MACHINE=qemux86-64 would fail the same tests. (Bitbake rev: 3a3be518536acc868c7eeb3c1111ad1b321480b7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/data_smart.py')
-rw-r--r--bitbake/lib/bb/data_smart.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 297a2f45b4..c342adaa0a 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -43,6 +43,7 @@ __setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remo
43__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}") 43__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
44__expand_python_regexp__ = re.compile(r"\${@.+?}") 44__expand_python_regexp__ = re.compile(r"\${@.+?}")
45__whitespace_split__ = re.compile(r'(\s)') 45__whitespace_split__ = re.compile(r'(\s)')
46__override_regexp__ = re.compile(r'[a-z0-9]+')
46 47
47def infer_caller_details(loginfo, parent = False, varval = True): 48def infer_caller_details(loginfo, parent = False, varval = True):
48 """Save the caller the trouble of specifying everything.""" 49 """Save the caller the trouble of specifying everything."""
@@ -597,7 +598,7 @@ class DataSmart(MutableMapping):
597 # aka pay the cookie monster 598 # aka pay the cookie monster
598 override = var[var.rfind('_')+1:] 599 override = var[var.rfind('_')+1:]
599 shortvar = var[:var.rfind('_')] 600 shortvar = var[:var.rfind('_')]
600 while override and override.islower(): 601 while override and __override_regexp__.match(override):
601 if shortvar not in self.overridedata: 602 if shortvar not in self.overridedata:
602 self.overridedata[shortvar] = [] 603 self.overridedata[shortvar] = []
603 if [var, override] not in self.overridedata[shortvar]: 604 if [var, override] not in self.overridedata[shortvar]: