Re: how often would one use "VAR_someoverride_append = ..."?
Robert P. J. Day
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#n12i 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