From 38871c55788fed260e3decd07b49ac80ee448c98 Mon Sep 17 00:00:00 2001 From: Israel Fruchter Date: Sun, 22 Jan 2023 19:15:32 +0200 Subject: [PATCH] Stop using `parse_version` directly since in newer setuptools it doesn't support version string with `~` anymore (cherry picked from commit e64c2cb5b89ce17f63226ee07ec1f8931eab3b07) --- ccmlib/cluster.py | 2 +- ccmlib/node.py | 3 +-- ccmlib/scylla_node.py | 3 +-- ccmlib/scylla_repository.py | 2 +- ccmlib/utils/version.py | 6 ++++++ 5 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 ccmlib/utils/version.py diff --git a/ccmlib/cluster.py b/ccmlib/cluster.py index 5b276966..710da1c4 100644 --- a/ccmlib/cluster.py +++ b/ccmlib/cluster.py @@ -5,7 +5,6 @@ import shutil import threading import time -from pkg_resources import parse_version from collections import OrderedDict, defaultdict from concurrent.futures import ThreadPoolExecutor @@ -16,6 +15,7 @@ from ccmlib import common, repository from ccmlib.node import Node, NodeError from ccmlib.common import logger +from ccmlib.utils.version import parse_version class Cluster(object): diff --git a/ccmlib/node.py b/ccmlib/node.py index 4a674622..33387aae 100644 --- a/ccmlib/node.py +++ b/ccmlib/node.py @@ -15,7 +15,6 @@ import warnings from datetime import datetime import locale -from pkg_resources import parse_version import yaml from six import iteritems, print_, string_types @@ -24,7 +23,7 @@ from ccmlib import common from ccmlib.cli_session import CliSession from ccmlib.repository import setup - +from ccmlib.utils.version import parse_version class Status(): UNINITIALIZED = "UNINITIALIZED" diff --git a/ccmlib/scylla_node.py b/ccmlib/scylla_node.py index 52c40778..66f230b3 100644 --- a/ccmlib/scylla_node.py +++ b/ccmlib/scylla_node.py @@ -13,8 +13,6 @@ import threading from pathlib import Path -from pkg_resources import parse_version - import psutil import yaml import glob @@ -30,6 +28,7 @@ from ccmlib.node import NodeError from ccmlib.node import TimeoutError from ccmlib.scylla_repository import setup, CORE_PACKAGE_DIR_NAME, SCYLLA_VERSION_FILE +from ccmlib.utils.version import parse_version class ScyllaNode(Node): diff --git a/ccmlib/scylla_repository.py b/ccmlib/scylla_repository.py index b3e03fea..f09e80b4 100644 --- a/ccmlib/scylla_repository.py +++ b/ccmlib/scylla_repository.py @@ -13,7 +13,6 @@ import re import sys import glob -from pkg_resources import parse_version import hashlib import requests @@ -27,6 +26,7 @@ ArgumentError, CCMError, get_default_path, rmdirs, validate_install_dir, get_scylla_version, aws_bucket_ls, DOWNLOAD_IN_PROGRESS_FILE, wait_for_parallel_download_finish) from ccmlib.utils.download import download_file, download_version_from_s3 +from ccmlib.utils.version import parse_version GIT_REPO = "http://github.com/scylladb/scylla.git" diff --git a/ccmlib/utils/version.py b/ccmlib/utils/version.py new file mode 100644 index 00000000..b70eed50 --- /dev/null +++ b/ccmlib/utils/version.py @@ -0,0 +1,6 @@ +from packaging.version import parse, Version + + +def parse_version(v: str) -> Version: + v = v.replace('~', '-') + return parse(v)