[PATCH 1/1] snapcraft.yaml: Add check for nvidia firmware files

Stefan Bader stefan.bader at canonical.com
Thu Jan 16 09:40:25 UTC 2025


On 14.01.25 00:18, Aaron Jauregui wrote:
> BugLink: https://bugs.launchpad.net/bugs/2089509
> 
> Prevent builds with missing nvidia firmware files that may be
> trimmed due to version mismatches from succeeding.
> 
> Signed-off-by: Aaron Jauregui <aaron.jauregui at canonical.com>
> ---
>   snapcraft.yaml | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/snapcraft.yaml b/snapcraft.yaml
> index 9e5ec26..c57dd33 100644
> --- a/snapcraft.yaml
> +++ b/snapcraft.yaml
> @@ -96,4 +96,9 @@ parts:
>         # Check that only one nvidia series got shipped
>         if [ "$SNAPCRAFT_TARGET_ARCH" != "armhf" ]; then
>           [ $(ls "$SNAPCRAFT_STAGE"/modules/*/kernel/nvidia-*/bits/SHA256SUMS | wc -l) -eq 1 ]
> +        # Make sure firmware blobs are present
> +        modpath="$(find $SNAPCRAFT_STAGE/modules/*/kernel/nvidia-* -name nv.o)"
> +        while IFS= read -r fw ; do
> +          test -e "$SNAPCRAFT_STAGE/firmware/$fw"

I guess this fails the build because of bailing on any RC != 0. I would 
prefer having a proper "if" case maybe even with an echo that states 
which blob is missing. If the bailing could be moved to after the loop 
one might even get a list of MISSes. I might overcomplicate it but I am 
thinking of a case where only one additional blob misses.
But at least having a message about why things failed would help 
tracking issues.

> +        done < <(strings -d "$modpath" | sed -n 's/^firmware=//p')
>         fi


-- 
- Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 47863 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20250116/78fc5941/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20250116/78fc5941/attachment-0001.sig>


More information about the kernel-team mailing list