From c5f609edbf64da9d7d32be057f1b6b824f749d6c Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Tue, 1 Nov 2016 17:05:11 +0200 Subject: [PATCH] bitbake: data: fix exception handling in exported_vars() Fix a bug where a totally wrong value of a variable would be exported if an exception happened during d.getVar(). Also, print a warning if an exception happends instead of silently ignoring it. It would probably be best just to raise the exception, instead, but use the warning for now in order to avoid breaking existing builds. [YOCTO #10393] (Bitbake rev: f639f06cfa280adcc25438387567966271b9b2c3) Signed-off-by: Markus Lehtonen Signed-off-by: Richard Purdie --- bitbake/lib/bb/data.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py index c1f27cd0c3..c56965c602 100644 --- a/bitbake/lib/bb/data.py +++ b/bitbake/lib/bb/data.py @@ -258,11 +258,13 @@ def exported_keys(d): not d.getVarFlag(key, 'unexport', False)) def exported_vars(d): - for key in exported_keys(d): + k = list(exported_keys(d)) + for key in k: try: value = d.getVar(key, True) - except Exception: - pass + except Exception as err: + bb.warn("%s: Unable to export ${%s}: %s" % (d.getVar("FILE", True), key, err)) + continue if value is not None: yield key, str(value)