From f96a24a916f2cd29f1980868bc0665b8df454b81 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Sat, 30 May 2020 11:09:54 -0500 Subject: [PATCH] Check python3 and pip3 versions (#11739) --- LibreNMS/Validations/Python.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/LibreNMS/Validations/Python.php b/LibreNMS/Validations/Python.php index b815a08977..77ca69cb31 100644 --- a/LibreNMS/Validations/Python.php +++ b/LibreNMS/Validations/Python.php @@ -50,6 +50,7 @@ class Python extends BaseValidation } $this->checkVersion($validator, $version); + $this->checkPipVersion($validator, $version); $this->checkExtensions($validator); } @@ -60,6 +61,16 @@ class Python extends BaseValidation } } + private function checkPipVersion(Validator $validator, $version) + { + preg_match('/\(python ([0-9.]+)\)/', `pip3 --version`, $matches); + $pip = $matches[1]; + $python = implode('.', array_slice(explode('.', $version), 0, 2)); + if (version_compare($python, $pip, '!=')) { + $validator->fail("python3 ($python) and pip3 ($pip) versions do not match. This likely will cause dependencies to be installed for the wrong python version."); + } + } + private function checkExtensions(Validator $validator) { $pythonExtensions = '/scripts/check_requirements.py';