util/grub-install: Allow recursive copying of theme dirs
grub-install allows to pass a parameter to install a theme in the boot partition. This works fine for the default starfield theme. However, in general themes can contain subdirectories, as, e.g. "icons", and these are not copied by grub-install. As a result, the icons are missing on the screen. Fix this by simple recursive copying. Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
f551d3de24
commit
c477a95519
@ -803,13 +803,20 @@ copy_all (const char *srcd,
|
||||
|| strcmp (de->d_name, "..") == 0)
|
||||
continue;
|
||||
srcf = grub_util_path_concat (2, srcd, de->d_name);
|
||||
if (grub_util_is_special_file (srcf)
|
||||
|| grub_util_is_directory (srcf))
|
||||
if (grub_util_is_special_file (srcf))
|
||||
{
|
||||
free (srcf);
|
||||
continue;
|
||||
}
|
||||
dstf = grub_util_path_concat (2, dstd, de->d_name);
|
||||
if (grub_util_is_directory (srcf))
|
||||
{
|
||||
grub_install_mkdir_p (dstf);
|
||||
copy_all (srcf, dstf);
|
||||
free (srcf);
|
||||
free (dstf);
|
||||
continue;
|
||||
}
|
||||
grub_install_compress_file (srcf, dstf, 1);
|
||||
free (srcf);
|
||||
free (dstf);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user