]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
Preparing installation for Linux Mandrake-10.1
authorvsr <vsr@opencascade.com>
Thu, 26 May 2005 13:11:02 +0000 (13:11 +0000)
committervsr <vsr@opencascade.com>
Thu, 26 May 2005 13:11:02 +0000 (13:11 +0000)
20 files changed:
config_Mandrake10_1.xml [new file with mode: 0755]
config_files/BOOST-1.30.2.sh
config_files/BOOST-1.31.0.sh [new file with mode: 0755]
config_files/Numeric-23.7.sh [new file with mode: 0755]
config_files/PyQt-3.13.sh [new file with mode: 0755]
config_files/Python-2.3.4.sh [new file with mode: 0755]
config_files/SWIG-1.3.24.sh [new file with mode: 0755]
config_files/VTK-4.2.6.sh [new file with mode: 0755]
config_files/doxygen-1.3.7.sh [new file with mode: 0755]
config_files/gcc-3.4.sh [new file with mode: 0755]
config_files/graphviz-2.2.1.sh [new file with mode: 0755]
config_files/hdf5-1.6.3.sh [new file with mode: 0755]
config_files/med-2.2.2.sh
config_files/netgen-4.4.sh [new file with mode: 0755]
config_files/omniORB-4.0.5.sh [new file with mode: 0755]
config_files/qt-3.3.3.sh [new file with mode: 0755]
config_files/qwt-4.2.0.sh [new file with mode: 0755]
config_files/sip-4.1.sh [new file with mode: 0755]
config_files/tcltk8.4.5.sh [new file with mode: 0755]
runInstall

diff --git a/config_Mandrake10_1.xml b/config_Mandrake10_1.xml
new file mode 100755 (executable)
index 0000000..e278f35
--- /dev/null
@@ -0,0 +1,475 @@
+<document>
+  <config version="2.2.3"
+         caption="SALOME v%1"
+          copyright="&lt;h5>Copyright (C) 2003-2005 OPEN CASCADE,&lt;br>EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&amp;D,&lt;br>LEG, PRINCIPIA R&amp;D, BUREAU VERITAS&lt;/h5>"
+          license="&lt;h5>GNU LGPL&lt;/h5>"
+         os="Mandrake10.1"/>
+  <path targetdir="/tmp/salome"
+        tempdir="/tmp"/>
+  <product name="gcc" 
+           version="3.4.1" 
+           description="GNU Compiler Collection"
+           install="use native"
+          supported="use native"
+          disable="false"
+          dependancies=""
+          installdiskspace="0"
+          temporarydiskspace="0"
+          script="gcc-3.4.sh"/>
+  <product name="tcltk" 
+           version="8.4.5" 
+           description="Tcl/Tk library"
+           install="use native"
+          supported="use native"
+          disable="false"
+          dependancies="gcc"
+          installdiskspace="0"
+          temporarydiskspace="0"
+          script="tcltk8.4.5.sh"/>
+  <product name="Python" 
+           version="2.3.4" 
+           description="Python language interpreter"
+           install="use native"
+          supported="use native"
+          disable="false"
+          dependancies="gcc"
+          installdiskspace="0"
+          temporarydiskspace="0"
+          script="Python-2.3.4.sh"/>
+  <product name="Qt" 
+           version="3.3.3" 
+           description="Multiplatform C++ GUI application framework"
+           install="use native"
+          supported="use native"
+          disable="false"
+          dependancies="gcc"
+          installdiskspace="0"
+          temporarydiskspace="0"
+          script="qt-3.3.3.sh"/>
+  <product name="Sip"
+           version="4.1" 
+           description="C++ to Python bindings generation tool"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,Python,Qt"
+          installdiskspace="199"
+          temporarydiskspace="818"
+          script="sip-4.1.sh"/>
+  <product name="PyQt"
+           version="3.13" 
+           description="Python bindings for Qt library"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,Python,Qt,Sip"
+          installdiskspace="46618"
+          temporarydiskspace="52789"
+          script="PyQt-3.13.sh"/>
+  <product name="boost"
+           version="1.31.0" 
+           description="Free peer-reviewed portable STL extension"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc"
+          installdiskspace="38069"
+          temporarydiskspace="0"
+          script="BOOST-1.31.0.sh"/>
+  <product name="Swig" 
+           version="1.3.24" 
+           description="Simplified Wrapper and Interface Generator"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,Python,tcltk"
+          installdiskspace="1947"
+          temporarydiskspace="12308"
+          script="SWIG-1.3.24.sh"/>
+  <product name="OpenCascade" 
+           version="5.2" 
+           description="Open CASCADE version 5.2 with patch for SALOME 2.2.x"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies=""
+          installdiskspace="220800"
+          temporarydiskspace="2"
+          script="CAS-5.2.sh"/>
+  <product name="OpenCascade-patch" 
+           version="0.0" 
+           description="Patch for Open CASCADE version 5.2"
+           install="install sources"
+          supported="install sources"
+          disable="true"
+          dependancies=""
+          installdiskspace="69"
+          temporarydiskspace="0"
+          script="CAS-5.2-patch.sh"/>
+  <product name="Qwt" 
+           version="4.2.0" 
+           description="2-D plotting extension for Qt library"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,Qt"
+          installdiskspace="483"
+          temporarydiskspace="3579"
+          script="qwt-4.2.0.sh"/>
+  <product name="OmniORB"
+           version="4.0.5" 
+           description="Open source Object Request Broker (ORB) library that implements the 2.3 specification of the Common Object Request Broker Architecture (CORBA)"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,Python"
+          installdiskspace="342662"
+          temporarydiskspace="0"
+          script="omniORB-4.0.5.sh"/>
+  <product name="Hdf" 
+           version="5-1.6.3" 
+           description="Hierarchical Data Format library"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc"
+          installdiskspace="3163"
+          temporarydiskspace="24860"
+          script="hdf5-1.6.3.sh"/>
+  <product name="Med"
+           version="2.2.2" 
+           description="MED format interface library"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,Hdf"
+          installdiskspace="18215"
+          temporarydiskspace="38100"
+          script="med-2.2.2.sh"/>
+  <product name="Vtk"
+           version="4.2.6" 
+           description="Image processing, 3D graphics and visualization software system"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,tcltk,Python"
+          installdiskspace="39073"
+          temporarydiskspace="172034"
+          script="VTK-4.2.6.sh"/>
+  <product name="Numeric"
+           version="23.7" 
+           description="Numerical extension to Python"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,Python"
+          installdiskspace="2625"
+          temporarydiskspace="8340"
+          script="Numeric-23.7.sh"/>
+  <product name="HappyDoc"
+           version="2.1" 
+           description="Python source code documentation extracting tool"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="Python"
+          installdiskspace="1482"
+          temporarydiskspace="4186"
+          script="HappyDoc-r2_1.sh"/>
+  <product name="Doxygen"
+           version="1.3.7" 
+           description="Documentation system for C++, C, Java, IDL, etc."
+           install="use native"
+          supported="use native"
+          disable="false"
+          dependancies="gcc,Qt"
+          installdiskspace="6066"
+          temporarydiskspace="29083"
+          script="doxygen-1.3.7.sh"/>
+  <product name="Graphviz"
+           version="2.2.1" 
+           description="Graph Drawing Programs set"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc,tcltk"
+          installdiskspace="17724"
+          temporarydiskspace="61528"
+          script="graphviz-2.2.1.sh"/>
+  <product name="netgen" 
+           version="4.4" 
+           description="Quadrangle meshing algorithmic tool"
+           install="install binaries"
+          supported="install sources,install binaries"
+          disable="false"
+          dependancies="gcc"
+          installdiskspace="2936"
+          temporarydiskspace="8252"
+          script="netgen-4.4.sh"/>
+  <product name="KERNEL-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform KERNEL module sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,boost,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Qwt,Hdf,Med,Vtk,OmniORB,Sip,PyQt,Doxygen,Graphviz,HappyDoc"
+          installdiskspace="28814"
+          temporarydiskspace="0"
+           pickupenv="true"
+          script="KERNEL_SRC.sh"/>
+  <product name="KERNEL-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform KERNEL module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,boost,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Qwt,Hdf,Med,Vtk,OmniORB,Sip,PyQt,Doxygen,Graphviz,HappyDoc"
+          installdiskspace="58465"
+          temporarydiskspace="0"
+           pickupenv="true"
+          script="KERNEL_BIN.sh"/>
+  <product name="GEOM-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform GEOM modules sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Src"
+          installdiskspace="10619"
+          temporarydiskspace="0"
+          script="GEOM_SRC.sh"/>
+  <product name="GEOM-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform GEOM module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Bin"
+          installdiskspace="31703"
+          temporarydiskspace="0"
+          script="GEOM_BIN.sh"/>
+  <product name="MED-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform MED module sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Src"
+          installdiskspace="17744"
+          temporarydiskspace="0"
+          script="MED_SRC.sh"/>
+  <product name="MED-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform MED module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Bin"
+          installdiskspace="38484"
+          temporarydiskspace="0"
+          script="MED_BIN.sh"/>
+  <product name="SMESH-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform SMESH module sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,boost,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Src,GEOM-Src,MED-Src"
+          installdiskspace="10907"
+          temporarydiskspace="0"
+          script="SMESH_SRC.sh"/>
+  <product name="SMESH-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform SMEHS module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,boost,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Bin,GEOM-Bin,MED-Bin"
+          installdiskspace="36662"
+          temporarydiskspace="0"
+          script="SMESH_BIN.sh"/>
+  <product name="VISU-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform VISU module sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Qwt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Src,MED-Src"
+          installdiskspace="6558"
+          temporarydiskspace="0"
+          script="VISU_SRC.sh"/>
+  <product name="VISU-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform VISU module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Qwt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Bin,MED-Bin"
+          installdiskspace="20372"
+          temporarydiskspace="0"
+          script="VISU_BIN.sh"/>
+  <product name="SUPERV-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform SUPERV module sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Src"
+          installdiskspace="7476"
+          temporarydiskspace="0"
+          script="SUPERV_SRC.sh"/>
+  <product name="SUPERV-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform SUPERV module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Bin"
+          installdiskspace="53744"
+          temporarydiskspace="0"
+          script="SUPERV_BIN.sh"/>
+  <product name="COMPONENT-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform COMPONENT module sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Src"
+          installdiskspace="323"
+          temporarydiskspace="0"
+          script="COMPONENT_SRC.sh"/>
+  <product name="COMPONENT-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform COMPONENT module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Bin"
+          installdiskspace="14000"
+          temporarydiskspace="0"
+          script="COMPONENT_BIN.sh"/>
+  <product name="PYCALCULATOR-Src"
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform PYCALCULATOR module sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Src"
+          installdiskspace="147"
+          temporarydiskspace="0"
+          script="PYCALCULATOR_SRC.sh"/>
+  <product name="PYCALCULATOR-Bin"
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform PYCALCULATOR module"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,tcltk,OpenCascade,Python,Numeric,Swig,Qt,Hdf,Med,Vtk,OmniORB,Doxygen,Graphviz,HappyDoc,KERNEL-Bin"
+          installdiskspace="27"
+          temporarydiskspace="0"
+          script="PYCALCULATOR_BIN.sh"/>
+  <product name="NETGENplugin-Src" 
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform NETGEN meshing algorithm plugin sources"
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,netgen,KERNEL-Src,SMESH-Src"
+          installdiskspace="91"
+          temporarydiskspace="0"
+          script="NETGENPLUGIN_SRC.sh"/>
+  <product name="NETGENplugin-Bin" 
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform NETGEN meshing algorithm plugin"
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,netgen,KERNEL-Bin,SMESH-Bin"
+          installdiskspace="2467"
+          temporarydiskspace="0"
+          script="NETGENPLUGIN_BIN.sh"/>
+  <product name="GHS3Dplugin-Src" 
+           version="2.2.3" 
+           context="salome sources" 
+           description="SALOME platform GHS3D meshing algorithm plugin sources. For use this plugin you should add the path to ghs3d to your PATH environment variable."
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,KERNEL-Src,SMESH-Src"
+          installdiskspace="55"
+          temporarydiskspace="0"
+          script="GHS3DPLUGIN_SRC.sh"/>
+  <product name="GHS3Dplugin-Bin" 
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Precompiled SALOME platform GHS3D meshing algorithm plugin. For use this plugin you should add the path to ghs3d to your PATH environment variable."
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,KERNEL-Bin,SMESH-Bin"
+          installdiskspace="142"
+          temporarydiskspace="0"
+          script="GHS3DPLUGIN_BIN.sh"/>
+  <product name="Hello-Src" 
+           version="2.2.3" 
+           context="salome sources" 
+           description="Example SALOME C++ module (sources): Hello."
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,KERNEL-Src"
+          installdiskspace="118"
+          temporarydiskspace="0"
+          script="HELLO_SRC.sh"/>
+  <product name="Hello-Bin" 
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Example SALOME C++ module (binaries): Hello."
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,KERNEL-Src"
+          installdiskspace="1933"
+          temporarydiskspace="0"
+          script="HELLO_BIN.sh"/>
+  <product name="PyHello-Src" 
+           version="2.2.3" 
+           context="salome sources" 
+           description="Example SALOME Python module (sources): Hello."
+           install="install sources"
+          supported="install sources"
+          disable="false"
+          dependancies="gcc,KERNEL-Src"
+          installdiskspace="182"
+          temporarydiskspace="0"
+          script="PYHELLO_SRC.sh"/>
+  <product name="PyHello-Bin" 
+           version="2.2.3" 
+           context="salome binaries" 
+           description="Example SALOME Python module (binaries): Hello."
+           install="install binaries"
+          supported="install binaries"
+          disable="false"
+          dependancies="gcc,KERNEL-Src"
+          installdiskspace="31"
+          temporarydiskspace="0"
+          script="PYHELLO_BIN.sh"/>
+</document>
index 75007c557ebafd783a7f168909021343b0a402ba..169f69906a4d4a833c1027a4ff1b4a02a41329d7 100755 (executable)
@@ -21,7 +21,7 @@ make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 
 # looks for the native product and collects it's environment (used by make_env())
 try_native(){
-echo "It is impossible to use native BOOST now. Sorry."
+echo "It is impossible to use native BOOST."
 return 1
 }
 
diff --git a/config_files/BOOST-1.31.0.sh b/config_files/BOOST-1.31.0.sh
new file mode 100755 (executable)
index 0000000..c25c08e
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+check_version(){
+if [ -n "${BOOSTDIR}" ]; then
+    ver=`egrep 'BOOST_VERSION [0-9]+' ${BOOSTDIR}/boost/version.hpp | sed 's/.*BOOST_VERSION \([0-9]\+\)/\1/g'`
+    if [ "$ver" = "103100" ]; then
+       return 0
+    fi
+fi
+return 1;
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM 
+export BOOSTDIR=\${INSTALL_ROOT}/${PRODUCT}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+echo "It is impossible to use native BOOST 1.31.0"
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/boost-1.31.0.tgz -C ${INSTALL_ROOT}
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+echo "It impossible to install BOOST 1.31.0 from binaries, try to install it from sources."
+return 1
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="boost" ; fi
+export PRODUCT="boost-1.31.0"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE
diff --git a/config_files/Numeric-23.7.sh b/config_files/Numeric-23.7.sh
new file mode 100755 (executable)
index 0000000..1aec479
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/sh
+
+check_version(){
+ver=`python -c 'import Numeric; print Numeric.__version__' 2>/dev/null`
+if [ "$ver" == "23.7" ]; then
+   return 0
+fi
+return 1
+}
+
+print_env(){
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PYTHONPATH=\${INSTALL_ROOT}/${PRODUCT}/lib/python\${PYTHON_VERSION}/site-packages/Numeric:\${PYTHONPATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    pythonpath="`find_in_path Numeric.py ${PYTHONPATH}`"
+    tmp="${pythonpath} ${pythonpath} \${PYTHONPATH} ${PYTHONPATH}";  
+    pythonpath=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PYTHONPATH=${pythonpath}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+makedir ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/Numeric-23.7.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+
+# check existence of lapack, f77blas, cblas, atlas libraries
+found=1
+check_lib_version liblapack.so
+if [ "$?" -ne "0" ] ; then
+  found=0
+fi
+if [ "$found" -eq "1" ] ; then
+    check_lib_version libf77blas.so
+    if [ "$?" -ne "0" ] ; then
+       found=0
+    fi
+fi
+if [ "$found" -eq "1" ] ; then
+    check_lib_version libcblas.so
+    if [ "$?" -ne "0" ] ; then
+       found=0
+    fi
+fi
+if [ "$found" -eq "1" ] ; then
+    check_lib_version libatlas.so
+    if [ "$?" -ne "0" ] ; then
+       found=0
+    fi
+fi
+# if any library is not found modify build procedure
+if [ "$found" -eq "0" ] ; then
+    cp setup.py setup.py.orig
+    sed -e "s%^use_dotblas = 1%use_dotblas = 0%g" -e "s%^libraries_list = \['lapack', 'cblas', 'f77blas', 'atlas', 'g2c'\]%libraries_list = \['g2c'\]%g" setup.py.orig > setup.py
+    chmod a+x setup.py
+fi
+
+check_job ${PRODUCT_DIR}/INSTALL.LOG python setup.py install --prefix=${PRODUCT_DIR}
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+check_jb tar xfz ${SOURCE_DIR}/Numeric-23.7.tar.gz -C ${INSTALL_ROOT}
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="numeric" ; fi
+export PRODUCT="Numeric-23.7"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/PyQt-3.13.sh b/config_files/PyQt-3.13.sh
new file mode 100755 (executable)
index 0000000..bf6349d
--- /dev/null
@@ -0,0 +1,121 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -n "${PYQTDIR}" ]; then
+    check_lib_version qt.so $PYQTDIR
+    if [ "$?" -eq "0" ]; then
+       return 0
+    fi
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PYQTDIR=\${INSTALL_ROOT}/${PRODUCT}
+export PYQT_SIPS=\${PYQTDIR}/sip
+export PATH=\${PYQTDIR}:\$PATH 
+export PYTHONPATH=\${PYQTDIR}:\${PYTHONPATH}
+export LD_LIBRARY_PATH=\${PYQTDIR}:\$LD_LIBRARY_PATH 
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+pyqtdir="`find_in_path pyuic ${PATH}`"
+if [ -z "${pyqtdir}" ] ; then
+    pyqtdir="`find_in_path pyuic /usr/bin`"
+fi
+if [ -n "${pyqtdir}" ] ; then
+    pyqt_sips=${pyqtdir}/sip
+    if [ ! -d "${pyqt_sips}" ] ; then
+       pyqt_sips="/usr/share/sip/qt"
+       if [ ! -d "${pyqt_sips}" ] ; then
+           return 1
+       fi
+    fi
+    python_version="`python -c 'import sys; print sys.version[:3]'`"
+    pythonpath="`find_in_path qt.so ${PYTHONPATH}`"
+    if [ -z "${pythonpath}" ] ; then
+       pythonpath="`find_in_path qt.so /usr/lib/python${python_version}/site-packages`"
+    fi
+    if [ -n "${pythonpath}" ] ; then
+       tmp="${pyqtdir} ${pyqtdir} \${PATH} ${PATH}";  
+       path=`sort_path ${tmp}`
+       tmp="${pythonpath} ${pythonpath} \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+       ld_library_path=`sort_path ${tmp}`
+       tmp="${pythonpath} ${pythonpath} \${PYTHONPATH} ${PYTHONPATH}";  
+       pythonpath=`sort_path ${tmp}`
+       cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PYQT_SIPS=${pyqt_sips}
+export PATH=${path}
+export PYTHONPATH=${pythonpath}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+       make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+       return 0
+    fi
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+makedir ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/PyQt-3.13.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+
+sed -e 's%check_license()$%#check_license()%g' configure.py > configure.py.new
+mv -f configure.py.new configure.py
+
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
+    python configure.py -b ${PRODUCT_DIR -d ${PRODUCT_DIR} -v ${PRODUCT_DIR/sip
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/PyQt-3.13.tar.gz -C ${INSTALL_ROOT}
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="pyqt" ; fi
+export PRODUCT="PyQt-3.13"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/Python-2.3.4.sh b/config_files/Python-2.3.4.sh
new file mode 100755 (executable)
index 0000000..23f68b0
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -z "$PYTHONHOME"  ]; then
+   return 1
+fi
+isPython=`which python 2>/dev/null`
+if [ -n isPython ]; then
+  # version number is calculated as: <major>*10000+<minor>*100+<release>
+  # e.g. for Python 2.3.4 it is equal to 20304
+  ver=`python -V 2>&1`
+  ver=`echo $ver | awk '{print $2}' | awk -F. '{v1=0;v2=0;v3=0;if(NF>0)v1=$1;if(NF>1)v2=$2;if(NF>2)v3=$3;print v1*10000+v2*100+v3}'`
+  if [ $ver -eq 20304 ] ;  then 
+    return 0
+  fi
+fi
+return 1 
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PYTHONHOME=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${PYTHONHOME}/bin:\${PATH}
+export PYTHON_VERSION=\`python -c "import sys; print sys.version[:3]"\`
+export PYTHON_INCLUDE=\${PYTHONHOME}/include/python\${PYTHON_VERSION}
+export PYTHONPATH=\${PYTHONHOME}/lib/python\${PYTHON_VERSION}:\${PYTHONPATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+pythonhome="`find_in_path python ${PATH}`"
+if [ -z "${pythonhome}" ] ; then
+    pythonhome="`find_in_path python /usr/bin`"
+fi
+if [ -n "${pythonhome}" ] ; then
+    pythonhome=`cd ${pythonhome}/..; pwd`
+    # get version number: <major>, <minor> and <release>
+    # <major> and <minor> numbers are checked strickly, but <release> number can be larger than required one
+    # version number is calculated as: <major>*10000+<minor>*100+<release>
+    # e.g. for Python 2.3.4 it is equal to 20304
+    ver=`python -V 2>&1`
+    maj_ver=`echo $ver | awk '{print $2}' | awk -F. '{if(NF>0) print $1; else print 0}'`
+    min_ver=`echo $ver | awk '{print $2}' | awk -F. '{if(NF>1) print $2; else print 0}'`
+    rel_ver=`echo $ver | awk '{print $2}' | awk -F. '{if(NF>2) print $3; else print 0}'`
+    let ver=$maj_ver*10000+$min_ver*100+$rel_ver
+    if [ $ver -ge 20304 ] ;  then 
+       tmp="\${PYTHONHOME}/bin ${pythonhome}/bin \${PATH} ${PATH}";  
+       path=`sort_path ${tmp}`
+       tmp="\${PYTHONHOME}/lib/python\${PYTHON_VERSION} ${pythonhome}/lib/python${maj_ver}.${min_ver} \${PYTHONPATH} ${PYTHONPATH}";  
+       pythonpath=`sort_path ${tmp}`
+       cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PYTHONHOME=${pythonhome}
+export PATH=${path}
+export PYTHON_VERSION=\`python -c "import sys; print sys.version[:3]"\`
+export PYTHON_INCLUDE=\${PYTHONHOME}/include/python\${PYTHON_VERSION}
+export PYTHONPATH=${pythonpath}
+##
+EOF
+       make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+#######       THIS COULD BE USED FOR STRICT COMPARISON  ##############################
+#      if [ $maj_ver -eq 2 ] && [ $min_ver -eq 3 ] && [ $rel_ver -eq 4 ] ;  then 
+######################################################################################
+       if [ $maj_ver -eq 2 ] && [ $min_ver -eq 3 ] && [ $rel_ver -ge 4 ] ;  then 
+           return 0
+       else
+           return 2
+       fi
+    fi
+fi
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+echo "The installation of Python 2.3.4 from sources is not provided! Use native Python."
+return 1
+}
+
+install_binary()
+{
+echo "The installation of Python 2.3.4 from binaries is not provided! Use native gcc."
+return 1
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="python" ; fi
+export PRODUCT="Python-2.3.4"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+${PROCEDURE}
\ No newline at end of file
diff --git a/config_files/SWIG-1.3.24.sh b/config_files/SWIG-1.3.24.sh
new file mode 100755 (executable)
index 0000000..74ffa6f
--- /dev/null
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+check_version(){
+if [ -n "`which swig 2>/dev/null`" ]; then
+    ver=`swig -version 2>&1 | grep -i version | awk '{ print $3 }' | sed -e 's/^\([0-9.]*\)\(.*\)/\1/'`
+    if [ "$ver" == "1.3.24" ] ;  then 
+       return 0;
+    fi
+fi
+return 1;
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM 
+export SWIG_ROOT=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${SWIG_ROOT}/bin:\${PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+swig_root="`find_in_path swig ${PATH}`"
+if [ -z "${swig_root}" ] ; then
+    swig_root="`find_in_path swig /usr/bin`"
+fi
+if [ -n "${swig_root}" ] ; then
+    swig_root=`cd ${swig_root}/..; pwd`
+    ver=`swig -version 2>&1 | grep -i version | awk '{ print $3 }' | sed -e 's/^\([0-9.]*\)\(.*\)/\1/'`
+    if [ "$ver" == "1.3.24" ] ;  then 
+       tmp="\${SWIG_ROOT}/bin ${swig_root}/bin \${PATH} ${PATH}";
+       path=`sort_path ${tmp}`
+       cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM 
+export SWIG_ROOT=${swig_root}
+export PATH=${path}
+#
+EOF
+       make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+       return 0;
+    fi
+fi
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/swig-1.3.24.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+makedir ${PRODUCT_DIR}
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
+  ./configure --prefix=${PRODUCT_DIR} 
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install 
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+echo "It impossible to install SWIG 1.3.24 from binaries, try to install it from sources."
+return 1
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="swig" ; fi
+export PRODUCT="SWIG-1.3.24"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE
\ No newline at end of file
diff --git a/config_files/VTK-4.2.6.sh b/config_files/VTK-4.2.6.sh
new file mode 100755 (executable)
index 0000000..5d62b0e
--- /dev/null
@@ -0,0 +1,173 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -z "$VTKHOME" ]; then
+   return 1 
+fi
+check_lib_version libvtkCommon.so ${VTKHOME}/lib/vtk
+if [ "$?" -eq "0" ]; then
+   return 0
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export VTKHOME=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${VTKHOME}/bin:\${PATH}
+export LD_LIBRARY_PATH=\${VTKHOME}/lib/vtk:\${LD_LIBRARY_PATH}
+export PYTHONPATH=\${VTKHOME}/lib/vtk:\${VTKHOME}/lib/python\${PYTHON_VERSION}/site-packages/vtk_python:\${PYTHONPATH}
+export TCLLIBPATH="\${VTKHOME}/lib/vtk/tcl \${TCLLIBPATH}"
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    python_version="`python -c 'import sys; print sys.version[:3]'`"
+    tmp="\${VTKHOME}/bin ${VTKHOME}/bin \${PATH} ${PATH}";  
+    path=`sort_path ${tmp}`
+    tmp="\${VTKHOME}/lib/vtk ${VTKHOME}/lib/vtk \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+    ld_library_path=`sort_path ${tmp}`
+    tmp="\${VTKHOME}/lib/vtk:\${VTKHOME}/lib/python${PYTHON_VERSION}/site-packages/vtk_python ${VTKHOME}/lib/vtk:${VTKHOME}/lib/python${python_version}/site-packages/vtk_python \${PYTHONPATH} ${PYTHONPATH}";  
+    python_path=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export VTKHOME=${VTKHOME}
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+export PYTHONPATH=${python_path}
+export TCLLIBPATH="\${VTKHOME}/lib/vtk/tcl \${TCLLIBPATH}"
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+makedir ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/cmake-1.6.6.tar.gz -C ${INSTALL_WORK}
+cd ${INSTALL_WORK}/cmake-1.6.6
+check_job ${PRODUCT_DIR}/CONFIGUREcmake.LOG ./configure
+cat >> ${PRODUCT_DIR}/MAKEcmake.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKEcmake.LOG make
+
+check_jb tar xfz ${SOURCE_DIR}/VTK-4.2.6.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+
+# apply a small patch for VTK (needed for gcc-3.4)
+sed -e "s%seekg(self->GetFile()->tellg()%seekg(static_cast<long>(self->GetFile()->tellg())%g" IO/vtkBMPReader.cxx > IO/vtkBMPReader.cxx.orig
+mv -f IO/vtkBMPReader.cxx.orig IO/vtkBMPReader.cxx
+sed -e "s%seekg(self->GetFile()->tellg()%seekg(static_cast<long>(self->GetFile()->tellg())%g" IO/vtkImageReader.cxx > IO/vtkImageReader.cxx.orig
+mv -f IO/vtkImageReader.cxx.orig IO/vtkImageReader.cxx
+
+# get Python and tcl/tk version
+python_version="`python -c 'import sys; print sys.version[:3]'`"
+tcl_version="`find ${TCLHOME}/lib -name 'libtcl*.so' | awk '/libtcl[0-9.]+.so/ { print $0}' | sed -e 's%^.*libtcl\([0-9\.]*\)\.so%\1%'`"
+    
+VTK_CMAKE_OPTIONS=""
+### common VTK settings
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DBUILD_SHARED_LIBS:BOOL=ON"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Release"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DCMAKE_C_COMPILER:STRING=`which gcc`"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_DIR}"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_HYBRID:BOOL=ON"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_PARALLEL:BOOL=ON"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_PATENTED:BOOL=OFF" 
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_RENDERING:BOOL=ON"
+### Wrap Python settings
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_WRAP_PYTHON:BOOL=ON"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DPYTHON_EXECUTABLE:STRING=${PYTHONHOME}/bin/python${python_version}"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DPYTHON_INCLUDE_PATH:STRING=${PYTHONHOME}/include/python${python_version}"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DPYTHON_LIBRARY:STRING=${PYTHONHOME}/lib/python${python_version}/config/libpython${python_version}.a"
+### Wrap Tcl settings
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_WRAP_TCL:BOOL=ON"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_INCLUDE_PATH:STRING=${TCLHOME}/include"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_LIBRARY:STRING=${TCLHOME}/lib/libtcl${tcl_version}.so"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_STUB_LIBRARY:STRING=${TCLHOME}/lib/libtclstub${tcl_version}.a"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_TCLSH:STRING=${TCLHOME}/bin/tclsh"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_INCLUDE_PATH:STRING=${TCLHOME}/include"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_LIBRARY:STRING=${TCLHOME}/lib/libtk${tcl_version}.so"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_STUB_LIBRARY:STRING=${TCLHOME}/lib/libtkstub${tcl_version}.a"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_WISH:STRING=${TCLHOME}/bin/wish"
+### if Mesa is pre-installed
+if [ -n "$MESA_HOME" ]; then
+  VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_INCLUDE_DIR:STRING=${MESA_HOME}/include"
+  VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_gl_LIBRARY:STRING=${MESA_HOME}/lib/libGL.so"
+  VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_glu_LIBRARY:STRING=${MESA_HOME}/lib/libGLU.so"
+  VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_xmesa_INCLUDE_DIR:STRING=${MESA_HOME}/include"
+fi
+
+cat > ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
+used VTK settings:
+$VTK_CMAKE_OPTIONS
+EOF
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG ${INSTALL_WORK}/cmake-1.6.6/Source/cmake . $VTK_CMAKE_OPTIONS
+
+cat > ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+
+cd ${PRODUCT_WORK}/Wrapping/Python
+check_job ${PRODUCT_DIR}/SETUPPYTHON.LOG python setup.py install --prefix=${PRODUCT_DIR}
+
+rm -fr ${PRODUCT_WORK} ${INSTALL_WORK}/cmake-1.6.6
+
+# set correct symbolic links - bug of python wrappings installation
+cd ${PRODUCT_DIR}/lib/python${python_version}/site-packages/vtk_python
+ln -sf ../../../vtk/*Python*.so .
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+if [ -n "$MESA_HOME" ]; then
+  check_jb tar xfz ${SOURCE_DIR}/VTK-4.2.6-with-Mesa.tar.gz -C ${INSTALL_ROOT}
+else
+  check_jb tar xfz ${SOURCE_DIR}/VTK-4.2.6.tar.gz -C ${INSTALL_ROOT}
+fi
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="vtk" ; fi
+export PRODUCT="VTK-4.2.6"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/doxygen-1.3.7.sh b/config_files/doxygen-1.3.7.sh
new file mode 100755 (executable)
index 0000000..284fbd7
--- /dev/null
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+check_version()
+{
+check_lib_version doxygen $PATH
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+check_lib_version doxysearch $PATH
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+check_lib_version doxytag $PATH
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+check_lib_version doxywizard $PATH
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+ver=`doxygen --version`
+if [ "$ver" == "1.3.7" ]; then
+    return 0
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PATH=\${INSTALL_ROOT}/${PRODUCT}/bin:\${PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    doxygen="`find_in_path doxygen ${PATH}`"
+    tmp="${doxygen} ${doxygen} \${PATH} ${PATH}";  
+    path=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PATH=${path}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+echo "The installation of doxygen 1.3.7 from sources is not provided! Use native doxygen."
+return 1
+}
+
+install_binary()
+{
+echo "The installation of doxygen 1.3.7 from sources is not provided! Use native doxygen."
+return 1
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="doxygen" ; fi
+export PRODUCT="doxygen-1.3.7"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/gcc-3.4.sh b/config_files/gcc-3.4.sh
new file mode 100755 (executable)
index 0000000..db364ac
--- /dev/null
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+check_version(){
+# version number is calculated as: <major>*10000+<minor>*100+<release>
+# e.g. for gcc 3.2 it is equal to 30200, for gcc 3.4.1 - 30401
+gcc_ver=`gcc -dumpversion | awk -F. '{v1=0;v2=0;v3=0;if(NF>0)v1=$1;if(NF>1)v2=$2;if(NF>2)v3=$3;print v1*10000+v2*100+v3}'`
+if [ $gcc_ver -eq 30401 ]  ; then
+    return 0
+fi
+return 1
+}
+
+print_env(){
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export GCC_ROOT=\${INSTALL_ROOT}/${PRODUCT}
+export CXX=\${GCC_ROOT}/bin/g++
+export CC=\${GCC_ROOT}/bin/gcc
+export PATH=\${GCC_ROOT}/bin:\${PATH}
+export LD_LIBRARY_PATH=\${GCC_ROOT}/lib:\${LD_LIBRARY_PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+gcc_root="`find_in_path gcc ${PATH}`"
+if [ -z "${gcc_root}" ] ; then
+    gcc_root="`find_in_path gcc /usr/bin`"
+fi
+if [ -n "${gcc_root}" ] ; then
+    gcc_root=`cd ${gcc_root}/..; pwd`
+    # get version number: <major>, <minor> and <release>
+    # <major> and <minor> numbers are checked strickly, but <release> number can be larger than required one
+    # version number is calculated as: <major>*10000+<minor>*100+<release>
+    # e.g. for gcc 3.2 it is equal to 30200, for gcc 3.4.1 - 30401
+    maj_ver=`gcc -dumpversion | awk -F. '{if(NF>0) print $1; else print 0}'`
+    min_ver=`gcc -dumpversion | awk -F. '{if(NF>1) print $2; else print 0}'`
+    rel_ver=`gcc -dumpversion | awk -F. '{if(NF>2) print $3; else print 0}'`
+    let gcc_ver=$maj_ver*10000+$min_ver*100+$rel_ver
+    if [ $gcc_ver -ge 30401 ]  ; then
+       tmp="\${GCC_ROOT}/bin ${gcc_root}/bin \${PATH} ${PATH}";  
+       path=`sort_path ${tmp}`
+       tmp="\${GCC_ROOT}/lib ${gcc_root}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+       ld_library_path=`sort_path ${tmp}`
+       cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export GCC_ROOT=${gcc_root}
+export CXX=\${GCC_ROOT}/bin/g++
+export CC=\${GCC_ROOT}/bin/gcc
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+       make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+#######       THIS COULD BE USED FOR STRICT COMPARISON  ##############################
+#      if [ $maj_ver -eq 3 ] && [ $min_ver -eq 4 ] && [ $rel_ver -eq 1 ] ;  then 
+######################################################################################
+       if [ $maj_ver -eq 3 ] && [ $min_ver -eq 4 ] && [ $rel_ver -ge 1 ] ;  then 
+           return 0
+       else
+           return 2
+       fi
+   fi
+fi
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+echo "The installation of gcc 3.4.1 from sources is not provided! Use native gcc."
+return 1
+}
+
+install_binary()
+{
+echo "The installation of gcc 3.4.1 from binaries is not provided! Use native gcc."
+return 1
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="gcc" ; fi
+export PRODUCT="gcc-3.4.1"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
\ No newline at end of file
diff --git a/config_files/graphviz-2.2.1.sh b/config_files/graphviz-2.2.1.sh
new file mode 100755 (executable)
index 0000000..a3e7550
--- /dev/null
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+check_version()
+{
+ver=`dot -V 2>&1 | awk '{print $3}'`
+if [ "$ver" == "2.2.1" ]; then
+   return 0
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PATH=\${INSTALL_ROOT}/${PRODUCT}/bin:\${PATH}
+export LD_LIBRARY_PATH=\${INSTALL_ROOT}/${PRODUCT}/lib/graphviz:\${LD_LIBRARY_PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    dot="`find_in_path dot ${PATH}`"
+    dot=`cd ${dot}/..; pwd`
+    tmp="${dot}/bin ${dot}/bin \${PATH} ${PATH}";  
+    path=`sort_path ${tmp}`
+    tmp="${dot}/lib/graphviz ${dot}/lib/graphviz \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+    ld_library_path=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/graphviz-2.2.1.tar.gz -C ${INSTALL_WORK}
+
+cd ${PRODUCT_WORK}
+makedir ${PRODUCT_DIR}
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG configure --prefix=${PRODUCT_DIR} --with-tcl=${TCLHOME} --disable-rpath 
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/graphviz-2.2.1.tar.gz -C ${INSTALL_ROOT}
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="graphviz" ; fi
+export PRODUCT="graphviz-2.2.1"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/hdf5-1.6.3.sh b/config_files/hdf5-1.6.3.sh
new file mode 100755 (executable)
index 0000000..cc0fd2a
--- /dev/null
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -z "$HDF5HOME" ]; then
+    return 1 
+fi
+check_lib_version libhdf5.so.0.0.0 ${HDF5HOME}/lib
+if [ "$?" -ne "0" ]; then
+    return 1
+fi
+check_lib_version libhdf5.settings ${HDF5HOME}/lib
+if [ "$?" -eq "0" ]; then
+    ver=`grep "HDF5 Version:" ${HDF5HOME}/lib/libhdf5.settings | awk '{print $3}'` 
+    if [ "$ver" = "1.6.3" ]; then 
+       return 0
+    fi
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export HDF5HOME=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${HDF5HOME}/bin:\$PATH
+export LD_LIBRARY_PATH=\${HDF5HOME}/lib:\${LD_LIBRARY_PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    tmp="\${HDF5HOME}/bin ${HDF5HOME}/bin \${PATH} ${PATH}";  
+    path=`sort_path ${tmp}`
+    tmp="\${HDF5HOME}/lib ${HDF5HOME}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+    ld_library_path=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export HDF5HOME=${HDF5HOME}
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/hdf5-1.6.3.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+makedir ${PRODUCT_DIR}
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
+    ./configure --prefix=${PRODUCT_DIR} -disable-debug --enable-production --enable-threadsafe --enable-hdf5v1_2 \
+       --enable-stream-vfd --disable-hsizet --with-pthread=/usr/include,/usr/lib 
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make 
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/hdf5-1.6.3.tar.gz -C ${INSTALL_ROOT}
+
+### modify libhdf5.la file to correct direct path to hdf5 library
+### no need to do this for sources installation because 'make install' does it!
+cd ${PRODUCT_DIR}/lib
+sed -e "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib'%g" libhdf5.la > libhdf5.la.new
+mv -f libhdf5.la.new libhdf5.la
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="hdf" ; fi
+export PRODUCT="hdf5-1.6.3"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
index a1e379a8084d7503f13e79c3e91152490b63e95c..aaf13ee92709424a20fc144cbdbc0859f67e4221 100755 (executable)
@@ -71,7 +71,7 @@ used gcc=$GCC
 EOF
 
 check_job ${PRODUCT_DIR}/MAKE.LOG make
-check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install
 
 rm -fr ${PRODUCT_WORK}
 
diff --git a/config_files/netgen-4.4.sh b/config_files/netgen-4.4.sh
new file mode 100755 (executable)
index 0000000..8c7c804
--- /dev/null
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+check_version()
+{
+# check existance of netgen
+# unfortunarely we can't find anything about netgen version
+if [ -n "$NETGENROOT" ]; then
+  return 0
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export NETGENHOME=\${INSTALL_ROOT}/${PRODUCT}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export NETGENHOME=\${NETGENROOT}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+makedir ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/netgen-4.4.tar.gz -C ${INSTALL_WORK}
+
+export MACHINE=LINUX
+
+for directory in csg general geom2d gprim interface linalg meshing opti stlgeom ; do
+    cd ${PRODUCT_WORK}/libsrc/${directory}
+    check_job ${PRODUCT_DIR}/MAKE.LOG make
+done
+
+mkdir -p ${PRODUCT_DIR}/lib/LINUX
+cp -f ${PRODUCT_WORK}/lib/LINUX/* ${PRODUCT_DIR}/lib/LINUX
+mkdir -p ${PRODUCT_DIR}/include
+cp -f ${PRODUCT_WORK}/libsrc/interface/nglib.h ${PRODUCT_DIR}/include
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/netgen-4.4.tar.gz -C ${INSTALL_ROOT}
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="netgen" ; fi
+export PRODUCT="netgen-4.4"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/omniORB-4.0.5.sh b/config_files/omniORB-4.0.5.sh
new file mode 100755 (executable)
index 0000000..a1b4a01
--- /dev/null
@@ -0,0 +1,159 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -z "${OMNIORBDIR}" ]; then
+   #echo "OMNIORBDIR doesn't set"
+   return 1
+fi
+python_version="`python -c 'import sys; print sys.version[:3]'`"
+check_lib_version libomniORB4.so.0.5 ${OMNIORBDIR}/lib
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+check_lib_version _omnipymodule.so.2.4 ${OMNIORBDIR}/lib/python${python_version}/site-packages
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+check_lib_version libCOSNotify4.so.0.1 ${OMNIORBDIR}/lib
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+check_lib_version notifd ${OMNIORBDIR}/bin
+if [ "$?" -ne "0" ]; then
+   return 1
+fi
+return 0
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export OMNIORBDIR=\${INSTALL_ROOT}/${PRODUCT}
+export OMNIORB_CONFIG=\${OMNIORBDIR}/.omniORB.cfg
+export PYTHONPATH=\${OMNIORBDIR}/lib:\${OMNIORBDIR}/lib/python\${PYTHON_VERSION}/site-packages:\${PYTHONPATH}
+export PATH=\$OMNIORBDIR/bin:\$PATH
+export LD_LIBRARY_PATH=\$OMNIORBDIR/lib:\$LD_LIBRARY_PATH 
+##
+EOF
+cat > ${PRODUCT_DIR}/.omniORB.cfg <<EOF
+InitRef = NameService=corbaname::`hostname`:2810
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    python_version="`python -c 'import sys; print sys.version[:3]'`"
+    tmp="\${OMNIORBDIR}/bin ${OMNIORBDIR}/bin \${PATH} ${PATH}";  
+    path=`sort_path ${tmp}`
+    tmp="\${OMNIORBDIR}/lib ${OMNIORBDIR}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+    ld_library_path=`sort_path ${tmp}`
+    tmp="\${OMNIORBDIR}/lib:\${OMNIORBDIR}/lib/python\${PYTHON_VERSION}/site-packages ${OMNIORBDIR}/lib:${OMNIORBDIR}/lib/python${python_version}/site-packages \${PYTHONPATH} ${PYTHONPATH}";  
+    pythonpath=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export OMNIORBDIR=${OMNIORBDIR}
+export OMNIORB_CONFIG=\${OMNIORBDIR}/.omniORB.cfg
+export PYTHONPATH=${pythonpath}
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+makedir ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/omniORB-4.0.5.tar.gz -C ${INSTALL_WORK}
+check_jb tar xfz ${SOURCE_DIR}/omniORBpy-2.5.tar.gz -C ${INSTALL_WORK}
+check_jb tar xfz ${SOURCE_DIR}/omniNotify-2.1.tar.gz -C ${INSTALL_WORK}
+
+# install omniORB
+cd ${INSTALL_WORK}/omniORB-4.0.5
+mkdir build
+cd build
+
+check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORB.LOG \
+    ../configure --prefix=${PRODUCT_DIR}
+
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE_OMNIORB.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE_OMNIORB.LOG make
+check_job ${PRODUCT_DIR}/INSTALL_OMNIORB.LOG make install
+
+# install omniORBpy
+cd ${INSTALL_WORK}/omniORBpy-2.5
+mkdir build
+cd build
+
+check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORBPY.LOG \
+    ../configure --prefix=${PRODUCT_DIR}
+
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG make
+check_job ${PRODUCT_DIR}/INSTALL_OMNIORBPY.LOG make install
+
+# install omniNotify
+cd ${INSTALL_WORK}/omniNotify
+mkdir build
+cd build
+
+check_job ${PRODUCT_DIR}/CONFIGURE_OMNINOTIFY.LOG \
+    ../configure --prefix=${PRODUCT_DIR}
+
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG make
+check_job ${PRODUCT_DIR}/INSTALL_OMNINOTIFY.LOG make install
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/omniORB-4.0.5.tar.gz -C ${INSTALL_ROOT}
+
+ln -s ${PRODUCT_DIR} ${INSTALL_ROOT}/omni
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="omni" ; fi
+export PRODUCT="omniORB-4.0.5"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/qt-3.3.3.sh b/config_files/qt-3.3.3.sh
new file mode 100755 (executable)
index 0000000..47ec930
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/sh
+
+check_version(){
+if [ -z "$QTDIR" ]; then
+   return 1
+fi
+check_lib_version libqt-mt.so.3.3.3 ${QTDIR}/lib
+if [ "$?" -eq "0" ] ; then
+    return 0
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export QTDIR=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${QTDIR}/bin:\$PATH 
+export LD_LIBRARY_PATH=\${QTDIR}/lib:\${LD_LIBRARY_PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+qtdir="`find_in_path libqt-mt.so.3.3.3 ${LD_LIBRARY_PATH}`"
+if [ -z "${qtdir}" ] ; then
+    qtdir="`find_in_path libqt-mt.so.3.3.3 /usr/lib/qt3`"
+fi
+if [ -n "${qtdir}" ] ; then
+    qtdir=`cd ${qtdir}/..; pwd`
+    moc="`find_in_path moc ${qtdir}/bin`"
+    uic="`find_in_path uic ${qtdir}/bin`"
+    if [ -n "${moc}" ] && [ -n "${uic}" ] ; then
+       tmp="\${QTDIR}/bin ${qtdir}/bin \${PATH} ${PATH}";  
+       path=`sort_path ${tmp}`
+       tmp="\${QTDIR}/lib ${qtdir}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+       ld_library_path=`sort_path ${tmp}`
+       cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export QTDIR=${qtdir}
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+       make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+       return 0
+    fi
+fi
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+echo "The installation of Qt 3.3.3 from sources is not provided! Use native Qt."
+return 1
+}
+
+install_binary()
+{
+echo "The installation of Qt 3.3.3 from binaries is not provided! Use native Qt."
+return 1
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="qt" ; fi
+export PRODUCT="qt-3.3.3"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/qwt-4.2.0.sh b/config_files/qwt-4.2.0.sh
new file mode 100755 (executable)
index 0000000..d0c7f4b
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -n "${QWTHOME}" ]; then
+    check_lib_version libqwt.so.4.2.0 ${QWTHOME}/lib
+    if [ "$?" -eq "0" ]; then
+       return 0
+    fi
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export QWTHOME=\${INSTALL_ROOT}/${PRODUCT}
+export LD_LIBRARY_PATH=\${QWTHOME}/lib:\${LD_LIBRARY_PATH} 
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+qwthome="`find_in_path libqwt.so.4.2.0 ${LD_LIBRARY_PATH}`"
+if [ -n "${qwthome}" ] ; then
+    qwthome=`cd ${qwthome}/..; pwd`
+    tmp="\${QWTHOME}/lib ${QWTHOME}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+    ld_library_path=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export QWTHOME=${qwthome}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfj ${SOURCE_DIR}/qwt-4.2.0.tar.bz2 -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+makedir ${PRODUCT_DIR}
+
+qmake qwt.pro -o Makefile
+
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+
+check_job ${PRODUCT_DIR}/MAKE.LOG make 
+cp -rf include lib ${PRODUCT_DIR}
+
+rm -rf ${PRODUCT_WORK}
+
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/qwt-4.2.0.tar.gz -C ${INSTALL_ROOT}
+fi
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="qwt" ; fi
+export PRODUCT="qwt-4.2.0"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/sip-4.1.sh b/config_files/sip-4.1.sh
new file mode 100755 (executable)
index 0000000..ef074b9
--- /dev/null
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -n "${SIPDIR}" ]; then
+    sip_ver=`${SIPDIR}/sip -V | awk '{print $1}' | sed "s/\./_/g"`
+    if [ "$sip_ver" == "4_1" ]; then
+       return 0
+    fi
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export SIPDIR=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${SIPDIR}:\${PATH}
+export PYTHONPATH=\${SIPDIR}:\${PYTHONPATH}
+export LD_LIBRARY_PATH=\${SIPDIR}:\${LD_LIBRARY_PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+sipdir="`find_in_path sip ${PATH}`"
+if [ -z "${sipdir}" ] ; then
+    sipdir="`find_in_path sip /usr/bin`"
+fi
+if [ -n "${sipdir}" ] ; then
+    python_version="`python -c 'import sys; print sys.version[:3]'`"
+    sippython="`find_in_path sip.so ${PYTHONPATH}`"
+    if [ -z "${sippython}" ] ; then
+        sippython="`find_in_path sip.so /usr/lib/python${python_version}/site-packages`"
+    fi
+    if [ -n ${sippython} ]; then
+        tmp="${sipdir} ${sipdir} \${PATH} ${PATH}";
+        path=`sort_path ${tmp}`
+        tmp="${sipdir} ${sipdir} \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";
+        ld_library_path=`sort_path ${tmp}`
+        tmp="${sippython} ${sippython} \${PYTHONPATH} ${PYTHONPATH}";
+        pythonpath=`sort_path ${tmp}`
+        cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PATH=${path}
+export PYTHONPATH=${pythonpath}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+        make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+        return 0
+    fi
+fi
+return 1
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+makedir ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/sip-4.1.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
+    python configure.py -b ${PRODUCT_DIR} -d ${PRODUCT_DIR} -e ${PRODUCT_DIR} -v ${PRODUCT_DIR} -l qt-mt 
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+
+rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/sip-4.1.tar.gz -C ${INSTALL_ROOT}
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="sip" ; fi
+export PRODUCT="sip-4.1"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/tcltk8.4.5.sh b/config_files/tcltk8.4.5.sh
new file mode 100755 (executable)
index 0000000..541e559
--- /dev/null
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -z "$TCLHOME" ]; then
+   echo "TCLHOME doesn't set"
+   return 1
+fi
+
+check_lib_version tclsh8.4 ${TCLHOME}/bin
+if [ "$?" -ne "0" ]; then
+      return 1
+fi
+
+check_lib_version wish8.4 ${TCLHOME}/bin
+if [ "$?" -ne "0" ]; then
+      return 1
+fi
+
+check_lib_version libtcl8.4.so
+if [ "$?" -ne "0" ]; then
+      return 1
+fi
+
+check_lib_version libtk8.4.so
+if [ "$?" -ne "0" ]; then
+      return 1
+fi
+
+echo "The product ${PRODUCT} has been already installed on yours system"
+return 0
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export TCLHOME=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${TCLHOME}/bin:\${PATH}
+export LD_LIBRARY_PATH=\${TCLHOME}/lib:\${LD_LIBRARY_PATH}
+export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl8.4 \${TCLHOME}/lib/tk8.4 \${TCLLIBPATH}"
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+tclhome="`find_in_path tclsh ${PATH}`"
+if [ -z "${tclhome}" ] ; then
+    tclhome="`find_in_path tclsh /usr/bin`"
+fi
+if [ -n "${tclhome}" ] ; then
+    tclhome=`cd ${tclhome}/..; pwd`
+    tmp="\${TCLHOME}/bin ${tclhome}/bin \${PATH} ${PATH}";  
+    path=`sort_path ${tmp}`
+    tmp="\${TCLHOME}/lib ${tclhome}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+    ld_library_path=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export TCLHOME=${tclhome}
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl8.4 \${TCLHOME}/lib/tk8.4 \${TCLLIBPATH}"
+##
+EOF
+    (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+echo "The installation of tcl/tk 8.4.5 from sources is not provided! Use native tcl/tk."
+return 1
+}
+
+install_binary()
+{
+echo "The installation of tcl/tk 8.4.5 from binaries is not provided! Use native tcl/tk."
+return 1
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="tcl" ; fi
+export PRODUCT="tcltk8.4.5"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE 
index 82cd745f4acd232ec802e2dacdb76ccf1e66badd..0c275b9c859f89da5b0fef0b9a8b8e60b26da3ae 100755 (executable)
@@ -1,5 +1,8 @@
 #!/usr/bin/env python
 
+import warnings
+warnings.filterwarnings("ignore", "", DeprecationWarning)
+
 import xmllib
 import sys, os, string, re
 
@@ -492,8 +495,15 @@ if __name__ == "__main__":
                 filename = "config_RedHat" + num+ ".xml"
                 if (os.path.exists(cur_dir + filename)):
                     xml_file_name = filename
-                
+            else:
+                res = re.search(r'Mandrakelinux\s+release\s+([\d.]*)', data)
+                if res is not None:
+                    num = re.sub("[.]", "_", (res.groups())[0])
+                    filename = "config_Mandrake" + num+ ".xml"
+                    if (os.path.exists(cur_dir + filename)):
+                        xml_file_name = filename
         xml_file = cur_dir +  xml_file_name
+
     if xml_file is None or not os.path.exists(xml_file):
         error_exit("No xml file is found, try to run with options -f <xmlfile>")