From: Richard Purdie Date: Fri, 18 Sep 2015 07:55:47 +0000 (+0000) Subject: data_smart: Ensure OVERRIDES dependencies account for contains() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f3ee534cb0560dbb5f88a0ffe01e9305bae102e1;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git data_smart: Ensure OVERRIDES dependencies account for contains() The dependencies of OVERRIDES were not including DEFAULTTUNE in OE-Core. This is pulled in by a bb.utils.contains() reference which the override dependency tracking code wasn't accounting for. This patch ensures we do track contains references too. Signed-off-by: Richard Purdie --- diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index 51cf813053e..70558c15aac 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -530,12 +530,16 @@ class DataSmart(MutableMapping): self._setvar_update_overridevars(var, value) def _setvar_update_overridevars(self, var, value): - new = self.expandWithRefs(value, var).references + vardata = self.expandWithRefs(value, var) + new = vardata.references + new.update(vardata.contains.keys()) while not new.issubset(self.overridevars): nextnew = set() self.overridevars.update(new) for i in new: - nextnew.update(self.expandWithRefs(self.getVar(i, True), i).references) + vardata = self.expandWithRefs(self.getVar(i, True), i) + nextnew.update(vardata.references) + nextnew.update(vardata.contains.keys()) new = nextnew self.internal_finalize(True)