如何配置Yocto以使用最新的Git提交?

16

我是一个非常懒惰的人。在开发硬件/软件项目时,软件经常会发生变化。在这个开发阶段中,更改配方中的提交/版本标签非常麻烦。 我希望Yocto能够获取最新的git提交。这是否可能?如何实现? 我的示例配方:

SUMMARY = "my test"
SECTION = "test"
LICENSE = "CLOSED"

inherit cmake
SRCREV = "f9bdbd6c631f07e427c010086c7c26a95eb2924e"

SRC_URI = "gitsm://myGit/mytest;protocol=http;branch=develop"

S = "${WORKDIR}/git/"
1个回答

30

好的,设置SRCREV = "${AUTOREV}"

此外,您需要在PV中引用SRCPV以便在源代码修订更改时自动更新版本。以下是一个示例:

 PV = "1.0+git${SRCPV}"

然后它将每次构建最新的修订版本。


8
如果仓库更新,bitbake将不会重新构建软件包。您需要添加“PV =“0.1+git${SRCPV}””以启用此功能。https://www.yoctoproject.org/docs/2.5.1/dev-manual/dev-manual.html#automatically-incrementing-a-binary-package-revision-number - Jetski S-type
@JetskiS-type "如果更新了repo,bitbake将不会重新构建软件包。您必须添加PV =“0.1+git $ {SRCPV}”才能启用此功能"-这是错误的。每次解析AUTOREV时,获取器都会重新获取分支HEAD。 PV仅用于输出软件包名称版本号。*"为了自动更新版本号"*-请仔细再次阅读规范 :) - bloody
@bloody,虽然晚了点,但是你真的认为如果在不设置PV的情况下更新仓库,bitbake会重新构建软件包吗?截至我写这篇评论时,有8个人同意我的观点。在发表评论之前,你有试过吗? - Jetski S-type
@JetskiS-type 自从 Yocto ZEUS 发布以来,是的,它使用 SRCREV = "${AUTOREV}",我已经尝试过了。顺便说一下,这已经相当旧了(现在我们使用 HARDKNOTT)。"人们"显然在使用老东西。 - bloody
@血腥啊,那好知道。我在 Zeus 的发布说明中找不到它。我确实在旧版本中遇到过那个问题,但在更新 Yocto 版本之前已经相应地更新了所有的配方,所以我没有注意到(而且现在我也不主动使用它)。 - Jetski S-type

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接