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

Bug#978392: epm: reproducible builds: /usr/bin/epm contains embedded build path



Source: epm
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

The file /usr/bin/epm contains an embedded build path:

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

  Use·the·named·setup·data·file·directory·instead·of·/build/1st/epm-4.2/debian/epm/usr/share/epm.
  vs.
  Use·the·named·setup·data·file·directory·instead·of·/build/2/epm-4.2/2nd/debian/epm/usr/share/epm.

The attached patches fix this by patching Makefile.in to support DESTDIR
and passing the appropriate prefix arguments to configure.


live well,
  vagrant
From d8a94f04217a88162b4846004d4790d29d67949a Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Sat, 26 Dec 2020 22:05:05 +0000
Subject: [PATCH 1/2] Makefile.in: Add support for DESTDIR.

---
 Makefile.in | 119 +++++++++++++++++++++++-----------------------------
 1 file changed, 53 insertions(+), 66 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index b90597e..2f711a9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -165,58 +165,45 @@ clang-changes:
 #
 
 install: all @INSTALL_GUIS@ @INSTALL_OSX@
-	@echo Installing EPM programs in $(bindir)
-	-$(MKDIR) $(bindir)
-	$(RM) $(bindir)/epm
-	$(CP) epm $(bindir)
-	$(STRIP) $(bindir)/epm
-	$(RM) $(bindir)/epminstall
-	$(CP) epminstall $(bindir)
-	$(STRIP) $(bindir)/epminstall
-	$(RM) $(bindir)/mkepmlist
-	$(CP) mkepmlist $(bindir)
-	@echo Installing EPM manpages in $(mandir)/man1
-	-$(MKDIR) $(mandir)/man1
-	$(RM) $(mandir)/man1/epm.1
-	$(CP) $(srcdir)/doc/epm.man $(mandir)/man1/epm.1
-	$(RM) $(mandir)/man1/epminstall.1
-	$(CP) $(srcdir)/doc/epminstall.man $(mandir)/man1/epminstall.1
-	$(RM) $(mandir)/man1/mkepmlist.1
-	$(CP) $(srcdir)/doc/mkepmlist.man $(mandir)/man1/mkepmlist.1
-	$(RM) $(mandir)/man1/setup.1
-	$(CP) $(srcdir)/doc/setup.man $(mandir)/man1/setup.1
-	@echo Installing EPM manpages in $(mandir)/man5
-	-$(MKDIR) $(mandir)/man5
-	$(RM) $(mandir)/man5/epm.list.5
-	$(CP) $(srcdir)/doc/epm.list.man $(mandir)/man5/epm.list.5
-	$(RM) $(mandir)/man5/setup.types.5
-	$(CP) $(srcdir)/doc/setup.types.man $(mandir)/man5/setup.types.5
-	@echo Installing EPM documentation in $(docdir)
-	-$(MKDIR) $(docdir)
-	$(RM) $(docdir)/COPYING
-	$(CP) $(srcdir)/COPYING $(docdir)
-	$(RM) $(docdir)/README
-	$(CP) $(srcdir)/README $(docdir)
-	$(RM) $(docdir)/epm-book.html
-	$(CP) $(srcdir)/doc/epm-book.html $(docdir)
+	@echo Installing EPM programs in $(DESTDIR)$(bindir)
+	-$(MKDIR) $(DESTDIR)$(bindir)
+	$(CP) epm $(DESTDIR)$(bindir)
+	$(STRIP) $(DESTDIR)$(bindir)/epm
+	$(CP) epminstall $(DESTDIR)$(bindir)
+	$(STRIP) $(DESTDIR)$(bindir)/epminstall
+	$(CP) mkepmlist $(DESTDIR)$(bindir)
+	@echo Installing EPM manpages in $(DESTDIR)$(mandir)/man1
+	-$(MKDIR) $(DESTDIR)$(mandir)/man1
+	$(CP) $(srcdir)/doc/epm.man $(DESTDIR)$(mandir)/man1/epm.1
+	$(CP) $(srcdir)/doc/epminstall.man $(DESTDIR)$(mandir)/man1/epminstall.1
+	$(CP) $(srcdir)/doc/mkepmlist.man $(DESTDIR)$(mandir)/man1/mkepmlist.1
+	$(CP) $(srcdir)/doc/setup.man $(DESTDIR)$(mandir)/man1/setup.1
+	@echo Installing EPM manpages in $(DESTDIR)$(mandir)/man5
+	-$(MKDIR) $(DESTDIR)$(mandir)/man5
+	$(CP) $(srcdir)/doc/epm.list.man $(DESTDIR)$(mandir)/man5/epm.list.5
+	$(CP) $(srcdir)/doc/setup.types.man $(DESTDIR)$(mandir)/man5/setup.types.5
+	@echo Installing EPM documentation in $(DESTDIR)$(docdir)
+	-$(MKDIR) $(DESTDIR)$(docdir)
+	$(CP) $(srcdir)/COPYING $(DESTDIR)$(docdir)
+	$(CP) $(srcdir)/README $(DESTDIR)$(docdir)
+	$(CP) $(srcdir)/doc/epm-book.html $(DESTDIR)$(docdir)
 
 install-guis:	setup uninst
-	@echo Installing EPM setup/uninst in $(libdir)/epm
-	$(RM) -r $(libdir)/epm
-	-$(MKDIR) $(libdir)/epm
-	$(CP) setup $(libdir)/epm
-	-$(STRIP) $(libdir)/epm/setup
-	$(CP) uninst $(libdir)/epm
-	-$(STRIP) $(libdir)/epm/uninst
+	@echo Installing EPM setup/uninst in $(DESTDIR)$(libdir)/epm
+	-$(MKDIR) $(DESTDIR)$(libdir)/epm
+	$(CP) setup $(DESTDIR)$(libdir)/epm
+	-$(STRIP) $(DESTDIR)$(libdir)/epm/setup
+	$(CP) uninst $(DESTDIR)$(libdir)/epm
+	-$(STRIP) $(DESTDIR)$(libdir)/epm/uninst
 
 install-osx:
-	@echo Installing EPM OSX data files in $(datadir)/epm
-	$(RM) -r $(datadir)/epm
-	-$(MKDIR) $(datadir)/epm
-	$(CP) macosx/setup.icns $(datadir)/epm
-	$(CP) macosx/setup.info $(datadir)/epm
-	$(CP) macosx/uninst.icns $(datadir)/epm
-	$(CP) macosx/uninst.info $(datadir)/epm
+	@echo Installing EPM OSX data files in $(DESTDIR)$(datadir)/epm
+	$(RM) -r $(DESTDIR)$(datadir)/epm
+	-$(MKDIR) $(DESTDIR)$(datadir)/epm
+	$(CP) macosx/setup.icns $(DESTDIR)$(datadir)/epm
+	$(CP) macosx/setup.info $(DESTDIR)$(datadir)/epm
+	$(CP) macosx/uninst.icns $(DESTDIR)$(datadir)/epm
+	$(CP) macosx/uninst.info $(DESTDIR)$(datadir)/epm
 
 
 #
@@ -224,24 +211,24 @@ install-osx:
 #
 
 uninstall:
-	@echo Uninstalling EPM programs from $(bindir)
-	$(RM) $(bindir)/epm
-	$(RM) $(bindir)/epminstall
-	$(RM) $(bindir)/mkepmlist
-	@echo Uninstalling EPM manpages from $(mandir)/man1
-	$(RM) $(mandir)/man1/epm.1
-	$(RM) $(mandir)/man1/epminstall.1
-	$(RM) $(mandir)/man1/mkepmlist.1
-	$(RM) $(mandir)/man1/setup.1
-	@echo Uninstalling EPM manpages from $(mandir)/man5
-	$(RM) $(mandir)/man5/epm.list.5
-	$(RM) $(mandir)/man5/setup.types.5
-	@echo Uninstalling EPM documentation from $(docdir)
-	$(RM) -r $(docdir)
-	@echo Uninstalling EPM setup/uninstall from $(libdir)/epm
-	$(RM) -r $(libdir)/epm
-	@echo Uninstalling EPM OSX data files from $(datadir)/epm
-	$(RM) -r $(datadir)/epm
+	@echo Uninstalling EPM programs from $(DESTDIR)$(bindir)
+	$(RM) $(DESTDIR)$(bindir)/epm
+	$(RM) $(DESTDIR)$(bindir)/epminstall
+	$(RM) $(DESTDIR)$(bindir)/mkepmlist
+	@echo Uninstalling EPM manpages from $(DESTDIR)$(mandir)/man1
+	$(RM) $(DESTDIR)$(mandir)/man1/epm.1
+	$(RM) $(DESTDIR)$(mandir)/man1/epminstall.1
+	$(RM) $(DESTDIR)$(mandir)/man1/mkepmlist.1
+	$(RM) $(DESTDIR)$(mandir)/man1/setup.1
+	@echo Uninstalling EPM manpages from $(DESTDIR)$(mandir)/man5
+	$(RM) $(DESTDIR)$(mandir)/man5/epm.list.5
+	$(RM) $(DESTDIR)$(mandir)/man5/setup.types.5
+	@echo Uninstalling EPM documentation from $(DESTDIR)$(docdir)
+	$(RM) -r $(DESTDIR)$(docdir)
+	@echo Uninstalling EPM setup/uninstall from $(DESTDIR)$(libdir)/epm
+	$(RM) -r $(DESTDIR)$(libdir)/epm
+	@echo Uninstalling EPM OSX data files from $(DESTDIR)$(datadir)/epm
+	$(RM) -r $(DESTDIR)$(datadir)/epm
 
 
 #
-- 
2.30.0.rc2

From baca74dfb457d7a5343a3592b35760b7eaea0a19 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Sat, 26 Dec 2020 22:06:10 +0000
Subject: [PATCH 2/2] debian/rules: Specify /usr instead of full path to
 debian/epm directory.

---
 debian/rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index c16061f..117f474 100755
--- a/debian/rules
+++ b/debian/rules
@@ -22,7 +22,7 @@ DEB_BUILD_MAINT_OPTIONS="hardening=+pie,+bindnow"
 DPKG_EXPORT_BUILDFLAGS=1
 -include /usr/share/dpkg/buildflags.mk
 
-prefix=$(CURDIR)/debian/epm/usr
+prefix=/usr
 
 %:
 	dh $@ --without autoreconf
-- 
2.30.0.rc2

Attachment: signature.asc
Description: PGP signature


Reply to: