#!/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. # Portions Copyright (c) 2007-2012 Jens Elkner. # # r.manifest - smf(5) manifest remove class action script # if [ "$PKG_INSTALL_ROOT" != "" -a "$PKG_INSTALL_ROOT" != "/" ]; then # # We can't safely disable the service in this case. # smf_alive=no else # # We can verify if the service is disabled prior to # removal. # if [ -r /etc/svc/volatile/repository_door ]; then smf_alive=yes fi fi MFSTSCAN=/lib/svc/bin/mfstscan SVCCFG=/usr/sbin/svccfg SVCPROP=/usr/bin/svcprop while read mfst; do if [ "$smf_alive" = "yes" ]; then ENTITIES=`$SVCCFG inventory $mfst` for fmri in $ENTITIES; do # # Determine whether any of our instances are # enabled. # en_p=`$SVCPROP -C -p general/enabled $fmri 2>/dev/null` en_o=`$SVCPROP -C -p general_ovr/enabled $fmri 2>/dev/null` if [ "$en_p" = "true" -o "$en_o" = "true" ]; then echo "$fmri remains enabled; aborting" exit 1 fi [ `uname -r` = '5.10' ] && $SVCCFG delete $fmri done # # Delete the manifest hash value. # pg_name=`$MFSTSCAN -t $mfst` if $SVCPROP -q -p $pg_name smf/manifest; then $SVCCFG -s smf/manifest delpg $pg_name fi fi /usr/bin/rm $mfst done [ `uname -r` != '5.10' -a "$smf_alive" = "yes" ] && \ /usr/sbin/svcadm restart manifest-import exit 0