Imported Upstream version 58.0.1 upstream/58.0.1
authorJinWang An <jinwang.an@samsung.com>
Mon, 27 Mar 2023 08:02:35 +0000 (17:02 +0900)
committerJinWang An <jinwang.an@samsung.com>
Mon, 27 Mar 2023 08:02:35 +0000 (17:02 +0900)
.bumpversion.cfg
CHANGES.rst
setup.cfg
setuptools/dist.py

index 1bfc882560ada9752327195736338cc916c6bd91..e37af40efc739a6616d9590ec56089e6c08b36f8 100644 (file)
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 58.0.0
+current_version = 58.0.1
 commit = True
 tag = True
 
index 20d828161d36782efcbc043fa3f21e94b0dce2d1..27b97f9177f7eda785e6be0c842d837fbea25b83 100644 (file)
@@ -1,3 +1,12 @@
+v58.0.1
+-------
+
+
+Misc
+^^^^
+* #2765: In Distribution.finalize_options, suppress known removed entry points to avoid issues with older Setuptools.
+
+
 v58.0.0
 -------
 
index 7de45d8be690ce88aa611e4f9d0bb5efe461339d..30817c00e61e793c6558f7c8439e345e351158a0 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = setuptools
-version = 58.0.0
+version = 58.0.1
 author = Python Packaging Authority
 author_email = distutils-sig@python.org
 description = Easily download, build, install, upgrade, and uninstall Python packages
index eec0b27eb0e729a61dd8da4a78a0ac5381ade4ed..02ebd635b8787641cffe023d70a701c09b9e383b 100644 (file)
@@ -817,10 +817,26 @@ class Distribution(_Distribution):
         def by_order(hook):
             return getattr(hook, 'order', 0)
 
-        eps = map(lambda e: e.load(), pkg_resources.iter_entry_points(group))
-        for ep in sorted(eps, key=by_order):
+        defined = pkg_resources.iter_entry_points(group)
+        filtered = itertools.filterfalse(self._removed, defined)
+        loaded = map(lambda e: e.load(), filtered)
+        for ep in sorted(loaded, key=by_order):
             ep(self)
 
+    @staticmethod
+    def _removed(ep):
+        """
+        When removing an entry point, if metadata is loaded
+        from an older version of Setuptools, that removed
+        entry point will attempt to be loaded and will fail.
+        See #2765 for more details.
+        """
+        removed = {
+            # removed 2021-09-05
+            '2to3_doctests',
+        }
+        return ep.name in removed
+
     def _finalize_setup_keywords(self):
         for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
             value = getattr(self, ep.name, None)