从 Yocto 配方中的多个来源获取 git 存储库

从 Yocto 配方中的多个来源获取 git 存储库

我正在尝试从 Yocto 配方中的多个 git 存储库中检索源。我用了

SRC_URI = "git://<git_repo_uri>;protocol=ssh;rev=<revision> \
           git://<git_repo_uri>;protocol=ssh;rev=<revision> \
           file://<some file to grab>"

但它报告错误,找不到 {WORKDIR}/git 文件夹。

ROR: Function failed: Fetcher failure: Fetch command failed with exit code 128, output:
| shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
| shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
| fatal: Could not get current working directory: No such file or directory

看起来 fetcher 下载第一个 git 存储库后,它会删除 {WORKDIR}/git 中的内容以准备下载第二个 git 存储库。从而产生“未找到目录”错误。

我测试过,如果只有 1 个 git repo + 文件协议获取器可以正确执行。

知道如何从多个 git 存储库获取源代码吗?

谢谢!

答案1

我遇到了完全相同的问题,发现 subdir 和 name 不起作用,但destsuffix=<somename>有效。据我所知,这没有记录,但可以从 bitbake 获取代码中理解。像airfishey这样的例子:

SRC_URI = "git://<git_repo_uri>;protocol=ssh;rev=<revision>;destsuffix=first_repo \
           git://<git_repo_uri>;protocol=ssh;rev=<revision>;destsuffix=second_repo \
           file://<some file to grab>"

答案2

您是否尝试过添加subdir=到您的 git 行中?

像这样的东西吗?

SRC_URI = "git://<git_repo_uri>;protocol=ssh;rev=<revision>;subdir=first_repo \
           git://<git_repo_uri>;protocol=ssh;rev=<revision>;subdir=second_repo \
           file://<some file to grab>"

似乎在某个时候针对此功能提交了一个错误(https://bugzilla.yoctoproject.org/show_bug.cgi?id=6562),因此您的里程可能会根据您使用的 Yocto 版本而有所不同。

相关内容