diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-02-29 13:09:15 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-02-29 13:12:12 +0000 |
commit | 0cfceaa53b16e487aad7117d87bb79c0b6f92cf7 (patch) | |
tree | 0ce325ba34711569ee223d61baecad681bcba463 /bitbake/lib/bb/parse | |
parent | 7fee190f671369d1a4db9935c0f2639e696c5b75 (diff) | |
download | poky-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>
Diffstat (limited to 'bitbake/lib/bb/parse')
-rw-r--r-- | bitbake/lib/bb/parse/parse_py/ConfHandler.py | 2 |
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 | ||
37 | def init(data): | 37 | def init(data): |
38 | topdir = data.getVar('TOPDIR') | 38 | topdir = data.getVar('TOPDIR') |