3

我在 Yocto Project 的 poky 中有一个自定义内核配方。我将它与 dylan-9.0.0(1.4.0 发行版)版本一起使用,效果很好。

编辑:我目前正在使用的新版本:daisy with 1.6.1 distro version。

现在我改为菊花,git fetcher 找不到标签。

日志:

调试:Python 函数 base_do_fetch 完成 | 调试:Python 函数 do_fetch 完成 | 错误:函数失败:URL 的提取器失败:'git://git.myserver.com/custom-linux;protocol=git;tag=1.8'。命令 git ls-remote git://git.myserver.com/custom-linux refs/heads/1.8 refs/tags/1.8^{} 意外给出空输出错误:任务 70 (/opt/poky/meta-mine/ recipes-kernel/linux/linux-custom_1.8.bb, do_fetch) 失败,退出代码为 '1'

git ls-remote git://git.myserver.com/custom-linux refs/heads/1.8 refs/tags/1.8^{} 确实给出了从命令行调用的空输出,但如果我这样做git ls-remote git://git.myserver.com/custom-linux refs/heads/1.8 refs/tags/1.8 ,它会返回我正在寻找的标签。

所以...问题是^{}在 URL 的末尾。我猜它与以前的版本以不同的方式工作。

你有什么想法我该如何解决?

4

1 回答 1

3

我最终为此使用的解决方案是确保我们创建并打算通过 yocto 获取的所有标签都是带注释的标签。当您创建一个非注释标签时,它不会在 refs/tags/ (即 ^{} 版本)中添加引用指针,并且因为 yocto fetcher 正在寻找该取消引用版本,所以它失败了。当您创建一个带注释的标签时,它会自动为您创建该版本并且它会被找到。

于 2014-11-20T19:48:17.130 回答