[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#990327: cppunit: reproducible-builds: Example Makefiles embed build paths and binary paths



Source: cppunit
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath usrmerge shell
X-Debbugs-Cc: reproducible-bugs@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/amd64/diffoscope-results/cppunit.html

  /usr/share/doc/libcppunit-doc/examples/ClockerPlugIn/Makefile.gz

  ACLOCAL·=·${SHELL}·'/build/1st/cppunit-1.15.1/missing'·aclocal-1.16
  vs.
  ACLOCAL·=·${SHELL}·'/build/2/cppunit-1.15.1/2nd/missing'·aclocal-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 adjusts debian/rules to remove the Makefiles before
running dh_compress.


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 cppunit!


live well,
  vagrant
From e1714c24575d26671157ee54308a892fcf832a15 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Fri, 25 Jun 2021 19:14:10 +0000
Subject: [PATCH] debian/rules: Remove Makefiles to resolve reproducibility
 issues.

The build path, several binary paths, and the value of the SHELL
variable are embedded in a Makefile shipped in the package.

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.
---
 debian/rules | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/debian/rules b/debian/rules
index fc2f58a..9e54dce 100755
--- a/debian/rules
+++ b/debian/rules
@@ -40,3 +40,8 @@ override_dh_install-indep:
 	dh_installdocs -plibcppunit-doc doc/html
 	dh_installexamples -plibcppunit-doc examples/* debian/examples/*
 	rm -f debian/libcppunit-doc/usr/share/doc/libcppunit-doc/examples/simple/.gitignore
+
+override_dh_compress:
+	# Delete example Makefiles which contain variable build paths and binary paths
+	find debian/ -name Makefile -print -delete
+	dh_compress
-- 
2.32.0

Attachment: signature.asc
Description: PGP signature


Reply to: