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

The build path, several binary paths, and the value of the SHELL
variable are embedded in example Makefiles shipped in the package:

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

  /usr/share/doc/libtclap-dev/docs/Makefile.gz

  AUTOMAKE·=·${SHELL}·'/build/1st/tclap-1.2.4/config/missing'·automake-1.16
  vs.
  AUTOMAKE·=·${SHELL}·'/build/2/tclap-1.2.4/2nd/config/missing'·automake-1.16

  GREP·=·/bin/grep
  vs.
  GREP·=·/usr/bin/grep

  SHELL·=·/bin/bash
  vs.
  SHELL·=·/bin/sh


Since these values may differ with the installed system, in order to use
the example Makefiles, a person would have to regenerate them from
Makefile.am or Makefile.in, which are also provided.

The attached patch removes the Makefiles in debian/rules.

If that is somehow not an option, an alternate option would be to
sanitize the Makefiles stripping the build path (or replacing with
/usr/src?), and possibly passing various variables to configure
(e.g. GREP=/bin/grep, SHELL=/bin/sh, ...).


Thanks for maintaining tclap!


live well,
  vagrant

From 08de495eeae4305e7e68486e69b8b830e39e4797 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Wed, 16 Jun 2021 20:21:30 +0000
Subject: [PATCH] debian/rules: Remove example Makefiles for reproducible
 builds.

The shipped Makefiles embed build paths, the content of the SHELL
variable, and paths to various binaries (e.g. /bin/grep
vs. /usr/bin/grep).
---
 debian/rules | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/rules b/debian/rules
index 4c64ef9..b849adf 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,6 +9,9 @@ override_dh_installdocs:
 	dh_installdocs
         # edd 10 Jun 2011 prune CVS directory
 	find debian/ -name CVS -type d | xargs rm -rf
+	# Remove example Makefiles for reproducible builds as they
+	# embed the build path, SHELL and various paths to utilities
+	find debian/ -name Makefile -type f | xargs rm -f
 
 override_dh_auto_test:
 	echo "Skipping checks for now"
-- 
2.20.1

Attachment: signature.asc
Description: PGP signature

Reply via email to