summaryrefslogtreecommitdiffstats
path: root/etc/inc/pkg-utils.inc
diff options
context:
space:
mode:
authorErmal Luçi <eri@pfsense.org>2010-03-03 23:18:11 +0000
committerErmal Luçi <eri@pfsense.org>2010-03-03 23:18:11 +0000
commit43ad432c34990c41137b74c5db67dbe5add16f7a (patch)
tree6830b188f7fae616c1dc970e3d7b07c89d110fc0 /etc/inc/pkg-utils.inc
parentdfc7ab8c69b209e3203c7902abf536bdbd4db48c (diff)
downloadpfsense-43ad432c34990c41137b74c5db67dbe5add16f7a.zip
pfsense-43ad432c34990c41137b74c5db67dbe5add16f7a.tar.gz
Ticket #396. Try to fix issues with missing include files or filesystem being in ro mode during operations.
Diffstat (limited to 'etc/inc/pkg-utils.inc')
-rw-r--r--etc/inc/pkg-utils.inc19
1 files changed, 9 insertions, 10 deletions
diff --git a/etc/inc/pkg-utils.inc b/etc/inc/pkg-utils.inc
index 90aaf6b..9fbba1b 100644
--- a/etc/inc/pkg-utils.inc
+++ b/etc/inc/pkg-utils.inc
@@ -62,17 +62,11 @@ if(!function_exists("update_output_window")) {
safe_mkdir("/var/db/pkg");
+conf_mount_rw();
$g['platform'] = trim(file_get_contents("/etc/platform"));
-if($g['platform'] == "pfSense") {
- safe_mkdir("/usr/local/pkg");
- safe_mkdir("/usr/local/pkg/pf");
-} else {
- if(!is_dir("/usr/local/pkg") or !is_dir("/usr/local/pkg/pf")) {
- conf_mount_rw();
+if(!is_dir("/usr/local/pkg") or !is_dir("/usr/local/pkg/pf")) {
safe_mkdir("/usr/local/pkg");
safe_mkdir("/usr/local/pkg/pf");
- conf_mount_ro();
- }
}
$version = split("-", trim(file_get_contents("/etc/version")));
@@ -410,6 +404,9 @@ function pkg_fetch_recursive($pkgname, $filename, $dependlevel = 0, $base_url =
function install_package($package, $pkg_info = "") {
global $g, $config, $pkg_interface, $fd_log, $static_output, $pkg_interface, $restart_sync;
+ /* safe side. Write config below will send to ro again. */
+ conf_mount_rw();
+
if($pkg_interface == "console")
echo "\n";
/* open logfiles and begin installation */
@@ -651,7 +648,8 @@ function install_package_xml($pkg) {
$static_output = "Loading package instructions...";
update_output_window($static_output);
fwrite($fd_log, "require_once('{$pkg_config['include_file']}')\n");
- require_once($pkg_config['include_file']);
+ if (file_exists($pkg_config['include_file']))
+ require_once($pkg_config['include_file']);
}
/* sidebar items */
if(is_array($pkg_config['menu'])) {
@@ -745,7 +743,8 @@ function delete_package($pkg, $pkgid) {
if($pkg_config['include_file'] <> "") {
$static_output .= "\nLoading package instructions...\n";
update_output_window($static_output);
- require_once($pkg_config['include_file']);
+ if (file_exists($pkg_config['include_file']))
+ require_once($pkg_config['include_file']);
}
}
$static_output .= "\nStarting package deletion for {$pkg_info['name']}...\n";
OpenPOWER on IntegriCloud