Bug 13030 - Add sstate hash equivalence support
Summary: Add sstate hash equivalence support
Status: RESOLVED FIXED
Alias: None
Product: BitBake
Classification: Build System, Metadata & Runtime
Component: bitbake (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium+ enhancement
Target Milestone: 2.7 M2
Assignee: Joshua Watt
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2018-11-19 22:48 UTC by Joshua Watt
Modified: 2019-05-22 21:13 UTC (History)
6 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Yes (doc changes required)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Watt 2018-11-19 22:48:56 UTC
Implement support for sstate hash equivalence. In a broad overview, this allows bitbake to query a server to determine if a given taskhash is equivalent to some other sstate object, effectively allowing it to skip executing that task and instead restore from the know sstate object. This is particularly useful when trivial changes are made to a recipe that aren't going to actual change the generated output.

This is also the first step toward facilitating features that allow users to "lock" a task so that bitbake *won't* build dependent tasks even if they are rebuilt (e.g. for trivial rebuilds of GCC).
Comment 1 Joshua Watt 2019-02-14 16:26:15 UTC
The initial implementation of this is complete. New bugs will be opened for the additional features.
Comment 2 Bill Mills 2019-05-22 20:57:04 UTC
This is marked resolved but I could not find a commit(s) in poky master that looked like an implementation.  Where should I be looking?  I have looked a couple of times; sorry if I am missing it.

Thanks.
Bill
Comment 3 Joshua Watt 2019-05-22 21:13:08 UTC
This will catch most of them:

 git log --author="Joshua Watt" --after="Dec 2 2018 00:00" --before="Jan 31 2019 00:00

and 

 3d19803cbd0 ("bitbake.conf: Account for older versions of bitbake")

Sorry, I wasn't very good about tagging the commits with the bug (and I think the bug was created after I had done most of the work).