从 Mercurial 回购中获取的 Bitbake 配方

Bitbake recipe to fetch from Mercurial repo

我在 Bitbake 配方中获取 HG/Mercurial 回购时遇到问题。

SRC_URI的正确格式是:

SRCREV = "tip"
SRCMODULE = "myapp"
SRC_URI = "hg://hg_server_url;rev=${SRCREV};protocol=http;branch=${SRCBRANCH};module=${SRCMODULE}"

关键是 hg_server_url 不应该包含目标 repo 子名,而是将其包含为 SRCMODULE! 您也可以根据 git 回购但不使用 AUTOREV 提取最新提交,但 SRCREV = "tip"

编辑:工作 100% 小费

由于 bitbake 的逻辑 类 和 Mercurial repo 的性质,上面的语句应该有效,但只能执行一次。这是因为当 bitbake 检查缓存文件时,它发现“提示”已经在缓存中,而不是 git 的 HEAD 被翻译成 uniq 哈希。 为了避免这种行为,我们应该在获取 hg repo 时完全避免(Mercurial repo)缓存。这很简单,如食谱所示:

do_install[nostamp] = "1"

这样 bitbake 总是认为配方是第一次执行。我们不使用缓存,但始终获取最新的回购提交。