From: Richard Purdie Date: Mon, 28 Mar 2016 17:04:10 +0000 (+0100) Subject: cookerdata: Improve handling of ParseError X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=148aa1fb45dcb37a756a08301a7daf270e753180;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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] Signed-off-by: Richard Purdie --- diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 9f4067404ad..c5fdf6637e9 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -182,7 +182,7 @@ def catch_parse_error(func): parselog.critical(traceback.format_exc()) parselog.critical("Unable to parse %s: %s" % (fn, exc)) sys.exit(1) - except (bb.parse.ParseError, bb.data_smart.ExpansionError) as exc: + except bb.data_smart.ExpansionError as exc: import traceback bbdir = os.path.dirname(__file__) + os.sep @@ -193,6 +193,8 @@ def catch_parse_error(func): if not fn.startswith(bbdir): break parselog.critical("Unable to parse %s", fn, exc_info=(exc_class, exc, tb)) + except bb.parse.ParseError as exc: + parselog.critical(str(exc)) sys.exit(1) return wrapped