diff options
author | Christopher Larson <chris_larson@mentor.com> | 2019-01-18 21:45:54 +0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-01-21 23:44:34 +0000 |
commit | 7178c69ea26b0887624b470db677050ac6603d7e (patch) | |
tree | 5036579b1a63b0651e145ad85186e061e5f407dc /bitbake/lib | |
parent | 1873c9605dcfb0af6eb57936c8adf3a9e23dcfb0 (diff) | |
download | poky-7178c69ea26b0887624b470db677050ac6603d7e.tar.gz |
bitbake: bb.data_smart: only try to expand refs to valid variable names
This aligns the behavior of expansion with the recipe parser, only
attempting to expand references to valid variable names. This avoids
adding references for things like `${foo#${TOPDIR}}` to our vardeps
without imposing much additional processing overhead beyond the change
to the expansion regexp.
YOCTO #12987
(Bitbake rev: df2ac65370aa86cdbc1574fdede25e3519410e45)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 1f45cd975d..07db7be97a 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
@@ -40,7 +40,7 @@ logger = logging.getLogger("BitBake.Data") | |||
40 | 40 | ||
41 | __setvar_keyword__ = ["_append", "_prepend", "_remove"] | 41 | __setvar_keyword__ = ["_append", "_prepend", "_remove"] |
42 | __setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$') | 42 | __setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$') |
43 | __expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}") | 43 | __expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~]+?}") |
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 | __override_regexp__ = re.compile(r'[a-z0-9]+') |