如何在 Yocto 中禁用每个配方的 sstate-cache
How to disable sstate-cache per recipe in Yocto
我有一些自己编写的 yocto 食谱,这会导致 yocto sstate-cache 机制出现问题(比如当依赖项发生变化时不重建食谱)。 有没有办法在每个配方的基础上禁用 sstate 缓存?
搜索互联网我只能找到非常古老且现在已经损坏的机制:
https://patchwork.openembedded.org/patch/17039/
或仅部分禁用功能:
https://patchwork.openembedded.org/patch/130719/
我的Yocto版本是Zeus及以上
感谢和欢呼!
食谱中:
SSTATE_SKIP_CREATION = "1"
或者,从食谱之外(例如 local.conf
):
SSTATE_SKIP_CREATION_pn-recipefoo = "1"
SSTATE_SKIP_CREATION_pn-recipebar = "1"
您可以使用 oe-check-sstate
验证配方是否存在 sstate,例如:
oe-check-sstate yourimage | grep recipefoo
您可以使用以下方法删除食谱的状态:
bitbake -c cleansstate recipefoo
但是,令人担心的是您的配方干扰了 sstate 机制。确保在源代码更改时正确设置和更新包的版本和修订版。
如果您的食谱源与 Yocto 元数据一起存储,请考虑 using externalsrc
to reference it,让 Yocto 更好地跟踪更改。
我有一些自己编写的 yocto 食谱,这会导致 yocto sstate-cache 机制出现问题(比如当依赖项发生变化时不重建食谱)。 有没有办法在每个配方的基础上禁用 sstate 缓存?
搜索互联网我只能找到非常古老且现在已经损坏的机制:
https://patchwork.openembedded.org/patch/17039/
或仅部分禁用功能:
https://patchwork.openembedded.org/patch/130719/
我的Yocto版本是Zeus及以上
感谢和欢呼!
食谱中:
SSTATE_SKIP_CREATION = "1"
或者,从食谱之外(例如 local.conf
):
SSTATE_SKIP_CREATION_pn-recipefoo = "1"
SSTATE_SKIP_CREATION_pn-recipebar = "1"
您可以使用 oe-check-sstate
验证配方是否存在 sstate,例如:
oe-check-sstate yourimage | grep recipefoo
您可以使用以下方法删除食谱的状态:
bitbake -c cleansstate recipefoo
但是,令人担心的是您的配方干扰了 sstate 机制。确保在源代码更改时正确设置和更新包的版本和修订版。
如果您的食谱源与 Yocto 元数据一起存储,请考虑 using externalsrc
to reference it,让 Yocto 更好地跟踪更改。