]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 146134 - checksetup.pl gives weird error message
authorbbaetz%student.usyd.edu.au <>
Thu, 5 Sep 2002 06:30:43 +0000 (06:30 +0000)
committerbbaetz%student.usyd.edu.au <>
Thu, 5 Sep 2002 06:30:43 +0000 (06:30 +0000)
r=justdave x2

checksetup.pl

index 59c5cb78b814a97560744da6f8bfb43cad4e6a2f..050d300eb1e17115d53ccf46c2553f8d8076f5f5 100755 (executable)
@@ -248,21 +248,17 @@ my $modules = [
 ];
 
 my %missing = ();
+
+# Modules may change $SIG{__DIE__} and $SIG{__WARN__}, so localise them here
+# so that later errors display 'normally'
 foreach my $module (@{$modules}) {
+    local $::SIG{__DIE__};
+    local $::SIG{__WARN__};
     unless (have_vers($module->{name}, $module->{version})) { 
         $missing{$module->{name}} = $module->{version};
     }
 }
 
-# If CGI::Carp was loaded successfully for version checking, it changes the
-# die and warn handlers, we don't want them changed, so we need to stash the
-# original ones and set them back afterwards -- justdave@syndicomm.com
-my $saved_die_handler = $::SIG{__DIE__};
-my $saved_warn_handler = $::SIG{__WARN__};
-unless (have_vers("CGI::Carp",0))    { $missing{'CGI::Carp'} = 0 }
-$::SIG{__DIE__} = $saved_die_handler;
-$::SIG{__WARN__} = $saved_warn_handler;
-
 print "\nThe following Perl modules are optional:\n" unless $silent;
 my $charts = 0;
 $charts++ if have_vers("GD","1.19");