2017-06-21 366 views
0

我有一个新的元层,其中包含一些提取和构建专有包的食谱。在我的最后,所有这些软件包的源代码都托管在一个git服务器上。如何在bitbake食谱中设置SRC_URI,以便在git服务器URL更改时不需要修改?

食谱提取使用git的提取程序,即源,如下所示:

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

<internal-server-url>是什么,我的顾客看不到的(服务器内部,不能从外部世界达到) 。

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

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

是否有可能在以这样的方式的配方中的SRC_URI客户不必编辑和更改URI中SRC_URI变量?

P.S:使用yocto(忒)

+0

您可以在'local.conf'中的变量中设置服务器URL,并在'SRC_URI'变量中引用该变量。那么至少他们只需要在一个地方改变它。或者你可以让它默认到他们的服务器,然后你是唯一一个必须改变它的人。 'SRC_URI =“git:// $ {MY_VAR}/”' – EarlCrapstone

回答

1

只需使用一个变量在你的层指的是服务器的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。

相关问题