summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/command.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-12-13 20:07:09 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-14 12:25:07 +0000
commit8f8a9ef66930ef8375050e80c751dab5ba024d83 (patch)
tree5aff939bf2af2f18a1c07c24315ae57c99720d9b /bitbake/lib/bb/command.py
parentf1f3a112a02aef2e7094b4700c9a7d341ee01275 (diff)
downloadpoky-8f8a9ef66930ef8375050e80c751dab5ba024d83.tar.gz
bitbake: tinfoil: pass datastore to server when expanding python references
If you're expanding a value that refers to the value of a variable in python code, we need to ensure that the datastore that gets used to get the value of that variable is the client-side datastore and not just the part of it that's on the server side. For example, suppose you are in client code doing the following: d.setVar('HELLO', 'there') result = d.expand('${@d.getVar("HELLO", True)}') result should be "there" but if the client part wasn't taken into account, it would be whatever value HELLO had in the server portion of the datastore (if any). (Bitbake rev: cbc22a0a9aadc8606b927dbac0f1407ec2736b35) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/command.py')
-rw-r--r--bitbake/lib/bb/command.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index b296b8ce84..352838b0aa 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -483,14 +483,13 @@ class CommandsSync:
483 dataStoreConnectorGetVarHistory.readonly = True 483 dataStoreConnectorGetVarHistory.readonly = True
484 484
485 def dataStoreConnectorExpandPythonRef(self, command, params): 485 def dataStoreConnectorExpandPythonRef(self, command, params):
486 dsindex = params[0] 486 config_data_dict = params[0]
487 varname = params[1] 487 varname = params[1]
488 expr = params[2] 488 expr = params[2]
489 if dsindex: 489
490 datastore = self.dataStores[dsindex] 490 config_data = command.remotedatastores.receive_datastore(config_data_dict)
491 else: 491
492 datastore = command.cooker.data 492 varparse = bb.data_smart.VariableParse(varname, config_data)
493 varparse = bb.data_smart.VariableParse(varname, datastore)
494 return varparse.python_sub(expr) 493 return varparse.python_sub(expr)
495 494
496 def dataStoreConnectorRelease(self, command, params): 495 def dataStoreConnectorRelease(self, command, params):