如何在 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。
我有一个新的元层,其中包含许多获取和构建专有包的方法。在我这边,所有这些包的源代码都托管在 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。