瀏覽代碼

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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie 4 年之前
父節點
當前提交
899f0a022b
共有 2 個文件被更改,包括 6 次插入4 次删除
  1. 1 2
      lib/bb/command.py
  2. 5 2
      lib/bb/tinfoil.py

+ 1 - 2
lib/bb/command.py

@@ -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
 

+ 5 - 2
lib/bb/tinfoil.py

@@ -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: