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

Bug#1010870: pidgin-blinklight: reproducible-builds: embedded build paths in various binaries



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

The build path is embedded in /usr/lib/purple-2/pidgin-blinklight.so and
/usr/lib/pidgin-blinklight/blinklight-fixperm:

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

  /build/1st/pidgin-blinklight-0.11.1/src/blinklight-fixperm.c:17
  vs.
  /build/2/pidgin-blinklight-0.11.1/2nd/src/blinklight-fixperm.c:17


The attached patch fixes this by updating to use debhelper compat level
13 and switching to use "dh" in debian/rules. This passes the default
CFLAGS from dpkg-buildflags, which includes the -ffile-prefix-map
argument to avoid embedding the absolute path in compiled files.


As a bonus, it should also fix https://bugs.debian.org/999100


With this patch applied, pidgin-blinklight should build reproducibly on
tests.reproducible-builds.org!


live well,
  vagrant
From f91a7064d8c34845db9495563a156c43e18ce3cc Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Wed, 11 May 2022 21:24:28 +0000
Subject: [PATCH 1/3] Convert to dh and debhelper-compat 13. (Closes: #999100)

---
 debian/compat  |  1 -
 debian/control |  2 +-
 debian/rules   | 99 +++++---------------------------------------------
 3 files changed, 10 insertions(+), 92 deletions(-)
 delete mode 100644 debian/compat

diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index 7f8f011..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-7
diff --git a/debian/control b/debian/control
index 0d76a65..78b995b 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: pidgin-blinklight
 Section: net
 Priority: optional
 Maintainer: Debian QA Group <packages@qa.debian.org>
-Build-Depends: debhelper (>= 7), autotools-dev, pidgin-dev, pkg-config
+Build-Depends: debhelper-compat (= 13), pidgin-dev, pkg-config
 Standards-Version: 3.8.3
 Vcs-Darcs: http://darcs.nomeata.de/pidgin-blinklight.debian
 Vcs-Browser: http://darcs.nomeata.de/cgi-bin/darcsweb.cgi?r=pidgin-blinklight.debian;a=summary
diff --git a/debian/rules b/debian/rules
index 7aa7503..a094b85 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,103 +1,22 @@
 #! /usr/bin/make -f
 # -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+%:
+	dh $@
 
+override_dh_auto_configure:
+	dh_auto_configure -- CFLAGS="$(CFLAGS)" CC="$(CC)" CXX="$(CXX)" --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --libexecdir=\$${prefix}/lib/pidgin-blinklight 
 
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
-CFLAGS = -Wall -g
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -O0
-else
-	CFLAGS += -O2
-endif
-
-ifeq (ccache,$(findstring ccache,$(DEB_BUILD_OPTIONS)))
-CC:=ccache $(CC)
-CXX:=ccache $(CXX)
-endif
-
-config.status: configure
-	dh_testdir
-	dh_autotools-dev_updateconfig
-	# Add here commands to configure the package.
-	CFLAGS="$(CFLAGS)" ./configure CC="$(CC)" CXX="$(CXX)" --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --libexecdir=\$${prefix}/lib/pidgin-blinklight 
-
-
-build: build-stamp
-build-stamp:  config.status
-	dh_testdir
-
-	# Add here commands to compile the package.
-	$(MAKE)
-
-	touch build-stamp
-
-clean:
-	dh_testdir
-	dh_testroot
-	rm -f build-stamp 
-	
-	# Add here commands to clean up after the build process.
-	[ ! -f Makefile ] || $(MAKE) distclean
+override_dh_auto_clean:
+	dh_auto_clean
 	-rm -f po/*gmo po/stamp-po
-	dh_autotools-dev_restoreconfig
-	dh_clean 
 
-install: build
-	dh_testdir
-	dh_testroot
-	dh_prep 
-	dh_installdirs
-	
-	$(MAKE) install DESTDIR=$(CURDIR)/debian/pidgin-blinklight
+override_dh_auto_install:
+	dh_auto_install
 	rm -f $(CURDIR)/debian/pidgin-blinklight/usr/lib/purple-2/pidgin-blinklight.la
 
-	
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs ChangeLog
-	dh_installdocs
-	dh_installexamples
-#	dh_install
-#	dh_installmenu
-#	dh_installdebconf	
-#	dh_installlogrotate
-#	dh_installemacsen
-#	dh_installpam
-#	dh_installmime
-#	dh_installinit
-#	dh_installcron
-#	dh_installinfo
-	dh_installman
-	dh_link
-	dh_strip
-	dh_compress
+override_dh_fixperms:
 	dh_fixperms
 	chmod u+s $(CURDIR)/debian/pidgin-blinklight/usr/lib/pidgin-blinklight/blinklight-fixperm
 	dh_pidgin -ppidgin-blinklight
-	dh_installdeb
-	dh_shlibdeps
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install 
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


Reply to: