#!/bin/sh
#
#
# (c) 2002 Sun Microsystems, Inc. Use is subject to license terms.  

# could be rsh or remsh
me=`basename $0`
# just_wrap=1

if [ "x$JOB_ID" = "x" ]; then
   exec $me $*
   echo command $me not found in PATH=$PATH 
fi

# extract target hostname
if [ $# -lt 1 ]; then 
   echo $me: missing hostname
   exit 1
fi  
rhost=$1
shift
option=
ruser=
minus_n=0

# remove path to wrapping rsh from path list
# only, if the target is another machine (i.e.
# to start a slave daemon). but in this case,
# an option -f must be added to prevent the
# forking of the slave.
if [ "$rhost" != "`hostname --long`" ] && [ "$rhost" != "`hostname --short`" ] ; then
   PATH=`echo $PATH|tr : "\012"|grep -v $TMPDIR| tr "\012" :`
   export PATH

# rehash
   hash -r

   option="-f"
fi

# parse other rsh options
while [ "$1" != "" ]; do
   case "$1" in
      -l)
         shift
         if [ $# -lt 1 ]; then 
            echo $me: option -l needs user name as argument
            exit 1
         fi  
         ruser=$1
         ;;
      -n)
         minus_n=1
         ;;
      *)
         break;
         ;;
   esac
   shift
done

# should the command to be started preceeded with any starter command
if [ "x$RCMD_PREFIX" = x ]; then
   cmd="$*"
else
   cmd="$RCMD_PREFIX $*"
fi

# unset TASK_ID - it might be set if a task starts another tasks 
#                 and may not be exported in this case
if [ "x$TASK_ID" = x ]; then
   unset TASK_ID
fi

# add a definition of the temporary directory
# for the pvmds on all nodes. having done this,
# the prior used PVM_VMID is no longer necessary,
# as all files are already in a separate directory.
if [ x$just_wrap = x ]; then 
   if [ $minus_n -eq 1 ]; then
      echo $SGE_ROOT/bin/$ARC/qrsh -V -inherit -nostdin $rhost "env PVM_TMP=\$TMPDIR $cmd $option"
      exec $SGE_ROOT/bin/$ARC/qrsh -V -inherit -nostdin $rhost "env PVM_TMP=\$TMPDIR $cmd $option"
   else
      echo $SGE_ROOT/bin/$ARC/qrsh -V -inherit $rhost "env PVM_TMP=\$TMPDIR $cmd $option"
      exec $SGE_ROOT/bin/$ARC/qrsh -V -inherit $rhost "env PVM_TMP=\$TMPDIR $cmd $option"
   fi
else
   echo $me $rhost $*
   if [ $minus_n = 1 ]; then
      exec $me -n $rhost $cmd
   else
      exec $me $rhost $cmd
   fi
   echo $me not found in PATH=$PATH
fi
