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)
|
|| strcmp (de->d_name, "..") == 0)
|
||||||
continue;
|
continue;
|
||||||
srcf = grub_util_path_concat (2, srcd, de->d_name);
|
srcf = grub_util_path_concat (2, srcd, de->d_name);
|
||||||
if (grub_util_is_special_file (srcf)
|
if (grub_util_is_special_file (srcf))
|
||||||
|| grub_util_is_directory (srcf))
|
|
||||||
{
|
{
|
||||||
free (srcf);
|
free (srcf);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
dstf = grub_util_path_concat (2, dstd, de->d_name);
|
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);
|
grub_install_compress_file (srcf, dstf, 1);
|
||||||
free (srcf);
|
free (srcf);
|
||||||
free (dstf);
|
free (dstf);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user