I. Overview The PRepS Server Tools consists of a library called libpreps, and a "druid" application called prepsdb_tool. The server tools only need to be built on the database server (see the "Common Installation Types" at the bottom of this file). The libpreps library adds e-mail functions to the PostgreSQL database. PRepS uses the functions in this library to send notifications messages, which can be setup on a project by project basis. II. Requirements Glib 2.2.x or higher GTK+ 2.2.x or higher The Gnome libraries (GNOME 2 or higher) PostgreSQL v7.x (tested with v7.3.x and v7.4.x) III. Make and Install Assuming that you have Glib and PostgreSQL installed correctly, all you should have to do to build PRepS is: Step 1: build ./configure make #become root if necessary make install Step 2: configure update /etc/ld.so.conf and run ldconfig (read up on share libraries if you do not know what this means) Step 3: database related stuff restart PostgreSQL create a new PRepS database, or update an existing one (see sections IV and V of this file) See ./configure --help for a detailed list of all of the arguments that configure understands. Of note is: --with-pgconfdir=DIR Prefix where pg_config can be found. The configure script needs to use pg_config in order to set up the Makefile's for your PostgreSQL installation. You only need to use this option if pg_config is not in your PATH. Remember to create at least one database. If you are upgrading from a previous version of PRepS, be sure to update your databases. MAC OS X NOTE (this ONLY applies to MAC OS X): -- begin MAC OS X hacking -- When installing on Mac OS X, libpreps is build as a dynamic library. It should be built as a loadable module. I have not managed to fix the configure file to create a loadable module on Mac OS X, so you will have to do it manually as such (assumes a --prefix of /sw/preps was used when doing ./configure, adjust as required): After you do the 'sudo make intall' step: cd preps cc -bundle -flat_namespace -undefined suppress -o libpreps.so sendmsg.o sudo cp libpreps.so /sw/preps/lib -- end MAC OS X hacking -- IV. Creating a database (see the next section if you are upgrading PRepS) You must create a database for PRepS to work with. Use the prepsdb_tool program (installed in $PREFIX/bin in step #1) to do this. The PRepS Database Tool will walk you through the installation process. The first screen is strictly informational. Press "Forward". On the second screen, select "Create new database". In the "Server Information" section, fill in the credentials required to connect to the database. For most people, you will only need to enter the "PostgreSQL Superuser Id" (which defaults to 'postgres', the most common PostgreSQL Superuser Id). Press "Forward" The third screen is where all the interesting stuff is filled in. The database name needs to follow PostgreSQL's naming rules. The Password is only required if your PostgreSQL security requires passwords. The library paths should only NOT be changed unless you REALLY know what you are doing. Press "Forward". The final page gives you a recap of what will be done. Press "Apply" to create the database, "Back" to go change something, or "Cancel" to quit without doing anything. V. Updating an existing PRepS database If you are upgrading from an older version of PRepS, you may need to update the schema version (see the following table). Schema versions: PRepS Version Database Schema ============= =============== v1.2.x 1 v1.4.x 3 v1.6.x 4 v1.8.x 4 v2.0.x 5 To update a database, start prepsdb_tools. On the second page, choose "Update/Fix an existing database". Then fill out the Server Information (see the "create" section for details). Press "Forward". On the third page, select a PRepS database to update. The prepsdb_tools will tell you who owns the database. You will only need to provide a password for this user if you PostgreSQL configuration requires it. On the forth page, enter a description for the update. The "Library Information" section contains the current paths used in the database for these libraries. If these paths have changed for some reason, enter the correct paths here. The existing libraries will be dropped and re-created. Press "Forward". The final page gives you a recap of what will be done. Press "Apply" to update the database, "Back" to go change something, or "Cancel" to quit without doing anything. enjoy! VI. Common Installation Types a.) Single Machine - This is the simplest installation. The single machine is the database server and the client. This is a common way to run in a "home" environment. b.) Server w/ thin clients - Basically just like a single machine. The server contains the database server and the client application. Users log in to the server, map the X display back to their machines, and run preps. c.) Client/Server - One machine is the database server. This machine must have PostgreSQL fully installed as well as the preps server tools (libpreps and prepsdb_tool). Other machines (the clients) only need to have the PostgreSQL libraries and the PRepS client installed. Users run preps from their own machines, and specify the server name or address when logging in to the PRepS database. $Id: INSTALL,v 1.6 2004/11/06 03:59:27 stuffle Exp $