wok-next rev 3446
Add: get-softmodem-driver - get drivers for integrated modems (hsfmodem only at this time)
author | Dominique Corbex <domcox@users.sourceforge.net> |
---|---|
date | Sun Jun 14 23:53:53 2009 +0200 (2009-06-14) |
parents | d80bbe920b1e |
children | ef3739944bb7 |
files | get-softmodem-driver/receipt get-softmodem-driver/stuff/get-softmodem-driver |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/get-softmodem-driver/receipt Sun Jun 14 23:53:53 2009 +0200 1.3 @@ -0,0 +1,19 @@ 1.4 +# SliTaz package receipt. 1.5 + 1.6 +PACKAGE="get-softmodem-driver" 1.7 +VERSION="0.1" 1.8 +CATEGORY="non-free" 1.9 +SHORT_DESC="Get misc softmodem drivers." 1.10 +MAINTAINER="domcox@slitaz.org" 1.11 +DEPENDS="cpio linux-source slitaz-toolchain" 1.12 +WEB_SITE="http://hg.slitaz.org/wok/file/$PACKAGE/stuff/$PACKAGE" 1.13 + 1.14 +# Rules to gen a SliTaz package suitable for Tazpkg. 1.15 +genpkg_rules() 1.16 +{ 1.17 + mkdir -p $fs/usr/bin 1.18 + cp stuff/$PACKAGE $fs/usr/bin 1.19 + for i in hsfmodem; do 1.20 + ln -s $PACKAGE $fs/usr/bin/get-$i-driver 1.21 + done 1.22 +}
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/get-softmodem-driver/stuff/get-softmodem-driver Sun Jun 14 23:53:53 2009 +0200 2.3 @@ -0,0 +1,141 @@ 2.4 +#!/bin/sh 2.5 +# install softmodems drivers if needed. 2.6 + 2.7 +MODULE=$(echo $0 | sed 's/.*get-\(.*\)-driver/\1/') 2.8 +ROOT="$1" 2.9 +DEPENDS="" 2.10 + 2.11 +case "$MODULE" in 2.12 +hsfmodem) 2.13 + VERSION="7.80.02.03full" 2.14 + TARBALL="$MODULE-$VERSION.tar.gz" 2.15 + SHORT_DESC="Modem driver for Conexant HSF chipsets" 2.16 + WEB_SITE="http://www.linuxant.com/drivers" 2.17 + WGET_URL="http://www.linuxant.com/drivers/hsf/full/archive/$MODULE-$VERSION/$TARBALL" 2.18 + DEPENDS="linux-source module-init-tools" 2.19 + ;; 2.20 +*) echo "Unknown modem driver. Please run one of the following commands:" 2.21 + for i in $(cd $(dirname $0); ls get-*-driver); do 2.22 + [ -L $i ] || continue 2.23 + [ "$(readlink $i)" = "get-modem-driver" ] || continue 2.24 + echo " $i" 2.25 + done 2.26 + exit 1;; 2.27 +esac 2.28 + 2.29 +# Check if user is root to install. 2.30 +if test $(id -u) != 0 ; then 2.31 + echo -e "\nYou must be root to run `basename $0`." 2.32 + echo -e "Please use 'su' and root password to become super-user.\n" 2.33 + exit 0 2.34 +fi 2.35 + 2.36 +# Avoid reinstall 2.37 +if [ -d $ROOT/var/lib/tazpkg/installed/$MODULE ]; then 2.38 + echo -e "\n$MODULE-$VERSION package is already installed.\n" 2.39 + exit 0 2.40 +fi 2.41 + 2.42 +# Check linux-source 2.43 +cp /proc/config.gz . && gunzip config.gz 2.44 +DIFF=$(diff /usr/src/linux/.config config | awk 'BEGIN{i=0}/^[-+]/{ i++} END{print i}') 2.45 +rm -f config config.gz 2.46 +if [ $DIFF -gt 2 ]; then 2.47 + echo "Warning: Linux source .config and currently installed .config don't match." 2.48 + echo "Please rebuild and install kernel with the proper .config file." 2.49 + sleep 3 2.50 +fi 2.51 + 2.52 + 2.53 +# Get files 2.54 +cd /usr/src 2.55 +echo "Checking for source tarball... " 2.56 +if [ ! -f "$TARBALL" ]; then 2.57 + wget $WGET_URL 2.58 + # Exit if download failed to avoid errors. 2.59 + if [ ! -f "$TARBALL" ]; then 2.60 + echo -e "\nDownload failed, exiting. Please check WGET_URL variable.\n" 2.61 + exit 1 2.62 + fi 2.63 +fi 2.64 + 2.65 +case "$WGET_URL" in 2.66 +*rpm) rpm2cpio < $(basename $WGET_URL) | cpio -id;; 2.67 +*deb) dpkg-deb -x $(basename $WGET_URL) . ;; 2.68 +*bz2) tar xjf $(basename $WGET_URL) ;; 2.69 +*tar.gz|*tgz) tar xzf $(basename $WGET_URL) ;; 2.70 +*zip) unzip $(basename $WGET_URL);; 2.71 +*o) ;; 2.72 +esac 2.73 + 2.74 +# Set dirs 2.75 +src=/usr/src/$MODULE-$VERSION 2.76 +_pkg=$src/_pkg 2.77 +taz=/tmp/sm$RANDOM$RANDOM$RANDOM.$$ 2.78 +fs=$taz/$MODULE-$VERSION/fs 2.79 +mkdir -p $fs 2.80 + 2.81 +# Create pseudo package 2.82 +case "$MODULE" in 2.83 +hsfmodem) 2.84 + # Rules to configure and make the package. 2.85 + cd $src 2.86 + # set DESTDIR 2.87 + sed -i 's/ROOT=.*/ROOT=$(DESTDIR)/' config.mak 2.88 + # Make Makefile busybox compliant 2.89 + sed -i 's/chmod --reference=\$</chmod 755/' config.mak 2.90 + sed -i 's/uname -i/uname -m/' makefile # 7.80 2.91 + sed -i 's/uname --machine/uname -m/' modules/Makefile 2.92 + sed -i 's/uname --hardware-platform/uname -p/g' modules/Makefile 2.93 + # Make utilities busybox compliant 2.94 + sed -i 's/cmp --silent/cmp -s/g' scripts/cnxtconfig.in 2.95 + sed -i 's/ls --ignore=flush_nvm ${procdrvdir}/ls ${procdrvdir} | grep -v flush_nvm/' scripts/cnxtconfig.in 2.96 + sed -i 's/cat -v/cat/g' scripts/cnxtconfig.in 2.97 + sed -i 's/a-z /a-z/g' scripts/cnxtconfig.in 2.98 + sed -i 's/A-Z_/A-Z/g' scripts/cnxtconfig.in 2.99 + # Remove link to /dev/modem 2.100 + sed -i 's/rm -f \/dev\/modem.*/echo/g' scripts/cnxtconfig.in 2.101 + sed -i 's/alias \/dev\/modem \/dev\/ttyS@CNXTSERDEV@/alias \/dev\/modem none/' scripts/cnxtconfig.in 2.102 + sed -i 's/mv \/dev\/modem.*/echo/' scripts/cnxtconfig.in 2.103 + sed -i 's/ln -sf \/dev\/ttyS.*/echo/' scripts/cnxtconfig.in 2.104 + # Set SliTaz as dist name 2.105 + sed -i 's/OSDISTNAME=unknown/OSDISTNAME=SliTaz/' scripts/cnxtconfig.in 2.106 + sed -i 's/OSDISTIDNT=unknown/OSDISTIDNT=slitaz/' scripts/cnxtconfig.in 2.107 + sed -i 's/OSDISTVERS=unknown/OSDISTVERS=\$(cat \/etc\/slitaz-release)/' scripts/cnxtconfig.in 2.108 + # Build 2.109 + make DESTDIR=$_pkg install 2.110 + cd $_pkg/usr/lib/hsfmodem/modules 2.111 + make 2.112 + 2.113 + # Rules to gen a SliTaz package suitable for Tazpkg. 2.114 + mkdir -p $fs/usr 2.115 + cp -a $_pkg/usr/sbin $fs/usr 2.116 + MODS_DIR=$fs/lib/modules/`uname -r`/extra 2.117 + mkdir -p $MODS_DIR 2.118 + cp -a $_pkg/usr/lib/hsfmodem/modules/*.ko $MODS_DIR 2.119 + ;; 2.120 +esac 2.121 + 2.122 + 2.123 +# Create receipt 2.124 +cd $taz 2.125 +cat > $MODULE-$VERSION/receipt <<EOT 2.126 +PACKAGE="$MODULE" 2.127 +VERSION="$VERSION" 2.128 +CATEGORY="non-free" 2.129 +SHORT_DESC="$SHORT_DESC." 2.130 +WEB_SITE="$WEB_SITE" 2.131 +DEPENDS="$DEPENDS" 2.132 +EOT 2.133 + 2.134 +# Pack 2.135 +# tazpkg pack $MODULE-$VERSION-$VERSION 2.136 +tazpkg pack $MODULE-$VERSION 2.137 + 2.138 +# Install pseudo package 2.139 +tazpkg install $MODULE-$VERSION.tazpkg --root=$ROOT 2.140 + 2.141 +# Clean 2.142 +rm -rf $taz 2.143 +cd $src 2.144 +make clean