From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <javierm@redhat.com>
Date: Fri, 27 Apr 2018 17:53:41 +0200
Subject: [PATCH] Use BLS version field to compare entries if id field isn't
 defined

The BootLoaderSpec fragments generated by OSTree don't have the id field,
so grub2 will attempt to sort the entries by using the title field which
may not be correct. The entries do have a version field though so use it.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
 grub-core/commands/blscfg.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/grub-core/commands/blscfg.c b/grub-core/commands/blscfg.c
index 6ab85df6b3a..c52d2b2e05a 100644
--- a/grub-core/commands/blscfg.c
+++ b/grub-core/commands/blscfg.c
@@ -418,6 +418,9 @@ static int bls_cmp(const void *p0, const void *p1, void *state UNUSED)
 
   rc = bls_keyval_cmp (e0, e1, "id");
 
+  if (rc == 0)
+    rc = bls_keyval_cmp (e0, e1, "version");
+
   if (rc == 0)
     rc = bls_keyval_cmp (e0, e1, "title");
 
