linux-firmware/linux-firmware.spec
Jiayi Yin 734491b91b init
2025-03-09 16:48:54 +00:00

265 lines
7.9 KiB
RPMSpec

%define _binaries_in_noarch_packages_terminate_build 0
%global _lib_path /usr/lib/firmware
Name: linux-firmware
Version: 20241110
Release: 1
Summary: Firmware files used by the Linux kernel
License: GPL-1.0-or-later AND GPL-2.0-or-later AND MIT and Redistributable, no modification permitted
URL: https://www.kernel.org/
BuildArch: noarch
Source0: https://www.kernel.org/pub/linux/kernel/firmware/%{name}-%{version}.tar.xz
Provides: kernel-firmware = %{version} xorg-x11-drv-ati-firmware = 7.0
Obsoletes: kernel-firmware < %{version} xorg-x11-drv-ati-firmware < 6.13.0-0.22
Obsoletes: ueagle-atm4-firmware < 1.0-5
Obsoletes: netxen-firmware < 4.0.534-9
Obsoletes: ql2100-firmware < 1.19.38-8
Obsoletes: ql2200-firmware < 2.02.08-8
Obsoletes: ql23xx-firmware < 3.03.28-6
Obsoletes: ql2400-firmware < 5.08.00-2
Obsoletes: ql2500-firmware < 5.08.00-2
Obsoletes: rt61pci-firmware < 1.2-11
Obsoletes: rt73usb-firmware < 1.8-11
Obsoletes: cx18-firmware < 20080628-10
Conflicts: microcode_ctl < 2.1-0
BuildRequires: git
BuildRequires: python3
%description
This package contains firmware images required by some devices.
%package ath
Summary: Firmware files used by the ath
Conflicts: linux-firmware < 20240909
%description ath
This package contains firmware images required by some devices.
%package libertas
Summary: Firmware files used by the libertas
Provides: libertas-usb8388-firmware = 2:%{version}-%{release}
Provides: libertas-usb8388-olpc-firmware = %{version}-%{release}
Provides: libertas-sd8686-firmware = %{version}-%{release}
Provides: libertas-sd8787-firmware = %{version}-%{release}
# for liberas/sd8688.bin -> mrvl/sd8688.bin
Requires: %{name}-mrvl = %{version}-%{release}
Obsoletes: libertas-usb8388-firmware < 2:%{version}-%{release}
Obsoletes: libertas-sd8686-firmware < %{version}-%{release}
Obsoletes: libertas-sd8787-firmware < %{version}-%{release}
%description libertas
This package contains firmware images required by some devices.
%package mediatek
Summary: Firmware files used by the mediatek
%description mediatek
This package contains firmware images required by some devices.
%package mrvl
Summary: Firmware files used by the mrvl
%description mrvl
This package contains firmware images required by some devices.
%package cypress
Summary: Firmware files used by the cypress
%description cypress
This package contains firmware images required by some devices.
%package netronome
Summary: Firmware files used by the netronome
%description netronome
This package contains firmware images required by some devices.
%package ti-connectivity
Summary: Firmware files used by the ti-connectivity
%description ti-connectivity
This package contains firmware images required by some devices.
%package iwlwifi
Summary: Firmware files used by the iwlwifi
Provides: iwl100-firmware = %{version}-%{release}
Provides: iwl105-firmware = %{version}-%{release}
Provides: iwl135-firmware = %{version}-%{release}
Provides: iwl1000-firmware = 1:%{version}-%{release}
Provides: iwl2000-firmware = %{version}-%{release}
Provides: iwl2030-firmware = %{version}-%{release}
Provides: iwl3160-firmware = 1:%{version}-%{release}
Provides: iwl3945-firmware = %{version}-%{release}
Provides: iwl4965-firmware = %{version}-%{release}
Provides: iwl5000-firmware = %{version}-%{release}
Provides: iwl5150-firmware = %{version}-%{release}
Provides: iwl6000-firmware = %{version}-%{release}
Provides: iwl6000g2a-firmware = %{version}-%{release}
Provides: iwl6000g2b-firmware = %{version}-%{release}
Provides: iwl6050-firmware = %{version}-%{release}
Provides: iwl7260-firmware = 1:%{version}-%{release}
Obsoletes: iwl100-firmware < %{version}-%{release}
Obsoletes: iwl1000-firmware < 1:%{version}-%{release}
Obsoletes: iwl3160-firmware < 1:%{version}-%{release}
Obsoletes: iwl3945-firmware < %{version}-%{release}
Obsoletes: iwl4965-firmware < %{version}-%{release}
Obsoletes: iwl5000-firmware < %{version}-%{release}
Obsoletes: iwl5150-firmware < %{version}-%{release}
Obsoletes: iwl6000-firmware < %{version}-%{release}
Obsoletes: iwl6000g2a-firmware < %{version}-%{release}
Obsoletes: iwl6000g2b-firmware < %{version}-%{release}
Obsoletes: iwl6050-firmware < %{version}-%{release}
Obsoletes: iwl7260-firmware < 1:%{version}-%{release}
%description iwlwifi
This package contains firmware images required by some devices.
%prep
%autosetup -p1 -S git
# collect all the license, and delete those will be put into sub packages
mkdir -p LICENCES
cp LICENCE.* LICENSE.* LICENCES/
pushd LICENCES
rm -f LICENCE.atheros_firmware
rm -f LICENCE.iwlwifi_firmware
rm -f LICENCE.Marvell
rm -f LICENCE.OLPC
rm -f LICENCE.mediatek
rm -f LICENCE.ralink_a_mediatek_company_firmware
rm -f LICENCE.Marvell
rm -f LICENCE.Netronome
rm -f LICENCE.cypress
rm -f LICENCE.ti-connectivity
popd
%build
%install
mkdir -p %{buildroot}/%{_lib_path}/updates
make DESTDIR=%{buildroot} FIRMWAREDIR=%{_lib_path} install-zst
pushd %{buildroot}/%{_lib_path}
rm -f usbdux/*dux */*.asm
rm -rf carl9170fw
rm -f Makefile README configure
rm -rf check_whence.py copy-firmware.sh
rm -rf build_packages.py contrib
popd
%files
%dir %{_lib_path}
%license WHENCE
%license LICENCES/*
%{_lib_path}/*
%exclude %{_lib_path}/ar3k
%exclude %{_lib_path}/ath*
%exclude %{_lib_path}/libertas
%exclude %{_lib_path}/mediatek
%exclude %{_lib_path}/mrvl
%exclude %{_lib_path}/netronome
%exclude %{_lib_path}/cypress
%exclude %{_lib_path}/ti-connectivity
%exclude %{_lib_path}/iwlwifi*
%files ath
%license LICENCE.atheros_firmware
%{_lib_path}/ar3k
%{_lib_path}/ath*
%files iwlwifi
%license LICENCE.iwlwifi_firmware
%{_lib_path}/iwlwifi*
%files libertas
%license LICENCE.Marvell LICENCE.OLPC
%{_lib_path}/libertas
%files mediatek
%license LICENCE.mediatek LICENCE.ralink_a_mediatek_company_firmware
%{_lib_path}/mediatek
%files mrvl
%license LICENCE.Marvell
%{_lib_path}/mrvl
%files netronome
%license LICENCE.Netronome
%{_lib_path}/netronome
%files cypress
%license LICENCE.cypress
%{_lib_path}/cypress
%files ti-connectivity
%license LICENCE.ti-connectivity
%{_lib_path}/ti-connectivity
%changelog
* Mon Nov 11 2024 Funda Wang <fundawang@yeah.net> - 20241110-1
- update to 20241110
* Fri Oct 18 2024 Funda Wang <fundawang@yeah.net> - 20241017-1
- update to 20241017
* Thu Sep 19 2024 wangxiao <wangxiao184@h-partners.com> - 20240811-2
- need use copy-firmware.sh, modify the process of build and install
* Thu Aug 29 2024 wangxiao <wangxiao184@h-partners.com> - 20240811-1
- update to 20240811
* Tue Jun 04 2024 chendexi <chendexi@kylinos.cn> - 20240513-4
- Delete unused files to remove python dependencies
* Thu May 23 2024 wangbin <wangbin224@huawei.com> - 20240513-3
- linux-firmware-20240513 has changed python to python3, so remove this patch
* Thu May 23 2024 wangbin <wangbin224@huawei.com> - 20240513-2
- Reupload tar package to fix git lfs clone error
* Wed May 15 2024 caizhongfei <carrie.cai@montage-tech.com> - 20240513-1
- update to 20240513
* Wed Feb 23 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 20211027-2
- Split Linux-firmware by firmware vendor
* Fri Dec 10 2021 zhouwenpei <zhouwenpei1@huawei.com> - 20211027-1
- update to 20211027
* Sat Dec 4 2021 zhouwenpei <zhouwenpei1@huawei.com> - 20210315-1
- update to 20210315
* Wed Feb 3 2021 xinghe <xinghe1@huawei.com> - 20201218-1
- update to 20201218
* Tue Dec 15 2020 xinghe <xinghe1@huawei.com> - 20200817-3
- remove Obsoletes relationship error
* Mon Aug 31 2020 xinghe <xinghe1@huawei.com> - 20200817-2
- fix source url
* Tue Aug 25 2020 xinghe <xinghe1@huawei.com> - 20200817-1
- update to 20200817
* Fri Jul 24 2020 jinzhimin <jinzhimin2@huawei.com> - 20200619-1
- update to 20200619
* Fri Feb 21 2020 wangbin <wangbin224@huawei.com> - 20190815-4
- change python script shebang to python3
* Thu Jan 9 2020 wangbin <wangbin224@huawei.com> - 20190815-3
- Remove some patches
* Thu Dec 19 2019 openEuler Buildteam <buildteam@openeuler.org> - 20190815-2
- Fix upgrade problem
* Mon Sep 2 2019 openEuler Buildteam <buildteam@openeuler.org> - 20190815-1
- Package init