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 git-svn-id: svn://10.0.0.236/trunk@262244 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -1 +1 @@
|
||||
7794
|
||||
7795
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user