首页 > 解决方案 > 分别使用 BitBake 构建依赖包

问题描述

我们有一系列相关且部分相互依赖的包。它们位于不同的 Git 存储库中。喜欢:

这些包当前是通过设置 Yocto 环境构建的,检查所有这些包并bitbake使用依赖于所有这些包的图像目标运行。结帐是使用包含特殊逻辑的逻辑完成的。那是

git clone https://git.yoctoproject.org/git/poky
git clone -b $BRANCH git@bitbucket.company:common
git clone -b $BRANCH git@bitbucket.company:libfoo
git clone -b $BRANCH git@bitbucket.company:libbar
git clone -b $BRANCH git@bitbucket.company:libbarex
git clone -b $BRANCH git@bitbucket.company:daemon
. poky/oe-init-build-env
../common/add-layers.sh
bitbake final-image

缺点是 CI 服务器不了解配置管理方面的事情,所以它不能做诸如构建每个 pull-request 之类的事情,更不用说将它报告给 Git 存储库管理器来关闭它上面的 pull-requests .

所以我想开始拆分构建以分别构建每个包,根据需要更新的一些规范拉取依赖项。

但是我该怎么做呢?

我可以加

bitbake -c populate_sdk final-image

到主构建,然后使用 SDK 构建各个组件。然而,这意味着common在我可以 build 之前必须合并任何更改,并重新构建 SDK libfoolibbar或者在我可以 build 之前必须合并daemon更改。libbarlibbarex

我是否可以将这些增量构建的结果推送到某种存储库并将它们拉回以构建依赖组件而无需重新构建 SDK?

标签: continuous-integrationyoctobitbakeopenembedded

解决方案


推荐阅读