我有一个元M_layer
包含一个xyz.bb
文件和一个abc.bbapppend
文件。 我想将文件中xyz.bb
PV
保存在变量或文本文件中,并在abc.bbappend
文件中使用。
我已经尝试了各种方法将PV
存储在变量中并在 bbappend 层中获取它,但我无法做到这一点。
目前,我正在尝试通过以下方式保存PV
:
echo "{$PV}" > "${LAYERDIR}/my_var.txt" ---- in .bb
my_var2 = "${LAYERDIR}/my_var.txt" --- in .bbappend file
但它不起作用。
预期成果:my_var2 = 3.r.f.g
实际结果:my_var2 = "${LAYERDIR}/my_var.txt"
我没有获得确切的版本,而是按原样获取引用中提到的文本。
这是不可能的。您在一个配方中执行的任何操作都是该配方及其自己的附加项的本地内容。永远记住OE基本规则#1:
"配方数据是本地的,会议数据是全局的"。
因此,唯一正确的方法是通过全局设置PV
将其提升到配置中,例如作为PREFERRED_VERSION
。
更新: 你基本上会通过设置
PREFERRED_VERSION_xyz = "1.2.3">
在某些配置文件中。然后,这应该在所有食谱中可见,例如,您可以使用bitbake -e abc
进行检查。