From: Martin Jansa <martin.jansa@gmail.com>
To: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Cc: Paul Eggleton <paul.eggleton@linux.intel.com>,
openembedded-devel <openembedded-devel@lists.openembedded.org>
Subject: Re: meta-oe and yocto-check-layer
Date: Tue, 25 Sep 2018 12:29:24 +0200 [thread overview]
Message-ID: <20180925102924.GA1431@jama> (raw)
In-Reply-To: <CA+chaQf=U8HMA1JeX5SwvXG=Ob8GSdsAyj3fj1OZcVHxDqjk3g@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5537 bytes --]
On Tue, Sep 25, 2018 at 12:24:31PM +0200, Martin Jansa wrote:
> > meta-oe: add meta-python in LAYERDEPENDS (needed for protobuf)
>
> This causes another circular dependency which we don't want, doesn't it?
Especially if it's caused only by python-protobuf runtime dependency added in:
https://patchwork.openembedded.org/patch/146867/
> On Tue, Sep 25, 2018 at 11:44 AM Nicolas Dechesne <
> nicolas.dechesne@linaro.org> wrote:
>
> > hi Armin,
> >
> > On Tue, Sep 25, 2018 at 8:59 AM Nicolas Dechesne
> > <nicolas.dechesne@linaro.org> wrote:
> > >
> > > On Mon, Sep 24, 2018 at 11:51 PM akuster808 <akuster808@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.
> >
> > Running the compliance script on meta-oe turned out to be an
> > interesting exercise ;)
> >
> > I have found several issues, which I have mentioned in a few different
> > threads, so I will summary here.
> >
> > * oe-core: fix the yocto-check-layer for dependency loop
> > * I have the following local commits in meta-oe:
> > meta-oe: add meta-python in LAYERDEPENDS (needed for protobuf)
> > grpc: move it from oe to networking layer
> > meta-multimedia: fixup LAYERDEPENDS (for dos2unix issue)
> >
> > With all changes above, the compliance script finds another issue with
> > meta-xfce:
> >
> > AssertionError: Adding layer meta-xfce changed signatures.
> > 7 signatures changed, initial differences (first hash before, second
> > after):
> > vim:do_install: 588d445122dccf317f15b0dd852f3888 ->
> > ec086472d75d663c2fe836b935517810
> >
> > This is definitely a violation of one our rule since adding meta-xfce
> > changed changes vim recipe.
> >
> > >
> > > >
> > > > 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
> > > > >
> > > > >
> > > >
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> >
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
next prev parent reply other threads:[~2018-09-25 10:29 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-24 10:05 meta-oe and yocto-check-layer Nicolas Dechesne
2018-09-24 21:03 ` Paul Eggleton
2018-09-24 21:51 ` akuster808
2018-09-25 6:59 ` Nicolas Dechesne
2018-09-25 9:43 ` Nicolas Dechesne
2018-09-25 10:19 ` Paul Eggleton
2018-09-25 10:24 ` Martin Jansa
2018-09-25 10:29 ` Martin Jansa [this message]
2018-09-25 13:05 ` Nicolas Dechesne
2018-09-25 17:10 ` Martin Jansa
2018-09-25 17:16 ` Nicolas Dechesne
2018-09-25 17:19 ` Khem Raj
2018-09-25 17:20 ` Martin Jansa
2018-09-25 16:47 ` Khem Raj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180925102924.GA1431@jama \
--to=martin.jansa@gmail.com \
--cc=nicolas.dechesne@linaro.org \
--cc=openembedded-devel@lists.openembedded.org \
--cc=paul.eggleton@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.