对于给定的例子:
现有食谱: [some-yocto-upstream-thing_1.0.bb]
do_configure_prepend () {
<necessary logic>
}
BBCLASSEXTEND = "native nativesdk"
我正在为这个配方创建一个bbappend,它需要在调用do_configure_prepend之前调用我编写的函数。但我只想要这个函数调用class-target而不是class-native build。
我可以创建一个do_configure_prepend_class-target,但会覆盖配方版本(在类目标构建期间)。但是现有的所需逻辑将无法运行。
我可以在do_configure_prepend(通过addtask)之前创建一个要调用的自定义任务,但是这也是为class-native调用的(不需要的)。
有什么想法吗?我宁愿避免重写早期的内置任务(do_patch等),因为上游配方最终可能会定义一个,我会打破它。
答案 0 :(得分:2)
不,使用
do_configure_prepend_class-target () {
<necessary logic>
}
应该有效。对于class-target
,do_configure
将由您的代码添加。
这种带覆盖的前置的一个例子是OE-Core/go.inc。