Yocto - 每次构建图像​​时清理源

Yocto - clean up sources every time you build an image

我正在使用 Linux 构建的 Yocto,我的应用程序在 运行 上。有几次,在重建映像后,我的应用程序出现了旧版本。现在,在每次构建图像​​之前,我都会在控制台中调用 bitbake my_recipe -c cleanall。有没有什么方法可以强制 cleanall.bb 文件中使用我的应用程序的配方?

编辑: 这是我的食谱。当我测试我的新分支时,我使用 SRCREV = "${AUTOREV}",当我准备一些稳定版本时,我为变量 SRCREV.

设置了适当的提交散列
DESCRIPTION = "Description"
LICENSE="CLOSED"

DEPENDS += "util-linux openssl"

#SRCREV = "last_commit_hash"
SRCREV = "${AUTOREV}"
SRC_URI = "git://path_to_github_repo;protocol=ssh;branch=my_test_branch\
          \     
          "
inherit cmake

Bitbake 只会在 PV(包版本)或 PR(配方修订)发生变化时重建包。

在您的配方中,由于使用了 AUTOREVSRCREV 会自动更改,但它未包含在 PV 中,因此配方不会重建,因为缓存已经包含 PV.

的构建

您需要在PV中包含SRCPV(源版本),例如:

PV = "1.0+git${SRCPV}"

有关这方面的更多详细信息,请参阅文档中的“Automatically Incrementing a Package Version Number”。