bitbake:构建系统如何选择多层提供的配方

bitbake: how does the build system choose the recipe provided by more than one layer

元层提供配方:

meta/recipes-graphics/x11-common/xserver-nodm-init.bb 

meta-oe层提供配方:

meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb

我的问题是:

如何从多层构建系统select xserver-nodm-init?

select xserver-nodm-init 配方是否根据 conf/bblayers 中的层顺序?

层优先级(BBFILE_PRIORITY)和配方版本号(PV,通常从文件名自动生成)将决定使用哪个配方。即使该层中的配方版本较低,也会使用较高优先级层中的配方,因此版本号应该只在层优先级相同时才重要。

在你的情况下,meta/ 中的配方没有明确的版本号:PV 默认为 1.0。

您可以使用 bitbake-layers show-layers 查看所有图层的优先级,例如bitbake -e <recipe> | grep ^PV 检查实际为食谱选择了哪个版本。要覆盖特定配方的 "wrong" 选择,您可以在发行版或本地配置中使用 PREFERRED_VERSION_<recipe> = <version>