# openmamba linux-firmware specfile # Copyright (C) 2011-2013 by Silvan Calarco # # To build for a specific kernel target: # # rpm -ba --define="KERNEL_TARGET mamba" linux-firmware.spec # # default is "mamba" # %define kernel_majversion %(echo %KERNEL_VER | cut -d. -f1-2) %define kernel_ver %(echo %KERNEL_VER | cut -d. -f1-3) %if "%{?KERNEL_TARGET}" == "" # build a mamba kernel by default %ifarch arm %define KERNEL_TARGET mamba-arm %endif %ifarch x86_64 %define KERNEL_TARGET mamba-x86_64 %endif %ifarch %{ix86} %define KERNEL_TARGET mamba %endif %else %define KERNEL_TARGET_APPEND -%{KERNEL_TARGET} %endif %if "%{?KERNEL_VER}" == "" %define KERNEL_VER %(uname -r | sed "s|\\([0-9.]*\\).*|\\1|" ) %endif Name: linux-firmware Version: 20130903 Release: 1mamba Summary: Collection of firmware files used by the Linux Kernel Group: System/Kernel and Hardware Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ Source: git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/master/linux-firmware-%{version}.tar.bz2 # packaged created from git clone # git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git # cd linux-firmware # git archive --format=tar --prefix=linux-firmware-0.0.git20120908/ HEAD | xz > ../../SOURCES/linux-firmware-0.0.git20120908.tar.xz License: Distributable ## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-END BuildRequires: kernel-%{KERNEL_TARGET} >= %{kernel_ver} BuildRequires: kernel-%{KERNEL_TARGET} <= %{kernel_ver}.255 BuildRequires: kernel-%{KERNEL_TARGET}-sound >= %{kernel_ver} BuildRequires: kernel-%{KERNEL_TARGET}-sound <= %{kernel_ver}.255 BuildRequires: kernel-%{KERNEL_TARGET}-wireless >= %{kernel_ver} BuildRequires: kernel-%{KERNEL_TARGET}-wireless <= %{kernel_ver}.255 BuildRequires: kmod Provides: iwlwifi-firmware Obsoletes: iwlwifi-firmware Provides: rt2860-firmware Obsoletes: rt2860-firmware Provides: rt2870-firmware Obsoletes: rt2870-firmware Provides: radeon-firmware Obsoletes: radeon-firmware Provides: rt2501-firmware Obsoletes: rt2501-firmware Provides: linux_firmware BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Collection of firmware files used by the Linux Kernel. %package extra Summary: Collection of extra firmware files that are not used by the Linux Kernel modules Group: System/Kernel and Hardware Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description extra Collection of extra firmware files that are not used by the Linux Kernel modules. %prep %setup -q %build %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" install -d -m0755 %{buildroot}/lib/firmware cp -a * %{buildroot}/lib/firmware/ find /lib/modules/%{KERNEL_VER}%{KERNEL_TARGET}/ -type f -name *.ko | \ while read l; do /sbin/modinfo $l | grep ^firmware: | sed "s|firmware:[[:space:]]*|/lib/firmware/|" >> extracted-kernel-firmware.list done cat extracted-kernel-firmware.list | sort -u > kernel-firmware.list while read l; do [ -e %{buildroot}${l} ] && echo "${l}" >> matching-firmware.list done < kernel-firmware.list pushd %{buildroot}/lib/firmware # atk3k-1.fw needs microcode files in /lib/firmware/ar3k grep "ath3k-1.fw" %{_builddir}/%{name}-%{version}/matching-firmware.list && { find ar3k/ -type f | \ while read l; do [ -e %{buildroot}/lib/firmware/${l} ] && echo "/lib/firmware/${l}" >> %{_builddir}/%{name}-%{version}/matching-firmware.list done } # add symlinked files find -type l -exec readlink -f {} \; | \ while read l; do n=`echo "${l/*\/lib\/firmware\/}"` grep ${n} %{_builddir}/%{name}-%{version}/matching-firmware.list || \ echo "/lib/firmware/${n}" >> %{_builddir}/%{name}-%{version}/matching-firmware.list done popd find %{buildroot}/lib/firmware/ \( -type f -or -type l \) -and \ -not -name LICENSE\* -and -not -name LICENCE\* -and -not -name GPL-3 | \ while read l; do f=`echo $l | sed "s|%{buildroot}||"` grep "^$f$" matching-firmware.list || echo "${f}" >> not-matching-firmware.list done %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %files -f matching-firmware.list %defattr(-,root,root) /lib/firmware/iwlwifi-6000g2b-5.ucode /lib/firmware/GPL-3 /lib/firmware/LICENCE.agere /lib/firmware/LICENSE.amd-ucode /lib/firmware/LICENCE.atheros_firmware /lib/firmware/LICENCE.go7007 /lib/firmware/LICENCE.i2400m /lib/firmware/LICENCE.iwlwifi_firmware /lib/firmware/LICENCE.mwl8335 /lib/firmware/LICENCE.myri10ge_firmware /lib/firmware/LICENCE.phanfw /lib/firmware/LICENCE.qla2xxx /lib/firmware/LICENCE.ralink-firmware.txt /lib/firmware/LICENCE.rtlwifi_firmware.txt /lib/firmware/LICENCE.ti-connectivity /lib/firmware/LICENSE.radeon %files extra -f not-matching-firmware.list %defattr(-,root,root) %exclude /lib/firmware/iwlwifi-6000g2b-5.ucode /lib/firmware/LICENCE.Marvell /lib/firmware/LICENCE.OLPC /lib/firmware/LICENCE.broadcom_bcm43xx /lib/firmware/LICENCE.chelsio_firmware /lib/firmware/LICENCE.ene_firmware /lib/firmware/LICENCE.ralink_a_mediatek_company_firmware /lib/firmware/LICENCE.tda7706-firmware.txt /lib/firmware/LICENCE.ueagle-atm4-firmware /lib/firmware/LICENCE.via_vt6656 /lib/firmware/LICENCE.xc5000 /lib/firmware/LICENSE.dib0700 /lib/firmware/LICENCE.ca0132 /lib/firmware/LICENCE.ibt_firmware %changelog * Tue Sep 17 2013 Automatic Build System 20130903-1mamba - automatic version update by autodist * Mon Jul 29 2013 Automatic Build System 20130725-1mamba - automatic version update by autodist * Fri Jun 14 2013 Automatic Build System 20130610-1mamba - automatic version update by autodist * Fri May 31 2013 Automatic Build System 20130528-1mamba - automatic version update by autodist * Thu May 09 2013 Automatic Build System 20130430-1mamba - automatic version update by autodist * Thu Apr 18 2013 Silvan Calarco 20130414git-2mamba - move from extra to main ar3k microcode files required by ath3k-1.fw - move from extra to main symlinked files * Sun Apr 14 2013 Silvan Calarco 20130414git-1mamba - update to 20130414git * Thu Nov 22 2012 Silvan Calarco 0.0.git20121122-1mamba - update to 0.0.git20121122 * Sun Sep 23 2012 Silvan Calarco 0.0.git20120908-2mamba - rebuilt with kernel 3.4 * Sat Sep 08 2012 Silvan Calarco 0.0.git20120908-1mamba - update to 0.0.git20120908 * Fri Feb 24 2012 Silvan Calarco 0.0.git20120202-3mamba - iwlagn: move some firmwares from -extra to main package * Fri Feb 17 2012 Silvan Calarco 0.0.git20120202-2mamba - rebuilt for 3.2 * Thu Feb 02 2012 Silvan Calarco 0.0.git20120202-1mamba - update to 0.0.git20120202 * Tue Sep 20 2011 Silvan Calarco 0.0.git20110821-2mamba - rebuilt with kernel 3.0 * Sun Aug 21 2011 Silvan Calarco 0.0-1mamba - package created by autospec http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-100-ucode-39.31.5.1.tgz