Package: mpb-doc
Version: 1.11.1-3
Severity: normal
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: buildpaths usrmerge
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

mpb-doc contains example files accompanied by a Makefile. This Makefile
contains facts that were true on the system where the package was built
but not necessarily true on the system where it will be used, notably the
absolute path to the build directory and the absolute paths to grep
and mkdir.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=961747 is an example
of a similar bug report in a different package, illustrating the two
possible solutions:

- either:
  1. force the canonical paths to grep, mkdir etc. to be discovered
  2. canonicalize the Makefile to omit the absolute build paths
- or:
  - don't ship this Makefile at all, because it is probably not directly
    useful to an end user: they would have to regenerate it from
    Makefile.in to build the examples successfully, because Autotools
    build systems are not typically intended to be portable between
    directory locations or between machines

An implementation of the second approach is attached.

Thanks,
    smcv
>From fe124c7a628027216b29c9cda9ae4a3250b88071 Mon Sep 17 00:00:00 2001
From: Simon McVittie <s...@debian.org>
Date: Sun, 29 Aug 2021 11:48:45 +0100
Subject: [PATCH] d/rules: Remove generated Makefile from examples

Autotools build systems are generally not intended to be portable between
directories or between systems, and this Makefile contains absolute paths
to the package's build directory and detected absolute paths to tools
such as grep, making it non-reproducible.

Signed-off-by: Simon McVittie <s...@debian.org>
---
 debian/rules | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/debian/rules b/debian/rules
index b277bfb..fbce572 100755
--- a/debian/rules
+++ b/debian/rules
@@ -113,3 +113,8 @@ override_dh_auto_test:
 override_dh_installdocs:
 	dh_installdocs
 	rm -rf debian/mpb-doc/usr/share/doc/mpb-doc/html/mpb-mkdocs-theme/license
+
+override_dh_installexamples:
+	dh_installexamples
+	rm -f debian/mpb-doc/usr/share/doc/mpb*/examples/Makefile
+	rm -f debian/mpb-doc/usr/share/doc/mpb*/examples/Makefile.gz
-- 
2.33.0

Reply via email to