python-sphinx-testing fails to build with Python 3.9.0a2. This seems to be due to using 'U' mode in the open() function which was removed in Python 3.9 See: https://bugs.python.org/issue37330 For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01141794-python-sphinx-testing/ For all our attempts to build python-sphinx-testing with Python 3.9, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-sphinx-testing/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/ Let us know here if you have any questions. Python 3.9 will be included in Fedora 33, but the initial bootstrapping has already started. A build failure this early in the bootstrap sequence blocks us very much.
This can be fixed with: diff --git a/src/sphinx_testing/path.py b/src/sphinx_testing/path.py index 60caf35..9e16a09 100644 --- a/src/sphinx_testing/path.py +++ b/src/sphinx_testing/path.py @@ -155,7 +155,7 @@ class path(text_type): """ Returns the text in the file. """ - f = open(self, mode='U', **kwargs) + f = open(self, **kwargs) try: return f.read() finally:
According to upstream, sphinx-testing is deprecated in favor of sphinx.testing shipped with sphinx itself. I'm going to apply the patch from comment 1 for now to unblock the rebuild effort, but we need to start hunting down users of this package and switching them over to sphinx.testing.
Patched version built in Rawhide. I'm going to leave this open for now to remind myself to figure out how to port all users from this package to sphinx.testing.
Just: python-sphinx-removed-in-0:0.2.1-1.fc32.src python-sphinxcontrib-bibtex-0:1.0.0-1.fc32.src
And, sadly, one I just barely added to Fedora: python-sphinx-math-dollar. Okay, I will try to get them all ported over and then retire python-sphinx-testing.
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle. Changing version to 32.
Porting is nontrivial. In fact, the interfaces are not at all similar. I think upstream for this package just meant that there is now a testing facility in Sphinx itself, so use that instead.
The removal of U open() mode was postponed to Python 3.10. Closing this now. If you haven't yet, please consider to follow up up on this with your upstream. (This comment is mass posted to all affected bugzillas.)