2017-06-21 365 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。

相關問題