1 # Maintainer: hokasch <hokasch at operamail dot com>
2 # Contributor: Dennis Brendel <buddabrod at gmail dot com>
3 # Contributor: Mathias Buren <mathias.buren at gmail dot com>
5 pkgname=compat-wireless-all
6 srcname=compat-wireless
7 # pkgver=$(date +%Y_%m_%d)
10 pkgdesc='Snapshots of the wireless-testing tree ported to older kernels, for all installed kernels'
11 arch=('i686' 'x86_64')
12 url='http://wireless.kernel.org/'
15 makedepends=('linux-api-headers' 'kernel26-headers')
16 install=$pkgname.install
17 source=(http://wireless.kernel.org/download/compat-wireless-2.6/$srcname-${pkgver//_/-}.tar.bz2)
19 ### Enable using of version numbers from pacman. This should only be used if you have kernels with
20 ### long version numbers (for example if compiled with git-suffixes). This will not work with kernels
21 ### compiled outside pacman's management, and takes much longer than the canonical method, due to
22 ### needing to search the local repository. Set to '1' to enable.
25 # If you don't want to build all drivers, select which group you want to build
26 # below by setting the variable to the group name. If the variable is empty then
27 # then all drivers will be built. Example:
28 # DRIVER_GROUP='iwlwifi'
30 # Supported groups of drivers:
31 # atheros < ath5k ath9k ar9170 zd1211rw >
32 # ath < ath5k ath9k ar9170 >
33 # intel < iwl3945 iwlagn ipw2100 ipw2200 >
34 # iwlwifi < iwl3945 iwlagn >
35 # rtl818x < rtl8180 rtl8187 >
36 # wl12xx < wl1251 (SPI and SDIO) wl1271 >
38 DRIVER_GROUP='iwlwifi'
42 if [ "$USE_PACMAN_VERSION" = "0" ]; then
43 _KERNELS=`file /boot/* | grep 'Linux kernel.*boot executable' | sed 's/.*version \([^ ]\+\).*/\1/'`
44 # Skip -git kernels, they don't work for now, for some reason
46 _PACKAGES=`pacman -Qsq kernel26`
47 _KERNELS=`pacman -Ql $PACKAGES | grep /modules.alias.bin | sed 's/kernel26.*\/lib\/modules\/\(.*\)\/modules.alias.bin/\1/g'`
50 cd "$srcdir/$srcname-${pkgver//_/-}"
52 ##uncomment if you encounter problems with rt2870
53 #sed -i 's/^\# CONFIG_RT2800USB_RT30XX/CONFIG_RT2800USB_RT30XX/' config.mk
55 # Select the driver group
56 if [ "DRIVER_GROUP" = "" ]; then
57 msg "All drivers selected for build."
59 msg "Selecting $DRIVER_GROUP as requested..."
60 scripts/driver-select $DRIVER_GROUP || return 1
63 # Loop through all detected kernels and build
64 for _kernver in $_KERNELS; do
65 msg "Building drivers for $_kernver ..."
66 make KLIB=/lib/modules/${_kernver} || return 1
68 msg "Done building for $_kernver."
69 msg "Installing modules for $_kernver inside package..."
70 mkdir -p $pkgdir/lib/modules/${_kernver}/updates/drivers/{net/{wireless,mac80211,bluetooth/{bnep,cmtp,hidp,rfcomm}},ssb,misc/eeprom,bluetooth}
71 mkdir -p $pkgdir/lib/modules/${_kernver}/updates/{compat,net/{bluetooth/{bnep,cmtp,hidp,rfcomm},mac80211,wireless}}
73 make KLIB=/lib/modules/${_kernver} KMODPATH_ARG="INSTALL_MOD_PATH=$pkgdir" install-modules || return 1
74 msg "Done installing modules for $_kernver."
77 install -dm755 $pkgdir/usr/sbin
78 install -dm755 $pkgdir/lib/udev/rules.d
79 install -dm755 $pkgdir/usr/lib/compat-wireless
80 install scripts/madwifi-unload $pkgdir/usr/sbin/
81 install scripts/athenable $pkgdir/usr/sbin/
82 install scripts/b43enable $pkgdir/usr/sbin/
83 install scripts/iwl-enable $pkgdir/usr/sbin/
84 install scripts/athload $pkgdir/usr/sbin/
85 install scripts/b43load $pkgdir/usr/sbin/
86 install scripts/iwl-load $pkgdir/usr/sbin/
87 install udev/compat_firmware.sh $pkgdir/lib/udev/
88 install udev/50-compat_firmware.rules $pkgdir/lib/udev/rules.d/
89 install scripts/modlib.sh $pkgdir/usr/lib/compat-wireless/
90 install scripts/check_depmod $pkgdir/usr/lib/compat-wireless/
93 md5sums=('23dde666670ab8225d596c421874e0ad')