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

Nicolas Dechesne nicolas.dechesne at linaro.org
Tue Sep 25 06:59:08 UTC 2018


On Mon, Sep 24, 2018 at 11:51 PM akuster808 <akuster808 at gmail.com> wrote:
>
>
>
> 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.

I believe that we want meta-openembedded to be compliant, and a good
example in general. I will send a backport your way for this change.

>
> 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