diff options
author | Nicolas Dechesne <nicolas.dechesne@linaro.org> | 2021-07-22 14:46:41 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-07-28 23:47:00 +0100 |
commit | 989d7564050138f7cc124a4d4c1e7509bfb01aac (patch) | |
tree | 5f53cfc6eeb45c8e921ba988e718fdec62926a24 | |
parent | 3ad52f4a4847de836f7fe227fb6193fbd94fde1d (diff) | |
download | poky-989d7564050138f7cc124a4d4c1e7509bfb01aac.tar.gz |
yocto-check-layer: improve missed dependencies
The first 2 calls to add_layer_dependencies() are here to add all
dependencies for the 'layer under test' and the additional layers
provided by the users.
In both cases, we use misssing_dependencies boolean to indicate if any
dependency is missing. But we then never really use
missing_dependencies. Instead the script is calling
add_layer_dependencies() again (for both the layer under test, and the
additional layers) to detect if there are any missing dependency. As a
result, we are trying to add again all dependencies, and we can see
that from the traces:
INFO: Detected layers:
INFO: meta-aws: LayerType.SOFTWARE, /work/oe/sources/meta-aws
INFO: checklayer: Doesn't have conf/layer.conf file, so ignoring
INFO:
INFO: Setting up for meta-aws(LayerType.SOFTWARE), /work/oe/sources/meta-aws
INFO: Adding layer meta-python
INFO: Adding layer meta-oe
INFO: Adding layer meta-networking
-->
INFO: Adding layer meta-python
INFO: meta-python is already in /work/oe/poky/master/build-checklayer/conf/bblayers.conf
INFO: Adding layer meta-oe
INFO: meta-oe is already in /work/oe/poky/master/build-checklayer/conf/bblayers.conf
INFO: Adding layer meta-networking
INFO: meta-networking is already in /work/oe/poky/master/build-checklayer/conf/bblayers.conf
<--
INFO: Getting initial bitbake variables ...
The code appears more complex than it should, and we can simply
replace the complex if statement by using missing_dependencies, and
avoid duplicating the call to add_layer_dependencies().
(From OE-Core rev: fceb84f7bc472731b8f96ee1ebf0f4485943226c)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-x | scripts/yocto-check-layer | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/scripts/yocto-check-layer b/scripts/yocto-check-layer index 05494e752c..9aeb311c95 100755 --- a/scripts/yocto-check-layer +++ b/scripts/yocto-check-layer | |||
@@ -158,9 +158,7 @@ def main(): | |||
158 | if not add_layer_dependencies(bblayersconf, additional_layer, dep_layers, logger): | 158 | if not add_layer_dependencies(bblayersconf, additional_layer, dep_layers, logger): |
159 | missing_dependencies = True | 159 | missing_dependencies = True |
160 | break | 160 | break |
161 | if not add_layer_dependencies(bblayersconf, layer, dep_layers, logger) or \ | 161 | if missing_dependencies: |
162 | any(map(lambda additional_layer: not add_layer_dependencies(bblayersconf, additional_layer, dep_layers, logger), | ||
163 | additional_layers)): | ||
164 | logger.info('Skipping %s due to missing dependencies.' % layer['name']) | 162 | logger.info('Skipping %s due to missing dependencies.' % layer['name']) |
165 | results[layer['name']] = None | 163 | results[layer['name']] = None |
166 | results_status[layer['name']] = 'SKIPPED (Missing dependencies)' | 164 | results_status[layer['name']] = 'SKIPPED (Missing dependencies)' |