Slackbuild ndiswrapper 1.56
Inviato: dom 6 mar 2011, 14:03
Ciao a tutti,
Durante la guerra per la costruzione del mio mediacenter arrivato al punto della configurazione del wifi, mi
sono imbattuto in un problemino...Possiedo una schedina usb della Hamlet HNWU254G che è compatibile
con linux utilizzando ndiswrapper, così dopo aver aggiornato il kernel alla versione 2.6.37 per problemi
alla scheda grafica, ho scaricato lo slaclbuild di ndiswrapper v 1.56 e mi sono accorto che il pacchetto
non viene creato per via di errori con ioctl e loader.c, ciò è dovuto ad un bug di ndiswrapper 1.56. Questo si
risolve facimente applicando due patch per cui ho modificato lo slackbuild ed installato ndsiwrapper e tutto funziona
a meraviglia, ve lo allego nel caso qualcun altro abbia il mio stesso problema. Che bello non avere l'ubuntite!
Durante la guerra per la costruzione del mio mediacenter arrivato al punto della configurazione del wifi, mi
sono imbattuto in un problemino...Possiedo una schedina usb della Hamlet HNWU254G che è compatibile
con linux utilizzando ndiswrapper, così dopo aver aggiornato il kernel alla versione 2.6.37 per problemi
alla scheda grafica, ho scaricato lo slaclbuild di ndiswrapper v 1.56 e mi sono accorto che il pacchetto
non viene creato per via di errori con ioctl e loader.c, ciò è dovuto ad un bug di ndiswrapper 1.56. Questo si
risolve facimente applicando due patch per cui ho modificato lo slackbuild ed installato ndsiwrapper e tutto funziona
a meraviglia, ve lo allego nel caso qualcun altro abbia il mio stesso problema. Che bello non avere l'ubuntite!
Codice: Seleziona tutto
#!/bin/sh
# Slackware build script for ndiswrapper
# Copyright 2007 Martin Lefebvre <dadexter@sekurity.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS 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 AUTHOR 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.
# Maintained by Robby Workman <rworkman@slackbuilds.org> now
PRGNAM=ndiswrapper
VERSION=${VERSION:-1.56}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
# 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}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
KERNEL=${KERNEL:-$(uname -r)}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
# ****** Scarico e applico le patch ******
echo Download ndiswrapper 1.56 Patches...
wget http://launchpadlibrarian.net/58046844/ndiswrapper-suse.patch
wget http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-wireless/ndiswrapper/files/ndiswrapper-1.56-2.6.35.patch?revision=1.1
echo Applying Patches...
patch -Np0 < ./ndiswrapper-suse.patch
patch -Np0 < ./ndiswrapper-1.56-2.6.35.patch?revision=1.1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
make KVERS=$KERNEL
make install KVERS=$KERNEL DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
# Clean up a few things
rm $PKG/lib/modules/*/modules.*
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
AUTHORS ChangeLog INSTALL README \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
sed "s%@VERSION@%$KERNEL%" $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n \
$OUTPUT/$PRGNAM-${VERSION}_$(echo $KERNEL | tr - _)-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}