054f3fd57b
OpenWrt uses ancient u-boot thats not reproducible. There are multiple upstream changes that introduce reproducible builds like: 859e92b775fd8ebcfacc591eaf621b677c95b6f7 (not used here - the CMD_DATE/TIMESTAMP functionality seems to be disabled by config) 70d39f57146a6cb94736db39c770c3d95e07bedb f3f431a712729a1af94d01bd1bfde17a252ff02c 2d9efa1227262249d381ed5d9d341cbdba76e62d Instead of changing the Makefile too much this changeset just tries to use the changes in Makefile from current upstream git f5fd45f *Should* fix issue reported by reproducible lede page: https://tests.reproducible-builds.org/lede/lede.html Compile tested only (verified w. hexdump & md5sum) Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
31 lines
1.4 KiB
Diff
31 lines
1.4 KiB
Diff
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -389,8 +389,26 @@ $(VERSION_FILE):
|
|
@cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
|
|
|
|
$(TIMESTAMP_FILE):
|
|
- @date +'#define U_BOOT_DATE "%b %d %C%y"' > $@
|
|
- @date +'#define U_BOOT_TIME "%T"' >> $@
|
|
+ (if test -n "$${SOURCE_DATE_EPOCH}"; then \
|
|
+ SOURCE_DATE="@$${SOURCE_DATE_EPOCH}"; \
|
|
+ DATE=""; \
|
|
+ for date in gdate date.gnu date; do \
|
|
+ $${date} -u -d "$${SOURCE_DATE}" >/dev/null 2>&1 && DATE="$${date}"; \
|
|
+ done; \
|
|
+ if test -n "$${DATE}"; then \
|
|
+ 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"' >> $@; \
|
|
+ LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_DMI_DATE "%m/%d/%Y"' >> $@; \
|
|
+ else \
|
|
+ return 42; \
|
|
+ fi; \
|
|
+ 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"'; \
|
|
+ LC_ALL=C date +'#define U_BOOT_DMI_DATE "%m/%d/%Y"'; \
|
|
+ fi)
|
|
|
|
gdbtools:
|
|
$(MAKE) -C tools/gdb all || exit 1
|