@@ -24,6 +24,7 @@
#
import os
+import shutil
from logging import debug as D
import sys
import re
@@ -123,8 +124,14 @@ class Bitbake(object):
env = "TCLIBC={}".format(libc)
else:
env = ""
- bb.process.run("bitbake-config-build enable-fragment machine/{}".format(machine))
- return self._cmd(recipe, env_var=env)
+ if shutil.which("bitbake-config-build"):
+ bb.process.run("bitbake-config-build enable-fragment machine/{}".format(machine))
+ env_var = env if env else None
+ else:
+ D("bitbake-config-build not found, using MACHINE env var")
+ env_var = "MACHINE={}{}".format(machine,
+ " " + env if env else "")
+ return self._cmd(recipe, env_var=env_var)
def dependency_graph(self, package_list):
return self._cmd(package_list, "-g")
@@ -714,6 +714,18 @@ class UniverseUpdater(Updater):
pkggroups = oe.recipeutils.get_recipe_upgrade_status(layer_recipes)
for group in pkggroups:
+
+ # Scarthgap returns flat tuples from _get_recipe_upgrade_status();
+ # field order: (pn, status, cur_ver, next_ver, maintainer,
+ # revision, no_upgrade_reason) — see oe/recipeutils.py.
+ if isinstance(group, tuple):
+ assert len(group) == 7, \
+ "unexpected tuple length %d from get_recipe_upgrade_status" % len(group)
+ pn, status, cur_ver, next_ver, maintainer, revision, no_upgrade_reason = group
+ group = [{'pn': pn, 'status': status, 'cur_ver': cur_ver,
+ 'next_ver': next_ver, 'maintainer': maintainer,
+ 'revision': revision, 'no_upgrade_reason': no_upgrade_reason}]
+
upgrade_group = []
for pkg in group:
maintainer = pkg['maintainer']