The long options were added in Sphinx 7.3.0, which is not available in
RHEL 9 and 10. The short option works for each of the currently supported systems.
Ref: https://www.sphinx-doc.org/en/master/changes/7.3.html
[skip changelog]
We build it in alternative Python stacks and want it to pick up
the redefined %{python3_pkgversion}. For main Python it
evaluates to 3, meaning no change in Fedora proper.
It will result in a smaller diff when creating alternative package definitions.
[skip changelog]
- Drop test requirement of python-wheel-wheel
- Use pytest-xdist to run tests faster
The motivation for this was the need to drop python-wheel-wheel in wheel 0.46+.
Due to newly gained runtime dependencies of wheel,
such wheel cannot be used as is.
I realized that when the explicit BuildRequires is removed,
the package is brought in by python3-virtualenv.
But even when python3-virtualenv drops the dependency,
the tests still passed without python-wheel-wheel.
Because the tests that require packaged wheels were all --ignored
for obsolete reasons. When unignored, they errored due to missing coverage.whl.
While attempting to fix this, I realized we cannot use the RPM packaged wheel anyway.
When the functional tests run, it takes a while, hence pytest-xdist.
---
For the record, the coverage-0-py3-none-any.whl was created as:
[project]
name = "coverage"
version = "0"
[build-system]
requires = ["setuptools >= 77.0.3"]
build-backend = "setuptools.build_meta"
And coverage.py with:
def process_startup():
pass
Wheel generated by `python3 -m build` (with python3-build-1.2.1-4.fc41.noarch).
- Also build manual pages on RHEL
- The python-pip-doc package is gone but not Obsoleted, it has no dependencies
Also:
Rename the bcond,
update the CI test,
use sphinx-build without the -3 suffix,
always BR python3-sphinx (for RHEL alternate Python versions where we don't package Sphinx).
pip >= 20 has a mechanism that replaces our pip-allow-different-versions.patch
However, we kept our patch to support users doing e.g.:
$ pip install --user --upgrade 'pip<20'
However, pip 19.3.1 (the latest <20 version) does not even operate without distutils:
(venv3.12)$ pip list
Package Version
---------- -------
pip 22.3.1
setuptools 65.5.0
(venv3.12)$ pip install --upgrade 'pip<20'
...
(venv3.12) $ pip list
Traceback (most recent call last):
File ".../venv3.12/bin/pip", line 5, in <module>
from pip._internal.main import main
File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/main.py", line 13, in <module>
from pip._internal.cli.autocompletion import autocomplete
File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/cli/autocompletion.py", line 11, in <module>
from pip._internal.cli.main_parser import create_main_parser
File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
from pip._internal.cli import cmdoptions
File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/cli/cmdoptions.py", line 19, in <module>
from distutils.util import strtobool
ModuleNotFoundError: No module named 'distutils'
Hence, it no longer makes any sense to keep the patch with Python 3.12.