summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorColin Smith <colin@pfsense.org>2005-03-12 23:41:50 +0000
committerColin Smith <colin@pfsense.org>2005-03-12 23:41:50 +0000
commit5f9be1c698a32589e33620dfb2f65849af73b5b8 (patch)
treeef7c3b680ace0d1e570e785004bf5e7bff948a68 /etc
parent2f93431c81fae574bedb1c89d75b430438fe885a (diff)
downloadpfsense-5f9be1c698a32589e33620dfb2f65849af73b5b8.zip
pfsense-5f9be1c698a32589e33620dfb2f65849af73b5b8.tar.gz
Add $return_nosync argument to get_pkg_depends() to properly detect <nosync> flag in <additional_files_needed>.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/pfsense-utils.inc11
1 files changed, 6 insertions, 5 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index 7f80e3d..dcbefb7 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -580,10 +580,11 @@ function resync_all_package_configs_bootup($show_message) {
eval($pkg_config['custom_php_command_before_form']);
if($pkg_config['custom_php_resync_config_command'] <> "")
eval($pkg_config['custom_php_resync_config_command']);
- $depends = get_pkg_depends($package['name']); // Call dependency handler and do a little more error checking.
+ $depends = get_pkg_depends($package['name'], ".xml", "files", 0); // Call dependency handler and do a little more error checking.
if(is_array($depends))
foreach($depends as $item) {
$item_config = parse_xml_config_pkg("/usr/local/pkg/" . $item, "packagegui");
+ if (isset($item_config['nosync'])) continue;
if($item_config['custom_php_command_before_form'] <> "")
eval($item_config['custom_php_command_before_form']);
if($item_config['custom_php_resync_config_command'] <> "")
@@ -654,13 +655,14 @@ function reverse_strrchr($haystack, $needle) {
}
/*
- * get_pkg_depends($pkg_name, $filetype = ".xml", $format = "files"): Return a package's XML dependencies.
+ * get_pkg_depends($pkg_name, $filetype = ".xml", $format = "files", return_nosync = 1): Return a package's XML dependencies.
*
* $filetype = "all" || ".xml", ".tgz", etc.
* $format = "files" (full filenames) || "names" (stripped / parsed depend names)
+ * $return_nosync = 1 (return depends that have nosync set) | 0 (ignore packages with nosync)
*
*/
-function get_pkg_depends($pkg_name, $filetype = ".xml", $format = "files") {
+function get_pkg_depends($pkg_name, $filetype = ".xml", $format = "files", $return_nosync = 1) {
global $config
foreach($config['installedpackages']['package'] as $package) {
if ($package['name'] == $pkg_name) {
@@ -676,10 +678,9 @@ ile']);
$pkg_xml = parse_xml_config_pkg("/usr/local/pkg/" . $package_xml['configurationfile'], "packagegui");
if($pkg_xml['additional_files_needed'] != "") {
foreach($pkg_xml['additional_files_needed'] as $item) {
- if (isset($item['nosync'])) continue;
+ if (($return_nosync == 0) && (isset($item['nosync'])) continue; // Do not return depends with nosync set if not required.
$depend_file = substr(strrchr($item['item']['0'], '/'),1); // Strip URLs down to filenames.
$depend_name = substr(substr($depend_file,0,strpos($depend_file,".")+1),0,-1); // Strip filename down to dependency name.
- print $depend_name;
if (($filetype != "all") && (!preg_match("/${filetype}/i", $depend_file))) continue;
if ($item['prefix'] != "") {
$prefix = $item['prefix'];
OpenPOWER on IntegriCloud