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

问题描述 投票:0回答:2

我想更改另一个 Yocto 配方中未软分配“?=”的变量值

例如

meta-layerA 有一个给定的配方来设置变量

FOO="valueA"

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

FOO

如果元层 A 有

FOO?="valueA"
,我可以从 local.conf 更改
FOO

即使使用'='作为赋值,有没有办法改变

FOO

yocto bitbake
2个回答
3
投票

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


1
投票

如果您有发行版配置,则可以使用覆盖(使用条件语法),例如:

FOO: =“值B”

配置发行版时重置变量1

在 .bbappend 中,在第一个赋值之后解析的第二个赋值将覆盖原始值,因此:

FOO =“值2”

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


1 请注意,覆盖语法在 BitBake 1.52 (Honister 3.4) 中发生了变化。在此之前,OVERRIDES 的语法使用 _ 而不是 :,因此可以写为:

FOO_ =“值B”

© www.soinside.com 2019 - 2024. All rights reserved.