Source: gcc-sh-elf
Severity: normal
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: shell
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

The copyright files shipped in gcc-sh-elf vary depending on which shell
/bin/sh points to:

  
https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/gcc-sh-elf.html

  ./usr/share/doc/gcc-sh-elf/copyright

  ... s/GPL-3'...-----
vs.
  ... s/GPL-3'..\n----

Patch attached which adjust the debian/rules target to use plain "echo"
rather than "echo -n", which appears to be less dependent on shell
behavior.


This patch alone does not fix all reproducibility issues (e.g. build
paths, which are only tested on unstable and experimental), but with
this patch and the patch recently submitted addressing usrmerge issues:

  https://bugs.debian.org/1003500


... gcc-sh-elf should become reproducible when it migrates to
bookworm/testing!


Thanks for maintaining gcc-sh-elf!


live well,
  vagrant
From 6a64475767670e5dd1eafd113b9fd60fcfcbd6e4 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Tue, 11 Jan 2022 04:26:20 +0000
Subject: [PATCH 2/2] debian/rules: Adjust copyright generation targets to use
 plain "echo" instead of "echo -n".

The behavior of "echo -n" may be shell dependent, resulting in
different builds depending one which shell /bin/sh points to.
---
 debian/rules | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/debian/rules b/debian/rules
index 0c06730..4cefb1c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -97,17 +97,20 @@ override_dh_auto_install:
 execute_before_dh_installdocs: debian/gcc-$(gnu_type).copyright debian/libnewlib-$(gnu_type)-dev.copyright
 debian/gcc-$(gnu_type).copyright: debian/copyright /usr/share/doc/gcc-$(gcc-version-major)-source/copyright /usr/share/doc/gdb-source/copyright
 	cp debian/copyright $@
-	echo -n "\n-----BEGIN GCC-$(gcc-version-major)-SOURCE COPYRIGHT INFORMATION-----\n" >> $@
+	echo >> $@
+	echo "-----BEGIN GCC-$(gcc-version-major)-SOURCE COPYRIGHT INFORMATION-----" >> $@
 	cat /usr/share/doc/gcc-$(gcc-version-major)-source/copyright >> $@
-	echo -n "-----END GCC-$(gcc-version-major)-SOURCE COPYRIGHT INFORMATION-----\n" \
-		"\n-----BEGIN GDB-SOURCE COPYRIGHT INFORMATION-----\n" >> $@
+	echo "-----END GCC-$(gcc-version-major)-SOURCE COPYRIGHT INFORMATION-----" >> $@
+	echo >> $@
+	echo "-----BEGIN GDB-SOURCE COPYRIGHT INFORMATION-----" >> $@
 	cat /usr/share/doc/gdb-source/copyright >> $@
-	echo -n "-----END GDB-SOURCE COPYRIGHT INFORMATION-----\n" >> $@
+	echo >> $@
+	echo "-----END GDB-SOURCE COPYRIGHT INFORMATION-----" >> $@
 debian/libnewlib-$(gnu_type)-dev.copyright: debian/copyright /usr/share/doc/newlib-source/copyright
 	cp debian/copyright $@
-	echo -n "\n-----BEGIN NEWLIB-SOURCE COPYRIGHT INFORMATION-----\n" >> $@
+	echo "-----BEGIN NEWLIB-SOURCE COPYRIGHT INFORMATION-----" >> $@
 	cat /usr/share/doc/newlib-source/copyright >> $@
-	echo -n "-----END NEWLIB-SOURCE COPYRIGHT INFORMATION-----\n" >> $@
+	echo "-----END NEWLIB-SOURCE COPYRIGHT INFORMATION-----" >> $@
 
 # The private shared library does not need ldconfig triggers.
 override_dh_makeshlibs:
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to