我在 Bitbake 配方中获取 HG/Mercurial 存储库时遇到问题。
- 无法获取日志中报告的源网址
- 使用 env hg clone repo_url 进行测试效果良好
- 带有 hg://和 http:// header 的测试集
最佳答案
SRC_URI 的正确格式是:
SRCREV = "tip"
SRCMODULE = "myapp"
SRC_URI = "hg://hg_server_url;rev=${SRCREV};protocol=http;branch=${SRCBRANCH};module=${SRCMODULE}"
关键是 hg_server_url 不应包含目标存储库子名,而应将其包含为 SRCMODULE ! 另外,您也可以根据 git repo 不使用 AUTOREV 来提取最新提交,而是 SRCREV = "tip"
编辑:工作 100% 小费
由于 bitbake 类的逻辑和 Mercurial 存储库的性质,上述语句应该有效,但只能运行一次。正是这种方式导致当 bitbake 检查缓存文件时,它发现“tip”已经在缓存中,而不是 git 的 HEAD 被转换为 uniq 哈希。 为了避免这种行为,我们应该在获取 hg repo 时完全避免(Mercurial repo)缓存。这很简单,如食谱中所示:
do_install[nostamp] = "1"
这样,bitbake 总是认为该配方是第一次执行。我们不使用缓存,但始终获得最新的存储库提交。
关于mercurial - 从 Mercurial 存储库获取 Bitbake 配方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69523713/