[英]How bitbake searches for recipe in build process?
我试图找出 bitbake 如何在构建过程中搜索配方? 例如,我有一个类似下面的食谱:
DESCRIPTION = "PetaLinux GSTREAMER supported packages"
inherit packagegroup
GSTREAMER_PACKAGES = " \
gstreamer1.0 \
gstreamer1.0-python \
gstreamer1.0-meta-base \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-rtsp-server \
gst-shark \
gstd \
gst-perf \
gst-interpipes \
"
GSTREAMER_PACKAGES_append_zynqmp = " gstreamer1.0-omx"
RDEPENDS_${PN} = "${GSTREAMER_PACKAGES}"
当我在yocto层搜索gstreamer1.0相关recipe时,我发现了两个recipe,一个是meta层的gstreamer1.0_1.16.1.bb ,另一个是meta-petalinux层的gstreamer1.0_%.bbappend 。
这两个层都被添加到bblayers.conf文件中的BBLAYERS中,并且在相关层的 layer.conf 文件中用BBFILE_PRIORITY_ * 指定的优先级是相同的。
那么,在这种情况下,构建过程中将使用哪个配方? yocto 中的食谱查找规则是什么?
我改变了一些东西来理解行为:例如,
你能帮我理解这种行为吗?
谢谢。
您有两个不同的文件:一个.bb
和一个.bbappend
。
.bb
是一个(或多个)包的基本配方。 它通常描述如何为您的目标获取、配置、编译、安装 package 中的文件。
.bbappend
文件是一个“附加”文件。 它允许一个元(这里是 meta-petalinux)修改另一个元中的现有配方而不复制它。 .bbappend
可以修改 bb 文件的任何步骤:获取源、配置、编译、安装...
例如,您可以创建自己的 Gstreamer bbappend,以启用 pango(在我的 Yocto 上默认禁用)。 bbappend 文件名是gstreamer1.0-plugins-base_%.bbappend
并且只包含PACKAGECONFIG_append = "pango"
Yocto 手册可以在此处为您提供有关 bbappend 文件的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.