Commit ce3970fd authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 696541: Only load some external modules when needed, to improve the load time of pages

r/a=mkanat
parent e9f859e1
...@@ -36,7 +36,6 @@ use Bugzilla::Util qw(generate_random_password); ...@@ -36,7 +36,6 @@ use Bugzilla::Util qw(generate_random_password);
use Data::Dumper; use Data::Dumper;
use File::Basename qw(dirname); use File::Basename qw(dirname);
use IO::File;
use Safe; use Safe;
use base qw(Exporter); use base qw(Exporter);
......
...@@ -29,11 +29,9 @@ use strict; ...@@ -29,11 +29,9 @@ use strict;
use Bugzilla::Constants; use Bugzilla::Constants;
use Encode; use Encode;
use ExtUtils::MM ();
use File::Basename; use File::Basename;
use File::Spec; use File::Spec;
use POSIX qw(setlocale LC_CTYPE); use POSIX qw(setlocale LC_CTYPE);
use Safe;
use Scalar::Util qw(tainted); use Scalar::Util qw(tainted);
use Term::ANSIColor qw(colored); use Term::ANSIColor qw(colored);
use PerlIO; use PerlIO;
...@@ -58,6 +56,9 @@ our @EXPORT_OK = qw( ...@@ -58,6 +56,9 @@ our @EXPORT_OK = qw(
sub bin_loc { sub bin_loc {
my ($bin, $path) = @_; my ($bin, $path) = @_;
# This module is not needed most of the time and is a bit slow,
# so we only load it when calling bin_loc().
require ExtUtils::MM;
# If the binary is a full path... # If the binary is a full path...
if ($bin =~ m{[/\\]}) { if ($bin =~ m{[/\\]}) {
...@@ -541,6 +542,9 @@ sub no_checksetup_from_cgi { ...@@ -541,6 +542,9 @@ sub no_checksetup_from_cgi {
# Used by install_string # Used by install_string
sub _get_string_from_file { sub _get_string_from_file {
my ($string_id, $file) = @_; my ($string_id, $file) = @_;
# This module is only needed by checksetup.pl,
# so only load it when needed.
require Safe;
return undef if !-e $file; return undef if !-e $file;
my $safe = new Safe; my $safe = new Safe;
......
...@@ -24,7 +24,6 @@ use strict; ...@@ -24,7 +24,6 @@ use strict;
use base qw(Exporter); use base qw(Exporter);
use Bugzilla::Constants qw(ON_WINDOWS); use Bugzilla::Constants qw(ON_WINDOWS);
use IO::File;
use Math::Random::ISAAC; use Math::Random::ISAAC;
use if ON_WINDOWS, 'Win32::API'; use if ON_WINDOWS, 'Win32::API';
...@@ -156,14 +155,14 @@ sub _get_seed { ...@@ -156,14 +155,14 @@ sub _get_seed {
sub _read_seed_from { sub _read_seed_from {
my ($from) = @_; my ($from) = @_;
my $fh = IO::File->new($from, "r") or die "$from: $!"; open(my $fh, '<', $from) or die "$from: $!";
my $buffer; my $buffer;
$fh->read($buffer, SEED_SIZE); read($fh, $buffer, SEED_SIZE);
if (length($buffer) < SEED_SIZE) { if (length($buffer) < SEED_SIZE) {
die "Could not read enough seed bytes from $from, got only " die "Could not read enough seed bytes from $from, got only "
. length($buffer); . length($buffer);
} }
$fh->close; close $fh;
return $buffer; return $buffer;
} }
......
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