Bug 560691: Make sure that install-module.pl never prompts the user while

installing modules
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-3_6-BRANCH@260213 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mkanat%bugzilla.org
2010-04-21 00:17:42 +00:00
parent 6d8afeaf39
commit 524a361c72
3 changed files with 14 additions and 6 deletions

View File

@@ -1 +1 @@
7088
7089

View File

@@ -125,6 +125,12 @@ sub install_module {
my ($name, $test) = @_;
my $bzlib = BZ_LIB;
# Make Module::AutoInstall install all dependencies and never prompt.
local $ENV{PERL_AUTOINSTALL} = '--alldeps';
# This makes Net::SSLeay not prompt the user, if it gets installed.
# It also makes any other MakeMaker prompts accept their defaults.
local $ENV{PERL_MM_USE_DEFAULT} = 1;
# Certain modules require special stuff in order to not prompt us.
my $original_makepl = $CPAN::Config->{makepl_arg};
# This one's a regex in case we're doing Template::Plugin::GD and it
@@ -135,12 +141,13 @@ sub install_module {
elsif ($name eq 'XML::Twig') {
$CPAN::Config->{makepl_arg} = "-n $original_makepl";
}
elsif ($name eq 'Net::LDAP') {
$CPAN::Config->{makepl_arg} .= " --skipdeps";
}
elsif ($name eq 'SOAP::Lite') {
$CPAN::Config->{makepl_arg} .= " --noprompt";
}
# MIME-tools has a Module::Install that's too old to understand alldeps.
elsif ($name =~ /^MIME::/) {
$ENV{PERL_AUTOINSTALL} = '--defaultdeps';
}
my $module = CPAN::Shell->expand('Module', $name);
print install_string('install_module',

View File

@@ -540,8 +540,9 @@ sub have_vers {
eval "require $module;";
# VERSION is provided by UNIVERSAL::
my $vnum = eval { $module->VERSION } || -1;
# VERSION is provided by UNIVERSAL::, and can be called even if
# the module isn't loaded.
my $vnum = $module->VERSION || -1;
# CGI's versioning scheme went 2.75, 2.751, 2.752, 2.753, 2.76
# That breaks the standard version tests, so we need to manually correct