summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oeqa/selftest/cases/reproducible.py1
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/determinism.patch22
-rw-r--r--meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb5
3 files changed, 27 insertions, 1 deletions
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index fcd9d83ab8..e9c6a222dc 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -45,7 +45,6 @@ exclude_packages = [
45 'qemu', 45 'qemu',
46 'ruby-ri-docs', 46 'ruby-ri-docs',
47 'swig', 47 'swig',
48 'syslinux-misc',
49 'systemd-bootchart' 48 'systemd-bootchart'
50 ] 49 ]
51 50
diff --git a/meta/recipes-devtools/syslinux/syslinux/determinism.patch b/meta/recipes-devtools/syslinux/syslinux/determinism.patch
new file mode 100644
index 0000000000..2fb8c64df3
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/syslinux/determinism.patch
@@ -0,0 +1,22 @@
1In order to build deterministic binaries, we need to sort the wildcard expansion
2so the libraries are linked in the same order each time. This fixes reproducibility
3issues within syslinux builds.
4
5Upstream-Status: Pending
6RP 2021/3/1
7
8Index: syslinux-6.04-pre2/mk/lib.mk
9===================================================================
10--- syslinux-6.04-pre2.orig/mk/lib.mk
11+++ syslinux-6.04-pre2/mk/lib.mk
12@@ -130,8 +130,8 @@ LIBENTRY_OBJS = \
13 exit.o
14
15 LIBGCC_OBJS = \
16- $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c)) \
17- $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S))
18+ $(sort $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c))) \
19+ $(sort $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S)))
20
21 LIBCONSOLE_OBJS = \
22 \
diff --git a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index 8d78f62efa..dadba9eca9 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -20,11 +20,16 @@ SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz
20 file://0009-linux-syslinux-implement-install_bootblock.patch \ 20 file://0009-linux-syslinux-implement-install_bootblock.patch \
21 file://0010-Workaround-multiple-definition-of-symbol-errors.patch \ 21 file://0010-Workaround-multiple-definition-of-symbol-errors.patch \
22 file://0001-install-don-t-install-obsolete-file-com32.ld.patch \ 22 file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
23 file://determinism.patch \
23 " 24 "
24 25
25SRC_URI[md5sum] = "2b31c78f087f99179feb357da312d7ec" 26SRC_URI[md5sum] = "2b31c78f087f99179feb357da312d7ec"
26SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3fadf94" 27SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3fadf94"
27 28
29# remove at next version upgrade or when output changes
30PR = "r1"
31HASHEQUIV_HASH_VERSION .= ".1"
32
28RECIPE_NO_UPDATE_REASON = "6.04-pre3 is broken" 33RECIPE_NO_UPDATE_REASON = "6.04-pre3 is broken"
29UPSTREAM_CHECK_URI = "https://www.zytor.com/pub/syslinux/" 34UPSTREAM_CHECK_URI = "https://www.zytor.com/pub/syslinux/"
30UPSTREAM_CHECK_REGEX = "syslinux-(?P<pver>.+)\.tar" 35UPSTREAM_CHECK_REGEX = "syslinux-(?P<pver>.+)\.tar"