diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py index 5b7a092a21..9a32353d68 100644 --- a/bitbake/lib/bb/data.py +++ b/bitbake/lib/bb/data.py @@ -323,9 +323,8 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d): deps |= set((vardeps or "").split()) deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split()) - except: - bb.note("Error expanding variable %s" % key) - raise + except Exception as e: + raise bb.data_smart.ExpansionError(key, None, e) return deps, value #bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs))) #d.setVarFlag(key, "vardeps", deps) diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index f5f3b13a73..ec3c04e30c 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py @@ -103,7 +103,10 @@ class ExpansionError(Exception): self.variablename = varname self.exception = exception if varname: - self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception) + if expression: + self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception) + else: + self.msg = "Failure expanding variable %s: %s: %s" % (varname, type(exception).__name__, exception) else: self.msg = "Failure expanding expression %s which triggered exception %s: %s" % (expression, type(exception).__name__, exception) Exception.__init__(self, self.msg)