diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-12-14 11:02:59 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-12-14 17:10:59 +0000 |
commit | 999ae9291cda3e3472341b0b66b59d5c6bad986e (patch) | |
tree | 298b66186f8627e7ecf76bc13182389ea160d6ac /bitbake/lib/bb/data_smart.py | |
parent | b06c7392e14a6de3ed7efa4ef5bb3cbd1faf3e37 (diff) | |
download | poky-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.py | 3 |
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 | ||
47 | def infer_caller_details(loginfo, parent = False, varval = True): | 48 | def 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]: |