[OE-core] Over-pruning the sstate cache

Richard Purdie richard.purdie at linuxfoundation.org
Tue Mar 29 14:11:10 UTC 2016


On Tue, 2016-03-29 at 13:56 +0100, Mike Crowe wrote:
> 80b3974081c4a8c604e23982a6db8fb32c616058 implies that at least some
> people
> are pruning the sstate cache based on file access time.
> 
> We run incremental and nightly Jenkins jobs that build images for
> various
> targets and branches in order to keep the sstate-cache populated.
> Files are
> pruned once they haven't been accessed for a few days. This has
> worked
> reasonably well for a few years (and the script can be simplified now
> since
> the above commit.)
> 
> Recently we've found that files that are still required are being
> pruned.
> This appears to be due to a combination of improvements to oe-core to
> avoid
> unnecessary tasks and improvements to our own recipes. These have
> resulted
> in it being possible to build an image without requiring the
> populate_sysroot.tgz files if nothing has changed that needs
> building.
> 
> Is there a recommended way to ensure that all the sstate cache files
> are
> touched, even those that are not actually required to build the image
> currently due to task optimisation?
> 
> The only solution I can come up with is to invent a recursive
> "all_populate_sysroot" recrdeptask that depends on the individual
> populate_sysroot tasks and run that task for each image.
> 
> Does anyone have any better ideas?

generate the "locked-sigs" inc file (bitbake XXX -S none) and then with
a script touch all the objects listed in that file?

Cheers,

Richard



More information about the Openembedded-core mailing list