grub: Fix build reproducibility issue

We're seeing reproducibility issue on the autobuilder due to changing
module dependency ordering. Add some sorting to an awk script to fix this.

(From OE-Core rev: 925ddd5edccbfec52ff45c1b54ab2ae1bfe0d57c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2020-12-19 14:35:40 +00:00
parent 4fab901c65
commit 554b9adb0f
2 changed files with 25 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
The output in moddep.lst generated from syminfo.lst using genmoddep.awk is
not deterministic since the order of the dependencies on each line can vary
depending on how awk sorts the values in the array.
Be deterministic in the output by sorting the dependencies on each line.
Upstream-Status: Pending
Richard Purdie <richard.purdie@linuxfoundation.org>
Index: grub-2.04/grub-core/genmoddep.awk
===================================================================
--- grub-2.04.orig/grub-core/genmoddep.awk
+++ grub-2.04/grub-core/genmoddep.awk
@@ -59,7 +59,9 @@ END {
}
modlist = ""
depcount[mod] = 0
- for (depmod in uniqmods) {
+ n = asorti(uniqmods, w)
+ for (i = 1; i <= n; i++) {
+ depmod = w[i]
modlist = modlist " " depmod;
inverse_dependencies[depmod] = inverse_dependencies[depmod] " " mod
depcount[mod]++

View File

@@ -27,6 +27,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
file://script-Remove-unused-fields-from-grub_script_functio.patch \
file://CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch \
file://CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch \
file://determinism.patch \
"
SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"
SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea"