diff options
Diffstat (limited to 'sca-cpp/branches/lightweight-sca/ubuntu/ubuntu-install-nothreads')
-rwxr-xr-x | sca-cpp/branches/lightweight-sca/ubuntu/ubuntu-install-nothreads | 344 |
1 files changed, 344 insertions, 0 deletions
diff --git a/sca-cpp/branches/lightweight-sca/ubuntu/ubuntu-install-nothreads b/sca-cpp/branches/lightweight-sca/ubuntu/ubuntu-install-nothreads new file mode 100755 index 0000000000..9c17fbb3ef --- /dev/null +++ b/sca-cpp/branches/lightweight-sca/ubuntu/ubuntu-install-nothreads @@ -0,0 +1,344 @@ +# 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 minimal distribution, the required system tools and libraries, +# runtime dependencies and the Tuscany SCA runtime on Ubuntu Server 12.04. + +# Display commands as they are executed +set -x + +# Build and install in the current directory +build=`pwd` + +# First update the system +sudo apt-get update + +# Install core dev tools +sudo apt-get -y install curl git-core subversion autoconf pkg-config automake libtool g++ make gdb vim +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 APR util +sudo apt-get -y install libssl-dev libpcre3-dev +if [ "$?" != "0" ]; then + exit $? +fi +curl -OL http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz +tar xzf apr-1.4.6.tar.gz +cd apr-1.4.6 +./buildconf +./configure --prefix=$build/apr-1.4.6-bin --disable-threads +make +make install +if [ "$?" != "0" ]; then + exit $? +fi +cd $build + +curl -OL http://archive.apache.org/dist/apr/apr-util-1.4.1.tar.gz +tar xzf apr-1.4.1.tar.gz +cd apr-util-1.4.1 +curl -OL http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/patches/apr-util-1.4.1.patch +patch -p0 <apr-util-1.4.1.patch +./buildconf --with-apr=$build/apr-1.4.6 +./configure --with-apr=$build/apr-1.4.6-bin --with-openssl --with-crypto --with-expat=$build/expat-2.0.1-bin --prefix=$build/apr-util-1.4.1-bin +make +make install +if [ "$?" != "0" ]; then + exit $? +fi +cd $build + +# Build HTTP server +curl -OL http://archive.apache.org/dist/httpd/httpd-2.4.2.tar.gz +tar xzf httpd-2.4.2.tar.gz +cd httpd-2.4.2 +./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.6-bin --with-apr-util=$build/apr-util-1.4.1-bin --with-expat=$build/expat-2.0.1-bin --prefix=$build/httpd-2.4.2-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.13.tar.gz +tar xzf memcached-1.4.13.tar.gz +cd memcached-1.4.13 +./configure --prefix=$build/memcached-1.4.13-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 Libcurl +curl -OL http://curl.haxx.se/download/curl-7.24.0.tar.gz +tar xzf curl-7.24.0.tar.gz +cd curl-7.24.0 +./configure --prefix=$build/curl-7.24.0-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 --without-threads +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 --with-system-nspr --enable-gczeal --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 + +# 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 + +# 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.24.0-bin/include" CURL_LIBS="-L$build/curl-7.24.0-bin/lib -lcurl" +make +make install +if [ "$?" != "0" ]; then + exit $? +fi +cd $build + +# Build mod_security +curl -OL http://people.apache.org/~jsdelfino/tuscany/cpp/dependencies/modsecurity-apache_2.6.6.tar.gz +tar xzf modsecurity-apache_2.6.6.tar.gz +cd modsecurity-apache_2.6.6 +./configure --prefix=$build/modsecurity-apache-2.6.6-bin --with-apxs=$build/httpd-2.4.2-bin/bin/apxs --with-apr=$build/apr-1.4.6-bin/bin/apr-1-config --with-apu=$build/apr-util-1.4.1-bin/bin/apu-1-config --with-libxml=$build/libxml2-2.7.7-bin --with-curl=$build/curl-7.24.0-bin LIBS="-L$build/expat-2.0.1-bin/lib" +make +make install +if [ "$?" != "0" ]; then + exit $? +fi +cd $build +curl -OL http://people.apache.org/~jsdelfino/tuscany/cpp/dependencies/modsecurity-crs_2.2.5.tar.gz +tar xzf modsecurity-crs_2.2.5.tar.gz +cd modsecurity-crs_2.2.5 +#curl -OL http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/patches/modsecurity-crs_2.2.5.patch +#patch -p0 <modsecurity-crs_2.2.2.patch +cp -R base_rules $build/modsecurity-apache-2.6.6-bin +cp -R optional_rules $build/modsecurity-apache-2.6.6-bin +if [ "$?" != "0" ]; then + exit $? +fi +cd $build + +# Build PostgreSQL and PgBouncer +sudo apt-get -y install libreadline-dev +if [ "$?" != "0" ]; then + exit $? +fi +curl -OL http://ftp.postgresql.org/pub/source/v9.1.2/postgresql-9.1.2.tar.gz +tar xzf postgresql-9.1.2.tar.gz +cd postgresql-9.1.2 +./configure --prefix=$build/postgresql-9.1.2-bin --disable-thread-safety +make +make install +if [ "$?" != "0" ]; then + exit $? +fi +cd $build +curl -OL http://pgfoundry.org/frs/download.php/3197/pgbouncer-1.5.tar.gz +tar xzf pgbouncer-1.5.tar.gz +cd pgbouncer-1.5 +./configure --prefix=$build/pgbouncer-1.5-bin +make +cp install-sh doc +make install +if [ "$?" != "0" ]; then + exit $? +fi +cd $build + +# Build Apache Thrift +sudo apt-get -y install bison flex 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 +curl -OL http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/patches/thrift-0.2.0.patch +patch -p0 <thrift-0.2.0.patch +./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 +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 +curl -OL http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/patches/scribe-2.2.patch +patch -p0 <scribe-2.2.patch +autoreconf --force --verbose --install +./configure --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 CPPFLAGS="-DBOOST_FILESYSTEM_VERSION=2" LIBS="-lboost_system -lboost_filesystem" +make +make install +if [ "$?" != "0" ]; then + exit $? +fi +cp src/lib/libscribe.so $build/scribe-2.2-bin/lib +cd $build + +# Build Python +curl -OL http://www.python.org/ftp/python/2.6.6/Python-2.7.3.tgz +tar xzf Python-2.7.3.tgz +cd Python-2.7.3 +./configure --prefix=$build/python-2.7.3-bin --enable-shared --without-threads --with-system-expat=$build/expat-2.0.1-bin +make +make install +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 builddir=$build/page-speed-1.9-bin CXXFLAGS="-Wno-unused-but-set-variable" +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.24.0-bin --with-apr=$build/apr-1.4.6-bin --with-apr-util=$build/apr-util-1.4.1-bin --with-httpd=$build/httpd-2.4.2-bin --with-memcached=$build/memcached-1.4.13-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 --disable-threads --enable-python --with-python=$build/python-2.7.3-bin --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-sqldb --with-pgsql=$build/postgresql-9.1.2-bin --with-pgbouncer=$build/pgbouncer-1.5-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.6-bin +make +make install +if [ "$?" != "0" ]; then + exit $? +fi +cd $build + +# Create src archive +tar czf tuscany-sca-cpp-1.0-src.tar.gz apr-1.4.6 apr-1.4.6.tar.gz apr-1.4.6-bin apr-util-1.4.1 apr-util-1.4.1.tar.gz apr-util-1.4.1-bin curl-7.24.0 curl-7.24.0-bin curl-7.24.0.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz httpd-2.4.2 httpd-2.4.2.tar.gz httpd-2.4.2-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.13 memcached-1.4.13-bin memcached-1.4.13.tar.gz modsecurity-apache_2.6.6 modsecurity-apache-2.6.6-bin modsecurity-apache_2.6.6.tar.gz modsecurity-crs_2.2.5 modsecurity-crs_2.2.5.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 pgbouncer-1.5 pgbouncer-1.5-bin pgbouncer-1.5.tar.gz postgresql-9.1.2 postgresql-9.1.2-bin postgresql-9.1.2.tar.gz Python-2.7.3 python-2.7.3-bin Python-2.7.3.tgz 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 tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin + +# Create bin archive +tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.6-bin apr-util-1.4.1-bin curl-7.24.0-bin expat-2.0.1-bin httpd-2.4.2-bin js-1.8.5-bin liboauth-0.9.1-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.13-bin modsecurity-apache-2.6.6-bin nspr-4.8.8-bin nuvem/nuvem-parallel page-speed-1.9-bin pgbouncer-1.5-bin postgresql-9.1.2-bin python-2.7.3-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tuscany-sca-cpp tuscany-sca-cpp-bin + |