3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_without kernel # don't build kernel modules
5 %bcond_without smp # don't build SMP module
6 %bcond_without userspace # don't build userspace module
7 %bcond_with verbose # verbose build (V=1)
13 Summary: Broadcom BCM43xx series driver for Linux
14 Summary(pl): Sterownik do kart Broadcom BCM43xx
17 %define _snap 20060120
22 Source0: http://ftp.berlios.de/pub/bcm43xx/snapshots/bcm43xx/%{name}-%{_snap}.tar.bz2
23 # Source0-md5: 4294c8a1f8c9c0f3ea71c8262d016cad
24 Source1: http://ftp.berlios.de/pub/bcm43xx/snapshots/fwcutter/%{name}-fwcutter-%{_snap}.tar.bz2
25 # Source1-md5: bcf4c2cb4a53c3d2b9b2f3a737fd80fc
26 Patch0: %{name}-local_headers.patch
27 URL: http://bcm43xx.berlios.de/
29 %{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7}
30 BuildRequires: rpmbuild(macros) >= 1.217
31 BuildRequires: softmac-devel
33 Requires(post,postun): /sbin/depmod
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 This package contains the Linux driver for the Broadcom BCM43xx
38 Ethernet network adapter.
41 Pakiet zawiera sterownik dla Linuksa do kart sieciowych Broadcom
44 %package -n kernel-net-bcm43xx
45 Summary: Broadcom BCM43xx driver for Linux
46 Summary(pl): Sterownik do karty Broadcom BCM43xx dla Linuksa
47 Release: %{_rel}@%{_kernel_ver_str}
49 Requires(post,postun): /sbin/depmod
50 %if %{with dist_kernel}
51 %requires_releq_kernel_up
52 Requires(postun): %releq_kernel_up
55 %description -n kernel-net-bcm43xx
56 This package contains the Linux driver for the Broadcom BCM43xx
57 Ethernet network adapter.
59 %description -n kernel-net-bcm43xx -l pl
60 Pakiet zawiera sterownik dla Linuksa do kart sieciowych Broadcom
63 %package -n kernel-smp-net-bcm43xx
64 Summary: Broadcom BCM43xx driver for Linux SMP
65 Summary(pl): Sterownik do karty Broadcom BCM43xx dla Linuksa SMP
66 Release: %{_rel}@%{_kernel_ver_str}
68 Requires(post,postun): /sbin/depmod
69 %if %{with dist_kernel}
70 %requires_releq_kernel_smp
71 Requires(postun): %releq_kernel_smp
74 %description -n kernel-smp-net-bcm43xx
75 This package contains the Linux SMP driver for the Broadcom BCM43xx
76 series Ethernet Network Adapter.
78 %description -n kernel-smp-net-bcm43xx -l pl
79 Pakiet zawiera sterownik dla Linuksa SMP do kart sieciowych Broadcom
83 %setup -q -n %{name}-%{_snap} -a1
85 cp -rf %{_usr}/src/softmac-include/net .
86 mv %{name}-fwcutter-%{_snap}/README README.fwcutter
91 %{__make} -C %{name}-fwcutter-%{_snap} \
92 CFLAGS="%{rpmcflags} -std=c99 -Wall -pedantic -D_BSD_SOURCE" \
97 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
98 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
102 install -d include/{linux,config}
103 ln -sf %{_kernelsrcdir}/config-$cfg .config
104 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
106 install -d include/asm
107 [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -sf %{_kernelsrcdir}/include/asm-powerpc/* include/asm
108 [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -snf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* include/asm
110 ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
113 cp %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
114 cat %{_usr}/src/softmac-include/symvers.add >> Module.symvers
115 touch include/config/MARKER
117 %{__make} -C %{_kernelsrcdir} clean \
118 RCS_FIND_IGNORE="-name '*.ko' -o" \
121 %{__make} -C %{_kernelsrcdir} modules \
122 CC="%{__cc}" CPP="%{__cpp}" \
126 mv bcm43xx{,-$cfg}.ko
131 rm -rf $RPM_BUILD_ROOT
133 %if %{with userspace}
134 install -d $RPM_BUILD_ROOT%{_bindir}
135 install %{name}-fwcutter-%{_snap}/fwcutter $RPM_BUILD_ROOT%{_bindir}
139 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/drivers/net
140 install bcm43xx-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
141 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/net/bcm43xx.ko
142 %if %{with smp} && %{with dist_kernel}
143 install bcm43xx-smp.ko \
144 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/net/bcm43xx.ko
149 rm -rf $RPM_BUILD_ROOT
151 %post -n kernel-net-bcm43xx
152 %depmod %{_kernel_ver}
154 %postun -n kernel-net-bcm43xx
155 %depmod %{_kernel_ver}
157 %post -n kernel-smp-net-bcm43xx
158 %depmod %{_kernel_ver}smp
160 %postun -n kernel-smp-net-bcm43xx
161 %depmod %{_kernel_ver}smp
163 %if %{with userspace}
165 %defattr(644,root,root,755)
166 %doc README README.fwcutter
167 %attr(755,root,root) %{_bindir}/fwcutter
171 %files -n kernel-net-bcm43xx
172 %defattr(644,root,root,755)
173 /lib/modules/%{_kernel_ver}/kernel/drivers/net/bcm43xx.ko*
175 %if %{with smp} && %{with dist_kernel}
176 %files -n kernel-smp-net-bcm43xx
177 %defattr(644,root,root,755)
178 /lib/modules/%{_kernel_ver}smp/kernel/drivers/net/bcm43xx.ko*