BitBake:强制执行一个配方中的任务以及其后续所有任务

11
我想强制重新编译一个包,就像这样:
bitbake -f -c compile mypackage

然而,我希望所有后续任务都能被执行(如installpackage等),就像我从完全干净的状态下调用bitbake mypackage一样。这可以在一个步骤中完成,而不是以下两个步骤吗?

bitbake -f -c compile mypackage
bitbake mypackage

作为另一种解决方案,我能否以某种方式“污染”编译任务,使得执行bitbake mypackage从编译开始直到结束?
1个回答

16

这正是 -C 的作用:

bitbake -C compile mypackage

这将运行mypackage:do_build并强制执行mypackage:do_compile。严格来说,它会污染mypackage:do_compile(使其必须执行),然后执行mypackage:do_build,这正是您想要的。


1
在这方面,“tainting”是什么意思? - CivFan
污染或弄脏(某物)。将其标记为“脏”,这意味着必须重新执行。 - Ross Burton
@RossBurton - 我可以对mypackage:do_install任务做同样的操作吗?意思是,比如说第一次通过执行bitbake mypackage来构建整个软件包。然后我(手动)修改了do_install任务的实现,例如,它将删除(rm -f)一些mypacakge安装在最终镜像根文件系统中的文件。我可以对do_install这个任务这样做吗?是不是应该使用bitbake -C install mypackage命令来实现? - Guy Avraham
是的,但如果你改变了配方,那么只需要运行bitbake mypackage就可以了。 - Ross Burton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接