Yocto SRC_URI 需要斜线 '/' 但 Git 回购路径有冒号 ':'

Yocto SRC_URI needs slash '/' but Git repo path has colon ':'

我试图在我的 Yocto 食谱中指定 SRC_URI,但必要的冒号是非法的。 来自 shell:

git clone git@bitbucket.org:mycompany/myrepo.git    # WORKS
git clone git@bitbucket.org/mycompany/myrepo.git    # DOES NOT WORK

但是 Yocto 配方语法不接受 ':' 并要求我用 '/' 替换它,并且与 shell 命令一样,它失败了。

在我的食谱中 -

SRC_URI?= "git://git@bitbucket.org:mycompany/myrepo.git;protocol=git;branch=mybranch"

导致构建立即失败并出现 python 错误,影响 -

poky/meta/classes/base.bbclass
  uri = bb.fetch.URI(uri_string)
  self.port = urlp.port
    port = int(port, 10)
    Port could not be cast to integer value as 'mycompany'

一个这个(用 / 代替 :) -

SRC_URI?= "git://git@bitbucket.org/mycompany/myrepo.git;protocol=git;branch=mybranch"

失败 -

ERROR: linux-socfpga-lts-5.4.124-lts+gitAUTOINC+d4d238db6e-r0 do_fetch: Fetcher failure for URL: 
'git://git@bitbucket.org/mycompany/myrepo.git;protocol=git;branch=mybranch'. Unable to fetch URL from any source.

我也尝试过不带“git@”部分的 SRC_URI 定义,以及协议=http。没有任何组合奏效。 如何解决 Bitbucket 存储库和 Bitbake 之间不兼容的 URL 语法?

ElpieKay 用适当的 link 来解释选项。这对我有用:

SRC_URI = "git://git@bitbucket.org/mycompany/myrepo.git;protocol=ssh;branch=mtbranch;"