aboutsummaryrefslogtreecommitdiffstats
path: root/community/salt/fix-python3.10-importlib_metadata.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/salt/fix-python3.10-importlib_metadata.patch')
-rw-r--r--community/salt/fix-python3.10-importlib_metadata.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/community/salt/fix-python3.10-importlib_metadata.patch b/community/salt/fix-python3.10-importlib_metadata.patch
new file mode 100644
index 00000000000..73c427e479e
--- /dev/null
+++ b/community/salt/fix-python3.10-importlib_metadata.patch
@@ -0,0 +1,39 @@
+--- a/salt/_compat.py
++++ b/salt/_compat.py
+@@ -11,19 +11,23 @@
+ else:
+ import salt.ext.ipaddress as ipaddress
+
++if sys.version_info >= (3, 10):
++ # Python 3.10 will include a fix in importlib.metadata which allows us to
++ # get the distribution of a loaded entry-point
++ import importlib.metadata # pylint: disable=no-member,no-name-in-module
++else:
++ # importlib_metadata before version 3.3.0 does not include the functionality we need.
++ try:
++ import importlib_metadata
+
+-# importlib_metadata before version 3.3.0 does not include the functionality we need.
+-try:
+- import importlib_metadata
+-
+- importlib_metadata_version = [
+- int(part)
+- for part in importlib_metadata.version("importlib_metadata").split(".")
+- if part.isdigit()
+- ]
+- if tuple(importlib_metadata_version) < (3, 3, 0):
++ importlib_metadata_version = [
++ int(part)
++ for part in importlib_metadata.version("importlib_metadata").split(".")
++ if part.isdigit()
++ ]
++ if tuple(importlib_metadata_version) < (3, 3, 0):
++ # Use the vendored importlib_metadata
++ import salt.ext.importlib_metadata as importlib_metadata
++ except ImportError:
+ # Use the vendored importlib_metadata
+ import salt.ext.importlib_metadata as importlib_metadata
+-except ImportError:
+- # Use the vendored importlib_metadata
+- import salt.ext.importlib_metadata as importlib_metadata