The previous grub-install patch delaying the copying of files caused a
regression when installing without an existing directory structure.

This patch ensures that the platform directory actually exists by the
time the code tries to canonicalize its filename.

Signed-off-by: Mate Kukri <mate.ku...@canonical.com>
---
 util/grub-install.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/util/grub-install.c b/util/grub-install.c
index 9feb4ea9e..7dc5657bb 100644
--- a/util/grub-install.c
+++ b/util/grub-install.c
@@ -1366,18 +1366,6 @@ main (int argc, char *argv[])
       relative_grubdir = xstrdup ("/");
     }
 
-  char *platname =  grub_install_get_platform_name (platform);
-  char *platdir;
-  {
-    char *t = grub_util_path_concat (2, grubdir,
-                                  platname);
-    platdir = grub_canonicalize_file_name (t);
-    if (!platdir)
-      grub_util_error (_("failed to get canonical path of `%s'"),
-                      t);
-    free (t);
-  }
-
   char *prefix_drive = NULL;
   char *install_drive = NULL;
 
@@ -1408,6 +1396,18 @@ main (int argc, char *argv[])
   if (!grub_util_is_regular (envfile))
     grub_util_create_envblk_file (envfile);
 
+  char *platname =  grub_install_get_platform_name (platform);
+  char *platdir;
+  {
+    char *t = grub_util_path_concat (2, grubdir,
+                                   platname);
+    platdir = grub_canonicalize_file_name (t);
+    if (!platdir)
+      grub_util_error (_("failed to get canonical path of `%s'"),
+                       t);
+    free (t);
+  }
+
   load_cfg = grub_util_path_concat (2, platdir,
                                   "load.cfg");
 
-- 
2.39.2


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to