.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "RoPkg::Simba 3pm" .TH RoPkg::Simba 3pm "2006-09-26" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" RoPkg::Simba \- the main class of simba .SH "VERSION" .IX Header "VERSION" 0.8.4 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& !#/usr/bin/perl \& \& use RoPkg::DB; \& use RoPkg::Simba; \& \& sub main { \& my $simba = new RoPkg::Simba(cfgFile => \*(Aq/etc/simba.cfg\*(Aq); \& \& $simba\->Run({ Name => \*(Aqdebian\*(Aq}); \& } \& \& main(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class encapsulates all the necesary code required to run Simba. .SH "SUBROUTINES/METHODS" .IX Header "SUBROUTINES/METHODS" .SS "\fInew()\fP" .IX Subsection "new()" \&\fInew()\fR expects a hash ref as a parameter. The hash can contain (for the moment) only the \fBcfgFile\fR (the configuration file). All other hash keys are ignored. .SS "SimbaURL" .IX Subsection "SimbaURL" Returns the url with simba website .SS "\s-1VERSION\s0" .IX Subsection "VERSION" Returns a string with simba version .SS "MirrorsNo($fields)" .IX Subsection "MirrorsNo($fields)" returns the number of the mirrors from the database. The mirrors can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where) .SS "Mirrors($fields)" .IX Subsection "Mirrors($fields)" returns a array of \fIRoPkg::Simba::Mirror\fR initialized objects. The mirrors can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where) .SS "CommandsNo($fields)" .IX Subsection "CommandsNo($fields)" returns the number of commands from the database. The commands can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where) .SS "Commands" .IX Subsection "Commands" returns a array of \fIRoPkg::Simba::Command\fR initialized objects. The commands can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where) .SS "ExcludeNo" .IX Subsection "ExcludeNo" returns the number of excludes from the database. The excludes can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where) .SS "Excludes" .IX Subsection "Excludes" returns a array of \fIRoPkg::Simba::Excludes\fR initialized objects. The excludes can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where) .SS "LoadMirror($fields)" .IX Subsection "LoadMirror($fields)" load a mirror (and the related objects: command and exclude list) from the database and return a list of 3 objects: .IP "the mirror object (RoPkg::Simba::Mirror)" 3 .IX Item "the mirror object (RoPkg::Simba::Mirror)" .PD 0 .IP "the command object (RoPkg::Simba::Command)" 3 .IX Item "the command object (RoPkg::Simba::Command)" .IP "the excludes object (RoPkg::Simba::Excludes)" 3 .IX Item "the excludes object (RoPkg::Simba::Excludes)" .PD .PP Ex: my ($mirror, \f(CW$command\fR, \f(CW$excludes\fR); .PP .Vb 1 \& ($mirror, $command, $excludes) = $simba\->LoadMirror({ Name => \*(Aqdebian\*(Aq}); .Ve .PP The mirrors can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where). This method also checks if all necesary values are defined and well formed; for example checks if the command file name really exists. .SS "Run($fields)" .IX Subsection "Run($fields)" The most used method by simba. This method loads the mirror from the database, the command and the exclude list, builds the command line (with respect to username and password if necesary), signals mirror in progress, executes the command, parses the sync raw log and updates the database. Also, the \&\fBafterSync\fR handler callback is registered to this method. The mirrors can be filtered using the \fB\f(CB$fields\fB\fR parameter (as documented in SQL::Abstract \- where). .ie n .SS "RunCallbacks($cbName, @mirrors)" .el .SS "RunCallbacks($cbName, \f(CW@mirrors\fP)" .IX Subsection "RunCallbacks($cbName, @mirrors)" call the plugin methods for \fB\f(CB$cbName\fB\fR callback name. .SS "\fICheckDB()\fP" .IX Subsection "CheckDB()" Checks if database has at least one mirror and one command defined. .SS "\fIdbh()\fP" .IX Subsection "dbh()" returns the database handler used by Simba .SS "\fIdbo()\fP" .IX Subsection "dbo()" returns the instance of RoPkg::DB object, used by Simba .SS "\fIdbo_method()\fP" .IX Subsection "dbo_method()" returns the method used by Simba's \fIdbo()\fR object to access the mirrors database. .SH "SEE ALSO" .IX Header "SEE ALSO" RoPkg::Simba::Mirror RoPkg::Simba::Command RoPkg::Simba::Exclude RoPkg::Simba::Mirrors RoPkg::Simba::Commands RoPkg::Simba::Excludes .SH "PERL CRITIC" .IX Header "PERL CRITIC" This module is perl critic level 2 compliant (with one exception) .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" This module has his own tests in the t directory. To run the tests, unpack the source and use 'make test' command. .SH "CONFIGURATION AND ENVIRONMENT" .IX Header "CONFIGURATION AND ENVIRONMENT" This class use a configuration file. No environment variables are used. The configuration file format and the complete list of options (with detailed explanations) can be found on the community website: http://simba.packages.ro .SH "DEPENDENCIES" .IX Header "DEPENDENCIES" .SH "INCOMPATIBILITIES" .IX Header "INCOMPATIBILITIES" Please check the Makefile.PL for a detalied list of dependencies and their versions. .SH "BUGS AND LIMITATIONS" .IX Header "BUGS AND LIMITATIONS" No bugs known. For now, Simba can work only with rsync. .SH "AUTHOR" .IX Header "AUTHOR" Subredu Manuel .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" Copyright (C) 2005 Subredu Manuel. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The \s-1LICENSE\s0 file contains the full text of the license.