Source: mplayer Version: 2:1.5+svn38423-2 Severity: normal Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: shell X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
When build with /bin/sh pointing to dash or bash, a different version.h is generated, which results in different version strings getting embedded in various binaries: https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/mplayer.html /usr/bin/mencoder MPlayer·1.5+svn38423-2·(Debian) vs. MPlayer·1.5+svn38423-2·(Debian)\n The two shell implementations have some differences in echo implementations. The patch to debian/rules fixes this by using a single printf call instead of two echo calls, and adjusting the escaped strings accordingly. According to my local tests, with this patch applied mplayer should build reproducibly again on tests.reproducible-builds.org when it migrates to trixie/testing! Unfortunately, there are still outstanding issues with embedded build paths that are tested in unstable and experimental. Thanks for maintaining mplayer! live well, vagrant
From 744d893c714f66cd526a83acc21c3adbb9cf786a Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagr...@reproducible-builds.org> Date: Sun, 25 Jun 2023 18:51:36 -0700 Subject: [PATCH] debian/rules: Use printf instead of echo. The echo implementations may be dependent on the shell implementation. --- debian/rules | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/debian/rules b/debian/rules index 7ed5090..b17fdbc 100755 --- a/debian/rules +++ b/debian/rules @@ -12,7 +12,7 @@ include /usr/share/dpkg/buildtools.mk D_VERSION = $(shell dpkg-parsechangelog -SVersion | sed -e 's/^[0-9]*://') OUR_VERSION = \#define VERSION \"$(D_VERSION) (Debian)\" -OUR_TITLE = \#define MP_TITLE \"MPlayer $(D_VERSION) (Debian)\\\n\" +OUR_TITLE = \#define MP_TITLE \"MPlayer $(D_VERSION) (Debian)\" CFLAGS +=$(CPPFLAGS) @@ -99,8 +99,7 @@ override_dh_auto_build-arch: $(MAKE) install-gui-msg DESTDIR=$(CURDIR)/gui-msg $(MAKE) distclean ./configure $(CONFIGURE_FLAGS) --disable-gui - echo "$(OUR_VERSION)" >> version.h - echo "$(OUR_TITLE)" >> version.h + printf "$(OUR_VERSION)\n$(OUR_TITLE)\n" >> version.h dh_auto_build -- mplayer mencoder override_dh_auto_build-indep: @@ -112,8 +111,7 @@ override_dh_auto_clean: override_dh_auto_configure-arch: ./configure $(CONFIGURE_FLAGS) --enable-gui --enable-nls - echo "$(OUR_VERSION)" >> version.h - echo "$(OUR_TITLE)" >> version.h + printf "$(OUR_VERSION)\n$(OUR_TITLE)\n" >> version.h override_dh_auto_configure-indep: [ -f config.mak ] || ./configure $(CONFIGURE_DOC_FLAGS) -- 2.39.2
signature.asc
Description: PGP signature