#!/bin/sh # Slackware build script for broadcom-sta proprietary wireless driver # Written by David Matthew Jerry Koenig # Public domain. PRGNAM=broadcom-sta VERSION=5.60.48.36 BUILD=${BUILD:-1} TAG=${TAG:-_SBo} KERNEL=${KERNEL:-$(uname -r)} PKG_VERSION=${VERSION}_$(echo $KERNEL | tr - _) # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$( uname -m ) ;; esac fi CWD=$(pwd) TMP=${TMP:-/tmp/SBo} WORKDIR=$TMP/build-$PRGNAM PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} # Skipped the usual set of variables since they don't apply here # (libdir isn't needed, and custom CFLAGS aren't wanted). if [ "$ARCH" = "i486" ]; then MY_ARCH="x86_32" elif [ "$ARCH" = "i686" ]; then MY_ARCH="x86_32" elif [ "$ARCH" = "x86_64" ]; then MY_ARCH="x86_64" else printf "\n\n$ARCH is not supported...\n" exit 1 fi set -e rm -rf $WORKDIR $PKG mkdir -p $TMP $WORKDIR $PKG $OUTPUT cd $WORKDIR tar xvf $CWD/hybrid-portsrc-${MY_ARCH}-v${VERSION}.tar.gz patch -p1 < $CWD/broadcom-sta-5.60.48.36-linux-2.6.33.patch # Build the module make -C /lib/modules/$KERNEL/build M=$WORKDIR clean make -C /lib/modules/$KERNEL/build M=$WORKDIR # Install the module mkdir -p $PKG/lib/modules/$KERNEL/kernel/extra cp wl.ko $PKG/lib/modules/$KERNEL/kernel/extra mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cat $WORKDIR/lib/LICENSE.txt > $PKG/usr/doc/$PRGNAM-$VERSION/LICENSE.txt mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc sed "s%@KERNEL@%$KERNEL%" $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG chown -R root:root . /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}