Description of problem: The release of package python3-sphinxcontrib-zopeext-0.3.0-1.fc35 to repo updates breaks dnf automatic updates on Fedora 35 because it causes a transaction error if python3-sphinxcontrib-asyncio and python3-sphinxcontrib-zopeext was installed. Please provide an updated package which will install without error. Or remove python3-sphinxcontrib-zopeext-0.3.0-1.fc35 from repo updates. Version-Release number of selected component (if applicable): python3-sphinxcontrib-zopeext-0.3.0-1.fc35 How reproducible: Always Steps to Reproduce: 1. Use a Fedora 35 system with installed packages python3-sphinxcontrib-zopeext-0.2.4-6.fc35 and python3-sphinxcontrib-asyncio-0.3.0-1.fc35 2. Run dnf upgrade Actual results: Fehler: Transaktionstest fehlerhaft: Datei /usr/lib/python3.10/site-packages/sphinxcontrib/__init__.py aus der Installation von python3-sphinxcontrib-zopeext-0.3.0-1.fc35.noarch kollidiert mit der Datei aus dem Paket python3-sphinxcontrib-asyncio-0.3.0-1.fc35.noarch Datei /usr/lib/python3.10/site-packages/sphinxcontrib/__pycache__/__init__.cpython-310.opt-1.pyc aus der Installation von python3-sphinxcontrib-zopeext-0.3.0-1.fc35.noarch kollidiert mit der Datei aus dem Paket python3-sphinxcontrib-asyncio-0.3.0-1.fc35.noarch Datei /usr/lib/python3.10/site-packages/sphinxcontrib/__pycache__/__init__.cpython-310.pyc aus der Installation von python3-sphinxcontrib-zopeext-0.3.0-1.fc35.noarch kollidiert mit der Datei aus dem Paket python3-sphinxcontrib-asyncio-0.3.0-1.fc35.noarch Expected results: No error
The issue is that both packages want to install /usr/lib/python3.10/site-packages/sphinxcontrib/__init__.py. The python-sphinxcontrib-asyncio version reads: ``` __import__('pkg_resources').declare_namespace(__name__) ``` The python-sphinxcontrib-zopeext version reads: ``` # -*- coding: utf-8 -*- """ sphinxcontrib ~~~~~~~~~~~~~ This package is a namespace package that contains all extensions distributed in the ``sphinx-contrib`` distribution. :copyright: Copyright 2007-2009 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ __import__('pkg_resources').declare_namespace(__name__) ``` That is, they are the same as far as code goes, but the zopeext version adds a documentation string and a coding cookie. I'm not sure what the right thing to do is. There is no parent sphinxcontrib package, which is where this file should really live. Maybe we should artificially create one, and have all of the various python-sphinxcontrib-* packages require it? I am adding the python-sphinxcontrib-asyncio maintainer and Miro to CC, in hopes that one of them might have some advice.
Elliott Sales de Andrade has this to say on fedora-devel-list: I think these packages are wrong upstream. The `sphinxcontrib` directory is provided by python3-sphinx, and it specifically doesn't have `__init__.py` there. Those extensions should not be adding one, so as to keep the implicit namespace package nature of that directory: https://packaging.python.org/en/latest/guides/packaging-namespace-packages/#native-namespace-packages By the contents of the files, it appears they are trying to force it to be a pkg_resources-style namespace package: https://packaging.python.org/en/latest/guides/packaging-namespace-packages/#pkg-resources-style-namespace-packages But since Sphinx didn't do that in the first place, there's no guarantee that other packages will contain `__init__.py` (and indeed most do not).
Upstream bug reports: https://github.com/sphinx-contrib/zopeext/issues/5 https://github.com/aio-libs/sphinxcontrib-asyncio/issues/12
FEDORA-2022-08e3944d2d has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-08e3944d2d
FEDORA-2022-08e3944d2d has been pushed to the Fedora 35 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-08e3944d2d` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-08e3944d2d See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-08e3944d2d has been pushed to the Fedora 35 stable repository. If problem still persists, please make note of it in this bug report.