#! /bin/sh
# This script cleans up /etc/driver_aliases, /etc/driver_classes
# and /etc/name_to_major.
#
#
PATH="/usr/bin:/usr/sbin:${PATH}"
export PATH
ARCH=`uname -p`
export ARCH

# Check to see if driver is installed
# return 0 indicates that the driver is installed
# return 1 indicates driver is NOT installed
not_installed() {
	driver=$1
	grep "^${driver} " $ROOTDIR/etc/name_to_major > /dev/null 2>&1
	return $?
}

#
# Perform appropriate check for driver presence and  remove driver.
#
remove_driver() {
	driver=$1
	drv_path=$2
	# Check to see if the driver is in name_to_major but 
	# removed from system
	not_installed $rm_driver
	if [ "$?" -eq 0 -a ! -f ${drv_path}/$rm_driver ]; then
		rem_drv -b ${ROOTDIR} $rm_driver || EXIT=1 
	fi
}

# Remove the new framework drivers
#
remove_drivers() {
	#
	# NOTE: The location of driver may be in kernel/drv/ or 
	# usr/kernel/drv. 
	#
	RM_DRIVERS="usbprn"

	for rm_driver in `echo $RM_DRIVERS`; do
		remove_driver $rm_driver ${ROOTDIR}/kernel/drv
	done
	
	RM_DRIVERS="usb_ac usb_as" 	
	for rm_driver in `echo $RM_DRIVERS`; do
		remove_driver $rm_driver ${ROOTDIR}/usr/kernel/drv
	done
}

remove_drv () {

case ${ARCH} in
	i386)
		#remove the new framework drivers
		remove_drivers
	;;
esac

}


remove_drv

if [ "$ROOTDIR" != "" ]; then
        REMOVEF="removef -R ${ROOTDIR}"
else
        REMOVEF="removef"
fi


pkginfo -R $ROOTDIR -q  SUNWaudd
if [ $? -eq 0 ]
then
        ${REMOVEF} SUNWaudd  /usr/kernel/drv/usb_ac
        ${REMOVEF} SUNWaudd  /usr/kernel/drv/usb_as
        ${REMOVEF} SUNWaudd  /usr/kernel/drv/usb_ac.conf
        ${REMOVEF} -f SUNWaudd || exit 2
fi 




exit 0
