When building with SOURCE_DATE_EPOCH the timezone is in UTC. When
building normally the timezone is taken from the build machine's locale
setting.

Fixes: f3f431a71272 ("Reproducible U-Boot build support, using
SOURCE_DATE_EPOCH")
Signed-off-by: Chris Packham <judge.pack...@gmail.com>
---
Hopefully this will suit everyone. I've done a quick sanity test with
sandbox and the date shown in the version output looks to be what I
expect with/without SOURCE_DATE_EPOCH.

 Makefile | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 394ed09..f75c730 100644
--- a/Makefile
+++ b/Makefile
@@ -1230,10 +1230,16 @@ define filechk_version.h
 endef
 
 define filechk_timestamp.h
-       (SOURCE_DATE="$${SOURCE_DATE_EPOCH:+@$$SOURCE_DATE_EPOCH}"; \
-       LC_ALL=C date -u -d "$${SOURCE_DATE:-now}" +'#define U_BOOT_DATE "%b %d 
%C%y"'; \
-       LC_ALL=C date -u -d "$${SOURCE_DATE:-now}" +'#define U_BOOT_TIME "%T"'; 
\
-       LC_ALL=C date -u -d "$${SOURCE_DATE:-now}" +'#define U_BOOT_TZ "%z"' )
+       (if test -n "$${SOURCE_DATE_EPOCH}"; then \
+               SOURCE_DATE="@$${SOURCE_DATE_EPOCH}"; \
+               LC_ALL=C date -u -d "$${SOURCE_DATE}" +'#define U_BOOT_DATE "%b 
%d %C%y"'; \
+               LC_ALL=C date -u -d "$${SOURCE_DATE}" +'#define U_BOOT_TIME 
"%T"'; \
+               LC_ALL=C date -u -d "$${SOURCE_DATE}" +'#define U_BOOT_TZ 
"%z"'; \
+       else \
+               LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"'; \
+               LC_ALL=C date +'#define U_BOOT_TIME "%T"'; \
+               LC_ALL=C date +'#define U_BOOT_TZ "%z"'; \
+       fi)
 endef
 
 $(version_h): include/config/uboot.release FORCE
-- 
2.5.0.rc0


_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to