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

Makefiles shipped in the examples directory contain build path
variations for several values:

/usr/share/doc/flex/examples/fastwc/Makefile.gz
/usr/share/doc/flex/examples/manual/Makefile.gz 

  
ACLOCAL·​=·​${SHELL}·​/​build/​1st/​flex-​2.​6.​4/​build-​aux/​missing·​aclocal-​1.​16

vs.

  
ACLOCAL·​=·​${SHELL}·​/​build/​2/​flex-​2.​6.​4/​2nd/​build-​aux/​missing·​aclocal-​1.​16


This makes the build unreproducible when built from a different path,
but the Makefile itself would require some manual configuration anyways,
since the end-user most likely does not contain the original build path
on their system.

I'd suggest simply removing the Makefiles, as they are not functional,
or alternately, sanitizing with the attached patch to debian/rules.

live well,
  vagrant
From 12ac0a2b79b1ae208e8bf4d2c936d5dcf51e44aa Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 19 Jan 2020 14:26:38 -0800
Subject: [PATCH 2/3] debian/rules: Clean up embedded build paths in example
 Makefiles in order to ensure reproducible builds.

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

diff --git a/debian/rules b/debian/rules
index 57485fa..b95ebad 100755
--- a/debian/rules
+++ b/debian/rules
@@ -92,6 +92,17 @@ ifneq (,$(filter flex-doc, $(shell dh_listpackages)))
            debian/flex-doc/usr/share/doc/flex-doc/
 endif
 
+override_dh_installexamples:
+	dh_installexamples
+	# Clean up embedded build paths in order to ensure reproducible builds.
+	sed -i -e "s,-fdebug-prefix-map=$(CURDIR)=\.,,g" \
+		-e "s,-ffile-prefix-map=$(CURDIR)=\.,,g" \
+		-e "s,abs_.*$(CURDIR).*,,g" \
+		-e "s,$(CURDIR).*missing --run,,g" \
+		-e "s,$(CURDIR),./,g" \
+		$(CURDIR)/debian/flex/usr/share/doc/flex/examples/fastwc/Makefile \
+		$(CURDIR)/debian/flex/usr/share/doc/flex/examples/manual/Makefile
+
 override_dh_auto_build:
 	dh_auto_build
 ifneq (,$(filter flex-doc, $(shell dh_listpackages)))
-- 
2.20.1

Attachment: signature.asc
Description: PGP signature

Reply via email to