summaryrefslogtreecommitdiffstats
path: root/sca-cpp
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-03-13 18:40:42 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-03-13 18:40:42 +0000
commit014971ccb5b2041147cf9d84d498cce64ea0493e (patch)
tree0f93393d6a58e6bcd7a1e68bbe8a9c4af3626001 /sca-cpp
parent7fc75cdf0b19e8f748505931164d1756e796b833 (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 '')
-rw-r--r--sca-cpp/trunk/INSTALL53
-rw-r--r--sca-cpp/trunk/components/chat/Makefile.am2
-rwxr-xr-xsca-cpp/trunk/components/chat/vysper-classpath6
-rw-r--r--sca-cpp/trunk/modules/wsgi/Makefile.am11
-rwxr-xr-xsca-cpp/trunk/modules/wsgi/wsgi-package30
-rw-r--r--sca-cpp/trunk/test/store-wsgi/Makefile.am11
-rwxr-xr-xsca-cpp/trunk/ubuntu-install88
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
+