From c3ebb2f867d33d588c8ad349948b2b7dea835498 Mon Sep 17 00:00:00 2001 From: jim-p Date: Tue, 19 Feb 2013 10:48:31 -0500 Subject: Try to use our git PBI instead of the tbz version. --- etc/phpshellsessions/gitsync | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) (limited to 'etc/phpshellsessions') 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) -- cgit v1.1