==== NAME ====

PkgForge::Registry - Package Forge build farm registry database

==== DESCRIPTION ====

Package Forge is a system for building software from source code on
multiple target platforms. It can support multiple source code formats
and multiple build daemon types for multiple platforms and
architectures.

This set of modules is used to provide access to the job registry
database. It is possible to either access the database directly using
the DBIx::Class API or via a number of methods in PkgForge::Registry
which attempt to "hide" the SQL dependency.

==== DEPENDENCIES ====

This module needs perl 5.8.1 or newer (that's for Moose nothing in
this code needs it).

To build this module you will need the following:

        Module::Build

To use this module you will need the following:

        DBD::Pg
        DBIx::Class >= 0.08112
        DateTime::Format::Pg
        PkgForge
        Moose
        MooseX::Types::Moose
        Text::Abbrev

You will also need a PostgreSQL database, the version must be at least
8.4.  It might work with earlier versions, it has never been tested,
but there is absolutely no guarantee that it will continue to work.

If you are not the database administrator you will either need to ask
nicely or have access to an account that has the ability to create a
database, add new roles and also add the plpgsql language support to
the database.

==== INSTALLATION ====

Make sure you have the dependencies installed first! (see DEPENDENCIES above)

If you don't know how to install these, try using the CPAN module, an easy
way of auto-installing modules from the Comprehensive Perl Archive Network,
where the above modules reside. Do "perldoc perlmodinstall" or "perldoc
CPAN" for more information.

To install this module type the following:

   perl Build.PL
   ./Build
   ./Build test
   ./Build install

Or, if you're on a platform (like DOS or Windows) that doesn't like the "./"
notation, you can do this:

   perl Build.PL
   perl Build
   perl Build test
   perl Build install

In order to install somewhere other than the default, such as in a directory
under your home directory, like "/home/fred/perl" go

   perl Build.PL --install_base /home/fred/perl

as the first step instead.

This will install the files underneath /home/fred/perl.

You will also need to ensure the configuration files and scripts are
installed into a writable location. So you will normally need
something like:

   mkdir /home/fred/pkgforge
   ./Build --install_base /home/fred/perl \
           --install_path conf=/home/fred/pkgforge/conf \
           --install_path scripts=/home/fred/pkgforge/scripts \

You will need to change the PERL5LIB variable to add
/home/fred/perl/lib

        export PERL5LIB=/home/fred/perl/lib:${PERL5LIB}

If you want to install in a temporary install directory (such as if you are
building a package) then instead of going

   perl Build install

go

   perl Build install destdir=/my/temp/dir

and it will be installed there, with a directory structure under
/my/temp/dir the same as it would be if it were installed plain. Note that
this is NOT the same as setting --install_base, because certain things are
done at build-time which use the install_base info.

See "perldoc perlrun" for more information on PERL5LIB, and see "perldoc
Module::Build" for more information on installation options.

==== PROBLEMS AND FEEDBACK ====

There are no known bugs in this application. Please report any
problems to bugs@lcfg.org, feedback and patches are also always very
welcome.

==== AUTHOR ====

Stephen Quinney <squinney@inf.ed.ac.uk>

==== COPYRIGHT AND LICENCE ====

Copyright (C) 2010 University of Edinburgh

This program is free software; you can redistribute it and/or modify it
under the terms of the GPL, version 2 or later.

