==== NAME ====

LCFG::PkgTools - Perl libraries for parsing LCFG package lists

==== DESCRIPTION ====

This module provides tools which can be used to parse the LCFG package
specification format. There are also tools for parsing RPM filenames
without any need for rpmlib.

This module uses an XS wrapper to call functions in the lcfg-pkgtools
library which is written in C. All the real parsing work is done using
the Perl-Compatible-Regular-Expression (PCRE) library in the C
functions. This makes it fast and also means that the functions can be
called from C programs and pretty much any other language via the
relevant wrappers. The intention is that in the long run the LCFG
project will move to using one standard library for parsing package
specifications rather than the current 3 or 4 implementations, none of
which are completely in agreement over what is supported.

==== DEPENDENCIES ====

To use this module you will need the following:

     Class::Accessor::Fast
     Date::Format
     HTTP::Request::Common
     IO::Zlib
     LWP::UserAgent
     Readonly
     Tie::Hash

You will also need the lcfg-pkgtools C library which is distributed
separately. You can get that from the LCFG website:

http://www.lcfg.org/pkgdoc/sl5/i386/lcfg-pkgtools/

If the LCFG::SysInfo module is installed then the qxpack query tool
will use it find the default location of the package configuration
file.

==== 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 make sure that you alter the PERL5LIB variable
to find the modules, and the PATH variable to find the script.

Therefore you will need to change: your path, to include
/home/fred/perl/script (where the script will be)

        export PATH=/home/fred/perl/script:${PATH}

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) 2008 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.

