#!/bin/sh
if ! [ -x /usr/sbin/dkms ]; then
 [ -x /usr/sbin/unfreeze-rc.d ] && unfreeze-rc.d
 apt-get install dkms
 [ -x /usr/sbin/freeze-rc.d ] && freeze-rc.d
fi
module=broadcom-wl
dlver=5.60.48.36
ver=$(echo $dlver|sed s/_/./g)
bit=32
[ "$(uname -m)" = "x86_64" ] && bit=64
driver=hybrid-portsrc-x86_$bit-v$dlver.tar.gz
url=http://www.broadcom.com/docs/linux_sta/$driver
dpkg --purge $module-dkms 2>/dev/null
dkms remove `dkms status 2>/dev/null|awk '/^'$module'/{print "-m "$1" -v "$2}'|sed 's/,//g;s/:$//'|uniq` --all >/dev/null 2>&1
rm -rf /var/lib/dkms/$module
rm -rf /usr/src/$module-$ver
mkdir -p /usr/src/$module-$ver/patches
cd /usr/src/$module-$ver
wget -N $url
tar zxf $driver
rm -f $driver
cat <<EOT > dkms.conf
PACKAGE_NAME="$module"
PACKAGE_VERSION="$ver"
MAKE="make -C \$kernel_source_dir M=\\\$(pwd)"
BUILT_MODULE_NAME="wl"
DEST_MODULE_LOCATION="/updates/dkms"
AUTOINSTALL="yes"
PATCH[0]="broadcom-sta-5.10.91.9-license.patch"
EOT
cd patches
wget -N http://riksun.riken.go.jp/pub/pub/Linux/gentoo/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-license.patch
cd
dkms add -m $module -v $ver
LANG= dkms mkdeb -m $module -v $ver --source-only
time dpkg -i /var/lib/dkms/$module/$ver/deb/$module-dkms_${ver}_all.deb
rm -f /etc/modprobe.d/broadcom-wl*
cat <<EOT > /etc/modprobe.d/broadcom-wl.conf
blacklist bcm43xx
blacklist ssb
blacklist b43
blacklist ndiswrapper
EOT
