==== 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 ==== 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.