diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2018-11-14 17:46:41 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-11-16 13:56:48 +0000 |
commit | 79e62eef1c93f742bf71e9f25db57fdd2ffedd02 (patch) | |
tree | ad1559a80ec16e01ea320371762ea4c3d178437d /lib/bb/parse | |
parent | 4adc582d2df7fdb9e51c4ebb5e66bbd21165b4dc (diff) | |
download | bitbake-79e62eef1c93f742bf71e9f25db57fdd2ffedd02.tar.gz |
BBHandler: Fix __python_func_regexp__ for comment lines
Fixed:
- Add a comment in base.bbclass:
def oe_import(d):
import sys
# Comment
bbpath = d.getVar("BBPATH").split(":")
[snip]
Note, '# Comment' is started with '#', it is legal in python's syntax
(though maybe not a good style), but bitbake reported errors:
$ bitbake -p
ERROR: ParseError at /path/to/base.bbclass:20: unparsed line: ' bbpath = d.getVar("BBPATH").split(":")'
This error report would mislead people, the real problem is that '# Comment'
is not supported, but it reports the next line, this may make it hard to debug
the code are complicated.
We can make __python_func_regexp__ handle '^#' to fix the problem, since it
already can handle blank line "^$" in a python function, so it would be pretty
safe to handle "^#" as well.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/parse')
-rw-r--r-- | lib/bb/parse/parse_py/BBHandler.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/bb/parse/parse_py/BBHandler.py b/lib/bb/parse/parse_py/BBHandler.py index e5039e3bd..01fc47e51 100644 --- a/lib/bb/parse/parse_py/BBHandler.py +++ b/lib/bb/parse/parse_py/BBHandler.py @@ -45,7 +45,7 @@ __addtask_regexp__ = re.compile("addtask\s+(?P<func>\w+)\s*((before\s*(?P< __deltask_regexp__ = re.compile("deltask\s+(?P<func>\w+)") __addhandler_regexp__ = re.compile( r"addhandler\s+(.+)" ) __def_regexp__ = re.compile( r"def\s+(\w+).*:" ) -__python_func_regexp__ = re.compile( r"(\s+.*)|(^$)" ) +__python_func_regexp__ = re.compile( r"(\s+.*)|(^$)|(^#)" ) __infunc__ = [] __inpython__ = False |