summaryrefslogtreecommitdiffstats
path: root/lib/bb/data.py
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-11-01 17:05:11 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-04 12:50:28 +0000
commitf639f06cfa280adcc25438387567966271b9b2c3 (patch)
tree6ed311228428e741c312c79c0d524fd606da13f9 /lib/bb/data.py
parent291353b711670ce2da3d45617fc96520bdf09d3f (diff)
downloadbitbake-contrib-f639f06cfa280adcc25438387567966271b9b2c3.tar.gz
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] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/data.py')
-rw-r--r--lib/bb/data.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/bb/data.py b/lib/bb/data.py
index c1f27cd0c..c56965c60 100644
--- a/lib/bb/data.py
+++ b/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)