Salome HOME
10c4006a0d002a4e3d40711aec3a865fb7f5b407
[tools/install.git] / config_files / KERNEL_BIN.sh
1 #!/bin/sh
2
3 check_version(){
4 if [ -n "${KERNEL_ROOT_DIR}" ]; then
5     check_lib_version VERSION ${KERNEL_ROOT_DIR}/bin/salome
6     if [ "$?" -eq "0" ]; then
7         ver=`cat ${KERNEL_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
8         if [ "$ver" = "3.2.3" ]; then
9             return 0
10         fi
11     fi
12 fi
13 return 1
14 }
15
16 print_env(){
17 if test `uname -m` = "x86_64" ; then
18 export LIB_PREFIX=64
19 else
20 export LIB_PREFIX=""
21 fi
22 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
23 #$DELIM ${PRODUCT_TYPE} $DELIM
24 export KERNEL_ROOT_DIR=\${INSTALL_ROOT}/${PRODUCT}
25 if [ -n "\${ENV_FOR_LAUNCH}" ] ; then
26   if [ "\${ENV_FOR_LAUNCH}" == "1" ] ; then
27     export PATH=\${KERNEL_ROOT_DIR}/bin/salome:\${PATH}
28     export LD_LIBRARY_PATH=\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${LD_LIBRARY_PATH}
29     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}
30   fi
31 fi
32 ##
33 EOF
34 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
35 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
36 }
37
38 # looks for the native product and collects it's environment (used by make_env())
39 try_native(){
40 check_version
41 if test `uname -m` = "x86_64" ; then
42 export LIB_PREFIX=64
43 else
44 export LIB_PREFIX=""
45 fi
46 if [ $? -eq 0 ] ; then
47     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
48 #$DELIM ${PRODUCT_TYPE} $DELIM
49 export KERNEL_ROOT_DIR=\${INSTALL_ROOT}/${PRODUCT}
50 if [ -n "\${ENV_FOR_LAUNCH}" ] ; then
51   if [ "\${ENV_FOR_LAUNCH}" == "1" ] ; then
52     export PATH=\${KERNEL_ROOT_DIR}/bin/salome:\${PATH}
53     export LD_LIBRARY_PATH=\${KERNEL_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${LD_LIBRARY_PATH}
54     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}
55   fi
56 fi
57 ##
58 EOF
59     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
60     return 0
61 fi
62 return 1;
63 }
64
65 try_preinstalled(){
66 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
67 return $?
68 }
69
70 install_source()
71 {
72 return 1
73 }
74
75 install_binary()
76 {
77 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
78 source ${INSTALL_WORK}/$SHRC
79
80 check_jb tar xfz ${SOURCE_DIR}/KERNELbinariesV3.2.3.tar.gz -C ${INSTALL_ROOT}
81
82 # The next two symbolic links are created only for Red Hat 9 and Scientific Linux 3.0.5
83 if [ -f /lib/libcrypto.so.0.9.7a ]; then
84     ln -sf /lib/libcrypto.so.0.9.7a ${PRODUCT_DIR}/lib/salome/libcrypto.so.2
85 fi
86 if [ -f /lib/libssl.so.0.9.7a ]; then
87     ln -sf /lib/libssl.so.0.9.7a ${PRODUCT_DIR}/lib/salome/libssl.so.2
88 fi
89
90 # modify all *.la files
91 export KERNEL_ROOT_DIR=${PRODUCT_DIR}
92 modif_la_files ${PRODUCT_DIR}
93
94 print_env
95 }
96
97 pickup_env()
98 {
99 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE} ${PRODUCT_DIR}
100 if [ -d ${PRODUCT_DIR} ] ; then
101     cd ${PRODUCT_DIR}
102     version=`cat bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]'`
103     dir="${HOME}/salome_appli_$version"
104     bin/salome/createAppli.sh $dir
105     rm -rf $dir/env.d/*.sh
106     cp -f ${PRODUCT_DIR}/salome.sh $dir/env.d
107 fi
108 }
109
110 export PROCEDURE=$1;
111 export INSTALL_WORK=$2;
112 export SOURCE_DIR=$3;
113 export INSTALL_ROOT=$4;
114 export PRODUCT_SEQUENCE=$5;
115 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="KernelBin" ; fi
116 export PRODUCT="KERNEL_3.2.3"
117 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
118 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
119 source ./common.sh
120 $PROCEDURE