2017-06-21 1 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

サーバURLを 'local.conf'の変数に設定し、' SRC_URI'変数で参照することができます。それから、少なくとも彼らは1つの場所でそれを変えなければなりません。または、サーバーにデフォルトを設定して、それを変更する必要があるのはあなただけです。 'SRC_URI =" git:// $ {MY_VAR}/ "' – EarlCrapstone

答えて

1

だけで、サーバーのURLを参照するためにあなたの層に変数を使用します。

だから、layer.confは?その後、

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

レシピの操作を行います:あなたは、エラーをスローするように本当に親切を感じている場合

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

または変数が正しく設定されていない場合

SRC_URI = "${MY_PRODUCT_GIT_SERVER}/project" 

次に、あなたがすることができますlocal.confでこれを行います:

MY_PRODUCT_GIT_SERVER="git://internal.server" 

顧客は同じことを行うが、適切なURLを使用する。

関連する問題