# Conditional build: %bcond_without kernel # don't build kernel modules %bcond_with verbose # verbose build (V=1) %bcond_without userspace # don't build userspace programs %bcond_without dkms # build dkms package %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace} %{error:kernel and userspace cannot be built at the same time on PLD builders} exit 1 %endif %if %{without userspace} %undefine with_dkms %endif # nothing to be placed to debuginfo package %define _enable_debug_packages 0 %define _duplicate_files_terminate_build 0 %define rel 5 %define pname wl %define file_ver %(echo %{version} | tr . _) Summary: Broadcom 802.11 a/b/g/n hybrid Linux networking device driver Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel} Version: 6.30.223.271 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}} License: other Group: Base/Kernel Source0: http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-%{file_ver}.tar.gz # Source0-md5: 4e75f4cb7d87f690f9659ffc478495f0 Source1: http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-%{file_ver}.tar.gz # Source1-md5: 115903050c41d466161784d4c843f4f9 Source2: http://www.broadcom.com/docs/linux_sta/README.txt # Source2-md5: 8a6e8708a5e00ab6d841cde51d70eb1b Source3: dkms.conf Source4: modprobe.conf Patch0: 13-broadcom-sta-6.30.223.248-linux-3.18-null-pointer-crash.patch Patch1: gcc-4.9.patch Patch2: no-dead-code.patch Patch3: linux-4.7.patch Patch4: linux-4.8.patch Patch5: 17-fix-kernel-warnings.patch URL: http://www.broadcom.com/support/802.11 BuildRequires: rpmbuild(macros) >= 1.701 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}} ExclusiveArch: %{ix86} %{x8664} x32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and BCM43228-based hardware. This is an Official Release of Broadcom's hybrid Linux driver for use with Broadcom based hardware. %package -n dkms-%{pname} Summary: DKMS-ready driver for Broadcom WL driver Group: Base/Kernel Release: %{rel} Requires(pre): dkms Requires(post): dkms %if "%{_rpmversion}" >= "5" BuildArch: noarch %endif %description -n dkms-%{pname} This package contains a DKMS-ready driver for Broadcom WL driver. %define kernel_pkg()\ %package -n kernel%{_alt_kernel}-net-wl\ Summary: Broadcom 802.11 a/b/g/n hybrid Linux networking device driver\ Release: %{rel}@%{_kernel_ver_str}\ Group: Base/Kernel\ Requires(post,postun): /sbin/depmod\ %requires_releq_kernel\ Requires(postun): %releq_kernel\ \ %description -n kernel%{_alt_kernel}-net-wl\ These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux\ device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4313-,\ BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and\ BCM43228-based hardware.\ \ This is an Official Release of Broadcom's hybrid Linux driver for use\ with Broadcom based hardware.\ \ %files -n kernel%{_alt_kernel}-net-wl\ %defattr(644,root,root,755)\ %doc wl/lib/LICENSE.txt README.txt\ /lib/modules/%{_kernel_ver}/kernel/drivers/net/wireless/*.ko*\ %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/%{pname}.conf\ \ %post -n kernel%{_alt_kernel}-net-wl\ %depmod %{_kernel_ver}\ \ %posttrans -n kernel%{_alt_kernel}-net-wl\ %banner -e kernel%{_alt_kernel}-net-wl < $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}/dkms.conf %endif %clean rm -rf $RPM_BUILD_ROOT %post -n dkms-%{pname} %{_sbindir}/dkms add -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \ %{_sbindir}/dkms build -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \ %{_sbindir}/dkms install -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade || : %preun -n dkms-%{pname} %{_sbindir}/dkms remove -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade --all || : %if %{with dkms} %files -n dkms-%{pname} %defattr(644,root,root,755) %{_usrsrc}/%{pname}-%{version}-%{rel} %endif