我只是想了解bitbake
构建系统。我对 shell 函数/任务如何执行有疑问。我正在查看以下文档https://docs.yoctoproject.org/bitbake/
在文档的一部分中,它说 shell 脚本是由/bin/sh
.在文档的另一部分中,它说“BitBake 将 shell 脚本写入 ${T}/run.do_taskname.pid,然后执行该脚本”。
什么是run.do_taskname.pid
?它到底有什么作用?当bitbake
遇到 shell 脚本时到底会发生什么?
答案1
您可能已经读过,构建过程有如下步骤拿来,打开包装,修补,配置,编译,部署还有很多。每个步骤都作为 shell 脚本执行。
如果您查看构建文件夹,tmp/work/<system>/<package>/<version>/temp
您会发现上述脚本,例如run.do_fetch
带有和不带有点附加进程 ID 的脚本。
在平常的生活中,你根本不关心。但是,一旦您编写了自己的食谱,或者只是添加了自己的一些补丁,则.bbappend
失败并出现奇怪的消息,这可能有助于了解该步骤中实际执行的内容。
在内部,这些文件帮助构建系统跟踪任何更改后要再次执行的内容。