# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # Install the required system tools and libraries, the runtime dependencies and # the Tuscany SCA runtime on a fresh Ubuntu Server 9.10 system. # Display commands as they are executed set -x # Build and install in the current directory build=`pwd` # Install core dev tools sudo apt-get -y install wget git-core autoconf automake libtool if [ "$?" != "0" ]; then exit $? fi # Install GCC 4.5 mkdir -p gcc-4.5 cd gcc-4.5 wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/cpp-4.5_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/fixincludes_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/g++-4.5_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/gcc-4.5_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/gcc-4.5-base_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/lib64gcc1_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/lib64gomp1_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/lib64mudflap0_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/lib64stdc++6_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/libgcc1_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/libgomp1_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/libmudflap0-4.5-dev_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/libmudflap0_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/libstdc++6_4.5.0-1_i386.deb wget http://ftp.debian.org/debian/pool/main/g/gcc-4.5/libstdc++6-4.5-dev_4.5.0-1_i386.deb sudo dpkg -i *.deb cd $build # Build Apache HTTP server sudo apt-get -y install libssl-dev if [ "$?" != "0" ]; then exit $? fi wget http://www.apache.org/dist/httpd/httpd-2.2.15.tar.gz tar xzf httpd-2.2.15.tar.gz cd httpd-2.2.15 ./configure --enable-ssl --enable-proxy --enable-rewrite --with-included-apr --with-mpm=prefork --prefix=$build/httpd-2.2.15-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Memcached sudo apt-get install libevent-dev if [ "$?" != "0" ]; then exit $? fi wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz tar xzf memcached-1.4.4.tar.gz cd memcached-1.4.4 ./configure --prefix=$build/memcached-1.4.4-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Tinycdb wget http://www.corpit.ru/mjt/tinycdb/tinycdb_0.77.tar.gz tar xzf tinycdb_0.77.tar.gz cd tinycdb-0.77 make make prefix=$build/tinycdb-0.77-bin install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Libcurl wget http://curl.haxx.se/download/curl-7.19.5.tar.gz tar xzf curl-7.19.5.tar.gz cd curl-7.19.5 ./configure --prefix=$build/curl-7.19.5-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Libxml2 wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.7.tar.gz tar xzf libxml2-sources-2.7.7.tar.gz cd libxml2-2.7.7 ./configure --prefix=$build/libxml2-2.7.7-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build TraceMonkey sudo apt-get -y install autoconf2.13 if [ "$?" != "0" ]; then exit $? fi wget -O tracemonkey-e4364736e170.tar.gz http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz tar xzf tracemonkey-e4364736e170.tar.gz cd tracemonkey-e4364736e170/js/src autoconf2.13 ./configure --prefix=$build/tracemonkey-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Install Google AppEngine SDK wget http://googleappengine.googlecode.com/files/google_appengine_1.3.2.zip unzip google_appengine_1.3.2.zip # Build Apache Axis2/C sudo apt-get -y install pkg-config if [ "$?" != "0" ]; then exit $? fi wget http://www.apache.org/dist/ws/axis2-c/1_6_0/axis2c-src-1.6.0.tar.gz tar xzf axis2c-src-1.6.0.tar.gz cd axis2c-src-1.6.0 ./configure --enable-libxml2 --enable-openssl --with-apache2=$build/httpd-2.2.15-bin/include --prefix=$build/axis2c-1.6.0-bin make make install if [ "$?" != "0" ]; then exit $? fi export AXIS2C_HOME=$build/axis2c-1.6.0-bin cd samples ./configure --prefix=$build/axis2c-1.6.0-bin --with-axis2=$build/axis2c-1.6.0-bin/include/axis2-1.6.0 make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Apache Qpid/C++ sudo apt-get -y install libboost-dev libboost-program-options-dev libboost-filesystem-dev uuid-dev if [ "$?" != "0" ]; then exit $? fi sudo -s ln -s /usr/lib/libboost_program_options-mt.so /usr/lib/libboost_program_options.so sudo -s ln -s /usr/lib/libboost_filesystem-mt.so /usr/lib/libboost_filesystem.so wget http://www.apache.org/dist/qpid/0.6/qpid-cpp-0.6.tar.gz tar xzf qpid-cpp-0.6.tar.gz cd qpidc-0.6 ./configure --prefix=$build/qpidc-0.6-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Libstrophe sudo apt-get -y install check if [ "$?" != "0" ]; then exit $? fi git clone git://code.stanziq.com/libstrophe cd libstrophe git submodule init git submodule update aclocal automake --add-missing --foreign --copy autoconf ./configure --prefix=$build/libstrophe-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build mkdir -p $build/libstrophe-bin/include cp $build/libstrophe/*.h $build/libstrophe-bin/include cp $build/libstrophe/src/*.h $build/libstrophe-bin/include # Install Apache Vysper sudo apt-get -y install openjdk-6-jdk if [ "$?" != "0" ]; then exit $? fi wget http://www.apache.org/dist/mina/vysper/0.5/vysper-0.5-bin.tar.gz tar xzf vysper-0.5-bin.tar.gz if [ "$?" != "0" ]; then exit $? fi # Build PostgreSQL sudo apt-get -y install libreadline-dev if [ "$?" != "0" ]; then exit $? fi wget http://wwwmaster.postgresql.org/redir/198/f/source/9.0alpha4/postgresql-9.0alpha4.tar.gz tar xzf postgresql-9.0alpha4.tar.gz cd postgresql-9.0alpha4 ./configure --prefix=$build/postgresql-9.0-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Apache Thrift wget http://www.apache.org/dist/incubator/thrift/0.2.0-incubating/thrift-0.2.0-incubating.tar.gz tar xzf thrift-0.2.0-incubating.tar.gz cd thrift-0.2.0 ./bootstrap.sh ./configure --prefix=$build/thrift-0.2.0-bin --with-java=no --with-erlang=no --with-py=no --with-perl=no --with-ruby=no --with-csharp=no --disable-static make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Facebook fb303 cd thrift-0.2.0/contrib/fb303 ./bootstrap.sh ./configure --prefix=$build/thrift-0.2.0-bin/contrib/fb303 PY_PREFIX=$build/thrift-0.2.0-bin/contrib/fb303 --with-thriftpath=$build/thrift-0.2.0-bin --disable-static make make install if [ "$?" != "0" ]; then exit $? fi cp cpp/lib/libfb303.so $build/thrift-0.2.0-bin/contrib/fb303/lib cd $build # Build Facebook Scribe wget http://github.com/downloads/facebook/scribe/scribe-2.2.tar.gz tar xzf scribe-2.2.tar.gz cd scribe ./bootstrap.sh --prefix=$build/scribe-2.2-bin PY_PREFIX=$build/scribe-2.2-bin --with-thriftpath=$build/thrift-0.2.0-bin --with-fb303path=$build/thrift-0.2.0-bin/contrib/fb303 --disable-static make make install if [ "$?" != "0" ]; then exit $? fi cp src/lib/libscribe.so $HOME/scribe-2.2-bin/lib cd $build # Build Tuscany SCA git clone git://git.apache.org/tuscany-sca-cpp cd tuscany-sca-cpp cp etc/git-exclude .git/info/exclude ./bootstrap ./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/httpd-2.2.15-bin --with-httpd=$build/httpd-2.2.15-bin --with-memcached=$build/memcached-1.4.4-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/tracemonkey-bin/include/js --with-js-lib=$build/tracemonkey-bin/lib --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.5 --enable-sqldb --with-pgsql=$build/postgresql-9.0-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Create bin archive tar czf tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin axis2c-1.6.0-bin libxml2-2.7.7-bin curl-7.19.5-bin httpd-2.2.15-bin tracemonkey-bin google_appengine libstrophe-bin memcached-1.4.4-bin tinycdb-0.77-bin qpidc-0.6-bin vysper-0.5 postgresql-9.0-bin