[oe] meta-oe and yocto-check-layer

akuster808 akuster808 at gmail.com
Mon Sep 24 21:51:11 UTC 2018



On 09/24/2018 02:03 PM, Paul Eggleton wrote:
> Hi Nicolas,
>
> On Monday, 24 September 2018 10:05:02 PM NZST Nicolas Dechesne wrote:
>> 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.
> Is it appropriate to make such moves in a stable branch? I wouldn't have 
> thought so.
>  

We have to. Per my understanding and why I tried very hard to make
meta-openembedded clean ( appears I failed) is that if you want to be
Yocto Compliant and include any layer that does not pass this test, you
can not become Yocto Compliant.

Or relax your rules!!!.

- armin
>> * 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.' % \
> Patch looks reasonable to me FWIW.
>
> Cheers,
> Paul
>
>




More information about the Openembedded-devel mailing list