<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 11, 2019 at 11:01 AM Brad Bishop <<a href="mailto:bradleyb@fuzziesquirrel.com">bradleyb@fuzziesquirrel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Kun<br>
<br>
> On Nov 11, 2019, at 1:45 PM, Kun Yi <<a href="mailto:kunyi@google.com" target="_blank">kunyi@google.com</a>> wrote:<br>
> <br>
> Hello there,<br>
> <br>
> After being hit by several regressions due to overrides in Yocto recipes,<br>
<br>
I have not heard of any regressions.  Can you elaborate?<br></blockquote><div> </div><div>Sure, it's partially due to how we set up the build downstream. Our downstream would put all the needed layers in one bblayers file, so we would have something like:</div><div><br></div><div>  ##OEROOT##/meta \<br>  ##OEROOT##/meta-poky \<br>  ##OEROOT##/meta-openembedded/meta-oe \<br>  ##OEROOT##/meta-openembedded/meta-networking \<br>  ##OEROOT##/meta-openembedded/meta-python \<br>  ##OEROOT##/meta-phosphor \<br>  ##OEROOT##/meta-google \<br>  ##OEROOT##/meta-google-gbmc \<br>  ##OEROOT##/meta-aspeed \<br>  ##OEROOT##/meta-nuvoton \<br>  ##OEROOT##/meta-openpower \<br>  ##OEROOT##/meta-ingrasys \<br>  ##OEROOT##/meta-ingrasys/meta-zaius \<br>  ##OEROOT##/meta-quanta \<br>  ##OEROOT##/meta-quanta/meta-gsj \<br></div><div>...</div><div><br></div><div>The distinct advantage of this approach is that we would be able to build images for different machine types using the same layer conf, so the build doesn't need to be reconfigured if you were to test on another platform.</div><div><br></div><div>The challenge, as you can imagine, is that each meta layer now cannot 'leak' any variable. e.g. if some recipe in meta-quanta sets a variable for quanta systems only, then it must specify "_quanta" or a similar suffix to prevent the variable expansion to apply to other systems. I think this rule is generally preferred upstream, but not sure whether it is an official guideline.</div><div><br></div><div>With my proposal, it would be much easier for a multi-system layer setup like ours to work. Not only that, it would benefit the most common use cases: moving variable definitions in bitbake recipes, or even just adding a variable for a particular machine feature. Having a visible diff would make reviewing the changes so much easier.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-brad<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Regards,<div>Kun</div></div></div></div>