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

The build path and several binary paths are embedded in example Makefiles
shipped in the package:

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

  ./usr/share/doc/antlr/examples/Makefile

  MKDIR···········=·/bin/mkdir
  vs.
  MKDIR···········=·/usr/bin/mkdir

  ANTLR_JAR······=·/build/1st/antlr-2.7.7+dfsg/antlr/antlr.jar
  vs.
  ANTLR_JAR······=·/build/2/antlr-2.7.7+dfsg/2nd/antlr/antlr.jar

Since these values may differ with the installed system, in order to use
the example Makefile, a person would have to regenerate it from
Makefile.in, which is also provided in the package.

The attached patch modifies debian/rules to remove the exmaple
Makefiles.


With this patch applied (and some timestamp related patches i will
submit shortly...) antlr should become reproducible on
tests.reproducible-builds.org.


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


Thanks for maintaining antlr!


live well,
  vagrant
From 30308f6a4b3c6907f0f89d7e37512a1b647a3cd7 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Wed, 14 Jul 2021 14:14:06 +0000
Subject: [PATCH 1/3] debian/rules: Do not install example Makefiles.

The build path and several binary paths are embedded Makefiles shipped
in the package.

Since these values may differ with the installed system, in order to
use the example Makefile, a person would have to regenerate it from
Makefile.in, which is included in the package.
---
 debian/rules | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/debian/rules b/debian/rules
index 77396e35..c1e9921c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -46,6 +46,8 @@ override_dh_installdocs:
 override_dh_installexamples:
 	dh_installexamples
 	find debian/antlr-doc/usr/share/doc/antlr/examples -type f -print | xargs -r chmod 0644
+	# Remove example Makefiles containing build paths and binary paths
+	find debian/antlr-doc/usr/share/doc/antlr/examples -name Makefile -print -delete
 	rm -rf debian/antlr-doc/usr/share/doc/antlr/examples/csharp
 
 override_dh_auto_clean:
-- 
2.32.0

Attachment: signature.asc
Description: PGP signature

Reply via email to