RoPkg-All-0.4/0000755000076600007640000000000010444444035012762 5ustar diabloroedunetRoPkg-All-0.4/History0000644000076600007640000000041010444443606014344 0ustar diabloroedunet16/Jun/2006 *) added RoPkg 0.5.5 *) added RoPkg::DB 0.1.12 *) version set to 0.4 17/Apr/2006 *) RoPkg 0.5.1 added *) RoPkg::DB 0.1.8 added 03/Apr/2006 *) updated modules to RoPkg - 0.4.7 , RoPkg::DB - 0.1.7 and RoPkg::Rsync to 0.2+alpha5 RoPkg-All-0.4/inc/0000755000076600007640000000000010444444035013533 5ustar diabloroedunetRoPkg-All-0.4/inc/ExtUtils/0000755000076600007640000000000010444444035015314 5ustar diabloroedunetRoPkg-All-0.4/inc/ExtUtils/AutoInstall.pm0000644000076600007640000005666510441757426020143 0ustar diabloroedunet# $File: //member/autrijus/ExtUtils-AutoInstall/AutoInstall.pm $ # $Revision: #11 $ $Change: 1502 $ $DateTime: 2002/10/17 20:21:45 $ package ExtUtils::AutoInstall; $ExtUtils::AutoInstall::VERSION = '0.42'; use strict; use Cwd; use ExtUtils::MakeMaker (); =head1 NAME ExtUtils::AutoInstall - Automatic install of dependencies via CPAN =head1 VERSION This document describes version 0.42 of B, released October 18, 2002. =head1 SYNOPSIS In F: # ExtUtils::AutoInstall Bootstrap Code, version 4. BEGIN{my$p='ExtUtils::AutoInstall';my$v=.30;eval"use $p $v;1"or ($ENV{PERL_EXTUTILS_AUTOINSTALL}!~/--(?:default|skip|testonly)/ and(-t STDIN)or eval"use ExtUtils::MakeMaker;WriteMakefile('PR' .'EREQ_PM'=>{'$p',$v});1"and exit)and print"==> $p $v needed. " ."Install it from CPAN? [Y/n] "and!~/^n/i and print"***" ." Fetching $p\n"and do{eval{require CPANPLUS;CPANPLUS::install $p};eval"use $p $v;1"or eval{require CPAN;CPAN::install$p};eval "use $p $v;1"or die"Please install $p $v manually first...\n"}} # pre-install handler; takes $module_name and $version sub MY::preinstall { return 1; } # return false to skip install # post-install handler; takes $module_name, $version, and $success sub MY::postinstall { ... } # the above handlers must be declared before the 'use' statement use ExtUtils::AutoInstall ( -version => '0.40', # required AutoInstall version # usually 0.30 is sufficient -config => { make_args => '--hello' # option(s) for CPAN::Config force => 1, # pseudo-option to force install }, -core => [ # core modules; may also be 'all' Package0 => '', # any version would do ], 'Feature1' => [ # do we want to install this feature by default? -default => ( system('feature1 --version') == 0 ), Package1 => '0.01', ], 'Feature2' => [ # associate tests to be disabled if this feature is missing -tests => [ ], # associate tests to be disabled if this feature is present -skiptests => [ ], Package2 => '0.02', ], 'Feature3' => { # hash reference works, too # force installation even if tests fail Package3 => '0.03', } ); WriteMakefile( AUTHOR => 'Joe Hacker (joe@hacker.org)', ABSTRACT => 'Perl Interface to Joe Hacker', NAME => 'Joe::Hacker', VERSION_FROM => 'Hacker.pm', DISTNAME => 'Joe-Hacker', ); Invoking the resulting F: % perl Makefile.PL # interactive behaviour % perl Makefile.PL --defaultdeps # accept default value on prompts % perl Makefile.PL --checkdeps # check only, no Makefile produced % perl Makefile.PL --skipdeps # ignores all dependencies % perl Makefile.PL --testonly # don't write installation targets Note that the trailing 'deps' of arguments may be omitted, too. Using F (or F): % make [all|test|install] # install dependencies first % make checkdeps # same as the --checkdeps above % make installdeps # install dependencies only =head1 DESCRIPTION B lets module writers to specify a more sophisticated form of dependency information than the C option offered by B. =head2 Prerequisites and Features Prerequisites are grouped into B, and the user could choose yes/no on each one's dependencies; the module writer may also supply a boolean value via C<-default> to specify the default choice. The B marked by the name C<-core> will double-check with the user, if the user chooses not to install the modules that belongs to it. This differs with the pre-0.26 'silent install' behaviour. Starting from version 0.27, if C<-core> is set to the string C (case-insensitive), every features will be considered mandatory. The dependencies are expressed as pairs of C => C inside an a array reference. If the order does not matter, and there are no C<-default>, C<-tests> or C<-skiptests> directives for that feature, you may also use a hash reference. =head2 The Installation Process Once B has determined which module(s) are needed, it checks whether it's running under the B shell and should therefore let B handle the dependency. Finally, the C is overridden to perform some additional checks, as well as skips tests associated with disabled features by the C<-tests> option. The actual installation happens at the end of the C target; both C and C will trigger the installation of required modules. If it's not running under B, the installer will probe for an active connection by trying to resolve the domain C, and check for the user's permission to use B. If all went well, a separate B instance is created to install the required modules. If you have the B package installed in your system, it is preferred by default over B; it also accepts some extra options (e.g. C<-target =E 'skiptest', -skiptest =E 1> to skip testing). All modules scheduled to install will be deleted from C<%INC> first, so B will check the newly installed modules. Additionally, you could use the C target to install the modules, and the C target to check dependencies without actually installing them; the C command has an equivalent effect. =head2 User-Defined Hooks Starting from version 0.40, user-defined I and I hooks are available via C and C subroutines. Note that since B performs installation at the time of C (i.e. before perl parses the remainder of F), you have to declare those two handlers I the C statement for them to take effect. If the user did not choose to install a module or it already exists on the system, neither handlers are invoked. Both handlers are invoked exactly once for each module's attempted installation. C takes two arguments, C<$module_name> and C<$version>; if it returns a false value, installation for that module will be skipped, and C won't be called at all. C takes three arguments, C<$module_name>, C<$version> and C<$success>. The last one denotes whether the installation succeeded or not: C<1> means installation completed successfully, C<0> means failure during install, and C means that the installation was not attempted at all, possibly due to connection problems, or that module does not exist on CPAN at all. =head1 CAVEATS B will add C to your B flags if your effective uid is 0 (root), unless you explicitly disable it by setting B's C configuration option (or the C option of B) to include C. This I cause dependency problems if you are using a fine-tuned directory structure for your site. Please consult L for an explanation in detail. If either B or B is available, they will be used to compare the required version with the existing module's version and the CPAN module's. Otherwise it silently falls back to use I. This may cause inconsistent behaviours in pathetic situations. B is not happy with this module, since it prohibits competing C functions. Patches welcome. =head1 NOTES Since this module is needed before writing F, it makes little use as a CPAN module; hence each distribution must include it in full. The only alternative I'm aware of, namely prompting in F to force user install it (cf. the B