diff --git a/package-updates/package-updates-lib.pl b/package-updates/package-updates-lib.pl index e3f2c04f7..74d0f3091 100644 --- a/package-updates/package-updates-lib.pl +++ b/package-updates/package-updates-lib.pl @@ -677,10 +677,13 @@ return $mode eq 'updates' || $mode eq 'security' ? &list_possible_updates($nocache) : &list_available($nocache); } -# check_reboot_required(after-flag) +# check_reboot_required([no-collect]) # Returns 1 if the package system thinks a reboot is needed +# If the no-collect flag is set, then check won't happen sub check_reboot_required { +my ($no_collect) = @_; +return 0 if ($no_collect); if ($gconfig{'os_type'} eq 'debian-linux') { return -e "/var/run/reboot-required" ? 1 : 0; } diff --git a/package-updates/update.cgi b/package-updates/update.cgi index b5f45d7a1..f019a4bd3 100755 --- a/package-updates/update.cgi +++ b/package-updates/update.cgi @@ -108,7 +108,7 @@ else { } else { # Check if a reboot was required before - $reboot_before = &check_reboot_required(0); + $reboot_before = &check_reboot_required(); # Do it $msg = $in{'mode'} eq 'new' ? 'update_pkg2' : 'update_pkg'; @@ -165,7 +165,7 @@ else { } # Check if a reboot is required now - if (!$reboot_before && &check_reboot_required(1) && + if (!$reboot_before && &check_reboot_required() && &foreign_check("init")) { print &ui_form_start( "@{[&get_webprefix()]}/init/reboot.cgi"); diff --git a/system-status/system-status-lib.pl b/system-status/system-status-lib.pl index 60071db77..d6d869ae7 100755 --- a/system-status/system-status-lib.pl +++ b/system-status/system-status-lib.pl @@ -69,7 +69,7 @@ if (&foreign_installed("package-updates") && $config{'collect_pkgs'}) { my $poss_current = !$poss_collect_blocked ? 2 : undef; my @poss = &package_updates::list_possible_updates(undef, $poss_collect_blocked); $info->{'poss'} = \@poss; - $info->{'reboot'} = &package_updates::check_reboot_required(); + $info->{'reboot'} = &package_updates::check_reboot_required($poss_collect_blocked); } # CPU and drive temps diff --git a/webmin/webmin-lib.pl b/webmin/webmin-lib.pl index e3789b4a6..60cd70a09 100755 --- a/webmin/webmin-lib.pl +++ b/webmin/webmin-lib.pl @@ -1298,7 +1298,7 @@ if (&foreign_check("package-updates") && &foreign_available("init")) { } } } - if (&package_updates::check_reboot_required() && $allow_reboot_required) { + if ($allow_reboot_required && &package_updates::check_reboot_required()) { push(@notifs, &ui_form_start("@{[&get_webprefix()]}/init/reboot.cgi"). $text{'notif_reboot'}."
\n".