[opensuse-factory] openSUSE reproducible build test results
Hi, For https://reproducible-builds.org/ I just finished rebuilding all of openSUSE:Factory again. Using the common approach of double-build with variations in date+time+hostname implemented in my "rebuildmany" / rb4 script in the reproducibleopensuse repo. https://www.zq1.de/~bernhard/linux/reproducibleopensuse/compare.factory-2017... contains all resulting diffs (after our build-compare filters) This was setting SOURCE_DATE_EPOCH and using 'osc build' that normalizes UID, umask, build path, locale, TZ etc my rbstats scripts summarized the results thus: total-packages: 9918 build-tried: 9918 build-failed: 1025 build-n-a: 63 build-succeeded: 8830 build-official-failed: 45 # also failed in OBS build-compare-failed: 598 build-compare-succeeded: 8232 bit-by-bit-identical: 0 so still plenty of work to do, even before we start reducing the filters in build-compare if you are maintaining a package in Factory, you can have a look at the diffs above and see if you can figure out how to avoid that diff or look at https://www.zq1.de/~bernhard/linux/reproducibleopensuse/compare.factory-2017... to see if your package failed to build. For haskell packages I already filed https://bugzilla.opensuse.org/show_bug.cgi?id=1018895 and you can ignore the non-x86 packages like uboot* but there are still plenty others some of which fail their testsuite when running with chroot (instead of kvm like in OBS (which somehow is broken on my host)) Ciao -- Bernhard M. Wiedemann software engineer -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tuesday, 10 January 2017 13:34:28 CET Bernhard M. Wiedemann wrote:
For https://reproducible-builds.org/ I just finished rebuilding all of openSUSE:Factory again. […] if you are maintaining a package in Factory, you can have a look at the diffs above and see if you can figure out how to avoid that diff
Hi, that is some awesome work that you are doing. I am the developer and maintainer of python-openqa_review, a rather simple package. https://www.zq1.de/~bernhard/linux/reproducibleopensuse/ compare.factory-20170105/python-openqa_review-compare.out shows me that the generated file 'version.py' makes a problem. Do you have hints to prevent this in a proper way? Regards, Oliver -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tue, Jan 10, 2017 at 01:34:28PM +0100, Bernhard M. Wiedemann wrote:
For https://reproducible-builds.org/ I just finished rebuilding all of openSUSE:Factory again.
2nd round of rebuilds in https://www.zq1.de/~bernhard/linux/reproducibleopensuse/compare.factory-2017...
contains all resulting diffs (after our build-compare filters)
This was setting SOURCE_DATE_EPOCH and using 'osc build' that normalizes UID, umask, build path, locale, TZ etc
my rbstats scripts summarized the results thus: total-packages: 10156 build-tried: 10156 build-failed: 56 build-n-a: 110 build-succeeded: 9990 build-official-failed+na: 55 build-compare-failed: 1043 build-compare-succeeded: 8947 bit-by-bit-identical: 0
There are 2 remaining strange/unknown build failures in mtr https://bugzilla.opensuse.org/show_bug.cgi?id=1020147 rubygem-ruby-dbus # in testsuite and zsh failing in testsuite because my filesystem uses noatime so please look through the diffs if you find something you can fix, e.g. by replacing a date with SOURCE_DATE_EPOCH. Ciao -- Bernhard M. Wiedemann software engineer -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 01/17/2017 12:57 AM, Bernhard M. Wiedemann wrote:
On Tue, Jan 10, 2017 at 01:34:28PM +0100, Bernhard M. Wiedemann wrote:
For https://reproducible-builds.org/ I just finished rebuilding all of openSUSE:Factory again.
2nd round of rebuilds in
https://www.zq1.de/~bernhard/linux/reproducibleopensuse/compare.factory-2017...
contains all resulting diffs (after our build-compare filters)
This was setting SOURCE_DATE_EPOCH and using 'osc build' that normalizes UID, umask, build path, locale, TZ etc
my rbstats scripts summarized the results thus: total-packages: 10156 build-tried: 10156 build-failed: 56 build-n-a: 110 build-succeeded: 9990 build-official-failed+na: 55 build-compare-failed: 1043 build-compare-succeeded: 8947 bit-by-bit-identical: 0
There are 2 remaining strange/unknown build failures in mtr https://bugzilla.opensuse.org/show_bug.cgi?id=1020147 rubygem-ruby-dbus # in testsuite
and zsh failing in testsuite because my filesystem uses noatime
so please look through the diffs if you find something you can fix, e.g. by replacing a date with SOURCE_DATE_EPOCH.
Ciao
Hi, Unfortunately enlightenment/efl's theme compiler edje_cc doesn't produce reproducible binaries apparently due to the use of threads currently images will generally be embedded in the theme files in a different order. Currently changing this is low on upstreams priority and they wouldn't be open to a "fix" that impacts performance ie dropping the threads but it is possible to fix it in other ways. I've created a tracker bug upstream for this https://phab.enlightenment.org/T5113 Cheers. -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
On 2017-01-18 03:46, Simon Lees wrote:
Unfortunately enlightenment/efl's theme compiler edje_cc doesn't produce reproducible binaries apparently due to the use of threads currently images will generally be embedded in the theme files in a different order. Currently changing this is low on upstreams priority and they wouldn't be open to a "fix" that impacts performance ie dropping the threads but it is possible to fix it in other ways. I've created a tracker bug upstream for this https://phab.enlightenment.org/T5113
thanks for taking care of that part. There are probably some thread synchronisation mechanisms that could help there, so that threads do not output results in the order they finished. They could do it like pigz (parallel gzip).
On 2017-01-16 15:27, Bernhard M. Wiedemann wrote:
On Tue, Jan 10, 2017 at 01:34:28PM +0100, Bernhard M. Wiedemann wrote:
For https://reproducible-builds.org/ I just finished rebuilding all of openSUSE:Factory again.
3rd round of rebuilds are done. This time building with osc build and a patched rpm-4.13 [1] That also caused some extra build failures compared to last time, but on the positive side allowed to produce bit-identical rpms (also now in my OBS home repo) https://www.zq1.de/~bernhard/linux/reproducibleopensuse/compare.factory-2017... contains all resulting diffs (after our build-compare filters) and in differed-builds.txt the list of packages that were not bit-identical. my rbstats scripts summarized the results thus: total-packages: 10160 build-tried: 10160 build-failed: 142 build-n-a: 117 build-succeeded: 9901 build-official-failed+na: 92 build-compare-failed: 840 build-compare-succeeded: 9061 bit-by-bit-identical: 7515 not-bit-by-bit-identical: 2380 not-bit-by-bit-identicalcheck: 2386 The difference between last two numbers is probably due to various *-testsuite packages that built successfully but did not produce a binary rpm to compare There are interesting diffs in machine code output of gcc5, gcc6 and other packages compiled with g++ e.g. https://www.zq1.de/~bernhard/linux/reproducibleopensuse/compare.factory-2017... probably from variations in ordering... [1] https://github.com/rpm-software-management/rpm/pull/144 https://github.com/rpm-software-management/rpm/pull/143 https://build.opensuse.org/package/show/home:bmwiedemann:reproducible/rpm -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Bernhard M. Wiedemann
-
Bernhard M. Wiedemann
-
Oliver Kurz
-
Simon Lees