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

Bug#995741: gcc-arm-none-eabi: reproducible builds: embeds path to various binaries



Source: gcc-arm-none-eabi
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: usrmerge shell
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

The paths to various binaries are embedded which differs on a usrmerge
vs. non-usrmerge system.

  https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/gcc-arm-none-eabi.html

  /usr/lib/gcc/arm-none-eabi/10.3.1/install-tools/fixincl

  /bin/sed
vs.
  /usr/bin/sed


  /usr/lib/gcc/arm-none-eabi/10.3.1/install-tools/mkheaders

  for·shell·in·$CONFIG_SHELL·$SHELL·/bin/bash·/bin/sh·"";·do
vs.
  for·shell·in·$CONFIG_SHELL·$SHELL·/bin/sh·/bin/sh·"";·do

Patch attached which passes variables to configure to use the
non-usrmerge locations, as usrmerge installations typically have
compatibility symlinks, but not vice-versa. The patch also sets
variables to ensure consistent values for bash, which can be triggered
when /bin/sh points to bash.

This patch alone does not fix all reproducibility issues (e.g. build
paths, which are only tested on unstable and experimental), but does
reduce the number of things that vary in the resulting build.


Thanks for maintaining gcc-arm-none-eabi!


live well,
  vagrant
From 4ee144c5271da7ab35e866a8aa84ad4b74b22021 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Tue, 12 Oct 2021 02:21:23 +0000
Subject: [PATCH 1/2] debian/rules: Pass variables to configure to make the
 package build reproducibly regardless of usrmerge.

The variables SED, SHELL, BASH and CONFIG_SHELL should all point to
their non-usrmerge locations.

https://tests.reproducible-builds.org/debian/issues/paths_vary_due_to_usrmerge_issue.html
---
 debian/rules | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index a3d2833a4..07d9a2571 100755
--- a/debian/rules
+++ b/debian/rules
@@ -65,7 +65,11 @@ CONFIGURE_GCC_FLAGS = \
 	--without-newlib \
 	$(MULTILIB_LIST) \
 	$(BUILDFLAGS) \
-	$(TARGET_TOOLS)
+	$(TARGET_TOOLS) \
+	SED=/bin/sed \
+	SHELL=/bin/sh \
+	BASH=/bin/bash \
+	CONFIG_SHELL=/bin/bash \
 
 %:
 	dh $@ -D$(GCC_SOURCE_DIR) -B$(GCC_BUILD_DIR) --parallel --with autoreconf
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


Reply to: