#!/bin/bash #Copyright 2001-2002 William Stearns #Released under the GPL. #FIXME - where to make clean? #http://www.pcchips.com.tw/driver/linux/MODEM/PCTEL.ZIP #Above (old) url no longer appears to work. #ftp://www.pcchips.com.tw/driver/Linux/MODEM/PCTEL.ZIP if [ -z "$PCTELVERSION" ]; then echo PCTELVERSION unset, skipping pctel. exit fi exec 2>&1 PROJECT="pctel" BKLIBDIR="${BKLIBDIR:-/var/lib/buildkernel}/" THISSCRIPT="$BKLIBDIR/bkrun-$PROJECT" #We can't use $0 as this script is sourced; $0=/usr/bin/buildkernel if [ -f $BKLIBDIR/${PROJECT}-options ]; then echo $PROJECT loading options . $BKLIBDIR/${PROJECT}-options fi echo $PROJECT \(Version $PCTELVERSION\) $1 called from Buildkernel PCTELSOURCEDIR=${PCTELSOURCEDIR:-"/usr/src/pctel"} if [ -f "$BKSOURCEDIR/PCTEL.ZIP" ]; then PCTELTAR=${PCTELTAR:-"$BKSOURCEDIR/PCTEL.ZIP"} else PCTELTAR=${PCTELTAR:-"$BKSOURCEDIR/pctel.zip"} fi PCTELTESTFILE=${PCTELTESTFILE:-"$PCTELSOURCEDIR/src/module/Makefile"} case $1 in POSTLOADVARS) : ;; POSTGETSOURCE) cd $BKSOURCEDIR if [ ! -f "$PCTELTAR" ]; then echo Getting the Pctel driver \"source\". bkgetfile ftp www.pcchips.com.tw anonymous "$USER@$HOSTNAME" driver/Linux/MODEM PCTEL.ZIP PCTELTAR="$BKSOURCEDIR/PCTEL.ZIP" fi ;; POSTOPENSOURCE) if [ ! -f "$PCTELTESTFILE" ]; then #Open up source if [ -f "$PCTELTAR" ]; then echo Opening $PROJECT source. mkdir --parents $PCTELSOURCEDIR cd $PCTELSOURCEDIR if [ -d include ]; then rm -rf $PCTELSOURCEDIR/include rmdir include elif [ -f include ]; then rm -f include fi ln -sf /usr/src/linux/include include case $PCTELTAR in #FIXME - what if unzip isn't there? *.zip|*.ZIP) unzip $PCTELTAR ;; *) echo Don\'t know how to open $PCTELTAR \! ; bkbeep ; sleep 30 ;; esac if [ ! -f "$PCTELTESTFILE" ]; then echo Still no $PCTELTESTFILE after attempting to open \! ; bkbeep ; sleep 30 fi else echo Pctel \"source\" is not yet opened and we don\'t have $PCTELTAR \! ; bkbeep ; sleep 30 fi fi ;; POSTCONFIGURE) if [ -n "$PCTELSOURCEDIR" ]; then cd $PCTELSOURCEDIR/src/module >/dev/null if [ `pwd` != "$PCTELSOURCEDIR/src/module" ]; then echo can\'t change directory to src/module, exiting. else if [ -z "`cat ptmodule.c 2>/dev/null | grep IntrOpen`" ]; then echo >>ptmodule.c echo 'void IntrOpen(void) { }' >>ptmodule.c echo 'void IntrClose(void) { }' >>ptmodule.c echo 'void IntrWrite(void) { }' >>ptmodule.c fi if [ -f ptmodule.o ]; then rm -f ptmodule.o fi fi cd $PCTELSOURCEDIR/lib >/dev/null if [ `pwd` != "$PCTELSOURCEDIR/lib" ]; then echo can\'t change directory to lib, exiting. else if [ -f pctel.o ]; then rm -f pctel.o fi fi cd $PCTELSOURCEDIR/src/module >/dev/null if [ `pwd` != "$PCTELSOURCEDIR/src/module" ]; then echo can\'t change directory, exiting. else make all_targets fi fi ;; POSTKERNELBUILD) : ;; POSTMODULEBUILD) : ;; POSTINSTALL) if [ -f "$PCTELSOURCEDIR/lib/pctel.o" ]; then echo Installing Pctel Kernel module. if [ ! -d /lib/modules/$BKKERNELTOBUILD/net ]; then mkdir --parents /lib/modules/$BKKERNELTOBUILD/net fi cp -p $PCTELSOURCEDIR/lib/pctel.o /lib/modules/$BKKERNELTOBUILD/net else echo No Pctel kernel module was created. fi ;; POSTCLEAN) : ;; ''|ALL) . $THISSCRIPT POSTLOADVARS . $THISSCRIPT POSTGETSOURCE . $THISSCRIPT POSTOPENSOURCE . $THISSCRIPT POSTCONFIGURE . $THISSCRIPT POSTKERNELBUILD . $THISSCRIPT POSTMODULEBUILD . $THISSCRIPT POSTINSTALL . $THISSCRIPT POSTCLEAN ;; *) echo unrecognized phase $1 ;; esac