#!/bin/sh
#
#pragma ident	"@(#)postinstall	1.7	08/05/08 SMI"
#
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
 
PATH="/usr/bin:/usr/sbin:${PATH}"
export PATH

if [ "${BASEDIR:=/}" != "/" ] 
then
	BASEDIR_OPT="-b $BASEDIR" 
fi

installed() {
	driver=$1
	grep "^${driver} " $BASEDIR/etc/name_to_major > /dev/null 2>&1

	return $?
}

update_driver() {
	driver=$1
	aliases=$2
	for alias in ${aliases}
	do
		egrep "^${driver}[ 	]+${alias}" ${BASEDIR}/etc/driver_aliases > /dev/null 2>&1
		if [ $? -ne 0 ]
		then
			echo "${driver} ${alias}" >> ${BASEDIR}/etc/driver_aliases
		fi
	done
}

EXIT=0

USBSER_EDGE_ALIASES="\
	\"usbif1608,1.config1.0\" \
	\"usbif1608,3.config1.0\" \
	\"usbif1608,4.config1.0\" \
	\"usbif1608,5.config1.0\" \
	\"usbif1608,6.config1.0\" \
	\"usbif1608,7.config1.0\" \
	\"usbif1608,c.config1.0\" \
	\"usbif1608,d.config1.0\" \
	\"usbif1608,e.config1.0\" \
       	\"usbif1608,f.config1.0\" \
	\"usbif1608,10.config1.0\" \
	\"usbif1608,11.config1.0\" \
	\"usbif1608,12.config1.0\" \
	\"usbif1608,13.config1.0\" \
	\"usbif1608,14.config1.0\" \
	\"usbif1608,201.config1.0\" \
	\"usbif1608,205.config1.0\" \
	\"usbif1608,206.config1.0\" \
	\"usbif1608,207.config1.0\" \
	\"usbif1608,20c.config1.0\" \
	\"usbif1608,20d.config1.0\" \
	\"usbif1608,215.config1.0\" \
	\"usbif1608,217.config1.0\" \
	\"usbif1608,21a.config1.0\" \
	\"usbif1608,240.config1.0\" \
	\"usbif1608,241.config1.0\" \
	\"usbif1608,242.config1.0\" \
	\"usbif1608,243.config1.0\" \
	\"usbif1608,244.config1.0\" \
	\"usbif1608,247.config1.0\" \
	\"usbif1608,1.100.config1.0\" \
	"

if installed usbser_edge ; then
	update_driver usbser_edge "${USBSER_EDGE_ALIASES}" || EXIT=1
else
	add_drv ${BASEDIR_OPT} -m '* 0666 root sys' \
	    -i "${USBSER_EDGE_ALIASES}" -n usbser_edge || \
	    EXIT=1
fi

exit $EXIT
