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

The order of references to various .scm files used when building guile
(or using guile to build various .go files) may appear in arbitrary
order, or sometimes even missing (in the example below):

  
https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/guile-3.0.html

  /usr/lib/x86_64-linux-gnu/guile/3.0/ccache/ice-9/deprecated.go

  26 ice-9/deprecated.scm vs. 26 ice-9/deprecated.scm
  27 ice-9/boot-9.scm         27 ice-9/boot-9.scm
                                  28 ice-9/psyntax.scm


The attached patch fixes this by disabling parallelism in debian/rules.

With this patch applied, guile-3.0 should become reproducible on
tests.reproducible-builds.org once it migrates to bookworm (in the
unstable and experimental suites build paths will still trigger issues).

Though, the underlying issue is also triggered when using guile to build
other packages... so it would be good to fix in guile upstream as well,
as this is part of a toolchain used to build other packages...


Thanks for maintaining guile-3.0!


live well,
  vagrant
From e87d944f8f0330f89a2a9d2c8028b9383f78031b Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 26 Sep 2021 02:01:07 +0000
Subject: [PATCH] debian/rules: Disable parallelism to avoid embedding
 references to .scm files in arbitrary order.

---
 debian/rules | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/debian/rules b/debian/rules
index 2024c94..dfe8068 100755
--- a/debian/rules
+++ b/debian/rules
@@ -27,10 +27,7 @@ export HOME := $(CURDIR)/debian/no-trespassing
 # Keep this in sync with guile-doc.install
 expected_info := guile.info $(foreach n,1 2 3 4 5 6 7 8 9 10 11,guile.info-$(n))
 
-joblimit := $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-ifeq (,$(joblimit))
-  joblimit := 1
-endif
+joblimit := 1
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE := 1
@@ -101,7 +98,7 @@ define checkdir
 endef
 
 %:
-	dh $@ --parallel --with autoreconf
+	dh $@ --no-parallel --with autoreconf
 
 .PHONY: check-vars
 check-vars:
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to