view contrib/make_flys_release/bin/make-opt-package.sh @ 5779:ebec12def170

Datacage: Add a pool of builders to make it multi threadable. XML DOM is not thread safe. Therefore the old implementation only allowed one thread to use the builder at a time. As the complexity of the configuration has increased over time this has become a bottleneck of the whole application because it took quiet some time to build a result. Furthermore the builder code path is visited very frequent. So many concurrent requests were piled up resulting in long waits for the users. To mitigate this problem a round robin pool of builders is used now. Each of the pooled builders has an independent copy of the XML template and can be run in parallel. The number of builders is determined by the system property 'flys.datacage.pool.size'. It defaults to 4.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 21 Apr 2013 12:48:09 +0200
parents 520b4fea63bb
children f3b2aeb27e4b
line wrap: on
line source
# Required packages are the build essential stuff make gcc etc.
# and:
# postgresql-devel libexpat-devel python-devel
set -e
# This script is intended to be run on suse enterprise linux

# Path to the oracle zip archives
ORACLE_LOC=/home/intevation
# Path to the Source tarballs of gdal-1.9.2.tar.gz proj-4.8.0.tar.gz cx_Oracle-5.1.2.tar.gz
SOURCES=/home/intevation/Downloads
#mkdir -p $SOURCES
#cd $SOURCES
#wget http://download.osgeo.org/gdal/gdal-1.9.2.tar.gz
#wget http://download.osgeo.org/proj/proj-4.8.0.tar.gz
#wget http://downloads.sourceforge.net/project/cx-oracle/5.1.2/cx_Oracle-5.1.2.tar.gz

DEVELDIR=/tmp/gdalbuild
INSTALL_PREFIX=$DEVELDIR/opt
export ORACLE_HOME=$DEVELDIR/opt/instantclient_11_2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

rm -rf $DEVELDIR
mkdir -p $DEVELDIR

mkdir -p $SOURCES
cd $SOURCES
wget http://download.osgeo.org/gdal/gdal-1.9.2.tar.gz
wget http://download.osgeo.org/proj/proj-4.8.0.tar.gz
wget http://downloads.sourceforge.net/project/cx-oracle/5.1.2/cx_Oracle-5.1.2.tar.gz


# Oracle
unzip $ORACLE_LOC/instantclient-basic-linux-x86-64-11.2.0.2.0.zip -d $DEVELDIR/opt
unzip $ORACLE_LOC/instantclient-sdk-linux-x86-64-11.2.0.2.0.zip -d $DEVELDIR/opt
unzip $ORACLE_LOC/instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip -d $DEVELDIR/opt
mkdir $ORACLE_HOME/lib
cd $ORACLE_HOME/lib
ln -s ../libclntsh.so.11.1 .
ln -s ../libclntsh.so.11.1 libclntsh.so
ln -s ../libnnz11.so .
ln -s ../libocci.so.11.1 .
ln -s ../libocci.so.11.1 libocci.so
ln -s ../libociei.so .
ln -s ../libocijdbc11.so .
ln -s ../libsqlplusic.so .
ln -s ../libsqlplus.so .
cd $ORACLE_HOME
ln -s libclntsh.so.11.1 libclntsh.so

cd $DEVELDIR
tar -xf $SOURCES/proj-4.8.0.tar.gz 
cd proj-4.8.0
./configure --prefix=$INSTALL_PREFIX && make && make install


cd $DEVELDIR
tar -xf $SOURCES/gdal-1.9.2.tar.gz 
cd gdal-1.9.2
patch -l -p0 << "EOF"
Index: ogr/ogrsf_frmts/oci/ogrocitablelayer.cpp
===================================================================
--- ogr/ogrsf_frmts/oci/ogrocitablelayer.cpp    (revision 25700)
+++ ogr/ogrsf_frmts/oci/ogrocitablelayer.cpp    (working copy)
@@ -264,7 +264,7 @@
         char **papszResult;
         int iDim = -1;
 
-               oDimCmd.Append( "SELECT COUNT(*) FROM ALL_SDO_GEOM_METADATA u," );
+               oDimCmd.Append( "SELECT COUNT(*) FROM USER_SDO_GEOM_METADATA u," );
                oDimCmd.Append( "  TABLE(u.diminfo) t" );
                oDimCmd.Append( "  WHERE u.table_name = '" );
                oDimCmd.Append( osTableName );
EOF
LDFLAGS="-Wl,--no-as-needed" ./configure --with-python --with-oci=$ORACLE_HOME \
    --prefix=$INSTALL_PREFIX && make && make install

cd $DEVELDIR
tar -xf $SOURCES/cx_Oracle-5.1.2.tar.gz
cd cx_Oracle-5.1.2
python setup.py build
python setup.py install --prefix=$INSTALL_PREFIX

cd $DEVELDIR
tar -czf flys-importer-opt.tar.gz opt
echo "Package is:"
readlink -f flys-importer-opt.tar.gz

http://dive4elements.wald.intevation.org