[OE-core] possible consequences of adding "extraneous" layers to a build?

Robert P. J. Day rpjday at crashcourse.ca
Sun Feb 19 18:19:42 UTC 2017


On Sun, 19 Feb 2017, Richard Purdie wrote:

> On Sat, 2017-02-18 at 13:25 -0500, Robert P. J. Day wrote:
> >   (currently updating a pile of my OE online pages so i'm going to
> > ask a bunch of basic questions to make sure i'm not missing
> > anything.)
> >
> >   what are the basic rules for layer design such that you should
> > (theoretically) be able to toss a bunch of ostensibly superfluous
> > layers into a build, and it shouldn't make a difference? that is,
> > leaving aside obvious conflicts in having two layers trying to
> > define precisely the same thing, what are the only issues you
> > should worry about in throwing more layers into your
> > "bblayers.conf" file, even if you end up not using anything from
> > them?
> >
> >   first, it seems(?) clear that introducing new recipes or classes
> > or machines or distros in those additional layers should make no
> > difference -- if you weren't referring to any of those features
> > before, then if you don't change your configuration, you certainly
> > won't be referring to them now.
> >
> >   the most obvious consequence is that one or more .bbappend files
> > will tweak some recipes you were already building, so .bbappend
> > files strike me as, really, the only consequence of note.
> >
> >   the only thing that leaps to mind is if some really weird
> > content was placed in the new layers' "layer.conf" file, but that
> > strikes me as really bad design unless there's a good reason for
> > it.
> >
> >   so ... is there any other possible consequence of adding layers
> > to a build that i'm overlooking?
>
> A layer can do pretty much *anything* to the build. You can design
> layers not to have an impact, or the impact may be the whole purpose
> of the layer.
>
> With YP Compatible v2, we plan to detect "invasive" changes using
> the sstate checksums changing to show that the layer did something
> unexpected. But in general a layer can do pretty much anything.

  i understand that a layer can do pretty much *anything*, what i was
more interested in is what it *shouldn't* do unless it comes with huge
warning signs telling you about it. as a more concrete example, if
someone says, "hey, i have this great new layer that provides all
sorts of cool recipes," i'd want to to know that i can add it to
bblayers.conf and, unless i explicitly choose to start using content
from it, it shouldn't quietly change my current build.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================


More information about the Openembedded-core mailing list