On Wed, 10 Mar 2021, Quentin Schulz wrote: ... snip ... > https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux/linux-yocto_5.10.bb#n12 > for example. > > This is an example of a "valid" use case (not that there are invalid > ones) for VAR_foo. > > Would probably a better example: > https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux/linux-yocto_5.10.bb#n50 > > So, you might decide that a machine is so much different than others > that KERNEL_FEATURES should be overridden for said machine. > > Then in a bbappend, one might want to add another feature for this > machine, they'll therefore need to use KERNEL_FEATURES_foo_append. > > I do not have examples at hand of VAR_foo_append except the ones > Leon sent in another mail. Which should show how rare it is :)
i will ramble for just a bit as i think i settled on a way to perhaps explain the difference here to some students. in the overwhelmingly common case, we normally see overrides at the end of either assignments or appends: VAR = "snafu" VAR_qemux86 = "more snafu" VAR_append_qemux86 = "qemux86_specific_fubar" it seems that the proper way to interpret the above is that, in the end, all you would be after is the *final* value of the single variable VAR, and all the appending and overriding is leading you in that direction -- whatever "VAR" contains after it's all over is all you care about. on the other hand, with the example from the kernel recipe: KBRANCH_qemuarm ?= "v5.10/standard/arm-versatile-926ejs" KBRANCH_qemuarm64 ?= "v5.10/standard/qemuarm64" KBRANCH_qemumips ?= "v5.10/standard/mti-malta32" KBRANCH_qemuppc ?= "v5.10/standard/qemuppc" KBRANCH_qemuriscv64 ?= "v5.10/standard/base" KBRANCH_qemux86 ?= "v5.10/standard/base" KBRANCH_qemux86-64 ?= "v5.10/standard/base" KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64" it seems that the right way to interpret the above is that you are, simultaneously, creating *multiple* versions of the variable KBRANCH, so that if you subsequently see, for example: KBRANCH_qemux86_append = " whatever" you're appending to the variable KBRANCH_qemux86 because the ultimate result you're after is the *set* of KBRANCH-related variables, perhaps because you will actually need them all at once. and given that most situations don't require access to all of those variations of that variable, that's why the first approach is by far the most common. that might be an over-simplification, but it seems to at least give an idea of why that second approach would be used in very particular situations. thoughts? rday
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#52660): https://lists.yoctoproject.org/g/yocto/message/52660 Mute This Topic: https://lists.yoctoproject.org/mt/81202306/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-