From 99414bdb1c64f7f03e12c347cc16c43c2fa336b2 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 20 Mar 2017 17:05:52 +1300 Subject: bitbake: tinfoil: fix override handling in remote datastores There was a huge gap in the remote datastore code introduced in the tinfoil2 rework - we weren't handling overrides at all, since these are stored separately from the actual data in the DataSmart object. Thus, when a datastore actually represents a remote datastore we need to go back to that remote datastore to get the override data as well, so introduce code to do that. To avoid a second round-trip I had to modify the _findVar() function to return the override data as well. This will increase the overhead a little when that data is superfluous, but without making the function even uglier I don't think there's a way to avoid that. (Bitbake rev: 4f9d6f060ed247fb6fa2f45668a892a1788d3f91) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bitbake/lib/bb/tinfoil.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bitbake/lib/bb/tinfoil.py') diff --git a/bitbake/lib/bb/tinfoil.py b/bitbake/lib/bb/tinfoil.py index 940f9ab0d5..00cec59b83 100644 --- a/bitbake/lib/bb/tinfoil.py +++ b/bitbake/lib/bb/tinfoil.py @@ -60,12 +60,15 @@ class TinfoilDataStoreConnector: self.dsindex = dsindex def getVar(self, name): value = self.tinfoil.run_command('dataStoreConnectorFindVar', self.dsindex, name) + overrides = None if isinstance(value, dict): if '_connector_origtype' in value: value['_content'] = self.tinfoil._reconvert_type(value['_content'], value['_connector_origtype']) del value['_connector_origtype'] - - return value + if '_connector_overrides' in value: + overrides = value['_connector_overrides'] + del value['_connector_overrides'] + return value, overrides def getKeys(self): return set(self.tinfoil.run_command('dataStoreConnectorGetKeys', self.dsindex)) def getVarHistory(self, name): -- cgit v1.2.3-54-g00ecf