2

.bbappend在自定义 Yocto 项目层(和单独的仓库)中有一个文件。

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

从这里运行的任何命令都.bbappend像从.bb它附加的文件一样运行(.bb在另一层中,并且推荐的 repo )。

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

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

4

1 回答 1

2

您可以通过以下演示演示立即扩展。编辑 meta-yocto/recipes-core/busybox/busybox_%.bbappend 作为标准 Yocto 项目参考设置的一部分并添加:

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

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

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

表明它是在解析文件时运行的。这就是为什么您有时会看到以下技巧:

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

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

于 2016-01-21T19:41:09.623 回答