如何强制在 Yocto 上重新编译包

How to force package to be recompiled on Yocto

TL;DR:有没有办法在每次生成图像时强制重新编译包?

我有一个带有 do_deploy_append 附加到文件的 bbappend,如果我修改此步骤,则在使用它生成图像时不会重新编译配方。这会导致很难发现的错误。 Bitbake 假设它没有改变。我只有 2 个这样的包裹,非常小。

是否有一个参数可以强制清理和重新编译那些包而无需手动执行?

我正在使用 Yocto morty

一般来说,如果你想让一个任务一直被执行,你应该在这个任务上使用[nostamp] varflag,它应该被设置为"1"。例如,如果您希望每次都重新编译配方,则应将以下行添加到包的配方中:

do_compile[nostamp] = "1"

要始终执行 do_configure 任务,您应该添加以下行:

do_configure[nostamp] = "1"

这适用于您需要始终执行的任何任务。在这里查看有关 nostamp 变量标志的更多信息:http://www.yoctoproject.org/docs/2.3.2/bitbake-user-manual/bitbake-user-manual.html