#!/bin/sh
#
#
# vlautosetup - Created by Tony Brijeski
#
# released under the GPL2 license (c)2003

if [ $DISPLAY != "" ]; then
    DCMD="Xdialog --wrap" 
    CMD="rxvt -e "
else
    DCMD="dialog"
    CMD=""
fi


$DCMD --backtitle "VectorLinux Hardware Auto Setup"  --title \
"VectorLinux Hardware Auto Setup" --infobox \
"\n Probing the hardware...Please wait until completed" 5 60

if [ -f /etc/sysconfig/vector ]; then
    rm -rf /etc/sysconfig/*
fi
if [ ! -f /etc/sysconfig/kudzu ]; then
    echo "SAFE=yes" > /etc/sysconfig/kudzu
fi

/sbin/vlsetup 1>/dev/null 2>/dev/null

if [ ! -f /etc/sysconfig/vector ]; then
$DCMD --backtitle "VectorLinux Hardware Auto Setup"  --title \
"VectorLinux Hardware Auto Setup" --msgbox \
"\n Hardware Probe Failed...Press Enter to Return" 5 60
exit
fi

. /etc/sysconfig/vector

if [ "$MOUSE0_DEVICE" != "" ]; then
    ln -sf $MOUSE0_DEVICE /dev/mouse
    mousesetup="1"
fi

if [ -x /usr/X11R6/bin/XFree86 ]; then
    if [ "$XMODULE" != "" ]; then
	/sbin/vlmkxf86cfg
	xf86setup="1"
    fi
fi



#
# Added for PCMCIA socket detection
# wile_coyote was here
#
pcmcia=""
if [ "$SOCKET0_DRIVER" != "" ]; then
    if [ "$SOCKET0_DRIVER" = "yenta_socket" -o "$SOCKET0_DRIVER" = "i82365" -o "$SOCKET0_DRIVER" = "tcic" ]; then
	pcmcia="1"
    fi
    if [ ! -x /etc/rc.d/rc.pcmcia ]; then
	chmod +x /etc/rc.d/rc.pcmcia
    fi	
fi
#  
# End PCMCIA section
#



if [ "$NETCARD0_DRIVER" != "" ]; then
    if [ -f /etc/rc.d/rc.netdevice ]; then
	rm -f /etc/rc.d/rc.netdevice
    fi
    cat /etc/modules.conf | grep -F "eth0" | grep -F "$NETCARD0_DRIVER" >/dev/null
    if [ $? != "0" ]; then
	echo "alias eth0 $NETCARD0_DRIVER" >> /etc/modules.conf
	echo "alias eth0 $NETCARD0_DRIVER" >> /etc/modprobe.conf
	networkcard="1"
    fi
    /sbin/netconfig
fi

##fi # This one looks like the extra one that was causing the error


if [ "$NETCARD1_DRIVER" != "" ]; then
cat /etc/modules.conf | grep -F "eth1" | grep -F "$NETCARD1_DRIVER" >/dev/null
    if [ $? != "0" ]; then   
	echo "alias eth1 $NETCARD1_DRIVER" >> /etc/modules.conf
	echo "alias eth1 $NETCARD1_DRIVER" >> /etc/modprobe.conf
	networkcard="2"
    fi
fi

if [ "$networkcard" = "" ]; then
$DCMD --title "NO NETWORK CARD DETECTED" --yesno \
"No network card was detected on your system. This sometimes happens with laptop users depending on pcmcia services or if your using a modem connection.\n
If you need to setup your network connection for a laptop say yes here. Modem users can say no." 10 60
    if [ $? = "0" ]; then
	/sbin/netconfig
    fi
fi

/usr/sbin/alsaconf
soundsetup="1"

if [ "$CDROM0_DEVICE" != "" ]; then
    rm -f /dev/cdrom
    rm -f /dev/cdwriter
    rm -f /dev/dvd
    if echo $CDROM0_FULLNAME | grep -F "CDW" ||  echo $CDROM0_FULLNAME | grep -F "cdw" ||  echo $CDROM0_FULLNAME | grep -F "CD-W" ||  echo $CDROM0_FULLNAME | grep -F "cd-w" ||  echo $CDROM0_FULLNAME | grep -F "CD-RW" ||  echo $CDROM0_FULLNAME | grep -F "cd-rw" ||  echo $CDROM0_FULLNAME | grep -F "LTR" ||  echo $CDROM0_FULLNAME | grep -F "ltr" ; then
    cd1t="CD Burner"
    fi
    if echo $CDROM0_FULLNAME | grep -F "DVD" || echo $CDROM0_FULLNAME |  grep -F "dvd" || echo $CDROM0_FULLNAME |  grep -F "dv" || echo $CDROM0_FULLNAME |  grep -F "DV" ; then
	if echo $CDROM0_FULLNAME | grep -F "DVD-RW" || echo $CDROM0_FULLNAME | grep -F "DVD+RW" ; then
	    cd1t="DVD Burner"
	else
	    cd1t="DVD-ROM"
	    ln -sf /dev/$CDROM0_DEVICE /dev/cdrom
	    cdr=1
	fi
    fi
    if [ "$cd1t" = "" ]; then
	cd1t="CD-ROM"
	ln -sf /dev/$CDROM0_DEVICE /dev/cdrom
	cdr=1
    fi
    if [ "$cd1t" = "CD Burner" ] || [ "$cd1t" = "DVD Burner" ]; then
	echo "/dev/cdwriter /mnt/cdwriter subfs fs=auto,ro,user 0 0" >> /etc/fstab
	if [ "$CDROM0_DEVICE" = "scd0" ]; then
	    ln -sf /dev/$CDROM0_DEVICE /dev/cdwriter
	else
	    grep "ide-scsi" /etc/lilo.conf 1>/dev/null
	    if [ $? = "1" ]; then
		cat /etc/lilo.conf | while read LINE; do
		    echo "$LINE" >> /etc/lilo.conf.new
    		    if [ `echo $LINE | grep "boot =" ` ] 1> /dev/null ; then
    			echo "append = \"$CDROM0_DEVICE=ide-scsi\"" >> /etc/lilo.conf.new
    		    fi
    		done
	    mv /etc/lilo.conf.new /etc/lilo.conf
	    /sbin/lilo 1>/dev/null
	    fi
	    ln -sf /dev/scd0 /dev/cdwriter
	fi
    fi
    cd1=1
fi

if [ ! "$CDROM1_DEVICE" = "" ]; then
    if [ `echo $CDROM1_FULLNAME | grep -F "CDW" || echo $CDROM1_FULLNAME | grep -F "cdw" || echo $CDROM1_FULLNAME | grep -F "CD-W" || echo $CDROM1_FULLNAME | grep -F "cd-w" || echo $CDROM1_FULLNAME | grep -F "CD-RW" || echo $CDROM1_FULLNAME | grep -F "cd-rw" || echo $CDROM1_FULLNAME | grep -F "LTR" || echo $CDROM1_FULLNAME | grep -F "ltr"` ] ; then
	cd2t="CD Burner"
    fi
    if [ `echo $CDROM1_FULLNAME | grep -F "DVD" || echo $CDROM1_FULLNAME | grep -F "dvd" || echo $CDROM1_FULLNAME | grep -F "dv" || echo $CDROM1_FULLNAME | grep -F "DV"` ]; then
	if [ `echo $CDROM1_FULLNAME | grep -F "DVD-RW" || echo $CDROM1_FULLNAME | grep -F "DVD+RW"` ]; then
	    cd2t="DVD Burner"
	else
	    if [ "$cdr" = "" ]; then
		cd2t="DVD-ROM"
		ln -sf /dev/$CDROM1_DEVICE /dev/cdrom
		cdr=2
	    fi
	fi 
    fi
    if [ "$cd2t" = "" ]; then
	if [ "$cdr" = "" ]; then
	    cd2t="CD-ROM"
	    ln -sf /dev/$CDROM1_DEVICE /dev/cdrom
	    cdr=2
	fi
    fi
    if [ "$cd2t" = "CD Burner" ] || [ "$cd2t" = "DVD Burner" ]; then
	echo "/dev/cdwriter  /mnt/cdwriter subfs fs=auto,ro 0 0" >> /etc/fstab
	if [ "$CDROM1_DEVICE" = "scd0" ]; then
	    ln -sf /dev/$CDROM1_DEVICE /dev/cdwriter
	else
	    grep "ide-scsi" /etc/lilo.conf 1>/dev/null
	    if [ $? = "1" ]; then
		cat /etc/lilo.conf | while read LINE; do
		    echo "$LINE" >> /etc/lilo.conf.new
    		    if [ `echo $LINE | grep "boot ="` ] 1> /dev/null; then
    			echo "append = \"$CDROM1_DEVICE=ide-scsi\"" >> /etc/lilo.conf.new
    		    fi
    		done
		mv /etc/lilo.conf.new /etc/lilo.conf
		/sbin/lilo 1>/dev/null
	    fi
	    ln -sf /dev/scd0 /dev/cdwriter
	fi
    fi
    cd2=1
fi

if [ "$CDROM0_DEVICE" != "" ] && [ "$cdr" = "" ]; then
    ln -sf /dev/$CDROM0_DEVICE /dev/cdrom
    cdr=1
fi

autosetup=""
if [ "$mousesetup" = "1" ]; then
    autosetup="\n MOUSE=$MOUSE0_FULLNAME \n"
fi
if [ "$xf86setup" = "1" ]; then 
    autosetup="$autosetup XFree86 4.3.0 \n"
fi
if [ "$pcmcia" = "1" ]; then
    autosetup="$autosetup PCMCIA Slot(s)=$SOCKET0_FULLNAME \n"
fi    
if [ "$networkcard" = "1" ]; then
    autosetup="$autosetup NetCard Driver=$NETCARD0_FULLNAME \n"
fi
if [ "$networkcard" = "2" ]; then
    autosetup="$autosetup NetCard Driver=$NETCARD0_FULLNAME \n"
    autosetup="$autosetup NetCard Driver=$NETCARD1_FULLNAME \n"
fi
if [ "$soundsetup" = "1" ]; then
    autosetup="$autosetup Sound Card=$SOUND_FULLNAME\n"
fi
if [ "$cd1" = "1" ]; then
    autosetup="$autosetup CDROM1=$cd1t\n"
fi
if [ "$cd2" = "1" ]; then
    autosetup="$autosetup CDROM2=$cd2t\n"
fi



$DCMD --backtitle "VectorLinux Hardware Auto Setup"  --title \
"VectorLinux Hardware Auto Setup" --msgbox \
"Automatic Hardware Setup Complete \n\
The Following Items have been automatically setup: \n 
\n $autosetup \n\
\n\
Press Enter to Return" 15 76

