On 4/13/20 10:31 AM, Nicolas Dechesne wrote: > On Mon, Apr 13, 2020 at 12:55 PM Alexander Kanavin <[email protected]> > wrote: > >> On Mon, 13 Apr 2020 at 12:46, Nicolas Dechesne < >> [email protected]> wrote: >> >>> A good rule of thumb is to never modify a metadata that is not yours. >>> That applies to everything: >>> * if you need to modify a bb file from a 3rd party library, create a >>> bbappend file in your layer >>> * if you need to modify a bbappend from a 3rd party, then create another >>> bbappend in your layer >>> >>> And by 3rd party i mean any layer/tree which is not yours (OE-core, or >>> any other layer your are using). >>> >> >> I beg to differ! Bbappends are making it difficult to reason about what >> the recipe with all its appends is doing (because they destroy spatial >> locality and aren't easily visible), and I would actually discourage using >> them if the modification can go to the original recipe. >> > > Ok.. you're right. Well at least my answer is not complete ;) > > >> Is it fixing a problem? Is it adding a build option absent from the >> original recipe? Then please take the trouble to submit the change to the >> owners of the recipe. >> > > This is correct. We should encourage everyone to report, and even better > propose a fix, to the relevant layer, when the 'problem' is applicable. I > didn't want to discourage that, for sure! > When developing against master, it's a no brainer. When developing against > a stable branch (like probably many users), it's not as obvious. In that > case I think trying to avoid 'touching' somebody else layer remains a good > advice, since it makes upgrades and maintenance trickier. > > > >> >> Similarly, if a bbappend is re-setting the component version to something >> else (yes, people do that despite my best efforts to prohibit the >> practice), then a much cleaner approach is to actually make a fully copy of >> the recipe, or go and fix the original.
I just ran across a bbappend that change configure options, but looking at the original recipe, there is a PACKAGECONFIG option to do the same thing. So they could have used that mechanism instram of the bbappend. Philip >> > > Recipes version upgrades (or downgrade) should be done in a dedicated layer > owned by the 'developer', and in that case, I agree that bbappend should be > prohibited, and the entire recipe should be copied. > > >> Alex >> > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#49130): https://lists.yoctoproject.org/g/yocto/message/49130 Mute This Topic: https://lists.yoctoproject.org/mt/72982468/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
