summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-04-04 07:31:28 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-04-04 07:31:28 +0000
commit8d0acee3d667560f70a0a32b36cb9da4bc48ef9c (patch)
tree23fe74936970e8cdf2408b6c8986422d12c57af9
parent74684a07395ea564197d630bd26298050bcda252 (diff)
Create build structure for an SQL database component. Add dependencies to postgresql and tinycdb to build scripts.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@930635 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sca-cpp/trunk/INSTALL85
-rw-r--r--sca-cpp/trunk/README5
-rw-r--r--sca-cpp/trunk/components/Makefile.am2
-rw-r--r--sca-cpp/trunk/components/queue/qpid.hpp4
-rw-r--r--sca-cpp/trunk/components/sqldb/Makefile.am43
-rw-r--r--sca-cpp/trunk/components/sqldb/pgsql.hpp34
-rw-r--r--sca-cpp/trunk/components/sqldb/sqldb.composite32
-rw-r--r--sca-cpp/trunk/configure.ac66
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-bin-image12
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-install96
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-source-image1
11 files changed, 330 insertions, 50 deletions
diff --git a/sca-cpp/trunk/INSTALL b/sca-cpp/trunk/INSTALL
index ba9d898c66..3a23d770b9 100644
--- a/sca-cpp/trunk/INSTALL
+++ b/sca-cpp/trunk/INSTALL
@@ -42,7 +42,7 @@ libtool-2.2.6
doxygen-1.6.1
Install the following binaries:
-curl-7.19.5 (http://curl.haxx.se)
+curl-7-19-5
privbind-1.1 (http://manpages.ubuntu.com/manpages/karmic/man1/privbind.1.html)
@@ -58,14 +58,17 @@ memcached-1.4.4 (http://memcached.org/)
built with libevent-1.4.11
XML:
-libxml2-2.7.5 (http://xmlsoft.org/)
+libxml2-2.7.7 (http://xmlsoft.org/)
CURL:
libcurl4-openssl-7.19.5
JSON:
-Mozilla SpiderMonkey libmozjs (http://www.mozilla.org/js/spidermonkey/)
-included in xulrunner-1.9.1.8
+Mozilla TraceMonkey libmozjs (https://wiki.mozilla.org/JavaScript:TraceMonkey)
+also included in xulrunner-1.9.1.8
+
+Key/value store:
+tinycdb-0.77 (http://www.corpit.ru/mjt/tinycdb.html)
Optional dependencies:
@@ -90,6 +93,9 @@ Libstrophe (http://code.stanziq.com/cgit/strophe/libstrophe/)
build it from source at git://code.stanziq.com//libstrophe
requires libcheck-0.9.6
+SQL Database:
+postgresql-9.0 (http://www.postgresql.org/)
+
To configure the Tuscany SCA build do this:
./bootstrap
@@ -121,6 +127,9 @@ To build the Chat utility component (requires Libstrophe and optionally Apache
Vysper if you want to run the tests with a local Vysper XMPP server):
--enable-chat
+To build the SQL Database utility component (requires PostgreSQL):
+--enable-sqldb
+
To generate doxygen documentation, add:
--enable-doxygen
@@ -136,16 +145,19 @@ 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-memcached=$HOME/memcached-1.4.4-bin \
---with-libcurl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \
+--with-tinycdb=$HOME/tinycdb-0.77-bin \
+--with-curl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \
--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 \
--enable-webservice --with-axis2c=$HOME/axis2c-1.6.0-bin \
+--with-libxml2=$HOME/libxml2-2.7.7-bin \
--enable-queue --with-qpidc=$HOME/qpidc-0.6-bin \
--enable-chat --with-libstrophe=$HOME/libstrophe \
--with-vysper=$HOME/vysper-0.5 \
+--enable-sqldb --with-pgsql=$HOME/postgresql-9.0-bin \
--enable-maintainer-mode
@@ -178,34 +190,73 @@ Building dependencies from source
Here are example build and install steps for some of the dependencies.
Apache HTTPD, including APR, using the HTTP prefork MPM (recommended):
+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=$HOME/httpd-2.2.13-bin
+--with-mpm=prefork --prefix=$HOME/httpd-2.2.15-bin
make
make install
-export PATH=$HOME/httpd-2-2.13-bin/bin:$PATH
+export PATH=$HOME/httpd-2-2.15-bin/bin:$PATH
Memcached:
+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=$HOME/memcached-1.4.4-bin
make
make install
+CURL:
+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=$HOME/curl-7.19.5-bin
+make
+make install
+
+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=$HOME/libxml2-2.7.7-bin
+make
+make install
+
+TraceMonkey:
+wget http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
+tar xzf tracemonkey-e4364736e170.tar.gz
+cd tracemonkey-e4364736e170/js/src
+autoconf2.13
+./configure --prefix=$HOME/tracemonkey-bin
+make
+make install
+
+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=$HOME/tinycdb-0.77-bin install
+
Apache Axis2/C:
+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=$HOME/httpd-2.2.13-bin/include --prefix=$HOME/axis2c-1.6.0-bin
+--with-apache2=$HOME/httpd-2.2.15-bin/include --prefix=$HOME/axis2c-1.6.0-bin
make
make install
export AXIS2C_HOME=$HOME/axis2c-1.6.0-bin
Apache Qpid/C++:
+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=$HOME/qpidc-0.6-bin
make
make install
-CURL
-./configure --prefix=$HOME/qpid-7.19.5-bin
-make
-make install
-
Libstrophe:
git clone git://code.stanziq.com/libstrophe
cd libstrophe
@@ -218,3 +269,11 @@ autoconf
make
make install
+PostgreSQL:
+wget http://wwwmaster.postgresql.org/download/mirrors-ftp/source/9.0alpha5/postgresql-9.0alpha5.tar.gz
+tar xzf postgresql-9.0alpha5.tar.gz
+cd postgresql-9.0alpha5
+./configure --prefix=$HOME/postgresql-9.0-bin
+make
+make install
+
diff --git a/sca-cpp/trunk/README b/sca-cpp/trunk/README
index 23536ec47a..720b785e47 100644
--- a/sca-cpp/trunk/README
+++ b/sca-cpp/trunk/README
@@ -40,11 +40,12 @@ Here's a rough guide to the Tuscany SCA source tree:
| | |-- wsgi Python WSGI server integration
| |
| |-- components Useful SCA components
- | | |-- cache Key/value cache
+ | | |-- cache Key/value memory cache
| | |-- chat XMPP chat
| | |-- log Logger
| | |-- queue AMQP message queue
- | | |-- store Persistent store
+ | | |-- sqldb SQL database
+ | | |-- store Key/value persistent store
| | |-- webservice Web service gateway
| |
| |-- test Integration tests
diff --git a/sca-cpp/trunk/components/Makefile.am b/sca-cpp/trunk/components/Makefile.am
index ad006ee798..c07ebb1468 100644
--- a/sca-cpp/trunk/components/Makefile.am
+++ b/sca-cpp/trunk/components/Makefile.am
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-SUBDIRS = cache chat log queue store webservice
+SUBDIRS = cache chat log queue sqldb store webservice
includedir = $(prefix)/include/components
nobase_include_HEADERS = */*.hpp
diff --git a/sca-cpp/trunk/components/queue/qpid.hpp b/sca-cpp/trunk/components/queue/qpid.hpp
index 8b466cedcc..2651e3a433 100644
--- a/sca-cpp/trunk/components/queue/qpid.hpp
+++ b/sca-cpp/trunk/components/queue/qpid.hpp
@@ -19,8 +19,8 @@
/* $Rev$ $Date$ */
-#ifndef tuscany_queue_hpp
-#define tuscany_queue_hpp
+#ifndef tuscany_qpid_hpp
+#define tuscany_qpid_hpp
/**
* AMQP queue access functions.
diff --git a/sca-cpp/trunk/components/sqldb/Makefile.am b/sca-cpp/trunk/components/sqldb/Makefile.am
new file mode 100644
index 0000000000..0bea7b5eb1
--- /dev/null
+++ b/sca-cpp/trunk/components/sqldb/Makefile.am
@@ -0,0 +1,43 @@
+# 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.
+
+if WANT_SQLDB
+
+INCLUDES = -I${PGSQL_INCLUDE}
+
+#comp_SCRIPTS = pgsql-start pgsql-stop
+compdir=$(prefix)/components/sqldb
+
+comp_DATA = pgsql.prefix
+pgsql.prefix: $(top_builddir)/config.status
+ echo ${PGSQL_PREFIX} >pgsql.prefix
+
+#comp_LTLIBRARIES = libsqldb.la libqueue-listener.la
+
+#libsqldb_la_SOURCES = sqldb.cpp
+#libsqldb_la_LDFLAGS = -L${PGSQL_LIB} -R${PGSQL_LIB} -lpgsql
+
+#pgsql_test_SOURCES = pgsql-test.cpp
+#pgsql_test_LDFLAGS = -L${PGSQL_LIB} -R${PGSQL_LIB} -lpgsql
+
+#client_test_SOURCES = client-test.cpp
+#client_test_LDFLAGS = -lxml2 -lcurl -lmozjs
+
+#noinst_PROGRAMS = pgsql-test client-test
+#TESTS = sql-test server-test
+
+endif
diff --git a/sca-cpp/trunk/components/sqldb/pgsql.hpp b/sca-cpp/trunk/components/sqldb/pgsql.hpp
new file mode 100644
index 0000000000..6743a4a3f5
--- /dev/null
+++ b/sca-cpp/trunk/components/sqldb/pgsql.hpp
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef tuscany_pgsql_hpp
+#define tuscany_pgsql_hpp
+
+#include "string.hpp"
+#include "list.hpp"
+#include "value.hpp"
+#include "monad.hpp"
+
+namespace tuscany {
+namespace sqldb {
+
+
+#endif /* tuscany_pgsql_hpp */
diff --git a/sca-cpp/trunk/components/sqldb/sqldb.composite b/sca-cpp/trunk/components/sqldb/sqldb.composite
new file mode 100644
index 0000000000..39b1e54b7e
--- /dev/null
+++ b/sca-cpp/trunk/components/sqldb/sqldb.composite
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1"
+ targetNamespace="http://tuscany.apache.org/xmlns/sca/components"
+ name="sqldb">
+
+ <component name="sqldb">
+ <implementation.cpp path=".libs" library="libsqldb"/>
+ <service name="sqldb">
+ <t:binding.http uri="sqldb"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-cpp/trunk/configure.ac b/sca-cpp/trunk/configure.ac
index 2c71c557eb..233cacf589 100644
--- a/sca-cpp/trunk/configure.ac
+++ b/sca-cpp/trunk/configure.ac
@@ -50,17 +50,20 @@ else
AM_CONDITIONAL([DARWIN], false)
fi
-# Configure path to libcurl includes and lib.
-AC_MSG_CHECKING([for libcurl])
-AC_ARG_WITH([libcurl], [AC_HELP_STRING([--with-libcurl=PATH], [path to installed libcurl [default=/usr]])], [
+# Configure path to CURL.
+AC_MSG_CHECKING([for curl])
+AC_ARG_WITH([curl], [AC_HELP_STRING([--with-curl=PATH], [path to installed curl [default=/usr]])], [
+ CURL_PREFIX="${withval}"
LIBCURL_INCLUDE="${withval}/include"
LIBCURL_LIB="${withval}/lib"
AC_MSG_RESULT("${withval}")
], [
+ CURL_PREFIX="/usr"
LIBCURL_INCLUDE="/usr/include"
LIBCURL_LIB="/usr/lib"
AC_MSG_RESULT(/usr)
])
+AC_SUBST(CURL_PREFIX)
AC_SUBST(LIBCURL_INCLUDE)
AC_SUBST(LIBCURL_LIB)
@@ -141,6 +144,23 @@ AC_ARG_WITH([memcached], [AC_HELP_STRING([--with-memcached=PATH], [path to insta
])
AC_SUBST(MEMCACHED_PREFIX)
+# Configure path to tinycdb.
+AC_MSG_CHECKING([for tinycdb])
+AC_ARG_WITH([tinycdb], [AC_HELP_STRING([--with-tinycdb=PATH], [path to installed tinycdb [default=/usr]])], [
+ TINYCDB_PREFIX="${withval}"
+ TINYCDB_INCLUDE="${withval}/include"
+ TINYCDB_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+], [
+ TINYCDB_PREFIX="/usr"
+ TINYCDB_INCLUDE="/usr/include"
+ TINYCDB_LIB="/usr/lib"
+ AC_MSG_RESULT(/usr)
+])
+AC_SUBST(TINYCDB_PREFIX)
+AC_SUBST(TINYCDB_INCLUDE)
+AC_SUBST(TINYCDB_LIB)
+
# Configure TUSCANY_SCACPP path variable.
TUSCANY_SCACPP=`echo "${TUSCANY_SCACPP}"`
if test "${TUSCANY_SCACPP}" = ""; then
@@ -475,7 +495,44 @@ else
AM_CONDITIONAL([WANT_STORE], false)
fi
-# Configure path to Apache Qpid/C++ includes and lib.
+# Configure path to PostgreSQL.
+AC_MSG_CHECKING([for pgsql])
+AC_ARG_WITH([pgsql], [AC_HELP_STRING([--with-pgsql=PATH], [path to installed PostgreSQL [default=/usr/local/pgsql]])], [
+ PGSQL_PREFIX="${withval}"
+ PGSQL_INCLUDE="${withval}/include"
+ PGSQL_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+], [
+ PGSQL_PREFIX="/usr/local/pgsql"
+ PGSQL_INCLUDE="/usr/local/pgsql/include"
+ PGSQL_LIB="/usr/local/pgsql/lib"
+ AC_MSG_RESULT(/usr/local)
+])
+AC_SUBST(PGSQL_PREFIX)
+AC_SUBST(PGSQL_INCLUDE)
+AC_SUBST(PGSQL_LIB)
+
+# Enable SQL Database component.
+AC_MSG_CHECKING([whether to enable the SQL Database component])
+AC_ARG_ENABLE(sqldb, [AS_HELP_STRING([--enable-sqldb], [enable SQL Database component [default=no]])],
+[ case "${enableval}" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ AC_MSG_RESULT(yes)
+ want_sqldb=true
+ ;;
+ esac ],
+[ AC_MSG_RESULT(no)])
+if test "${want_sqldb}" = "true"; then
+ AM_CONDITIONAL([WANT_SQLDB], true)
+ AC_DEFINE([WANT_SQLDB], 1, [enable SQL Database component])
+else
+ AM_CONDITIONAL([WANT_SQLDB], false)
+fi
+
+# Configure path to Apache Qpid/C++.
AC_MSG_CHECKING([for qpidc])
AC_ARG_WITH([qpidc], [AC_HELP_STRING([--with-qpidc=PATH], [path to installed Apache Qpid/C++ [default=/usr/local]])], [
QPIDC_PREFIX="${withval}"
@@ -598,6 +655,7 @@ AC_CONFIG_FILES([Makefile
components/log/Makefile
components/chat/Makefile
components/queue/Makefile
+ components/sqldb/Makefile
components/store/Makefile
components/webservice/Makefile
samples/Makefile
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-bin-image b/sca-cpp/trunk/ubuntu/ubuntu-bin-image
index 54ebd42c03..5c8a89d2a4 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-bin-image
+++ b/sca-cpp/trunk/ubuntu/ubuntu-bin-image
@@ -31,11 +31,11 @@ sudo chgrp ubuntu /mnt/tuscany
cd /mnt/tuscany
# Install system tools and libraries
-sudo apt-get -y install git-core autoconf automake g++ libtool
+sudo apt-get -y install wget git-core autoconf automake g++ libtool
if [ "$?" != "0" ]; then
exit $?
fi
-sudo apt-get -y install curl privbind
+sudo apt-get -y install privbind
if [ "$?" != "0" ]; then
exit $?
fi
@@ -43,7 +43,7 @@ sudo apt-get -y install libssl-dev
if [ "$?" != "0" ]; then
exit $?
fi
-sudo apt-get -y install pkg-config libxml2-dev
+sudo apt-get -y install pkg-config
if [ "$?" != "0" ]; then
exit $?
fi
@@ -59,12 +59,8 @@ sudo apt-get -y install openjdk-6-jdk
if [ "$?" != "0" ]; then
exit $?
fi
-sudo apt-get -y install xulrunner-dev
-if [ "$?" != "0" ]; then
- exit $?
-fi
# Download and install the runtime
-curl -o tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz http://people.apache.org/~jsdelfino/tuscany/test/tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz
+wget http://people.apache.org/~jsdelfino/tuscany/test/tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz
tar xzf tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-install b/sca-cpp/trunk/ubuntu/ubuntu-install
index 5ce7976108..ac5017e255 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-install
+++ b/sca-cpp/trunk/ubuntu/ubuntu-install
@@ -24,14 +24,14 @@ set -x
# Build and install in the current directory
build=`pwd`
-# Install GIT and core dev tools
-sudo apt-get -y install git-core autoconf automake g++ libtool
+# Install core dev tools
+sudo apt-get -y install wget git-core autoconf automake g++ libtool
if [ "$?" != "0" ]; then
exit $?
fi
# Install the required binaries
-sudo apt-get -y install curl privbind
+sudo apt-get -y install privbind
if [ "$?" != "0" ]; then
exit $?
fi
@@ -41,7 +41,7 @@ sudo apt-get -y install libssl-dev
if [ "$?" != "0" ]; then
exit $?
fi
-curl -o httpd-2.2.15.tar.gz http://www.apache.org/dist/httpd/httpd-2.2.15.tar.gz
+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
@@ -57,7 +57,7 @@ sudo apt-get install libevent-dev
if [ "$?" != "0" ]; then
exit $?
fi
-curl -o memcached-1.4.4.tar.gz http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
+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
@@ -68,12 +68,64 @@ if [ "$?" != "0" ]; then
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
+
# Build Apache Axis2/C
-sudo apt-get -y install pkg-config libxml2-dev
+sudo apt-get -y install pkg-config
if [ "$?" != "0" ]; then
exit $?
fi
-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
+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
@@ -99,7 +151,7 @@ if [ "$?" != "0" ]; then
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
-curl -o qpid-cpp-0.6.tar.gz http://www.apache.org/dist/qpid/0.6/qpid-cpp-0.6.tar.gz
+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
@@ -135,17 +187,21 @@ sudo apt-get -y install openjdk-6-jdk
if [ "$?" != "0" ]; then
exit $?
fi
-curl -o vysper-0.5-bin.tar.gz https://repository.apache.org/content/repositories/orgapachemina-019/org/apache/vysper/vysper/0.5/vysper-0.5-bin.tar.gz
+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 Libcurl
-curl -o curl-7.19.5.tar.gz 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
+# 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
@@ -154,15 +210,12 @@ fi
cd $build
# Build Tuscany SCA
-sudo apt-get -y install xulrunner-dev
-if [ "$?" != "0" ]; then
- exit $?
-fi
-git clone git://git.apache.org/tuscany-sca-cpp
+#git clone git://git.apache.org/tuscany-sca-cpp
+git clone ssh://delfinoj@10.1.1.58/home/delfinoj/SCAZone/Source/tuscany-sca-cpp/.git
cd tuscany-sca-cpp
cp etc/git-exclude .git/info/exclude
./bootstrap
-./configure --prefix=$build/tuscany-sca-cpp-bin --with-libcurl=$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 --enable-threads --enable-python --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe --with-vysper=$build/vysper-0.5
+./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-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 --with-vysper=$build/vysper-0.5 --enable-sqldb --with-pgsql=$build/postgresql-9.0-bin
make
make install
if [ "$?" != "0" ]; then
@@ -170,3 +223,6 @@ if [ "$?" != "0" ]; then
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 libstrophe-bin memcached-1.4.4-bin tinycdb-0.77-bin qpidc-0.6-bin vysper-0.5 postgresql-9.0-bin
+
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-source-image b/sca-cpp/trunk/ubuntu/ubuntu-source-image
index 2d24d9ad30..a2b45ece3b 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-source-image
+++ b/sca-cpp/trunk/ubuntu/ubuntu-source-image
@@ -31,6 +31,7 @@ sudo chgrp ubuntu /mnt/tuscany
cd /mnt/tuscany
# Download and run install script
+sudo apt-get -y install wget
wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
chmod +x ./ubuntu-install
./ubuntu-install