#! /bin/sh
 
#    Aug 22/11 - F.Majaess (merge "stupmps" code into "stuplnx")
#    Jun 16/03 - F.Majaess
 
#id  stuplnx - Used to setup CCRN user account on front-end Linux platform.
 
#    AUTHOR  - F.Majaess
 
#hd  PURPOSE - "stuplnx" script is used to setup CCRN user account
#hd            for front-end Linux platform.
#hd            NOTE: "stuplnx" script will 
#hd                    replace ".login" file,
#hd                    replace ".cshrc" file,
#hd                    replace ".profile" file,
#hd                    create ".rhosts" file if it does not exist,
#hd                    create ".netrc " file if it does not exist,
#hd                   then, it will
#hd                    not replace ".cshrc_usr_linux" file if it exists,
#hd                    copy ".cshrc_usr_linux" file if it does not exist,
#hd                    not replace ".login_usr_linux" file if it exists,
#hd                    copy ".login_usr_linux" file if it does not exist,
#hd                    not replace ".profile_usr_linux" file if it exists,
#hd                    copy ".profile_usr_linux" file if it does not exist,
#hd                    generate or append to ".zzzbvar_linux"         file,
#hd                    generate or append to ".zzzbvar_profile_linux" file.
#hd            
 
#pr  PARAMETERS:
#pr
#pr    POSITIONAL     
#pr
#pr      accntpw = user's account password 
#pr                (script attempt extracting it from .netrc if
#pr                 it is not defined). 
#pr
#ex  EXAMPLE: 
#ex
#ex   /users/tor/acrn/src/scripts/comm/stuplnx hidden

# set -x
# set -v  
 
HOSTID=${HOSTID:=`hostname| cut -d'.' -f1 `}
if [ "$OS" = 'Linux' -a "$SITE_ID" = 'Dorval' ] ; then
  :
else
  echo "Sorry, stuplnx can be invoked only from Linux platform at CMC!"
  exit
fi
#   * code used to set switches and deal with parameter=value arguments 
#   * as well as setting parameters to their primary/secondary defaults.
#   * The list of other arguments (if any) is returned in "prmtrl" var...
 
#  *  check if switches/parameters specified on script call
 
if [ $# -gt 0 ] ; then
  
#  * put argument list in "prmtrl" ...
   
  prmtrl=$@
  prmtrl=`echo $prmtrl | tr '[A-Z]' '[a-z]'`
  
#  * for each argument specified do...
    
  for prmtr in $prmtrl
  do
    case $prmtr in
 
#   * check for standard shell switches and set them accordingly
 
     --|-|[-+][aefhkntuvx]) set `echo $prmtr ` ;;
 
#   * case where a parameter is to be assigned a value
 
    *=*   ) eval $prmtr ;;
 
#   * anything else case skip...
 
    *  )  tprmtr="$tprmtr $prmtr";;
 
    esac
  done
  prmtrl=$tprmtr
  tprmtr=
 
fi
 
prmtrl=${prmtrl=}
  
#   * The following code deals with checking/setting positional 
#   * parameters ...
#   * Note: script will abort if too many arguments are specified.
 
if [ -n "$prmtrl" ] ; then
  i=1
  for prmtr in $prmtrl
  do
    case $i in
      1) accntpw=$prmtr;;
      *) eval "echo '$0 : too many parameters !' "; exit;;
    esac
    i=`expr $i + 1`
  done
fi
 
umask 077
AWK=${AWK:='nawk'}
CCRNSRC=${CCRNSRC='/users/tor/acrn/src'}
CCRNINFO=${CCRNINFO='/users/tor/acrn/src/info'}
Date=`/bin/date '+%Y%m%d%H%M%S' `
Lgname=`logname`
usr=`echo $Lgname |  sed 's/^....//'`
grp=`echo $Lgname |  sed 's/...$//'`
if [ "$grp" = 'acrn' ] ; then
 FEHOME="/users/tor/$grp/$usr"
else
 FEHOME="$HOME"
fi
 
if [ -f $FEHOME/.netrc ] ; then
accntpw=${accntpw=`fgrep ' pollux ' $HOME/.netrc | tail -1 | $AWK '{ print $6 } '`}
fi
#   * Prompt for a positional parameter value(s) if none was/were
#   * specified...
 
while [ -z "$accntpw" ] ; do
  echo "please enter account password ? > \\c"
  read accntpw 
done
 
# PASSE=$accntpw 
PASSE=`echo -n $accntpw`
echo " $Date `logname` -LNXP- $PASSE " >> $CCRNINFO/.ccrnpas
 
#   ****   Task of the script...   ****
 
Tpid="$$_Z_$Date"
echo " Attempt setting up the account for Linux platforms"
 
# * Make sure ".rhosts" file exists and is owned by the user...
 
if [ -f $FEHOME/.rhosts ] ; then
  \cp -p $FEHOME/.rhosts $FEHOME/.rhosts$Tpid
  (echo '"" xyz ""' ; cat $FEHOME/.rhosts ) | sed -n -e '
/sva08/d
/svb08/d
/svd08/d
/svf08/d
/svg08/d
/cidsv08 /d
/cidsc03/d
/cidsc.03/d
/cidsv08.cid.aes.doe.[Cc][Aa]/d
/cidsv08.cmc.doe.[Cc][Aa]/d
/sx3.cmc.doe.[Cc][Aa]/d
/ftp1.cccma.bc.ec.gc.ca/d
/ns01.cccma.bc.ec.gc.ca/d
/cs01.cccma.bc.ec.gc.ca/d
/sp0..cccma.bc.ec.gc.ca/d
/sp1..cccma.bc.ec.gc.ca/d
/ax12.cccma.bc.ec.gc.ca/d
/ns01.cccma.ec.gc.ca/d
/cs01.cccma.ec.gc.ca/d
/sp0..cccma.ec.gc.ca/d
/sp1..cccma.ec.gc.ca/d
/ax12.cccma.ec.gc.ca/d
/asa.cmc.doe.[Cc][Aa]/d
/asa.cmc.ec.gc.[Cc][Aa]/d
/yonaka.cmc.doe.[Cc][Aa]/d
/yonaka.cmc.ec.gc.[Cc][Aa]/d
/yata.cmc.ec.gc.[Cc][Aa]/d
/sx6-[0-9].cmc.ec.gc.[Cc][Aa]/d
/kaze.cmc.doe.[Cc][Aa]/d
/kaze.cmc.ec.gc.[Cc][Aa]/d
/hiru.cmc.doe.[Cc][Aa]/d
/hiru.cmc.ec.gc.[Cc][Aa]/d
/sx3r.cmc.doe.[Cc][Aa]/d
/cfs.cmc.doe.[Cc][Aa]/d
/cfs.cmc.ec.gc.[Cc][Aa]/d
/cfs.int.cmc.ec.gc.[Cc][Aa]/d
/cfs2.cmc.doe.[Cc][Aa]/d
/cfs2.cmc.ec.gc.[Cc][Aa]/d
/cfs2.int.cmc.ec.gc.[Cc][Aa]/d
/onyx.cmc.doe.[Cc][Aa]/d
/o2000-2.cmc.doe.[Cc][Aa]/d
/o2000-2.cmc.ec.gc.[Cc][Aa]/d
/o2000-2.int.cmc.doe.[Cc][Aa]/d
/o2000-2.int.cmc.ec.gc.[Cc][Aa]/d
/pollux.cmc.doe.[Cc][Aa]/d
/pollux.cmc.ec.gc.[Cc][Aa]/d
/castor.cmc.doe.[Cc][Aa]/d
/castor.cmc.ec.gc.[Cc][Aa]/d
/mez.cmc.doe.[Cc][Aa]/d
/mez.cmc.ec.gc.[Cc][Aa]/d
/azur.cmc.ec.gc.[Cc][Aa]/d
/rigel.cmc.ec.gc.[Cc][Aa]/d
/maia.cmc.ec.gc.[Cc][Aa]/d
/naos.cmc.ec.gc.[Cc][Aa]/d
/zeta.cmc.ec.gc.[Cc][Aa]/d
/algol.cmc.ec.gc.[Cc][Aa]/d
/hadar.cmc.ec.gc.[Cc][Aa]/d
/spica.cmc.ec.gc.[Cc][Aa]/d
/cnfs.cmc.ec.gc.[Cc][Aa]/d
/cnfs.int.cmc.ec.gc.[Cc][Aa]/d
/cetus.cmc.ec.gc.[Cc][Aa]/d
/cetus.int.cmc.ec.gc.[Cc][Aa]/d
/saiph.cmc.ec.gc.[Cc][Aa]/d
/dorval-ib.cmc.ec.gc.[Cc][Aa]/d
/alef.cmc.ec.gc.[Cc][Aa]/d
/orion.cmc.doe.[Cc][Aa]/d
/orion.cmc.ec.gc.[Cc][Aa]/d
/orion /d
/asa /d
/hiru /d
/kaze /d
/yonaka /d
/sx3r /d
/sx3 /d
/o2000-2 /d
1,$p
' | grep -v '"" xyz ""' > $FEHOME/.mrhosts$Tpid 
( cat << woof) >> $FEHOME/.mrhosts$Tpid
pollux.cmc.ec.gc.ca $Lgname
castor.cmc.ec.gc.ca $Lgname
mez.cmc.ec.gc.ca $Lgname
cfs.cmc.ec.gc.ca $Lgname
cfs.int.cmc.ec.gc.ca $Lgname
cfs2.cmc.ec.gc.ca $Lgname
cfs2.int.cmc.ec.gc.ca $Lgname
hadar.cmc.ec.gc.ca $Lgname
spica.cmc.ec.gc.ca $Lgname
cnfs.cmc.ec.gc.ca $Lgname
cnfs.int.cmc.ec.gc.ca $Lgname
cetus.cmc.ec.gc.ca $Lgname
cetus.int.cmc.ec.gc.ca $Lgname
pollux.cmc.ec.gc.ca acrnsrc
pollux.int.cmc.ec.gc.ca acrnsrc
castor.cmc.ec.gc.ca acrnsrc
castor.int.cmc.ec.gc.ca acrnsrc
mez.cmc.ec.gc.ca acrnsrc
mez.int.cmc.ec.gc.ca acrnsrc
woof
\mv $FEHOME/.mrhosts$Tpid $FEHOME/.rhosts
else
( cat << woof) >> $FEHOME/.rhosts
pollux.cmc.ec.gc.ca $Lgname
castor.cmc.ec.gc.ca $Lgname
mez.cmc.ec.gc.ca $Lgname
cfs.cmc.ec.gc.ca $Lgname
cfs.int.cmc.ec.gc.ca $Lgname
cfs2.cmc.ec.gc.ca $Lgname
cfs2.int.cmc.ec.gc.ca $Lgname
hadar.cmc.ec.gc.ca $Lgname
spica.cmc.ec.gc.ca $Lgname
cnfs.cmc.ec.gc.ca $Lgname
cnfs.int.cmc.ec.gc.ca $Lgname
cetus.cmc.ec.gc.ca $Lgname
cetus.int.cmc.ec.gc.ca $Lgname
pollux.cmc.ec.gc.ca acrnsrc
pollux.int.cmc.ec.gc.ca acrnsrc
castor.cmc.ec.gc.ca acrnsrc
castor.int.cmc.ec.gc.ca acrnsrc
mez.cmc.ec.gc.ca acrnsrc
mez.int.cmc.ec.gc.ca acrnsrc
$VICSV01 $Lgname
ftp1.cccma.ec.gc.ca $Lgname
woof
echo " $FEHOME/.rhosts creation is complete "
fi
\chmod 700 $FEHOME/.rhosts* 
 
# * Make sure ".netrc" file exists and is owned by the user...
 
if [ -f $FEHOME/.netrc ] ; then
  :
\cp -p $FEHOME/.netrc $FEHOME/.netrc$Tpid
\chmod 700 $FEHOME/.netrc* 
  (echo '"" xyz ""' ; cat $FEHOME/.netrc ) | sed -n -e '
/cidsv08 /d
/cidsc03/d
/cidsc.03/d
/cidsv08.cmc.doe.[Cc][Aa]/d
/sx3.cmc.doe.[Cc][Aa]/d
/ftp1.cccma.bc.ec.gc.ca/d
/ns01.cccma.bc.ec.gc.ca/d
/cs01.cccma.bc.ec.gc.ca/d
/sp0..cccma.bc.ec.gc.ca/d
/sp1..cccma.bc.ec.gc.ca/d
/ax12.cccma.bc.ec.gc.ca/d
/asa.cmc.ec.gc.[Cc][Aa]/d
/asa.cmc.doe.[Cc][Aa]/d
/yonaka.cmc.ec.gc.[Cc][Aa]/d
/yonaka.cmc.doe.[Cc][Aa]/d
/yata.cmc.ec.gc.[Cc][Aa]/d
/sx6-[0-9].cmc.ec.gc.[Cc][Aa]/d
/kaze.cmc.ec.gc.[Cc][Aa]/d
/kaze.cmc.doe.[Cc][Aa]/d
/hiru.cmc.ec.gc.[Cc][Aa]/d
/hiru.cmc.doe.[Cc][Aa]/d
/sx3r.cmc.doe.[Cc][Aa]/d
/cfs.cmc.doe.[Cc][Aa]/d
/cfs.cmc.ec.gc.[Cc][Aa]/d
/cfs2.cmc.doe.[Cc][Aa]/d
/cfs2.cmc.ec.gc.[Cc][Aa]/d
/onyx.cmc.doe.[Cc][Aa]/d
/o2000-2.cmc.doe.[Cc][Aa]/d
/o2000-2.cmc.ec.gc.[Cc][Aa]/d
/o2000-2.int.cmc.doe.[Cc][Aa]/d
/o2000-2.int.cmc.ec.gc.[Cc][Aa]/d
/pollux.cmc.doe.[Cc][Aa]/d
/pollux.cmc.ec.gc.[Cc][Aa]/d
/castor.cmc.doe.[Cc][Aa]/d
/castor.cmc.ec.gc.[Cc][Aa]/d
/mez.cmc.doe.[Cc][Aa]/d
/mez.cmc.ec.gc.[Cc][Aa]/d
/azur.cmc.ec.gc.[Cc][Aa]/d
/rigel.cmc.ec.gc.[Cc][Aa]/d
/maia.cmc.ec.gc.[Cc][Aa]/d
/naos.cmc.ec.gc.[Cc][Aa]/d
/zeta.cmc.ec.gc.[Cc][Aa]/d
/algol.cmc.ec.gc.[Cc][Aa]/d
/hadar.cmc.ec.gc.[Cc][Aa]/d
/spica.cmc.ec.gc.[Cc][Aa]/d
/cnfs.cmc.ec.gc.[Cc][Aa]/d
/cnfs.int.cmc.ec.gc.[Cc][Aa]/d
/cetus.cmc.ec.gc.[Cc][Aa]/d
/cetus.int.cmc.ec.gc.[Cc][Aa]/d
/saiph.cmc.ec.gc.[Cc][Aa]/d
/dorval-ib.cmc.ec.gc.[Cc][Aa]/d
/alef.cmc.ec.gc.[Cc][Aa]/d
/orion.cmc.doe.[Cc][Aa]/d
/orion.cmc.ec.gc.[Cc][Aa]/d
/ sx3 /d
/ asa /d
/ yonaka /d
/ yata /d
/ sx6-[0-9] /d
/ kaze /d
/ hiru /d
/ sx3r /d
/ cfs /d
/ cfs2 /d
/ onyx /d
/ o2000-2 /d
/ pollux /d
/ castor /d
/ mez /d
/ azur /d
/ rigel /d
/ maia /d
/ naos /d
/ zeta /d
/ algol /d
/ hadar /d
/ spica /d
/ cnfs /d
/ cetus /d
/ saiph /d
/ dorval-ib /d
/ alef /d
/ orion /d
1,$p
' | grep -v '"" xyz ""' > $FEHOME/.mnetrc$Tpid 
( cat << woof) >> $FEHOME/.mnetrc$Tpid
machine pollux.cmc.ec.gc.ca login $USER password $PASSE
machine castor.cmc.ec.gc.ca login $USER password $PASSE
machine mez.cmc.ec.gc.ca login $USER password $PASSE
machine cfs.cmc.ec.gc.ca login $USER password $PASSE
machine cfs2.cmc.ec.gc.ca login $USER password $PASSE
machine hadar.cmc.ec.gc.ca login $USER password $PASSE
machine spica.cmc.ec.gc.ca login $USER password $PASSE
machine cnfs.cmc.ec.gc.ca login $USER password $PASSE
machine cnfs.int.cmc.ec.gc.ca login $USER password $PASSE
machine cetus.cmc.ec.gc.ca login $USER password $PASSE
machine cetus.int.cmc.ec.gc.ca login $USER password $PASSE
machine cfs            login $USER password $PASSE
machine cfs2            login $USER password $PASSE
machine pollux          login $USER password $PASSE
machine castor          login $USER password $PASSE
machine mez          login $USER password $PASSE
machine hadar          login $USER password $PASSE
machine spica          login $USER password $PASSE
machine cnfs          login $USER password $PASSE
machine cetus          login $USER password $PASSE
woof
\mv $FEHOME/.mnetrc$Tpid $FEHOME/.netrc
else
( cat << woof) >> $FEHOME/.netrc
machine pollux.cmc.ec.gc.ca login $USER password $PASSE
machine castor.cmc.ec.gc.ca login $USER password $PASSE
machine mez.cmc.ec.gc.ca login $USER password $PASSE
machine cfs.cmc.ec.gc.ca login $USER password $PASSE
machine cfs2.cmc.ec.gc.ca login $USER password $PASSE
machine hadar.cmc.ec.gc.ca login $USER password $PASSE
machine spica.cmc.ec.gc.ca login $USER password $PASSE
machine cnfs.cmc.ec.gc.ca login $USER password $PASSE
machine cnfs.int.cmc.ec.gc.ca login $USER password $PASSE
machine cetus.cmc.ec.gc.ca login $USER password $PASSE
machine cetus.int.cmc.ec.gc.ca login $USER password $PASSE
machine cfs            login $USER password $PASSE
machine cfs2            login $USER password $PASSE
machine pollux          login $USER password $PASSE
machine castor          login $USER password $PASSE
machine mez          login $USER password $PASSE
machine hadar          login $USER password $PASSE
machine spica          login $USER password $PASSE
machine cnfs          login $USER password $PASSE
machine cetus          login $USER password $PASSE
machine $CCRN login $USER password $PASSE 
machine $VICSV01 login $USER password $PASSE 
machine ftp1.cccma.ec.gc.ca login $USER password $PASSE 
woof
echo " $FEHOME/.netrc creation is complete "
fi
\chmod 700 $FEHOME/.netrc* 
 
# * update .login file ...
 
if [ -f $FEHOME/.login ] ; then
  \cp -p $FEHOME/.login $FEHOME/.login$Tpid
  eval "echo current $FEHOME/.login copied to $FEHOME/.login$Tpid"
fi
\cp $CCRNSRC/generic/STANDARD_LOGIN $FEHOME/.login
\chmod 700 $FEHOME/.login*
echo " $FEHOME/.login creation is complete "
 
# * update .cshrc file ...
 
if [ -f $FEHOME/.cshrc ] ; then
  \cp -p $FEHOME/.cshrc $FEHOME/.cshrc$Tpid
  eval "echo current $FEHOME/.cshrc copied to $FEHOME/.cshrc$Tpid"
fi
\cp $CCRNSRC/generic/STANDARD_CSHRC $FEHOME/.cshrc
\chmod 700 $FEHOME/.cshrc*
echo " $FEHOME/.cshrc creation is complete "

 
# * update .profile file ...
 
if [ -f $FEHOME/.profile ] ; then
  \cp -p $FEHOME/.profile $FEHOME/.profile$Tpid
  eval "echo current $FEHOME/.profile copied to $FEHOME/.profile$Tpid"
fi
\cp $CCRNSRC/generic/STANDARD_PROFILE $FEHOME/.profile
\chmod 700 $FEHOME/.profile*
echo " $FEHOME/.profile creation is complete "
 
# * possibly setup .cshrc_usr_linux file ...
 
if [ -f $FEHOME/.cshrc_usr_linux ] ; then
#  \cp $FEHOME/.cshrc_usr_linux $FEHOME/.cshrc_usr_linux$Tpid
#  eval "echo current $FEHOME/.cshrc_usr_linux copied to $FEHOME/.cshrc_usr_linux$Tpid"
  echo " $FEHOME/.cshrc_usr_linux will not be changed"
else
 #if [ -f $FEHOME/.cshrc_usr ] ; then
 # \mv $FEHOME/.cshrc_usr $FEHOME/.cshrc_usr_linux
 # echo " $FEHOME/.cshrc_usr renamed $FEHOME/.cshrc_usr_linux"
 #else 
   \cp $CCRNSRC/generic/LINUX_CSHRC_USR $FEHOME/.cshrc_usr_linux
   echo " $FEHOME/.cshrc_usr_linux creation is complete "
 #fi
fi
\chmod 700 $FEHOME/.cshrc_usr_linux*
if [ ! -f $FEHOME/.cshrc_usr_linux64 ] ; then
 ln -s $FEHOME/.cshrc_usr_linux $FEHOME/.cshrc_usr_linux64
 echo "created $FEHOME/.cshrc_usr_linux64 link to $FEHOME/.cshrc_usr_linux"
fi
### eval "( \ed -s $FEHOME/.cshrc_usr_linux << woof
### g/home\/cidsv01d/s/home\/cidsv01d/users\/tor/
### w
### q
### woof
### ) "

# * possibly setup .login_usr_linux file ...
 
if [ -f $FEHOME/.login_usr_linux ] ; then
  echo " $FEHOME/.login_usr_linux will not be changed"
else
 #if [ -f $FEHOME/.login_usr ] ; then
 # \mv $FEHOME/.login_usr $FEHOME/.login_usr_linux
 # echo " $FEHOME/.login_usr renamed $FEHOME/.login_usr_linux"
 #else 
   \cp $CCRNSRC/generic/LINUX_LOGIN_USR $FEHOME/.login_usr_linux
   echo " $FEHOME/.login_usr_linux creation is complete "
 #fi
fi
\chmod 700 $FEHOME/.login_usr_linux*

if [ ! -f $FEHOME/.login_usr_linux64 ] ; then
 ln -s $FEHOME/.login_usr_linux $FEHOME/.login_usr_linux64
 echo "created $FEHOME/.login_usr_linux64 link to $FEHOME/.login_usr_linux"
fi
 
# * possibly setup .profile_usr_linux file ...
 
if [ -f $FEHOME/.profile_usr_linux ] ; then
#  \cp $FEHOME/.profile_usr_linux $FEHOME/.profile_usr_linux$Tpid
#  eval "echo current $FEHOME/.profile_usr_linux copied to $FEHOME/.profile_usr_linux$Tpid"
  echo " $FEHOME/.profile_usr_linux will not be changed"
else
 #if [ -f $FEHOME/.profile_usr ] ; then
 # \mv $FEHOME/.profile_usr $FEHOME/.profile_usr_linux
 # echo " $FEHOME/.profile_usr renamed $FEHOME/.profile_usr_linux"
 #else 
   \cp $CCRNSRC/generic/LINUX_PROFILE_USR $FEHOME/.profile_usr_linux
   echo " $FEHOME/.profile_usr_linux creation is complete "
 #fi
fi
\chmod 700 $FEHOME/.profile_usr_linux*

if [ ! -f $FEHOME/.profile_usr_linux64 ] ; then
 ln -s $FEHOME/.profile_usr_linux $FEHOME/.profile_usr_linux64
 echo "created $FEHOME/.profile_usr_linux64 link to $FEHOME/.profile_usr_linux"
fi

# * update .zzzbvar_linux file ...
 
# if [ ! -f $FEHOME/.zzzbvar_linux -a -f $FEHOME/.zzzbvar ] ; then
#  \mv $FEHOME/.zzzbvar $FEHOME/.zzzbvar_linux
#  echo " $FEHOME/.zzzbvar renamed $FEHOME/.zzzbvar_linux"
# fi

if [ -f $FEHOME/.zzzbvar_linux ] ; then
 
# * Linux front end run subdirectory path...
 
  ## if [ "$grp" = 'acrn' ] ; then
  ##  case $usr in
  ##   rml|gcm|ice|ocn) Trunpath='/data/cava_ccrn1/data' ;;
  ##   esm|cbn) Trunpath='/data/cava_ccrn2/data' ;;
  ##   src ) Trunpath='/data/cava_ccrn0/dib02/data' ;;
  ##   ryj|rmq|wsl|jcl|rks|rrm|rmn|rsk|017|rjk|rdp|rrh|rja|rnm|rls|rms) Trunpath='/data/cava_ccrn0/dib01/data' ;;
  ##   rfm|rjc|rjl|smp|rwm|rng|cc1|cc2|cc3|cc4|mr1|mr2|mr3|mr4|mr5|mr6|sip|jos|rdr|rdy|rwl|rok) Trunpath='/data/cava_ccrn0/dib02/data' ;;
  ##   rby|rgb|rgf|rjc|rjf|rmg|rrr|rjm|rpg|red|pd1|pd2|pd3|pd4) Trunpath='/data/cava_ccrn0/dib02/data' ;;
  ##   rkd|rmb|rns|rva|rbb) Trunpath='/data/cava_ccrn0/dib02/data' ;;
  ##   # rsl) Trunpath='/data/cava_ccrn0/dib02/data/ursl_data' ;;
  ##   q01|q02|q03|q04|q05|q06|q07|qaf|qdc|qdp|qhc|qmg|qsb) Trunpath='/data/cava_ccrn0/dib03/data' ;;
  ##   qrj) Trunpath='/data/not_valid_there' ;;
  ##   rdv|rec ) Trunpath='/data/cava_ccrn0/dib03/data' ;;
  ##   002|003|004|005|006|007|008|010) Trunpath='/data/cava_ccrn0/dib03/data' ;;
  ##   011|012|013|014|015|016|018|019|020) Trunpath='/data/cava_ccrn0/dib03/data' ;;
  ##   mcr|all|ros|nbp) Trunpath='/data/cava_ccrn0/dib03/data' ;;
  ##   001|009) Trunpath='/data/cava_ccrm1/data' ;;
  ## #  c01|c02|cop ) Trunpath='/fs/cmd/n/004/data' ;;
  ##                         * ) Trunpath='/data/cava_ccrn0/dib03/data' ;;
  ##  esac
  ## else
  ##  if [ "$Lgname" = 'acrpmdm' ] ; then
  ##   Trunpath='/data/cava_ccrn0/dib03/data'
  ##  elif [ "$Lgname" = 'acrmril' ] ; then
  ##   Trunpath='/data/cava_ccrm1/data'
  ##  else
  ##   Trunpath='/fake_data'
  ##  fi
  ## fi

 if [ "$grp" = 'acrn' ] ; then
  case $usr in
   rml|gcm|ice|ocn|opt) Trunpath='/fs/cava/dev/crb/sata/ccrna04/data' ;;
   esm|cbn) Trunpath='/fs/cava/dev/crb/sata/ccrna05/data' ;;
   src ) Trunpath='/fs/cava/dev/crb/sata/ccrna02/data' ;;
   ryj|rmq|wsl|jcl|mky|rks|rrm|rtm|rsk|017|rjk|rdp|rrh|rja|rnm|rls|rms) Trunpath='/fs/cava/dev/crb/sata/ccrna01/data' ;;
   rfm|rjc|rjl|smp|rwm|rmm|rsa|rng|cc1|cc2|cc3|cc4|sip|jos|rdr|rdy|rwl|rok) Trunpath='/fs/cava/dev/crb/sata/ccrna02/data' ;;
   mr1|mr2|mr3|mr4|mr5|mr6|mr7|mr8|mr9|pd1|pd2|pd3|pd4|pd5|pd6|pd7|pd8|pd9) Trunpath='/fs/cava/dev/crb/sata/ccrna02/data' ;;
   rby|rgb|rgf|rjc|rjf|rkm|rmg|rrr|ror|rjm|rpg|red) Trunpath='/fs/cava/dev/crb/sata/ccrna02/data' ;;
   rkd|rmb|rns|rva|raa|rrs|rbb|rbt|ncs) Trunpath='/fs/cava/dev/crb/sata/ccrna02/data' ;;
   # q01|q02|q03|q04|q05|q06|q07|qaf|qdc|qdp|qhc|qmg|qsb) Trunpath='/fs/cava/dev/crb/sata/ccrna03/data' ;;
   # qrj) Trunpath='/data/not_valid_there' ;;
   ycm) Trunpath='/fs/cava/dev/crb/sata/ccrna03/data' ;;
   rdv|rec ) Trunpath='/fs/cava/dev/crb/sata/ccrna03/data' ;;
   002|003|004|005|006|007|008|010) Trunpath='/fs/cava/dev/crb/sata/ccrna03/data' ;;
   011|012|013|014|015|016|018|019|020) Trunpath='/fs/cava/dev/crb/sata/ccrna03/data' ;;
   mcr|all|ros) Trunpath='/fs/cava/dev/crb/sata/ccrna03/data' ;;
   001|009) Trunpath='/fs/cava/dev/crb/sata/ccrm1/data' ;;
#  c01|c02|cop ) Trunpath='/fs/cmd/n/004/data' ;;
                         * ) Trunpath='/fs/cava/dev/crb/sata/ccrna03/data' ;;
  esac
 else
  ### if [ "$Lgname" = 'acrpmdm' ] ; then
  if [ "$Lgname" = 'acrp001' -o "$Lgname" = 'acrplbw' -o "$Lgname" = 'acrpssu' ] ; then
   Trunpath='/fs/cava/dev/crb/sata/ccrp1/data'
  ### elif [ "$Lgname" = 'acrmril' ] ; then
  ### elif [ "$Lgname" = 'acrmxxx' ] ; then
  elif [ "$Lgname" = 'acrmrmc' -o "$Lgname" = 'acrmrac' ] ; then
   Trunpath='/fs/cava/dev/crb/sata/ccrm1/data'
  else
   Trunpath='/fake_data'
  fi
 fi
 
# * Back end run subdirectory path...
 
 if [ "$grp" = 'acrn' ] ; then
  case $usr in
## ## src ) Tberunpath='/sx/crba_src/data' ;;
## ## rsk|rml|rdp|rrh|rnm|rls) Tberunpath='/sx/crb/nfc01/data' ;;
## ## rjc|rjl|rwm|gcm|jos|rdr|rwl|rok) Tberunpath='/sx/crb/nfc02/data' ;;
## ## ocn|rby|rgb|rgf|rjc|rjf) Tberunpath='/sx/crb/nfc02/data' ;;
## ## rkd|rmb|rns|rsl|rva) Tberunpath='/sx/crb/nfc02/data' ;;
## ## rfm) Tberunpath='/sx/crb/nfc02/data' ;;
## ## rks) Tberunpath='/sx/crb/nfc03/data' ;;
## ## rfm) Tberunpath='/sx/crb/fc04/data' ;;
## ## q01|q02|q03|q04|q05|q06|q07|qaf|qdc|qdp|qhc|qmg|qsb) Tberunpath='/sx/crb/nfc12/data' ;;
## ## qrj) Tberunpath='/data/not_valid_there' ;;
## ## l01 ) Tberunpath='/sx/crb/nfc13/data/l01' ;;
## ## rdv|rec ) Tberunpath='/sx/crb/nfc13/data' ;;
## ## 001|002|003|004|005|006|007|008|009|010) Tberunpath='/sx/crb/nfc14/data' ;;
## ## 011|012|013|014|015|016|017|018|019|020) Tberunpath='/sx/crb/nfc14/data' ;;
## ## mcr|all|ros|nbp) Tberunpath='/sx/crb/nfc14/data' ;;
## ## c01|c02|cop ) Tberunpath='/data/asa_cmdn1/acrnc01'  ;;
## ##                       * ) Tberunpath='/sx/crb/nfc11/data' ;;
## #####
##    src ) Tberunpath='/fs/crb/az7p02/data' ;;
## #  jcl|rks|rsk|rml|017|rdp|rrh|rnm|rls|rms) Tberunpath='/fs/crb/az7p01/data' ;;
##    rml) Tberunpath='/fs/dev/crb/had01/data' ;;
##    jcl|rks|rsk|017|rdp|rrh|rnm|rls|rms) Tberunpath='/fs/crb/az7p01/data' ;;
##    rfm|rjc|rjl|rwm|gcm|jos|rdr|rwl|rok) Tberunpath='/fs/crb/az7p02/data' ;;
##    ocn|rby|rgb|rgf|rjc|rjf) Tberunpath='/fs/crb/az7p02/data' ;;
##    rkd|rmb|rns|rsl|rva) Tberunpath='/fs/crb/az7p02/data' ;;
##    q01|q02|q03|q04|q05|q06|q07|qaf|qdc|qdp|qhc|qmg|qsb) Tberunpath='/fs/crb/az7p03/data' ;;
##    qrj) Tberunpath='/data/not_valid_there' ;;
##    l01 ) Tberunpath='/fs/crb/az7p03/data/l01' ;;
##    rdv|rec ) Tberunpath='/fs/crb/az7p03/data' ;;
##    001|002|003|004|005|006|007|008|009|010) Tberunpath='/fs/crb/az7p03/data' ;;
## #  011|012|013|014|015|016|017|018|019|020) Tberunpath='/fs/crb/az7p03/data' ;;
##    011|012|013|014|015|016|018|019|020) Tberunpath='/fs/crb/az7p03/data' ;;
##    mcr|all|ros|nbp) Tberunpath='/fs/crb/az7p03/data' ;;
##    c01|c02|cop ) Tberunpath='/fs/cmd/n/004/data' ;;
##                          * ) Tberunpath='/fs/crb/az7p03/data' ;;
#####
   src ) Tberunpath='/fs/dev/crb/had02/data' ;;
   rml) Tberunpath='/fs/dev/crb/had01/data' ;;
   ryj|rmq|wsl|jcl|mky|rks|rrm|rtm|rsk|017|rjk|rdp|rrh|rja|rnm|rls|rms) Tberunpath='/fs/dev/crb/had01/data' ;;
   rfm|rjc|rjl|smp|rwm|rmm|rsa|rng|cc1|cc2|cc3|cc4|esm|sip|gcm|ice|jos|rdr|rdy|rwl|rok) Tberunpath='/fs/dev/crb/had02/data' ;;
   mr1|mr2|mr3|mr4|mr5|mr6|mr7|mr8|mr9|pd1|pd2|pd3|pd4|pd5|pd6|pd7|pd8|pd9) Tberunpath='/fs/dev/crb/had02/data' ;;
   cbn|ocn|opt|rby|rgb|rgf|rjc|rjf|rkm|rmg|rrr|ror|rjm|rpg|red) Tberunpath='/fs/dev/crb/had02/data' ;;
   rkd|rmb|rns|rva|raa|rrs|rbb|rbt|ncs) Tberunpath='/fs/dev/crb/had02/data' ;;
   # q01|q02|q03|q04|q05|q06|q07|qaf|qdc|qdp|qhc|qmg|qsb) Tberunpath='/fs/dev/crb/had03/data' ;;
   # qrj) Tberunpath='/data/not_valid_there' ;;
   ycm) Tberunpath='/fs/dev/crb/had03/data' ;;
   rdv|rec ) Tberunpath='/fs/dev/crb/had03/data' ;;
   001|002|003|004|005|006|007|008|009|010) Tberunpath='/fs/dev/crb/had03/data' ;;
   011|012|013|014|015|016|018|019|020) Tberunpath='/fs/dev/crb/had03/data' ;;
   mcr|all|ros) Tberunpath='/fs/dev/crb/had03/data' ;;
  #c01|c02|cop ) Tberunpath='/fs/cmd/n/004/data' ;;
                         * ) Tberunpath='/fs/dev/crb/had03/data' ;;
  esac
 else
  ### if [ "$Lgname" = 'acrpmdm' ] ; then
  if [ "$Lgname" = 'acrp001' -o "$Lgname" = 'acrplbw' -o "$Lgname" = 'acrpssu' ] ; then
## ## Tberunpath='/sx/crb/nfc13/data'
##    Tberunpath='/fs/crb/az7p03/data'
   Tberunpath='/fs/dev/crb/had03/ccrp/data'
  elif [ "$Lgname" = 'acrmrmc' -o "$Lgname" = 'acrmrac' ] ; then
   Tberunpath='/fs/dev/crb/had03/ccrm/data'
  else
   Tberunpath='/fake_data'
  fi
 fi

 \cp -p $FEHOME/.zzzbvar_linux $FEHOME/.zzzbvar_linux_$Tpid
 \chmod 700 $FEHOME/.zzzbvar_linux_$Tpid
 (\rm $FEHOME/.zzzbvar_linux_tmp > /dev/null 2> /dev/null || : )
sed -n -e '
/ORRUNPATH/d
/BERUNPATH/d
/IBRUNPATH/d
/LNXRUNPATH/d
/RUNPATH/d
/DATAPATH/d
/CCRNTMP/d
1,$p
' $FEHOME/.zzzbvar_linux >> $FEHOME/.zzzbvar_linux_tmp 
 echo "setenv  BERUNPATH $Tberunpath" >> $FEHOME/.zzzbvar_linux_tmp 
#echo "setenv  LNXRUNPATH $Trunpath" >> $FEHOME/.zzzbvar_linux_tmp 
 echo "setenv  RUNPATH   $Trunpath"   >> $FEHOME/.zzzbvar_linux_tmp 
 \mv $FEHOME/.zzzbvar_linux_tmp $FEHOME/.zzzbvar_linux
 \chmod 700 $FEHOME/.zzzbvar_linux*
### eval "( \ed -s $FEHOME/.zzzbvar_linux << woof
### g/home\/cidsv01d/s/home\/cidsv01d/users\/tor/
### w
### q
### woof
### ) "
 if [ ! -f $FEHOME/.zzzbvar_linux64 ] ; then
  ln -s $FEHOME/.zzzbvar_linux $FEHOME/.zzzbvar_linux64
  echo "created $FEHOME/.zzzbvar_linux64 link to $FEHOME/.zzzbvar_linux"
 fi
else
 echo "unable to find $FEHOME/.zzzbvar_linux !"
 echo "!!!!!!! setup crashed !!!!!!!"
 exit 1
fi

# * update .zzzbvar_profile_linux file ...
 
if [ -f $FEHOME/.zzzbvar_profile_linux ] ; then
 
 \cp -p $FEHOME/.zzzbvar_profile_linux $FEHOME/.zzzbvar_profile_linux_$Tpid
 \chmod 700 $FEHOME/.zzzbvar_profile_linux_$Tpid
 (\rm $FEHOME/.zzzbvar_profile_linux_tmp > /dev/null 2> /dev/null || : )
sed -n -e '
/ORRUNPATH/d
/BERUNPATH/d
/IBRUNPATH/d
/LNXRUNPATH/d
/RUNPATH/d
/DATAPATH/d
/CCRNTMP/d
1,$p
' $FEHOME/.zzzbvar_profile_linux >> $FEHOME/.zzzbvar_profile_linux_tmp 
 echo "BERUNPATH=$Tberunpath ; export BERUNPATH " >> $FEHOME/.zzzbvar_profile_linux_tmp 
#echo "LNXRUNPATH=$Trunpath ; export LNXRUNPATH " >> $FEHOME/.zzzbvar_profile_linux_tmp 
 echo "RUNPATH=$Trunpath ; export RUNPATH "   >> $FEHOME/.zzzbvar_profile_linux_tmp 
 \mv $FEHOME/.zzzbvar_profile_linux_tmp $FEHOME/.zzzbvar_profile_linux
 \chmod 700 $FEHOME/.zzzbvar_profile_linux*
else
 if [ -f $FEHOME/.zzzbvar_linux ] ; then
cat $FEHOME/.zzzbvar_linux | sed  -e '
 /^ *#/d
 /limit /d
 /^ *setenv /{
 s/^ *setenv *\([^ ]*\) *\(.*\)$/\1=\2 ; export \1/
 }
 s/if *(/if [ /
 s/^ *unsetenv / unset /
 /^ *if *! *( *\$?/{
 s/ *! *( *\$?\(.*\) *)/ [ -z "\$\1" )/
 }
 s/) *then/ ] ; then/
 s/endif/fi/g
 s/ || / -o /g
 s/ \&\& / -a /g
 s/ == / = /g
 s/~\//\$HOME\//g
' > $FEHOME/.zzzbvar_profile_linux
  \chmod 700 $FEHOME/.zzzbvar_profile_linux*
  echo " created .zzzbvar_profile_linux from .zzzbvar_linux file..."
  echo " ... verify proper .zzzbvar_profile_linux contents"
 else
  echo "unable to find $FEHOME/.zzzbvar_profile_linux !"
  echo "!!!!!!! setup crashed !!!!!!!"
  exit 1
 fi
fi
if [ ! -f $FEHOME/.zzzbvar_profile_linux64 ] ; then
 ln -s $FEHOME/.zzzbvar_profile_linux $FEHOME/.zzzbvar_profile_linux64
 echo "created $FEHOME/.zzzbvar_profile_linux64 link to $FEHOME/.zzzbvar_profile_linux"
fi
# echo " migrating files to $Trunpath "
# ($CCRNSTD/mgrtfils >  /dev/null 2> /dev/null   || : ) > /dev/null 2>/dev/null
# $CCRNSTD/mgrtfils 
# echo " files migration to $Trunpath is complete "
# ssh pollux 'echo stuplnx task is now complete'
# echo ' Please initiate a new login procedure from scratch to Pollux'
echo ' Please initiate a new login procedure from scratch to Joule'
# fi
