首页 > 解决方案 > 如何有条件地在 Yocto 中包含 .bbappend

问题描述

我们有一个针对两个硬件平台的 Yocto 构建。由于芯片供应商的依赖性,其中之一需要在 Rocko 上构建。另一个在邓菲尔。

在 Rocko 上,docker 包仅称为 docker,但在 Dunfell 上,它称为 docker-ce,并且每个线程还需要一个 .bbappend:

https://github.com/Xilinx/meta-virtualization/issues/4

我的代码为 Rocko 构建引入了“docker”,为 Dunfell 构建引入了“docker-ce”:

DEPENDS += "${@bb.utils.contains('ROCKO_P', 'true', ' docker', ' docker-ce', d)}"
RDEPENDS_${PN} += "${@bb.utils.contains('ROCKO_P', 'true', ' docker', ' docker-ce', d)}"

由于我已将 docker-ce 所需的 .bbappend 添加到我的源代码存储库中,因此我的 Rocko 构建现在抱怨它:

ERROR: No recipes available for:
  /home/aramf/images/newrocko/build/../sources/meta-hydra/recipes-containers/docker/docker-ce_%.bbappend

有没有办法告诉 Yocto 只有在满足某些条件时才包含这个 .bbappend 文件?

标签: dockeryoctobitbake

解决方案


推荐阅读