Salome HOME
Update for Salome 3.2.6
[tools/install.git] / config_files / KERNEL_BIN.sh
1 #!/bin/bash -noprofile
2
3 ####################################################################################
4 #  File      : KERNEL_BIN.sh
5 #  Created   : Thu Dec 18 12:01:00 2002
6 #  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
7 #  Project   : SALOME
8 #  Module    : Installation Wizard
9 #  Copyright : 2002-2007 CEA
10 #
11 #  This script is the part of the SALOME installation procedure.
12 #
13 ####################################################################################
14
15 VERSION="3.2.6"
16
17 check_version(){
18 if [ -n "${KERNEL_ROOT_DIR}" ]; then
19     check_lib_version VERSION ${KERNEL_ROOT_DIR}/bin/salome
20     if [ "$?" -eq "0" ]; then
21         ver=`cat ${KERNEL_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
22         if [ "$ver" = "${VERSION}" ]; then
23             return 0
24         fi
25     fi
26 fi
27 return 1
28 }
29
30 print_env(){
31 if test `uname -m` = "x86_64" ; then
32 export LIB_PREFIX=64
33 else
34 export LIB_PREFIX=""
35 fi
36 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
37 #$DELIM ${PRODUCT_TYPE} $DELIM
38 export KERNEL_ROOT_DIR=\${INSTALL_ROOT}/${PRODUCT}
39 if [ -n "\${ENV_FOR_LAUNCH}" ] ; then
40   if [ "\${ENV_FOR_LAUNCH}" == "1" ] ; then
41     export PATH=\${KERNEL_ROOT_DIR}/bin/salome:\${PATH}
42     export LD_LIBRARY_PATH=\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${LD_LIBRARY_PATH}
43     export PYTHONPATH=\${KERNEL_ROOT_DIR}/bin/salome:\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages/salome:\${PYTHONPATH}
44   fi
45 fi
46 ##
47 EOF
48 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
49 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
50 }
51
52 # looks for the native product and collects it's environment (used by make_env())
53 try_native(){
54 check_version
55 if test `uname -m` = "x86_64" ; then
56 export LIB_PREFIX=64
57 else
58 export LIB_PREFIX=""
59 fi
60 if [ $? -eq 0 ] ; then
61     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
62 #$DELIM ${PRODUCT_TYPE} $DELIM
63 export KERNEL_ROOT_DIR=\${INSTALL_ROOT}/${PRODUCT}
64 if [ -n "\${ENV_FOR_LAUNCH}" ] ; then
65   if [ "\${ENV_FOR_LAUNCH}" == "1" ] ; then
66     export PATH=\${KERNEL_ROOT_DIR}/bin/salome:\${PATH}
67     export LD_LIBRARY_PATH=\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${LD_LIBRARY_PATH}
68     export PYTHONPATH=\${KERNEL_ROOT_DIR}/bin/salome:\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages/salome:\${PYTHONPATH}
69   fi
70 fi
71 ##
72 EOF
73     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
74     return 0
75 fi
76 return 1;
77 }
78
79 try_preinstalled(){
80 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
81 return $?
82 }
83
84 install_source()
85 {
86 return 1
87 }
88
89 install_binary()
90 {
91 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
92 source ${INSTALL_WORK}/$SHRC
93
94 check_jb tar xfz ${SOURCE_DIR}/KERNELbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
95
96 # The next two symbolic links are created only for Red Hat 9 and Scientific Linux 3.0.5
97 if [ -f /lib/libcrypto.so.0.9.7a ]; then
98     ln -sf /lib/libcrypto.so.0.9.7a ${PRODUCT_DIR}/lib/salome/libcrypto.so.2
99 fi
100 if [ -f /lib/libssl.so.0.9.7a ]; then
101     ln -sf /lib/libssl.so.0.9.7a ${PRODUCT_DIR}/lib/salome/libssl.so.2
102 fi
103
104 # modify all *.la files
105 export KERNEL_ROOT_DIR=${PRODUCT_DIR}
106 modif_la_files ${PRODUCT_DIR}
107
108 print_env
109 }
110
111 pickup_env()
112 {
113 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE} ${PRODUCT_DIR}
114 if [ -d ${PRODUCT_DIR} ] ; then
115     cd ${PRODUCT_DIR}
116     version=`cat bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]'`
117     dir="${HOME}/salome_appli_$version"
118     bin/salome/createAppli.sh $dir
119     rm -rf $dir/env.d/*.sh
120     cp -f ${PRODUCT_DIR}/salome.sh $dir/env.d
121 fi
122 }
123
124 export PROCEDURE=$1;
125 export INSTALL_WORK=$2;
126 export SOURCE_DIR=$3;
127 export INSTALL_ROOT=$4;
128 export PRODUCT_SEQUENCE=$5;
129 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="KERNELbin" ; fi
130 export PRODUCT="KERNEL_${VERSION}"
131 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
132 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
133 source ./common.sh
134 $PROCEDURE