You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@buildstream.apache.org by Tomaz Canabrava <tc...@kde.org> on 2020/09/02 11:25:19 UTC

Experimental Script to check for bit by bit reproducibility on FreeDesktop SDK

Hello,

I'v implemented a second attempt on checking bit a bit reproducibility using
buildstream 1.5 and diffoscope, the result script is still not merged but
on a personal branch at gitlab.com:freedesktop-sdk/freedesktop-sdk.git
branch
tcanabrava/diffoscope.

The script uses the cache and builds every direct build dependency of the
main element, and compare (for each build dependency), the old cache vs the
new one.

It's important to note that buildstream is not really helping, I had to dig
deep on buildstream knowledge, like deleting the artifacts so I could build
again
by going to ~/.cache/buildstream/ref/ finding the correct ref and deleting
it,
or disabling internet for the whole script via "unshare"

Something that I consider too much for a 3rd party script to do.
main things that I'v missed on buildstream:

- A Way to delete cached elements
- A Way to force a build to be local (not using remote cache)
- bst pull --deps none | all | build | run
- bst build --no-artifact-cache / --local-build

Things that are not intuitive / specially comming from git:
- bst fetch vs bst pull: both are downloading data
- bst checkout: moves data (maybe export?)
- missing bst delete --artifact / --element

I ask for review on this script, even if it's not really buildstream
material yet
because my plan is to move to buildstream one day.