preremove revision fcf3ce441efd61da9bb2884968af01cb7c1452cc
#!/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 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
# Set path
#
PATH="/usr/bin:/usr/sbin:${PATH}"
export PATH
#
# Set variables
#
DEVLINKTB="${PKG_INSTALL_ROOT}/etc/devlink.tab"
MODULE="sv"
NAMEMAJOR="${PKG_INSTALL_ROOT}/etc/name_to_major"
PKG_INSTALL_ROOT=${PKG_INSTALL_ROOT:=/}
TMP=/tmp/${PKGINST}.$$
SVC=nws_sv
FS_LOCAL_SVC="svc:/system/filesystem/local"
#
# Set alternate command syntax (if needed)
#
if [ "${PKG_INSTALL_ROOT}" = "/" ]
then
REM_DRV="rem_drv"
else
REM_DRV="rem_drv -b ${PKG_INSTALL_ROOT}"
fi
#
# Functions
#
rem_devlink()
{
PATTERN="$1"
grep -vw $PATTERN ${DEVLINKTB} >${TMP}.devlink
if [ $? -eq 0 ]
then
mv ${TMP}.devlink ${DEVLINKTB}
else
rm ${TMP}.devlink
fi
}
#
# Disable the service, if it is imported
#
svcprop -q -p general/entity_stability svc:/system/${SVC}
# are we imported?
if [ $? = 0 ]
then
svcadm disable -s svc:/system/${SVC}
svccfg -s $FS_LOCAL_SVC setprop ${SVC}-local-fs/grouping=optional_all
fi
#
# if module has been previously installed, unload and remove it...
#
grep -w ${MODULE} ${NAMEMAJOR} >/dev/null
if [ $? -eq 0 ]
then
# sv driver needs to unhold before it can be unloaded
${PKG_INSTALL_ROOT}/usr/sbin/svboot -u
${REM_DRV} ${MODULE}
fi
rm -f ${PKG_INSTALL_ROOT}/dev/${MODULE}
rem_devlink ${MODULE}
MODID=`modinfo | grep -w $MODULE | awk '{print $1}'`
if [ -n "$MODID" ]
then
modunload -i ${MODID}
if [ $? != 0 ]
then
echo "Error: Failed to unload $MODULE module."
exit 1
fi
fi
exit 0