postinstall revision 7c478bd95313f5f23a4c958a745db2134aa03244
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# CDDL HEADER START
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# The contents of this file are subject to the terms of the
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# Common Development and Distribution License, Version 1.0 only
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# (the "License"). You may not use this file except in compliance
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# with the License.
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# See the License for the specific language governing permissions
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# and limitations under the License.
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# When distributing Covered Code, include this CDDL HEADER in each
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# If applicable, add the following below this CDDL HEADER, with the
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# fields enclosed by brackets "[]" replaced with your own identifying
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# information: Portions Copyright [yyyy] [name of copyright owner]
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# CDDL HEADER END
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# Use is subject to license terms.
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# ident "%Z%%M% %I% %E% SMI"
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# Function: check_add_drv()
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# This function will check if the module has an entry in etc/name_to_major
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# If not simply calls add_drv with the arguments given. If there is
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# such an entry in name_to_major file, it adds entries in driver_aliases
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# driver_classes and minor_perm if necessary.
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen# The syntax of this function is the same as add_drv.
2fdca63d45448ffaa602e696865e456744fc0752Adrian Reber while getopts i:b:m:c:N opt
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen \?) echo "check_add_drv can not handle this option"
73d467522b29983a4c0e1d806a460432870ac5ffTycho Andersen drvname=`echo $drvname | /usr/bin/sed 's;.*/;;g'`
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen /usr/bin/grep "^$drvname[ ]" $BASEDIR/etc/name_to_major > /dev/null 2>&1
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen # entry already in name_to_major, add alias, class, minorperm
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen /usr/bin/egrep "^$drvname[ ]+$i" $BASEDIR/etc/driver_aliases>/dev/null 2>&1
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen if [ $? -ne 0 ]
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen echo "$drvname $i" >> $BASEDIR/etc/driver_aliases
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen /usr/bin/egrep "^$drvname[ ]+$class( | |$)" $BASEDIR/etc/driver_classes > /dev/null 2>&1
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen if [ $? -ne 0 ]
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen echo "$drvname\t$class" >> $BASEDIR/etc/driver_classes
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen /usr/bin/grep "^$drvname:" $BASEDIR/etc/minor_perm > /dev/null 2>&1
4b54788e85a4e2f423133354f8141ed02f795d71Tycho Andersen if [ $? -ne 0 ]
e9195050b4abd0bc4c207457cb2f1f161b583fc8Tycho Andersen # It is quite possible that other aliases ar
e9195050b4abd0bc4c207457cb2f1f161b583fc8Tycho Andersen '"pci10de,56" "pci10de,57"' \