summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cookerdata.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-28 18:04:10 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-29 23:21:52 +0100
commitddbeb56f4fb69831453f4b91f5410ba4fde9fa56 (patch)
tree15a87250b8a1c3bc941abf8b92376d000375610d /bitbake/lib/bb/cookerdata.py
parent6dff6392d8286a52d2b3cc921dc3939c8e5cc095 (diff)
downloadpoky-ddbeb56f4fb69831453f4b91f5410ba4fde9fa56.tar.gz
bitbake: cookerdata: Improve handling of ParseError
If local.conf contains an invalid line, e.g.: APPEND += " igor" (note the leading space) then nasty tracebacks are shown which confuse the user. Change so the parse error is simply shown without a traceback, improving the user experience. [YOCTO #9332] (Bitbake rev: 148aa1fb45dcb37a756a08301a7daf270e753180) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cookerdata.py')
-rw-r--r--bitbake/lib/bb/cookerdata.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index 9f4067404a..c5fdf6637e 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -182,7 +182,7 @@ def catch_parse_error(func):
182 parselog.critical(traceback.format_exc()) 182 parselog.critical(traceback.format_exc())
183 parselog.critical("Unable to parse %s: %s" % (fn, exc)) 183 parselog.critical("Unable to parse %s: %s" % (fn, exc))
184 sys.exit(1) 184 sys.exit(1)
185 except (bb.parse.ParseError, bb.data_smart.ExpansionError) as exc: 185 except bb.data_smart.ExpansionError as exc:
186 import traceback 186 import traceback
187 187
188 bbdir = os.path.dirname(__file__) + os.sep 188 bbdir = os.path.dirname(__file__) + os.sep
@@ -193,6 +193,8 @@ def catch_parse_error(func):
193 if not fn.startswith(bbdir): 193 if not fn.startswith(bbdir):
194 break 194 break
195 parselog.critical("Unable to parse %s", fn, exc_info=(exc_class, exc, tb)) 195 parselog.critical("Unable to parse %s", fn, exc_info=(exc_class, exc, tb))
196 except bb.parse.ParseError as exc:
197 parselog.critical(str(exc))
196 sys.exit(1) 198 sys.exit(1)
197 return wrapped 199 return wrapped
198 200