Salome HOME
Improve pick-up environment mechanizm
[tools/install.git] / config_files / omniORB-3.0.5.sh
1 #!/bin/sh
2
3 check_version()
4 {
5 if [ -z "$OMNIORBDIR" ]; then
6    #echo "OMNIORBDIR doesn't set"
7    return 1
8 fi
9 check_lib_version libomniORB3.so.0.5 ${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1
10 if [ "$?" -ne "0" ]; then
11    return 1
12 fi
13 check_lib_version _omnipymodule.so.0.5 ${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1
14 if [ "$?" -ne "0" ]; then
15    return 1
16 fi
17 check_lib_version libCOSNotify3.so.0.5 ${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1
18 if [ "$?" -ne "0" ]; then
19    return 1
20 fi
21 check_lib_version notifd ${OMNIORBDIR}/bin/i586_linux_2.0_glibc2.1
22 if [ "$?" -ne "0" ]; then
23    return 1
24 fi
25 #additional checking - omni add special files THIS_IS_...
26 check_lib_version THIS_IS_omniORB_3_0_5 ${OMNIORBDIR}
27 if [ "$?" -ne "0" ]; then
28    return 1
29 fi
30 check_lib_version THIS_IS_omniNotify_1_2 ${OMNIORBDIR}/src/services/omniNotify
31 if [ "$?" -ne "0" ]; then
32    return 1
33 fi
34 check_lib_version THIS_IS_OMNIORBPY_1_5 ${OMNIORBDIR}/src/lib/omniORBpy
35 if [ "$?" -eq "0" ]; then
36     #echo "The product ${PRODUCT} has been already installed on yours system"
37     return 0
38 fi
39 return 1
40 }
41
42 print_env()
43 {
44 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
45 #$DELIM ${PRODUCT_TYPE} $DELIM
46 export OMNIORBDIR=\${INSTALL_ROOT}/${PRODUCT}
47 export OMNIORB_CONFIG=\${OMNIORBDIR}/.omniORB.cfg
48 export PYTHONPATH=\${OMNIORBDIR}/lib/python:\${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1:\${PYTHONPATH}
49 export PATH=\$OMNIORBDIR/bin/i586_linux_2.0_glibc2.1:\$PATH
50 export LD_LIBRARY_PATH=\$OMNIORBDIR/lib/i586_linux_2.0_glibc2.1:\$LD_LIBRARY_PATH 
51 ##
52 EOF
53 cat > ${PRODUCT_DIR}/.omniORB.cfg <<EOF
54 ORBInitRef NameService=corbaname::`hostname`:2809
55 EOF
56 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
57 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
58 }
59
60 # looks for the native product and collects it's environment (used by make_env())
61 try_native(){
62 check_version
63 if [ $? -eq 0 ] ; then
64     tmp="\${OMNIORBDIR}/bin/i586_linux_2.0_glibc2.1 ${OMNIORBDIR}/bin/i586_linux_2.0_glibc2.1 \${PATH} ${PATH}";  
65     path=`sort_path ${tmp}`
66     tmp="\${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1 ${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1 \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
67     ld_library_path=`sort_path ${tmp}`
68     tmp="\${OMNIORBDIR}/lib/python:\${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1 ${OMNIORBDIR}/lib/python:${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1 \${PYTHONPATH} ${PYTHONPATH}";  
69     pythonpath=`sort_path ${tmp}`
70     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
71 #$DELIM ${PRODUCT_TYPE} $DELIM
72 export OMNIORBDIR=${OMNIORBDIR}
73 export OMNIORB_CONFIG=\${OMNIORBDIR}/.omniORB.cfg
74 export PYTHONPATH=${pythonpath}
75 export PATH=${path}
76 export LD_LIBRARY_PATH=${ld_library_path}
77 ##
78 EOF
79     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
80     return 0
81 fi
82 return 1;
83 }
84
85 try_preinstalled(){
86 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
87 return $?
88 }
89
90 install_source()
91 {
92 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
93 source ${INSTALL_WORK}/$SHRC
94
95 check_jb tar xfz ${SOURCE_DIR}/omniORB-3.0.5.tar.gz -C ${INSTALL_ROOT}
96 check_jb tar xfz ${SOURCE_DIR}/omniORBpy-1.5.tar.gz -C ${PRODUCT_DIR}/src/lib
97 check_jb tar xfz ${SOURCE_DIR}/omniNotify12.tar.gz -C ${PRODUCT_DIR}/src/services
98
99 cd ${PRODUCT_DIR}/src
100 cp ../mk/platforms/i586_linux_2.0_glibc2.1.mk  ../mk/platforms/i586_linux_2.0_glibc2.1.mk-orig
101 sed -e "s%\#PYTHON = /usr/local/bin/python%PYTHON = ${PYTHONHOME}/bin/python%g" \
102     -e "s%CXX = /usr/bin/g++%CXX = `which g++`%g" \
103     -e "s%CC           = /usr/bin/gcc%CC           = `which gcc`%g" \
104     ../mk/platforms/i586_linux_2.0_glibc2.1.mk-orig > ../mk/platforms/i586_linux_2.0_glibc2.1.mk
105 cp ../config/config.mk ../config/config.mk-orig
106
107 sed -e "s%\#platform = i586_linux_2.0_glibc2.1%platform = i586_linux_2.0_glibc2.1%g" \
108     ../config/config.mk-orig > ../config/config.mk
109 GCC=`which gcc`
110 cat >> ${PRODUCT_DIR}/MAKEXPORTsrc.LOG <<EOF
111 used gcc=$GCC
112 EOF
113 check_job ${PRODUCT_DIR}/MAKEXPORTsrc.LOG make export 
114
115 cd ${PRODUCT_DIR}/src/lib/omniORBpy
116 cat >> ${PRODUCT_DIR}/MAKEXPORTomniORBpy.LOG <<EOF
117 used gcc=$GCC
118 EOF
119 check_job ${PRODUCT_DIR}/MAKEXPORTomniORBpy.LOG make export 
120
121 cd ${PRODUCT_DIR}/src/services
122 cat >> ${PRODUCT_DIR}/MAKEXPORTservices.LOG <<EOF
123 used gcc=$GCC
124 EOF
125 check_job ${PRODUCT_DIR}/MAKEXPORTservices.LOG make export 
126
127 cd ${PRODUCT_DIR}/src/services/omniNotify
128 cat >> ${PRODUCT_DIR}/MAKEXPORTnotify.LOG <<EOF
129 used gcc=$GCC
130 EOF
131 check_job ${PRODUCT_DIR}/MAKEXPORTnotify.LOG make export
132
133 ln -s ${PRODUCT_DIR} ${INSTALL_ROOT}/omni
134 print_env
135 }
136
137 install_binary()
138 {
139 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
140 source ${INSTALL_WORK}/$SHRC
141
142 check_jb tar xfz ${SOURCE_DIR}/omniORB-3.0.5.tar.gz -C ${INSTALL_ROOT}
143
144 ln -s ${PRODUCT_DIR} ${INSTALL_ROOT}/omni
145 print_env
146 }
147
148 export PROCEDURE=$1;
149 export INSTALL_WORK=$2;
150 export SOURCE_DIR=$3;
151 export INSTALL_ROOT=$4;
152 export PRODUCT_SEQUENCE=$5;
153 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="omni" ; fi
154 export PRODUCT="omniORB-3.0.5"
155 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
156 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
157 source ./common.sh
158 $PROCEDURE