[OE-core] Over-pruning the sstate cache

Mike Crowe mac at mcrowe.com
Tue Mar 29 12:56:26 UTC 2016


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?

Mike.



More information about the Openembedded-core mailing list