2

.bbappendカスタム Yocto プロジェクト レイヤー (および別のリポジトリ) 内にファイル があります。

カスタム レイヤーに関する情報 (たとえば、カスタム リポジトリ/レイヤーの git など) を、これが.bbappend変更するファイル内に配置したいと考えています。

これから実行されるコマンドは、追加先のファイル.bbappendから実行されるかのように実行されます (推奨されるように、別のレイヤーとレポにあります)。.bb.bb

一部のドキュメントでは、「この行の解析時に展開される」「即時変数展開」であると書かれていますVAR := "stuff ${OTHER_VAR} more"。残念ながら、解析の前に追加が行われるようです。

の区画化された側面が好きですが、それ自体.bbappendを参照する方法が見つからない.bbappendか、元のレイヤーから git 情報を取得する他の方法があるかどうかはわかりません。何かご意見は?

4

1 に答える 1

2

次のデモを使用して、即時拡張を実演できます。標準の Yocto プロジェクト リファレンス セットアップの一部として出荷される meta-yocto/recipes-core/busybox/busybox_%.bbappend を編集し、以下を追加します。

SOMEVAR := "${@bb.warn("${FILE}")}"

その後、「bitbake -p」を実行してメタデータを再解析すると、次のように表示されます。

警告: /meta-yocto/recipes-core/busybox/busybox_%.bbappend

ファイルが解析されたときに実行されたことを示しています。これが、次のようなトリックが見られる理由です。

FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:

そのbbappendにもあります。これにより、そのレイヤーのディレクトリがファイルの検索パスに追加され、レイヤーからのメイン レシピをオーバーライドできます。

于 2016-01-21T19:41:09.623 に答える