#!/bin/bash
KERNELVERSION=`uname -r`
MACHINE=`uname -m`
VIDEODRIVERDIR=/lib/modules/$KERNELVERSION/kernel/drivers/media/video
DRMDRIVERDIR=/lib/modules/$KERNELVERSION/kernel/drivers/char/drm
DRIDRIVERDIR=/usr/X11R6/lib/modules/dri
AGPDRIVERDIR=/lib/modules/$KERNELVERSION/kernel/drivers/char/agp
MODULESDEPDIR=/lib/modules/$KERNELVERSION
MODULESCONFDIR=/etc
MODULESCONFFILE=$MODULESCONFDIR/modules.conf
OLDMODULESCONFFILE=$MODULESCONFDIR/modules.conf.bak
AUTOLOADFILE=/etc/rc.d/rc.local
UTILITY_PACKAGE=Utility
PROGRAMNAME=s3utility
PACKAGEDATADIR=/usr/local/share/$PROGRAMNAME
BINDIR=/usr/local/bin

VIDEO_V4L_OBJ=via_v4l_drv.o
VIDEO_DEV_OBJ=videodev.o
VIDEO_OBJ_BAK=videodev.o.bak
VIDEO_DEV_OBJ2=videodev.o.gz
VIDEO_OBJ2_BAK=videodev.o.gz.bak
DRM_OBJ=via.o

if [ "`uname -r | cut -c1-3`" = "2.6" ]; then
    KERNELVER=kernel-2.6
    MODULESCONFFILE=$MODULESCONFDIR/modprobe.conf
else
    KERNELVER=kernel-2.4
    MODULESCONFFILE=$MODULESCONFDIR/modules.conf
fi

if [ "$KERNELVER" = "kernel-2.6" ]; then
	VIDEO_V4L_OBJ=via_v4l_drv.ko
    VIDEO_DEV_OBJ=videodev.ko
	VIDEO_OBJ_BAK=videodev.ko.bak
    VIDEO_DEV_OBJ2=videodev.ko.gz
    VIDEO_OBJ2_BAK=videodev.ko.gz.bak
    DRM_OBJ=via.ko
fi

echo -e " -------- uninstall start --------"
# VIA/S3G UniChrome familly graphic driver uninstall Shell script

    if [ $KERNELVERSION = "2.4.19-4GB" -o $KERNELVERSION = "2.4.21-99-default" -o $KERNELVERSION = "2.4.21-99-athlon" -o $KERNELVERSION = "2.4.18-4GB" -o $KERNELVERSION = "2.6.4-52-default" -o $KERNELVERSION = "2.4.21-201-default" ] ; then
        AUTOLOADFILE=/etc/init.d/boot.local
    fi

    if [ "$MACHINE" = "x86_64" ] ; then
        if [ -f /usr/X11R6/lib64/modules/drivers/via_drv.o ] ; then
            rm /usr/X11R6/lib64/modules/drivers/via_drv.o
        fi
    else
        if [ -f /usr/X11R6/lib/modules/drivers/via_drv.o ] ; then
            rm /usr/X11R6/lib/modules/drivers/via_drv.o
        fi
    fi

    if [ -f $VIDEODRIVERDIR/$VIDEO_V4L_OBJ ] ; then
        rm $VIDEODRIVERDIR/$VIDEO_V4L_OBJ
    fi

    if [ -f $VIDEODRIVERDIR/$VIDEO_OBJ2_BAK ] ; then
        rm $VIDEODRIVERDIR/$VIDEO_DEV_OBJ
        cp $VIDEODRIVERDIR/$VIDEO_OBJ2_BAK $VIDEODRIVERDIR/$VIDEO_DEV_OBJ2
    fi

    if [ -f $VIDEODRIVERDIR/$VIDEO_OBJ_BAK ] ; then
        rm $VIDEODRIVERDIR/$VIDEO_DEV_OBJ
        cp $VIDEODRIVERDIR/$VIDEO_OBJ_BAK $VIDEODRIVERDIR/$VIDEO_DEV_OBJ
    fi

	if [ -f /usr/X11R6/lib/libddmpeg.so ] ; then
		rm /usr/X11R6/lib/libddmpeg.so
	fi

    if [ -f $DRMDRIVERDIR/$DRM_OBJ ] ; then
        rm $DRMDRIVERDIR/$DRM_OBJ
    fi

    if [ -f $DRIDRIVERDIR/via_dri.so ] ; then
        rm $DRIDRIVERDIR/via_dri.so
    fi

    sed -e '/char-major-81/d' $MODULESCONFFILE > modules.conf.tmp

    if [ -f modules.conf.tmp ] ; then
        cp modules.conf.tmp $MODULESCONFFILE
        rm modules.conf.tmp
    fi

    sed -e '/via_v4l_drv/d' $AUTOLOADFILE > rc.local.tmp
    sed -e '/via/d' rc.local.tmp > rc.local.tmp
    sed -e '/agpgart/d' rc.local.tmp > rc.local.tmp

    if [ -f rc.local.tmp ] ; then
        cp rc.local.tmp $AUTOLOADFILE
        rm rc.local.tmp
    fi

    rm -f $HOME/.VIARC*
    rm -f $HOME/.VIATVRC*
    rm -f $HOME/.VIAGAMMARC*
    rm -f $HOME/.VIAVIDEORC

    depmod -a
    rmmod via_v4l_drv
    rmmod videodev
    rmmod via
#    rmmod agpgart

# Un-install Linux utility
echo -e "Now start to uninstall VIA/S3G display utility..."
rm -f $BINDIR/$PROGRAMNAME
rm -rf $PACKAGEDATADIR
echo -e "The utility package has removed!"
echo -e " -------- uninstall end --------"
