diff --git a/linux-firmware-20220209.tar.xz b/linux-firmware-20220209.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..7fbe53eb49eac49f75f295d4558cd6b1a48dfe41 Binary files /dev/null and b/linux-firmware-20220209.tar.xz differ diff --git a/linux-firmware.spec b/linux-firmware.spec new file mode 100644 index 0000000000000000000000000000000000000000..548a16bf7e405c486bd1fb445e8b4d6228ce9d5b --- /dev/null +++ b/linux-firmware.spec @@ -0,0 +1,471 @@ +%global anolis_release 1 +%global _firmwarepath /usr/lib/firmware +%define _binaries_in_noarch_packages_terminate_build 0 + +# Disable debuginfo package which is needless for linux-firmware. +%global debug_package %{nil} +# Force brp-strip* to be no-ops... beginning with rpm 4.17, the scripts try to +# strip non-executable ELF content, which fails the build when attempting to +# process *.nffw files (ELF content with unknown arch). But we should not be +# stripping firmware files at all... +%define __strip /bin/true + +Name: linux-firmware +Version: 20220209 +Release: %{anolis_release}%{?dist} +Summary: Firmware files used by the Linux kernel +License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted +URL: http://www.kernel.org/ +BuildArch: noarch + +Source0: https://www.kernel.org/pub/linux/kernel/firmware/%{name}-%{version}.tar.xz + +BuildRequires: make +Requires: linux-firmware-whence +Provides: kernel-firmware = %{version} +Obsoletes: kernel-firmware < %{version} +Conflicts: microcode_ctl < 2.1-0 + +%description +This package includes firmware files required for some devices to +operate. + +%package whence +Summary: WHENCE License file +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. + +%package -n iwl100-firmware +Summary: Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters +License: Redistributable, no modification permitted +Version: 39.31.5.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl100-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux to support the iwl100 hardware. Usage of the firmware +is subject to the terms and conditions contained inside the provided +LICENSE file. Please read it carefully. + +%package -n iwl105-firmware +Summary: Firmware for Intel(R) Centrino Wireless-N 105 Series Adapters +License: Redistributable, no modification permitted +Version: 18.168.6.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl105-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux to support the iwl105 hardware. Usage of the firmware +is subject to the terms and conditions contained inside the provided +LICENSE file. Please read it carefully. + +%package -n iwl135-firmware +Summary: Firmware for Intel(R) Centrino Wireless-N 135 Series Adapters +License: Redistributable, no modification permitted +Version: 18.168.6.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl135-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux to support the iwl135 hardware. Usage of the firmware +is subject to the terms and conditions contained inside the provided +LICENSE file. Please read it carefully. + +%package -n iwl1000-firmware +Summary: Firmware for Intel® PRO/Wireless 1000 B/G/N network adaptors +License: Redistributable, no modification permitted +Version: 39.31.5.1 +Epoch: 1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl1000-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux to support the iwl1000 hardware. Usage of the firmware +is subject to the terms and conditions contained inside the provided +LICENSE file. Please read it carefully. + +%package -n iwl2000-firmware +Summary: Firmware for Intel(R) Centrino Wireless-N 2000 Series Adapters +License: Redistributable, no modification permitted +Version: 18.168.6.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl2000-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux to support the iwl2000 hardware. Usage of the firmware +is subject to the terms and conditions contained inside the provided +LICENSE file. Please read it carefully. + +%package -n iwl2030-firmware +Summary: Firmware for Intel(R) Centrino Wireless-N 2030 Series Adapters +License: Redistributable, no modification permitted +Version: 18.168.6.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl2030-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux to support the iwl2030 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 +Epoch: 1 +Version: 25.30.13.0 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl3160-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl3945-firmware +Summary: Firmware for Intel® PRO/Wireless 3945 A/B/G network adaptors +License: Redistributable, no modification permitted +Version: 15.32.2.9 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl3945-firmware +This package contains the firmware required by the iwl3945 driver +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl4965-firmware +Summary: Firmware for Intel® PRO/Wireless 4965 A/G/N network adaptors +License: Redistributable, no modification permitted +Version: 228.61.2.24 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl4965-firmware +This package contains the firmware required by the iwl4965 driver +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl5000-firmware +Summary: Firmware for Intel® PRO/Wireless 5000 A/G/N network adaptors +License: Redistributable, no modification permitted +Version: 8.83.5.1_1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl5000-firmware +This package contains the firmware required by the iwl5000 driver +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl5150-firmware +Summary: Firmware for Intel® PRO/Wireless 5150 A/G/N network adaptors +License: Redistributable, no modification permitted +Version: 8.24.2.2 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl5150-firmware +This package contains the firmware required by the iwl5150 driver +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl6000-firmware +Summary: Firmware for Intel(R) Wireless WiFi Link 6000 AGN Adapter +License: Redistributable, no modification permitted +Version: 9.221.4.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl6000-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl6000g2a-firmware +Summary: Firmware for Intel(R) Wireless WiFi Link 6005 Series Adapters +License: Redistributable, no modification permitted +Version: 18.168.6.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl6000g2a-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl6000g2b-firmware +Summary: Firmware for Intel(R) Wireless WiFi Link 6030 Series Adapters +License: Redistributable, no modification permitted +Version: 18.168.6.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl6000g2b-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl6050-firmware +Summary: Firmware for Intel(R) Wireless WiFi Link 6050 Series Adapters +License: Redistributable, no modification permitted +Version: 41.28.5.1 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +%description -n iwl6050-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux. Usage of the firmware is subject to the terms and conditions +contained inside the provided LICENSE file. Please read it carefully. + +%package -n iwl7260-firmware +Summary: Firmware for Intel(R) Wireless WiFi Link 726x/8000/9000 Series Adapters +License: Redistributable, no modification permitted +Epoch: 1 +Version: 25.30.13.0 +Release: %{anolis_release}%{?dist} +Requires: linux-firmware-whence +Recommends: iwlax2xx-firmware +%description -n iwl7260-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux. Usage of the 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) Wireless WiFi Link AX2xx Series Adapters +License: Redistributable, no modification permitted +Requires: linux-firmware-whence +Recommends: iwl7260-firmware +%description -n iwlax2xx-firmware +This package contains the firmware required by the Intel wireless drivers +for Linux. Usage of the firmware is subject to the terms and 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 +Epoch: 2 +Requires: linux-firmware-whence +%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 +Requires: linux-firmware-whence +%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 +License: Redistributable, no modification permitted +Requires: linux-firmware-whence +%description -n libertas-sd8686-firmware +Firmware for Marvell Libertas SD 8686 Network Adapter + +%package -n libertas-sd8787-firmware +Summary: Firmware for Marvell Libertas SD 8787 Network Adapter +License: Redistributable, no modification permitted +Requires: linux-firmware-whence +%description -n libertas-sd8787-firmware +Firmware for Marvell Libertas SD 8787 Network Adapter + +%package -n liquidio-firmware +Summary: Firmware for Cavium LiquidIO Intelligent Server Adapter +License: Redistributable, no modification permitted +Requires: linux-firmware-whence +%description -n liquidio-firmware +Firmware for Cavium LiquidIO Intelligent Server Adapter + +%package -n netronome-firmware +Summary: Firmware for Netronome Smart NICs +License: Redistributable, no modification permitted +Requires: linux-firmware-whence +%description -n netronome-firmware +Firmware for Netronome Smart NICs + +%package -n mrvlprestera-firmware +Summary: Firmware for Marvell Prestera Switchdev/ASIC devices +License: Redistributable, no modification permitted +Requires: linux-firmware-whence +%description -n mrvlprestera-firmware +Firmware for Marvell Prestera Switchdev/ASIC devices + +%prep +%autosetup -p1 + +%build + +%install +mkdir -p %{buildroot}/%{_firmwarepath} +mkdir -p %{buildroot}/%{_firmwarepath}/updates + +make DESTDIR=%{buildroot}/ FIRMWAREDIR=%{_firmwarepath} install + +#Cleanup files we don't want to ship +pushd %{buildroot}/%{_firmwarepath} +# Remove firmware shipped in separate packages already +# Perhaps these should be built as subpackages of linux-firmware? +rm -rf ess korg sb16 yamaha + +# Remove source files we don't need to install +rm -rf carl9170fw +rm -rf cis/{src,Makefile} +rm -f atusb/ChangeLog +rm -f av7110/{Boot.S,Makefile} +rm -f dsp56k/{bootstrap.asm,concat-bootstrap.pl,Makefile} +rm -f iscis/{*.c,*.h,README,Makefile} +rm -f keyspan_pda/{keyspan_pda.S,xircom_pgs.S,Makefile} +rm -f usbdux/*dux */*.asm + +# No need to install old firmware versions where we also provide newer versions +# which are preferred and support the same (or more) hardware +rm -f libertas/sd8686_v8* +rm -f libertas/usb8388_v5.bin* + +# Remove firmware for Creative CA0132 HD as it's in alsa-firmware +rm -f ctefx.bin* ctspeq.bin* + +# Remove superfluous infra files +rm -f check_whence.py configure Makefile README + +# Remove executable bits from random firmware +find . -type f -executable -exec chmod -x {} \; +popd + +# Create file list but exclude firmwares that we place in subpackages +FILEDIR=`pwd` +pushd %{buildroot}/%{_firmwarepath} +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' \ + -i -e '/^libertas\/sd8686/d' \ + -i -e '/^libertas\/usb8388/d' \ + -i -e '/^liquidio/d' \ + -i -e '/^mrvl\/prestera/d' \ + -i -e '/^mrvl\/sd8787/d' \ + -i -e '/^netronome/d' \ + linux-firmware.files +sed -i -e 's!^!/usr/lib/firmware/!' linux-firmware.{files,dirs} +sed -i -e 's/^/"/;s/$/"/' linux-firmware.files +sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files + + +%files -f linux-firmware.files +%dir %{_firmwarepath} +%license LICENCE.* LICENSE.* GPL* + +%files whence +%license WHENCE + +%files -n iwl100-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-100-5.ucode* + +%files -n iwl105-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-105-*.ucode* + +%files -n iwl135-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-135-*.ucode* + +%files -n iwl1000-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-1000-*.ucode* + +%files -n iwl2000-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-2000-*.ucode* + +%files -n iwl2030-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-2030-*.ucode* + +%files -n iwl3160-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-3160-*.ucode* +%{_firmwarepath}/iwlwifi-3168-*.ucode* + +%files -n iwl3945-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-3945-*.ucode* + +%files -n iwl4965-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-4965-*.ucode* + +%files -n iwl5000-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-5000-*.ucode* + +%files -n iwl5150-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-5150-*.ucode* + +%files -n iwl6000-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-6000-*.ucode* + +%files -n iwl6000g2a-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-6000g2a-*.ucode* + +%files -n iwl6000g2b-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-6000g2b-*.ucode* + +%files -n iwl6050-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-6050-*.ucode* + +%files -n iwl7260-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-7260-*.ucode* +%{_firmwarepath}/iwlwifi-7265-*.ucode* +%{_firmwarepath}/iwlwifi-7265D-*.ucode* +%{_firmwarepath}/iwlwifi-8000C-*.ucode* +%{_firmwarepath}/iwlwifi-8265-*.ucode* +%{_firmwarepath}/iwlwifi-9000-*.ucode* +%{_firmwarepath}/iwlwifi-9260-*.ucode* + +%files -n iwlax2xx-firmware +%license LICENCE.iwlwifi_firmware +%{_firmwarepath}/iwlwifi-cc-a0-*.ucode* +%{_firmwarepath}/iwlwifi-Qu*.ucode* +%{_firmwarepath}/iwlwifi-ty-a0* +%{_firmwarepath}/iwlwifi-so-a0* + +%files -n libertas-usb8388-firmware +%license LICENCE.Marvell +%dir %{_firmwarepath}/libertas +%{_firmwarepath}/libertas/usb8388_v9.bin* + +%files -n libertas-usb8388-olpc-firmware +%license LICENCE.Marvell +%dir %{_firmwarepath}/libertas +%{_firmwarepath}/libertas/usb8388_olpc.bin* + +%files -n libertas-sd8686-firmware +%license LICENCE.Marvell +%dir %{_firmwarepath}/libertas +%{_firmwarepath}/libertas/sd8686* + +%files -n libertas-sd8787-firmware +%license LICENCE.Marvell +%dir %{_firmwarepath}/mrvl +%{_firmwarepath}/mrvl/sd8787* + +%files -n liquidio-firmware +%license LICENCE.cavium_liquidio +%dir %{_firmwarepath}/liquidio +%{_firmwarepath}/liquidio/* + +%files -n netronome-firmware +%license LICENCE.Netronome +%dir %{_firmwarepath}/netronome +%{_firmwarepath}/netronome/* + +%files -n mrvlprestera-firmware +%license LICENCE.Marvell +%dir %{_firmwarepath}/mrvl/prestera +%{_firmwarepath}/mrvl/prestera/* + +%changelog +* Fri Mar 04 2022 Shile Zhang - 20220209-001.an23 +- fix build error due to strip failure (Shile Zhang) +- Init commit with linux-firmware 20220209 for Anolis OS 23 (Shile Zhang)