【问题标题】:Yocto packagegroup installYocto 包组安装
【发布时间】:2020-01-23 13:44:50
【问题描述】:

我有多个配方,我想将它们分组到一个包组中,以便在图像中更轻松地安装这些配方。

我创建了以下文件:sources/meta-test/recipes-lib/packagegroups/packagegroup-lib.bb

DESCRIPTION = "Libraries package group"
LICENCE = "CLOSED"
SUMMARY = "Package group of all libraries recipes"

PACKAGE_ARCH = "${MACHINE_ARCH}"

inherit packagegroup

RDEPENDS_{PN} = " \
    exception \
    logger \
"

然后在我的 build/conf/local.conf 中,我安装我的包组: IMAGE_INSTALL_append = " packagegroup-lib"

bitbake -c cleansstate packagegroup-lib
bitbake -c clean fsl-image-machine-test
bitbake packagegroup-lib
bitbake fsl-image-machine-test

我刷新了映像,但在启动映像后找不到(软件包组的)已安装软件包。在 tmp 文件夹中,我可以在正确的位置找到库: ./tmp/sysroots-components/cortexa7hf-neon/logger/usr/lib/libLogger.so

【问题讨论】:

  • 老实说,它看起来不错。我唯一看到的是在 conf/local.conf 中使用了 IMAGE_INSTALL。您可以尝试改用 CORE_IMAGE_EXTRA_INSTALL 看看是否可以解决问题吗?无论如何,您很可能需要以某种方式将此包添加到图像配方中。您也可以在图像配方上使用 bbappend,因此为 fsl-image-machine-test 创建一个并在那里添加您的 IMAGE_INSTALL(或 CORE_IMAGE_EXTRA_INSTALL)。在 conf/local.conf 中尽量少放一些东西。
  • 想一想,名为“logger”的包是否包含lib?有时包会自动重命名为例如liblogger* 如果它只包含一个共享库。检查 packages-split 目录以查看哪些文件最终位于哪些包中,请查看 tmp/work/cortexa7hf-neon/logger//packages-split/。
  • @qschulz 我尝试在包组的配方中创建IMAGE_INSTALL(稍后使用 CORE_IMAGE_EXTRA_INSTALL)。我最终得到相同的结果
  • @ErikBotö 库似乎在 packages-split 文件夹中的正确位置
  • @bacara, IMAGE_INSTALL 必须添加到 image 配方中(在这种情况下 fsl-image-machine-test.bb 或此图像配方的 bbappend 中)和不是“正常配方”(创建包)。正如变量名告诉我们的,这是为了在 image 中安装包,所以它的位置在 image 配方中。请看一下@ErikBotö 建议的答案,我很确定他正确地发现了上面 sn-p 中所犯的错误。

标签: installation yocto recipe


【解决方案1】:

直到我在本地尝试了您的 packagegroup-lib.bb 配方后才发现一个小错字,并注意到 RDEPENDS 行不起作用。解析时不会失败,只是RDEPENDS设置不正确。

上面写着RDEPENDS_{PN},但应该写着RDEPENDS_${PN}

【讨论】:

  • 确实!谢谢你。当出现这样的问题时,我总是对 bitbake 感到困惑,它并不能告诉我出了什么问题。
猜你喜欢
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 2016-07-01
相关资源
最近更新 更多