diff options
author | jim-p <jimp@pfsense.org> | 2011-01-24 14:34:44 -0500 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2011-01-24 14:34:44 -0500 |
commit | 261c7de869eccca07c7d3f5ff331d28f88b2fde0 (patch) | |
tree | d0b76269dea396a71292b2915cf8241d19ac8ddf | |
parent | 8633930d113a513c87f3ed63ae3623b54255ff46 (diff) | |
download | pfsense-261c7de869eccca07c7d3f5ff331d28f88b2fde0.zip pfsense-261c7de869eccca07c7d3f5ff331d28f88b2fde0.tar.gz |
Warn users a different way if packages are being reinstalled in the background. Only lock out package pages, still print a giant warning on the others. (Some people were getting stuck in this state http://forum.pfsense.org/index.php/topic,32531.0.html )
-rwxr-xr-x | etc/rc.bootup | 4 | ||||
-rwxr-xr-x | usr/local/www/fbegin.inc | 5 | ||||
-rwxr-xr-x | usr/local/www/pkg_mgr.php | 13 | ||||
-rwxr-xr-x | usr/local/www/pkg_mgr_installed.php | 13 |
4 files changed, 33 insertions, 2 deletions
diff --git a/etc/rc.bootup b/etc/rc.bootup index ab4a5b5..3451c88 100755 --- a/etc/rc.bootup +++ b/etc/rc.bootup @@ -385,9 +385,9 @@ if(file_exists('/conf/needs_package_sync')) { if($config['installedpackages'] <> '' && is_array($config['installedpackages']['package'])) { require_once("pkg-utils.inc"); if($g['platform'] == "pfSense" || $g['platform'] == "nanobsd") { - mark_subsystem_dirty('firmwarelock'); + mark_subsystem_dirty('packagelock'); pkg_reinstall_all(); - clear_subsystem_dirty('firmwarelock'); + clear_subsystem_dirty('packagelock'); } } } diff --git a/usr/local/www/fbegin.inc b/usr/local/www/fbegin.inc index b290899..6efb7a6 100755 --- a/usr/local/www/fbegin.inc +++ b/usr/local/www/fbegin.inc @@ -425,5 +425,10 @@ function add_to_menu($url, $name) { <br /> <?php +/* if upgrade in progress, alert user */ +if(is_subsystem_dirty('packagelock')) { + $pgtitle = array(gettext("System"),gettext("Package Manager")); + print_info_box(gettext("Packages are currently being reinstalled in the background.<p>Do not make changes in the GUI until this is complete.") . "<p><img src='/themes/{$g['theme']}/images/icons/icon_fw-update.gif'>"); +} $pgtitle_output = true; ?> diff --git a/usr/local/www/pkg_mgr.php b/usr/local/www/pkg_mgr.php index 3c1ba89..15097a6 100755 --- a/usr/local/www/pkg_mgr.php +++ b/usr/local/www/pkg_mgr.php @@ -44,6 +44,19 @@ require_once("globals.inc"); require_once("guiconfig.inc"); require_once("pkg-utils.inc"); +/* if upgrade in progress, alert user */ +if(is_subsystem_dirty('packagelock')) { + $pgtitle = array(gettext("System"),gettext("Package Manager")); + include("head.inc"); + echo "<body link=\"#0000CC\" vlink=\"#0000CC\" alink=\"#0000CC\">\n"; + include("fbegin.inc"); + echo "Please wait while packages are reinstalled in the background."; + include("fend.inc"); + echo "</body>"; + echo "</html>"; + exit; +} + $pkg_info = get_pkg_info('all', array("noembedded", "name", "category", "website", "version", "status", "descr", "maintainer", "required_version", "maximum_version", "pkginfolink", "supportedbybsdperimeter")); if($pkg_info) { $fout = fopen("{$g['tmp_path']}/pkg_info.cache", "w"); diff --git a/usr/local/www/pkg_mgr_installed.php b/usr/local/www/pkg_mgr_installed.php index 48c9677..02fb8d3 100755 --- a/usr/local/www/pkg_mgr_installed.php +++ b/usr/local/www/pkg_mgr_installed.php @@ -40,6 +40,19 @@ require_once("guiconfig.inc"); require_once("pkg-utils.inc"); +/* if upgrade in progress, alert user */ +if(is_subsystem_dirty('packagelock')) { + $pgtitle = array(gettext("System"),gettext("Package Manager")); + include("head.inc"); + echo "<body link=\"#0000CC\" vlink=\"#0000CC\" alink=\"#0000CC\">\n"; + include("fbegin.inc"); + echo "Please wait while packages are reinstalled in the background."; + include("fend.inc"); + echo "</body>"; + echo "</html>"; + exit; +} + if(is_array($config['installedpackages']['package'])) { foreach($config['installedpackages']['package'] as $instpkg) { $tocheck[] = $instpkg['name']; |