From: maintenance team Date: Fri, 28 May 2010 11:20:24 +0000 (+0000) Subject: Update for Salome 6.1.0 X-Git-Tag: V6_1_0~19 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=8ba0079b0130f77ab0f3ae4d0e45e6a52d382d55;p=tools%2Finstall.git Update for Salome 6.1.0 --- diff --git a/README b/README index fa1a5f1..8f8e012 100644 --- a/README +++ b/README @@ -122,13 +122,13 @@ source salome.csh where is KERNEL binaries directory, e.g. - KERNEL_5.1.3 for the 5.1.3 version. + KERNEL_6.1.0 for the 6.1.0 version. 2.2. Launching of SALOME After you set environment you can start SALOME. Go to the KERNEL - module's binaries directory (KERNEL_5.1.3/bin/salome for the version - 5.1.3) by using of 'cd' command and then type: + module's binaries directory (KERNEL_6.1.0/bin/salome for the version + 6.1.0) by using of 'cd' command and then type: runSalome [] @@ -318,7 +318,7 @@ In this scenario it is supposed that you have installed SALOME modules sources in the /home/user/salome directory. The name of each module sources directory depends on the version of the platform, for example, - KERNEL_SRC_5.1.3 for KERNEL module of SALOME version 5.1.3. + KERNEL_SRC_6.1.0 for KERNEL module of SALOME version 6.1.0. Compilation and installation should be performed according to the dependencies between modules: @@ -389,12 +389,12 @@ - create a configuration script by typing - ../KERNEL_SRC_5.1.3/build_configure + ../KERNEL_SRC_6.1.0/build_configure - run configure script which will check the environment and create Makefile files: - ../KERNEL_SRC_5.1.3/configure --prefix=/home/user/salome/KERNEL-5.1.3 + ../KERNEL_SRC_6.1.0/configure --prefix=/home/user/salome/KERNEL-6.1.0 Note, that --prefix option defines the directory where you want to install KERNEL module after 'make install' procedure. configure script @@ -409,17 +409,17 @@ make install After you have completed this scenario, KERNEL module is built and - installed into /home/user/salome/KERNEL-5.1.3 directory. + installed into /home/user/salome/KERNEL-6.1.0 directory. - modify your environment scripts: * for bash: - export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-5.1.3 + export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-6.1.0 * for csh: - setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-5.1.3 + setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-6.1.0 - then repeat this scenario for other modules you want to build taking into account the dependencies between modules (see dependencies table @@ -437,7 +437,7 @@ setenv MODULE_ROOT_DIR /home/user/salome/ - where is a MODULE-5.1.3 (see above). + where is a MODULE-6.1.0 (see above). 4.2. Automatic build procedure: build.csh and build.sh scripts diff --git a/config_files/CAS-6.3sp9-patch.sh b/config_files/CAS-6.3sp9-patch.sh new file mode 100755 index 0000000..2556da9 --- /dev/null +++ b/config_files/CAS-6.3sp9-patch.sh @@ -0,0 +1,134 @@ +#!/bin/bash -noprofile + +#################################################################################### +# File : CAS-6.3sp9.sh +# Created : Thu Dec 18 12:01:00 2002 +# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com) +# Project : SALOME +# Module : Installation Wizard +# Copyright : 2002-2008 CEA +# +# This script is the part of the SALOME installation procedure. +# +#################################################################################### + +check_version() +{ +if [ -z "$CASROOT" ]; then + return 1 +fi +check_lib_version ${CASROOT}/inc/Standard_Version.hxx +if [ "$?" -ne "0" ] ; then + return 1 +fi +ver_major=`grep "#define OCC_VERSION_MAJOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'` +ver_minor=`grep "#define OCC_VERSION_MINOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'` +ver_maint=`grep "#define OCC_VERSION_MAINTENANCE" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'` +ver="$ver_major.$ver_minor.$ver_maint" +if [ "$ver" == "6.3" ] ; then + return 0 +fi +return 1 +} + +print_env_bin() +{ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <> ${PRODUCT_DIR}/MAKE-PATH.LOG < ${PRODUCT_DIR}/size.log +cd ${PRODUCT_DIR}; + +# remove sources and temporary files after building +if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then + test -d ${INST_ROOT}/${PRODUCT}-patch_SRC && rm -fr ${INST_ROOT}/${PRODUCT}-patch_SRC + test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR} +fi + +# to generate environment scripts +try_preinstalled +} + +install_binary() +{ +make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE} +source ${INSTALL_WORK}/$SHRC + +# create a product directory + +check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}-patch.tar.gz -C ${PRODUCT_DIR} + +try_preinstalled +} + +export PROCEDURE=$1; +export INSTALL_WORK=$2; +export SOURCE_DIR=$3; +export INST_ROOT=$4; +export PRODUCT_SEQUENCE=$5; +export PRODUCT_TYPE=$6; +export INSTALL_PRODUCTS=$7; +shift +REMOVE_SRC_TMP=$8; +test $# == 10 && shift && SINGLE_DIR=$9 +export PRODUCT="CAS-6.3sp9" +export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} +export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT} +export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC +source ./common.sh +$PROCEDURE diff --git a/config_files/CAS-6.3sp9.sh b/config_files/CAS-6.3sp9.sh new file mode 100755 index 0000000..45d7c07 --- /dev/null +++ b/config_files/CAS-6.3sp9.sh @@ -0,0 +1,283 @@ +#!/bin/bash -noprofile + +#################################################################################### +# File : CAS-6.3sp9.sh +# Created : Thu Dec 18 12:01:00 2002 +# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com) +# Project : SALOME +# Module : Installation Wizard +# Copyright : 2002-2008 CEA +# +# This script is the part of the SALOME installation procedure. +# +#################################################################################### + +check_version() +{ +if [ -z "$CASROOT" ]; then + return 1 +fi +check_lib_version ${CASROOT}/inc/Standard_Version.hxx +if [ "$?" -ne "0" ] ; then + return 1 +fi +ver_major=`grep "#define OCC_VERSION_MAJOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'` +ver_minor=`grep "#define OCC_VERSION_MINOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'` +ver_maint=`grep "#define OCC_VERSION_MAINTENANCE" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'` +ver="$ver_major.$ver_minor.$ver_maint" +if [ "$ver" == "6.3" ] ; then + return 0 +fi +return 1 +} + +print_env_bin() +{ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < /dev/null + if [ $? == 0 ] ; then is_mandriva2007=1 ; fi +fi + +if [ -e /etc/issue ] ; then + grep -e "Mandriva Linux release 2008.0" /etc/issue > /dev/null + if [ $? == 0 ] ; then is_mandriva2008=1 ; fi +fi + +if [ -e /etc/issue ] ; then + grep -e "Debian GNU/Linux 4.0" /etc/issue > /dev/null + if [ $? == 0 ] ; then is_debian40=1 ; fi +fi + +if [ $is_mandriva2007 == 1 ] || [ $is_mandriva2008 == 1 ] || [ $is_debian40 == 1 ] ; then +where_xmu_include=/usr/include/X11 +else +where_xmu_include=/usr/X11R6/include/X11 +fi + +flags="$flags --with-xmu-include=$where_xmu_include" + +if test `uname -m` = "x86_64" ; then + flags="$flags --with-xmu-library=/usr/lib64" +else + flags="$flags --with-xmu-library=/usr/X11R6/lib" +fi + + flags="$flags LDFLAGS=-lpthread" +glincdir="`where_gl_includes`" +if [ $? -eq 0 ] ; then flags="$flags --with-gl-include=$glincdir"; fi +gllibdir="`where_gl_libs`" +if [ $? -eq 0 ] ; then flags="$flags --with-gl-library=$gllibdir"; fi +tcldir="`where_tcl`" +if [ $? -eq 0 ] ; then flags="$flags --with-tcl=$tcldir"; fi +tkdir="`where_tk`" +if [ $? -eq 0 ] ; then flags="$flags --with-tk=$tkdir"; fi +dpsdir="`where_dps`" +if [ $? -eq 0 ] ; then flags="$flags --with-dps-include=$dpsdir/include --with-dps-library=$dpsdir/lib"; fi +flags="$flags --disable-wrappers --disable-wok --disable-debug --enable-production" + +export CASROOT=${PRODUCT_SRC_DIR} + +echo "`pwd` -> ./configure --prefix=${PRODUCT_DIR} $flags >> ${PRODUCT_DIR}/CONFIGURE.LOG" +./configure --prefix=${PRODUCT_DIR} $flags >> ${PRODUCT_DIR}/CONFIGURE.LOG 2> ${INSTALL_WORK}/errlog + +# make +echo " +++++++++++ make" +GCC=`which gcc` +cat >> ${PRODUCT_DIR}/MAKE.LOG </dev/null`" ] ; then + str_to_replace="${gllibdir}/libGL.la" + fi + fi + if [ "$str_to_replace" == "" ] ; then + str_to_replace="-L${gllibdir} -lGL" + fi + + sed -e "s%-lGL\b%%g" \ + -e "s%[^[:space:]]*libGL.la[[:space:]]%%g" \ + -e "s%^dependency_libs='\(.*\)%dependency_libs='${str_to_replace} \1%" \ + libTKOpenGl.la > libTKOpenGl.la.new + mv -f libTKOpenGl.la.new libTKOpenGl.la +fi + +#du -sk ${PRODUCT_SRC_DIR} > ${PRODUCT_DIR}/size.log +cd ${PRODUCT_DIR}; + +# remove sources and temporary files after building +echo "${INSTALL_PRODUCTS}" | grep -q "PatchForOpenCascade" +if [ $? -eq 1 ] && [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then + test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR} +fi + +# to generate environment scripts +try_preinstalled +} + +install_binary() +{ +make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE} +source ${INSTALL_WORK}/$SHRC + +# create a product directory +test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} + +check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR} + +is_mandriva2008=0 + +if [ -e /etc/issue ] ; then + grep -e "Mandriva Linux release 2008.0" /etc/issue > /dev/null + if [ $? == 0 ] ; then is_mandriva2008=1 ; fi +fi + +# modify *.la files +ldir=${PRODUCT_DIR}/lib +if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/Linux/lib; fi +if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/lin/lib; fi +cd $ldir +# 1. set libdir correctly, correct dependencies, set tcldir correctly +tcldir=`printenv TCLHOME` +for l in X `find . -name "*.la"`; do + if [ "$l" != "X" ] ; then + l=`basename $l` + libdir=`grep -e "libdir=.*" $l | sed -e "s/libdir=[\'|\"]\(.*\)[\'|\"]/\1/g"` + sed -e "s%${libdir}%${ldir}%g" $l > _$l + mv -f _$l $l + if [ -n "${tcldir}" ] && [ -d "${tcldir}" ] ; then + sed -e "s%-L[^[:space:]]*tcltk[^[:space:]]*/lib%-L${tcldir}/lib%g" $l > _$l + mv -f _$l $l + fi + chmod a+x $l + fi +done + +# 2. fix libGL dependencies + +#if test "$is_mandriva2008" = "1" && test `uname -m` = "x86_64" ; then + +#echo " +++++++++++ libGL dependencies are not updated" + +#else + +cd $ldir +gllibdir="`where_gl_libs`" +if [ "$gllibdir" != "" ] ; then + if [ -f ${gllibdir}/libGL.la ] ; then + libdir=`grep "libdir=" ${gllibdir}/libGL.la | sed -e "s%libdir='\(.*\)'%\1%"` + if [ "`ls $libdir/libGL.so* 2>/dev/null`" ] ; then + str_to_replace="${gllibdir}/libGL.la" + fi +fi + if [ "$str_to_replace" == "" ] ; then + str_to_replace="-L${gllibdir} -lGL" + fi + + sed -e "s%-lGL\b%%g" \ + -e "s%[^[:space:]\']*libGL.la[[:space:]]%%g" \ + -e "s%^dependency_libs='\(.*\)%dependency_libs='${str_to_replace} \1%" \ + libTKOpenGl.la > libTKOpenGl.la.new + mv -f libTKOpenGl.la.new libTKOpenGl.la +fi +#fi + +# to generate environment script for sources +try_preinstalled +} + +export PROCEDURE=$1; +export INSTALL_WORK=$2; +export SOURCE_DIR=$3; +export INST_ROOT=$4; +export PRODUCT_SEQUENCE=$5; +export PRODUCT_TYPE=$6; +export INSTALL_PRODUCTS=$7; +shift +REMOVE_SRC_TMP=$8; +test $# == 10 && shift && SINGLE_DIR=$9 +export PRODUCT="CAS-6.3sp9" +export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} +export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT} +export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC +source ./common.sh +$PROCEDURE diff --git a/config_files/JOBMANAGER.sh b/config_files/JOBMANAGER.sh new file mode 100755 index 0000000..c3322d0 --- /dev/null +++ b/config_files/JOBMANAGER.sh @@ -0,0 +1,137 @@ +#!/bin/bash -noprofile + +#################################################################################### +# File : JOBMANAGER.sh +# Created : Thu Dec 18 12:01:00 2002 +# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com) +# Project : SALOME +# Module : Installation Wizard +# Copyright : 2002-2008 CEA +# +# This script is the part of the SALOME installation procedure. +# +#################################################################################### + +check_version(){ +if [ -n "${JOBMANAGER_SRC_DIR}" ]; then + check_salome_src_version JOBMANAGER_SRC_DIR + if [ "$ver" = "${JOBMANAGER_VERSION}" ]; then + return 0 + fi +fi +return 1 +} + +print_env_bin(){ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < ${PRODUCT_DIR}/CONFIGURE.LOG < ${PRODUCT_DIR}/MAKE.LOG < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < ${PRODUCT_DIR}/CONFIGURE.LOG < ${PRODUCT_DIR}/MAKE.LOG </dev/null` + if [ -n "$ver" ] ; then + maj_ver=`echo $ver | awk -F. '{if(NF>0) print $1; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'` + min_ver=`echo $ver | awk -F. '{if(NF>1) print $2; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'` + rel_ver=`echo $ver | awk -F. '{if(NF>2) print $3; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'` + let ver=$maj_ver*10000+$min_ver*100+$rel_ver + if [ $ver -eq ${PYQT_XVERSION} ] ; then + return 0 + fi + fi +fi +return 1 +} + +print_env_bin() +{ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <> ${PRODUCT_DIR}/MAKE.LOG <&1 | awk '{print $2}' | awk -F. '{printf("0x%02d%02d%02d",$1,$2,$3)}'` + qt_version=`grep -e "^#define[[:space:]]\+QT_VERSION[[:space:]]\+" ${QTDIR}/include/Qt/qglobal.h | sed -e 's%^#define[[:space:]\+QT_VERSION[[:space:]]\+\(.*\)$%\1%g'` + sed -e "s%\('pyqt_bin_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" \ + -e "s%\('pyqt_mod_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" \ + -e "s%\('pyqt_sip_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/sip',%g" \ + -e "s%\('qt_dir':[[:space:]]*\).*%\1'${QTDIR}',%g" \ + -e "s%\('qt_data_dir':[[:space:]]*\).*%\1'${QTDIR}',%g" \ + -e "s%\('qt_version':[[:space:]]*\).*%\1${qt_version},%g" \ + -e "s%\('qt_inc_dir':[[:space:]]*\).*%\1'${QTDIR}/include',%g" \ + -e "s%\('qt_lib_dir':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" \ + -e "s%\('INCDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/include',%g" \ + -e "s%\('LIBDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" \ + -e "s%\('MOC':[[:space:]]*\).*%\1'${QTDIR}/bin/moc',%g" \ + -e "s%\('pyqt_config_args':[[:space:]]*\).*%\1'${PYQT_CONFIGURE_OPTIONS}',%g" \ + pyqtconfig.py > pyqtconfig.py.1 + mv -f pyqtconfig.py.1 pyqtconfig.py + cd ${PRODUCT_DIR}/bin + sed -e "s%exec.*pyuic.py%exec ${PYTHONROOT}/bin/python ${PRODUCT_DIR}/PyQt4/uic/pyuic.py%g" pyuic4 > pyuic4.1 + mv -f pyuic4.1 pyuic4 && chmod a+x pyuic4 +fi + +# to generate environment script for sources +try_preinstalled +} + +export PROCEDURE=$1; +export INSTALL_WORK=$2; +export SOURCE_DIR=$3; +export INST_ROOT=$4; +export PRODUCT_SEQUENCE=$5; +export PRODUCT_TYPE=$6; +export INSTALL_PRODUCTS=$7; +shift +REMOVE_SRC_TMP=$8; +test $# == 10 && shift && SINGLE_DIR=$9 +export PRODUCT="PyQt-${PYQT_VERSION}" +export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} +export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT} +export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC +source ./common.sh +$PROCEDURE diff --git a/config_files/Python-2.6.5.sh b/config_files/Python-2.6.5.sh new file mode 100755 index 0000000..0428fa0 --- /dev/null +++ b/config_files/Python-2.6.5.sh @@ -0,0 +1,182 @@ +#!/bin/bash -noprofile + +#################################################################################### +# File : Python-2.6.5.sh +# Created : Thu Dec 18 12:01:00 2002 +# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com) +# Project : SALOME +# Module : Installation Wizard +# Copyright : 2002-2008 CEA +# +# This script is the part of the SALOME installation procedure. +# +#################################################################################### + +PY_VERSION=2.6.5 +PY_XVERSION=`echo ${PY_VERSION} | 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}'` +PY_LIBVERSION=`echo ${PY_VERSION} | awk -F. '{printf("%d.%d",$1,$2)}'` + +check_version() +{ +if [ -z "$PYTHONHOME" ]; then + return 1 +fi +isPython=`which python 2>/dev/null` +if [ -n "$isPython" ]; then + # version number is calculated as: *10000+*100+ + 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 ${PY_XVERSION} ] ; then + return 0 + fi +fi +return 1 +} + +print_env_bin() +{ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <& /dev/null ; \ +# autoconf >& /dev/null ; \ +# aclocal >& /dev/null ; \ +# autoconf >& /dev/null ) +# fi +#fi + +# to generate environment scripts +try_preinstalled +} + +install_source_and_build() +{ +# install sources +install_source + +# build sources +test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} +cd ${PRODUCT_SRC_DIR} + +export PYTHON_ARCHIVE_PREFIX="" +PYTHON_CONFIGURE_OPTIONS="--with-threads --with-cxx=`which g++` --enable-shared --without-test --with-libs=-lstdc++" +### --with-pydebug ### (for debug) + +if test `uname -m` = "x86_64" ; then + PYTHON_CONFIGURE_OPTIONS="${PYTHON_CONFIGURE_OPTIONS} CFLAGS=-m64 CXXFLAGS=-m64" +fi + +check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --prefix=${PRODUCT_DIR} $PYTHON_CONFIGURE_OPTIONS + +GCC=`which gcc` +cat >> ${PRODUCT_DIR}/MAKE.LOG < _"$sc" + mv -f _"$sc" "$sc" + chmod a+x "$sc" + fi +done + +cd ${PRODUCT_DIR}; + +# remove sources and temporary files after building +if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then + test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR} +fi + +# to generate environment scripts +try_preinstalled +} + +install_binary() +{ +make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE} +source ${INSTALL_WORK}/$SHRC + +# create a product directory +test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} + +check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR} + +(cd ${PRODUCT_DIR}/lib/python${PY_LIBVERSION}/config; ln -fs ../../libpython${PY_LIBVERSION}.so.1.0 libpython${PY_LIBVERSION}.so) + +cd ${PRODUCT_DIR}/bin +for sc in idle pydoc smtpd.py ; do + if [ -e $sc ] ; then + sed -e "s%#\!.*python%#\!/usr/bin/env python%" "$sc" > _"$sc" + mv -f _"$sc" "$sc" + chmod a+x "$sc" + fi +done + +# to generate environment scripts +try_preinstalled +} + +export PROCEDURE=$1; +export INSTALL_WORK=$2; +export SOURCE_DIR=$3; +export INST_ROOT=$4; +export PRODUCT_SEQUENCE=$5; +export PRODUCT_TYPE=$6; +export INSTALL_PRODUCTS=$7; +shift +REMOVE_SRC_TMP=$8; +test $# == 10 && shift && SINGLE_DIR=$9 +export PRODUCT="Python-${PY_VERSION}" +export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} +export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT} +export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC +source ./common.sh +${PROCEDURE} diff --git a/config_files/YACSGEN.sh b/config_files/YACSGEN.sh new file mode 100755 index 0000000..da7ef1b --- /dev/null +++ b/config_files/YACSGEN.sh @@ -0,0 +1,118 @@ +#!/bin/bash -noprofile + +#################################################################################### +# File : YACSGEN.sh +# Created : Thu Dec 18 12:01:00 2002 +# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com) +# Project : SALOME +# Module : Installation Wizard +# Copyright : 2002-2008 CEA +# +# This script is the part of the SALOME installation procedure. +# +################################################################################### + +check_version(){ +if [ -n "${YACSGEN_SRC_DIR}" ]; then + cfg_file=setup.py + if [ -f ${YACSGEN_SRC_DIR}/${cfg_file} ] ; then + ver=`grep -e "version=" ${YACSGEN_SRC_DIR}/${cfg_file} | sed s/\'/" "/g | awk '{print $2}'` + if [ "$ver" = "${YACSGEN_VERSION}" ]; then + return 0 + fi + fi +fi +return 1 +} + +print_env_bin(){ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < configure +chmod 755 ./configure + +check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --prefix=${PRODUCT_DIR} +cat >> ${PRODUCT_DIR}/MAKE.LOG < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <> ${PRODUCT_DIR}/MAKE.LOG < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < /dev/null + if [ $? == 0 ] ; then is_debian31=1 ; fi +fi + +if [ $is_debian31 == 1 ] ; then +export LAPACKSUFF="3.1.1" +else +export LAPACKSUFF="3.2" +fi + +export LD_LIBRARY_PATH=${PRODUCT_SRC_DIR}/lapack-${LAPACKSUFF}_SRC:${LD_LIBRARY_PATH} + +check_jb tar xfz ${SOURCE_DIR}/lapack-${LAPACKSUFF}.tar.gz -C ${PRODUCT_SRC_DIR} + + +check_jb tar xfz ${SOURCE_DIR}/numpy-1.3.0.tar.gz -C ${PRODUCT_SRC_DIR} + +# to generate environment scripts +try_preinstalled +} + +install_source_and_build() +{ +# install sources +install_source + +# build sources +test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} + +# install +GCC=`which gcc` +cat >> ${PRODUCT_DIR}/MAKE.LOG < ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < qscintilla.pro.new +mv -f qscintilla.pro.new qscintilla.pro + +qmake -o Makefile qscintilla.pro +check_job ${PRODUCT_DIR}/MAKE.LOG make +check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install + +if [ "${INSTALL_ROOT_PREV}" != "" ] ; then + export INSTALL_ROOT=$INSTALL_ROOT_PREV +fi + +#rm -rf ${PRODUCT_DIR}/doc +#du -sk ${PRODUCT_SRC_DIR} > ${PRODUCT_DIR}/size.log +cd ${PRODUCT_DIR}; + +# remove sources and temporary files after building +if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then + test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR} +fi + +# to generate environment scripts +try_preinstalled +} + +install_binary() +{ +make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE} +source ${INSTALL_WORK}/$SHRC + +# create a product directory +test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} + +check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR} + +# to generate environment scripts +try_preinstalled +} + +export PROCEDURE=$1; +export INSTALL_WORK=$2; +export SOURCE_DIR=$3; +export INST_ROOT=$4; +export PRODUCT_SEQUENCE=$5; +export PRODUCT_TYPE=$6; +export INSTALL_PRODUCTS=$7; +shift +REMOVE_SRC_TMP=$8; +test $# == 10 && shift && SINGLE_DIR=$9 +export PRODUCT="QScintilla-${QSCINTILLA_VERSION}" +export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} +export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT} +export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC +source ./common.sh +$PROCEDURE diff --git a/config_files/qwt-5.2.1.sh b/config_files/qwt-5.2.1.sh new file mode 100755 index 0000000..87874b1 --- /dev/null +++ b/config_files/qwt-5.2.1.sh @@ -0,0 +1,152 @@ +#!/bin/bash -noprofile + +#################################################################################### +# File : qwt-5.2.1.sh +# Created : Thu Dec 18 12:01:00 2002 +# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com) +# Project : SALOME +# Module : Installation Wizard +# Copyright : 2002-2008 CEA +# +# This script is the part of the SALOME installation procedure. +# +#################################################################################### + +# +# QWT version +# +QWT_VERSION=5.2.1 + +check_version() +{ +if [ -n "${QWTHOME}" ] ; then + qwtinc=${QWTHOME}/include/qwt_global.h + if [ ! -f $qwtinc ] ; then + qwtinc=${QWTHOME}/include/qwt/qwt_global.h + fi + if [ -f $qwtinc ] ; then + ver=`grep -e "^#define[[:space:]]\+QWT_VERSION_STR" $qwtinc | sed -e 's/^#define[[:space:]]\+QWT_VERSION_STR[[:space:]]*"\(.*\)"/\1/'` + if [ "$ver" == "${QWT_VERSION}" ]; then + return 0 + fi + fi +fi +return 1 +} + +print_env_bin() +{ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < qwtconfig.pri.new +mv -f qwtconfig.pri.new qwtconfig.pri + +sed -e "s%\(target\.path[[:space:]]*\)=\([[:space:]]*\).*%\1=\2\$\$INSTALLBASE/plugins/designer%g" \ + designer/designer.pro > designer/designer.pro.new +mv -f designer/designer.pro.new designer/designer.pro + +INSTALL_ROOT_PREV=$INSTALL_ROOT +unset INSTALL_ROOT + +qmake + +GCC=`which gcc` +cat >> ${PRODUCT_DIR}/MAKE.LOG <0) print $1; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'` + min_ver=`echo $ver | awk -F. '{if(NF>1) print $2; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'` + rel_ver=`echo $ver | awk -F. '{if(NF>2) print $3; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'` + let ver=$maj_ver*10000+$min_ver*100+$rel_ver + if [ $ver -eq ${SIP_XVERSION} ] ; then + return 0 + fi +fi +return 1 +} + +print_env_bin() +{ +cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <> ${PRODUCT_DIR}/MAKE.LOG <&1 | awk '{print $2}' | awk -F. '{printf("0x%02d%02d%02d",$1,$2,$3)}'` + qt_version=`grep -e "^#define[[:space:]]\+QT_VERSION[[:space:]]\+" ${QTDIR}/include/Qt/qglobal.h | sed -e 's%^#define[[:space:]\+QT_VERSION[[:space:]]\+\(.*\)$%\1%g'` + sed -e "s%\('default_bin_dir':[[:space:]]*\).*%\1'${PYTHONROOT}/bin',%g" \ + -e "s%\('default_mod_dir':[[:space:]]*\).*%\1'${PYTHONROOT}/lib/python${PYTHON_VERSION}/site-packages',%g" \ + -e "s%\('default_sip_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/sip',%g" \ + -e "s%\('sip_bin':[[:space:]]*\).*%\1'${PRODUCT_DIR}/bin/sip',%g" \ + -e "s%\('sip_inc_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/include/python${PYTHON_VERSION}',%g" \ + -e "s%\('sip_mod_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/lib/python${PYTHON_VERSION}/site-packages',%g" \ + -e "s%\('qt_dir':[[:space:]]*\).*%\1'${QTDIR}',%g" \ + -e "s%\('qt_version':[[:space:]]*\).*%\1${qt_version},%g" \ + -e "s%\('qt_inc_dir':[[:space:]]*\).*%\1'${QTDIR}/include',%g" \ + -e "s%\('qt_lib_dir':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" \ + -e "s%\('INCDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/include',%g" \ + -e "s%\('LIBDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" \ + -e "s%\('MOC':[[:space:]]*\).*%\1'${QTDIR}/bin/moc',%g" \ + -e "s%\('py_version':[[:space:]]*\).*%\1${python_version},%g" \ + -e "s%\('sip_config_args':[[:space:]]*\).*%\1'${SIP_CONFIGURE_OPTIONS}',%g" \ + -e "s%\('py_inc_dir':[[:space:]]*\).*%\1'${PYTHONROOT}/include/python${PYTHON_VERSION}',%g" \ + -e "s%\('py_lib_dir':[[:space:]]*\).*%\1'${PYTHONROOT}/lib/python${PYTHON_VERSION}/config',%g" \ + -e "s%\('py_conf_inc_dir':[[:space:]]*\).*%\1'${PYTHONROOT}/include/python${PYTHON_VERSION}',%g" sipconfig.py > sipconfig.py.1 + mv -f sipconfig.py.1 sipconfig.py +fi + +# to generate environment scripts +try_preinstalled +} + +export PROCEDURE=$1; +export INSTALL_WORK=$2; +export SOURCE_DIR=$3; +export INST_ROOT=$4; +export PRODUCT_SEQUENCE=$5; +export PRODUCT_TYPE=$6; +export INSTALL_PRODUCTS=$7; +shift +REMOVE_SRC_TMP=$8; +test $# == 10 && shift && SINGLE_DIR=$9 +export PRODUCT="sip-${SIP_VERSION}" +export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} +export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT} +export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC +source ./common.sh +$PROCEDURE