Не удается получить доступ надлежащим образом BB.Cooker.generateTaskDepTreeData () в pok 2.5 - PullRequest
0 голосов
/ 11 июля 2019

Мне нужно запустить 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()?

...