diff options
author | Eric Hameleers <alien@slackware.com> | 2009-01-26 10:25:42 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2009-01-26 10:25:42 +0000 |
commit | 155577416579a62d02fe17248b0a170439660e05 (patch) | |
tree | a5c89878afb387973ca0d20bc7f2b8253dd0bc89 /madwifi-free | |
parent | 223e1a0f9a33e9b954abf2a66fbef619114e5748 (diff) | |
download | asb-155577416579a62d02fe17248b0a170439660e05.tar.gz asb-155577416579a62d02fe17248b0a170439660e05.tar.xz |
Initial revision
Diffstat (limited to 'madwifi-free')
-rwxr-xr-x | madwifi-free/build/madwifi-free.SlackBuild | 233 | ||||
-rw-r--r-- | madwifi-free/build/madwifi_cflags.diff | 10 | ||||
-rw-r--r-- | madwifi-free/build/slack-desc | 18 |
3 files changed, 261 insertions, 0 deletions
diff --git a/madwifi-free/build/madwifi-free.SlackBuild b/madwifi-free/build/madwifi-free.SlackBuild new file mode 100755 index 00000000..d4de4984 --- /dev/null +++ b/madwifi-free/build/madwifi-free.SlackBuild @@ -0,0 +1,233 @@ +#!/bin/sh +# $Id$ +# Copyright (c) 2009 Eric Hameleers; Eindhoven, The Netherlands +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# ------------------------------------------------------------------------------ +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers <alien@slackware.com> +# For: madwifi +# URL: http://madwifi.org/ +# Description: driver for atheros-based wireless a/b/g cards. +# Needs: +# Changelog: +# 20090124-1: 24/jan/2009 by Eric Hameleers <alien@slackware.com> +# * First build of the madwifi-free code. +# ----------------------------------------------------------------------------- + +# Change SNAPSHOT from "" to "yes" below if you're building a snapshot release. +# Always keep it empty (SNAPSHOT="") if you compile stable releases! +SNAPSHOT=${SNAPSHOT:-"yes"} + +PRGNAM=madwifi-free +SRCVER="0.9.4" +VERSION=${VERSION:-0.9.4} # Note: for snapshot builds, + # the VERSION value changes further down; +BUILD=1 +TAG=${TAG:-"alien"} + +ARCH=${ARCH:-i486} +KVER=${KVER:-$(uname -r)} +KSRC=${KSRC:-/lib/modules/${KVER}/build} + +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + +# Place to build (TMP) package (PKG) and output (OUTPUT) the program: +TMP=${TMP:-/tmp/build} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ -z $SNAPSHOT ]; then # build a stable release + SOURCE="$SRCDIR/${PRGNAM}-${SRCVER}.tar.gz" + SRCURL="http://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}-${SRCVER}.tar.gz" +else # build a SVN snapshot + SOURCE="$SRCDIR/${PRGNAM}-current.tar.gz" + SRCURL="http://snapshots.madwifi-project.org/${PRGNAM}-current.tar.gz" +fi + +## +## --- with a little luck, you won't have to edit below this point --- ## +## + +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED on line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +case "$ARCH" in + i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + s390) SLKCFLAGS="-O2" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + powerpc) SLKCFLAGS="-O2" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + x86_64) SLKCFLAGS="-O2 -fPIC" + SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" + ;; + athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; +esac + +# Prepare the build environment: +mkdir -p $TMP/tmp-$PRGNAM # location to build the source +rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build +mkdir -p $PKG # place for the package to be built +rm -rf $PKG/* # erase old package's contents +mkdir -p $OUTPUT # place for the package to be saved +rm -f $OUTPUT/*${PRGNAM}*.log # clean out old logfiles + +# Source file availability: +if ! [ -f ${SOURCE} ]; then + if ! [ "x${SRCURL}" == "x" ]; then + # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT + [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" + echo "Source '$(basename ${SOURCE})' not available yet..." + echo "Will download file to $(dirname $SOURCE)" + wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true + if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then + echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." + mv -f "${SOURCE}" "${SOURCE}".FAIL + exit 1 + fi + else + echo "File '$(basename ${SOURCE})' not available... aborting the build." + exit 1 + fi +fi +if [ "$P1" == "--download" ]; then + echo "Download complete." + exit 0 +fi + +# --- PACKAGE BUILDING --- +# For snapshots we can only determine the VERSION using the tarball: +if [ ! -z $SNAPSHOT ]; then + echo -n "Changing VERSION from '$VERSION' to " + SRCVER=$(tar tf $SOURCE |head -1|cut -d- -f3-|cut -d/ -f1) + VERSION=$(echo $SRCVER|tr '-' '_') + echo "Snapshot build; setting VERSION to '$VERSION'" +fi + +echo "+=================+" +echo "| $PRGNAM-$VERSION |" +echo "+=================+" + +cd $TMP/tmp-$PRGNAM +echo "Extracting the source tarball..." +tar -xvf "$SOURCE" + +if [ -z "$SNAPSHOT" ]; then + cd ${PRGNAM}-${SRCVER} +else + cd ${PRGNAM}-${SRCVER} +fi +chown -R root:root * +chmod -R u+w,go+r-w,a-s * + +# Build the kernel modules and the utilities + +# If you need another rate control module than ath_rate_sample (the default), +# you'll need to set the ATH_RATE variable before starting make. For instance, +# (read the INSTALL file why you could want this) to build ath_rate_amrr, set: +# export ATH_RATE=ath_rate/amrr + +echo Building ... + +LDFLAGS="$SLKLDFLAGS" \ +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +make clean all KERNELPATH=${KSRC} KERNELRELEASE=${KVER} \ + 2>&1 | tee $OUTPUT/make-${PRGNAM}.log + +# Install the kernel module and tools: +mkdir -p $PKG/usr/{bin,man} + +# Use installwatch if available: +if $(which installwatch > /dev/null 2>&1); then + installwatch -o $OUTPUT/install-${PRGNAM}.log make install DESTDIR=$PKG \ + BINDIR=/usr/bin MANDIR=/usr/man KERNELPATH=${KSRC} KERNELRELEASE=${KVER} +else + make install DESTDIR=$PKG \ + BINDIR=/usr/bin MANDIR=/usr/man KERNELPATH=${KSRC} KERNELRELEASE=${KVER} \ + 2>&1 | tee $OUTPUT/install-${PRGNAM}.log +fi + +# Include files (for wpa_supplicant) - note that wpa_supplicant can now also +# communicate with madwifi using the "WEXT" driver: +mkdir -p $PKG/usr/include/madwifi +for i in include net80211; do + find $i -type f -name "*.h" -exec cp -a --parent {} $PKG/usr/include/madwifi \; +done + +# Documentation +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a COPYRIGHT INSTALL README* SNAPSHOT THANKS $PKG/usr/doc/$PRGNAM-$VERSION || true +cp -a hal/COPYRIGHT $PKG/usr/doc/$PRGNAM-$VERSION/COPYRIGHT.hal || true +cp -a hal/README $PKG/usr/doc/$PRGNAM-$VERSION/README.hal || true +cp -a patch-kernel/README $PKG/usr/doc/$PRGNAM-$VERSION/README.patch-kernel || true +cp -a scripts $PKG/usr/doc/$PRGNAM-$VERSION/ || true +cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +# Compress the man pages: +if [ -d $PKG/usr/man ]; then + find $PKG/usr/man -name "*.?" -type f -exec gzip -9f {} \; + for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +fi + +# Add a package description: +mkdir -p $PKG/install +cat $SRCDIR/slack-desc > $PKG/install/slack-desc + +# Write a doinst.sh file: +cat <<-EEOOTT > $PKG/install/doinst.sh + # Only run depmod on matching running kernel + # Slackware will run depmod anyway on reboot): + MYMODVER=$KVER + MYKERNEL=\$(uname -r) + + if [ "\$MYKERNEL" = "\$MYMODVER" ]; then + if [ -x sbin/depmod ]; then + chroot . /sbin/depmod -a \$MYKERNEL 1> /dev/null 2> /dev/null + fi + fi + + EEOOTT + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Create the package: +cd $PKG +makepkg -l y -c n $OUTPUT/$PRGNAM-${VERSION}_$(echo $KVER | tr - _)-$ARCH-$BUILD$TAG.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +cd $OUTPUT +md5sum $PRGNAM-${VERSION}_$(echo $KVER | tr - _)-$ARCH-$BUILD$TAG.tgz > $PRGNAM-${VERSION}_$(echo $KVER | tr - _)-$ARCH-$BUILD$TAG.tgz.md5 +cd - +cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/$PRGNAM-${VERSION}_$(echo $KVER | tr - _)-$ARCH-$BUILD$TAG.txt + diff --git a/madwifi-free/build/madwifi_cflags.diff b/madwifi-free/build/madwifi_cflags.diff new file mode 100644 index 00000000..b420d3b6 --- /dev/null +++ b/madwifi-free/build/madwifi_cflags.diff @@ -0,0 +1,10 @@ +--- madwifi-0.9.2/tools/Makefile.orig 2006-09-21 00:30:05.000000000 +0200 ++++ madwifi-0.9.2/tools/Makefile 2006-09-21 00:30:17.000000000 +0200 +@@ -53,7 +53,7 @@ + all: $(ALL) + + INCS+= -I. -I$(HAL) -I$(DEPTH) +-CFLAGS= -g -O2 -Wall ++CFLAGS?= -g -O2 -Wall + ALL_CFLAGS= $(CFLAGS) $(INCS) + LDFLAGS= diff --git a/madwifi-free/build/slack-desc b/madwifi-free/build/slack-desc new file mode 100644 index 00000000..2440f24d --- /dev/null +++ b/madwifi-free/build/slack-desc @@ -0,0 +1,18 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + |-----handy-ruler------------------------------------------------------| +madwifi-free: madwifi-free (driver for atheros-based wireless a/b/g cards) +madwifi-free: +madwifi-free: This package contains the Multiband Atheros Driver for WiFi, +madwifi-free: a linux device driver for 802.11a/b/g universal NIC cards +madwifi-free: - either Cardbus, PCI or MiniPCI - using Atheros chipsets +madwifi-free: (ar5210, ar5211, ar5212 ...) +madwifi-free: The madwifi-free.org site has a Wiki with a wealth of +madwifi-free: information. +madwifi-free: +madwifi-free: Project home: http://madwifi-project.org/ +madwifi-free: |