util/grub-install: Move platdir path canonicalization after files were copied to grubdir
The commit 3f9eace2d (util/grub-install: Delay copying files to
{grubdir,platdir} after install_device was validated) delaying
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.
Fixes: 3f9eace2d (util/grub-install: Delay copying files to {grubdir,platdir} after install_device was validated)
Signed-off-by: Mate Kukri <mate.kukri@canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
f18a899ab1
commit
353beb80c0
@ -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");
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user