Mail-DMARC
view release on metacpan or search on metacpan
bin/install_deps.pl view on Meta::CPAN
return install_module_linux_yum($module, $info);
}
elsif (-x '/usr/bin/apt-get') { ## no critic (Backtick)
return install_module_linux_apt($module, $info);
}
warn "no Linux package manager detected\n"; ## no critic (Carp)
return;
}
sub install_module_linux_yum {
my ($module, $info) = @_;
my $package;
if ($info->{yum}) {
$package = $info->{yum};
}
else {
$package = "perl-$module";
$package =~ s/::/-/g;
}
system "/usr/bin/yum -y install $package";
return;
}
sub install_module_linux_apt {
my ($module, $info) = @_;
my $package;
if ($info->{apt}) {
$package = $info->{apt};
}
else {
$package = 'lib' . lc $module . '-perl';
$package =~ s/::/-/g;
}
system "/usr/bin/apt-get -y install $package";
return;
}
sub get_cpan_config {
my $ftp = `which ftp`;
chomp $ftp; ## no critic (Backtick)
my $gzip = `which gzip`;
chomp $gzip; ## no critic (Backtick)
my $unzip = `which unzip`;
chomp $unzip; ## no critic (Backtick)
my $tar = `which tar`;
chomp $tar; ## no critic (Backtick)
my $make = `which make`;
chomp $make; ## no critic (Backtick)
my $wget = `which wget`;
chomp $wget; ## no critic (Backtick)
return {
'build_cache' => q[10],
'build_dir' => qq[$ENV{HOME}/.cpan/build],
'cache_metadata' => q[1],
'cpan_home' => qq[$ENV{HOME}/.cpan],
'ftp' => $ftp,
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gpg' => q[],
'gzip' => $gzip,
'histfile' => qq[$ENV{HOME}/.cpan/histfile],
'histsize' => q[100],
'http_proxy' => q[],
'inactivity_timeout' => q[5],
'index_expire' => q[1],
'inhibit_startup_message' => q[1],
'keep_source_where' => qq[$ENV{HOME}/.cpan/sources],
'lynx' => q[],
'make' => $make,
'make_arg' => q[],
'make_install_arg' => q[],
'makepl_arg' => q[],
'ncftp' => q[],
'ncftpget' => q[],
'no_proxy' => q[],
'pager' => q[less],
'prerequisites_policy' => q[follow],
'scan_cache' => q[atstart],
'shell' => q[/bin/csh],
'tar' => $tar,
'term_is_latin' => q[1],
'unzip' => $unzip,
'urllist' => [
'http://www.perl.com/CPAN/',
'http://mirrors.kernel.org/pub/CPAN/',
'ftp://cpan.cs.utah.edu/pub/CPAN/',
'ftp://mirrors.kernel.org/pub/CPAN',
'ftp://osl.uoregon.edu/CPAN/',
'http://cpan.yahoo.com/',
'ftp://ftp.funet.fi/pub/languages/perl/CPAN/'
],
'wget' => $wget,
};
}
sub name_overrides {
my $mod = shift;
# Package and port managers have naming conventions for perl modules. The
# methods will typically work out the name based on the module name and a
# couple rules. When that doesn't work, add entries here for FreeBSD (port),
# MacPorts ($dport), yum, and apt.
my @modules = (
{ module => 'LWP::UserAgent',
info => {
cat => 'www',
port => 'p5-libwww',
dport => 'p5-libwww-perl',
yum => 'perl-libwww-perl'
},
},
{ module => 'Mail::Send', info => { port => 'Mail::Tools', } },
{ module => 'Date::Parse', info => { port => 'TimeDate', } },
{ module => 'LWP', info => { port => 'p5-libwww', } },
{ module => 'Net::DNS::Resolver', info => { apt => 'libnet-dns-perl', } },
{ module => 'DBD::SQLite', info => { apt => 'libdbd-sqlite3-perl', } },
);
my ($match) = grep { $_->{module} eq $mod } @modules;
return $match if $match;
( run in 0.767 second using v1.01-cache-2.11-cpan-df04353d9ac )