3

我正在使用 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”关键字。

任何重新排序默认任务的技巧将不胜感激!

谢谢!

4

2 回答 2

3

两个建议:

  1. 如果您要做的是修补do_configure 期间生成的文件,我建议您修复 configure.ac 和/或 Makefile.am 文件。这样,当您升级 yocto 版本时会更容易。
  2. 添加一个新任务,addtask然后调用该patch命令。有关示例,请参见pkgconfig配方。
于 2014-04-28T14:30:13.003 回答
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)
}

如果这样做,显然原始的补丁任务将消失,并且无法修补任何最初获取的源。创建附加补丁任务时,这将不起作用。

于 2019-03-29T09:14:38.927 回答