1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 01:19:52 +00:00

syslinux: Fix reproducibility issues

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

(From OE-Core rev: 7529d0a5fff17e35238c0f005163360f7f903898)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5541ba76ccc0c416f315bc0dc14a20a33059bd5f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
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 00833c52d6
commit 7143980b5f
2 changed files with 27 additions and 0 deletions
@@ -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 = \
\
@@ -23,11 +23,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"
UPSTREAM_CHECK_URI = "https://www.zytor.com/pub/syslinux/"
UPSTREAM_CHECK_REGEX = "syslinux-(?P<pver>.+)\.tar"
UPSTREAM_VERSION_UNKNOWN = "1"