From c6ad169f8707352d138d27a324563f349ed5a2b3 Mon Sep 17 00:00:00 2001 From: Georg Richter Date: Wed, 15 Jul 2020 13:28:33 +0200 Subject: [PATCH] Fix for CONPY-85: Version checking in setup fails with 2 digit minor or patch version number. Instead of comparing version numers directly we need to parse them before using packaging.version.parse(). --- mariadb_posix.py | 5 +++-- mariadb_windows.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mariadb_posix.py b/mariadb_posix.py index c489afc..e37609f 100644 --- a/mariadb_posix.py +++ b/mariadb_posix.py @@ -2,6 +2,7 @@ import subprocess import sys +from packaging import version class MariaDBConfiguration(): @@ -35,7 +36,7 @@ def dequote(s): def get_config(options): - required_version = "3.1.3" + required_version = "3.1.5" no_env = 0 static = options["link_static"] @@ -47,7 +48,7 @@ def get_config(options): config_prg = "mariadb_config" cc_version = mariadb_config(config_prg, "cc_version") - if cc_version[0] < required_version: + if version.parse(cc_version[0]) < version.parse(required_version): print ('MariaDB Connector/Python requires MariaDB Connector/C >= %s, found version %s' % ( required_version, cc_version[0])) sys.exit(2) diff --git a/mariadb_windows.py b/mariadb_windows.py index a62532e..357aa92 100755 --- a/mariadb_windows.py +++ b/mariadb_windows.py @@ -3,6 +3,7 @@ import platform import sys from winreg import * +from packaging import version class MariaDBConfiguration(): @@ -38,7 +39,7 @@ def get_config(options): 'SOFTWARE\\MariaDB Corporation\\MariaDB Connector C 64-bit', access=KEY_READ | KEY_WOW64_64KEY) cc_version = QueryValueEx(connector_key, "Version") - if cc_version[0] < required_version: + if version.parse(cc_version[0]) < version.parse(required_version): print("MariaDB Connector/Python requires MariaDB Connector/C >= %s (found version: %s") \ % (required_version, cc_version[0]) sys.exit(2)