bitbake: tinfoil: Add back ability to parse on top of a datastore

This option was removed recently as we didn't realise the layerindex
relies upon it. Add back the API which it turns out can be supported
as long as we assume the datastore passed in is a remote datastore
which it usually would be unless created locally.

(Bitbake rev: 4618da2094189e4d814b7d65672cb65c86c0626a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2020-04-03 13:37:30 +01:00
parent 9435b6cf10
commit 70ee928f8f
2 changed files with 6 additions and 4 deletions

View File

@ -499,8 +499,7 @@ class CommandsSync:
appends = params[1]
appendlist = params[2]
if len(params) > 3:
config_data_dict = params[3]
config_data = command.remotedatastores.receive_datastore(config_data_dict)
config_data = command.remotedatastores[params[3]]
else:
config_data = None

View File

@ -617,7 +617,7 @@ class Tinfoil:
fn = self.get_recipe_file(pn)
return self.parse_recipe_file(fn)
def parse_recipe_file(self, fn, appends=True, appendlist=None):
def parse_recipe_file(self, fn, appends=True, appendlist=None, config_data=None):
"""
Parse the specified recipe file (with or without bbappends)
and return a datastore object representing the environment
@ -635,7 +635,10 @@ class Tinfoil:
try:
if appends and appendlist == []:
appends = False
dscon = self.run_command('parseRecipeFile', fn, appends, appendlist)
if config_data:
dscon = self.run_command('parseRecipeFile', fn, appends, appendlist, config_data.dsindex)
else:
dscon = self.run_command('parseRecipeFile', fn, appends, appendlist)
if dscon:
return self._reconvert_type(dscon, 'DataStoreConnectionHandle')
else: