我需要从BBCooker
运行generateTaskDepTreeData
cooker.py
,但是更改了poky 2.5中的Tinfoil类,并且Tinfoil.cooker
不再是BBCooker
对象。
我尝试了以下Python代码:
class TinfoilExtended(bb.tinfoil.Tinfoil):
def __init__(self, projpath=os.environ['BUILDDIR'], pkgs_to_build=('rfsw-image',)):
bb.tinfoil.Tinfoil.__init__(self)
os.chdir(projpath)
self.prepare(config_only=False)
self.config= bb.tinfoil.CookerConfiguration()
configparams = bb.tinfoil.TinfoilConfigParameters('parse_only')
self.config.setConfigParameters(configparams)
self.config.setServerRegIdleCallback(self.register_idle_function)
self.cooker_c = bb.cooker.BBCooker(self.config)
self.cooker_c.parseConfiguration()
self.depgraph = self.cooker_c.generateTaskDepTreeData(pkgs_to_build, task)
但这只会返回空数据。
我目前正在使用:
self.depgraph = self.all_recipes()
并遍历食谱并收集其名称,版本,路径和软件包,但是此方法非常慢。如果无法在poky 2.5上运行generateTaskDepTreeData()
,是否有比all_recipes()
更快的方法?