]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: bb.data_smart: only try to expand refs to valid variable names
authorChristopher Larson <chris_larson@mentor.com>
Fri, 18 Jan 2019 16:45:54 +0000 (21:45 +0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 21 Jan 2019 23:44:34 +0000 (23:44 +0000)
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>
bitbake/lib/bb/data_smart.py

index 1f45cd975daeb09df0eece8a7db15604a5b7c7bd..07db7be97aa5eb65b5ccb424a39330c7ce901ea7 100644 (file)
@@ -40,7 +40,7 @@ logger = logging.getLogger("BitBake.Data")
 
 __setvar_keyword__ = ["_append", "_prepend", "_remove"]
 __setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
-__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
+__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~]+?}")
 __expand_python_regexp__ = re.compile(r"\${@.+?}")
 __whitespace_split__ = re.compile(r'(\s)')
 __override_regexp__ = re.compile(r'[a-z0-9]+')