-# TODO
-# - subpackages for various firmwares?
%define rel 1
-%define ver 20180507
+%define ver 20220815
Summary: Firmware files used by the Linux kernel
Summary(pl.UTF-8): Pliki firmware'u używane przez jądro Linuksa
Name: linux-firmware
Release: %{rel}
License: GPL+ and GPL v2+ and MIT and Redistributable, no modification permitted
Group: Base/Kernel
-Source0: https://src.fedoraproject.org/repo/pkgs/linux-firmware/%{name}-%{version}.tar.xz/sha512/55f5732d0d38727821fe676b1fa1531a91d30ffc91a4f5de6adadd985d7771b8a4757b6230f9228cf5371067c10b6191bfa5d7a2c5c79b696c4e1888dd6b1ec2/linux-firmware-%{version}.tar.xz
-# Source0-md5: 838f105f4982e549a2f5bc911c59f334
+# in case git snapshot is needed
+#Source0: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/%{name}-%{version}.tar.gz
+# upstream tarball
+Source0: https://www.kernel.org/pub/linux/kernel/firmware/%{name}-%{version}.tar.xz
+# Source0-md5: a10fae34e085810817822110d05aeb75
URL: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
-Obsoletes: microcode-data-amd
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires: microcode-data-amd
+Requires: microcode-data-intel
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define no_install_post_strip 1
+%define _enable_debug_packages 0
+%define _noautochrpath .*/lib/firmware/.*
+
%description
This package includes firmware files required for some devices to
operate.
urządzeń.
%package -n amd-gpu-firmware
-Summary: Firmware for the AMD/ATI graphics chips
+Summary: Firmware for AMD/ATI graphics chips
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n amd-gpu-firmware
-Firmware for the AMD/ATI graphics chips
+Firmware for AMD/ATI graphics chips
+
+%package -n atheros-firmware
+Summary: Firmware for Atheros wireless and Bluetooth cards
+License: Redistributable, no modification permitted
+Group: Base/Kernel
+
+%description -n atheros-firmware
+Firmware for Atheros wireless and Bluetooth cards
%package -n bnx2-firmware
-Summary: Firmware for the Broadcom NetXtremeII
+Summary: Firmware for Broadcom NetXtremeII
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n bnx2-firmware
-Firmware for the Broadcom NetXtremeII
+Firmware for Broadcom NetXtremeII
%package -n bnx2x-firmware
-Summary: Firmware for the Broadcom NetXtreme II 10Gb
+Summary: Firmware for Broadcom NetXtreme II 10Gb
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n bnx2x-firmware
-Firmware for the Broadcom NetXtreme II 10Gb
+Firmware for Broadcom NetXtreme II 10Gb
%package -n brcm-firmware
-Summary: Firmware for the Broadcom 802.11 wireless cards
+Summary: Firmware for Broadcom 802.11 wireless cards
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n brcm-firmware
-Firmware for the Broadcom 802.11 wireless cards
+Firmware for Broadcom 802.11 wireless cards
%package -n cavium-firmware
-Summary: Firmware for the Cavium crypto and Ethernet adapters
+Summary: Firmware for Cavium crypto and Ethernet adapters
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n cavium-firmware
-Firmware for the Cavium crypto and Ethernet adapters
+Firmware for Cavium crypto and Ethernet adapters
+
+%package -n chelsio-firmware
+Summary: Firmware for Chelsio T3/T4/T5/T6
+License: Redistributable, no modification permitted
+Group: Base/Kernel
+
+%description -n chelsio-firmware
+Firmware for Chelsio T3/T4/T5/T6
%package -n intel-sound-firmware
-Summary: Firmware for the Intel sound cards
+Summary: Firmware for Intel sound cards
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n intel-sound-firmware
-Firmware for the Intel sound cards
+Firmware for Intel sound cards
%package -n intel-bluetooth-firmware
-Summary: Firmware for the Intel Bluetooth adapters
+Summary: Firmware for Intel Bluetooth adapters
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n intel-bluetooth-firmware
-Firmware for the Intel Bluetooth adapters
+Firmware for Intel Bluetooth adapters
%package -n iwl100-firmware
Summary: Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
firmware is subject to the terms and conditions contained inside the
provided LICENSE file. Please read it carefully.
+%package -n iwlax2xx-firmware
+Summary: Firmware for Intel(R) AX200/AX201/AX210/AX211
+License: Redistributable, no modification permitted
+Group: Base/Kernel
+
+%description -n iwlax2xx-firmware
+This package contains the firmware required by the Intel wireless
+drivers for Linux to support the iwlax2xx hardware. Usage of the
+firmware is subject to the terms and conditions contained inside the
+provided LICENSE file. Please read it carefully.
+
%package -n iwl3160-firmware
Summary: Firmware for Intel(R) Wireless WiFi Link 3160 Series Adapters
License: Redistributable, no modification permitted
conditions contained inside the provided LICENSE file. Please read it
carefully.
-%package -n libertas-usb8388-firmware
-Summary: Firmware for Marvell Libertas USB 8388 Network Adapter
-License: Redistributable, no modification permitted
-Group: Base/Kernel
-
-%description -n libertas-usb8388-firmware
-Firmware for Marvell Libertas USB 8388 Network Adapter
-
-%package -n libertas-usb8388-olpc-firmware
-Summary: OLPC firmware for Marvell Libertas USB 8388 Network Adapter
-License: Redistributable, no modification permitted
-Group: Base/Kernel
-
-%description -n libertas-usb8388-olpc-firmware
-Firmware for Marvell Libertas USB 8388 Network Adapter with OLPC mesh
-network support.
-
-%package -n libertas-sd8686-firmware
-Summary: Firmware for Marvell Libertas SD 8686 Network Adapter
+%package -n libertas-firmware
+Summary: Firmware for Marvell wirelsess network cards
License: Redistributable, no modification permitted
Group: Base/Kernel
-%description -n libertas-sd8686-firmware
-Firmware for Marvell Libertas SD 8686 Network Adapter
+%description -n libertas-firmware
+Firmware for Marvell wireless network cards
-%package -n libertas-sd8787-firmware
-Summary: Firmware for Marvell Libertas SD 8787 Network Adapter
+%package -n microcode-data-amd
+Summary: Microcode definitions for AMD64 processors
License: Redistributable, no modification permitted
Group: Base/Kernel
-%description -n libertas-sd8787-firmware
-Firmware for Marvell Libertas SD 8787 Network Adapter
+%description -n microcode-data-amd
+Microcode definitions for AMD64 processors
%package -n netronome-firmware
-Summary: Firmware for the Netronome Smart NICs
+Summary: Firmware for Netronome Smart NICs
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n netronome-firmware
-Firmware for the Netronome Smart NICs
+Firmware for Netronome Smart NICs
%package -n nvidia-gpu-firmware
-Summary: Firmware for the NVIDIA graphics chips
+Summary: Firmware for NVIDIA graphics chips
License: Redistributable, no modification permitted
Group: Base/Kernel
%description -n nvidia-gpu-firmware
-Firmware for the NVIDIA graphics chips
+Firmware for NVIDIA graphics chips
%package -n qlogic-firmware
-Summary: Firmware for the QLogic adapters
+Summary: Firmware for QLogic adapters
License: Redistributable, no modification permitted
Group: Base/Kernel
This package contains the binary firmware for QLogic Infiniband,
SCSI, Fibre Channel/FCoE adapters and Converged Network Adapters
+%package -n ti-connectivity-firmware
+Summary: Firmware for Texas Instruments wireless network chips
+License: Redistributable, no modification permitted
+Group: Base/Kernel
+
+%description -n ti-connectivity-firmware
+Firmware for Texas Instruments wireless network chips
+
%define no_install_post_strip 1
%prep
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/lib/firmware
cp -a . $RPM_BUILD_ROOT/lib/firmware
-%{__rm} $RPM_BUILD_ROOT/lib/firmware/{GPL-2,GPL-3,LICENCE.*,LICENSE.*,README,TDA7706_OM_v*_boot.txt,WHENCE,check_whence.py}
+%{__rm} $RPM_BUILD_ROOT/lib/firmware/{GPL-2,GPL-3,LICENCE.*,LICENSE.*,README,WHENCE,check_whence.py}
+# Symlink for ice package required by firmware and kernel driver
+ln -s $(basename $RPM_BUILD_ROOT/lib/firmware/intel/ice/ddp/ice-*.pkg) $RPM_BUILD_ROOT/lib/firmware/intel/ice/ddp/ice.pkg
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc WHENCE LICENCE.* LICENSE.* README TDA7706_OM_v*_boot.txt
+%doc WHENCE LICENCE.* LICENSE.* README
/lib/firmware/3com
-/lib/firmware/a300_pfp.fw
-/lib/firmware/a300_pm4.fw
/lib/firmware/acenic
/lib/firmware/adaptec
/lib/firmware/advansys
/lib/firmware/agere_*_fw.bin
-/lib/firmware/amd-ucode
-/lib/firmware/ar3k
-/lib/firmware/ar5523.bin
-/lib/firmware/ar7010*.fw
-/lib/firmware/ar9170-*.fw
-/lib/firmware/ar9271.fw
+/lib/firmware/amd
+/lib/firmware/amphion
/lib/firmware/as102_data1_st.hex
/lib/firmware/as102_data2_st.hex
-/lib/firmware/ath10k
-/lib/firmware/ath3k-1.fw
-/lib/firmware/ath6k
-/lib/firmware/ath9k_htc
/lib/firmware/atmel
-/lib/firmware/atmsar11.fw
/lib/firmware/atusb
/lib/firmware/av7110
/lib/firmware/carl9170-1.fw
+/lib/firmware/cadence
+/lib/firmware/cirrus
/lib/firmware/cis
/lib/firmware/cmmb_*_12mhz.inp
+/lib/firmware/cnm
/lib/firmware/cpia2
/lib/firmware/ctefx.bin
/lib/firmware/ctspeq.bin
-/lib/firmware/cxgb3
-/lib/firmware/cxgb4
+/lib/firmware/cypress
/lib/firmware/dabusb
+/lib/firmware/dpaa2
/lib/firmware/dsp56k
/lib/firmware/dvb-fe-xc4000-*.fw
/lib/firmware/dvb-fe-xc5000c-*.fw
/lib/firmware/emi26
/lib/firmware/emi62
/lib/firmware/ene-ub6250
-/lib/firmware/ess/maestro3_assp_kernel.fw
-/lib/firmware/ess/maestro3_assp_minisrc.fw
+/lib/firmware/ess
/lib/firmware/f2255usb.bin
/lib/firmware/go7007
/lib/firmware/hfi1_dc8051.fw
/lib/firmware/hfi1_sbus.fw
/lib/firmware/htc_7010.fw
/lib/firmware/htc_9271.fw
-/lib/firmware/i2400m-fw-usb-*.sbcf
-/lib/firmware/i6050-fw-usb-*.sbcf
/lib/firmware/i915
/lib/firmware/imx
+/lib/firmware/inside-secure
%dir /lib/firmware/intel
-/lib/firmware/intel/ipu3-fw.bin
+/lib/firmware/intel/ice
/lib/firmware/intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin
-/lib/firmware/intelliport2.bin
/lib/firmware/isci
/lib/firmware/isdbt_*.inp
/lib/firmware/kaweth
/lib/firmware/keyspan
/lib/firmware/keyspan_pda
+%dir /lib/firmware/korg
/lib/firmware/korg/k1212.dsp
-/lib/firmware/lbtf_usb.bin
/lib/firmware/lgs8g75.fw
-/lib/firmware/libertas
-%exclude /lib/firmware/libertas/usb8388_v9.bin
-%exclude /lib/firmware/libertas/sd8686*
-%exclude /lib/firmware/libertas/usb8388_olpc.bin
+/lib/firmware/lt9611uxc_fw.bin
/lib/firmware/matrox
+/lib/firmware/mediatek
/lib/firmware/mellanox
+/lib/firmware/meson
+/lib/firmware/microchip
/lib/firmware/moxa
-/lib/firmware/mrvl
-%exclude /lib/firmware/mrvl/sd8787*
-/lib/firmware/mrvl/sd8787*
/lib/firmware/mt7601u.bin
/lib/firmware/mt7650.bin
/lib/firmware/mt7662*.bin
/lib/firmware/mts_*.fw
-/lib/firmware/mwl8k
-/lib/firmware/mwlwifi
/lib/firmware/myri10ge_*.dat
/lib/firmware/myricom
/lib/firmware/ositech
/lib/firmware/qat_c3xxx_mmp.bin
/lib/firmware/qat_c62x.bin
/lib/firmware/qat_c62x_mmp.bin
-/lib/firmware/qat_mmp.bin
/lib/firmware/qca
/lib/firmware/qcom
/lib/firmware/r8a779x_usb3_v1.dlmem
/lib/firmware/rt2661.bin
/lib/firmware/rt2860.bin
/lib/firmware/rt2870.bin
-/lib/firmware/rt3070.bin
/lib/firmware/rt3071.bin
-/lib/firmware/rt3090.bin
/lib/firmware/rt3290.bin
/lib/firmware/rt73.bin
/lib/firmware/RTL8192E
/lib/firmware/rtl_bt
/lib/firmware/rtl_nic
/lib/firmware/rtlwifi
-/lib/firmware/s2250*.fw
+/lib/firmware/rtw88
+/lib/firmware/rtw89
/lib/firmware/s5p-mfc.fw
/lib/firmware/s5p-mfc-v6.fw
/lib/firmware/s5p-mfc-v6-v2.fw
/lib/firmware/s5p-mfc-v7.fw
/lib/firmware/s5p-mfc-v8.fw
+%dir /lib/firmware/sb16
/lib/firmware/sb16/alaw_main.csp
/lib/firmware/sb16/ima_adpcm_capture.csp
/lib/firmware/sb16/ima_adpcm_init.csp
/lib/firmware/sxg
/lib/firmware/tdmb_nova_12mhz.inp
/lib/firmware/tehuti
+/lib/firmware/ti
/lib/firmware/ti_3410.fw
/lib/firmware/ti_5052.fw
-/lib/firmware/ti-connectivity
/lib/firmware/tigon
/lib/firmware/ti-keystone
/lib/firmware/tlg2300_firmware.bin
-/lib/firmware/tr_smctr.bin
/lib/firmware/ttusb-budget
/lib/firmware/ueagle-atm
/lib/firmware/usbdux*_firmware.bin
/lib/firmware/v4l-cx*.fw
/lib/firmware/vicam
/lib/firmware/vntwusb.fw
-/lib/firmware/vpu_d.bin
-/lib/firmware/vpu_p.bin
/lib/firmware/vxge
+/lib/firmware/wfx
/lib/firmware/whiteheat*.fw
/lib/firmware/wil6210.brd
/lib/firmware/wil6210.fw
/lib/firmware/wsm_22.bin
/lib/firmware/yam
+%dir /lib/firmware/yamaha
/lib/firmware/yamaha/ds1_ctrl.fw
/lib/firmware/yamaha/ds1_dsp.fw
/lib/firmware/yamaha/ds1e_ctrl.fw
/lib/firmware/r128
/lib/firmware/radeon
+%files -n atheros-firmware
+%defattr(644,root,root,755)
+%doc WHENCE LICENCE.atheros_firmware LICENSE.QualcommAtheros_ar3k LICENSE.QualcommAtheros_ath10k
+/lib/firmware/ar3k
+/lib/firmware/ar5523.bin
+/lib/firmware/ar7010*.fw
+/lib/firmware/ar9170-*.fw
+/lib/firmware/ar9271.fw
+/lib/firmware/ath10k
+/lib/firmware/ath11k
+/lib/firmware/ath3k-1.fw
+/lib/firmware/ath6k
+/lib/firmware/ath9k_htc
+
%files -n bnx2-firmware
%defattr(644,root,root,755)
%doc WHENCE
%defattr(644,root,root,755)
%doc WHENCE
/lib/firmware/bnx2x
-/lib/firmware/bnx2x-e1-*.fw
-/lib/firmware/bnx2x-e1h-*.fw
%files -n brcm-firmware
%defattr(644,root,root,755)
/lib/firmware/cavium
/lib/firmware/liquidio
+%files -n chelsio-firmware
+%defattr(644,root,root,755)
+%doc WHENCE LICENCE.chelsio_firmware
+/lib/firmware/cxgb3
+/lib/firmware/cxgb4
+
%files -n intel-sound-firmware
%defattr(644,root,root,755)
%doc WHENCE
+%dir /lib/firmware/intel
/lib/firmware/intel/IntcSST2.bin
/lib/firmware/intel/dsp_fw_*
/lib/firmware/intel/fw_sst_*
%files -n intel-bluetooth-firmware
%defattr(644,root,root,755)
%doc WHENCE LICENCE.ibt_firmware
+%dir /lib/firmware/intel
/lib/firmware/intel/ibt-*
%files -n iwl100-firmware
%doc WHENCE LICENCE.iwlwifi_firmware
/lib/firmware/iwlwifi-2030-*.ucode
+%files -n iwlax2xx-firmware
+%defattr(644,root,root,755)
+%doc WHENCE LICENCE.iwlwifi_firmware
+/lib/firmware/iwlwifi-Qu-*.ucode
+/lib/firmware/iwlwifi-QuZ-*.ucode
+/lib/firmware/iwlwifi-cc-*.ucode
+/lib/firmware/iwlwifi-so-*.pnvm
+/lib/firmware/iwlwifi-so-*.ucode
+/lib/firmware/iwlwifi-ty-*.pnvm
+/lib/firmware/iwlwifi-ty-*.ucode
+
%files -n iwl3160-firmware
%defattr(644,root,root,755)
%doc WHENCE LICENCE.iwlwifi_firmware
%doc WHENCE LICENCE.iwlwifi_firmware
/lib/firmware/iwlwifi-9260-*.ucode
-%files -n libertas-usb8388-firmware
-%defattr(644,root,root,755)
-%doc WHENCE LICENCE.Marvell
-%dir /lib/firmware/libertas
-/lib/firmware/libertas/usb8388_v9.bin
-
-%files -n libertas-usb8388-olpc-firmware
+%files -n libertas-firmware
%defattr(644,root,root,755)
%doc WHENCE LICENCE.Marvell
-%dir /lib/firmware/libertas
-/lib/firmware/libertas/usb8388_olpc.bin
+/lib/firmware/lbtf_usb.bin
+/lib/firmware/libertas
+/lib/firmware/mrvl
+/lib/firmware/mwl8k
+/lib/firmware/mwlwifi
-%files -n libertas-sd8686-firmware
+%files -n microcode-data-amd
%defattr(644,root,root,755)
-%doc WHENCE LICENCE.Marvell
-%dir /lib/firmware/libertas
-/lib/firmware/libertas/sd8686*
+%doc WHENCE LICENSE.amd-ucode amd-ucode/README
+/lib/firmware/amd-ucode
-%files -n libertas-sd8787-firmware
+%files -n netronome-firmware
%defattr(644,root,root,755)
-%doc WHENCE LICENCE.Marvell
-%dir /lib/firmware/mrvl
-/lib/firmware/mrvl/sd8787*
+%doc WHENCE
+/lib/firmware/netronome
%files -n nvidia-gpu-firmware
%defattr(644,root,root,755)
/lib/firmware/ql2400_fw.bin
/lib/firmware/ql2500_fw.bin
-%files -n netronome-firmware
+%files -n ti-connectivity-firmware
%defattr(644,root,root,755)
%doc WHENCE
-/lib/firmware/netronome
+/lib/firmware/ti-connectivity