Salome HOME
Check over OMNIORB_USER_PATH.
[modules/kernel.git] / bin / appliskel / runSession
index f12e53c2171abb937ace36a55692a56dd0696f38..bc177290860906d132d6a39250c27847e10bba9b 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 # Use it with args to run a program : runSession python -i myprog.py
 # Use it without args to run an interactive shell under Salome env
 
+
+###############################################
+############### IMPORTANT NOTE ################
+###############################################
+# The runSession script is obsolete.          #
+# Please consider the new salome launcher.    #
+###############################################
+
+
 APPLI_HOME=`dirname $0`
 
 NSPORT=last
@@ -68,54 +77,55 @@ export APPLI=`${APPLI_HOME}/getAppliPath.py`
 
 . ${HOME}/${APPLI}/envd ${HOME}/${APPLI}
 
+#export OMNIORB_USER_PATH="${HOME}/.salomeConfig/USERS"
+export OMNIORB_USER_PATH="${HOME}/${APPLI}/USERS"
+
+# --- set the OMNIORB_CONFIG file and environment relative to this run of SALOME
+# Usage: writeConfigFile PORT HOST
+function writeConfigFile
+{
+  if [ $# -ne 2 ]; then
+    echo "Usage: $0 PORT HOST"
+    return
+  fi
+  export NSPORT=$1
+  export NSHOST=$2
+
+  # Get (in bash) the configuration filename from (Python) ORBConfigFile return values
+  RETURN_VALUES=$(${KERNEL_ROOT_DIR}/bin/salome/envSalome.py python ${KERNEL_ROOT_DIR}/bin/salome/ORBConfigFile.py ${OMNIORB_USER_PATH} ${NSHOST} ${NSPORT} with_username=${USER})
+  export OMNIORB_CONFIG=$(echo ${RETURN_VALUES} | cut -d' ' -f1)
+}
+
+
 if test "x${NSPORT}" == "xlast"; then
   #PORT is not given
   if test "x${NSHOST}" == "xlocalhost"; then
     #MACHINE and PORT are not given
     # --- set omniORB configuration to current session if any
-    fileOmniConfig=${HOME}/${APPLI}/USERS/.omniORB_${USER}_last.cfg
+    fileOmniConfig=${OMNIORB_USER_PATH}/.omniORB_${USER}_last.cfg
     if [ -f $fileOmniConfig ]; then
-      OMNIORB_CONFIG=${HOME}/${APPLI}/USERS/.omniORB_${USER}_last.cfg
-      export OMNIORB_CONFIG
+      export OMNIORB_CONFIG=${OMNIORB_USER_PATH}/.omniORB_${USER}_last.cfg
       # --- set environment variables for port and hostname of NamingService
-      NSHOST=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py host`
-      NSPORT=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py port`
-      export NSPORT
-      export NSHOST
+      export NSHOST=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py host`
+      export NSPORT=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py port`
     fi
   else
     #MACHINE is given PORT is not given
-    NSPORT=2810
-    OMNIORB_CONFIG=${HOME}/${APPLI}/USERS/.omniORB_${USER}_${NSHOST}_${NSPORT}.cfg
-    export OMNIORB_CONFIG
-    #if omniorb config file exists do not override (perhaps too conservative)
-    if [ ! -f ${OMNIORB_CONFIG} ]; then
-      echo "InitRef = NameService=corbaname::${NSHOST}:${NSPORT}" > ${OMNIORB_CONFIG}
-    fi
-    export NSPORT
-    export NSHOST
+    writeConfigFile 2810 ${NSHOST}
   fi
 else
   #PORT is given
   if test "x${NSHOST}" == "xlocalhost"; then
     #MACHINE is not given PORT is given
-    NSHOST=`hostname`
-  fi
-  OMNIORB_CONFIG=${HOME}/${APPLI}/USERS/.omniORB_${USER}_${NSHOST}_${NSPORT}.cfg
-  export OMNIORB_CONFIG
-  #if omniorb config file exists do not override (perhaps too conservative)
-  if [ ! -f ${OMNIORB_CONFIG} ]; then
-    echo "InitRef = NameService=corbaname::${NSHOST}:${NSPORT}" > ${OMNIORB_CONFIG}
+      NSHOST=`hostname`
   fi
-  export NSPORT
-  export NSHOST
+  writeConfigFile ${NSPORT} ${NSHOST}
 fi
 
 # --- invoke shell with or without args
 
 if [ $# -ne 0 ] ; then
-    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py -exec $*
+  ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py -exec $*
 else
-
-    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc
+  ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc
 fi