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().
This commit is contained in:
Georg Richter
2020-07-15 13:28:33 +02:00
parent 92d8c4031f
commit c6ad169f87
2 changed files with 5 additions and 3 deletions

View File

@ -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)

View File

@ -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)