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
(配方修订)发生变化时重建包。
在您的配方中,由于使用了 AUTOREV
,SRCREV
会自动更改,但它未包含在 PV
中,因此配方不会重建,因为缓存已经包含 PV
.
的构建
您需要在PV
中包含SRCPV
(源版本),例如:
PV = "1.0+git${SRCPV}"
有关这方面的更多详细信息,请参阅文档中的“Automatically Incrementing a Package Version Number”。
我正在使用 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
(配方修订)发生变化时重建包。
在您的配方中,由于使用了 AUTOREV
,SRCREV
会自动更改,但它未包含在 PV
中,因此配方不会重建,因为缓存已经包含 PV
.
您需要在PV
中包含SRCPV
(源版本),例如:
PV = "1.0+git${SRCPV}"
有关这方面的更多详细信息,请参阅文档中的“Automatically Incrementing a Package Version Number”。