diff options
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/cookerdata.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py index f8ae41093b..842275d530 100644 --- a/bitbake/lib/bb/cookerdata.py +++ b/bitbake/lib/bb/cookerdata.py | |||
@@ -342,14 +342,24 @@ class CookerDataBuilder(object): | |||
342 | data = parse_config_file(layerconf, data) | 342 | data = parse_config_file(layerconf, data) |
343 | 343 | ||
344 | layers = (data.getVar('BBLAYERS') or "").split() | 344 | layers = (data.getVar('BBLAYERS') or "").split() |
345 | broken_layers = [] | ||
345 | 346 | ||
346 | data = bb.data.createCopy(data) | 347 | data = bb.data.createCopy(data) |
347 | approved = bb.utils.approved_variables() | 348 | approved = bb.utils.approved_variables() |
349 | |||
350 | # Check whether present layer directories exist | ||
348 | for layer in layers: | 351 | for layer in layers: |
349 | if not os.path.isdir(layer): | 352 | if not os.path.isdir(layer): |
350 | parselog.critical("Layer directory '%s' does not exist! " | 353 | broken_layers.append(layer) |
351 | "Please check BBLAYERS in %s" % (layer, layerconf)) | 354 | |
352 | sys.exit(1) | 355 | if broken_layers: |
356 | parselog.critical("The following layer directories do not exist:") | ||
357 | for layer in broken_layers: | ||
358 | parselog.critical(" %s", layer) | ||
359 | parselog.critical("Please check BBLAYERS in %s" % (layerconf)) | ||
360 | sys.exit(1) | ||
361 | |||
362 | for layer in layers: | ||
353 | parselog.debug(2, "Adding layer %s", layer) | 363 | parselog.debug(2, "Adding layer %s", layer) |
354 | if 'HOME' in approved and '~' in layer: | 364 | if 'HOME' in approved and '~' in layer: |
355 | layer = os.path.expanduser(layer) | 365 | layer = os.path.expanduser(layer) |