Slackware::Slackget::Base - A module which centralize some base methods usefull to slack-get
Version 1.0.2
This module centralize bases tasks like package directory compilation, etc. This class is mainly designed to be a wrapper so it can change a lot before the release.
use Slackware::Slackget::Base; my $base = Slackware::Slackget::Base->new(); my $packagelist = $base->compil_packages_directory('/var/log/packages/'); $packagelist = $base->load_list_from_xml_file('installed.xml');
Take no arguments.
my $base = Slackware::Slackget::Base->new();
take a directory as argument and return an array wich contain all things in this directory.
my @config_files = $base->ls('/etc/slack-get/') ;
take at leat one directory in argument and recursively follow all subdirectories. Return an array containing all files encounter but WITHOUT symblic links.
my @config_files = $base->dir2files('/etc','/usr/local/etc', "/$ENV{HOME}/etc/") ;
take a directory where are store installed packages files and return a Slackware::Slackget::PackageList object
my $packagelist = $base->compil_packages_directory('/var/log/packages/');
Load the data for filling the list from an XML file. Return a Slackware::Slackget::PackageList. This method is design for reading a installed.xml file.
$packagelist = $base->load_installed_list_from_xml_file('installed.xml');
Load the data for filling the list from an XML file. Return a hashref built on this model :
my $hashref = { 'key' => Slackware::Slackget::PackageList, ... };
Ex:
my $hashref = { 'slackware' => blessed(Slackware::Slackget::PackageList), 'slacky' => blessed(Slackware::Slackget::PackageList), 'audioslack' => blessed(Slackware::Slackget::PackageList), 'linuxpackages' => blessed(Slackware::Slackget::PackageList), };
This method is design for reading a packages.xml file.
$hashref = $base->load_packages_list_from_xml_file('packages.xml');
Load a server list from a medias.xml file.
$serverlist = $base->load_server_list_from_xml_file('servers.xml');
An allias for load_media_list_from_xml_file(). Given for backward compatibility
By default the file list is not include in the installed.xml for some size consideration (on my system including the file list into installed.xml make him grow 28 times ! It passed from 400 KB to 11 MB),
So you can use this method to include the file list into installed.xml. BE carefull, to use it BEFORE compil_packages_directory() !
$base->set_include_file_list(); $packagelist = $base->compil_packages_directory();
Like the UNIX command ldd. Do a ldd system call on a list of files and return an array of dependencies.
my @dependecies = $base->ldd('/usr/bin/gcc', '/usr/bin/perl', '/bin/awk') ;
DUPUIS Arnaud, <a.dupuis@infinityperl.org>
<a.dupuis@infinityperl.org>
Please report any bugs or feature requests to bug-Slackware-Slackget@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Slackware-Slackget. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-Slackware-Slackget@rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc Slackware-Slackget
You can also look for information at:
Infinity Perl website
http://www.infinityperl.org
slack-get specific website
http://slackget.infinityperl.org
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Slackware-Slackget
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Slackware-Slackget
CPAN Ratings
http://cpanratings.perl.org/d/Slackware-Slackget
Search CPAN
http://search.cpan.org/dist/Slackware-Slackget
Copyright 2005 DUPUIS Arnaud, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Slackware::Slackget, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Slackware::Slackget
CPAN shell
perl -MCPAN -e shell install Slackware::Slackget
For more information on module installation, please visit the detailed CPAN module installation guide.