jaraco-functools was updated recently to be built with flit instead of setuptools. As a result at least one package, dev-python/cheroot, does not run anymore, instead giving the following error when starting up: pkg_resources.DistributionNotFound: The 'jaraco.functools' distribution was not found and is required by cheroot mgorny tracked this down to discrepancies in how build tools respect non-alphanumeric characters in wheel files. The older PEP 376 [1] states that name is converted to a standard distribution name by replacing any runs of non-alphanumeric characters with a single '-'. but was never fully implemented by the standard libraries, instead finding a place in third-party tools. This was then superseded by a different standard for wheel files. Currently [2], "In distribution names, any run of -_. characters (HYPHEN-MINUS, LOW LINE and FULL STOP) should be replaced with _ (LOW LINE) [..]". However, since older tools relied on an older standard, a full stop _must_ be accepted by them. When installed by setuptools, jaraco-functools is installed with a full stop. When installed by flit, jaraco-functools is installed with an underscore. To find its own version [3] cheroot uses pkg_resources which does not support new replacement rules of wheel files and therefore fails to load with the new version of jaraco-functools. [1] https://www.python.org/dev/peps/pep-0376/ [2] https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode [3] https://github.com/cherrypy/cheroot/blob/b2c619f3e60682b9405a87cea48e8d30801b6048/cheroot/__init__.py#L13 Reproducible: Always Steps to Reproduce: 1. Install dev-python/cheroot 2. Try running 'cheroot' from a shell Alternatively, without installing dev-python/cheroot: 1. Open up a python REPL 2. Run the following: import pkg_resources; pkg_resources.require('jaraco.functools') Actual Results: cheroot crashes with "pkg_resources.DistributionNotFound". See full log in attachment. Expected Results: cheroot starts up
Created attachment 766189 [details] python trace when starting up 'cheroot'
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b68e88a901e7ac4a2f44f1d4dfec654d2fd8240 commit 5b68e88a901e7ac4a2f44f1d4dfec654d2fd8240 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2022-03-04 07:54:27 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2022-03-04 07:56:57 +0000 dev-python/jaraco-text: Rename dist-info for pkg_resources Bug: https://bugs.gentoo.org/834522 Signed-off-by: Michał Górny <mgorny@gentoo.org> .../{jaraco-text-3.7.0-r1.ebuild => jaraco-text-3.7.0-r2.ebuild} | 7 +++++++ 1 file changed, 7 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b26d8560caf2b1d6da968ea1639d627f4c364979 commit b26d8560caf2b1d6da968ea1639d627f4c364979 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2022-03-04 07:53:29 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2022-03-04 07:56:54 +0000 dev-python/jaraco-functools: Rename dist-info for pkg_resources Bug: https://bugs.gentoo.org/834522 Signed-off-by: Michał Górny <mgorny@gentoo.org> ...-functools-3.5.0-r1.ebuild => jaraco-functools-3.5.0-r2.ebuild} | 7 +++++++ 1 file changed, 7 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6826f591416a13631c62aec8ee4bb563e295c7a2 commit 6826f591416a13631c62aec8ee4bb563e295c7a2 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2022-03-04 07:50:33 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2022-03-04 07:56:51 +0000 dev-python/jaraco-context: Rename dist-info for pkg_resources Bug: https://bugs.gentoo.org/834522 Signed-off-by: Michał Górny <mgorny@gentoo.org> ...raco-context-4.1.1-r1.ebuild => jaraco-context-4.1.1-r2.ebuild} | 7 +++++++ 1 file changed, 7 insertions(+)
(In reply to Larry the Git Cow from comment #2) > The bug has been referenced in the following commit(s): > > https://gitweb.gentoo.org/repo/gentoo.git/commit/ > ?id=5b68e88a901e7ac4a2f44f1d4dfec654d2fd8240 > > commit 5b68e88a901e7ac4a2f44f1d4dfec654d2fd8240 > Author: Michał Górny <mgorny@gentoo.org> > AuthorDate: 2022-03-04 07:54:27 +0000 > Commit: Michał Górny <mgorny@gentoo.org> > CommitDate: 2022-03-04 07:56:57 +0000 > > dev-python/jaraco-text: Rename dist-info for pkg_resources > > Bug: https://bugs.gentoo.org/834522 > Signed-off-by: Michał Górny <mgorny@gentoo.org> > > .../{jaraco-text-3.7.0-r1.ebuild => jaraco-text-3.7.0-r2.ebuild} | 7 > +++++++ > 1 file changed, 7 insertions(+) > > https://gitweb.gentoo.org/repo/gentoo.git/commit/ > ?id=b26d8560caf2b1d6da968ea1639d627f4c364979 > > commit b26d8560caf2b1d6da968ea1639d627f4c364979 > Author: Michał Górny <mgorny@gentoo.org> > AuthorDate: 2022-03-04 07:53:29 +0000 > Commit: Michał Górny <mgorny@gentoo.org> > CommitDate: 2022-03-04 07:56:54 +0000 > > dev-python/jaraco-functools: Rename dist-info for pkg_resources > > Bug: https://bugs.gentoo.org/834522 > Signed-off-by: Michał Górny <mgorny@gentoo.org> > > ...-functools-3.5.0-r1.ebuild => jaraco-functools-3.5.0-r2.ebuild} | 7 > +++++++ > 1 file changed, 7 insertions(+) > > https://gitweb.gentoo.org/repo/gentoo.git/commit/ > ?id=6826f591416a13631c62aec8ee4bb563e295c7a2 > > commit 6826f591416a13631c62aec8ee4bb563e295c7a2 > Author: Michał Górny <mgorny@gentoo.org> > AuthorDate: 2022-03-04 07:50:33 +0000 > Commit: Michał Górny <mgorny@gentoo.org> > CommitDate: 2022-03-04 07:56:51 +0000 > > dev-python/jaraco-context: Rename dist-info for pkg_resources > > Bug: https://bugs.gentoo.org/834522 > Signed-off-by: Michał Górny <mgorny@gentoo.org> > > ...raco-context-4.1.1-r1.ebuild => jaraco-context-4.1.1-r2.ebuild} | 7 > +++++++ > 1 file changed, 7 insertions(+) This fix appears to be no longer needed, and currently results in these ebuilds failing. I removed the "fix" from the ebuilds, and could emerge the packages again.
(I suspect the issue was actually because of the now reverted eclass change?)