Check existence of all the bblayer direcotories at once and print them all, so if there are multiple nonexistent directories, user does not have to correct bblayers.conf and restart bitbake multiple times.
[YOCTO #11647] Signed-off-by: Oleksandr Kravchuk <open.sou...@oleksandr-kravchuk.com> --- bitbake/lib/bb/cookerdata.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py index f8ae41093b..be1c332eb5 100644 --- a/bitbake/lib/bb/cookerdata.py +++ b/bitbake/lib/bb/cookerdata.py @@ -342,14 +342,24 @@ class CookerDataBuilder(object): data = parse_config_file(layerconf, data) layers = (data.getVar('BBLAYERS') or "").split() + broken_layers = [] data = bb.data.createCopy(data) approved = bb.utils.approved_variables() + + # Check whether present layer directories exist for layer in layers: if not os.path.isdir(layer): - parselog.critical("Layer directory '%s' does not exist! " - "Please check BBLAYERS in %s" % (layer, layerconf)) - sys.exit(1) + broken_layers.append(layer) + + if broken_layers: + parselog.critical("The following layer directories do not exist:") + for layer in broken_layers: + parselog.critical("- %s", layer) + parselog.critical("Please check BBLAYERS in %s" % (layerconf)) + sys.exit(1) + + for layer in layers: parselog.debug(2, "Adding layer %s", layer) if 'HOME' in approved and '~' in layer: layer = os.path.expanduser(layer) -- 2.17.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core