Added detection if this is a git based install or not. (#9379)

Not sure about the warning or text.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
This commit is contained in:
Tony Murray
2018-12-07 16:29:37 -06:00
committed by Neil Lathwood
parent 93f44d67f8
commit c7f70b6e47
4 changed files with 22 additions and 1 deletions

View File

@@ -38,6 +38,12 @@ class Dependencies extends BaseValidation
*/
public function validate(Validator $validator)
{
# if git is not installed, do not assume composer is either
if (!is_git_install()) {
$validator->ok("Installed from package; no Composer required");
return;
}
$composer_output = trim(shell_exec($validator->getBaseDir() . '/scripts/composer_wrapper.php --version'));
$found = preg_match(
'/Composer.*(\d+\.\d+\.\d+(-RC\d*|-beta\d?|-alpha\d+)?)/',

View File

@@ -36,6 +36,11 @@ class Updates extends BaseValidation
{
public function validate(Validator $validator)
{
if (!is_git_install()) {
$validator->warn('Non-git install, updates are manual or from package');
return;
}
// if git is not available, we cannot do the other tests
if (!check_git_exists()) {
$validator->warn('Unable to locate git. This should probably be installed.');

View File

@@ -59,6 +59,10 @@ class User extends BaseValidation
}
}
# if no git, then we probably have different permissions by design
if (!is_git_install()) {
return;
}
// Let's test the user configured if we have it
if (Config::has('user')) {

View File

@@ -1134,7 +1134,7 @@ function version_info($remote = false)
{
global $config;
$output = array();
if (check_git_exists() === true) {
if (is_git_install() && check_git_exists()) {
if ($remote === true && $config['update_channel'] == 'master') {
$api = curl_init();
set_curl_proxy($api);
@@ -1715,6 +1715,12 @@ function set_numeric($value, $default = 0)
return $value;
}
function is_git_install()
{
$install_dir = Config::get('install_dir', realpath(__DIR__ . '/..'));
return file_exists("$install_dir/.git");
}
function check_git_exists()
{
exec('git > /dev/null 2>&1', $response, $exit_code);