slackget10::Base - A module which centralize some base methods usefull to slack-get
Version 1.0.0
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 slackget10::Base; my $base = slackget10::Base->new(); my $packagelist = $base->compil_package_directory('/var/log/packages/'); $packagelist = $base->load_list_from_xml_file('installed.xml');
Take no arguments.
my $base = slackget10::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 slackget10::PackageList object
my $packagelist = $base->compil_package_directory('/var/log/packages/');
Load the data for filling the list from an XML file. Return a slackget10::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' => slackget10::PackageList, ... };
Ex:
my $hashref = { 'slackware' => blessed(slackget10::PackageList), 'slacky' => blessed(slackget10::PackageList), 'audioslack' => blessed(slackget10::PackageList), 'linuxpackages' => blessed(slackget10::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 servers.xml file.
$serverlist = $base->load_server_list_from_xml_file('servers.xml');
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-slackget10-base@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=slackget10. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-slackget10-base@rt.cpan.org
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 slackget10, copy and paste the appropriate command in to your terminal.
cpanm
cpanm slackget10
CPAN shell
perl -MCPAN -e shell install slackget10
For more information on module installation, please visit the detailed CPAN module installation guide.