diff --git a/usr/local/www/fbegin.inc b/usr/local/www/fbegin.inc index 531df4c716..937988578a 100755 --- a/usr/local/www/fbegin.inc +++ b/usr/local/www/fbegin.inc @@ -433,9 +433,14 @@ echo get_shortcut_log_link($shortcut_section, true); Do not make changes in the GUI until this is complete.") . "
");
+if (is_subsystem_dirty('packagelock') || (file_exists('/conf/needs_package_sync') && platform_booting())) {
+ if (file_exists('/conf/needs_package_sync') && platform_booting()) {
+ $info_text = sprintf(gettext("%s is booting then packages will be reinstalled in the background.
Do not make changes in the GUI until this is complete."), $g['product_name']); + } else { + $pgtitle = array(gettext("System"),gettext("Package Manager")); + $info_text = gettext("Packages are currently being reinstalled in the background.
Do not make changes in the GUI until this is complete."); + } + print_info_box($info_text . "
");
}
$pgtitle_output = true;
?>
diff --git a/usr/local/www/index.php b/usr/local/www/index.php
index 57aee4a33d..7041b72ee4 100644
--- a/usr/local/www/index.php
+++ b/usr/local/www/index.php
@@ -145,8 +145,13 @@ if (!is_array($config['widgets'])) {
if(file_exists('/conf/needs_package_sync')) {
if($config['installedpackages'] <> '' && is_array($config['installedpackages']['package'])) {
if($g['platform'] == "pfSense" || $g['platform'] == "nanobsd") {
- header('Location: pkg_mgr_install.php?mode=reinstallall');
- exit;
+ ## If the user has logged into webGUI quickly while the system is booting then do not redirect them to
+ ## the package reinstall page. That is about to be done by the boot script anyway.
+ ## The code in fbegin.inc will put up a notice to the user.
+ if (!platform_booting()) {
+ header('Location: pkg_mgr_install.php?mode=reinstallall');
+ exit;
+ }
}
} else {
conf_mount_rw();