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

The build path is embedded in /usr/bin/tcm:

  
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/tcm.html

  /build/1st/tcm-2.20+TSQD/src/ed/helper.c:31·(discriminator·2)
  vs.
  /build/2/tcm-2.20+TSQD/2nd/src/ed/helper.c:31·(discriminator·2)

The attached patch to debian/rules fixes this by adding
-ffile-prefix-map to CFLAGS.

Alternately, using the default CFLAGS from dpkg-buildflags or switching
to "dh" and a recent debhelper compat level might resolve this issue.

According to my local tests, with this patch applied, tcm should build
reproducibly on tests.reproducible-builds.org!

Thanks for maintaining tcm!

live well,
  vagrant
From 8b76667fe07f16eaf520949a19b9e2a96dcb61e9 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 9 Oct 2022 16:42:54 +0000
Subject: [PATCH] debian/rules: Add -ffile-prefix-map to CFLAGS to avoid
 embedding build paths.

https://reproducible-builds.org/docs/build-path/
---
 debian/rules | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/debian/rules b/debian/rules
index 7d92a0c..85e1a8a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,6 +7,8 @@ include /usr/share/dpkg/buildtools.mk
 
 CFLAGS = -Wall -g
 CFLAGS	+= -fcommon
+# Avoid embedding build paths
+CFLAGS += -ffile-prefix-map=$(CURDIR)=.
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
         CFLAGS += -O0
-- 
2.37.2

Attachment: signature.asc
Description: PGP signature

Reply via email to