postinstall revision 080575042aba2197b425ebfd52061dea061a9aa1
#!/sbin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
# Function: check_add_drv()
#
# This function will check if the module has an entry in etc/name_to_major
# If not simply calls add_drv with the arguments given. If there is
# such an entry in name_to_major file, it adds entries in driver_aliases
# driver_classes and minor_perm if necessary.
# The syntax of this function is the same as add_drv.
check_add_drv()
{
if [ "$BASEDIR" = "" ]
then
BASEDIR=/
fi
alias=""
class=""
ADD_ALIAS=0
ADD_CLASS=0
ADD_MINOR=0
OPTIND=1
IS_NET_DRIVER=0
cmd="add_drv"
NO_CMD=
while getopts i:b:m:c:N opt
do
case $opt in
N ) NO_CMD=1;;
i ) ADD_ALIAS=1
alias=$OPTARG
cmd=$cmd" -i '$alias'"
;;
m ) ADD_MINOR=1
minor=$OPTARG
cmd=$cmd" -m '$minor'"
;;
c) ADD_CLASS=1
class=$OPTARG
cmd=$cmd" -c $class"
;;
b) BASEDIR=$OPTARG
cmd=$cmd" -b $BASEDIR"
;;
\?) echo "check_add_drv can not handle this option"
return
;;
esac
done
shift `/usr/bin/expr $OPTIND - 1`
drvname=$1
cmd=$cmd" "$drvname
drvname=`echo $drvname | /usr/bin/sed 's;.*/;;g'`
/usr/bin/grep "^$drvname[ ]" $BASEDIR/etc/name_to_major > /dev/null 2>&1
if [ "$NO_CMD" = "" -a $? -ne 0 ]
then
eval $cmd
else
# entry already in name_to_major, add alias, class, minorperm
# if necessary
if [ $ADD_ALIAS = 1 ]
then
for i in $alias
do
/usr/bin/egrep "^$drvname[ ]+$i" $BASEDIR/etc/driver_aliases>/dev/null 2>&1
if [ $? -ne 0 ]
then
echo "$drvname $i" >> $BASEDIR/etc/driver_aliases
fi
done
fi
if [ $ADD_CLASS = 1 ]
then
/usr/bin/egrep "^$drvname[ ]+$class( | |$)" $BASEDIR/etc/driver_classes > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "$drvname\t$class" >> $BASEDIR/etc/driver_classes
fi
fi
if [ $ADD_MINOR = 1 ]
then
/usr/bin/grep "^$drvname:" $BASEDIR/etc/minor_perm > /dev/null 2>&1
if [ $? -ne 0 ]
then
minorentry="$drvname:$minor"
echo $minorentry >> $BASEDIR/etc/minor_perm
fi
fi
fi
}
check_add_drv -b "${BASEDIR}" -i \
'"pci8086,1000"
"pci8086,1001"
"pci8086,1004"
"pci8086,1008"
"pci8086,1009"
"pci8086,100d"
"pci8086,100e"
"pci8086,100f"
"pci8086,1010"
"pci8086,1011"
"pci8086,1012"
"pci8086,1013"
"pci8086,1014"
"pci8086,1015"
"pci8086,1016"
"pci8086,1017"
"pci8086,1018"
"pci8086,1019"
"pci8086,101a"
"pci8086,101d"
"pci8086,101e"
"pci8086,1026"
"pci8086,1027"
"pci8086,1028"
"pci8086,1049"
"pci8086,104a"
"pci8086,104b"
"pci8086,104c"
"pci8086,104d"
"pci8086,105a"
"pci8086,105b"
"pci8086,105c"
"pci8086,105e"
"pci8086,105f"
"pci8086,1060"
"pci8086,1061"
"pci8086,1062"
"pci8086,1063"
"pci8086,1075"
"pci8086,1076"
"pci8086,1077"
"pci8086,1079"
"pci8086,107a"
"pci8086,107b"
"pci8086,107c"
"pci8086,107d"
"pci8086,107e"
"pci8086,107f"
"pci8086,108a"
"pci8086,108b"
"pci8086,108c"
"pci8086,1096"
"pci8086,1098"
"pci8086,1099"
"pci8086,109a"
"pci8086,10a4"
"pci8086,10b5"
"pci8086,10b9"
"pci8086,10ba"
"pci8086,10bb"
"pci8086,10bc"
"pci8086,10c4"
"pci8086,10c5"
"pciex8086,1049"
"pciex8086,104a"
"pciex8086,104b"
"pciex8086,104c"
"pciex8086,104d"
"pciex8086,105e"
"pciex8086,105f"
"pciex8086,1060"
"pciex8086,107d"
"pciex8086,107e"
"pciex8086,107f"
"pciex8086,108b"
"pciex8086,108c"
"pciex8086,1096"
"pciex8086,1098"
"pciex8086,109a"
"pciex8086,10a4"
"pciex8086,10b9"
"pciex8086,10ba"
"pciex8086,10bb"
"pciex8086,10bc"
"pciex8086,10c4"
"pciex8086,10c5"' \
-m '* 0666 root root' e1000g