を上書きせずに追加bbappend条件付きタスク:は、与えられた例えばレシピ機能
既存のレシピ: [some-yocto-upstream-thing_1.0.bb]
do_configure_prepend() {
<necessary logic>
}
BBCLASSEXTEND = "native nativesdk"
私が作成していますdo_configure_prependが呼び出される前に私が書いた関数を必要とするこのレシピのbbappendが呼び出されます。しかし、私はこのクラスの目的のために呼び出され、クラスネイティブのビルドではなく、この関数が必要です。
私はdo_configure_prepend_class-targetを作成できますが、これはレシピバージョンを上書きします(クラスターゲットビルド中)。しかし、既存の必要なロジックは実行されません。
do_configure_prependの前に(addtaskを介して)呼び出されるカスタムタスクを作成することもできますが、これもclass-native(不要)として呼び出されます。
アイデア?私は上流のレシピが最終的に1つを定義することができ、私はそれを壊すだろうので、以前の組込みタスク(do_patchなど)をオーバーライドするのを避けるほうがよいでしょう。
しかし、既存のyocto do_configure_prependは、ターゲットビルド中にdo_configure_prepend_class-targetに置き換えているので、呼び出されません。これにより、が実行されなくなります。明確にするために、 "<必須論理>"がヨーコのレシピにあります。私が導入している機能には、実行する必要がある追加ロジックが含まれています。あなたの例では、そのようなことを混乱させます。 –
いいえ、レシピに複数の '_prepend'を持つことができます。それらはすべて適用されます。 – Anders
逆の場合は、 'do_configure_class-target_prepend'を実行すると問題が発生します。これは '_class-target'以外の値を取り消します。 – Anders