diff options
author | jim-p <jimp@pfsense.org> | 2013-02-19 10:48:31 -0500 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2013-02-19 10:48:31 -0500 |
commit | c3ebb2f867d33d588c8ad349948b2b7dea835498 (patch) | |
tree | 0b84ba46aa7bd91273219219e4b9cf2c86fa34c4 /etc/phpshellsessions | |
parent | 5823264a93654f8f172cdaf80bf1bb35ceb7d801 (diff) | |
download | pfsense-c3ebb2f867d33d588c8ad349948b2b7dea835498.zip pfsense-c3ebb2f867d33d588c8ad349948b2b7dea835498.tar.gz |
Try to use our git PBI instead of the tbz version.
Diffstat (limited to 'etc/phpshellsessions')
-rw-r--r-- | etc/phpshellsessions/gitsync | 37 |
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) |