#!/bin/sh
#
# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident	"@(#)i.manifest	1.5	04/12/09 SMI"
#
# i.manifest - smf(5) service manifest install class action script
#

repfile=$PKG_INSTALL_ROOT/etc/svc/repository.db
export repfile

#
# If the repository does not yet exist, create it from the appropriate seed.  If
# for some reason the seeds do not exist, svccfg(1M) will create the repository
# automatically.
#
if [ ! -f $repfile ]; then
	if [ -n "$SUNW_PKG_INSTALL_ZONENAME" -a \
	    "$SUNW_PKG_INSTALL_ZONENAME" != "global" ]; then
		[ -f $PKG_INSTALL_ROOT/lib/svc/seed/nonglobal.db ] && \
		/usr/bin/cp $PKG_INSTALL_ROOT/lib/svc/seed/nonglobal.db \
		    $repfile
	else
		[ -f $PKG_INSTALL_ROOT/lib/svc/seed/global.db ] && \
		/usr/bin/cp $PKG_INSTALL_ROOT/lib/svc/seed/global.db \
		    $repfile
	fi
	/usr/bin/chmod 0600 $repfile
	/usr/bin/chown root:sys $repfile
fi

if [ ! -r $PKG_INSTALL_ROOT/etc/svc/volatile/repository_door ]; then
	#
	# smf(5) is not presently running for the destination environment.
	# Since we presently cannot refresh without a running svc.startd(1M), we
	# cannot consistently handle dependent placement.  Defer to next boot.
	#
	while read src dst; do
		/usr/bin/sed -e "s#@CLIENT_BASEDIR@#${CLIENT_BASEDIR}#g" $src >$dst
	done
else
	#
	# Local package install.
	#
	while read src dst; do
		/usr/bin/sed -e "s#@CLIENT_BASEDIR@#${CLIENT_BASEDIR}#g" \
			-e "s#@OPENSSL@#${OPENSSL}#g" $src >$dst

		[ "$PKG_INSTALL_ROOT" = "" -o "$PKG_INSTALL_ROOT" = "/" ] && \
			SVCCFG_CHECKHASH=1 /usr/sbin/svccfg import $dst
	done
fi

exit 0
