summaryrefslogtreecommitdiff
path: root/poky/bitbake/lib/toaster/bldcontrol
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-09-06 08:26:40 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-09-11 23:48:09 +0300
commit5dd7cbb3457c90724fc442b15bab2082d82b560a (patch)
tree368ed59906a1874f33a3a4a44fbb2f544013dc0a /poky/bitbake/lib/toaster/bldcontrol
parent3b32a97b1b171ca776a24454d22c1c59fc7bfa00 (diff)
downloadopenbmc-5dd7cbb3457c90724fc442b15bab2082d82b560a.tar.xz
poky: sumo refresh 45ef387cc5..51872d3f99
Update poky to sumo HEAD. Awais Belal (8): bitbake: toaster: allow pokydirname to be evaluated when all layers are local bitbake: toaster: use a more flexible way to find bitbake bitbake: bitbake: toaster: allow TOASTER_DIR to be overridden from cmdline bitbake: toaster/widgets.py: avoid divide by zero issues bitbake: toastergui/newproject.html: fix release divs bitbake: toaster/checksettings: allow CUSTOM_XML_ONLY setting through env bitbake: toaster/models.py: allow local paths for custom recipe's base bitbake: toaster/layerdetails.js: don't hide local layer info Karsten Strand (1): bitbake: bitbake: toaster: Fix comparison in recipe template Change-Id: I8dbcad1d98ff8d3c660563781d887a2c91db5bf2 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/bitbake/lib/toaster/bldcontrol')
-rw-r--r--poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py31
-rw-r--r--poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py3
2 files changed, 30 insertions, 4 deletions
diff --git a/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
index 16c7c8044..38503342c 100644
--- a/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
+++ b/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
@@ -217,9 +217,21 @@ class LocalhostBEController(BuildEnvironmentController):
self.setCloneStatus(bitbake,'complete',clone_total,clone_count)
logger.debug("localhostbecontroller: current layer list %s " % pformat(layerlist))
- if self.pokydirname is None and os.path.exists(os.path.join(self.be.sourcedir, "oe-init-build-env")):
- logger.debug("localhostbecontroller: selected poky dir name %s" % self.be.sourcedir)
- self.pokydirname = self.be.sourcedir
+ # Resolve self.pokydirname if not resolved yet, consider the scenario
+ # where all layers are local, that's the else clause
+ if self.pokydirname is None:
+ if os.path.exists(os.path.join(self.be.sourcedir, "oe-init-build-env")):
+ logger.debug("localhostbecontroller: selected poky dir name %s" % self.be.sourcedir)
+ self.pokydirname = self.be.sourcedir
+ else:
+ # Alternatively, scan local layers for relative "oe-init-build-env" location
+ for layer in layers:
+ if os.path.exists(os.path.join(layer.layer_version.layer.local_source_dir,"..","oe-init-build-env")):
+ logger.debug("localhostbecontroller, setting pokydirname to %s" % (layer.layer_version.layer.local_source_dir))
+ self.pokydirname = os.path.join(layer.layer_version.layer.local_source_dir,"..")
+ break
+ else:
+ logger.error("pokydirname is not set, you will run into trouble!")
# 5. create custom layer and add custom recipes to it
for target in targets:
@@ -339,6 +351,19 @@ class LocalhostBEController(BuildEnvironmentController):
# clean the Toaster to build environment
env_clean = 'unset BBPATH;' # clean BBPATH for <= YP-2.4.0
+ # run bitbake server from the clone if available
+ # otherwise pick it from the PATH
+ bitbake = os.path.join(self.pokydirname, 'bitbake', 'bin', 'bitbake')
+ if not os.path.exists(bitbake):
+ logger.info("Bitbake not available under %s, will try to use it from PATH" %
+ self.pokydirname)
+ for path in os.environ["PATH"].split(os.pathsep):
+ if os.path.exists(os.path.join(path, 'bitbake')):
+ bitbake = os.path.join(path, 'bitbake')
+ break
+ else:
+ logger.error("Looks like Bitbake is not available, please fix your environment")
+
# run bitbake server from the clone
bitbake = os.path.join(self.pokydirname, 'bitbake', 'bin', 'bitbake')
toasterlayers = os.path.join(builddir,"conf/toaster-bblayers.conf")
diff --git a/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py b/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py
index 823c6f154..14298d9da 100644
--- a/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py
+++ b/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py
@@ -74,8 +74,9 @@ class Command(BaseCommand):
print("Loading default settings")
call_command("loaddata", "settings")
template_conf = os.environ.get("TEMPLATECONF", "")
+ custom_xml_only = os.environ.get("CUSTOM_XML_ONLY")
- if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0:
+ if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0 or (not custom_xml_only == None):
# only use the custom settings
pass
elif "poky" in template_conf: