On 22/09/17 15:00, Mike Looijmans wrote:
I think this remark in the referenced link is the best summary of "what could be improved":

"""the biggest weakness of the sstate signature bits, in my opinion, is that it only tracks inputs, not outputs. If task A depends on B, and the metadata input to B changes, then A will be rebuilt, even if the *output* of B didn't change as a result of the change to its metadata."""

For example, if someone fixes a bug in gcc that only applies to MIPS, then builds that only target an ARM machine shouldn't be affected. Much worse than that, I have a dependency like:
gcc -> ... -> python -> bitstream tool -> FPGA image

so this means that a change in gcc causes Python to rebuild, which causes the bitstream tool to be rebuilt and produce idential output, and that triggers a roughly 31-hour build of lots of FPGA images. These are the ones we really want to break. A binary output compare would help a lot, even if 80% of the libraries fail to create reproducible output, I may still be spared those 31 hours...

I think tracking digital output is technically feasible, and won't require any change to existing recipes.

Also think about "feed" setups. When I see my settop reporting "331 packages need updating"... It'd be great if that could be avoided.


That's what packagefeed-stability.bbclass is for. Work on binary reproducibility will improve things here too.

Joshua
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to