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 )