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.") . "

firmware update"); +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 . "

firmware update"); } $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();