Author: Jonas Devlieghere Date: 2024-06-13T16:00:12-07:00 New Revision: 22ea97d7bfd65abf68a68b13bf96ad69be23df54
URL: https://github.com/llvm/llvm-project/commit/22ea97d7bfd65abf68a68b13bf96ad69be23df54 DIFF: https://github.com/llvm/llvm-project/commit/22ea97d7bfd65abf68a68b13bf96ad69be23df54.diff LOG: [lldb] Use packaging module instead of pkg_resources (#93712) Use the packaging [1] module for parsing version numbers, instead of pkg_resources which is distributed with setuptools. I recently switched over to using the latter, knowing it was deprecated (in favor of the packaging module) because it comes with Python out of the box. Newer versions of setuptools have removed `pkg_resources` so we have to use packaging. [1] https://pypi.org/project/packaging/ Added: Modified: lldb/packages/Python/lldbsuite/test/decorators.py lldb/packages/Python/lldbsuite/test/lldbplatformutil.py lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py lldb/test/Shell/helper/build.py Removed: ################################################################################ diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index 79cc0a2aeacbe..ecc7b81035f11 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -1,6 +1,6 @@ # System modules from functools import wraps -from pkg_resources import packaging +from packaging import version import ctypes import locale import os @@ -66,9 +66,7 @@ def fn_neq(x, y): "<=": fn_leq, } - return op_lookup[comparison]( - packaging.version.parse(actual), packaging.version.parse(expected) - ) + return op_lookup[comparison](version.parse(actual), version.parse(expected)) def _match_decorator_property(expected, actual): diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py index 187d16aa1baa6..21f2095db90f8 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py +++ b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py @@ -8,8 +8,7 @@ import subprocess import sys import os -from urllib.parse import urlparse -from pkg_resources import packaging +from packaging import version # LLDB modules import lldb @@ -309,17 +308,17 @@ def expectedCompilerVersion(compiler_version): # Assume the compiler version is at or near the top of trunk. return operator in [">", ">=", "!", "!=", "not"] - version = packaging.version.parse(version_str) - test_compiler_version = packaging.version.parse(test_compiler_version_str) + actual_version = version.parse(version_str) + test_compiler_version = version.parse(test_compiler_version_str) if operator == ">": - return test_compiler_version > version + return test_compiler_version > actual_version if operator == ">=" or operator == "=>": - return test_compiler_version >= version + return test_compiler_version >= actual_version if operator == "<": - return test_compiler_version < version + return test_compiler_version < actual_version if operator == "<=" or operator == "=<": - return test_compiler_version <= version + return test_compiler_version <= actual_version if operator == "!=" or operator == "!" or operator == "not": return version_str not in test_compiler_version_str return version_str in test_compiler_version_str diff --git a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py index d770447f0771c..754579a59c11e 100644 --- a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py +++ b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py @@ -61,9 +61,9 @@ def check_simulator_ostype(self, sdk, platform_name, arch=platform.machine()): # Older versions of watchOS (<7.0) only support i386 if platform_name == "watchos": - from pkg_resources import packaging + from packaging import version - if packaging.version.parse(vers) < packaging.version.parse("7.0"): + if version.parse(vers) < version.parse("7.0"): arch = "i386" triple = "-".join([arch, "apple", platform_name + vers, "simulator"]) diff --git a/lldb/test/Shell/helper/build.py b/lldb/test/Shell/helper/build.py index d3c25bd944e98..b2b8146e88c75 100755 --- a/lldb/test/Shell/helper/build.py +++ b/lldb/test/Shell/helper/build.py @@ -441,9 +441,9 @@ def _get_vctools_version(self): if not subdirs: return None - from distutils.version import StrictVersion + from packaging import version - subdirs.sort(key=lambda x: StrictVersion(x)) + subdirs.sort(key=lambda x: version.parse(x)) if self.verbose: full_path = os.path.join(vcinstalldir, subdirs[-1]) @@ -517,11 +517,9 @@ def _find_windows_sdk_in_registry_view(self, view): if not sdk_versions: return (None, None) - # Windows SDK version numbers consist of 4 dotted components, so we - # have to use LooseVersion, as StrictVersion supports 3 or fewer. - from pkg_resources import packaging + from packaging import version - sdk_versions.sort(key=lambda x: packaging.version.parse(x), reverse=True) + sdk_versions.sort(key=lambda x: version.parse(x), reverse=True) option_value_name = "OptionId.DesktopCPP" + self.msvc_arch_str for v in sdk_versions: try: _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits