Re: [PATCH] grub-install: Allow recursive copying of theme dirs

2025-12-20 Thread Daniel Kiper
On Sat, Dec 13, 2025 at 08:59:58PM +0100, Andreas K. Hüttel wrote:
> 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 

Reviewed-by: Daniel Kiper 

Daniel

___
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel


[PATCH] grub-install: Allow recursive copying of theme dirs

2025-12-13 Thread Andreas K . Hüttel
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 
---
 util/grub-install-common.c | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/util/grub-install-common.c b/util/grub-install-common.c
index a913ee61c..c1c3c5704 100644
--- a/util/grub-install-common.c
+++ b/util/grub-install-common.c
@@ -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);
-- 
2.51.2


___
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel