summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/pkg-utils.inc2
-rw-r--r--etc/inc/util.inc9
-rwxr-xr-xetc/rc.start_packages1
3 files changed, 11 insertions, 1 deletions
diff --git a/etc/inc/pkg-utils.inc b/etc/inc/pkg-utils.inc
index bb3e483..23e4fb5 100644
--- a/etc/inc/pkg-utils.inc
+++ b/etc/inc/pkg-utils.inc
@@ -550,7 +550,7 @@ function pkg_fetch_recursive($pkgname, $filename, $dependlevel = 0, $base_url =
exec("/usr/local/sbin/pbi_add {$pkgstaging} -f -v --no-checksig {$fetchto} 2>&1", $pkgaddout);
pkg_debug($pkgname . " " . print_r($pkgaddout, true) . "\npbi_add successfully completed.\n");
-
+ setup_library_paths();
exec("/usr/local/sbin/pbi_info " . preg_replace('/\.pbi$/','',$filename) . " | /usr/bin/awk '/Prefix/ {print $2}'",$pbidir);
$pbidir = $pbidir[0];
$linkdirs = array('bin','sbin');
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index 7737ad1..9d234a8 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -1815,4 +1815,13 @@ function array_exclude($needle, $haystack) {
return $result;
}
+function setup_library_paths() {
+ $current_library_paths = explode(":", exec("/sbin/ldconfig -r | /usr/bin/grep 'search directories' | /usr/bin/awk '{print $3;}'"));
+ $pbi_library_paths = glob("/usr/pbi/*/lib");
+ foreach ($pbi_library_paths as $pbilib) {
+ if (!in_array($pbilib, $current_library_paths))
+ exec("/sbin/ldconfig -m {$pbilib}");
+ }
+}
+
?>
diff --git a/etc/rc.start_packages b/etc/rc.start_packages
index 4b78718..80e7aaf 100755
--- a/etc/rc.start_packages
+++ b/etc/rc.start_packages
@@ -39,6 +39,7 @@ require_once("pfsense-utils.inc");
require_once("service-utils.inc");
log_error("Restarting/Starting all packages.");
+setup_library_paths();
$rcfiles = glob("{$rcfileprefix}*.sh");
if (!$rcfiles)
OpenPOWER on IntegriCloud