[isar-cip-core] efibootguard-boot.py: update dtbs based on their deploydir subdir paths

Message ID DB3PR10MB6908BF491311D0AB428DFF79E63B2@DB3PR10MB6908.EURPRD10.PROD.OUTLOOK.COM
State Not Applicable, archived
Headers show
Series [isar-cip-core] efibootguard-boot.py: update dtbs based on their deploydir subdir paths | expand

Commit Message

nicusor.huhulea@siemens.com March 28, 2024, 7:54 a.m. UTC
This needs to be in sync with the isar image.bbclass changes where the dtbs are placed in
their corresponded image name subdirectories. 


    Signed-off-by: Nicusor Huhulea <nicusor.huhulea@siemens.com>

Comments

Quirin Gylstorff March 28, 2024, 4:33 p.m. UTC | #1
On 3/28/24 8:54 AM, 'nicusor.huhulea@siemens.com' via isar-users wrote:
> This needs to be in sync with the isar image.bbclass changes where the dtbs are placed in
> their corresponded image name subdirectories.

Wrong mailing list - please post on cip-dev@lists.cip-project.org.
Quirin
> 
> 
>      Signed-off-by: Nicusor Huhulea <nicusor.huhulea@siemens.com>
> 
> diff --git a/scripts/lib/wic/plugins/source/efibootguard-boot.py b/scripts/lib/wic/plugins/source/efibootguard-boot.py
> index 4e3aefb..86e342c 100644
> --- a/scripts/lib/wic/plugins/source/efibootguard-boot.py
> +++ b/scripts/lib/wic/plugins/source/efibootguard-boot.py
> @@ -181,6 +181,8 @@ class EfibootguardBootPlugin(SourcePlugin):
>                                        deploy_dir, kernel_image, initrd_image,
>                                        dtb_files, source_params):
>           rootfs_path = rootfs_dir.get('ROOTFS_DIR')
> +        image_basename = get_bitbake_var("IMAGE_BASENAME")
> +        machine = get_bitbake_var("MACHINE")
>           efiarch = get_bitbake_var("EFI_ARCH")
>           if not efiarch:
>               msger.error("Bitbake variable 'EFI_ARCH' not set, exiting\n")
> @@ -210,8 +212,10 @@ class EfibootguardBootPlugin(SourcePlugin):
>                   uefi_kernel_file=uefi_kernel_file)
>           if dtb_files:
>               for dtb in dtb_files:
> -                cmd += ' -d {deploy_dir}/{dtb_file}'.format(
> +                cmd += ' -d {deploy_dir}/{image_basename}-{machine}.dtbs/{dtb_file}'.format(
>                       deploy_dir=deploy_dir,
> +                    image_basename=image_basename,
> +                    machine=machine,
>                       dtb_file=os.path.basename(dtb))
>           exec_cmd(cmd, as_shell=True)
>

Patch

diff --git a/scripts/lib/wic/plugins/source/efibootguard-boot.py b/scripts/lib/wic/plugins/source/efibootguard-boot.py
index 4e3aefb..86e342c 100644
--- a/scripts/lib/wic/plugins/source/efibootguard-boot.py
+++ b/scripts/lib/wic/plugins/source/efibootguard-boot.py
@@ -181,6 +181,8 @@  class EfibootguardBootPlugin(SourcePlugin):
                                      deploy_dir, kernel_image, initrd_image,
                                      dtb_files, source_params):
         rootfs_path = rootfs_dir.get('ROOTFS_DIR')
+        image_basename = get_bitbake_var("IMAGE_BASENAME")
+        machine = get_bitbake_var("MACHINE")
         efiarch = get_bitbake_var("EFI_ARCH")
         if not efiarch:
             msger.error("Bitbake variable 'EFI_ARCH' not set, exiting\n")
@@ -210,8 +212,10 @@  class EfibootguardBootPlugin(SourcePlugin):
                 uefi_kernel_file=uefi_kernel_file)
         if dtb_files:
             for dtb in dtb_files:
-                cmd += ' -d {deploy_dir}/{dtb_file}'.format(
+                cmd += ' -d {deploy_dir}/{image_basename}-{machine}.dtbs/{dtb_file}'.format(
                     deploy_dir=deploy_dir,
+                    image_basename=image_basename,
+                    machine=machine,
                     dtb_file=os.path.basename(dtb))
         exec_cmd(cmd, as_shell=True)