2 # TODO: kernel header is additional BR (whatever it means???)
5 %bcond_without dist_kernel # allow non-distribution kernel
6 %bcond_without kernel # don't build kernel modules
7 %bcond_without smp # don't build SMP module
8 %bcond_without userspace # don't build userspace module
9 %bcond_with verbose # verbose build (V=1)
12 %define snap_year 2005
15 %define snap %{snap_year}%{snap_month}%{snap_day}
16 %define snapdate %{snap_year}-%{snap_month}-%{snap_day}
17 %define _rel 0.%{snap}.2
18 Summary: Atheros WiFi card driver
19 Summary(pl.UTF-8): Sterownik karty radiowej Atheros
24 License: GPL/BSD (partial source)
26 Source0: http://madwifi.otaku42.de/%{snap_year}/%{snap_month}/%{name}-cvs-snapshot-%{snapdate}.tar.bz2
27 # Source0-md5: edb2791b3c1df2cd5db57d6a52670d62
28 URL: http://madwifi.sourceforge.net/
30 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
31 BuildRequires: rpmbuild(macros) >= 1.308
32 BuildRequires: sharutils
34 ExclusiveArch: %{x8664} arm %{ix86} mips ppc xscale
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38 Atheros WiFi card driver.
40 %description -l pl.UTF-8
41 Sterownik karty radiowej Atheros.
44 Summary: Header files for madwifi
45 Summary(pl.UTF-8): Pliki nagłówkowe dla madwifi
46 Group: Development/Libraries
49 Header files for madwifi.
51 %description devel -l pl.UTF-8
52 Pliki nagłówkowe dla madwifi.
56 %package -n kernel%{_alt_kernel}-net-madwifi
57 Summary: Linux driver for Atheros cards
58 Summary(pl.UTF-8): Sterownik dla Linuksa do kart Atheros
59 Release: %{_rel}@%{_kernel_ver_str}
61 Requires(post,postun): /sbin/depmod
62 %if %{with dist_kernel}
63 %requires_releq_kernel_up
64 Requires(postun): %releq_kernel_up
67 %description -n kernel%{_alt_kernel}-net-madwifi
68 This is driver for Atheros card for Linux.
70 This package contains Linux module.
72 %description -n kernel%{_alt_kernel}-net-madwifi -l pl.UTF-8
73 Sterownik dla Linuksa do kart Atheros.
75 Ten pakiet zawiera moduł jądra Linuksa.
77 %package -n kernel%{_alt_kernel}-smp-net-madwifi
78 Summary: Linux SMP driver for %{name} cards
79 Summary(pl.UTF-8): Sterownik dla Linuksa SMP do kart %{name}
80 Release: %{_rel}@%{_kernel_ver_str}
82 Requires(post,postun): /sbin/depmod
83 %if %{with dist_kernel}
84 %requires_releq_kernel_smp
85 Requires(postun): %releq_kernel_smp
88 %description -n kernel%{_alt_kernel}-smp-net-madwifi
89 This is driver for Atheros cards for Linux.
91 This package contains Linux SMP module.
93 %description -n kernel%{_alt_kernel}-smp-net-madwifi -l pl.UTF-8
94 Sterownik dla Linuksa do kart Atheros.
96 Ten pakiet zawiera moduł jądra Linuksa SMP.
102 %if %{with userspace}
105 CFLAGS="-include include/compat.h -\$(INCS) %{rpmcflags}" \
106 KERNELCONF="%{_kernelsrcdir}/config-up" \
107 KERNELPATH="%{_kernelsrcdir}"
112 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
113 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
117 install -d o/include/linux
118 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
119 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
120 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
122 install -d include/asm
123 [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -sf %{_kernelsrcdir}/include/asm-powerpc/* include/asm
124 [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -snf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* include/asm
126 ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} o/include/asm
128 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
130 # patching/creating makefile(s) (optional)
132 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
133 ln -sf ../Makefile.inc o/Makefile.inc
134 %{__make} -C %{_kernelsrcdir} clean \
135 KERNELCONF="%{_kernelsrcdir}/config-$cfg" \
136 RCS_FIND_IGNORE="-name '*.ko' -o" \
138 KERNELPATH="%{_kernelsrcdir}" \
141 TARGET="%{_target_base_arch}-elf" \
142 KERNELPATH=%{_kernelsrcdir} \
143 KERNELCONF="%{_kernelsrcdir}/config-$cfg" \
146 CC="%{__cc}" CPP="%{__cpp}" \
147 KERNELRELEASE="%{_kernel_ver}" \
150 mv ath/ath_pci{,-$cfg}.ko
151 mv ath_hal/ath_hal{,-$cfg}.ko
152 mv ath_rate/sample/ath_rate_sample{,-$cfg}.ko
153 for i in wlan_wep wlan_xauth wlan_acl wlan_ccmp wlan_tkip wlan; do
154 mv net80211/$i{,-$cfg}.ko
160 rm -rf $RPM_BUILD_ROOT
162 %if %{with userspace}
163 install -d $RPM_BUILD_ROOT%{_bindir}
164 install tools/80211debug $RPM_BUILD_ROOT%{_bindir}/80211debug
165 install tools/80211stats $RPM_BUILD_ROOT%{_bindir}/80211stats
166 install tools/athchans $RPM_BUILD_ROOT%{_bindir}/athchans
167 install tools/athctrl $RPM_BUILD_ROOT%{_bindir}/athctrl
168 install tools/athdebug $RPM_BUILD_ROOT%{_bindir}/athdebug
169 install tools/athkey $RPM_BUILD_ROOT%{_bindir}/athkey
170 install tools/athstats $RPM_BUILD_ROOT%{_bindir}/athstats
172 %{__make} -C tools install \
173 KERNELCONF="%{_kernelsrcdir}/config-up" \
174 KERNELPATH="%{_kernelsrcdir}" \
175 DESTDIR=$RPM_BUILD_ROOT \
178 install -d $RPM_BUILD_ROOT%{_includedir}/madwifi/net80211
179 install -d $RPM_BUILD_ROOT%{_includedir}/madwifi/include/sys
180 install net80211/*.h $RPM_BUILD_ROOT%{_includedir}/madwifi/net80211
181 install include/*.h $RPM_BUILD_ROOT%{_includedir}/madwifi/include
182 install include/sys/*.h $RPM_BUILD_ROOT%{_includedir}/madwifi/include/sys
186 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/net
187 install ath/ath_pci-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
188 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ath_pci.ko
189 install ath_hal/ath_hal-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
190 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ath_hal.ko
191 install ath_rate/sample/ath_rate_sample-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
192 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ath_rate_sample.ko
193 for i in wlan_wep wlan_xauth wlan_acl wlan_ccmp wlan_tkip wlan; do
194 install net80211/$i-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
195 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/$i.ko
197 %if %{with smp} && %{with dist_kernel}
198 install ath/ath_pci-smp.ko \
199 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/net/ath_pci.ko
200 install ath_hal/ath_hal-smp.ko \
201 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/net/ath_hal.ko
202 install ath_rate/sample/ath_rate_sample-smp.ko \
203 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/net/ath_rate_sample.ko
204 for i in wlan_wep wlan_xauth wlan_acl wlan_ccmp wlan_tkip wlan; do
205 install net80211/$i-smp.ko \
206 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/net/$i.ko
212 rm -rf $RPM_BUILD_ROOT
214 %post -n kernel%{_alt_kernel}-net-madwifi
215 %depmod %{_kernel_ver}
217 %postun -n kernel%{_alt_kernel}-net-madwifi
218 %depmod %{_kernel_ver}
220 %post -n kernel%{_alt_kernel}-smp-net-madwifi
221 %depmod %{_kernel_ver}smp
223 %postun -n kernel%{_alt_kernel}-smp-net-madwifi
224 %depmod %{_kernel_ver}smp
226 %if %{with userspace}
228 %defattr(644,root,root,755)
229 %doc COPYRIGHT README
230 %attr(755,root,root) %{_bindir}/80211*
231 %attr(755,root,root) %{_bindir}/ath*
234 %defattr(644,root,root,755)
235 %{_includedir}/madwifi
239 %files -n kernel%{_alt_kernel}-net-madwifi
240 %defattr(644,root,root,755)
241 /lib/modules/%{_kernel_ver}/kernel/net/*.ko*
243 %if %{with smp} && %{with dist_kernel}
244 %files -n kernel%{_alt_kernel}-smp-net-madwifi
245 %defattr(644,root,root,755)
246 /lib/modules/%{_kernel_ver}smp/kernel/net/*.ko*