web-dev-qa-db-ja.com

Bitbakeランタイムとビルドの依存関係

ビットベイクのレシピを理解できません。 (私は変更する必要のある不十分な記述があります。私は通常、全体のメカニズムを読んで理解しますが、悲しいことに私はタイトなスケジュールにいます)。 RDEPENDSとDEPENDSの違いを教えてください。私はリファレンスを読んで、それぞれランタイム依存関係とビルド依存関係を表していることを知っていますが、ビットベイクレシピでそれに対する影響は何ですか?私が理解している限り、パッケージAが別のBに依存している場合、Bをビルドして、Aがビルドできるようにする必要があります。 Bitbakeはランタイムとは関係ありません。パッケージをビルドおよびデプロイするためだけにあります。違いは何ですか?

24
lulijeta

あなたが言うように、bitbakeはおよびデプロイパッケージの構築に関係しており、deployruntime依存関係を満たすために必要なすべてのパッケージが必要ですターゲットシステム上。

レシピがそのターゲットを示している場合[〜#〜] t [〜#〜]DEPENDSターゲットについて[〜#〜] p [〜#〜] =、それはビルドする必要があることをbitbakeに伝えます[〜#〜] p [〜#〜][〜#〜] t [〜#〜]、なぜなら- [〜#〜] t [〜#〜][〜#〜] p [〜#〜]なしでbuiltにすることはできません。

あなたのレシピが[〜#〜] t [〜#〜]RDEPENDS on [〜#〜] p [〜#〜]と言う場合、それは[〜#〜] p [〜#〜]をデプロイする場合、ターゲットシステムにデプロイする必要があることをbitbakeに伝えます[〜#〜] t [〜#〜][〜#〜] t [〜#〜]sedにできないため[〜#〜] p [〜#〜]なし。

たとえば、Cコンパイラなしではtarをビルドできませんが、tarを使用するためにCコンパイラは必要ありません。 Cコンパイラをデプロイせずにtarをデプロイできます。これがDEPENDです。

一方、ランタイムCライブラリがないと、tarを使用できません。 tarをデプロイする場合は、ランタイムCライブラリもデプロイする必要があります。これがRDEPENDです。

Bitakeの技術は次のとおりです。

  • [〜#〜] t [〜#〜]DEPENDS on [〜#〜] p [〜#〜]の場合[ 〜#〜] t [〜#〜]do_configureタスクを依存するように作成[〜#〜] p [〜#〜]do_populate_sysroot 仕事。

  • [〜#〜] t [〜#〜]RDEPENDS on [〜#〜] p [〜#〜]の場合[ 〜#〜] t [〜#〜]do_buildタスクに依存するように作成[〜#〜] p [〜#〜]do_package_write 仕事。

44
Mike Kinghan