Split out AMD/Intel/NVIDIA GPU firmware into sub packages

This commit is contained in:
Peter Robinson 2022-08-12 21:25:16 +01:00
parent 13393cb31a
commit 6e605212eb

View File

@ -1,5 +1,5 @@
%global debug_package %{nil}
%global firmware_release 136
%global firmware_release 137
%global _firmwarepath /usr/lib/firmware
%define _binaries_in_noarch_packages_terminate_build 0
@ -21,6 +21,9 @@ Requires: linux-firmware-whence
Provides: kernel-firmware = %{version}
Obsoletes: kernel-firmware < %{version}
Conflicts: microcode_ctl < 2.1-0
Recommends: amd-gpu-firmware
Recommends: intel-gpu-firmware
Recommends: nvidia-gpu-firmware
%description
This package includes firmware files required for some devices to
@ -32,6 +35,31 @@ License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted
%description whence
This package contains the WHENCE license file which documents the vendor license details.
# GPU firmwares
%package -n amd-gpu-firmware
Summary: Firmware for AMD GPUs
License: Redistributable, no modification permitted
Requires: linux-firmware-whence
%description -n amd-gpu-firmware
Firmware for AMD amdgpu and radeon GPUs.
%package -n intel-gpu-firmware
Summary: Firmware for Intel GPUs
License: Redistributable, no modification permitted
Requires: linux-firmware-whence
%description -n intel-gpu-firmware
Firmware for Intel GPUs including GuC (Graphics Microcontroller), HuC (HEVC/H.265
Microcontroller) and DMC (Display Microcontroller) firmware for Skylake and later
platforms.
%package -n nvidia-gpu-firmware
Summary: Firmware for NVIDIA GPUs
License: Redistributable, no modification permitted
Requires: linux-firmware-whence
%description -n nvidia-gpu-firmware
Firmware for NVIDIA GPUs.
# WiFi firmwares
%package -n iwl100-firmware
Summary: Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
License: Redistributable, no modification permitted
@ -258,6 +286,7 @@ Requires: linux-firmware-whence
Firmware for Marvell Libertas USB 8388 Network Adapter with OLPC mesh network
support.
# SMART NIC and network switch firmwares
%package -n liquidio-firmware
Summary: Firmware for Cavium LiquidIO Intelligent Server Adapter
License: Redistributable, no modification permitted
@ -265,6 +294,13 @@ Requires: linux-firmware-whence
%description -n liquidio-firmware
Firmware for Cavium LiquidIO Intelligent Server Adapter
%package -n mlxsw_spectrum-firmware
Summary: Firmware for Mellanox Spectrum 1/2/3 Switches
License: Redistributable, no modification permitted
Requires: linux-firmware-whence
%description -n mlxsw_spectrum-firmware
Firmware for Mellanox Spectrumi series 1/2/3 ethernet switches.
%package -n mrvlprestera-firmware
Summary: Firmware for Marvell Prestera Switchdev/ASIC devices
License: Redistributable, no modification permitted
@ -279,13 +315,6 @@ Requires: linux-firmware-whence
%description -n netronome-firmware
Firmware for Netronome Smart NICs
%package -n mlxsw_spectrum-firmware
Summary: Firmware for Mellanox Spectrum 1/2/3 Switches
License: Redistributable, no modification permitted
Requires: linux-firmware-whence
%description -n mlxsw_spectrum-firmware
Firmware for Mellanox Spectrumi series 1/2/3 ethernet switches.
%prep
%autosetup -p1
@ -336,7 +365,12 @@ find . \! -type d > $FILEDIR/linux-firmware.files
find . -type d | sed -e '/^.$/d' > $FILEDIR/linux-firmware.dirs
popd
sed -i -e 's:^./::' linux-firmware.{files,dirs}
sed -i -e '/^iwlwifi/d' \
sed \
-i -e '/^amdgpu/d' \
-i -e '/^radeon/d' \
-i -e '/^i915/d' \
-i -e '/^nvidia\/g/d' \
-i -e '/^nvidia\/tu/d' \
-i -e '/^libertas\/sd8686/d' \
-i -e '/^libertas\/usb8388/d' \
-i -e '/^liquidio/d' \
@ -357,6 +391,20 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
%files whence
%license WHENCE
%files -n amd-gpu-firmware
%license LICENSE.radeon LICENSE.amdgpu
%{_firmwarepath}/amdgpu/
%{_firmwarepath}/radeon/
%files -n intel-gpu-firmware
%license LICENSE.i915
%{_firmwarepath}/i915/
%files -n nvidia-gpu-firmware
%license LICENCE.nvidia
%{_firmwarepath}/nvidia/g*/
%{_firmwarepath}/nvidia/tu*/
%files -n iwl100-firmware
%license LICENCE.iwlwifi_firmware
%{_firmwarepath}/iwlwifi-100-5.ucode*
@ -475,6 +523,9 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
%{_firmwarepath}/netronome/*
%changelog
* Fri Aug 12 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 20220708-137
- Split out AMD/Intel/NVIDIA GPU firmware into sub packages
* Sun Jul 17 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 20220708-136
- Update to upstream 20220708 release
- WHENCE: Correct dangling symlinks