Bitbake 错误 - 没有 RPROVIDES

ogs*_*ogs 6 packages openembedded bitbake yocto

我想将应用程序拆分为多个包。基本上我只想添加另一个可以使用特定图像构建的图像。

在与我添加的应用程序关联的 .bb 文件中:

SRC_URI = " \
          ...
          file://api.conf \
          file://script.sh \
          "

PACKAGES =+ "${PN} ${PN}-tools"

FILES_${PN}-tools = "${bindir}/mrvl/tools/script.sh \
                     ${sysconfdir}/mrvl/api.conf \
                    "
Run Code Online (Sandbox Code Playgroud)

然后,我在我的 bb 图像测试中添加了以下行

IMAGE_INSTALL += " mrvl-tools"
Run Code Online (Sandbox Code Playgroud)

我正在使用命令 bitbake image-test 返回:

ERROR: Nothing RPROVIDES 'mrvl-tools' (but /home/usr/../image-test.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'mrvl-tools' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['mrvl-tools']
ERROR: Required build target 'image-test' has no buildable providers.
Missing or unbuildable dependency chain was: ['image-test', 'mrvl-tools']
Run Code Online (Sandbox Code Playgroud)

我遵循了 bluez5-obex 包的相同定义,并且 IMAGE_ISTALL += " bluez5-obex" 有效..

我忘记了什么?

Ros*_*ton 4

安德斯很接近。

首先,您的 PACKAGES 定义是错误的,您需要的只是 PACKAGES += "${PN}-tools"。

但要记住的重要一点是,FILES 是按照 PACKAGES 的顺序进行评估的,因此首先处理 ${PN},并且默认的 FILES_${PN} 包含 ${bindir} ${sysconfdir},因此 ${ bindir} 的所有内容${sysconfdir} 位于 ${PN} 中。然后它尝试处理 ${PN}-tools,但其 FILES 中的任何表达式都不与剩余的任何文件匹配,因此包是空的。

因此,要么将 FILES_${PN} 设置为您希望它包含的内容,要么使用 PACKAGE_BEFORE_PN=${PN}-tools在默认 PACKAGES 值中的 PN之前注入 PN-tools 。我保证,阅读 bitbake.conf 将有助于使这一点更加清晰。

请注意,我预计该错误是 rootfs 时间故障而不是映像构建失败,但希望这就是问题所在。