Preface
This document is part of the LiveSupport
project, Copyright © 2004 Media
Development Loan Fund, under the GNU GPL.
- Author: $Author: tomas $
- Version: $Revision: 1.8 $
- Location: $Source:
/home/cvs/livesupport/doc/gettingStarted.html,v $
Scope
This document describes how to set up the LiveSupport development
environment.
Introduction
LiveSupport uses a well-defined development environment.
Most of the LiveSupport-specific files are included in the version
control system, but some preparation and setup has to be made on system
used to develop LiveSupport as well.
Steps
The following steps needed to be taken for setting up the LiveSupport
development environment.
- install development tools
- set up additional system resources
- check out the sources
- set up tools used by LiveSupport
Install development tools
Install all the tools needed for the development of LiveSupport. Please
see the development tools document
for a list of tools needed.
Set up additional system resources
The LiveSupport development environment uses some system resources,
that are not reasonable to include in the environment itself. One such
resource is an ODBC datasource to a test database. This
database has to be accessible for executing the test suites and
applications within the LiveSupport development environment.
First, LiveSupport expects a PostgreSQL
database, and an ODBC
Data Source accessible to it through unixODBC.
Please refer to the documentation of these tools to set them up.
LiveSupport expects an ODBC Data Source with the following parameters:
- DSN:
LiveSupport-test
- username:
test
- password:
test
This data source should point to a PostgreSQL instance. Only one
developer at the time should access this datasource, as the test suites
regularly create and destroy database tables.
Second, LiveSupport expects:
- Apache httpd server
running on the development computer
- PHP interpreter
- PHP apache module
- PostgreSQL support in PHP
- PEAR
modules: DB, XML_Util, XML_Beautifier
(may be checked:
pear list
and installed by e.g.: pear install DB
)
Please, check settings in var/conf.php
files in both
storageServer and archiveServer modules and create two
symlinks with name corresponding to 'URL configuration' part of
var/conf.php
files - example for default values:
-
http://localhost:80/livesupportStorageServer/
should point to the <livesupport-cvs>/modules/storageServer/var
directory
-
http://localhost:80/livesupportArchiveServer/
should point to the <livesupport-cvs>/modules/archiveServer/var
directory
Check out the sources
The LiveSupport development directory tree can be accessed via
anonymous CVS, using the
CVSROOT :pserver:anonymous@netfinity-5.mdlf.org:/home/cvs
.
The repository is called livesupport, thus the following CVS command
would check out the development tree:
cvs -z3 -d
:pserver:anonymous@netfinity-5.mdlf.org:/home/cvs checkout livesupport
This will check out and create the LiveSupport development directory
structure.
Set up tools
LiveSupport uses widely available tools for development, like the GNU
C++ compiler, but also uses more specific tools. As these tools, or the
exact versions of these tools are not expected to be installed on the
development system, the LiveSupport development environment contains
them. The tools are installed into the livesupport/usr
directory, as described in the directory structure document.
Moreover, some components in livesupport have to be set up prior to
compilation, for example running autoconf or similar configuration
programs. This ensures that the components compile fine on the
development system.
To achieve all these goals, invoke the target setup
in
the main Makefile
, at the root of the LiveSupport
directory structure, by issuing the following command in the
livesupport directory:
cd livesupport
make setup
The execution of this command will take a while, as all the supporting
libraries and tools are compiled and installed to the livesupport/usr
directory. Please note that nothing is installed outside of the
LiveSupport directory structure.
Ready to roll
With the above steps completed, the LiveSupport modules and products
are ready to be compiled and developed further. Have fun!