diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2006-01-28 03:13:03 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2006-01-28 03:13:03 +0000 |
commit | 219b8cc0d6c94ce9889375358e00dcec6fc2624e (patch) | |
tree | f9ceb953922b8d766ec6ec5ca1677d4240f6b9da /etc | |
parent | 6758725eebfd01b9fa69edc942ea0293fe8f372d (diff) | |
download | pfsense-219b8cc0d6c94ce9889375358e00dcec6fc2624e.zip pfsense-219b8cc0d6c94ce9889375358e00dcec6fc2624e.tar.gz |
Parse pkg config and require file if needed
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/pkg-utils.inc | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/etc/inc/pkg-utils.inc b/etc/inc/pkg-utils.inc index 2442c5f..ccbddc8 100644 --- a/etc/inc/pkg-utils.inc +++ b/etc/inc/pkg-utils.inc @@ -463,13 +463,6 @@ function install_package_xml($pkg) { } fclose($fd); - /* if a require exists, include it. this will - * show us where an error exists in a package - * instead of making us blindly guess - */ - if($pkg_info['include_file'] <> "") - require_once($pkg_info['include_file']); - /* pkg_add the package and its dependencies */ if($pkg_info['depends_on_package_base_url'] != "") { update_status("Installing " . $pkg_info['name'] . " and its dependencies."); @@ -510,6 +503,16 @@ function install_package_xml($pkg) { $static_output .= "Loading package configuration... "; update_output_window($static_output); $pkg_config = parse_xml_config_pkg("/usr/local/pkg/" . $configfile, "packagegui"); + /* if a require exists, include it. this will + * show us where an error exists in a package + * instead of making us blindly guess + */ + if($pkg_config['include_file'] <> "") { + $static_output = "Loading package instructions..."; + update_output_window($static_output); + fwrite($fd_log, "require_once('include_file')\n"); + require_once($pkg_config['include_file']); + } $static_output .= "done.\n"; update_output_window($static_output); $static_output .= "Configuring package components...\n"; @@ -594,12 +597,18 @@ function install_package_xml($pkg) { $static_output .= "\tCustom commands... "; update_output_window($static_output); if($pkg_config['custom_php_global_functions'] <> "") { + $static_output = "Executing custom_php_global_functions()..."; + update_output_window($static_output); eval_once($pkg_config['custom_php_global_functions']); } if($pkg_config['custom_php_install_command']) { + $static_output = "Executing custom_php_install_command()..."; + update_output_window($static_output); eval_once($pkg_config['custom_php_install_command']); } if($pkg_config['custom_php_resync_config_command'] <> "") { + $static_output = "Executing custom_php_resync_config_command()..."; + update_output_window($static_output); eval_once($pkg_config['custom_php_resync_config_command']); } $static_output .= "done.\n"; @@ -616,11 +625,33 @@ function install_package_xml($pkg) { } } -function delete_package($pkg) { +function delete_package($pkg, $pkgid) { global $g, $config, $fd_log, $static_output; update_status("Removing package..."); $static_output .= "Removing package... "; update_output_window($static_output); + $pkgid = get_pkg_id($pkgid); + $pkg_info = $config['installedpackages']['package'][$pkgid]; + echo $id . "<p>"; + echo $pkg_config . "<p>"; + $configfile = $pkg_info['configurationfile']; + echo $configfile . "<p>"; + if(file_exists("/usr/local/pkg/" . $configfile)) { + $static_output .= "\nLoading package configuration $configfile... "; + update_output_window($static_output); + $pkg_config = parse_xml_config_pkg("/usr/local/pkg/" . $configfile, "packagegui"); + /* if a require exists, include it. this will + * show us where an error exists in a package + * instead of making us blindly guess + */ + if($pkg_config['include_file'] <> "") { + $static_output .= "\nLoading package instructions...\n"; + update_output_window($static_output); + require_once($pkg_config['include_file']); + } + } + $static_output .= "\Starting package deletetion...\n"; + update_output_window($static_output); delete_package_recursive($pkg); $static_output .= "done.\n"; update_output_window($static_output); |