(Submitted to FESCo) |
(Change approved by FESCo) |
||
Line 44: | Line 44: | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF33]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> |
Revision as of 14:38, 7 July 2020
Deprecate python-pytoml
Summary
The
(python-pytoml
) package will be deprecated in Fedora 33. Pytoml is deprecated upstream in favor of toml (python3-pytoml
), but existing Fedora packages depend on it, so we cannot remove it yet. Packagers are encouraged to work with upstream to switch to python-toml
, but python-toml
remains available until it is a leaf package, it will be removed then (possibly not yet in Fedora 33).
python-pytoml
Owner
- Name: Miro Hrončok
- Email: mhroncok@redhat.com
Current status
- Targeted release: Fedora 33
- Last updated: 2020-07-07
- FESCo issue: #2427
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
The
package is deprecated upstream:
python-pytoml
> The pytoml project is no longer being actively maintained. Consider using the toml package instead.
We'd like to drop it from Fedora, but several packages still require it. Before we attempt to remove the package, we need to stop new packages to (Build)Require
, hence we want to have it deprecated.
python3-pytoml
Packagers are encouraged to switch to
with upstream involvement. Downstream patches to switch from pytoml to toml are not encouraged.
python3-toml
Note that repoquery
gives many packages that BuildRequire
:
python3-toml
$ repoquery --repo=rawhide{,-source} --whatrequires python3-pytoml ilua-0:0.2.1-1.fc33.src pyproject-rpm-macros-0:0-15.fc33.noarch pyproject-rpm-macros-0:0-15.fc33.src python-black-0:19.10~b0-3.fc33.src python-chaospy-0:3.2.12-1.fc33.src python-copr-0:1.102-1.fc33.src python-decopatch-0:1.4.6-3.fc33.src python-elementpath-0:1.4.0-4.fc33.src python-flit-0:2.3.0-3.fc33.src python-latexcodec-0:2.0.1-1.fc33.src python-makefun-0:1.6.11-3.fc33.src python-numpoly-0:0.2.3-2.fc33.src python-openqa_client-0:4.1.0-2.fc33.src python-pint-0:0.13-1.fc33~bootstrap.src python-pybtex-docutils-0:0.2.2-4.fc33.src python-pytest-cases-0:1.11.1-3.fc33.src python-pytest-harvest-0:1.7.2-3.fc33.src python-pytest-steps-0:1.7.2-2.fc33.src python-readthedocs-sphinx-ext-0:2.0.0-1.fc33.src python-requests-download-0:0.1.2-3.fc33.src python-sphinx-copybutton-0:0.2.12-1.fc33.src python-sphinxcontrib-bibtex-0:1.0.0-4.fc33.src python-wikitcms-0:2.6.3-2.fc33.src python-xmlschema-0:1.0.18-3.fc33.src python-xmlsec-0:1.3.8-1.fc33.src python3-flit-0:2.3.0-3.fc33.noarch python3-flit-core-0:2.3.0-3.fc33.noarch
But many of them are only there because the dependency was generated by
BuildRequires generator which was since already updated to use pyproject-rpm-macros
. When rebuilt with updated python3-toml
, the dependency will be replaced with pyproject-rpm-macros
.
python3-toml
$ repoquery --repo=rawhide{,-source} --whatrequires pyproject-rpm-macros ansible-lint-0:4.2.0-4.fc33.src ilua-0:0.2.1-1.fc33.src python-PyGithub-0:1.51-2.fc33.src python-black-0:19.10~b0-3.fc33.src python-chaospy-0:3.2.12-1.fc33.src python-copr-0:1.102-1.fc33.src python-decopatch-0:1.4.6-3.fc33.src python-elementpath-0:1.4.0-4.fc33.src python-latexcodec-0:2.0.1-1.fc33.src python-makefun-0:1.6.11-3.fc33.src python-numpoly-0:0.2.3-2.fc33.src python-openqa_client-0:4.1.0-2.fc33.src python-pep517-0:0.7.0-4.fc33.src python-pint-0:0.13-1.fc33~bootstrap.src python-pybtex-docutils-0:0.2.2-4.fc33.src python-pytest-cases-0:1.11.1-3.fc33.src python-pytest-harvest-0:1.7.2-3.fc33.src python-pytest-steps-0:1.7.2-2.fc33.src python-readthedocs-sphinx-ext-0:2.0.0-1.fc33.src python-requests-download-0:0.1.2-3.fc33.src python-sphinx-copybutton-0:0.2.12-1.fc33.src python-sphinxcontrib-bibtex-0:1.0.0-4.fc33.src python-tox-current-env-0:0.0.2-5.fc33.src python-wikitcms-0:2.6.3-2.fc33.src python-xmlschema-0:1.0.18-3.fc33.src python-xmlsec-0:1.3.8-1.fc33.src
The only really affected package is
. Upstream already discusses the transition: https://github.com/takluyver/flit/issues/255
python-flit
Once all dependencies are removed, we plan to retire
, whether it will be in Fedora 33 or later.
python-pytoml
Feedback
The intent was announced at https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/MOAHRKMZRFNR34WHPICHCP6MR3IWY4FW/ but there was no feedback. The primary point of contact for the
and python-pytoml
packages is on board.
python-toml
Benefit to Fedora
An upstream deprecated package will not be depended upon by new packages.
Scope
- Proposal owners: Deprecate
. Work with flit upstream to make the transition as well. Once the dependency is removed from flit, rebuild remaining packages usingpython3-pytoml
and retirepyproject-rpm-macros
(possibly later than Fedora 33).python-pytoml
- Other developers: No action needed. Don't add new dependencies on
.python3-pytoml
- Release engineering: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
The package will remain available. Only new packages cannot depend on it.
Once retired, we don't plan to provide python3-pytoml
from
, because it cannot work as drop-in replacement (the Python module has a different name). The package will eventually be obsoleted by python3-toml
once Python is updated to 3.10 to avoid broken upgrades.
fedora-obsolete-packages
How To Test
$ repoquery --repo=rawhide --provides python3-pytoml ... deprecated() ...
User Experience
No changes.
Dependencies
N/A (not a System Wide Change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
- Blocks product? product
Documentation
N/A (not a System Wide Change)