Bugzilla – Bug 1201579
doxygen varies output from readdir order
Last modified: 2022-07-25 13:33:40 UTC
While working on reproducible builds for openSUSE, I saw, doxygen picked up non-determinism from filesystem readdir order and therefore produces variations in build output https://rb.zq1.de/compare.factory-20220704/diffs/libzypp-compare.out https://rb.zq1.de/compare.factory-20220704/diffs/pipewire-compare.out maybe also https://rb.zq1.de/compare.factory-20220704/diffs/gnuradio-compare.out https://rb.zq1.de/compare.factory-20220704/diffs/ldas-tools-framecpp-compare.out https://rb.zq1.de/compare.factory-20220704/diffs/tesseract-ocr-compare.out https://rb.zq1.de/compare.factory-20220704/diffs/trilinos-compare.out At some point, there were also influences from ASLR, but these might have been solved earlier. The easiest way to reproduce is to use my 'rbk' tool from https://github.com/bmwiedemann/reproducibleopensuse/ on a osc checkout Alternatively, use osc build on two different ext4 filesystems in OSC_BUILD_ROOT= or use disorderfs to ensure random readdir order.
I have a local checkout of home:pgajdos/doxygen and home:pgajdos/libzypp. Now I have a patch there against doxygen and would like to test it, is it possible with rbk tool? d.o.o/repositories/home:/pgajdos/openSUSE_Factory/x86_64/ says it is doxygen-1.9.4-178.1, but rbk build still seems to pick doxygen-1.9.4-1.1 instead. I have : ${project:=home:pgajdos} : ${repo:=openSUSE_Factory} in rbk script and <useforbuild> <enable/> </useforbuild> in osc meta prj.