mercurial - 从 Mercurial 存储库获取 Bitbake 配方

标签 mercurial yocto bitbake repo

我在 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/

相关文章:

windows - 安装 Mercurial Activity 扩展的问题

python - 如何修复:- libmxnet.所以:无法打开共享对象文件:没有这样的文件或目录

python - 无法在 Ubuntu 18.04.1 LTS 中从 OpenPLI 存储库创建镜像

bitbake - 如何让 Openembedded 编译 tar.gz 文件而不是 tar.xz

mercurial - 如何使用多个hg mq修补程序队列(在一个存储库中与多个子存储库中)

mercurial - 更改 Mercurial "Default"父 URL

yocto - YOOCTO食谱中的WORKDIR

linux - INITRAMFS_IMAGE_BUNDLE 上的 Yocto Warrior 和 SD 卡镜像上的 Linux 内核镜像

openembedded - Hello World Bitbake 食谱未安装在镜像中

mercurial - 我应该如何在 Mercurial 中实现版本控制?