mirror of
https://git.yoctoproject.org/poky
synced 2026-05-02 18:32:15 +02:00
There is a second list sorting problem in a generator script within grub, add a sort() of a list to resolve this. (From OE-Core rev: fcb5fbb2e326e48236e03cc0d0540b6b0e7a287e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit cb5e96e05930eaff4d679166416d6c84d6e3236b) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
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.
|
|
|
|
Also, the output of the SOURCES lines in grub-core/Makefile.core.am, generated
|
|
from grub-core/Makefile.core.def with gentpl.py is not deterministic due to
|
|
missing sorting of the list used to generate it. Add such a sort.
|
|
|
|
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]++
|
|
Index: grub-2.04/gentpl.py
|
|
===================================================================
|
|
--- grub-2.04.orig/gentpl.py
|
|
+++ grub-2.04/gentpl.py
|
|
@@ -568,6 +568,7 @@ def foreach_platform_value(defn, platfor
|
|
for group in RMAP[platform]:
|
|
for value in defn.find_all(group + suffix):
|
|
r.append(closure(value))
|
|
+ r.sort()
|
|
return ''.join(r)
|
|
|
|
def platform_conditional(platform, closure):
|