diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-16 21:59:44 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-18 15:14:03 +0100 |
commit | 701ad76270cfc316c46b1242ce187801913821b3 (patch) | |
tree | 05c686569334f9deb6d0794fb425ce5355d4b802 /bitbake/lib/bb/data_smart.py | |
parent | 4325f6f03dee60ee45828ecffb053321a26fbc16 (diff) | |
download | poky-701ad76270cfc316c46b1242ce187801913821b3.tar.gz |
bitbake: data_smart: When considering OVERRIDE dependencies, do so recursively
Sadly its not enough to consider the dependencies of OVERRIDES, we
need to resolve their dependencies and so on recursively. If we don't
do this, some variable can be changed and the resulting data store is
incorrect.
(Bitbake rev: 82143ac064d391300e762ba7520ef1f8df18b574)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/data_smart.py')
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 85412b2a8b..99f55cf4b5 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
@@ -530,7 +530,13 @@ class DataSmart(MutableMapping): | |||
530 | self._setvar_update_overridevars(var, value) | 530 | self._setvar_update_overridevars(var, value) |
531 | 531 | ||
532 | def _setvar_update_overridevars(self, var, value): | 532 | def _setvar_update_overridevars(self, var, value): |
533 | self.overridevars.update(self.expandWithRefs(value, var).references) | 533 | new = self.expandWithRefs(value, var).references |
534 | while not new.issubset(self.overridevars): | ||
535 | nextnew = set() | ||
536 | self.overridevars.update(new) | ||
537 | for i in new: | ||
538 | nextnew.update(self.expandWithRefs(self.getVar(i, True), i).references) | ||
539 | new = nextnew | ||
534 | self.internal_finalize(True) | 540 | self.internal_finalize(True) |
535 | 541 | ||
536 | def _setvar_update_overrides(self, var, **loginfo): | 542 | def _setvar_update_overrides(self, var, **loginfo): |