如何在配方中重新排序bitbake任务

时间:2014-04-23 00:14:36

标签: openembedded bitbake

我正在使用bitbake(在Yocto内),我有一种情况需要使用'autotools',但我需要运行:

do_patch 

后的

do_configure

我尝试过很多东西,却无法做到这一点。它主要抱怨“循环依赖”(可能在合理范围内)

理想情况下,我希望看到类似的内容:

rmtask do_patch
addtask do_patch after do_configure before do_compile

movetask do_patch after do_configure

可悲的是,似乎没有'rmtask'或'deltask'或'movetask'关键字。

任何重新订购默认任务的技巧都将受到赞赏!

谢谢!

2 个答案:

答案 0 :(得分:0)

两个建议:

  1. 如果您要做的是在do_configure期间修补生成文件,我建议您修改configure.ac和/或Makefile.am文件。这样,升级yocto版本会更容易。
  2. 使用addtask添加新任务,然后只需调用patch命令即可​​。有关示例,请参阅pkgconfig配方。

答案 1 :(得分:0)

另一个建议:删除补丁程序任务,并创建一个功能完全相同的新补丁程序任务,并将其添加到应执行的位置。

deltask do_patch
python do_patch_new () {
    bb.build.exec_func('patch_do_patch', d)
}

addtask do_patch_new after do_configure before do_compile

注意: 通过检查do_patch找到了原始的bitbake -e the_recipe任务:

python do_patch () {
    bb.build.exec_func('patch_do_patch', d)
}

如果以此方式完成,显然原始的修补任务将消失,并且无法修补任何原始获取的源。创建其他修补程序任务时,此操作将无效。