Bug#1030727: multipath-tools: please make the build reproducible
Chris Lamb
lamby at debian.org
Mon Feb 6 20:19:41 GMT 2023
Source: multipath-tools
Version: 0.9.4-2
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bugs at 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
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
--- 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:
More information about the Reproducible-bugs
mailing list