我在自定义的Yocto Project层(和单独的存储库)中有一个.bbappend文件。

我想将有关我的自定义图层的信息(例如,我的自定义存储库/图层的git内容)放置在此.bbappend修改的文件中。

从此.bbappend运行的所有命令都将像从其附加到的.bb文件中运行(.bb在另一层中,并回购as recommended)。

我认为运行VAR := "stuff ${OTHER_VAR} more"可能会有一些希望,some documentation说它是“立即变量扩展”,即“在解析此行时已扩展”。不幸的是,看起来附加发生在解析之前。

我喜欢.bbappend的分隔部分,但是还没有找到一种方法来引用.bbappend本身,或者是否还有其他方法可以从原始层获取git信息。有什么想法吗?

最佳答案

您可以通过以下演示来演示立即扩展。编辑
meta-yocto/recipes-core/busybox/busybox _%。bbappend作为标准Yocto Project引用设置的一部分提供,并添加:

SOMEVAR:=“$ {@ bb.warn(” $ {FILE}“)}”

如果然后运行“bitbake -p”以重新解析元数据,它将显示:

警告:/meta-yocto/recipes-core/busybox/busybox_%.bbappend

显示它是在分析文件时运行的。这就是为什么您有时会看到一些技巧的原因:

FILESEXTRAPATHS_prepend:=“$ {THISDIR}/$ {BPN}:

也是在那个bbappend中。这会将该层中的目录添加到文件的搜索路径中,然后可以覆盖该层中的主要配方。

07-24 13:18