Re: [OE-core] [PATCH v4 2/2] image-bootfiles.bbclass: new class, copy boot files to root filesystem

Marcus Folkesson
2024-06-17T06:17:52Z

[-- Attachment #1: Type: text/plain, Size: 1699 bytes --]

Hi Konrad,

Thanks for your comments!

On Sat, Jun 15, 2024 at 09:26:49PM -0700, Konrad Weihmann via lists.openembedded.org wrote:
> Looking at the combination of the patches and the following
>
> + boot_files = d.getVar("IMAGE_BOOT_FILES")
> + if boot_files is None:
> + return
> +
> + install_files = get_boot_files(deploy_image_dir, boot_files)
> + if install_files is None:
> + bb.warn("Could not find any boot files to install even though IMAGE_BOOT_FILES is not empty")
> + return
>
> get_boot_files only returns None if boot_files is None, which is caught already earlier on here, so the bb.warn clause likely will not be reached

You are right. The case i wanted to cover was if install_files was an
empty list.
This could occour if using asterix, e.g. IMAGE_BOOT_FILES = "bootfile.*" and there is
no "bootfile.*" in the DEPLOY_DIR.

>
> Personally a check like `if install_files:` would make more sense

I think I will keep the check but change it to
if not install_files:

Does that make sense?
>
> IMAGE_PREPROCESS_COMMAND += "bootfiles_populate;"
>
> I'm not sure if that wouldn't raise issues if any of the packages would install a file by the same path/name as also set here.
>
> In my opinion moving it to a POSTPROCESS function with some checks that it won't overwrite any files/folders might be the better option

Looking through the documentation, I think ROOTFS_POSTPROCESS_COMMAND
could be a candidate.
I'm not sure which one I prefer though.

Check that it won't overwrite any files/folder could be a good thing. I
will implement that and raise an error if the file/folder already
exists.

Best regards,
Marcus Folkesson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]