summaryrefslogtreecommitdiff
path: root/libre/syslinux/0025-reproducible-build.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/syslinux/0025-reproducible-build.patch')
-rw-r--r--libre/syslinux/0025-reproducible-build.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/libre/syslinux/0025-reproducible-build.patch b/libre/syslinux/0025-reproducible-build.patch
new file mode 100644
index 000000000..965a9d946
--- /dev/null
+++ b/libre/syslinux/0025-reproducible-build.patch
@@ -0,0 +1,39 @@
+diff --git a/core/Makefile b/core/Makefile
+index 50ff35af..f1af71b7 100644
+--- a/core/Makefile
++++ b/core/Makefile
+@@ -112,7 +112,7 @@ CFLAGS += -D__SYSLINUX_CORE__ -D__FIRMWARE_$(FIRMWARE)__ \
+ # official release. Otherwise, substitute a hex string that is pretty much
+ # guaranteed to be unique to be unique from build to build.
+ ifndef HEXDATE
+-HEXDATE := $(shell $(PERL) $(SRC)/../now.pl $(SRCS))
++HEXDATE := $(shell printf '0x%x\n' $(git log -1 --format=%ct)) # make the build more predictable
+ endif
+ ifndef DATE
+ DATE := $(shell sh $(SRC)/../gen-id.sh $(VERSION) $(HEXDATE))
+diff --git a/mk/lib.mk b/mk/lib.mk
+index f3fb07c7..bece24a0 100644
+--- a/mk/lib.mk
++++ b/mk/lib.mk
+@@ -58,8 +58,8 @@ CFLAGS += -mregparm=3 -DREGPARM=3
+ endif
+
+ ARCH_MATH_OBJS = \
+- $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/math/*.c)) \
+- $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/math/*.S))
++ $(patsubst $(com32)/lib/%.c,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/math/*.c))) \
++ $(patsubst $(com32)/lib/%.S,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/math/*.S)))
+
+ VPATH = $(SRC)
+ LIBOTHER_OBJS = \
+@@ -130,8 +130,8 @@ LIBENTRY_OBJS = \
+ exit.o
+
+ LIBGCC_OBJS = \
+- $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c)) \
+- $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S))
++ $(patsubst $(com32)/lib/%.c,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c))) \
++ $(patsubst $(com32)/lib/%.S,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S)))
+
+ LIBCONSOLE_OBJS = \
+ \