diff --git a/run-postinstalls.pl b/run-postinstalls.pl index 0de57c0f2..b6ea5f5e3 100755 --- a/run-postinstalls.pl +++ b/run-postinstalls.pl @@ -7,36 +7,27 @@ BEGIN { push(@INC, "."); }; $no_acl_check++; use WebminCore; &init_config(); -@themes = &list_themes(); if (@ARGV > 0) { # Running for specified modules - foreach $a (@ARGV) { - local %minfo = &get_module_info($a); - if (!%minfo) { - # Try for a theme - ($tinfo) = grep { $_->{'dir'} eq $a } @themes; - if ($tinfo) { - push(@mods, $tinfo); - } - } - else { - push(@mods, \%minfo); - } + foreach my $a (@ARGV) { + my %minfo = &get_module_info($a); + %minfo = &get_theme_info($a) if (!%minfo); + push(@mods, \%minfo) if (%minfo); } } else { # Running on all modules and themes - @mods = ( &get_all_module_infos(), @themes ); + @mods = ( &get_all_module_infos(), &list_themes() ); } -foreach $m (@mods) { - $mdir = &module_root_directory($m->{'dir'}); +foreach my $m (@mods) { + my $mdir = &module_root_directory($m->{'dir'}); if (&check_os_support($m) && -r "$mdir/postinstall.pl") { # Call this module's postinstall function eval { - $main::error_must_die = 1; + local $main::error_must_die = 1; &foreign_require($m->{'dir'}, "postinstall.pl"); &foreign_call($m->{'dir'}, "module_install"); };