从其他未软分配的配方中覆盖变量 (?=)

Override variable from other recipe that is not soft assigned (?=)

我想从另一个非软分配的 Yocto 配方更改变量值'?='

例如

meta-layerA 有一个设置变量 FOO="valueA"

的给定配方

我想在 meta-layerB(自定义配方)或 local.conf

中更改 FOO

如果 meta-layerA 具有 FOO?="valueA",我可以将 FOO 从 local.conf 更改为 FOO

有没有办法改变 FOO 即使 '=' 被用作赋值?

meta-layerA 中的食谱在 meta-layerB 中创建一个 bbappend,然后将 FOO = "valueb" 放入其中。

如果您有发行版配置,您可以使用覆盖,例如:

FOO_ = "valueB"

在配置发行版时重置变量。在 .bbappend 中,在第一个赋值之后解析的第二个赋值将覆盖原始值,因此:

FOO = "value2"

也可以工作,因为它会重置原始值以供稍后解析。