diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-03-13 18:40:42 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-03-13 18:40:42 +0000 |
commit | 014971ccb5b2041147cf9d84d498cce64ea0493e (patch) | |
tree | 0f93393d6a58e6bcd7a1e68bbe8a9c4af3626001 /sca-cpp/trunk | |
parent | 7fc75cdf0b19e8f748505931164d1756e796b833 (diff) |
Updated the INSTALL instructions, fixed a few incremental build issues, and added a script that builds everything from scratch, tested on Ubuntu 9.10.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@922645 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk')
-rw-r--r-- | sca-cpp/trunk/INSTALL | 53 | ||||
-rw-r--r-- | sca-cpp/trunk/components/chat/Makefile.am | 2 | ||||
-rwxr-xr-x | sca-cpp/trunk/components/chat/vysper-classpath | 6 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/wsgi/Makefile.am | 11 | ||||
-rwxr-xr-x | sca-cpp/trunk/modules/wsgi/wsgi-package | 30 | ||||
-rw-r--r-- | sca-cpp/trunk/test/store-wsgi/Makefile.am | 11 | ||||
-rwxr-xr-x | sca-cpp/trunk/ubuntu-install | 88 |
7 files changed, 154 insertions, 47 deletions
diff --git a/sca-cpp/trunk/INSTALL b/sca-cpp/trunk/INSTALL index 3b08c5abf7..2f18f67f89 100644 --- a/sca-cpp/trunk/INSTALL +++ b/sca-cpp/trunk/INSTALL @@ -1,6 +1,31 @@ Apache Tuscany SCA Runtime ========================== +Automated installation from scratch on Ubuntu Server 9.10 +========================================================= + +Tuscany provides an automated install script for Ubuntu Server 9.10. You can +even start with a fresh Ubuntu Server 9.10 system, the ubuntu-install script +takes care of all the download, build and installation steps for you. + +The required system tools and libraries are downloaded and installed using +apt-get. The Tuscany project and its dependencies (Apache HTTPD server, Apache +Axis2/C etc) are downloaded, built and installed in the current directory. + +To run the automated installation: +mkdir tuscany +cd tuscany +wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu-install +sudo ./ubuntu-install + +That's all you need to do to build and install the Tuscany SCA runtime on +Ubuntu Server 9.10. + + +For manual build and install steps on other systems or if you need to customize +your installation, read on... + + Building ======== @@ -8,7 +33,7 @@ The Tuscany SCA Linux build uses the GNU Autotools tool chain. First install the following development tools: autoconf-2.64 -automake-1.4 +automake-1.11 g++-4.4.1 libtool-2.2.6 doxygen-1.6.1 @@ -21,19 +46,19 @@ memcached-1.2.8 (http://memcached.org/) Then install the following development dependencies: Apache HTTP server and APR: -httpd-2.2-13 (http://httpd.apache.org/) -libapr-1-0.3.8 (http://apr.apache.org/) -libaprutil-1-0.3.9 +httpd-2.2-15 (http://httpd.apache.org/) +with included libapr and libaprutil +built with OpenSSL libssl-0.9.8g XML: libxml2-2.7.5 (http://xmlsoft.org/) CURL: -libcurl4-7.19.5 (http://curl.haxx.se) +libcurl4-openssl-7.19.5 JSON: Mozilla SpiderMonkey libmozjs (http://www.mozilla.org/js/spidermonkey/) -included in xulrunner-1.9.1.7 +included in xulrunner-1.9.1.8 Optional dependencies: @@ -42,9 +67,11 @@ Apache Axis2/C 1.6.0 (http://ws.apache.org/axis2/c/) Queueing: Apache Qpid/C++ 0.6 (http://qpid.apache.org/) +built with libuuid-2.16, libboost-1.38.1, libboost-program-options-1.38.1 and +libboost-filesystem-1.38.1 Python: -Python 2.6 (http://www.python.org/) +Python 2.6.4 (http://www.python.org/) Java: a Java 5+ JDK (http://openjdk.java.net/, http://harmony.apache.org/) @@ -52,6 +79,7 @@ a Java 5+ JDK (http://openjdk.java.net/, http://harmony.apache.org/) XMPP Chat: Libstrophe (http://code.stanziq.com/cgit/strophe/libstrophe/) build it from source at git://code.stanziq.com//libstrophe +requires libcheck-0.9.6 XMPP Chat tests: Apache Vysper (http://mina.apache.org/) build from source at http://svn.apache.org/repos/asf/mina/sandbox/vysper/trunk @@ -103,8 +131,8 @@ dependencies installed under $HOME: ./configure --prefix=$HOME/tuscany-sca-cpp-bin \ --with-apr=$HOME/httpd-2.2.13-bin --with-httpd=$HOME/httpd-2.2.13-bin \ --with-libcurl=/usr --with-libxml2=/usr \ ---with-js-include=/usr/include/xulrunner-1.9.1.7/unstable \ ---with-js-lib=/usr/lib/xulrunner-1.9.1.7 \ +--with-js-include=/usr/include/xulrunner-1.9.1.8/unstable \ +--with-js-lib=/usr/lib/xulrunner-1.9.1.8 \ --enable-threads \ --enable-python --with-python=/usr \ --enable-java --with-java=/usr/lib/jvm/default-java \ @@ -151,18 +179,13 @@ make install export PATH=$HOME/httpd-2-2.13-bin/bin:$PATH Apache Axis2/C: -./configure --enable-libxml2 --enable-openssl --enable-libcurl \ +./configure --enable-libxml2 --enable-openssl \ --with-apache2=$HOME/httpd-2.2.13-bin/include --prefix=$HOME/axis2c-1.6.0-bin make make install export AXIS2C_HOME=$HOME/axis2c-1.6.0-bin Apache Qpid/C++: -git clone git://git.apache.org/qpid.git -cd qpid -git checkout -b 0.6-release origin/0.6-release -cd qpid/cpp -./bootstrap ./configure --prefix=$HOME/qpidc-0.6-bin make make install diff --git a/sca-cpp/trunk/components/chat/Makefile.am b/sca-cpp/trunk/components/chat/Makefile.am index 9ab64c388c..00fdcfea74 100644 --- a/sca-cpp/trunk/components/chat/Makefile.am +++ b/sca-cpp/trunk/components/chat/Makefile.am @@ -42,7 +42,7 @@ noinst_PROGRAMS = xmpp-test client-test if WANT_VYSPER -AM_JAVACFLAGS = -cp `${top_builddir}/components/chat/vysper-classpath`${JAVAROOT} +AM_JAVACFLAGS = -cp `${top_builddir}/components/chat/vysper-classpath ${VYSPER_PREFIX}`${JAVAROOT} noinst_JAVA = test/*.java diff --git a/sca-cpp/trunk/components/chat/vysper-classpath b/sca-cpp/trunk/components/chat/vysper-classpath index eb234fb285..7cf16a5ae8 100755 --- a/sca-cpp/trunk/components/chat/vysper-classpath +++ b/sca-cpp/trunk/components/chat/vysper-classpath @@ -20,6 +20,10 @@ # Compute a classpath for running a Vysper server here=`readlink -f $0`; here=`dirname $here` -vysper_prefix=`cat $here/vysper.prefix` +if [ "$1" = "" ]; then + vysper_prefix=`cat $here/vysper.prefix` +else + vysper_prefix=$1 +fi jars=`find $vysper_prefix/lib -name "*.jar" | awk '{ printf "%s:", $1 }'` echo "$vysper_prefix/config:$jars" diff --git a/sca-cpp/trunk/modules/wsgi/Makefile.am b/sca-cpp/trunk/modules/wsgi/Makefile.am index 9df8135ab2..ed5c868f6b 100644 --- a/sca-cpp/trunk/modules/wsgi/Makefile.am +++ b/sca-cpp/trunk/modules/wsgi/Makefile.am @@ -22,6 +22,17 @@ INCLUDES = -I${PYTHON_INCLUDE} mod_SCRIPTS = composite.py scdl.py util.py elemutil.py xmlutil.py atomutil.py jsonutil.py wsgi-start wsgi-stop moddir = $(prefix)/modules/wsgi +noinst_DATA = target.stamp + +target.stamp: app.yaml *.py *.composite htdocs/* + mkdir -p target + cp app.yaml *.py *.composite target + cp -R htdocs target/htdocs + touch target.stamp + +clean-local: + rm -rf target.stamp target + client_test_SOURCES = client-test.cpp client_test_LDFLAGS = -lxml2 -lcurl -lmozjs diff --git a/sca-cpp/trunk/modules/wsgi/wsgi-package b/sca-cpp/trunk/modules/wsgi/wsgi-package deleted file mode 100755 index 28756f9494..0000000000 --- a/sca-cpp/trunk/modules/wsgi/wsgi-package +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# 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. - -# Package a WSGI app for upload -here=`readlink -f $0`; here=`dirname $here` -pwd=`pwd` -root=`readlink -f $pwd` - -rm -rf target -mkdir -p target -cd target -ls $here/*.py | grep -v "\-test.py" | xargs -i -t ln -s -f {} -ls $root | grep -v "target" | xargs -i -t ln -s -f $root/{} - diff --git a/sca-cpp/trunk/test/store-wsgi/Makefile.am b/sca-cpp/trunk/test/store-wsgi/Makefile.am index 132dee78f4..56015e7f19 100644 --- a/sca-cpp/trunk/test/store-wsgi/Makefile.am +++ b/sca-cpp/trunk/test/store-wsgi/Makefile.am @@ -17,6 +17,17 @@ if WANT_PYTHON +noinst_DATA = target.stamp + +target.stamp: app.yaml *.py *.composite $(top_builddir)/modules/wsgi/*.py htdocs/* + mkdir -p target + cp app.yaml *.py *.composite `ls $(top_builddir)/modules/wsgi/*.py | grep -v "\-test"` target + cp -R htdocs target/htdocs + touch target.stamp + +clean-local: + rm -rf target.stamp target + #TESTS = server-test endif diff --git a/sca-cpp/trunk/ubuntu-install b/sca-cpp/trunk/ubuntu-install new file mode 100755 index 0000000000..5a63495e80 --- /dev/null +++ b/sca-cpp/trunk/ubuntu-install @@ -0,0 +1,88 @@ +# 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 +pwd=`pwd` + +# Install GIT and core dev tools +sudo apt-get -y install git-core +sudo apt-get -y install autoconf automake g++ libtool + +# Install the required binaries +sudo apt-get -y install curl memcached + +# Build Apache HTTP server +sudo apt-get -y install libssl-dev +curl -o httpd-2.2.15.tar.gz 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=$pwd/httpd-2.2.15-bin +make +make install +cd .. + +# Build Apache Axis2/C +sudo apt-get -y libxml2-dev +curl -o axis2c-src-1.6.0.tar.gz 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=$pwd/httpd-2.2.15-bin/include --prefix=$pwd/axis2c-1.6.0-bin +make +make install +cd .. + +# Build Apache Qpid/C++ +sudo apt-get -y libboost-dev libboost-program-options-dev libboost-filesystem-dev uuid-dev +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 +curl -o qpid-cpp-0.6.tar.gz http://qpid.apache.org/dist/qpid-0.6rc7/qpid-cpp-0.6rc7.tar.gz +cd qpidc-0.6 +./configure --prefix=$pwd/qpidc-0.6-bin +make +make install +cd .. + +# Build Libstrophe +sudo apt-get -y install check +git clone git://code.stanziq.com/libstrophe +cd libstrophe +git submodule init +git submodule update +aclocal +automake --add-missing --foreign --copy +autoconf +./configure --prefix=$pwd/libstrophe-bin +make +make install +cd .. + +# Install Apache Vysper +sudo apt-get -y install openjdk-6-jdk +curl -o vysper-1.0.0-bin.tar.gz 'http://hudson.zones.apache.org/hudson/view/Vysper/job/vysper-trunk-jdk1.6-ubuntu/org.apache.vysper$vysper/lastSuccessfulBuild/artifact/org.apache.vysper/vysper/1.0.0-SNAPSHOT/vysper-1.0.0-SNAPSHOT-bin.tar.gz' +tar xzf vysper-1.0.0-bin.tar.gz + +# Build Tuscany SCA +sudo apt-get -y install libcurl4-openssl-dev xulrunner-dev +git clone git://git.apache.org/tuscany-sca-cpp +cd tuscany-sca-cpp +cp etc/git-exclude .git/info/exclude +./bootstrap +./configure --prefix=$pwd/tuscany-sca-cpp-bin --with-apr=$pwd/httpd-2.2.15-bin --with-httpd=$pwd/httpd-2.2.15-bin --enable-threads --enable-python --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-axis2c=$pwd/axis2c-1.6.0-bin --enable-queue --with-qpidc=$pwd/qpidc-0.6-bin --enable-chat --with-libstrophe=$pwd/libstrophe --with-vysper=$pwd/vysper-1.0.0 +make +make install + |