[bitbake-devel] [PATCH v3] bitbake/lib/bb/cookerdata.py: Improve response when bitbake-layers can't find layer conf file
Humberto Ibarra
humberto.ibarra.lopez at intel.com
Thu May 12 19:17:51 UTC 2016
If an invalid layer is added to bblayers.conf, the parsing of said file
ends with a trace and an "Unable to parse" exception. This is not the
ideal output, especially considering that we know exactly why this is failing.
This patch handles this situation failing with a graceful error message. The
message shows the path to the conf file that couldn't be found.
[Yocto #9506]
Signed-off-by: Humberto Ibarra <humberto.ibarra.lopez at intel.com>
---
bitbake/lib/bb/cookerdata.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index 50259a9..a1b0457 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -178,9 +178,13 @@ def catch_parse_error(func):
try:
return func(fn, *args)
except IOError as exc:
- import traceback
- parselog.critical(traceback.format_exc())
- parselog.critical("Unable to parse %s: %s" % (fn, exc))
+ import errno
+ if exc.errno == errno.ENOENT:
+ parselog.critical("Unable to find the configuration file: %s" % fn)
+ else:
+ import traceback
+ parselog.critical(traceback.format_exc())
+ parselog.critical("Unable to parse %s: %s" % (fn, exc))
sys.exit(1)
except bb.data_smart.ExpansionError as exc:
import traceback
--
2.4.11
More information about the bitbake-devel
mailing list