- Add 'dummy' firmware package on SLE to work around update

issues. On SLE, the firmware is installed directly from
  an NVIDIA-hosted repo.

- Improve handling of conflicts between different flavors
  (gfx vs. CUDA) (bsc#1233332).

OBS-URL: https://build.opensuse.org/package/show/X11:Drivers:Video:Redesign/nvidia-open-driver-G06-signed?expand=0&rev=153
This commit is contained in:
Stefan Dirsch 2024-11-29 12:14:25 +00:00 committed by Git OBS Bridge
parent 259e7997af
commit dd913412f4
3 changed files with 44 additions and 5 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Nov 29 10:02:34 UTC 2024 - Egbert Eich <eich@suse.com>
- Add 'dummy' firmware package on SLE to work around update
issues. On SLE, the firmware is installed directly from
an NVIDIA-hosted repo.
-------------------------------------------------------------------
Thu Nov 28 12:28:40 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
@ -12,6 +19,12 @@ Mon Nov 25 19:16:46 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
it fixed x86_64 build more-or-less accidently but broke aarch64
build completely ...
-------------------------------------------------------------------
Mon Nov 25 13:34:20 UTC 2024 - Egbert Eich <eich@suse.com>
- Improve handling of conflicts between different flavors
(gfx vs. CUDA) (bsc#1233332).
-------------------------------------------------------------------
Mon Nov 25 12:08:18 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -1,5 +1,5 @@
#
# spec file
# spec file for package nvidia-open-driver-G06-signed
#
# Copyright (c) 2024 SUSE LLC
#
@ -25,6 +25,9 @@
ExclusiveArch: do_not_build
%endif
%{bcond_without cuda}
%define kind cuda
%else
%define kind gfx
%endif
%if %{undefined kernel_module_directory}
%if 0%{?suse_version} >= 1550
@ -140,6 +143,23 @@ By installing this package, the signed NVIDIA open driver built by SUSE will be
of CUDA components.
Simply run: `zypper install --no-recommends cuda-runtime-<version> nv-prefer-signed-open-driver`
%package -n kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda}
Summary: Kernel firmware file for open NVIDIA kernel module driver G06
Provides: multiversion(kernel)
Obsoletes: kernel-firmware-nvidia-gsp-G06 = 535.86.05
Requires: (kernel-firmware-nvidia-gspx-G06 = %{version} if (nvidia-compute-utils-G06 = %{version} or nvidia-compute-G06 = %{version} or sle-module-NVIDIA-compute-release))
%if 0%{?sle_version} >= 150700
BuildArch: noarch
%endif
%description -n kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda}
This package fetches the versioned kernel firmware file "gsp.bin" for
the OpenSource NVIDIA kernel module driver G06 once it's available.
%if 0%{?sle_version:1} && %{with cuda}
%files -n kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda}
%endif
%if %{with cuda}
%files -n nv-prefer-signed-open-driver
%endif

View File

@ -4,19 +4,25 @@ Requires: group(video)
Provides: nvidia-open-driver-G06 = %{-v*}
%if %{with cuda}
Provides: nvidia-open-driver-G06-signed-cuda-kmp-%1 = %{-v*}
# Provide plain version to simplify installation
Provides: nvidia-open-driver-G06-signed-kmp = %{-v*}
Provides: nvidia-open-driver-G06-signed-kmp-%1 = %{-v*}
Conflicts: nvidia-open-driver-G06-signed-kmp
Conflicts: nvidia-open-driver-G06-signed-kmp-%1
# workaround for broken cuda-drivers
# CUDA 560 doesn't list the signed driver as alternative in %Requires
Provides: nvidia-open-driver-G06-kmp = %{-v*}
Provides: nvidia-open-driver-G06-kmp-%1 = %{-v*}
# resolve self conflicts of -cuda KMP during update by adding
# resolve self conflicts of -cuda KMP during update by adding
# obsoletes to older versions (boo#1233332)
Obsoletes: nvidia-open-driver-G06-signed-cuda-kmp-%1 < %{-v*}
Obsoletes: nvidia-open-driver-G06-signed-cuda-kmp < %{-v*}
Requires: (kernel-firmware-nvidia-gspx-G06 = %{-v*} if (nvidia-compute-utils-G06 = %{-v*} or nvidia-compute-G06 = %{-v*} or sle-module-NVIDIA-compute-release))
Requires: kernel-firmware-nvidia-gspx-G06-cuda = %{-v*}
%else
Requires: (kernel-firmware-nvidia-gspx-G06 = %{-v*} if nvidia-compute-utils-G06 = %{-v*})
%endif
Provides: nvidia-open-signed-kmp = %version
%define my_kind nvidia-open-signed-kmp(kind) = %{kind}
%define other_kind nvidia-open-signed-kmp(kind) != %{kind}
Provides: %my_kind
Conflicts: %other_kind
Obsoletes: nvidia-open-driver-G06 = %{-v*}