0

我正在尝试使用 Yocto ( fido) 的 PR 服务,但每次我在我的食谱上启动 bitbake 时,包都会得到${PR}=r0.

本地配置文件

INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
PRSERV_HOST = "localhost:0"

食谱.bb

SRCREV = "${AUTOREV}"
BPV = "1.1.0"
PV = "${BPV}+gitr${SRCPV}"  # I know, I should use a tag instead.
SRC_BRANCH = "master"
SRC_URI = "xxx.git;protocol=ssh;branch=${SRC_BRANCH}"

这将生成一个名为 的包xxx_1.1.0+gitrAUTOINC+e7de1c757a-r0.0

我期待得到

  • 构建 #1

    • xxx_1.1.0+gitr0+e7de1c757a-r0.0
  • 构建 #2

    • xxx_1.1.0+gitr1+e7de1c757a-r1.0
  • 等等...

我想使用 PR 作为内部版本号。得到类似"1.1.0.453 Where " major . minor . revision . build-number "的东西

我在这里看到两个问题:

  1. 即使我更改配方或项目源代码,PR 也不会增加。

  2. 包的名称不是我所期望的。为什么之前有一个“r0” git,为什么修订版是“r0.0”而不是“r0”?

此致,

4

1 回答 1

3

预计不会增加 PR,它会在 EXTENDPRAUTO 上增加(在 PR 之后在 PKGR 中使用)。

并且它还用于 SRCPV 以在 git 散列前面始终增加数字(每次散列更改为 PRSERV 未在此配方中看到的内容,然后它将返回 max+1)。

而且您不应该在 SRCREV 中使用标签,因为 bitbake 将始终针对远程 git 存储库运行 git ls-remote 以将标签名称转换为 git sha (当您无法连接到 git 存储库时,例如从 VPN 断开连接时,它会中断,并且也显着减慢配方的解析)。

于 2019-04-05T20:40:47.173 回答