Sync from SUSE:SLFO:Main kernel-firmware-nvidia-gspx-G06 revision 8b96dc27f748efb61d903a2534e52f1b

This commit is contained in:
Adrian Schröter 2024-07-22 17:36:29 +02:00
parent 3098f5a1f2
commit ffb372a000
7 changed files with 1056100 additions and 1919810 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>cuda</package>
</multibuild>

BIN
kernel-firmware-nvidia-gspx-G06-555.42.06-0.x86_64.rpm (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1 +1,6 @@
addFilter("kernel-firmware-nvidia-gspx.*shlib-policy-name-error")
# Firmware doesn't run on the CPU. It should be arch-independent;
# NVIDIA has confirmed this.
addFilter(".* (W|E): arch-independent-package-contains-binary-or-object .*/usr/lib/firmware/nvidia/*")

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Fri Jul 12 11:54:05 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- due to maintenance process we can switch to noarch only for new
products; so do this only for sle15-sp7 or later
-------------------------------------------------------------------
Thu Jul 11 10:56:16 UTC 2024 - Egbert Eich <eich@suse.com>
- For CUDA update version to 555.42.6.
- Use firmware for one arch only as firmware doesn't run on
the CPU and therefore should be arch-independent. This has
been confirmed by NVIDIA.
Since the run file attempts to run binaries if these are
not installed, 'BuildRequire:' zstd.
-------------------------------------------------------------------
Tue Jul 9 12:46:11 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.100 (boo#1227575)
-------------------------------------------------------------------
Mon Jul 8 14:10:27 UTC 2024 - Egbert Eich <eich@suse.com>
- Use macro which is set during build but not when running
`osc service run download_files` to make sure both source versions
are visible for download. This way, only the correct source
tarball will be included in the source package of its respective
flavor but both can be downloaded (updated) simultaniously.
-------------------------------------------------------------------
Fri Jul 5 10:58:50 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- make buildservice happy; all sources need to be mentioned as such
in specfile
-------------------------------------------------------------------
Thu Jul 4 13:56:54 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Add a second flavor to be used by the kernel module versions
used by CUDA. The firmware targetting CUDA contains '-cuda' in
its name to track its versions separately from the graphics
firmware. (bsc#1227417)
-------------------------------------------------------------------
Tue Jun 4 12:53:24 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -1,5 +1,5 @@
#
# spec file for package kernel-firmware-nvidia-gspx-G06
# spec file
#
# Copyright (c) 2024 SUSE LLC
#
@ -16,47 +16,77 @@
#
%define gfx_version 550.100
%define cuda_version 555.42.06
%global flavor @BUILD_FLAVOR@%{?nil}
%if "%{flavor}" == "cuda"
%{bcond_without cuda}
%endif
%define simpletest 0
%ifarch x86_64
%define arch x86_64
%else
%define arch aarch64
%endif
%if %{undefined _firmwaredir}
%define _firmwaredir /lib/firmware
%endif
Name: kernel-firmware-nvidia-gspx-G06
Name: kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda}
URL: https://www.nvidia.com/en-us/drivers/unix/
Version: 550.90.07
%if %{with cuda}
Version: %{cuda_version}
%else
Version: %{gfx_version}
%endif
Release: 0
Summary: Kernel firmware file for open NVIDIA kernel module driver G06
License: GPL-2.0-only AND SUSE-Firmware AND GPL-2.0-or-later AND MIT
Group: System/Kernel
%if %{without cuda}
Source0: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run
Source1: http://download.nvidia.com/XFree86/Linux-aarch64/%{version}/NVIDIA-Linux-aarch64-%{version}.run
NoSource: 0
%endif
# This is defined at build, not for 'osc service run download_files` or
# factory_auto. This both sources are seen outside of the build but only
# the matching one will be included in the srpm for the respective flavor.
%if %{undefined linux_arch} || %{with cuda}
Source1: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/kernel-firmware-nvidia-gspx-G06-%{cuda_version}-0.x86_64.rpm
NoSource: 1
%if 0%{simpletest} == 1
Source2: %{name}-rpmlintrc
%else
%endif
Source4: kernel-firmware-nvidia-gspx-G06-rpmlintrc
# Only required to distinguish between build and factor-auto
BuildRequires: kernel-macros
BuildRequires: zstd
%if 0%{simpletest} == 0
Provides: multiversion(kernel)
%endif
ExclusiveArch: x86_64 aarch64
%if %{with cuda}
Provides: kernel-firmware-nvidia-gspx-G06 = %version
Conflicts: kernel-firmware-nvidia-gspx-G06
%endif
Obsoletes: kernel-firmware-nvidia-gsp-G06 = 535.86.05
ExclusiveArch: x86_64 aarch64
%if 0%{?sle_version} >= 150700
BuildArch: noarch
%endif
%description
This package contains the versioned kernel firmware file "gsp.bin" for
the OpenSource NVIDIA kernel module driver G06.
%prep
%if %{without cuda}
sh %{_sourcedir}/NVIDIA-Linux-%{arch}-%{version}.run -x
%else
rpm2cpio %{SOURCE1} | cpio -di
%endif
%build
%install
%if %{without cuda}
mkdir -p %{buildroot}%{_firmwaredir}/nvidia/%{version}
install -m 644 NVIDIA-Linux-%{arch}-%{version}/firmware/{gsp_ga10x.bin,gsp_tu10x.bin} \
%{buildroot}%{_firmwaredir}/nvidia/%{version}
@ -66,6 +96,11 @@ install -m 755 ./NVIDIA-Linux-%{arch}-%{version}/nvidia-smi %{buildroot}/usr/lib
install -m 755 ./NVIDIA-Linux-%{arch}-%{version}/libnvidia-ml.so.%{version} %{buildroot}/usr/lib/%{name}
ln -snf libnvidia-ml.so.%{version} %{buildroot}/usr/lib/%{name}/libnvidia-ml.so.1
%endif
%else
mkdir -p %{buildroot}%{_firmwaredir}/nvidia/%{version}
install -m 644 ./lib/firmware/nvidia/%{version}/{gsp_ga10x.bin,gsp_tu10x.bin} \
%{buildroot}%{_firmwaredir}/nvidia/%{version}
%endif
%if 0%{simpletest} == 1
%post -p /sbin/ldconfig
@ -77,7 +112,7 @@ ln -snf libnvidia-ml.so.%{version} %{buildroot}/usr/lib/%{name}/libnvidia-ml.so.
%dir %{_firmwaredir}/nvidia/%{version}
%{_firmwaredir}/nvidia/%{version}/gsp_ga10x.bin
%{_firmwaredir}/nvidia/%{version}/gsp_tu10x.bin
%if 0%{simpletest} == 1
%if 0%{simpletest} == 1 && %{without cuda}
%dir /usr/lib/%{name}
/usr/lib/%{name}/nvidia-smi
/usr/lib/%{name}/libnvidia-ml.so.%{version}