summaryrefslogtreecommitdiffstats
path: root/usr/local/www/pkg_mgr_install.php
diff options
context:
space:
mode:
authorColin Smith <colin@pfsense.org>2005-04-23 21:49:06 +0000
committerColin Smith <colin@pfsense.org>2005-04-23 21:49:06 +0000
commitaf2e88f33ed7a471d1f2d8674723dc552f313770 (patch)
tree03c0b86fa8504171412134007687e86c1e8aaffc /usr/local/www/pkg_mgr_install.php
parentac54909b8b21c877770b957a91f6124ecdd7ab6a (diff)
downloadpfsense-af2e88f33ed7a471d1f2d8674723dc552f313770.zip
pfsense-af2e88f33ed7a471d1f2d8674723dc552f313770.tar.gz
* Fix successful install logic.
* Don't download the package if it's already installed - this is useful if you only need to update XML.
Diffstat (limited to 'usr/local/www/pkg_mgr_install.php')
-rwxr-xr-xusr/local/www/pkg_mgr_install.php31
1 files changed, 20 insertions, 11 deletions
diff --git a/usr/local/www/pkg_mgr_install.php b/usr/local/www/pkg_mgr_install.php
index 46b4756..7bdd1dd 100755
--- a/usr/local/www/pkg_mgr_install.php
+++ b/usr/local/www/pkg_mgr_install.php
@@ -221,13 +221,6 @@ foreach ($packages_to_install as $id) {
$static_status = "Beginning package installation for " . $pkgent['name'] . "...";
update_status($static_status);
- fwrite($fd_log, "ls {$g['vardb_path']}/pkg | grep " . $package_to_verify . "\n" . $status);
- if($status <> "") {
- // package is already installed!?
- if(!$_GET['mode'] == "reinstallall")
- print_info_box_np("NOTICE! " . $pkgent['name'] . " is already installed! Installation will be registered.");
- }
-
if($pkg_config['packages']['package'][$id]['config_file'] <> "") {
$static_output .= "Downloading package configuration file... ";
download_file_with_progress_bar($pkg_config['packages']['package'][$id]['config_file'], "/usr/local/pkg/" . substr(strrchr($pkg_config['packages']['package'][$id]['config_file'], '/'), 1));
@@ -282,7 +275,15 @@ foreach ($packages_to_install as $id) {
$static_orig = $static_output;
$static_output .= "\n";
update_output_window($static_output);
- pkg_fetch_recursive($pkgent['name'] . "-" . $pkgent['version'], $pkgent['depends_on_package'], 0, $pkgent['depends_on_package_base_url']);
+ exec("ls /var/db/pkg", $is_installed);
+ $pkg_installed = false;
+ foreach($is_installed as $is_inst) {
+ if($is_inst == $pkgent['name'] . '-' . $pkgent['version']) {
+ $pkg_installed = true;
+ break;
+ }
+ }
+ if($pkg_installed == false) pkg_fetch_recursive($pkgent['name'] . "-" . $pkgent['version'], $pkgent['depends_on_package'], 0, $pkgent['depends_on_package_base_url']);
$static_output = $static_orig . "done.\n";
update_output_window($static_output);
}
@@ -290,9 +291,17 @@ foreach ($packages_to_install as $id) {
if ($pkgent['depends_on_package_base_url'] <> "" or $pkgent['pfsense_package_base_url'] <> "") {
$static_output .= "Checking for successful package installation... ";
update_output_window($static_output);
- exec("ls {$g['vardb_path']}/pkg | grep " . $package_to_verify, $status);
- fwrite($fd_log, $status[0] . "\n");
- if($status[0] <> "") {
+ if($pkg_installed == false) {
+ exec("ls /var/db/pkg", $is_installed);
+ foreach($is_installed as $is_inst) {
+ if($is_inst == $pkgent['name'] . '-' . $pkgent['version']) {
+ $pkg_installed = true;
+ break;
+ }
+ }
+ }
+ fwrite($fd_log, $is_installed[0] . "\n");
+ if($pkg_installed == true) {
$static_output .= "done.\n";
update_output_window($static_output);
fwrite($fd_log, "pkg_add successfully completed.\n");
OpenPOWER on IntegriCloud