From 0071fbd646208357e4f9117a6ce7653a8f30f301 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 31 Dec 2020 17:12:27 +0000 Subject: grub: Further reproducibility fix Fix the ordering in the generated unidata.c file to aid reproducibility. [YOCTO #14167] Signed-off-by: Richard Purdie (cherry picked from commit 6d9c9f7604fd32ef926726a46ae053bbab6ccb4f) Signed-off-by: Steve Sakoman --- meta/recipes-bsp/grub/files/determinism.patch | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/meta/recipes-bsp/grub/files/determinism.patch b/meta/recipes-bsp/grub/files/determinism.patch index fac80e7b54..3c1f562c71 100644 --- a/meta/recipes-bsp/grub/files/determinism.patch +++ b/meta/recipes-bsp/grub/files/determinism.patch @@ -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 @@ -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])) -- cgit 1.2.3-korg