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

Yocto 如何在bitbake配方中设置SRC_URI,以便在git服务器URL更改时它们不需要修改?,yocto,bitbake,recipe,openembedded,Yocto,Bitbake,Recipe,Openembedded,我有一个新的元层,其中包含了一些获取和构建专有软件包的方法。在我看来,所有这些包的源代码都托管在git服务器上 配方使用git fetcher获取源,即如下所示: SRC_URI = "git://<internal-server-url>/<project> SRC_URI=“git:/// 是我的客户看不到的东西(服务器是内部的,无法从外部世界联系到) 相反,客户有自己的git服务器 SRC_URI = "git://<customer-server-url

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

配方使用git fetcher获取源,即如下所示:

SRC_URI = "git://<internal-server-url>/<project>
SRC_URI=“git:///
是我的客户看不到的东西(服务器是内部的,无法从外部世界联系到)

相反,客户有自己的git服务器

SRC_URI = "git://<customer-server-url>/<project>
SRC_URI=“git:///
是否可以在配方中使用
SRC_URI
,这样客户就不必编辑和更改SRC_URI变量中的URI


注意:使用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。

您可以在
local.conf
的变量中设置服务器URL,并在
SRC\u URI
变量中引用该URL。那么至少他们只需要在一个地方改变它。或者您可以将其默认设置为他们的服务器,然后您是唯一需要更改它的人
SRC_URI=“git://${MY_VAR}/”