From: Vagrant Cascadian Date: Sun, 12 Jun 2016 12:18:48 +0000 (-0700) Subject: Use C locale when setting CC_VERSION_STRING and LD_VERSION_STRING. X-Git-Tag: archive/raspbian/2016.11+dfsg1-3+rpi1^2^2^2^2^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e6ad75c12fbe43c343148e7ee30d1bbfd19e1e35;p=u-boot.git Use C locale when setting CC_VERSION_STRING and LD_VERSION_STRING. The output reported may be locale-dependent, which results in unreproducible builds. $ LANG=C ld --version | head -n 1 GNU ld (GNU Binutils for Debian) 2.26 $ LANG=it_CH.UTF-8 ld --version | head -n 1 ld di GNU (GNU Binutils for Debian) 2.26 Forcing LC_ALL=C ensures the output is consistant regardless of the build environment. Thanks to HW42 for debugging the issue: https://lists.alioth.debian.org/pipermail/reproducible-builds/Week-of-Mon-20160606/005722.html For more information about reproducible builds: https://reproducible-builds.org/ Series-to: u-boot Series-cc: HW42 , reproducible-builds@lists.alioth.debian.org Gbp-Pq: Topic upstream/submitted/reproducible Gbp-Pq: Name 0001-Use-C-locale-when-setting-CC_VERSION_STRING-and-LD_V.patch --- diff --git a/Makefile b/Makefile index 089aeacdf..834af865b 100644 --- a/Makefile +++ b/Makefile @@ -1263,8 +1263,8 @@ prepare: prepare0 define filechk_version.h (echo \#define PLAIN_VERSION \"$(UBOOTRELEASE)\"; \ echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; \ - echo \#define CC_VERSION_STRING \"$$($(CC) --version | head -n 1)\"; \ - echo \#define LD_VERSION_STRING \"$$($(LD) --version | head -n 1)\"; ) + echo \#define CC_VERSION_STRING \"$$(LC_ALL=C $(CC) --version | head -n 1)\"; \ + echo \#define LD_VERSION_STRING \"$$(LC_ALL=C $(LD) --version | head -n 1)\"; ) endef # The SOURCE_DATE_EPOCH mechanism requires a date that behaves like GNU date.