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

The file /usr/bin/gw-config embeds the build path, as it embeds CFLAGS
which often contains the build path passed via -ffile-prefix-map or
-fdebug-prefix-map:

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

  -I/usr/include/kannel·-g·-O2·-ffile-prefix-map=/build/1st/kannel-1.4.5=.
vs.
  -I/usr/include/kannel·-g·-O2·-ffile-prefix-map=/build/2/kannel-1.4.5/2nd=.

The attached patch strips the build path from gw-config in
debian/rules after the files are installed to debian/tmp.


With this patch applied, kannel should become reproducible on
tests.reproducible-builds.org.


Thanks for maintaining kannel!


live well,
  vagrant
From b5c0ed49d67db5834514b93a09309a661d9065c5 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Mon, 4 Oct 2021 22:26:48 +0000
Subject: [PATCH] debian/rules: Strip out the build directory from gw-config.

The build directory is often passed via CFLAGS with the
-fdebug-prefix-map or -ffile-prefix-map, which will often vary between
two different builds.

https://tests.reproducible-builds.org/debian/issues/unstable/records_build_flags_issue.html
---
 debian/rules | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/rules b/debian/rules
index 6f3acfe..918ec52 100755
--- a/debian/rules
+++ b/debian/rules
@@ -46,3 +46,6 @@ override_dh_auto_configure:
 
 override_dh_auto_install:
 	make -j1 install install-contrib install-checks install-docs install-test DESTDIR=$(CURDIR)/debian/tmp AM_UPDATE_INFO_DIR=no
+	# Replace the build directory so that the build is
+	# reproducible regardless of build path
+	sed -i -e "s,$(CURDIR),BUILDDIR,g" debian/tmp/usr/bin/gw-config
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to