#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#pragma ident	"@(#)postinstall.SUNWdtdmr.tmpl	1.8	06/07/28 SMI"
#

if [ "$UPDATE" != yes ]; then
	# On initial install, do nothing.
	exit 0
fi

upgrade_profile=${PKG_INSTALL_ROOT}/var/svc/profile/upgrade

# Remove inetd automatical convert manifests
rm -f ${PKG_INSTALL_ROOT}/var/svc/manifest/network/rpc/100083_1-rpc_tcp.xml
rm -f ${PKG_INSTALL_ROOT}/var/svc/manifest/network/rpc/100068_2-5-rpc_udp.xml
rm -f ${PKG_INSTALL_ROOT}/var/svc/manifest/network/dtspc-tcp6.xml

detect_and_set_enabled_daemons_from_inetd ()
{
        dest=${PKG_INSTALL_ROOT}/etc/inet/inetd.conf
        tdest=/tmp/d.$$
        upgrade_profile=${PKG_INSTALL_ROOT}/var/svc/profile/upgrade
        upgrade=/tmp/uf.$$

        #
        # The entire inetd.conf file will be scanned
        # and appropriate lines upgraded as they are read.
        #
        nawk -v uf=$upgrade '
                /^[^#.]*rpc\.ttdbserver/ {
                        # rpc.ttdbserverd == network/rpc/cde-ttdbserver
			# Remove inet daemon ttdbserverd from S8 S9 S10 FCS
			# and enable new smf service if possible
                        print "svcprop -q svc:/network/rpc-100083_1/rpc_tcp:default" >> uf;
                        print "[ \$? -ne 0 ] && svcadm enable svc:/network/rpc/cde-ttdbserver:tcp" >> uf;
                        next;
                }
                /^( |\t)*100068(\/2-5|\/2-4)( |\t)+[^#.]*(\/usr\/dt\/bin\/rpc\.cmsd|\/usr\/openwin\/bin\/rpc\.cmsd)/ {
                        # rpc.cmsd == network/rpc/cde-calendar-manager
			# Remove inet daemon rpc.cmsd from S8 S9 S10 FCS
			# and enable new smf service if possible
                        print "svcprop -q svc:/network/rpc-100068_2-5/rpc_udp:default" >> uf;
                        print "[ \$? -ne 0 ] && svcadm enable svc:/network/rpc/cde-calendar-manager:default" >> uf;
                        next;
                }
                /^[^#.]*dtspc/ {
                        # dtspc == network/cde-spc
			# Remove inet daemon dtspc from S8 S9 S10 FCS
			# and enable new smf service if possible
                        print "svcprop -q svc:/network/dtspc/tcp6:default" >> uf;
                        print "[ \$? -ne 0 ] && svcadm enable svc:/network/cde-spc:default" >> uf;
                        next;
                }
                /^#.*(ttdbserver|rpc\.cmsd|calendar|ToolTalk|dtspc)/ {
			# Remove some CDE services related comments
			next;
		}
                {
                        print $0
                }
                ' $dest > $tdest

        if [ $? -eq 0 ]; then
                cp $tdest $dest
                [ -f $upgrade ] && cat $upgrade >> $upgrade_profile
        fi

        rm -f $tdest $upgrade
}

detect_and_set_enabled_daemons_from_inetd

cat >> $upgrade_profile <<_EOF

cde_detect()
{
        # \$1 and \$2 must an instance of the FMRI
	if enabled=\`svcprop -c -p general/enabled \$1 2>/dev/null\` ; then
		svccfg delete -f \$1
                [ "\$enabled" = "true" ] && svcadm enable \$2
                [ "\$enabled" = "false" ] && svcadm disable \$2
        fi
}

cde_detect svc:/network/dtspc/tcp6:default \
	svc:/network/cde-spc:default

cde_detect svc:/network/rpc-100083_1/rpc_tcp:default \
	svc:/network/rpc/cde-ttdbserver:tcp

cde_detect svc:/network/rpc-100068_2-5/rpc_udp:default \
	svc:/network/rpc/cde-calendar-manager:default
cde_detect svc:/network/rpc/cde-calendar-manager:udp \
	svc:/network/rpc/cde-calendar-manager:default

_EOF

exit 0
