如何在do_deploy()之后添加任务?

h0c*_*355 2 bitbake yocto

我写了一个食谱,希望在之后执行任务do_deploy()

[...]

inherit deploy

[...]

do_deploy () {
    echo "do_deploy() has been called."
}
addtask deploy after do_compile

do_after_deploy () {
    echo "do_after_deploy() has been called."
}
addtask after_deploy after do_deploy
Run Code Online (Sandbox Code Playgroud)

当我创建配方时,do_deploy()将执行任务。然而after_deploy()任务不是。

当我手动执行任务并执行任务中bitbake my_recipe -c after_deploy的指令时。

这是什么原因呢?是do_deploy()最后一个任务,BitBake不允许我在其后添加任务吗?

Jus*_*nen 5

do_deploy()由于base.bbclass恰好使do_build(默认任务)依赖于而默认执行do_deploy

您应该能够使用以下命令默认运行新任务

addtask after_deploy after do_deploy before do_build
Run Code Online (Sandbox Code Playgroud)

  • addtask 定义了任务应该执行的顺序,它不决定是否应该执行。要运行的实际任务以向后的方式决定:“构建”是最终任务,但在构建之前必须执行构建所需的所有任务(依此类推)。因此,“在 do_build 之前”请确保示例任务确实得到执行。 (2认同)