summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-29 13:09:15 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-29 13:12:12 +0000
commit0cfceaa53b16e487aad7117d87bb79c0b6f92cf7 (patch)
tree0ce325ba34711569ee223d61baecad681bcba463
parent7fee190f671369d1a4db9935c0f2639e696c5b75 (diff)
downloadpoky-0cfceaa53b16e487aad7117d87bb79c0b6f92cf7.tar.gz
parse/ConfHandler: Fix enthusiatic export regexp matching
The export regexp was only meant to catch values like: export VARIABLENAME however after the stricter quoting patch was applied, it was also matching variables like: export BAR=foo and setting the export flag on a variable called "BAR=foo". The = character is an invalid variable name character. This patch tightens up the regexp match so it only matches the intended character set and only matches variable names. (Bitbake rev: 6d1765c2eac8c1958ceb9c81d55d04a9bc961cb1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/parse/parse_py/ConfHandler.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index 64b8208b70..0e24b723f0 100644
--- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -32,7 +32,7 @@ from bb.parse import ParseError, resolve_file, ast, logger
32__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"])(?P<value>.*)(?P=apo)$") 32__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"])(?P<value>.*)(?P=apo)$")
33__include_regexp__ = re.compile( r"include\s+(.+)" ) 33__include_regexp__ = re.compile( r"include\s+(.+)" )
34__require_regexp__ = re.compile( r"require\s+(.+)" ) 34__require_regexp__ = re.compile( r"require\s+(.+)" )
35__export_regexp__ = re.compile( r"export\s+(.+)" ) 35__export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/]+)$" )
36 36
37def init(data): 37def init(data):
38 topdir = data.getVar('TOPDIR') 38 topdir = data.getVar('TOPDIR')