Мне нужно запустить BBCooker
generateTaskDepTreeData
из cooker.py
, но класс Tinfoil в poky 2.5 изменился и 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()
и перебирайте рецепты и собирайте их имена, версии, пути и пакеты, но этот метод очень медленный. Если нет способа запустить generateTaskDepTreeData()
на poky 2.5, есть ли более быстрый способ, чем all_recipes()
?