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.

Reply via email to