[oe] meta-oe and yocto-check-layer
Nicolas Dechesne
nicolas.dechesne at linaro.org
Mon Sep 24 10:05:02 UTC 2018
hi Armin, Paul, Richard,
I was looking at getting the compliance report for meta-oe (sumo
branch), and I have found a few issues.
* in meta-openembedded/sumo, grpc is in meta-oe layer, while it
depends on meta-networking (c-ares). It was fixes in master, with
251878e8b6b9 (grpc: move it from oe to networking layer), so I think
this fix needs to be backported to sumo as well if we want the YP 2.0
compliance script to even work. If agreed, once merged, please let me
know so that I can try again to generate a compliance report.
* in order to run the compliance report, i locally added
networking-layer in meta-oe/conf/layer.conf, and it creates a
dependency loop since meta-oe <-> meta-networking. I found out that
yocto-check-layer doesn't like that too much, and brutally fails. The
following patch makes yocto-check-layer work again even with
dependency loop. I am going to do a few more tests and send that over
as a patch.
diff --git a/scripts/lib/checklayer/__init__.py
b/scripts/lib/checklayer/__init__.py
index 2618416fab..0cc9bf3b6d 100644
--- a/scripts/lib/checklayer/__init__.py
+++ b/scripts/lib/checklayer/__init__.py
@@ -151,11 +151,21 @@ def add_layer_dependencies(bblayersconf, layer,
layers, logger):
logger.debug('Processing dependencies %s for layer %s.' % \
(depends, layer['name']))
+ # To avoid never ending recursion, we keep track of layers while
+ # they are being processed in this 'static' attribute.
+ if not hasattr(recurse_dependencies, "layers"):
+ recurse_dependencies.layers = []
+
for depend in depends.split():
# core (oe-core) is suppose to be provided
if depend == 'core':
continue
+ if depend in recurse_dependencies.layers:
+ continue
+
+ recurse_dependencies.layers.append(depend)
+
layer_depend = _find_layer_depends(depend, layers)
if not layer_depend:
logger.error('Layer %s depends on %s and isn\'t found.' % \
cheers
nico
More information about the Openembedded-devel
mailing list