# 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 a complete distribution, the required system tools and libraries, the # runtime dependencies and the Tuscany SCA runtime on a fresh Ubuntu Server # 10.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 curl git-core subversion autoconf pkg-config automake libtool g++ make if [ "$?" != "0" ]; then exit $? fi # Build Libexpat curl -L http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download -o expat-2.0.1.tar.gz tar xzf expat-2.0.1.tar.gz cd expat-2.0.1 ./configure --prefix=$build/expat-2.0.1-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Apache APR and HTTP server sudo apt-get -y install libssl-dev libpcre3-dev if [ "$?" != "0" ]; then exit $? fi svn co -r 1051230 http://svn.apache.org/repos/asf/apr/apr/trunk apr-1.4.x cd apr-1.4.x ./buildconf ./configure -with-openssl --with-crypto --with-expat=$build/expat-2.0.1-bin --prefix=$build/apr-1.4.x-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build curl -OL http://archive.apache.org/dist/httpd/httpd-2.3.10-alpha.tar.gz tar xzf httpd-2.3.10-alpha.tar.gz cd httpd-2.3.10 ./configure --enable-ssl --enable-proxy --enable-usertrack --enable-cgi --enable-session-crypto --enable-mods-shared=most --enable-mpms-shared="prefork worker event" --with-mpm=prefork --with-apr=$build/apr-1.4.x-bin --with-expat=$build/expat-2.0.1-bin --prefix=$build/httpd-2.3.10-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Memcached sudo apt-get -y install libevent-dev if [ "$?" != "0" ]; then exit $? fi curl -OL http://memcached.googlecode.com/files/memcached-1.4.7.tar.gz tar xzf memcached-1.4.7.tar.gz cd memcached-1.4.7 ./configure --prefix=$build/memcached-1.4.7-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Tinycdb curl -OL http://www.corpit.ru/mjt/tinycdb/tinycdb_0.77.tar.gz tar xzf tinycdb_0.77.tar.gz cd tinycdb-0.77 make all shared make prefix=$build/tinycdb-0.77-bin install-all install-sharedlib if [ "$?" != "0" ]; then exit $? fi cd $build # Build LevelDB git clone https://code.google.com/p/leveldb/ cd leveldb make all if [ "$?" != "0" ]; then exit $? fi cd $build # Build Libcurl curl -OL 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 curl -OL 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 Mozilla Portable Runtime curl -OL http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.8.8/src/nspr-4.8.8.tar.gz tar xzf nspr-4.8.8.tar.gz cd nspr-4.8.8/mozilla/nsprpub ./configure --prefix=$build/nspr-4.8.8-bin --enable-64bit make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build SpiderMonkey sudo apt-get -y install zip unzip if [ "$?" != "0" ]; then exit $? fi curl -OL http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz tar xzf js185-1.0.0.tar.gz cd js-1.8.5/js/src export LD_RUN_PATH=$build/nspr-4.8.8-bin/lib ./configure --prefix=$build/js-1.8.5-bin --enable-threadsafe --with-system-nspr --with-nspr-prefix=$build/nspr-4.8.8-bin make make install unset LD_RUN_PATH ln -s $build/js-1.8.5-bin/lib/libmozjs185.so $build/js-1.8.5-bin/lib/libmozjs.so if [ "$?" != "0" ]; then exit $? fi cd $build # Install Google AppEngine SDK curl -OL http://googleappengine.googlecode.com/files/google_appengine_1.4.0.zip unzip google_appengine_1.4.0.zip # Build Apache Axis2/C if [ "$?" != "0" ]; then exit $? fi curl -OL 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-openssl --with-apache2=$build/httpd-2.3.10-bin/include --with-apr=$build/apr-1.4.x-bin/include/apr-2 --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 curl -OL http://archive.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 git clone git://github.com/jsdelfino/libstrophe.git cd libstrophe ./bootstrap.sh ./configure --prefix=$build/libstrophe-bin --with-expat=$build/expat-2.0.1-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Install Apache Vysper sudo apt-get -y install openjdk-6-jdk if [ "$?" != "0" ]; then exit $? fi curl -OL http://archive.apache.org/dist/mina/vysper/0.6/vysper-0.6-bin.tar.gz tar xzf vysper-0.6-bin.tar.gz if [ "$?" != "0" ]; then exit $? fi # Build HTML Tidy sudo apt-get -y install cvs if [ "$?" != "0" ]; then exit $? fi cvs -z3 -d:pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy co -P tidy cd tidy sh build/gnuauto/setup.sh ./configure --prefix=$build/htmltidy-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Libopkele git clone git://github.com/jsdelfino/libopkele.git cd libopkele ./autogen.bash ./configure --prefix=$build/libopkele-bin --with-curl=$build/curl-7.19.5-bin --with-expat=$build/expat-2.0.1-bin --with-htmltidy=$build/htmltidy-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Mod_auth_openid git clone git://github.com/jsdelfino/mod_auth_openid.git cd mod_auth_openid ./autogen.sh ./configure --prefix=$build/mod-auth-openid-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-curl=$build/curl-7.19.5-bin --with-libopkele=$build/libopkele-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Liboauth curl -OL http://liboauth.sourceforge.net/pool/liboauth-0.9.1.tar.gz tar xzf liboauth-0.9.1.tar.gz cd liboauth-0.9.1 ./configure --prefix=$build/liboauth-0.9.1-bin CURL_CFLAGS="-I$build/curl-7.19.5-bin/include" CURL_LIBS="-L$build/curl-7.19.5-bin/lib -R$build/curl-7.19.5-bin/lib -lcurl" make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build mod_security curl -OL http://downloads.sourceforge.net/project/mod-security/modsecurity-apache/2.6.1/modsecurity-apache_2.6.1.tar.gz tar xzf modsecurity-apache_2.6.1.tar.gz cd modsecurity-apache_2.6.1 ./configure --prefix=$build/modsecurity-apache-2.6.1-bin --with-apxs=$build/httpd-2.3.10-bin/bin/apxs --with-apr=$build/apr-1.4.x-bin/bin/apr-2-config --with-apu=$build/apr-1.4.x-bin/bin/apr-2-config --with-libxml=$build/libxml2-2.7.7-bin --with-curl=$build/curl-7.19.5-bin LIBS="-L$build/expat-2.0.1-bin/lib -R$build/expat-2.0.1-bin/lib" make make install if [ "$?" != "0" ]; then exit $? fi cd $build curl -OL http://downloads.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.2.tar.gz tar xzf modsecurity-crs_2.2.2.tar.gz cp -R $build/modsecurity-crs_2.2.2/base_rules $build/modsecurity-apache-2.6.1-bin cp -R $build/modsecurity-crs_2.2.2/optional_rules $build/modsecurity-apache-2.6.1-bin if [ "$?" != "0" ]; then exit $? fi # Build PostgreSQL sudo apt-get -y install libreadline-dev if [ "$?" != "0" ]; then exit $? fi curl -OL ftp://ftp9.us.postgresql.org/pub/mirrors/postgresql/source/v9.0.3/postgresql-9.0.3.tar.gz tar xzf postgresql-9.0.3.tar.gz cd postgresql-9.0.3 ./configure --prefix=$build/postgresql-9.0.3-bin --enable-thread-safety make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Build Apache Thrift sudo apt-get -y install bison flex python-dev libboost-dev libboost-filesystem-dev if [ "$?" != "0" ]; then exit $? fi curl -OL http://archive.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 PY_PREFIX=$build/thrift-0.2.0-bin --with-java=no --with-erlang=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 sudo apt-get -y install gawk if [ "$?" != "0" ]; then exit $? fi curl -OL 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 $build/scribe-2.2-bin/lib cd $build # Build Apache Libcloud curl -OL http://archive.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.2.tar.bz2 tar xjf apache-libcloud-incubating-0.4.2.tar.bz2 cd apache-libcloud-incubating-0.4.2 python setup.py build python setup.py install --home $build/libcloud-0.4.2-bin if [ "$?" != "0" ]; then exit $? fi cd $build # Build Google Page Speed curl -OL https://dl-ssl.google.com/page-speed/sdk/current/page-speed-sdk.zip unzip page-speed-sdk.zip cd page-speed-1.9 make if [ "$?" != "0" ]; then exit $? fi cd $build # Build Apache Nuvem git clone git://git.apache.org/nuvem.git if [ "$?" != "0" ]; then exit $? fi cd $build # Build Tuscany SCA git clone git://git.apache.org/tuscany-sca-cpp.git cd tuscany-sca-cpp ./bootstrap ./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.7-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --enable-pagespeed --with-pagespeed=$build/page-speed-1.9-bin --with-libcloud=$build/libcloud-0.4.2-bin --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.6 --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.1-bin make make install if [ "$?" != "0" ]; then exit $? fi cd $build # Create src archive tar czf tuscany-sca-cpp-all-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin axis2c-1.6.0-bin axis2c-src-1.6.0 axis2c-src-1.6.0.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz google_appengine google_appengine_1.4.0.zip htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.7 memcached-1.4.7-bin memcached-1.4.7.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.1 modsecurity-apache-2.6.1-bin modsecurity-apache_2.6.1.tar.gz modsecurity-crs_2.2.2 modsecurity-crs_2.2.2.tar.gz nspr-4.8.8-bin nspr-4.8.8 nspr-4.8.8.tar.gz nuvem page-speed-1.9 page-speed-1.9-bin page-speed-sdk.zip postgresql-9.0.3 postgresql-9.0.3-bin postgresql-9.0.3.tar.gz qpidc-0.6 qpidc-0.6-bin qpid-cpp-0.6.tar.gz scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 vysper-0.6-bin.tar.gz # Create bin archive tar czf tuscany-sca-cpp-all-1.0.tar.gz apr-1.4.x-bin axis2c-1.6.0-bin curl-7.19.5-bin expat-2.0.1-bin google_appengine htmltidy-bin httpd-2.3.10-bin js-1.8.5-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.7-bin mod-auth-openid-bin modsecurity-apache-2.6.1-bin nspr-4.8.8-bin nuvem/nuvem-parallel page-speed-1.9-bin postgresql-9.0.3-bin qpidc-0.6-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6