#!/bin/bash
-# Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2016 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
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# 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
. ${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