The version
- 2.2.3 is a minor SALOME maintenance release that contains bug
- fixes and minor improvements.
-
The SALOME 2.2.3 version
- is targeting the Redhat 8.0 platform as a reference. Please see the README
- file (on the installation CD) for SALOME installation and execution.
-
For the full
- list of modifications since SALOME 2.2.0, see the change log file.
-
Improvements
-
SALOME
- 2.2.3
- has the following major improvements and enhancements:
-
-
-
- MED module is compilable with gcc 3.4
-
- All standard modules were tested with omniOrb 4 and Python 2.3
-
-
BUG fixes
-
SALOME
- 2.2.3 contains the following fixes
- :
-
-
-
-
-
-
Fixed
- bug
- PAL8264
- (REGRESSION: Partition of a shape by a plane )
-
-
-
Fixed
- bug
- PAL8343(Improvment
- for Sender and receiver mechanism)
-
-
-
Fixed
- bug
- PAL8346(Radio
- button that unselect the installation of the salome modules
- sources)
-
-
-
-
Fixed
- bug
- PAL8468(Start
- and End Length on two opposite edges)
-
-
-
-
Fixed
- bug
- PAL8469(Updating
- the global mesh icon when local hypotheses are edited)
-
-
-
-
Fixed
- bug
- PAL8536(Min
- and max value of 2D and 3D hypotheses)
-
-
Fixed
- bug
- PAL8379
-
- (Filters for groups on
- geometry)
-
-
-
Fixed
- bug
- PAL8539
-
- (Bug in
- StdMeshers_Regular_1D.cxx for the SetScale option)
-
-
-
Fixed
- bug
- PAL8562
-
- (The
- parameter for linker option rpath (rpath-link) is missed)
-
-
Fixed
- bug
- PAL8684
-
- (A
- med file imported twice is not updated)
-
-
Fixed
- bug
- PAL8698
-
- (Scalar
- Map of a field with more than 3 components)
-
-
Fixed
- bug
- PAL8683(Deformed
- shape of a field with more than 3 components)
-
-
Fixed
- bug ALSCDA8588(Not
- correct working of porflow driver after Sauv2Med
- improvements)
-
-
Fixed
- bug
- ALSCDA8699(SAUVE
- file is written incorrectly)
-
-
-
-
-
Known limitations
-
SALOME
- 2.2.3 has the following known limitations:
-
-
-
-
- Sometime SALOME does not start
- from first time (bug PAL8142). The fix will be in next maintenance
- release.
-
-
-
-
- Installation
- from source codes is not assured on RedHat 9.0 systems. Third party
- products compilation (like Python) was not overally tested and can fail
- due to differnces in some RPM packages between Redhat 8.0 and 9.0
- versions.
-
-
-
Maintenance contact
-
In order to report
- a bug or propose an improvement, please use your account in the bug
- tracker (http://ocsprojects.opencascade.com/bugtracker). Please report bugs and improvements
- mentioning exactly your SALOME release.
- Please address all other questions (including bug tracker account requests)
- to salome-maintenance@opencascade.com.
SALOME
+ 2.2.4 Release Announcement (21 June
+ 2005)
+
+
+
Common information
+
The version 2.2.4 is a minor SALOME maintenance release that
+ contains bug fixes and minor improvements.
+
The SALOME 2.2.4 version is targeting the Redhat 8.0 platform as a
+ reference. Please see the README file (on the installation CD) for SALOME
+ installation and execution.
+
For the full list of modifications since SALOME 2.2.0, see the change
+ log file.
+
Improvements
+
SALOME 2.2.4 has the following major improvements and
+ enhancements:
+
+
Mandrake 10.1 compatibility - Now you can compile
+ and run SALOME on Mandrake 10.1 version. The following list of
+ pre-requisites is used for Mandrake 10.1 (no changes for Redhat):
+
+
gcc 3.4.1 - native for Mandrake 10.1
+
tcl/tk 8.4.5 - native for Mandrake 10.1
+
Python 2.3.4 - native for Mandrake 10.1
+
Qt 3.3.3 - native for Mandrake 10.1
+
Doxygen 1.3.7 - native for Mandrake 10.1
+
Boost 1.31.0 - installed from the CD
+
sip 4.1 - installed from the CD
+
PyQt 3.13 - installed from the CD (officially does not support
+ Qt 3.3.3 but nevertheless it can be used)
+
Swig 1.3.24 - installed from the CD
+
OpenCASCADE 5.2.3a - installed from the CD (please read the
+ limitations below)
+
Qwt 4.2.0/0.2.4 - installed from the CD
+
OmniORB 4.0.5, OmniORBPy 2.5, OmniNotify 2.1 - installed from
+ the CD
+
Hdf5 1.6.3 - installed from the CD
+
Med 2.2.2 - installed from the CD
+
Vtk 4.2.6 - installed from the CD
+
Numeric 23.7 - installed from the CD
+
HappyDoc 2.1 - installed from the CD
+
Graphviz 2.2.1 - installed from the CD
+
NETGEN 4.3 - installed from the CD with a
+ patch
+
+
New funciotnality is added to the MED module
+
+
Searching of a cell that contains a point in a MESH (using dTree
+ to speedup multi search of cell in a MESH).
+ (MESH::getElementContainigPoint). First use of INTERPOLATION package
+ in MEDMEM
+
Possibility to build a FIELD by simply giving a SUPPORT and an
+ analytic C++ function. (FIELD<T>::fillFromAnalytic)
+
Building of SUPPORT on NODE or D-1 element, that is the boundary
+ of a MESH. (MESH::getBoundaryElements)
+
Building of the complement of a SUPPORT relative to the MESH the
+ SUPPORT is lying on. (SUPPORT:getComplement)
+
Substraction of two SUPPORTs. (SUPPORT::substract)
+
Merge of FIELDs. (static MESH::mergeFields)
+
Extraction of the FIELD lying on a SUPPORT S1 by giving an another
+ FIELD lying on a wider SUPPORT S2. (FIELD<T>::extract)
+
Test if one SUPPORT is included into another one
+ (SUPPORT::belongsTo)
+
+
New TUI examples were added to the VISU module for 2D tables
+ manipulations
+
BUG fixes
+
SALOME 2.2.4 contains the following fixes:
+
+
+
+
Fixed bug PAL7444 -
+ display mesh takes a lot of more memory in 2.1.0 than in 2.0.0.
+
+
Fixed bug PAL8912 -
+ "Stream Graph Parameters" disappeared from the pop-up when the graph
+ has Calcium nodes
+
+
Fixed bug PAL8917 -
+ Attributes ExternalFileDef and fileType are not saved with study.
+
+
Fixed bug PAL8922 -
+ False component name generatef by Catalog Generator
+
+
Fixed bug PAL9090 -
+ Localisation of the "jroy_2810_SALOME_pidict" file.
+
+
Fixed bug PAL9133 -
+ initialization of string inPort with an empty string is not possible
+
+
+
Fixed bug PAL9151 -
+ REGRESSION: partition ends badly or doesn't end
+
+
Fixed bug PAL9163 -
+ Triangles and Prisms are not well generated when making a revolution
+ and an extrusion (bug PAL8869)
+
+
Fixed bug PAL9165 -
+ Warning in the log message
+
+
Fixed bug PAL9167 -
+ Parametric point construction doesn't add the edge selected in the
+ study
+
+
Fixed bug PAL8221 -
+ POST-PRO: Pal/Salome crashes if edit presentation in opened study
+
+
Fixed bug PAL8727 -
+ Saving a study with a SUPERV item makes the IHM to freeze
+
+
Fixed bug PAL8787 -
+ Can't mesh a sphere with NETGEN
+
+
Fixed bug PAL8346 -
+ radio button that unselect the installation of the salome modules
+ sources
+
+
Fixed bug PAL8914 -
+ Delete of a Node linked to an EndLoopNode ==> Not executable
+
+
Fixed bug PAL9042 -
+ HangUp in FactoryServer
+
+
Fixed bug PAL9164 -
+ Values limitation
+
+
Fixed bug PAL9166 -
+ Geometry is not complete
+
Known limitations
+
SALOME 2.2.4 has the following known limitations:
+
+
Open
+ Cascade Technology 5.2.3a that is delivered on the CD for Mandrake 10.1
+ is in binary form only. This version is a special patch prepared in
+ order to port SALOME to Mandrake 10.1 and gcc 3.4. This is not yet a
+ certified Open Cascade Technbology version and may have eventual
+ regressions in various functionalities. Thus there may be slight
+ difference in behaviour among Redhat 8.0 and Mandrake 10.1 installations
+ of SALOME. Please contact maintenance in case if you have any problems
+ with it
+
Sometime
+ SALOME does not start from first time (bug PAL8142). The fix will be in
+ next maintenance release.
+
Installation from source codes
+ is not assured on RedHat 9.0 systems. Third party products compilation
+ (like Python) was not overally tested and can fail due to differnces in
+ some RPM packages between Redhat 8.0 and 9.0 versions.
+
The
+ Sauv2Med converter has regressions due to recent changes in the MED
+ module. See PAL7558
+ for details. These regressions will be addressed in the future
+ maintenance releases.
+
Maintenance contact
+
In order to report a bug or propose an improvement, please use your
+ account in the bug tracker (http://ocsprojects.opencascade.com/bugtracker).
+ Please report bugs and improvements mentioning exactly your SALOME
+ release. Please address all other questions (including bug tracker
+ account requests) to salome-maintenance@opencascade.com.
+
+
+
Copyright (?) 2001-2005 All rights
+ reserved.
diff --git a/bin/SALOME_InstallWizard b/bin/SALOME_InstallWizard
index c1fa8b3..9a8fccc 100755
Binary files a/bin/SALOME_InstallWizard and b/bin/SALOME_InstallWizard differ
diff --git a/config.xml b/config.xml
index df480bb..1a6c3f3 100644
--- a/config.xml
+++ b/config.xml
@@ -1,5 +1,5 @@
-
+ script="netgen-4.3.sh"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config_RedHat8_0.xml b/config_RedHat8_0.xml
index df480bb..1a6c3f3 100644
--- a/config_RedHat8_0.xml
+++ b/config_RedHat8_0.xml
@@ -1,5 +1,5 @@
-
+ script="netgen-4.3.sh"/>
-
+ script="netgen-4.3.sh"/>
-
+ script="netgen-4.3.sh"/>
${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${file_pth} < ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
print_env
}
diff --git a/config_files/KERNEL_BIN.sh b/config_files/KERNEL_BIN.sh
index 17b2c58..449a060 100755
--- a/config_files/KERNEL_BIN.sh
+++ b/config_files/KERNEL_BIN.sh
@@ -5,7 +5,7 @@ if [ -n "${KERNEL_ROOT_DIR}" ]; then
check_lib_version VERSION ${KERNEL_ROOT_DIR}/bin/salome
if [ "$?" -eq "0" ]; then
ver=`cat ${KERNEL_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' `
- if [ "$ver" = "2.2.3" ]; then
+ if [ "$ver" = "2.2.4" ]; then
return 0
fi
fi
@@ -17,6 +17,13 @@ print_env(){
cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh </dev/null`
+if [ "$ver" == "22.0" ]; then
+ return 0
fi
return 1
}
@@ -14,7 +11,7 @@ return 1
print_env(){
cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/try_native.py < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh </dev/null`
+if [ "$ver" == "23.7" ]; then
+ return 0
+fi
+return 1
+}
+
+print_env(){
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < setup.py
+ chmod a+x setup.py
+fi
+
+check_job ${PRODUCT_DIR}/INSTALL.LOG python setup.py install --prefix=${PRODUCT_DIR}
+
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
+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/PYCALCULATOR_BIN.sh b/config_files/PYCALCULATOR_BIN.sh
index 05b3e84..3464cde 100755
--- a/config_files/PYCALCULATOR_BIN.sh
+++ b/config_files/PYCALCULATOR_BIN.sh
@@ -5,7 +5,7 @@ if [ -n "${PYCALCULATOR_ROOT_DIR}" ]; then
check_lib_version VERSION ${PYCALCULATOR_ROOT_DIR}/bin/salome
if [ "$?" -eq "0" ]; then
ver=`cat ${PYCALCULATOR_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' `
- if [ "$ver" = "2.2.3" ]; then
+ if [ "$ver" = "2.2.4" ]; then
return 0
fi
fi
@@ -17,6 +17,12 @@ print_env(){
cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < 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 < ${PRODUCT_DIR}/size.log
+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/PyQt-3.3.2.sh b/config_files/PyQt-3.3.2.sh
index 2666500..7de10c9 100755
--- a/config_files/PyQt-3.3.2.sh
+++ b/config_files/PyQt-3.3.2.sh
@@ -17,9 +17,9 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <&1`" == "Python 2.2.1" ] ; then
tmp="\${PYTHONHOME}/bin ${pythonhome}/bin \${PATH} ${PATH}";
path=`sort_path ${tmp}`
- tmp="\${PYTHONHOME}/lib/python2.2 ${pythonhome}/lib/python2.2 \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";
- ld_library_path=`sort_path ${tmp}`
- tmp="\${PYTHONHOME}/lib/python2.2 ${pythonhome}/lib/python2.2 \${PYTHONPATH} ${PYTHONPATH}";
+ 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 </dev/null`
+if [ -n isPython ]; then
+ # version number is calculated as: *10000+*100+
+ # 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 <, and
+ # and numbers are checked strickly, but number can be larger than required one
+ # version number is calculated as: *10000+*100+
+ # 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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh </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 <&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 <> ${PRODUCT_DIR}/MAKE.LOG < ${PRODUCT_DIR}/size.log
+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/VISU_BIN.sh b/config_files/VISU_BIN.sh
index c72c20e..ca52e2b 100755
--- a/config_files/VISU_BIN.sh
+++ b/config_files/VISU_BIN.sh
@@ -5,7 +5,7 @@ if [ -n "${VISU_ROOT_DIR}" ]; then
check_lib_version VERSION ${VISU_ROOT_DIR}/bin/salome
if [ "$?" -eq "0" ]; then
ver=`cat ${VISU_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' `
- if [ "$ver" = "2.2.3" ]; then
+ if [ "$ver" = "2.2.4" ]; then
return 0
fi
fi
@@ -17,6 +17,13 @@ print_env(){
cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <> ${PRODUCT_DIR}/MAKEcmake.LOG <GetFile()->tellg()%seekg(static_cast(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(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 < ${PRODUCT_DIR}/MAKE.LOG < ${PRODUCT_DIR}/size.log
+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/common.sh b/config_files/common.sh
index 7410799..917e484 100755
--- a/config_files/common.sh
+++ b/config_files/common.sh
@@ -88,10 +88,50 @@ if [ $# -eq 3 ] ; then
product_env=${install_work}/env_${product_name}.sh
(test -e ${product_env} && rm ${product_env} )
fi
-### !!! writing salome.sh file !!! -> add global functions
+### !!! writing salome.sh file !!! -> define INSTALL_ROOT
cat >> ${install_work}/$SHRC < /dev/null
+ if [ $? -eq 0 ] ; then
+ cat >> ${install_work}/$SHRC < set inital variables
+pre_vars="PATH LD_LIBRARY_PATH LD_RUN_PATH PYTHONPATH TCLLIBPATH"
+for i in $pre_vars ; do
+cat >> ${install_work}/$CSHRC < dump products environment files, changing 'export' by 'setenv(a|p)' where necessary
+### Note, that for performance reasons temporary environment files used during installation procedure itself
+### are created without using setenv(a|p) aliases.
+
+# 1. first dump all environment files into the $SHRC file
+product_sequence="$2"
+for i in $product_sequence ; do
+ cat ${install_work}/env_${i}.sh >> ${install_work}/$SHRC 2>/dev/null
+done
+
+# 2. writing global functions to _salome.sh file
+cat >> ${install_work}/_$SHRC <") nb = split("",b,":"); \\
+ else nb = split(\$1,b,":"); \\
s = "" ; \\
for(i=1;i<=nb;i++) { \\
if(!(b[i] in ccc)) { \\
@@ -144,6 +185,7 @@ echo \$out_var
# to the variable (first parameter)
exporta () {
xenv=\`printenv \$1\`
+if [ -z "\$xenv" ]; then xenv=""; fi
out_var=\`cleandup \$xenv \$2 0\`
export \$1=\$out_var
}
@@ -152,16 +194,16 @@ export \$1=\$out_var
# to the variable (first parameter)
exportp () {
xenv=\`printenv \$1\`
+if [ -z "\$xenv" ]; then xenv=""; fi
out_var=\`cleandup \$xenv \$2 1\`
export \$1=\$out_var
}
###########################################################################
EOF
-### !!! writing salome.csh file !!! -> add global aliases
-cat >> ${install_work}/$CSHRC <> ${install_work}/_$CSHRC < set inital variables
-pre_vars="PATH LD_LIBRARY_PATH LD_RUN_PATH PYTHONPATH TCLLIBPATH"
-for i in $pre_vars ; do
-cat >> ${install_work}/$CSHRC < dump products environment files, changing 'export' by 'setenv(a|p)' where necessary
-product_sequence="$2"
-for i in $product_sequence ; do
- sed -e 's%^export\([[:blank:]]*\)PATH=\$[{]\?PATH[}]\?:\(.*\)%exporta\1PATH \2%g' -e 's%^export\([[:blank:]]*\)PATH=\(.*\):\$[{]\?PATH[}]\?%exportp\1PATH \2%g' ${install_work}/env_${i}.sh > ${INSTALL_WORK}/_tmp1 2>/dev/null
- sed -e 's%^export\([[:blank:]]*\)LD_LIBRARY_PATH=\$[{]\?LD_LIBRARY_PATH[}]\?:\(.*\)%exporta\1LD_LIBRARY_PATH \2%g' -e 's%^export\([[:blank:]]*\)LD_LIBRARY_PATH=\(.*\):\$[{]\?LD_LIBRARY_PATH[}]\?%exportp\1LD_LIBRARY_PATH \2%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
- sed -e 's%^export\([[:blank:]]*\)PYTHONPATH=\$[{]\?PYTHONPATH[}]\?:\(.*\)%exporta\1PYTHONPATH \2%g' -e 's%^export\([[:blank:]]*\)PYTHONPATH=\(.*\):\$[{]\?PYTHONPATH[}]\?%exportp\1PYTHONPATH \2%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
- sed -e 's%^export\([[:blank:]]*\)LD_RUN_PATH=\$[{]\?LD_RUN_PATH[}]\?:\(.*\)%exporta\1LD_RUN_PATH \2%g' -e 's%^export\([[:blank:]]*\)LD_RUN_PATH=\(.*\):\$[{]\?LD_RUN_PATH[}]\?%exportp\1LD_RUN_PATH \2%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
- cat ${INSTALL_WORK}/_tmp2 >> ${install_work}/$SHRC 2>/dev/null
-
- sed -e 's%^export \([[:alnum:]_[:blank:]]*\)\=%setenv \1 %g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
- sed -e 's%^exporta \([[:alnum:]_[:blank:]]*\)%setenva \1%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
- sed -e 's%^exportp \([[:alnum:]_[:blank:]]*\)%setenvp \1%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
- cat ${INSTALL_WORK}/_tmp1 >> ${install_work}/$CSHRC 2>/dev/null
+cat ${install_work}/$CSHRC >> ${install_work}/_$CSHRC
+
+# 4. put the contents of salome.sh to _salome.sh replacing export by export(a|p) aliases where necessary
+sed -e 's%export\([[:blank:]]*\)PATH=\$[{]\?PATH[}]\?:\(.*\)%exporta\1PATH \2%g' -e 's%export\([[:blank:]]*\)PATH=\(.*\):\$[{]\?PATH[}]\?%exportp\1PATH \2%g' ${install_work}/$SHRC > ${INSTALL_WORK}/_tmp1 2>/dev/null
+sed -e 's%export\([[:blank:]]*\)LD_LIBRARY_PATH=\$[{]\?LD_LIBRARY_PATH[}]\?:\(.*\)%exporta\1LD_LIBRARY_PATH \2%g' -e 's%export\([[:blank:]]*\)LD_LIBRARY_PATH=\(.*\):\$[{]\?LD_LIBRARY_PATH[}]\?%exportp\1LD_LIBRARY_PATH \2%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
+sed -e 's%export\([[:blank:]]*\)PYTHONPATH=\$[{]\?PYTHONPATH[}]\?:\(.*\)%exporta\1PYTHONPATH \2%g' -e 's%export\([[:blank:]]*\)PYTHONPATH=\(.*\):\$[{]\?PYTHONPATH[}]\?%exportp\1PYTHONPATH \2%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
+sed -e 's%export\([[:blank:]]*\)LD_RUN_PATH=\$[{]\?LD_RUN_PATH[}]\?:\(.*\)%exporta\1LD_RUN_PATH \2%g' -e 's%export\([[:blank:]]*\)LD_RUN_PATH=\(.*\):\$[{]\?LD_RUN_PATH[}]\?%exportp\1LD_RUN_PATH \2%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2
+cat ${INSTALL_WORK}/_tmp2 >> ${install_work}/_$SHRC
+
+# 5. Create a salome.csh file from salome.sh by replacing export by setenv, etc.
+sed -e 's%export \([[:alnum:]_[:blank:]]*\)\=%setenv \1 %g' ${install_work}/$SHRC > ${INSTALL_WORK}/_tmp1 2>/dev/null
+cat ${INSTALL_WORK}/_tmp1 >> ${install_work}/$CSHRC
+
+# 6. Create a _salome.csh file from _salome.sh by replacing export by setenv, exporta by setenva, etc.
+sed -e 's%export \([[:alnum:]_[:blank:]]*\)\=%setenv \1 %g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
+sed -e 's%exporta \([[:alnum:]_[:blank:]]*\)%setenva \1%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
+sed -e 's%exportp \([[:alnum:]_[:blank:]]*\)%setenvp \1%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
+sed -e 's%if \[ -n "\${ENV_FOR_LAUNCH}" \] ; then%if ( ${?ENV_FOR_LAUNCH} ) then%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
+sed -e 's%if \[ "\${ENV_FOR_LAUNCH}" == "1" \] ; then%if ( "\${ENV_FOR_LAUNCH}" == "1" ) then%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
+sed -e 's%^\([[:blank:]]*\)fi\([[:blank:]]*\)$%\1endif\2%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
+cat ${INSTALL_WORK}/_tmp2 >> ${install_work}/_$CSHRC 2>/dev/null
- rm -f ${INSTALL_WORK}/_tmp1 ${INSTALL_WORK}/_tmp2
-done
+rm -f ${INSTALL_WORK}/_tmp1 ${INSTALL_WORK}/_tmp2
if [ $# -eq 4 ] ; then
product_dir=$4
if [ -e ${product_dir} ] ; then
- cp -f ${install_work}/$SHRC ${install_work}/$CSHRC ${product_dir}/.
+ cp -f ${install_work}/_$SHRC ${product_dir}/$SHRC
+ cp -f ${install_work}/_$CSHRC ${product_dir}/$CSHRC
fi
fi
-cp -f ${install_work}/$CSHRC ${install_root}/env_products.csh
-cp -f ${install_work}/$SHRC ${install_root}/env_products.sh
+sed -e 's%setenv ENV_FOR_LAUNCH 1%setenv ENV_FOR_LAUNCH 0%' ${install_work}/_$CSHRC > ${install_root}/env_products.csh
+sed -e 's%export ENV_FOR_LAUNCH=1%export ENV_FOR_LAUNCH=0%' ${install_work}/_$SHRC > ${install_root}/env_products.sh
+rm -f ${install_work}/_$SHRC
+rm -f ${install_work}/_$CSHRC
### !!! copying build.csh script
if [ -e ./build.csh ]; then
cp -f ./build.csh ${install_root}
diff --git a/config_files/doxygen-1.3-rc2.sh b/config_files/doxygen-1.3-rc2.sh
index 0fe4380..2aaf2f3 100755
--- a/config_files/doxygen-1.3-rc2.sh
+++ b/config_files/doxygen-1.3-rc2.sh
@@ -15,9 +15,12 @@ if [ "$?" -ne "0" ]; then
return 1
fi
check_lib_version doxywizard $PATH
-if [ "$?" -eq "0" ]; then
- #echo "The product ${PRODUCT} has been already installed on yours system"
- return 0
+if [ "$?" -ne "0" ]; then
+ return 1
+fi
+ver=`doxygen --version`
+if [ "$ver" == "1.3-rc2" ]; then
+ return 0
fi
return 1
}
diff --git a/config_files/doxygen-1.3.7.sh b/config_files/doxygen-1.3.7.sh
new file mode 100755
index 0000000..96175b9
--- /dev/null
+++ b/config_files/doxygen-1.3.7.sh
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+check_version()
+{
+check_lib_version doxygen $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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <*10000+*100+
+# 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 <, and
+ # and numbers are checked strickly, but number can be larger than required one
+ # version number is calculated as: *10000+*100+
+ # 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 </dev/null`
+if [ -n isdot ]; then
+ ver=`dot -V 2>&1 | awk '{print $3}'`
+ if [ "$ver" == "1.9" ]; then
+ return 0
+ fi
fi
return 1
}
diff --git a/config_files/graphviz-2.2.1.sh b/config_files/graphviz-2.2.1.sh
new file mode 100755
index 0000000..a3880fb
--- /dev/null
+++ b/config_files/graphviz-2.2.1.sh
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+check_version()
+{
+isdot=`which dot 2>/dev/null`
+if [ -n isdot ]; then
+ ver=`dot -V 2>&1 | awk '{print $3}'`
+ if [ "$ver" == "2.2.1" ]; then
+ return 0
+ fi
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <> ${PRODUCT_DIR}/MAKE.LOG < ${PRODUCT_DIR}/size.log
+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
index 0000000..bd56c8e
--- /dev/null
+++ b/config_files/hdf5-1.6.3.sh
@@ -0,0 +1,110 @@
+#!/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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <> ${PRODUCT_DIR}/MAKE.LOG < ${PRODUCT_DIR}/size.log
+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
diff --git a/config_files/med-2.2.2.sh b/config_files/med-2.2.2.sh
index a1e379a..85cf5b7 100755
--- a/config_files/med-2.2.2.sh
+++ b/config_files/med-2.2.2.sh
@@ -71,8 +71,9 @@ 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
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
### modify libmed.la libmedC.la files to correct direct path to hdf5 library
diff --git a/config_files/netgen-4.3.sh b/config_files/netgen-4.3.sh
new file mode 100755
index 0000000..2df6bd4
--- /dev/null
+++ b/config_files/netgen-4.3.sh
@@ -0,0 +1,90 @@
+#!/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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${PRODUCT_DIR}/size.log
+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.3.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.3"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE
diff --git a/config_files/netgen-4.4.sh b/config_files/netgen-4.4.sh
new file mode 100755
index 0000000..7758e58
--- /dev/null
+++ b/config_files/netgen-4.4.sh
@@ -0,0 +1,90 @@
+#!/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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${PRODUCT_DIR}/size.log
+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/netgen4.3.sh b/config_files/netgen4.3.sh
deleted file mode 100755
index 9387512..0000000
--- a/config_files/netgen4.3.sh
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${PRODUCT_DIR}/.omniORB.cfg < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <> ${PRODUCT_DIR}/MAKE_OMNIORB.LOG <> ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG <> ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG < ${PRODUCT_DIR}/size.log
+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
index 0000000..46316d2
--- /dev/null
+++ b/config_files/qt-3.3.3.sh
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+check_version(){
+if [ -z "$QTDIR" ]; then
+ return 1
+fi
+ver=`grep "QT_VERSION_STR" ${QTDIR}/include/qglobal.h | sed -e 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'`
+if [ "$ver" == "3.3.3" ] ; then
+ return 0
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < libqt-mt.la.new
+mv -f libqt-mt.la.new libqt-mt.la
+cd ${PRODUCT_DIR}/bin
+sed -e "s%export QTDIR=\(.*\)%export QTDIR=${PRODUCT_DIR}%g" designer > designer.new
+mv -f designer.new designer
+chmod 755 designer
+
+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="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/qt-x11-free-3.0.5.sh b/config_files/qt-x11-free-3.0.5.sh
index 7c5d00f..17c177d 100755
--- a/config_files/qt-x11-free-3.0.5.sh
+++ b/config_files/qt-x11-free-3.0.5.sh
@@ -4,8 +4,8 @@ check_version(){
if [ -z "$QTDIR" ]; then
return 1
fi
-check_lib_version libqt-mt.so.3.0.5 ${QTDIR}/lib
-if [ "$?" -eq "0" ] ; then
+ver=`grep "QT_VERSION_STR" ${QTDIR}/include/qglobal.h | sed -e 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'`
+if [ "$ver" == "3.0.5" ] ; then
return 0
fi
return 1
diff --git a/config_files/qwt-4.2.0.sh b/config_files/qwt-4.2.0.sh
new file mode 100755
index 0000000..6ceebaf
--- /dev/null
+++ b/config_files/qwt-4.2.0.sh
@@ -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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <> ${PRODUCT_DIR}/MAKE.LOG < ${PRODUCT_DIR}/size.log
+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}
+
+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-3.3.2.sh b/config_files/sip-3.3.2.sh
index 31bf63b..d37a97e 100755
--- a/config_files/sip-3.3.2.sh
+++ b/config_files/sip-3.3.2.sh
@@ -2,13 +2,10 @@
check_version()
{
-if [ -n "$SIPDIR" ]; then
- check_lib_version sip ${SIPDIR}
- if [ "$?" -eq "0" ]; then
- check_lib_version libsip.so.9.1.0 ${SIPDIR}
- if [ "$?" -eq "0" ]; then
- return 0
- fi
+if [ -n "${SIPDIR}" ]; then
+ sip_ver=`${SIPDIR}/sip -V | awk '{print $1}'`
+ if [ "$sip_ver" == "3.3.2" ]; then
+ return 0
fi
fi
return 1
@@ -19,8 +16,8 @@ print_env()
cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <> ${PRODUCT_DIR}/MAKE.LOG < ${PRODUCT_DIR}/size.log
+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
index 0000000..541e559
--- /dev/null
+++ b/config_files/tcltk8.4.5.sh
@@ -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 < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <
- SALOME v2.2.0 Installation Wizard Help
+ SALOME v2.2.x Installation Wizard Help
@@ -41,7 +41,7 @@
-
There are also two checkboxes on this page: "SALOME sources" and "SALOME binaries".
+These three-state checkboxes allow quick selecting/unselecting SALOME packages
+for the installation.
+
The box at the right side of the page displays the information about currently
highlighted product: name, version, short description (if provided), required
disk space, temporary files disk space, list of prerequisites and user choice.
-
+
Figure 1: "Installation settings" page in the advanced mode
@@ -165,7 +169,7 @@ on the hard drive is required for installation of selected products.
disk space is approximate and may differ when you install products on your
hard drive.
-
Installation procedure uses a special directory to store temporary files.
+
The installation procedure uses a special directory to store temporary files.
The "Space for temporary files:" field shows the information about
required disk space on the hard drive for extracting and compiling of the
selected products. You can change the default directory - just type path
@@ -193,7 +197,7 @@ wizard will follow to the next page:
-
+
Figure 2: "Check your choice" page
@@ -205,7 +209,7 @@ wizard will follow to the next page:
follow to the next page.
-
+
Figure 3: "Installation progress" page
@@ -238,7 +242,7 @@ or click "Next" button to go the Readme page:
-
+
Figure 4: "Finish installation" page
@@ -267,7 +271,7 @@ and KERNEL mo
products version procedure
Unfortunately under Linux platform there is no exact algorithm to identify
the product's version. The table below contains the information relating
-to checking preinstalled products for the Linux RedHat 8.0 platform
+to checking preinstalled products for the Linux RedHat 8.0 platform.
@@ -307,7 +311,7 @@ to checking preinstalled products for the Linux RedHat 8.0 platform
existence of libtkx8.3.so
set TCLHOME if you have preinstalled version of tcl.
set LD_LIBRARY_PATH on a directory where libs can be found.
-
It is recommended to use native tcl on Linux RedHat 8.0
+
It is recommended to use native tcl/tk on Linux RedHat 8.0
boost 1.30.2
@@ -325,11 +329,12 @@ BOOST from binaries.
set CASROOT if you have preinstalled version of Open CASCADE
-
Unfortunately we can't say anything exactly about CASCADE 5.2
-and we only check CASROOT environment variable. If you have problem with
-preinstalled version of Open CASCADE, reinstall it
+
CASCADE's Standard_Version.hxx file provides version information.
Patch for Open CASCADE 5.2
@@ -337,8 +342,8 @@ preinstalled version of Open CASCADE, reinstall it
Open CASCADE 5.2 provided with the Installation Wizard already includes the patch,
-necessary for SALOME 2.2.0. In addition the Installation Wizard provides the sources of a Open CASCADE patch
-which can be applied to original Open CASCADE 5.2. sources before compilation.
+necessary for SALOME 2.2.x. In addition the Installation Wizard provides the sources of a Open CASCADE patch
+which can be applied to original Open CASCADE 5.2 sources before its compilation.
Python 2.2.1
@@ -371,9 +376,9 @@ to use OpenGL drivers installed on your computer locally. This check procedure
Qt 3.0.5
existence of QTDIR
- existence of libqt-mt.so.3.0.5
We try to find libqt-mt.so.3.0.5 in ${QTDIR}/lib folder.
+
Qt's qglobal.h file provides version information: ver should be 3.0.5.
You should set MESA_HOME only if you have preinstalled version of Mesa
3.4.2.
It is recommended to use native Qt on Linux RedHat 8.0
@@ -389,7 +394,7 @@ to use OpenGL drivers installed on your computer locally. This check procedure
Hdf 5-1.4.4
existence of HDF5HOME
existence of libhdf5.so.0.0.0
- existence of libhdf5.settings
+ existence of libhdf5.settings ver=`grep "HDF5 Version:" ${HDF5HOME}/lib/libhdf5.settings | awk '{print $3}'`
set HDF5HOME if you have preinstalled version of hdf
We try to find libhdf5.so.0.0.0 and libhdf5.settings in ${HDF5HOME}/lib
folder.
@@ -453,24 +458,16 @@ folder.
Numeric 22.0
-
existence of Numeric folder
- existence of _numpy.so
-
set PYTHONHOME if you have preinstalled version of python
-
Unfortunately we can't check the version number.
- We try to find Numeric folder in ${PYTHONHOME}/lib/python2.2/site-packages/Numeric
- folder.
- If you have problem with preinstalled version of numeric 22.0 reinstall
-it.
set PYTHONHOME if you have preinstalled version of Numeric package
+
If you have problem with preinstalled version of numeric 22.0 reinstall it.
Sip 3.3.2
-
existence of SIPDIR
- existence of sip
- existence of libsip.so.9.1.0
+
existence of SIPDIR sip_ver=`${SIPDIR}/sip -V | awk '{print $1}'`
set SIPDIR to directory where you have sip preinstalled
-
We try to find sip and libsip.so.9.1.0 in $SIPDIR folder if you
-set SIPDIR , otherwise searching is done using $PATH and $LD_LIBRARY_PATH
- accordingly.
+
Searching for the sip binary is performed in the folder pointed by the $SIPDIR variable if it is set
+and then by using $PATH variable.
It is recommended to use native Sip on Linux RedHat 8.0
@@ -489,8 +486,8 @@ otherwise searching is done using $LD_LIBRARY_PATH .
HappyDoc 2.1
existence of happydoc
ver=`happydoc | grep "HappyDoc version 2.1"`
-
set PYTHONHOME if you have preinstalled version of python
-
We try to find happydoc in $PYTHONHOME/bin folder.
+
set PATH variable to the directory where you have HappyDoc installed.
+
We try to find happydoc in $PATH.
ver should not be empty.
This product is not obligatory. It was added only for your comfort.
@@ -499,22 +496,21 @@ otherwise searching is done using $LD_LIBRARY_PATH .
existence of doxygen
existence of doxysearch
existence of doxytag
- existence of doxywizard
+ existence of doxywizard ver=`doxygen --version`
set QTDIR if you have preinstalled version of qt
set PATH on a directory where doxygen, doxysearch, doxytag and doxywizard
can be found
-
Unfortunately we can't check the version number.
- It's necessary to have compiled Qt in order to build doxywizard.
+
doxygen, doxysearch, doxytag, doxywizard binaries should exist; ver should be 1.3-rc2.
+It's necessary to have compiled Qt in order to build doxywizard.
If you have problem with preinstalled version of doxygen 1.3-rc2 reinstall
it.
This product is not obligatory. It was added only for your comfort.
Graphviz 1.9
-
existence of dot
+
existence of dot binary. ver=`dot -V 2>&1 | awk '{print $3}'`
add GraphViz's bin directory to the PATH environment variable
-
Unfortunately we can't check the version number.
- We try to find dot program in the $PATH
set MODULE_ROOT_DIR if you have preinstalled binaries of MODULE
- version 2.2.0
-
MODULE binaries should exist and ver should be equal to 2.2.0
+ version 2.2.4
+
MODULE binaries should exist and ver should be equal to 2.2.4
MODULE sources
@@ -536,8 +532,8 @@ otherwise searching is done using $LD_LIBRARY_PATH .
existence of VERSION file
ver=`cat $MODULE_SRC/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]'`
set MODULE_SRC_DIR if you have preinstalled sources of MODULE
-version 2.2.0
-
MODULE sources should exist and ver should be equal to 2.2.0
+version 2.2.4
+
MODULE sources should exist and ver should be equal to 2.2.4
@@ -557,8 +553,8 @@ should coincide with prerequisite. Release number can be larger. It is done for
to use native products for newer versions of Red Hat (for example, Linux Red Hat 9 includes native
gcc 3.2.2 installation).
If native product has version number larger than that required by installation procedure,
-you will be prompted by the warning message like this: "You have newer version of gcc installed
-on your computer than that is required (3.2). Continue?". You can press "Yes" button
+you will be prompted by the warning message like this: "You have newer version of gcc installed
+on your computer than that is required (3.2). Continue?". You can press "Yes" button
to procede with the installation but in this case you should be aware of what you are doing.
SALOME binaries (inluding other products) are compiled with the prerequisites from the list
and most likely can not be run successfully if this products are not found.
diff --git a/doc/readmepage.png b/doc/readmepage.png
index f60228d..aa2bc82 100644
Binary files a/doc/readmepage.png and b/doc/readmepage.png differ
diff --git a/runInstall b/runInstall
index 82cd745..d3d2725 100755
--- a/runInstall
+++ b/runInstall
@@ -1,5 +1,8 @@
#!/usr/bin/env python
+import warnings
+warnings.filterwarnings("ignore", "", DeprecationWarning)
+
import xmllib
import sys, os, string, re
@@ -484,7 +487,7 @@ if __name__ == "__main__":
# define xml file -----------------
if (xml_file is None) :
xml_file_name = "config.xml"
- if os.path.exists("/proc/version"):
+ if os.path.exists("/etc/redhat-release"):
data = open("/etc/redhat-release").readline()
res = re.search(r'Red\s+Hat\s+Linux\s+release\s+([\d.]*)', data)
if res is not None:
@@ -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 ")
diff --git a/src/InstallWizard.cpp b/src/InstallWizard.cpp
index e1beb40..810c640 100644
--- a/src/InstallWizard.cpp
+++ b/src/InstallWizard.cpp
@@ -155,8 +155,12 @@ InstallWizard::InstallWizard( QWidget *parent, const char *name, bool modal,
d->nextButton->setDefault( TRUE );
connect( d->backButton, SIGNAL(clicked()),
+ this, SIGNAL(backClicked()) );
+ connect( this, SIGNAL(backClicked()),
this, SLOT(back()) );
connect( d->nextButton, SIGNAL(clicked()),
+ this, SIGNAL(nextClicked()) );
+ connect( this, SIGNAL(nextClicked()),
this, SLOT(next()) );
connect( d->finishButton, SIGNAL(clicked()),
this, SLOT(accept()) );
@@ -168,9 +172,9 @@ InstallWizard::InstallWizard( QWidget *parent, const char *name, bool modal,
#ifndef QT_NO_ACCEL
d->accel = new QAccel( this, "arrow-key accel" );
d->backAccel = d->accel->insertItem( Qt::ALT + Qt::Key_Left );
- d->accel->connectItem( d->backAccel, this, SLOT(back()) );
+ d->accel->connectItem( d->backAccel, this, SIGNAL(backClicked()) );
d->nextAccel = d->accel->insertItem( Qt::ALT + Qt::Key_Right );
- d->accel->connectItem( d->nextAccel, this, SLOT(next()) );
+ d->accel->connectItem( d->nextAccel, this, SIGNAL(nextClicked()) );
#endif
}
diff --git a/src/InstallWizard.h b/src/InstallWizard.h
index ddd49ad..8b36597 100644
--- a/src/InstallWizard.h
+++ b/src/InstallWizard.h
@@ -112,6 +112,8 @@ protected slots:
virtual void help();
signals:
+ void nextClicked();
+ void backClicked();
void helpClicked();
void selected( const QString& );
diff --git a/src/SALOME_HelpWindow.cxx b/src/SALOME_HelpWindow.cxx
index 36835e6..a8d80fa 100644
--- a/src/SALOME_HelpWindow.cxx
+++ b/src/SALOME_HelpWindow.cxx
@@ -36,7 +36,7 @@ HelpWindow::HelpWindow( SALOME_InstallWizard* wizard ) : QMainWindow( 0, "Salome
// caption
setCaption( wizard->getCaption() + " " + wizard->getIWName() + " " + tr( "Help" ) );
// icon
- setIcon( QPixmap( (const char**)image0_data ) );
+ setIcon( QPixmap( (const char**)image_icon ) );
// create browser
browser = new QTextBrowser( this );
browser->mimeSourceFactory()->setFilePath( hlpDir );
@@ -50,7 +50,7 @@ HelpWindow::HelpWindow( SALOME_InstallWizard* wizard ) : QMainWindow( 0, "Salome
addToolBar( toolbar, "Toolbar" );
QToolButton* button;
// --> back
- button = new QToolButton( QIconSet( (const char**)_img_back ),
+ button = new QToolButton( QIconSet( (const char**)image_back ),
tr( "Backward" ),
"",
browser,
@@ -59,7 +59,7 @@ HelpWindow::HelpWindow( SALOME_InstallWizard* wizard ) : QMainWindow( 0, "Salome
button->setEnabled( FALSE );
connect( browser, SIGNAL( backwardAvailable( bool ) ), button, SLOT( setEnabled( bool ) ) );
// --> forward
- button = new QToolButton( QIconSet( (const char**)_img_forward ),
+ button = new QToolButton( QIconSet( (const char**)image_next ),
tr( "Forward" ),
"",
browser,
@@ -68,14 +68,27 @@ HelpWindow::HelpWindow( SALOME_InstallWizard* wizard ) : QMainWindow( 0, "Salome
button->setEnabled( FALSE );
connect( browser, SIGNAL( forwardAvailable( bool ) ), button, SLOT( setEnabled( bool ) ) );
// --> home
- button = new QToolButton( QIconSet( (const char**)_img_home ),
+ button = new QToolButton( QIconSet( (const char**)image_home ),
tr( "Home" ),
"",
browser,
SLOT( home() ),
toolbar );
toolbar->addSeparator();
- button = new QToolButton( QIconSet( (const char**)_img_close ),
+ button = new QToolButton( QIconSet( (const char**)image_zoom_in ),
+ tr( "Increaze font size" ),
+ "",
+ browser,
+ SLOT( zoomIn() ),
+ toolbar );
+ button = new QToolButton( QIconSet( (const char**)image_zoom_out ),
+ tr( "Decreaze font size" ),
+ "",
+ browser,
+ SLOT( zoomOut() ),
+ toolbar );
+ toolbar->addSeparator();
+ button = new QToolButton( QIconSet( (const char**)image_close ),
tr( "Close" ),
"",
this,
@@ -84,7 +97,7 @@ HelpWindow::HelpWindow( SALOME_InstallWizard* wizard ) : QMainWindow( 0, "Salome
toolbar->addSeparator();
// --> logo
QLabel* logo = new QLabel( toolbar, "logo" );
- logo->setPixmap( QPixmap( (const char**)image1_data ) );
+ logo->setPixmap( QPixmap( (const char**)image_logo ) );
logo->setAlignment( AlignRight | AlignVCenter );
logo->setScaledContents( false );
toolbar->setStretchableWidget( logo );
diff --git a/src/SALOME_InstallWizard.cxx b/src/SALOME_InstallWizard.cxx
index 64ac2c1..ecc0a90 100644
--- a/src/SALOME_InstallWizard.cxx
+++ b/src/SALOME_InstallWizard.cxx
@@ -303,12 +303,12 @@ SALOME_InstallWizard::SALOME_InstallWizard(QString aXmlFileName)
setTitleFont( fnt );
// set icon
- setIcon( QPixmap( ( const char** ) image0_data ) );
+ setIcon( QPixmap( ( const char** ) image_icon ) );
// enable sizegrip
setSizeGripEnabled( true );
// add logo
- addLogo( QPixmap( (const char**)image1_data ) );
+ addLogo( QPixmap( (const char**)image_logo ) );
// set defaults
setVersion( "1.2" );
@@ -1339,8 +1339,9 @@ void SALOME_InstallWizard::launchScript()
nextButton()->setText( tr( "&Next >" ) );
QWhatsThis::add( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
QToolTip::add ( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
- nextButton()->disconnect();
- connect( nextButton(), SIGNAL( clicked() ), this, SLOT( next() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) );
+ connect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) );
// button
setBackEnabled( true );
// script parameters
@@ -1532,8 +1533,9 @@ void SALOME_InstallWizard::pageChanged( const QString & mytitle)
nextButton()->setText( tr( "&Next >" ) );
QWhatsThis::add( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
QToolTip::add ( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
- nextButton()->disconnect();
- connect( nextButton(), SIGNAL( clicked() ), this, SLOT( next() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) );
+ connect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) );
cancelButton()->disconnect();
connect( cancelButton(), SIGNAL( clicked()), this, SLOT( reject() ) );
@@ -1562,8 +1564,9 @@ void SALOME_InstallWizard::pageChanged( const QString & mytitle)
QWhatsThis::add( nextButton(), tr( "Starts installation process" ) );
QToolTip::add ( nextButton(), tr( "Starts installation process" ) );
// reconnect Next button - to use it as Start button
- nextButton()->disconnect();
- connect( nextButton(), SIGNAL( clicked() ), this, SLOT( onStart() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) );
+ connect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) );
setNextEnabled( true );
// reconnect Cancel button to terminate process
cancelButton()->disconnect();
@@ -1726,8 +1729,9 @@ void SALOME_InstallWizard::productInstalled( )
nextButton()->setText( tr( "&Next >" ) );
QWhatsThis::add( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
QToolTip::add ( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
- nextButton()->disconnect();
- connect( nextButton(), SIGNAL( clicked() ), this, SLOT( next() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) );
+ disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) );
+ connect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) );
// enable button
setBackEnabled( true );
}
diff --git a/src/icons.h b/src/icons.h
index 771d1fe..e61146d 100644
--- a/src/icons.h
+++ b/src/icons.h
@@ -3034,80 +3034,8 @@ static const char* const SALOME_Logo_xpm[] = {
"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"};
-static const char* const _img_back[]={
-"16 16 5 1",
-"# c #000000",
-"a c #ffffff",
-"c c #808080",
-"b c #c0c0c0",
-". c None",
-"................",
-".......#........",
-"......##........",
-".....#a#........",
-"....#aa########.",
-"...#aabaaaaaaa#.",
-"..#aabbbbbbbbb#.",
-"...#abbbbbbbbb#.",
-"...c#ab########.",
-"....c#a#ccccccc.",
-".....c##c.......",
-"......c#c.......",
-".......cc.......",
-"........c.......",
-"................",
-"......................"};
-
-static const char* const _img_forward[]={
-"16 16 5 1",
-"# c #000000",
-"a c #ffffff",
-"c c #808080",
-"b c #c0c0c0",
-". c None",
-"................",
-"................",
-".........#......",
-".........##.....",
-".........#a#....",
-"..########aa#...",
-"..#aaaaaaabaa#..",
-"..#bbbbbbbbbaa#.",
-"..#bbbbbbbbba#..",
-"..########ba#c..",
-"..ccccccc#a#c...",
-"........c##c....",
-"........c#c.....",
-"........cc......",
-"........c.......",
-"................",
-"................"};
-static const char* const _img_home[]={
-"16 16 4 1",
-"# c #000000",
-"a c #ffffff",
-"b c #c0c0c0",
-". c None",
-"........... ....",
-" ....##.......",
-"..#...####......",
-"..#..#aabb#.....",
-"..#.#aaaabb#....",
-"..##aaaaaabb#...",
-"..#aaaaaaaabb#..",
-".#aaaaaaaaabbb#.",
-"###aaaaaaaabb###",
-"..#aaaaaaaabb#..",
-"..#aaa###aabb#..",
-"..#aaa#.#aabb#..",
-"..#aaa#.#aabb#..",
-"..#aaa#.#aabb#..",
-"..#aaa#.#aabb#..",
-"..#####.######..",
-"................"};
-
-static const char* const _img_close[]={
+static const char* const image_close[]={
"16 16 3 1",
". c None",
"# c #800000",
@@ -3129,7 +3057,7 @@ static const char* const _img_close[]={
"................",
"................"};
-static const char* const image1_data[] = {
+static const char* const image_logo[] = {
"54 20 415 2",
"bH c #004f87",
"a1 c #005089",
@@ -3567,7 +3495,7 @@ static const char* const image1_data[] = {
"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQteteuevaiQtQtQtQtQtQtQt",
"aiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiai.7ewexeyezeAeBeC#Kaiaiaiai#5"};
-static const char* const image0_data[] = {
+static const char* const image_icon[] = {
"16 16 14 1",
". c None",
"g c #392900",
@@ -3600,4 +3528,1016 @@ static const char* const image0_data[] = {
"................",
"................"};
+static const char* const image_home[] = {
+"20 20 188 2",
+" c None",
+". c #D2D2D2",
+"+ c #595959",
+"@ c #0F0F0F",
+"# c #B8B8B8",
+"$ c #D8D8D8",
+"% c #BFBFBF",
+"& c #9A9A9A",
+"* c #C9C9C9",
+"= c #818181",
+"- c #ADADAD",
+"; c #7D7D7D",
+"> c #3F3F3F",
+", c #A8A8A8",
+"' c #D4D4D4",
+") c #757575",
+"! c #0A0A0A",
+"~ c #B9B9B9",
+"{ c #7E7E7E",
+"] c #AAAAAA",
+"^ c #BEBEBE",
+"/ c #B4B4B4",
+"( c #6D6D6D",
+"_ c #4C4C4C",
+": c #747474",
+"< c #626262",
+"[ c #AFAFAF",
+"} c #7F7F7F",
+"| c #7C7C7C",
+"1 c #797979",
+"2 c #5E5E5E",
+"3 c #4A4A4A",
+"4 c #9F9F9F",
+"5 c #737373",
+"6 c #333333",
+"7 c #C2C2C2",
+"8 c #A4A4A4",
+"9 c #545454",
+"0 c #4E4E4E",
+"a c #4F4F4F",
+"b c #343434",
+"c c #D7D7D7",
+"d c #CFCFCF",
+"e c #717171",
+"f c #C3C3C3",
+"g c #9B9B9B",
+"h c #4D4D4D",
+"i c #898787",
+"j c #D3D2D2",
+"k c #E1E1E1",
+"l c #A7A5A5",
+"m c #535353",
+"n c #222222",
+"o c #CECECE",
+"p c #858585",
+"q c #ACACAC",
+"r c #A0A0A0",
+"s c #4E4D4D",
+"t c #888787",
+"u c #F3F3F3",
+"v c #FAFAFA",
+"w c #E0DFDF",
+"x c #A4A2A2",
+"y c #5A5959",
+"z c #525252",
+"A c #9D9D9D",
+"B c #D3D3D3",
+"C c #828282",
+"D c #9E9E9E",
+"E c #8D8D8D",
+"F c #505050",
+"G c #868585",
+"H c #D5D4D4",
+"I c #F2F2F2",
+"J c #F9F9F9",
+"K c #F7F7F7",
+"L c #E2E2E2",
+"M c #A2A1A1",
+"N c #585757",
+"O c #515151",
+"P c #3E3E3E",
+"Q c #999999",
+"R c #696969",
+"S c #989898",
+"T c #898989",
+"U c #7A7A7A",
+"V c #CCCBCB",
+"W c #F8F8F8",
+"X c #F6F6F6",
+"Y c #DDDCDC",
+"Z c #3D3D3D",
+"` c #312F2F",
+" . c #BCBCBC",
+".. c #E4E4E4",
+"+. c #F8F7F6",
+"@. c #D7BFAE",
+"#. c #AA7A5B",
+"$. c #8D5237",
+"%. c #8A6051",
+"&. c #F8F6F6",
+"*. c #EFEDEC",
+"=. c #292929",
+"-. c #565656",
+";. c #AEAEAE",
+">. c #686767",
+",. c #5F5E5E",
+"'. c #C5C5C5",
+"). c #E7E7E7",
+"!. c #D6C2B8",
+"~. c #A87E66",
+"{. c #DBC7B8",
+"]. c #DAB99F",
+"^. c #9C5021",
+"/. c #936959",
+"(. c #888888",
+"_. c #404040",
+":. c #939393",
+"<. c #A9A9A9",
+"[. c #676767",
+"}. c #C8C8C8",
+"|. c #EBEBEB",
+"1. c #D4C4C6",
+"2. c #BD9C9A",
+"3. c #E7CAB0",
+"4. c #D2945B",
+"5. c #B46830",
+"6. c #9E6A53",
+"7. c #F4F2F2",
+"8. c #8E8E8E",
+"9. c #424242",
+"0. c #A2A2A2",
+"a. c #6C6C6C",
+"b. c #616161",
+"c. c #ECECEC",
+"d. c #D1BDBE",
+"e. c #B38A83",
+"f. c #DDB18C",
+"g. c #CE7C30",
+"h. c #AB4F08",
+"i. c #A16C53",
+"j. c #F4F0F0",
+"k. c #DBDADA",
+"l. c #434343",
+"m. c #6E6E6E",
+"n. c #D1BCBD",
+"o. c #AE8177",
+"p. c #D49B6A",
+"q. c #C86C17",
+"r. c #A64A05",
+"s. c #A26D53",
+"t. c #9C9C9C",
+"u. c #AA7A6F",
+"v. c #CF925D",
+"w. c #C76A14",
+"x. c #A04405",
+"y. c #F2F0F0",
+"z. c #C8B5B6",
+"A. c #955F51",
+"B. c #C47430",
+"C. c #BE5C08",
+"D. c #963E06",
+"E. c #5C5C5C",
+"F. c #C0ADAE",
+"G. c #86452D",
+"H. c #AB5413",
+"I. c #A84C04",
+"J. c #8A3605",
+"K. c #986750",
+"L. c #E8E6E6",
+"M. c #D1D1D1",
+"N. c #959595",
+"O. c #575757",
+"P. c #666666",
+"Q. c #574E4F",
+"R. c #3A190E",
+"S. c #471E04",
+"T. c #431A01",
+"U. c #3E1702",
+"V. c #452F24",
+"W. c #696868",
+"X. c #5F5F5F",
+"Y. c #4C3330",
+"Z. c #B0B0B0",
+"`. c #787878",
+" + c #6B6B6B",
+".+ c #6C6B6B",
+"++ c #8F7E7C",
+"@+ c #BBBBBB",
+" . + @ # $ ",
+" % & * = - ; > , ' ",
+" ) ! ~ { ] ^ / ( _ & ' ",
+" : ! < [ , } | 1 2 3 4 ' ",
+" 5 6 7 8 9 0 0 a + 9 b ] c ",
+" d e f g h i j k l 9 m a n ] ' ",
+" o p q r s t j u v w x y z h 6 A ' ",
+"B C D E F G H I J J K L M N O 3 P Q ' ",
+"R S T F U V u W W W K X Y D 9 F 3 P r ",
+"8 Z ` y ...+.@.#.$.%.&.*.* e 6 =.-.;. ",
+" 7 >.,.'.).!.~.{.].^./.X c (._.:.<. ",
+" e [.}.|.1.2.3.4.5.6.7.$ 8.9.0. ",
+" a.b.}.c.d.e.f.g.h.i.j.k.g l.] ",
+" m.b.}.c.n.o.p.q.r.s.j.k.t.l.- ",
+" m.b.}.c.n.u.v.w.x.i.y.k.t.l.- ",
+" m.b.}.c.z.A.B.C.D.i.j.k.t.l.- ",
+" m.E.% k F.G.H.I.J.K.L.M.N.l.- ",
+" 0._ O.P.Q.R.S.T.U.V.W.X.l.Y.Z. ",
+" D `.m.a. + + +.+ + + +a.++@+ ",
+" ^ ^ ^ ^ ^ ^ ^ ^ "};
+
+static const char* const image_back[] = {
+"20 20 119 2",
+" c None",
+". c #788994",
+"+ c #5C6E82",
+"@ c #2D4D6A",
+"# c #596C7F",
+"$ c #244164",
+"% c #2B4B6B",
+"& c #5C6F83",
+"* c #6080A2",
+"= c #4D6A91",
+"- c #2C4C6C",
+"; c #637588",
+"> c #6D85A1",
+", c #C0D3E4",
+"' c #3F7099",
+") c #224162",
+"! c #8E9195",
+"~ c #98A1AB",
+"{ c #909BA6",
+"] c #8E99A5",
+"^ c #8D97A1",
+"/ c #A1A1A2",
+"( c #5B6E82",
+"_ c #6C839F",
+": c #D6DEE9",
+"< c #A5CFE4",
+"[ c #2B88B6",
+"} c #2C6188",
+"| c #627987",
+"1 c #8D9EB0",
+"2 c #8796A8",
+"3 c #6F8BA3",
+"4 c #173353",
+"5 c #484B51",
+"6 c #6E89A7",
+"7 c #D8DFEA",
+"8 c #BEE0EE",
+"9 c #50B1D5",
+"0 c #1A91C5",
+"a c #46A1CD",
+"b c #A8D5EA",
+"c c #D4EBF5",
+"d c #CBE7F4",
+"e c #90C3E0",
+"f c #214A70",
+"g c #4A515B",
+"h c #587497",
+"i c #CCDEEE",
+"j c #B1D7EA",
+"k c #58B7DA",
+"l c #1894C6",
+"m c #0E84BF",
+"n c #1C90C5",
+"o c #5AAFD6",
+"p c #96C9E2",
+"q c #8CC4E2",
+"r c #4F9CC9",
+"s c #104973",
+"t c #4C525E",
+"u c #55585E",
+"v c #114369",
+"w c #178EBC",
+"x c #1DAED8",
+"y c #159ED1",
+"z c #0E88C3",
+"A c #0E86C1",
+"B c #148AC0",
+"C c #198CBC",
+"D c #1989B7",
+"E c #1688B8",
+"F c #1388BA",
+"G c #0E4774",
+"H c #4D545F",
+"I c #585C64",
+"J c #0D4770",
+"K c #1A8EBE",
+"L c #2BB6DC",
+"M c #1BA4D6",
+"N c #1396C8",
+"O c #23A1C7",
+"P c #34A0C3",
+"Q c #33A0C3",
+"R c #2397BE",
+"S c #158CB9",
+"T c #0D3F6A",
+"U c #4E545E",
+"V c #57616D",
+"W c #0E4A6E",
+"X c #2495BF",
+"Y c #2BB5DA",
+"Z c #147DAA",
+"` c #0F547E",
+" . c #0C365A",
+".. c #0C3559",
+"+. c #0C3659",
+"@. c #0F3858",
+"#. c #091F39",
+"$. c #4E5056",
+"%. c #606B77",
+"&. c #0E476D",
+"*. c #1B7FAD",
+"=. c #125F8C",
+"-. c #244567",
+";. c #9B9FA6",
+">. c #9DA1A7",
+",. c #A0A4AA",
+"'. c #A4A8AE",
+"). c #A0A3A7",
+"!. c #B5B5B6",
+"~. c #5B6571",
+"{. c #0D446C",
+"]. c #104C78",
+"^. c #315171",
+"/. c #61636B",
+"(. c #102B4A",
+"_. c #315071",
+":. c #63656B",
+"<. c #2E445C",
+"[. c #828488",
+" ",
+" ",
+" . ",
+" + @ ",
+" # $ % ",
+" & * = - ",
+" ; > , ' ) ! ~ { ] ^ / ",
+" ( _ : < [ } | 1 2 3 4 5 ",
+" # 6 7 8 9 0 a b c d e f g ",
+" + h i j k l m n o p q r s t ",
+" u v w x y z A B C D E F G H ",
+" I J K L M N O P Q R S T U ",
+" V W X Y Z ` ...+.@.#.$. ",
+" %.&.*.=.-.;.>.,.'.).!. ",
+" ~.{.].^. ",
+" /.(._. ",
+" :.<. ",
+" [. ",
+" ",
+" "};
+
+static const char* const image_next[] = {
+"20 20 109 2",
+" c None",
+". c #828F9C",
+"+ c #33506E",
+"@ c #545454",
+"# c #2B4A6B",
+"$ c #285572",
+"% c #565656",
+"& c #2B4B6B",
+"* c #7BA9CA",
+"= c #37607B",
+"- c #585E61",
+"; c #ACB2B8",
+"> c #99A2AC",
+", c #848F9B",
+"' c #7E8995",
+") c #838E9A",
+"! c #8A95A0",
+"~ c #224466",
+"{ c #9FC3DB",
+"] c #AFCADE",
+"^ c #436479",
+"/ c #62696E",
+"( c #6D7E91",
+"_ c #5C7B97",
+": c #758CA3",
+"< c #8494A7",
+"[ c #8998AA",
+"} c #6D89A5",
+"| c #99C4DE",
+"1 c #A4CEE4",
+"2 c #C1D5E2",
+"3 c #436378",
+"4 c #5C6265",
+"5 c #65778A",
+"6 c #A3BBCF",
+"7 c #AED2E5",
+"8 c #D6E8F2",
+"9 c #D5E7F3",
+"0 c #B3D6EB",
+"a c #8CC2E0",
+"b c #3CA7D2",
+"c c #45A7D2",
+"d c #B5DAEB",
+"e c #C8D9E5",
+"f c #3B627C",
+"g c #606060",
+"h c #607387",
+"i c #C0CDDA",
+"j c #7AB5D5",
+"k c #5CB5D7",
+"l c #63B8DA",
+"m c #31A5D1",
+"n c #2C9ACC",
+"o c #0E81BA",
+"p c #1284BC",
+"q c #44A6D1",
+"r c #A9D3E8",
+"s c #C1D8E9",
+"t c #295673",
+"u c #616161",
+"v c #4F637A",
+"w c #BCCAD9",
+"x c #6DB6D8",
+"y c #1386B6",
+"z c #1785B3",
+"A c #1389BA",
+"B c #0F8DC3",
+"C c #0F84BC",
+"D c #0E86C1",
+"E c #32A0CF",
+"F c #47BEE0",
+"G c #2091BE",
+"H c #114264",
+"I c #636363",
+"J c #465C73",
+"K c #7FA1BD",
+"L c #599EC3",
+"M c #2396BD",
+"N c #33A1C4",
+"O c #279BC1",
+"P c #159DCA",
+"Q c #129ED0",
+"R c #1BA5D6",
+"S c #2FB8DC",
+"T c #2391BD",
+"U c #0D4568",
+"V c #666666",
+"W c #475E75",
+"X c #0F334E",
+"Y c #0A2D46",
+"Z c #092E47",
+"` c #093049",
+" . c #0D537D",
+".. c #1397C9",
+"+. c #2491BC",
+"@. c #0E4465",
+"#. c #646A6E",
+"$. c #979FA7",
+"%. c #848688",
+"&. c #878787",
+"*. c #8B8B8B",
+"=. c #8E8E8E",
+"-. c #909090",
+";. c #234363",
+">. c #1A98C6",
+",. c #6D747A",
+"'. c #2F4F6F",
+"). c #2A74A0",
+"!. c #8494A4",
+" ",
+" ",
+" . ",
+" + @ ",
+" # $ % ",
+" & * = - ",
+" ; > , ' ) ! ~ { ] ^ / ",
+" ( _ : < < [ } | 1 2 3 4 ",
+" 5 6 7 8 9 0 a b c d e f g ",
+" h i j k l m n o p q r s t u ",
+" v w x y z A B C D E F G H I ",
+" J K L M N O P Q R S T U V ",
+" W X Y Y Z ` ...S +.@.#. ",
+" $.%.&.*.=.-.;.>.T @.,. ",
+" '.).U #. ",
+" '.H V ",
+" '.I ",
+" !. ",
+" ",
+" "};
+
+static const char* const image_zoom_in[] = {
+"20 20 240 2",
+" c None",
+". c #A0A0A0",
+"+ c #505151",
+"@ c #48494A",
+"# c #4A4A4B",
+"$ c #5A5A5B",
+"% c #D2D2D2",
+"& c #ADADAD",
+"* c #626263",
+"= c #7A7C7D",
+"- c #A9AEAF",
+"; c #BEC8CA",
+"> c #C0CDCF",
+", c #B8C3C5",
+"' c #909597",
+") c #414343",
+"! c #646464",
+"~ c #CECECE",
+"{ c #A9A9A9",
+"] c #666667",
+"^ c #ADB2B3",
+"/ c #E0EAEB",
+"( c #E5F4F6",
+"_ c #DAF3F8",
+": c #D2F0F7",
+"< c #C4EBF4",
+"[ c #CAECF3",
+"} c #CDDFE2",
+"| c #828586",
+"1 c #6E6E6E",
+"2 c #C6C6C6",
+"3 c #D6D6D6",
+"4 c #595A5A",
+"5 c #ABB2B3",
+"6 c #E7F2F4",
+"7 c #F7FDFD",
+"8 c #DEF4F9",
+"9 c #C0E8F1",
+"0 c #A6DDEA",
+"a c #96D3E0",
+"b c #A9DDE6",
+"c c #C3D8DC",
+"d c #808483",
+"e c #737373",
+"f c #9F9F9F",
+"g c #838687",
+"h c #D5E1E4",
+"i c #E9F7F9",
+"j c #F9FCFD",
+"k c #FAFDFE",
+"l c #E2F5F8",
+"m c #BAE5EE",
+"n c #9FDAE7",
+"o c #8ACEDB",
+"p c #7AC4D2",
+"q c #9FD5E1",
+"r c #A5BBBE",
+"s c #747575",
+"t c #B7B7B7",
+"u c #5A5B5B",
+"v c #B8BFC0",
+"w c #DEEDF1",
+"x c #D4EDF4",
+"y c #E4F4F8",
+"z c #C2E9F0",
+"A c #A8DEEA",
+"B c #92D6E4",
+"C c #7AC9DB",
+"D c #5FB0C2",
+"E c #7DC3D1",
+"F c #AED6DE",
+"G c #899293",
+"H c #8A8A8A",
+"I c #535455",
+"J c #C2CBCD",
+"K c #DCEFF3",
+"L c #C5E8EF",
+"M c #C3E9F0",
+"N c #BBE7EF",
+"O c #A6DEEA",
+"P c #92D5E4",
+"Q c #7ECDDF",
+"R c #63B9CD",
+"S c #4A9FAF",
+"T c #6AB8C5",
+"U c #ADDAE3",
+"V c #7D8B8D",
+"W c #686868",
+"X c #4E4F4F",
+"Y c #B4BDBD",
+"Z c #D1EAEF",
+"` c #B0DDE6",
+" . c #A2DBE6",
+".. c #9DD9E7",
+"+. c #90D5E4",
+"@. c #5EC0D4",
+"#. c #4BA3B3",
+"$. c #42919E",
+"%. c #6DBBC9",
+"&. c #A9D3DB",
+"*. c #747A7B",
+"=. c #616161",
+"-. c #676868",
+";. c #929695",
+">. c #C8DEE2",
+",. c #A3DAE5",
+"'. c #8ACDDA",
+"). c #81C9D7",
+"!. c #73C3D4",
+"~. c #5ABCCF",
+"{. c #47A3B4",
+"]. c #3C8A98",
+"^. c #4C9FAE",
+"/. c #98D1DF",
+"(. c #A8B7B9",
+"_. c #4E5253",
+":. c #787878",
+"<. c #BDBDBD",
+"[. c #565756",
+"}. c #97A0A1",
+"|. c #C1E7EF",
+"1. c #8FCEDB",
+"2. c #6DBAC9",
+"3. c #59ADBC",
+"4. c #499DAC",
+"5. c #3F8D9B",
+"6. c #4C9EAF",
+"7. c #8BCDDE",
+"8. c #C9DFE3",
+"9. c #777B7B",
+"0. c #3D3E3E",
+"a. c #A7A7A7",
+"b. c #D4D4D4",
+"c. c #898989",
+"d. c #656565",
+"e. c #9AA2A2",
+"f. c #C3E0E7",
+"g. c #A6D7E2",
+"h. c #92CFDA",
+"i. c #83C8D6",
+"j. c #89CCDA",
+"k. c #B4DFE9",
+"l. c #C6D8DC",
+"m. c #6D6E6E",
+"n. c #313536",
+"o. c #4F4829",
+"p. c #B1A675",
+"q. c #B8B8B8",
+"r. c #6C6C6C",
+"s. c #6D6D6D",
+"t. c #737F80",
+"u. c #8BA4A9",
+"v. c #AEC9CD",
+"w. c #B6D2D6",
+"x. c #AABEC3",
+"y. c #7F9A9E",
+"z. c #5F6668",
+"A. c #323433",
+"B. c #5D594B",
+"C. c #F1EBD7",
+"D. c #ABA075",
+"E. c #95917C",
+"F. c #ACACAC",
+"G. c #6F6F6F",
+"H. c #636363",
+"I. c #6A6A6B",
+"J. c #666666",
+"K. c #4F5353",
+"L. c #555858",
+"M. c #363014",
+"N. c #B29F58",
+"O. c #C1BBA4",
+"P. c #BCBCBD",
+"Q. c #707071",
+"R. c #868687",
+"S. c #9B9B9B",
+"T. c #797979",
+"U. c #6A6A6A",
+"V. c #7B7B7B",
+"W. c #9D9C99",
+"X. c #7D754B",
+"Y. c #6F6634",
+"Z. c #4B4E4F",
+"`. c #939495",
+" + c #B3B3B4",
+".+ c #B9B9B9",
+"++ c #A1A1A1",
+"@+ c #B3B3B3",
+"#+ c #AAAAAA",
+"$+ c #A8A8A8",
+"%+ c #AAA9A3",
+"&+ c #716D57",
+"*+ c #383A3B",
+"=+ c #4B4D4E",
+"-+ c #898A8A",
+";+ c #A5A5A6",
+">+ c #676768",
+",+ c #BBBBBB",
+"'+ c #D0D0D0",
+")+ c #5E5E5E",
+"!+ c #767676",
+"~+ c #AEAEAE",
+"{+ c #575758",
+"]+ c #272828",
+"^+ c #494C4D",
+"/+ c #828484",
+"(+ c #626262",
+"_+ c #6C6C6D",
+":+ c #989898",
+"<+ c #979797",
+"[+ c #5C5C5C",
+"}+ c #969696",
+"|+ c #4C4C4C",
+"1+ c #373839",
+"2+ c #4A4D4E",
+"3+ c #818283",
+"4+ c #7E7E7F",
+"5+ c #444445",
+"6+ c #434343",
+"7+ c #464646",
+"8+ c #151515",
+"9+ c #1D1D1D",
+"0+ c #959595",
+"a+ c #373737",
+"b+ c #2A2B2C",
+"c+ c #313232",
+"d+ c #3E3E3F",
+"e+ c #454545",
+"f+ c #444444",
+"g+ c #BCBCBC",
+"h+ c #919191",
+"i+ c #313131",
+"j+ c #0B0C0C",
+"k+ c #2F2F30",
+"l+ c #878788",
+"m+ c #4E4E4E",
+"n+ c #545454",
+"o+ c #B0B0B0",
+"p+ c #9A9A9A",
+"q+ c #A4A4A4",
+" . + @ @ # $ % ",
+" & * = - ; > , ' ) ! ~ ",
+" { ] ^ / ( _ : < [ } | 1 2 ",
+"3 4 5 6 7 7 8 9 0 a b c d e ",
+"f g h i j k l m n o p q r s t ",
+"u v w x y l z A B C D E F G H ",
+"I J K L M N O P Q R S T U V W ",
+"X Y Z ` ...+.Q @.#.$.%.&.*.=. ",
+"-.;.>.,.'.).!.~.{.].^./.(._.:. ",
+"<.[.}.|.1.2.3.4.5.6.7.8.9.0.a. ",
+"b.c.d.e.f.g.h.i.j.k.l.m.n.o.p. ",
+" q.r.s.t.u.v.w.x.y.z.A.B.C.D.E. ",
+" F.G.H.d.I.W J.K.L.M.N.O.P.Q.R. ",
+" t S.T.s.U.W V.W.X.Y.Z.`. +r.T..+ ",
+" ++++ @+#+$+a.{ & %+&+*+=+-+;+>+=.,+",
+" '+)+!+ ~+{+]+^+/+++(+_+",
+":+<+V.[+}+ f |+1+2+3+4+5+",
+"6+7+6+8+9+H 0+a+b+^+c+d+",
+" @+e+f+g+ h+i+j+k+l+",
+" m+n+ o+p+:+q+"};
+
+static const char* const image_zoom_out[] = {
+"20 20 240 2",
+" c None",
+". c #A0A0A0",
+"+ c #505151",
+"@ c #48494A",
+"# c #4A4A4B",
+"$ c #5A5A5B",
+"% c #D2D2D2",
+"& c #ADADAD",
+"* c #626263",
+"= c #7A7C7D",
+"- c #A9AEAF",
+"; c #BEC8CA",
+"> c #C0CDCF",
+", c #B8C3C5",
+"' c #909597",
+") c #414343",
+"! c #646464",
+"~ c #CECECE",
+"{ c #A9A9A9",
+"] c #666667",
+"^ c #ADB2B3",
+"/ c #E0EAEB",
+"( c #E5F4F6",
+"_ c #DAF3F8",
+": c #D2F0F7",
+"< c #C4EBF4",
+"[ c #CAECF3",
+"} c #CDDFE2",
+"| c #828586",
+"1 c #6E6E6E",
+"2 c #C6C6C6",
+"3 c #595A5A",
+"4 c #ABB2B3",
+"5 c #E7F2F4",
+"6 c #F7FDFD",
+"7 c #DEF4F9",
+"8 c #C0E8F1",
+"9 c #A6DDEA",
+"0 c #96D3E0",
+"a c #A9DDE6",
+"b c #C3D8DC",
+"c c #808483",
+"d c #737373",
+"e c #9F9F9F",
+"f c #838687",
+"g c #D5E1E4",
+"h c #E9F7F9",
+"i c #F9FCFD",
+"j c #FAFDFE",
+"k c #E2F5F8",
+"l c #BAE5EE",
+"m c #9FDAE7",
+"n c #8ACEDB",
+"o c #7AC4D2",
+"p c #9FD5E1",
+"q c #A5BBBE",
+"r c #747575",
+"s c #B7B7B7",
+"t c #5A5B5B",
+"u c #B8BFC0",
+"v c #DEEDF1",
+"w c #D4EDF4",
+"x c #E4F4F8",
+"y c #C2E9F0",
+"z c #A8DEEA",
+"A c #92D6E4",
+"B c #7AC9DB",
+"C c #5FB0C2",
+"D c #7DC3D1",
+"E c #AED6DE",
+"F c #899293",
+"G c #8A8A8A",
+"H c #535455",
+"I c #C2CBCD",
+"J c #DCEFF3",
+"K c #C5E8EF",
+"L c #C3E9F0",
+"M c #BBE7EF",
+"N c #A6DEEA",
+"O c #92D5E4",
+"P c #7ECDDF",
+"Q c #63B9CD",
+"R c #4A9FAF",
+"S c #6AB8C5",
+"T c #ADDAE3",
+"U c #7D8B8D",
+"V c #686868",
+"W c #CDCDCD",
+"X c #4E4F4F",
+"Y c #B4BDBD",
+"Z c #D1EAEF",
+"` c #B0DDE6",
+" . c #A2DBE6",
+".. c #9DD9E7",
+"+. c #90D5E4",
+"@. c #5EC0D4",
+"#. c #4BA3B3",
+"$. c #42919E",
+"%. c #6DBBC9",
+"&. c #A9D3DB",
+"*. c #747A7B",
+"=. c #616161",
+"-. c #C5C5C5",
+";. c #676868",
+">. c #929695",
+",. c #C8DEE2",
+"'. c #A3DAE5",
+"). c #8ACDDA",
+"!. c #81C9D7",
+"~. c #73C3D4",
+"{. c #5ABCCF",
+"]. c #47A3B4",
+"^. c #3C8A98",
+"/. c #4C9FAE",
+"(. c #98D1DF",
+"_. c #A8B7B9",
+":. c #4E5253",
+"<. c #787878",
+"[. c #C3C3C3",
+"}. c #BDBDBD",
+"|. c #565756",
+"1. c #97A0A1",
+"2. c #C1E7EF",
+"3. c #8FCEDB",
+"4. c #6DBAC9",
+"5. c #59ADBC",
+"6. c #499DAC",
+"7. c #3F8D9B",
+"8. c #4C9EAF",
+"9. c #8BCDDE",
+"0. c #C9DFE3",
+"a. c #777B7B",
+"b. c #3D3E3E",
+"c. c #A7A7A7",
+"d. c #898989",
+"e. c #656565",
+"f. c #9AA2A2",
+"g. c #C3E0E7",
+"h. c #A6D7E2",
+"i. c #92CFDA",
+"j. c #83C8D6",
+"k. c #89CCDA",
+"l. c #B4DFE9",
+"m. c #C6D8DC",
+"n. c #6D6E6E",
+"o. c #313536",
+"p. c #4F4829",
+"q. c #B1A675",
+"r. c #C5C5C3",
+"s. c #B8B8B8",
+"t. c #6C6C6C",
+"u. c #6D6D6D",
+"v. c #737F80",
+"w. c #8BA4A9",
+"x. c #AEC9CD",
+"y. c #B6D2D6",
+"z. c #AABEC3",
+"A. c #7F9A9E",
+"B. c #5F6668",
+"C. c #323433",
+"D. c #5D594B",
+"E. c #F1EBD7",
+"F. c #ABA075",
+"G. c #95917C",
+"H. c #D3D3D3",
+"I. c #ACACAC",
+"J. c #6F6F6F",
+"K. c #636363",
+"L. c #6A6A6B",
+"M. c #666666",
+"N. c #4F5353",
+"O. c #555858",
+"P. c #363014",
+"Q. c #B29F58",
+"R. c #C1BBA4",
+"S. c #BCBCBD",
+"T. c #707071",
+"U. c #868687",
+"V. c #C9C9C9",
+"W. c #9B9B9B",
+"X. c #797979",
+"Y. c #6A6A6A",
+"Z. c #7B7B7B",
+"`. c #9D9C99",
+" + c #7D754B",
+".+ c #6F6634",
+"++ c #4B4E4F",
+"@+ c #939495",
+"#+ c #B3B3B4",
+"$+ c #B9B9B9",
+"%+ c #CFCFCF",
+"&+ c #C1C1C1",
+"*+ c #B3B3B3",
+"=+ c #AAAAAA",
+"-+ c #A8A8A8",
+";+ c #AAA9A3",
+">+ c #716D57",
+",+ c #383A3B",
+"'+ c #4B4D4E",
+")+ c #898A8A",
+"!+ c #A5A5A6",
+"~+ c #676768",
+"{+ c #BBBBBB",
+"]+ c #CACACA",
+"^+ c #AEAEAE",
+"/+ c #575758",
+"(+ c #272828",
+"_+ c #494C4D",
+":+ c #828484",
+"<+ c #A1A1A1",
+"[+ c #626262",
+"}+ c #6C6C6D",
+"|+ c #989898",
+"1+ c #979797",
+"2+ c #969696",
+"3+ c #BEBEBE",
+"4+ c #4C4C4C",
+"5+ c #373839",
+"6+ c #4A4D4E",
+"7+ c #818283",
+"8+ c #7E7E7F",
+"9+ c #444445",
+"0+ c #434343",
+"a+ c #3A3A3A",
+"b+ c #1D1D1D",
+"c+ c #959595",
+"d+ c #373737",
+"e+ c #2A2B2C",
+"f+ c #313232",
+"g+ c #3E3E3F",
+"h+ c #BCBCBC",
+"i+ c #C8C8C8",
+"j+ c #919191",
+"k+ c #313131",
+"l+ c #0B0C0C",
+"m+ c #2F2F30",
+"n+ c #878788",
+"o+ c #B0B0B0",
+"p+ c #9A9A9A",
+"q+ c #A4A4A4",
+" . + @ @ # $ % ",
+" & * = - ; > , ' ) ! ~ ",
+" { ] ^ / ( _ : < [ } | 1 2 ",
+" 3 4 5 6 6 7 8 9 0 a b c d ",
+"e f g h i j k l m n o p q r s ",
+"t u v w x k y z A B C D E F G ",
+"H I J K L M N O P Q R S T U V W ",
+"X Y Z ` ...+.P @.#.$.%.&.*.=.-. ",
+";.>.,.'.).!.~.{.].^./.(._.:.<.[. ",
+"}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.[. ",
+" d.e.f.g.h.i.j.k.l.m.n.o.p.q.r. ",
+" s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H. ",
+" % I.J.K.e.L.V M.N.O.P.Q.R.S.T.U.V. ",
+" W s W.X.u.Y.V Z.`. +.+++@+#+t.X.$+ ",
+" %+&+*+=+-+c.{ & ;+>+,+'+)+!+~+=.{+",
+" %+2 [.[.[.V.]+^+/+(+_+:+<+[+}+",
+"|+|+|+1+2+3+ % e 4+5+6+7+8+9+",
+"0+0+a+b+b+G ~ c+d+e+_+f+g+",
+"2 2 [.h+h+H. i+j+k+l+m+n+",
+" W o+p+|+q+"};
+
#endif
+