Source: pcp
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 and resulting Build ID for various libraries is embedded:

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

  /usr/lib/x86_64-linux-gnu/perl5/5.34/auto/PCP/LogImport/LogImport.so

  /build/1st/pcp-5.3.6/src/libpcp_import/src:/build/1st/pcp-5.3.6/src/libpcp/src
  vs.
  
/build/2/pcp-5.3.6/2nd/src/libpcp_import/src:/build/2/pcp-5.3.6/2nd/src/libpcp/src

The attached patch to debian/rules fixes this by using the standard
standard buildflags from dpkg-buildflags, which includes
-ffile-prefix-map to strip out the build paths.


An alternate patch for debian/rules could be something like:

  CFLAGS += -ffile-prefix-map=$(CURDIR)=.
  export CFLAGS

Though you might also have to set this for various other *FLAGS as well.


This patch does not address all reproducibility issues, but should
significantly reduce the size of the diff, making it easier to identify
remaining issues.


live well,
  vagrant
From 0f20cd385a5851288a231c4590cd50e6aba26915 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 6 Mar 2022 18:56:06 +0000
Subject: [PATCH 3/3] debian/rules: Use standard dpkg buildflags variables.

---
 debian/rules | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/rules b/debian/rules
index 2f99e21..f6d1c1d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -154,6 +154,9 @@ uninstallspark = cat $(dirdoc).dirs | sed -e "s,^,$(dirpcp_export_spark)/," | xa
 uninstallgui = cat $(dirgui).dirs | sed -e "s,^,$(dirpcp)/," | xargs rm -fr
 unrpathperl = find $(allperldir) -name \*.so | xargs chrpath -d
 
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
 build: build-arch build-indep
 build-arch: build-stamp
 build-indep: build-stamp
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to