【发布时间】:2014-08-25 19:57:53
【问题描述】:
我在 Yocto Project 的 poky 中有一个自定义内核配方。我将它与 dylan-9.0.0 (1.4.0 distro) 版本一起使用,效果很好。
编辑:我目前使用的新版本:daisy 1.6.1 发行版。
现在我换成daisy了,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 末尾的 ^{}。我猜它的工作方式与以前的版本不同。
您有什么想法可以解决吗?
【问题讨论】:
-
嗯...是的,它是相关的,但这并不是我问题的真正答案。它澄清了 ^{} 是什么,但我仍然不知道为什么如果我有一个简单的 1.8 标签还不够。
-
我可以这样解决:我从 SRC_URI 中删除了 tag=1.8 并在我的配方中使用提交标识符哈希定义了 SRCREV 变量,并且我必须将 branch=mybranch 附加到 SRC_URI 变量的末尾。这样可以完美运行,但我不会说这是一个很好的解决方案。
-
@Attila_Horvath 太棒了!您应该将此作为答案发布,以便其他人将此视为已解决。