summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-03-02 01:26:33 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-03-02 01:26:33 +0000
commitd4022785b5bda2f09efca40901619d17fbf12fa4 (patch)
treeccb3201a77ce388a3314605eb85ed2c9bce45522
parent3e08b3c1dce90d0a1d2b1ae6000cdd689477ce85 (diff)
downloadpfsense-d4022785b5bda2f09efca40901619d17fbf12fa4.zip
pfsense-d4022785b5bda2f09efca40901619d17fbf12fa4.tar.gz
* Add prefix option to additional_files_needed
* Add chmod option to additional_files_needed
-rwxr-xr-xusr/local/www/pkg_mgr_install.php71
1 files changed, 39 insertions, 32 deletions
diff --git a/usr/local/www/pkg_mgr_install.php b/usr/local/www/pkg_mgr_install.php
index a8fed0a..70b8365 100755
--- a/usr/local/www/pkg_mgr_install.php
+++ b/usr/local/www/pkg_mgr_install.php
@@ -346,19 +346,26 @@ foreach ($packages_to_install as $id) {
* and uncompress if needed.
*/
if ($package_conf['additional_files_needed'] <> "") {
- foreach($package_conf['additional_files_needed']['item'] as $afn) {
- update_progress_bar($pb_percent);
- $pb_percent += 10;
- $filename = get_filename_from_url($afn);
- fwrite($fd_log, "Downloading additional files needed for package " . $filename . " ...\n");
- update_status("Downloading additional files needed for package " . $filename . " ...\n");
- system("cd /usr/local/pkg && /usr/bin/fetch " . $afn . " 2>/dev/null");
- if(stristr($filename, ".tgz") <> "") {
- update_status("Extracting tgz archive to -C for " . $filename);
- fwrite($fd_log, "Extracting tgz archive to -C for " . $filename . " ...\n");
- system("/usr/bin/tar xzvf /usr/local/pkg/" . $filename . " -C / >/dev/null 2>&1");
- }
- }
+ foreach($package_conf['additional_files_needed'] as $afn) {
+ update_progress_bar($pb_percent);
+ $pb_percent += 10;
+ $filename = get_filename_from_url($afn['item']);
+ fwrite($fd_log, "Downloading additional files needed for package " . $filename . " ...\n");
+ update_status("Downloading additional files needed for package " . $filename . " ...\n");
+ $prefix = "/usr/local/pkg/";
+ if($afn['chmod'] <> "")
+ $pkg_chmod = $afn['chmod'];
+ if($afn['prefix'] <> "")
+ $prefix = $afn['prefix'];
+ system("cd {$prefix} && /usr/bin/fetch " . $afn . " 2>/dev/null");
+ if(stristr($filename, ".tgz") <> "") {
+ update_status("Extracting tgz archive to -C for " . $filename);
+ fwrite($fd_log, "Extracting tgz archive to -C for " . $filename . " ...\n");
+ system("/usr/bin/tar xzvf /usr/local/pkg/" . $filename . " -C / >/dev/null 2>&1");
+ }
+ if($pkg_chmod <> "")
+ system("/bin/chmod ${pkg_chmod} {$prefix}{$filename}");
+ }
}
/*
@@ -367,25 +374,25 @@ foreach ($packages_to_install as $id) {
*/
if(is_array($package_conf['menu']))
foreach ($package_conf['menu'] as $menu) {
- // install menu item into the ext folder
- fwrite($fd_log, "Adding menu option to " . $menu['section'] . "/" . $menu['name'] . "\n");
- $fd = fopen("{$g['www_path']}/ext/" . $menu['section'] . "/" . $menu['name'] , "w");
- if($menu['url'] <> "") {
- // override $myurl for script.
- $toeval = "\$myurl = \"" . getenv("HTTP_HOST") . "\"; \n";
- eval($toeval);
- // eval url so that above $myurl item can be processed if need be.
- $urltmp = $menu['url'];
- $toeval = "\$url = \"" . $urltmp . "\"; \n";
- eval($toeval);
- fwrite($fd, $url . "\n");
- } else {
- $xml = "";
- if(stristr($menu['configfile'],".xml") == "") $xml = ".xml";
- fwrite($fd, "/pkg.php?xml=" . $menu['configfile'] . $xml . "\n");
- }
- fclose($fd);
- }
+ // install menu item into the ext folder
+ fwrite($fd_log, "Adding menu option to " . $menu['section'] . "/" . $menu['name'] . "\n");
+ $fd = fopen("{$g['www_path']}/ext/" . $menu['section'] . "/" . $menu['name'] , "w");
+ if($menu['url'] <> "") {
+ // override $myurl for script.
+ $toeval = "\$myurl = \"" . getenv("HTTP_HOST") . "\"; \n";
+ eval($toeval);
+ // eval url so that above $myurl item can be processed if need be.
+ $urltmp = $menu['url'];
+ $toeval = "\$url = \"" . $urltmp . "\"; \n";
+ eval($toeval);
+ fwrite($fd, $url . "\n");
+ } else {
+ $xml = "";
+ if(stristr($menu['configfile'],".xml") == "") $xml = ".xml";
+ fwrite($fd, "/pkg.php?xml=" . $menu['configfile'] . $xml . "\n");
+ }
+ fclose($fd);
+ }
} else {
update_output_window("WARNING! /usr/local/pkg/" . $pkgent['name'] . ".xml" . " does not exist!\n");
fwrite($fd_log, "WARNING! /usr/local/pkg/" . $pkgent['name'] . ".xml" . " does not exist!\n");
OpenPOWER on IntegriCloud