summaryrefslogtreecommitdiffstats
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-16 10:37:20 +0000
commit59c606cfc6e0a4f367344d4e3def6017fb560d75 (patch)
treef4fb0875e4850a1e559e3a884aad79f64cf18e8e
parentdac68af6f4add9c99cb7adcf23b2ae89b96ca075 (diff)
downloadbitbake-contrib-59c606cfc6e0a4f367344d4e3def6017fb560d75.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>
-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)