mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
bitbake: toaster: allow pokydirname to be evaluated when all layers are local
Toaster depends on pokydirname for identifying the location of the oe-init-build-env script (and there might be other purposes in the future). The problem with current approach is that it only checks/sets the variable with git based repos, whereas toaster provides mechanisms to allow having layers that are all locally available. The evaluation of the variable fails in such scenarios, so use a more flexible mechanism in this case and try to locate poky in the local layers as well, if not already set. [YOCTO #12891] (Bitbake rev: 971c728075af05e71edfd8e5212728c3dd0787b6) Signed-off-by: Awais Belal <awais.belal@mentor.com> Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
45ef387cc5
commit
e44bb5b5c8
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user