OpenSolaris_b135/pkgdefs/common_files/i.iuap

#!/bin/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 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

add_driver() {
	grep "^[ 	]*$1[ 	]" $dest > /dev/null 2>&1
	if [ $? != 0 ] ; then
		sed -e :a -e '/^\n*$/N;/\n$/ba' $dest > /tmp/x.$$
		grep "^[ 	]*$1[ 	]" $src >> /tmp/x.$$
		cp /tmp/x.$$ $dest
		rm -f /tmp/x.$$
	fi
}

add_driver_replace() {
	sed -e "/^[ 	]*$1[ 	]/d" -e :a -e '/^\n*$/N;/\n$/ba' \
		$dest > /tmp/x.$$
	grep "^[ 	]*$1[ 	]" $src >> /tmp/x.$$
	cp /tmp/x.$$ $dest
	rm -f /tmp/x.$$
}

remove_driver() {
	grep "^[ 	]*$1[ 	]" $dest > /dev/null 2>&1
	if [ $? = 0 ] ; then
		grep -v "^[ 	]*$1[ 	]" $dest > /tmp/x.$$
		cp /tmp/x.$$ $dest
		rm -f /tmp/x.$$
	fi
}

while read src dest
do
	if [ ! -f $dest ] ; then
		cp $src $dest
	else
		add_driver mcpzsa
		remove_driver stc
		grep '^[ 	]*ptsl[ 	][ 	]*0[ 	][ 	]*15[ 	]' \
			$dest > /dev/null 2>&1
		if [ $? = 0 ] ; then
			sed "/^[ 	]*ptsl/s/15/47/" $dest > /tmp/x.$$
			cp /tmp/x.$$ $dest
			rm -f /tmp/x.$$
		fi
		add_driver xencons
		add_driver_replace se
		add_driver_replace su
		add_driver usbser_edge
		add_driver usbsacm
		add_driver usbsprl
		add_driver usbsksp
		add_driver usbftdi
		remove_driver rts
		add_driver ipsecah
		add_driver ipsecesp
		add_driver_replace zs
		add_driver cvc
		add_driver sgcn
		add_driver wc
		add_driver qcn
		remove_driver chanmux
		add_driver pcser
	fi
done

exit 0