2017-05-04 1 views
1

私はyoctoを使ってシステムイメージを構築していますが、いくつかのレシピは、プライベートgitリポジトリサーバー上でホストされているソフトウェアを参照しています(repo-hostと呼ぶ)。チェックアウトはうまくいきますが、bitbakeは自分のサーバーの代わりに常にdownloads.yoctoproject.orgミラーに最初にアクセスしようとします。レシピのlog.do_fetchbitbakeが特定のホストのミラーを探すのを防ぐにはどうすればいいですか?

、この動作は、次のようなログエントリで見ることができます(匿名化ホスト名とレポ名が、残りは変更されません):

DEBUG: Fetching http://downloads.yoctoproject.org/mirror/sources/git2_repo-host.path.to.the.repo.git..tar.gz using command 
'/usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/amu/projekte/yocto/motec-yocto/build/downloads 'http://downloads.yoctoproject.org/mirror/sources/git2_repo-host.path.to.the.repo.git..tar.gz'' 

質問:がありますbitbakeを特定のホストのミラーリングメカニズムだけをグローバルに回避する方法はありますか?そうでない場合は、レシピごとにそれを行う方法はありますか?

理想的には、特定のホスト名(例:git://repo-host/...)で始まるgit URLのためにフェッチされるすべてのソースに対して、ミラーは接続されません。他のすべてのソース(カーネル、gccなど)は引き続きミラーを使用するべきです。

+0

申し訳ありませんが、詳細については明るいですが、提供される情報はこのような一般的な質問に答えるには十分であるはずです。そうでない場合、私はもちろん質問を修正します: – anderas

+0

あなたはconfファイルでダウンロードディレクトリのパスを指定することができます。ソースがダウンロードされると、yoctoのミラーを見るのではなく、常にローカルのダウンロードされたパスを参照します。 – Rajeshkumar

答えて

1

これはPREMIRRORSの機能です。表示されているURLは、おそらく使用しているディストリビューションのものです(例:poky.conf)。 PREMIRRORSの値をローカルのダウンロードサイトに設定(またはプリペンド)することができます。また、これらの外部のプレミラーが試行されていないことが重要な場合は、空の文字列を設定できます。ディストリビューション、ローカル設定、または個々のレシピでこれを実行できるはずです。

+0

ソースが私たち自身の 'repo-host'からフェッチされたすべてのレシピに対して、' PREMIRRORS = "" 'を自動的に行うようにbitbakeを設定する方法はありませんか?独自のソフトウェア用にミラーを無効にしたいので、それぞれのレシピで変数を設定しようとします。後で試して、より良い方法がない場合は受け入れます:-) – anderas

+0

ディストリビューション全体の最初のプレミラーとして、自分のプレミラーを追加する際の問題は何ですか? – jku

+0

すべての元のレシピの元の設定を保持しますが、自分のソフトウェアをyoctoproject premirrorから取得せず、自分のミラーリングインフラストラクチャを設定しないでください。 'PREMIRRORS =" "'単にすべてのレシピのミラーリングを無効にし、別のプレミラーを追加することは、私たち自身のソフトウェアのプレミラーを避けないでしょうか? – anderas

関連する問題