Source: cctools
Severity: normal
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Various .py files contain different code dependending on the level of
parallelism of the build.


The attached patch to debian/rules passes --no-parallel to dh, which
results in a reproducible build, but it is unclear weather the resulting
code is "correct", as some files contain additional code compared to
builds done with parallelism.


In general, I've found the parallel builds to produce the same code as
other parallel builds with different levels of parallelism, but clearly
different than serial builds.

Presumably there are jobs when run in parallel complete in a relatively
consistent order (e.g. two jobs, one very fast and one very slow), but
different than when run in serial (e.g. the slow job runs first?). I
have attached diffoscope output from a serial vs. parallel build.


Thanks for maintaining cctools!


live well,
  vagrant
From 6577696033df719f86734a7647d241374bc1b7ea Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Fri, 11 Dec 2020 19:04:08 +0000
Subject: [PATCH 3/3] debian/rules: Disable parallel builds to avoid changes in
 Chirp.py.

---
 debian/rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index 48eb287..9a70f9b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -6,7 +6,7 @@ export DH_VERBOSE=1
 
 # one ring to rule them all ...
 %:
-	dh $@ 
+	dh $@ --no-parallel
 
 PY3:=$(shell py3versions -d)
 CF:=$(shell dpkg-buildflags --get CFLAGS) 
-- 
2.29.2

Attachment: experiment-1.diffoscope.out
Description: Binary data

Attachment: signature.asc
Description: PGP signature

Reply via email to