我在自定义的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中。这会将该层中的目录添加到文件的搜索路径中,然后可以覆盖该层中的主要配方。