如何在 bitbake 配方中设置 SRC_URI,以便在 git 服务器 URL 更改时不需要修改它们?

How to setup SRC_URI in bitbake recipes, such that they do not need modification when the git server URL changes?

我有一个新的元层,其中包含许多获取和构建专有包的方法。在我这边,所有这些包的源代码都托管在 git 服务器上。

食谱使用 git 获取程序获取源代码,即,如下所示:

SRC_URI = "git://<internal-server-url>/<project>

<internal-server-url> 是我的客户看不到的东西(服务器是内部的,无法从外部世界访问)。

相反,客户拥有自己的 git 服务器。对于客户服务器

SRC_URI = "git://<customer-server-url>/<project>

是否可以在食谱中包含 SRC_URI,使客户不必编辑和更改 SRC_URI 变量中的 URI?

P.S:使用 yocto (Jethro)

只需在您的图层中使用一个变量来引用服务器的 URL。

所以 layer.conf 做了类似的事情?

MY_PRODUCT_GIT_SERVER ?= "git://please.set.me/"

或者,如果变量设置不正确,您真的愿意抛出错误:

MY_PRODUCT_GIT_SERVER ?= ""
python() {
    if not d.getVar("MY_PRODUCT_GIT_SERVER", True):
        bb.error("Please set MY_PRODUCT_GIT_SERVER")
}

食谱然后做:

SRC_URI = "${MY_PRODUCT_GIT_SERVER}/project"

然后你可以在 local.conf:

MY_PRODUCT_GIT_SERVER="git://internal.server"

客户也这样做,但是 URL。