grub: Further reproducibility fix

Fix the ordering in the generated unidata.c file to aid reproducibility.

[YOCTO #14167]

(From OE-Core rev: c0f96eadf9a85c911ba551d619c32794bb620dde)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6d9c9f7604fd32ef926726a46ae053bbab6ccb4f)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2020-12-31 17:12:27 +00:00
parent c78be2d8f8
commit 85167b3594

View File

@ -8,6 +8,9 @@ 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.
Also ensure the generated unidata.c file is deterministic by sorting the
keys of the dict.
Upstream-Status: Pending
Richard Purdie <richard.purdie@linuxfoundation.org>
@ -38,3 +41,16 @@ Index: grub-2.04/gentpl.py
return ''.join(r)
def platform_conditional(platform, closure):
Index: grub-2.04/util/import_unicode.py
===================================================================
--- grub-2.04.orig/util/import_unicode.py
+++ grub-2.04/util/import_unicode.py
@@ -174,7 +174,7 @@ infile.close ()
outfile.write ("struct grub_unicode_arabic_shape grub_unicode_arabic_shapes[] = {\n ")
-for x in arabicsubst:
+for x in sorted(arabicsubst):
try:
if arabicsubst[x]['join'] == "DUAL":
outfile.write ("{0x%x, 0x%x, 0x%x, 0x%x, 0x%x},\n " % (arabicsubst[x][0], arabicsubst[x][1], arabicsubst[x][2], arabicsubst[x][3], arabicsubst[x][4]))