On Wed, Aug 20, 2025 at 05:06:54PM +0200, Jérémie Dautheribes wrote:

> When using binman with the '-a spl-dtb=y' flag, if the SPL blob is not
> found, binman throws a cryptic error message:
> binman: 'NoneType' object has no attribute 'startswith'
> 
> Let's improve the error message to explicitly state which SPL blob is
> missing.
> This is particularly useful when binman is used as a standalone tool
> outside the U-Boot source tree.
> 
> Signed-off-by: Jérémie Dautheribes <[email protected]>
> ---
>  tools/binman/etype/blob_dtb.py | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/tools/binman/etype/blob_dtb.py b/tools/binman/etype/blob_dtb.py
> index b234323d7cf..772579394d4 100644
> --- a/tools/binman/etype/blob_dtb.py
> +++ b/tools/binman/etype/blob_dtb.py
> @@ -8,6 +8,8 @@
>  from binman.entry import Entry
>  from binman.etype.blob import Entry_blob
>  from dtoc import fdt_util
> +import errno
> +import os
>  import struct
>  
>  # This is imported if needed
> @@ -42,6 +44,9 @@ class Entry_blob_dtb(Entry_blob):
>          """Get the device-tree from the list held by the 'state' module"""
>          self._filename = self.GetDefaultFilename()
>          self._pathname, _ = self.FdtContents(self.GetFdtEtype())
> +        if self._pathname is None:
> +            raise FileNotFoundError(errno.ENOENT,
> +                                    os.strerror(errno.ENOENT), 
> self._filename)
>          return super().ReadBlobContents()
>  
>      def ProcessContents(self):

Sorry for the delay in review. We also need to update the function
comment so that python coverage remains at 100%.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to