Source: multipath-tools Version: 0.9.4-2 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that multipath-tools could not be built reproducibly. This is because there is a race condition in the build/installation of the manpages. Specifically, it is possible for the manpages to either be regenerated in a build (and therefore lead to the date being set to the value of SOURCE_DATE_EPOCH), but it also possible for them not to be processed at all, thus leading them to be installed as-is with a date of "March 2018". Naturally, this is nondeterminstic so somewhat difficult to programmatically trigger, but I found running the build in a loop will find a difference within 5 or 6 runs or so. I can't seem to locate a deep fix, but a patch is attached that forces the build to be single-threaded via the addition of the --parallel=1 switch. I found that both the build and udeb build variants need to have this option. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/rules 2023-02-06 11:38:48.486038303 -0800 --- b/debian/rules 2023-02-06 11:57:09.189800611 -0800 @@ -27,10 +27,10 @@ override_dh_auto_configure: override_dh_auto_build: - dh_auto_build --sourcedirectory=debian/build-deb -- \ + dh_auto_build --sourcedirectory=debian/build-deb --max-parallel=1 -- \ SCSI_DH_MODULES_PRELOAD="scsi_dh_alua scsi_dh_emc scsi_dh_rdac" # multipath-udeb: build separately; don't reference dynamic libgcc at runtime (#779579); disable systemd - dh_auto_build --sourcedirectory=debian/build-udeb -- \ + dh_auto_build --sourcedirectory=debian/build-udeb --max-parallel=1 -- \ SYSTEMD= EXTRACFLAGS="-static-libgcc" override_dh_auto_test: