1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-07 03:04:04 +00:00

syslinux: Fix reproducibility issues

Add sorting to wildcard expansion in the makefile to make builds
reproducible.

(From OE-Core rev: 5541ba76ccc0c416f315bc0dc14a20a33059bd5f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2021-02-27 23:42:03 +00:00
parent 00dcf14b36
commit ab9e43134b
3 changed files with 27 additions and 1 deletions
@@ -45,7 +45,6 @@ exclude_packages = [
'qemu',
'ruby-ri-docs',
'swig',
'syslinux-misc',
'systemd-bootchart'
]
@@ -0,0 +1,22 @@
In order to build deterministic binaries, we need to sort the wildcard expansion
so the libraries are linked in the same order each time. This fixes reproducibility
issues within syslinux builds.
Upstream-Status: Pending
RP 2021/3/1
Index: syslinux-6.04-pre2/mk/lib.mk
===================================================================
--- syslinux-6.04-pre2.orig/mk/lib.mk
+++ syslinux-6.04-pre2/mk/lib.mk
@@ -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))
+ $(sort $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c))) \
+ $(sort $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S)))
LIBCONSOLE_OBJS = \
\
@@ -20,11 +20,16 @@ SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz
file://0009-linux-syslinux-implement-install_bootblock.patch \
file://0010-Workaround-multiple-definition-of-symbol-errors.patch \
file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
file://determinism.patch \
"
SRC_URI[md5sum] = "2b31c78f087f99179feb357da312d7ec"
SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3fadf94"
# remove at next version upgrade or when output changes
PR = "r1"
HASHEQUIV_HASH_VERSION .= ".1"
RECIPE_NO_UPDATE_REASON = "6.04-pre3 is broken"
UPSTREAM_CHECK_URI = "https://www.zytor.com/pub/syslinux/"
UPSTREAM_CHECK_REGEX = "syslinux-(?P<pver>.+)\.tar"