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);
use Data::Dumper;
use File::Basename qw(dirname);
use IO::File;
use Safe;
use base qw(Exporter);
......
......@@ -29,11 +29,9 @@ use strict;
use Bugzilla::Constants;
use Encode;
use ExtUtils::MM ();
use File::Basename;
use File::Spec;
use POSIX qw(setlocale LC_CTYPE);
use Safe;
use Scalar::Util qw(tainted);
use Term::ANSIColor qw(colored);
use PerlIO;
......@@ -58,6 +56,9 @@ our @EXPORT_OK = qw(
sub bin_loc {
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 ($bin =~ m{[/\\]}) {
......@@ -541,6 +542,9 @@ sub no_checksetup_from_cgi {
# Used by install_string
sub _get_string_from_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;
my $safe = new Safe;
......
......@@ -24,7 +24,6 @@ use strict;
use base qw(Exporter);
use Bugzilla::Constants qw(ON_WINDOWS);
use IO::File;
use Math::Random::ISAAC;
use if ON_WINDOWS, 'Win32::API';
......@@ -156,14 +155,14 @@ sub _get_seed {
sub _read_seed_from {
my ($from) = @_;
my $fh = IO::File->new($from, "r") or die "$from: $!";
open(my $fh, '<', $from) or die "$from: $!";
my $buffer;
$fh->read($buffer, SEED_SIZE);
read($fh, $buffer, SEED_SIZE);
if (length($buffer) < SEED_SIZE) {
die "Could not read enough seed bytes from $from, got only "
. length($buffer);
}
$fh->close;
close $fh;
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