summaryrefslogtreecommitdiffstats
path: root/etc/phpshellsessions/gitsync
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2013-02-19 10:48:31 -0500
committerjim-p <jimp@pfsense.org>2013-02-19 10:48:31 -0500
commitc3ebb2f867d33d588c8ad349948b2b7dea835498 (patch)
tree0b84ba46aa7bd91273219219e4b9cf2c86fa34c4 /etc/phpshellsessions/gitsync
parent5823264a93654f8f172cdaf80bf1bb35ceb7d801 (diff)
downloadpfsense-c3ebb2f867d33d588c8ad349948b2b7dea835498.zip
pfsense-c3ebb2f867d33d588c8ad349948b2b7dea835498.tar.gz
Try to use our git PBI instead of the tbz version.
Diffstat (limited to 'etc/phpshellsessions/gitsync')
-rw-r--r--etc/phpshellsessions/gitsync37
1 files changed, 29 insertions, 8 deletions
diff --git a/etc/phpshellsessions/gitsync b/etc/phpshellsessions/gitsync
index b0bc9b0..656c1e8 100644
--- a/etc/phpshellsessions/gitsync
+++ b/etc/phpshellsessions/gitsync
@@ -71,15 +71,36 @@ unlink_if_exists("/tmp/config.cache");
conf_mount_rw();
if(!file_exists("/usr/local/bin/git")) {
- echo "Cannot find git, fetching...";
- if (($g['platform'] == "nanobsd") || ($g['platform'] == "embedded")) {
- $pkgtmpdir = "/usr/bin/env PKG_TMPDIR=/root/ ";
- $pkgstagingdir = "/root/tmp";
- if (!is_dir($pkgstagingdir))
- mkdir($pkgstagingdir);
- $pkgstaging = "-t {$pkgstagingdir}/instmp.XXXXXX";
+ echo "Cannot find git, fetching...\n";
+ require_once("config.inc");
+ require_once("util.inc");
+ require_once("pkg-utils.inc");
+
+ echo "Trying to fetch package info...";
+ $pkg_info = get_pkg_info();
+ if ($pkg_info) {
+ echo " Done.\n";
+ } else {
+ $xmlrpc_base_url = isset($config['system']['altpkgrepo']['enable']) ? $config['system']['altpkgrepo']['xmlrpcbaseurl'] : $g['xmlrpcbaseurl'];
+ echo "\n" . sprintf(gettext(' >>> Unable to communicate with %1$s. Please verify DNS and interface configuration, and that %2$s has functional Internet connectivity.'), $xmlrpc_base_url, $g['product_name']) . "\n";
+ return;
+ }
+ if (empty($pkg_info["git"])) {
+ echo "Can't locate git package in pfSense repo. Using FreeBSD pkg repo..";
+
+ if (($g['platform'] == "nanobsd") || ($g['platform'] == "embedded")) {
+ $pkgtmpdir = "/usr/bin/env PKG_TMPDIR=/root/ ";
+ $pkgstagingdir = "/root/tmp";
+ if (!is_dir($pkgstagingdir))
+ mkdir($pkgstagingdir);
+ $pkgstaging = "-t {$pkgstagingdir}/instmp.XXXXXX";
+ }
+ system("{$pkgtmpdir}/usr/sbin/pkg_add {$pkgstaging} -r {$GIT_PKG}");
+
+ } else {
+ install_package("git", $pkg_info["git"], true);
+ echo "Done.\n";
}
- system("{$pkgtmpdir}/usr/sbin/pkg_add {$pkgstaging} -r {$GIT_PKG}");
}
# Remove mainline if exists (older)
OpenPOWER on IntegriCloud