Commit 6233375d authored by Max Kanat-Alexander's avatar Max Kanat-Alexander

Bug 646578: Make Math::Random::Secure fail to install if its dependencies

don't install properly, when using install-module.pl. r=glob, a=mkanat
parent 77d29ce6
......@@ -55,6 +55,13 @@ use constant REQUIREMENTS => (
package => 'YAML',
version => 0,
},
{
# Many modules on CPAN are now built with Dist::Zilla, which
# unfortunately means they require this version of EU::MM to install.
module => 'ExtUtils::MakeMaker',
package => 'ExtUtils-MakeMaker',
version => '6.31',
},
);
# We need the absolute path of ext_libpath, because CPAN chdirs around
......@@ -64,6 +71,13 @@ use constant REQUIREMENTS => (
# we make it a constant.
use constant BZ_LIB => abs_path(bz_locations()->{ext_libpath});
# These modules are problematic to install with "notest" (sometimes they
# get installed when they shouldn't). So we always test their installation
# and never ignore test failures.
use constant ALWAYS_TEST => qw(
Math::Random::Secure
);
# CPAN requires nearly all of its parameters to be set, or it will start
# asking questions to the user. We want to avoid that, so we have
# defaults here for most of the required parameters we know about, in case
......@@ -175,7 +189,11 @@ sub install_module {
}
print install_string('install_module',
{ module => $name, version => $module->cpan_version }) . "\n";
if ($test) {
if (_always_test($name)) {
CPAN::Shell->install($name);
}
elsif ($test) {
CPAN::Shell->force('install', $name);
}
else {
......@@ -190,6 +208,11 @@ sub install_module {
$CPAN::Config->{makepl_arg} = $original_makepl;
}
sub _always_test {
my ($name) = @_;
return grep(lc($_) eq lc($name), ALWAYS_TEST) ? 1 : 0;
}
sub set_cpan_config {
my $do_global = shift;
my $bzlib = BZ_LIB;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment