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.
