Hi,
my https://github.com/bmwiedemann/reproducible-faketools now landed in
https://build.opensuse.org/package/show/openSUSE:Factory/reproducible-faketools
It is slightly specific to rpmbuild, but in principle could be adapted
to other build tools.
It allows to influence some rb-relevant aspects of a package build by
pulling in an extra package such as in
https://build.opensuse.org/projects/home:bmwiedemann:reproducible:rebuild/prjconf
There the extra reproducible-faketools-j1 causes a build to run in a
`taskset 1` wrapper to find race-conditions in the diff.
Here is the original announcement on the openSUSE dev ML:
-------- Forwarded Message --------
Subject: new package: reproducible-faketools
Date: Thu, 11 Jul 2024 08:24:56 +0200
From: Bernhard M. Wiedemann via openSUSE Factory
<fact...@lists.opensuse.org>
Reply-To: Bernhard M. Wiedemann <bernhard...@lsmod.de>
To: fact...@lists.opensuse.org
Dear fellow Geekos,
today I am submitting reproducible-faketools to Factory.
This is not meant to be used on regular openSUSE installs, but helps
debug issues with reproducible-builds in OBS and with osc.
I have setup a small demonstration in
https://build.opensuse.org/package/show/home:bmwiedemann:reproducible:rebuild/zziplib
with some special lines in the meta prjconf.
With that you can use
for r in j1 future1y openSUSE_Factory ; do \
osc api
"/build/home:bmwiedemann:reproducible:rebuild/$r/x86_64/_repository?view=binaryversions"
|
grep libzzip; done
to check that all three builds there produced identical results.
This will soon be useful in checking reproducibility of SRs towards Factory.
The first git commit is from 2017-01-17 and the tool has continuously
evolved in the 7y since then.
This work is sponsored by the NLnet NGI0 fund.
Ciao
Bernhard M.