Implement system for user packages in composer (#13718)

This commit is contained in:
Jellyfrog
2022-02-02 17:33:23 +01:00
committed by GitHub
parent 2dcc70301c
commit fdebee86b4
8 changed files with 200 additions and 17 deletions

View File

@@ -28,6 +28,7 @@ namespace LibreNMS\Validations;
use DateTime;
use DateTimeZone;
use Exception;
use LibreNMS\ComposerHelper;
use LibreNMS\Config;
use LibreNMS\Util\EnvHelper;
use LibreNMS\Util\Git;
@@ -101,12 +102,17 @@ class Updates extends BaseValidation
$modifiedcmd = 'git diff --name-only --exit-code';
$validator->execAsUser($modifiedcmd, $cmdoutput, $code);
if ($code !== 0 && ! empty($cmdoutput)) {
$result = ValidationResult::warn(
'Your local git contains modified files, this could prevent automatic updates.',
'You can fix this with ./scripts/github-remove'
);
$result->setList('Modified Files', $cmdoutput);
$validator->result($result);
// Check so it's not only plugins that "pests" the diff
if (! ($cmdoutput === ['composer.json', 'composer.lock'] && ComposerHelper::getPlugins())) {
$result = ValidationResult::warn(
'Your local git contains modified files, this could prevent automatic updates.',
'You can fix this with ./scripts/github-remove'
);
$result->setList('Modified Files', $cmdoutput);
$validator->result($result);
}
}
}
}