F38 proposal: PostgreSQL 15 (Self-Contained Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/PostgreSQL_15
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Owner ==
* Name: [[User:osloup| Ondřej Sloup]]
* Email: osloup(a)redhat.com
== Detailed Description ==
Update of PostgreSQL (`postgresql` and `libpq` components) in Fedora
from version 14 to version 15 in the non-modular (main) builds.
This also involves moving the postgresql-static subpackage to libpq
creating the libpq-static subpackage.
=== Plan ===
* Prepare PostgreSQL 15 in Copr (TBD)
* Rebuild important dependencies in Copr (TBD)
* Debug and fix compatibility issues found in dependencies (a
reasonable amount of non-critical in FTBFS state might be tolerable)
* Build in a "side tag" to prevent dependencies from failing and
rollout once stable
* Prepare Pull requests in Rawhide
* Merge and build into a "side tag"
* Once stable merge into Rawhide
== Feedback ==
== Benefit to Fedora ==
The latest stable software is used by Fedora users, providing
additional features and fixes.
== Scope ==
* Proposal owners:
**Prepare PostgreSQL 15
**Prepare PostgreSQL 14 as a module for Rawhide
**Check software that requires or depends on `postgresql-server` or
`libpq` packages for incompatibilities
**Build PostgreSQL 15 (postgresql and libpq) to Rawhide
**Rebuild depended on packages against PostgreSQL 15
**Gather user input on the changes between PostgreSQL 14 and PostgreSQL 15
* Other developers: N/A
* Release engineering:
* Policies and guidelines: N/A (not a System Wide Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
The PostgreSQL client library (libpq component) is compatible. So,
there shouldn't be any compatibility issues, but rebuilding the
dependent components is recommended.
Server plugins might require a newer version update because they
sometimes have explicit server requirements. PostgreSQL maintainer
will help fix/rebuild any issues in the plugins.
How to upgrade your database data from one PostgreSQL release to a
newer one is described in
[https://www.postgresql.org/docs/15/upgrading.html Upgrading a
PostgreSQL Cluster]
== How To Test ==
Usual testing when upgrading between major PostgreSQL versions is
running `postgresql-setup --upgrade` necessary between major versions.
Test that all other software runs well with PostgreSQL 15.
== User Experience ==
The users will have to upgrade their databases the same way as major
PostgreSQL versions, aka `postgresql-setup --upgrade` after installing
PostgreSQL 15 server packages.
If users want to stick with PostgreSQL 14 for a little longer, there
will be PostgreSQL 14 module.
== Dependencies ==
Some packages (mostly server plugins) build on top of PostgreSQL.
Since the separation of the PostgreSQL client library (libpq
component), only packages that build server plugins should use
postgresql package in BuildRequires; others should use libpq. In the
case of Postgresql-server, a rebuild should be done to make sure all
potential binary incompatibilities are handled.
* PostgreSQL server dependencies
** perl-DBD-Pg
** pgaudit
** qt
** qt3
** qt5-qtbase
** postgres-decoderbufs
** gambas3
** kdb
** kea
** libpqxx
** openvas-manager
** orafce
** pg-semver
** pgRouting
** pgadmin3
** pgsphere
** postgis
** postgresql-ip4r
** postgresql-pgpool-II
** qt3
** rdkit
** rhdb-utils
** timescaledb
** pg_repack
== Contingency Plan ==
Revert changes in the non-modular packages and provide PostgreSQL 15
as a module stream only.
== Documentation ==
Upgrade strategy: https://www.postgresql.org/docs/15/upgrading.html
== Release Notes ==
Release notes for PostgreSQL 15 release:
https://www.postgresql.org/docs/15/index.html
Overall overview of the changes and improvements:
https://www.postgresql.org/docs/15/release-15.html
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 6 months
F38 proposal: RPM Sequoia (System-Wide Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/RpmSequoia
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Summary ==
Change RPM to use [https://sequoia-pgp.org/ Sequoia] based OpenPGP
parser instead of it's own, flawed and limited implementation.
== Owner ==
* Name: [[User:pmatilai| Panu Matilainen]]
* Email: pmatilai(a)redhat.com
== Detailed Description ==
For the last 20 years or so, RPM has used a home-grown OpenPGP parser
for dealing with keys and signatures. That parser is rather infamous
for its limitations and flaws, and especially in recent years has
proven a significant burden to RPM development. In order to improve
security and free developer resources for dealing with RPM's "core
business" instead, RPM upstream is in the process of deprecating the
internal parser in favor of [https://sequoia-pgp.org/ Sequoia PGP]
based solution written in Rust.
At this point the change is mostly invisible in normal daily use.
== Feedback ==
== Benefit to Fedora ==
The main, direct benefit to Fedora is improved security and
standards-compliance (RFC-4880) in one of the corner-stones of the
whole distribution. Longer term, we can expect better error messages
and other functional improvements regarding key and signature
handling.
== Scope ==
* Proposal owners:
** Help [https://bugzilla.redhat.com/show_bug.cgi?id=2087499
package/review rpm-sequoia]
** Build rpm with --with-crypto=sequoia
** Watch out for the unexpected
* Other developers:
** Help [https://bugzilla.redhat.com/show_bug.cgi?id=2087499
package/review rpm-sequoia]
* Release engineering: [https://pagure.io/releng/issue/11077 #11077]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Objectives: N/A
== Upgrade/compatibility impact ==
Within Fedora package set, this has no impact as everything is already
using sufficiently strong crypto. Third party repositories / packages
could be signed with insecure crypto, and those may require working
around with --nosignature. However this incidentally overlaps with
https://fedoraproject.org/wiki/Changes/StrongCryptoSettings3Forewarning2
which has effectively the same effect on rpm.
== How To Test ==
In general, normal rpm/dnf use provides sufficient test coverage. For
more advanced testers: try signing and verifying with different keys
and their subkeys, using different algorithms etc.
== User Experience ==
For normal usage, the change is quite invisible. The notable exceptions are
- Some old, insecure (MD5/SHA1 based) signatures are rejected (this is
in line with the stronger crypto settings proposed elsewhere for F38)
- Key import may accept some previously rejected keys, in part due to
limitations of old parser etc but in particular, the old
implementation verifies self-signatures at import time whereas Sequoia
verifies them at time of use.
- Key import may reject some previously accepted keys due to better validation.
== Dependencies ==
The change introduces one new direct dependency:
[https://github.com/rpm-software-management/rpm-sequoia/ rpm-sequoia].
The rpm-sequoia package also takes over other crypto besides OpenPGP,
currently Sequoia uses nettle as its low-level crypto provider, but
work is underway to
[https://gitlab.com/sequoia-pgp/sequoia/-/merge_requests/1361 support
openssl in Sequoia], and the plan is to have Sequoia in Fedora use
that once it becomes available. This plan
[https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
has support of the crypto team].
== Contingency Plan ==
* Contingency mechanism: Revert back to the internal PGP parser
* Contingency deadline: Beta release
* Blocks release? No
== Documentation ==
There's not much in the way of documentation as there's not much to
document, except for the deprecation of the internal parser:
https://github.com/rpm-software-management/rpm/issues/1935
rpm-sequoia build instructions can be found in
https://github.com/rpm-software-management/rpm-sequoia/
== Release Notes ==
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 6 months
** s390x builders Outage **
by Tomas Hrcka
There is an ongoing BOS power outage impacting s390x builders.
Reason for outage: Power outage in the DC
--
Tomas Hrcka
role: CPE Team - Senior Software Engineer
fas: humaton
freenode: jednorozec
1 year, 6 months
Orphaned packages looking for new maintainers
by Miro Hrončok
The following packages are orphaned and will be retired when they
are orphaned for six weeks, unless someone adopts them. If you know for sure
that the package should be retired, please do so now with a proper reason:
https://fedoraproject.org/wiki/How_to_remove_a_package_at_end_of_life
Note: If you received this mail directly you (co)maintain one of the affected
packages or a package that depends on one. Please adopt the affected package or
retire your depending package to avoid broken dependencies, otherwise your
package will fail to install and/or build when the affected package gets retired.
Request package ownership via the *Take* button in he left column on
https://src.fedoraproject.org/rpms/<pkgname>
Full report available at:
https://churchyard.fedorapeople.org/orphans-2022-10-10.txt
grep it for your FAS username and follow the dependency chain.
For human readable dependency chains,
see https://packager-dashboard.fedoraproject.org/
For all orphaned packages,
see https://packager-dashboard.fedoraproject.org/orphan
Package (co)maintainers Status Change
================================================================================
Falcon orphan 1 weeks ago
amora orphan 4 weeks ago
blueberry nonamedotc, orphan, rathann 4 weeks ago
brewtarget orphan 0 weeks ago
capstone orphan, rebus, ret2libc 1 weeks ago
containerd go-sig, gotmax23, orphan 0 weeks ago
csound orphan 1 weeks ago
espresso-ab avigne, orphan 5 weeks ago
geompp orphan 3 weeks ago
geteltorito orphan 4 weeks ago
giada orphan 3 weeks ago
gimp-focusblur-plugin orphan 5 weeks ago
gmqcc orphan 5 weeks ago
golang-github-beevik-etree go-sig, mgoodwin, nathans, 2 weeks ago
orphan
golang-github-crewjam-httperr go-sig, mgoodwin, nathans, 2 weeks ago
orphan
golang-github-crewjam-saml go-sig, mgoodwin, nathans, 2 weeks ago
orphan
golang-github-dchest-uniuri go-sig, mgoodwin, nathans, 2 weeks ago
orphan
golang-github-logr-stdr eclipseo, go-sig, orphan 2 weeks ago
golang-github-magefile-mage go-sig, mgoodwin, nathans, 2 weeks ago
orphan
golang-github-russellhaering- go-sig, mgoodwin, nathans, 2 weeks ago
goxmldsig orphan
golang-github-timberio-datemath go-sig, mgoodwin, nathans, 2 weeks ago
orphan
golang-github-ua-parser-uap go-sig, mgoodwin, nathans, 2 weeks ago
orphan
hct avigne, orphan 5 weeks ago
kelbt orphan 5 weeks ago
llvm11.0 orphan, tstellar 0 weeks ago
moby-engine go-sig, gotmax23, orphan 0 weeks ago
monobristol orphan 5 weeks ago
nautilus-search-tool orphan 3 weeks ago
origin go-sig, orphan, tdawson 5 weeks ago
owl-lisp huzaifas, orphan 4 weeks ago
perl-Parse-Debian-Packages orphan 5 weeks ago
php-psr-http-client orphan 5 weeks ago
pinpoint orphan 3 weeks ago
pt-astra-sans-font orphan 4 weeks ago
pt-astra-serif-font orphan 4 weeks ago
python-APScheduler orphan, zuul 1 weeks ago
python-PyRSS2Gen orphan 0 weeks ago
python-cached_property adamwill, orphan 0 weeks ago
python-charon orphan 2 weeks ago
python-coreapi orphan 5 weeks ago
python-coreschema orphan 5 weeks ago
python-drf-yasg orphan 5 weeks ago
python-hbmqtt orphan 3 weeks ago
python-hs-dbus-signature ignatenkobrain, jbaublitz, 1 weeks ago
orphan
python-itypes orphan 5 weeks ago
python-pacpy orphan 5 weeks ago
python-pecan-notario orphan 1 weeks ago
python-phabricator orphan 5 weeks ago
python-pycdlib orphan 1 weeks ago
python-pydenticon orphan 5 weeks ago
python-pytest-capturelog orphan, pviktori 5 weeks ago
python-qrencode orphan 5 weeks ago
python-yapsy orphan 0 weeks ago
qtscrob orphan 5 weeks ago
radamsa huzaifas, orphan 4 weeks ago
rubygem-hiera-eyaml orphan 5 weeks ago
rubygem-optimist orphan 5 weeks ago
scram orphan, vascom 5 weeks ago
scudcloud orphan 5 weeks ago
sgmanager orphan 5 weeks ago
shiny orphan 5 weeks ago
slv2 orphan, slaanesh 1 weeks ago
sticky-notes orphan 5 weeks ago
ufo2ft orphan 4 weeks ago
The following packages require above mentioned packages:
Report too long, see the full version at
https://churchyard.fedorapeople.org/orphans-2022-10-10.txt
See dependency chains of your packages at
https://packager-dashboard.fedoraproject.org/
See all orphaned packages at https://packager-dashboard.fedoraproject.org/orphan
Affected (co)maintainers (either directly or via packages' dependencies):
adamwill: python-cached_property, capstone
adimania: moby-engine
akoutsou: capstone
ankursinha: python-cached_property
anthr76: golang-github-logr-stdr, containerd
apevec: capstone
astepano: capstone, moby-engine
avigne: hct, espresso-ab
bcl: capstone
berrange: capstone
bnemec: capstone
bonzini: capstone
buckaroogeek: golang-github-logr-stdr, containerd
cdamian: php-psr-http-client
cleber: python-pycdlib
clumens: capstone
copr-sig: capstone
crobinso: capstone
davidsch: python-cached_property
dcantrell: capstone
dcavalca: golang-github-logr-stdr, containerd
ddd: capstone
deji: python-cached_property
dnglaze: capstone
dperpeet: capstone, moby-engine
dshea: capstone
dturecek: capstone
eclipseo: golang-github-logr-stdr, containerd, capstone
elmarco: golang-github-logr-stdr, containerd
eparis: golang-github-logr-stdr, containerd
ericb: capstone
error: python-cached_property
etrunko: capstone
f1ash: capstone
fab: python-cached_property
fpokorny: containerd
frostyx: capstone
gicmo: capstone
go-sig: golang-github-beevik-etree, golang-github-russellhaering-goxmldsig,
golang-github-magefile-mage, containerd, golang-github-crewjam-httperr,
golang-github-ua-parser-uap, golang-github-logr-stdr,
golang-github-dchest-uniuri, capstone, golang-github-crewjam-saml, moby-engine,
golang-github-timberio-datemath, origin
gotmax23: golang-github-logr-stdr, containerd, moby-engine
gsauthof: python-cached_property
hno: capstone
hobbes1069: capstone
huzaifas: radamsa, owl-lisp
ignatenkobrain: python-drf-yasg, python-itypes, python-coreschema,
python-hs-dbus-signature, python-cached_property, python-coreapi
imcleod: capstone
infra-sig: containerd
iztokf: python-cached_property
jamatos: python-yapsy, python-PyRSS2Gen
jbaublitz: python-hs-dbus-signature
jchaloup: golang-github-logr-stdr, containerd
jforbes: capstone
jkastner: capstone
jngrad: python-cached_property
jsanders: python-cached_property
juergh: capstone
junghans: python-cached_property
jussilehtola: python-cached_property
kde-sig: capstone
kevin: capstone
kkoukiou: capstone
laine: capstone
larsu: capstone
lbazan: python-cached_property
libvirt-maint: capstone
llaumgui: php-psr-http-client
lnie: capstone
lsm5: golang-github-logr-stdr, containerd, python-cached_property, moby-engine
martinpitt: capstone
mattia: containerd
maxamillion: python-yapsy, python-PyRSS2Gen
mburns72h: capstone
mcascella: capstone
mdbooth: capstone
merlinm: python-pycdlib, capstone, moby-engine
mgoodwin: golang-github-beevik-etree, golang-github-russellhaering-goxmldsig,
golang-github-magefile-mage, golang-github-crewjam-httperr,
golang-github-ua-parser-uap, golang-github-dchest-uniuri,
golang-github-crewjam-saml, golang-github-timberio-datemath
mikem: capstone
mikep: capstone
mmarusak: capstone
myoung: capstone
nathans: golang-github-beevik-etree, golang-github-russellhaering-goxmldsig,
golang-github-magefile-mage, golang-github-crewjam-httperr,
golang-github-ua-parser-uap, golang-github-dchest-uniuri,
golang-github-crewjam-saml, golang-github-timberio-datemath
neuro-sig: python-cached_property
ngompa: python-drf-yasg, python-itypes, python-coreschema, capstone, python-coreapi
nonamedotc: blueberry
obudai: capstone
ochosi: capstone
olem: golang-github-logr-stdr, containerd
openstack-sig: capstone
orion: python-cached_property
osbuild-sig: capstone
pabelanger: capstone
packit: capstone
praiskup: capstone
puiterwijk: capstone
pviktori: python-pytest-capturelog
python-packagers-sig: python-cached_property
quintela: capstone
qulogic: python-cached_property, capstone
raphgro: capstone
rathann: blueberry
rebus: capstone
remi: php-psr-http-client
ret2libc: capstone
rjones: capstone
rmattes: capstone
sergiopr: python-cached_property
siwinski: php-psr-http-client
slaanesh: slv2
slagle: capstone
slp: capstone
stevetraylen: python-cached_property
strigazi: golang-github-logr-stdr, containerd
supakeen: python-cached_property
swt2c: python-cached_property
tdawson: rubygem-optimist, origin
tdecacqu: capstone
terjeros: python-cached_property
tlavocat: capstone
tomegun: capstone
tstclair: golang-github-logr-stdr, containerd
tstellar: llvm11.0
ttomecek: python-cached_property, python-pytest-capturelog
valtri: rubygem-optimist
vascom: capstone, scram
veillard: capstone
victortyau: python-cached_property
virtmaint-sig: capstone
wwoods: capstone
yanqiyu: containerd
zbyszek: python-cached_property, capstone
zuul: capstone, python-APScheduler
--
The script creating this output is run and developed by Fedora
Release Engineering. Please report issues at its pagure instance:
https://pagure.io/releng/
The sources of this script can be found at:
https://pagure.io/releng/blob/main/f/scripts/find_unblocked_orphans.py
Report finished at 2022-10-10 01:22:56 UTC
1 year, 6 months
F38 proposal: Deprecate python-toml (Self-Contained Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Summary ==
The {{package|python-toml}} (`python3-toml`) package will be
[https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-pac...
deprecated] in [[Releases/38|Fedora 38]]. The
[https://pypi.org/project/toml/ upstream toml package] is considered
unmaintained (see [[#Detailed_Description|description]]) and Python
3.11 contains [https://peps.python.org/pep-0680/ a TOML-reading
library in the standard library]. Existing Fedora packages depend on
{{package|python-toml}}, so we cannot remove it yet. Packagers are
encouraged to work with upstreams to switch to
[https://peps.python.org/pep-0680/
tomllib]/[https://pypi.org/project/tomli/ tomli] for reading toml or
[https://pypi.org/project/tomli/ tomli-w] for writing it. But
{{package|python-toml}} remains available until it is a leaf package,
it will be removed then (possibly not yet in Fedora 38).
== Owner ==
* Name: [[User:Churchyard|Miro Hrončok]]
* Email: mhroncok(a)redhat.com
== Detailed Description ==
The {{package|python-toml}} package is [https://pypi.org/project/toml/
unmaintained upstream]. It does not support the latest TOML standard
and no longer releases newer versions.
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 `python3-toml`, hence we want to have it
[https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-pac...
deprecated]. No new packages that require it may be added to Fedora
and existing packages may not gain new dependencies on it. Requiring
it only `if python3 < 3.11` or similar is allowed because python3 on
Fedora 38 is 3.11.
Packagers are encouraged to switch to an alternative TOML library with
upstream involvement. Downstream-only patches to switch are not
encouraged. Change owners recommend the following alternatives:
* Use the [https://docs.python.org/3.11/library/tomllib.html tomllib]
module from the standard library to read TOML with Python 3.11+.
* Use the {{package|python-tomli}} package to read TOML with an older
version of Python. The `tomllib` module has started as `tomli` and
they share the same API except for the module name.
* Use the {{package|python-tomli-w}} package to write TOML.
Note that <code>repoquery</code> gives many packages depending on
`python3-toml`:
$ repoquery --repo=rawhide{,-source} --whatrequires python3-toml | wc -l
443
This is because many packages BuildRequire `(python3dist(toml) if
python3-devel < 3.11)` due to {{package|pyproject-rpm-macros}}.
$ repoquery --repo=rawhide{,-source} --whatrequires
'(python3dist(toml) if python3-devel < 3.11)' | wc -l
413
The change owners don't know how to
[https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
easily filter them out], but when filtered the hard way, this remains:
(Results from 2022-10-05, may contain false positives.)
$ for pkg in $(repoquery --repo=rawhide{,-source} --whatrequires
python3-toml); do repoquery -q --repo=rawhide{,-source} --requires
$pkg | grep -Fv '(python3dist(toml) if python3-devel < 3.11)' | grep
-Eq '(\(|-)toml\b' && echo $pkg; done
academic-admin-0:0.5.1-10.fc37.noarch
academic-admin-0:0.5.1-10.fc37.src
bandit-0:1.7.4-3.fc37.src
bst-external-0:0.29.0-1.fc38.src
cvc4-0:1.8-12.fc37.src
fedora-license-data-0:1.5-1.fc38.src
fedora-messaging-0:3.1.0-5.fc38.src
gi-docgen-0:2022.1-7.fc38.noarch
gi-docgen-0:2022.1-7.fc38.src
jrnl-0:3.0-3.fc37.src
micropipenv-0:1.4.2-1.fc37.noarch
pre-commit-0:2.20.0-2.fc37.noarch
pre-commit-0:2.20.0-2.fc37.src
pylint-0:2.14.4-3.fc37.src
python-anyconfig-0:0.13.0-3.fc37.src
python-anymarkup-0:0.8.1-10.fc37.src
python-anymarkup-core-0:0.8.1-9.fc37.src
python-ast-monitor-0:0.2.1-1.fc38.src
python-asttokens-0:2.0.8-1.fc38.src
python-autopep8-0:1.6.0-5.fc37.src
python-botocore-0:1.27.86-1.fc38.src
python-box-0:6.0.2-1.fc38.src
python-build-0:0.8.0-4.fc37.src
python-check-manifest-0:0.48-3.fc37.src
python-deepdiff-0:5.8.2-2.fc37.src
python-devicely-0:1.1.1-3.fc37.src
python-elpy-0:1.34.0-8.fc37.src
python-exoscale-0:0.7.1-4.fc37.src
python-fasjson-client-0:1.0.7-5.fc38.src
python-fireflyalgorithm-0:0.3.2-2.fc37.src
python-interrogate-0:1.5.0-4.fc37.src
python-jsonpickle-0:2.2.0-4.fc37.src
python-lsp-black-0:1.2.0-3.fc37.src
python-matrix-nio-0:0.19.0-6.fc38.src
python-molecule-podman-0:1.0.1-4.fc37.src
python-neurom-0:3.1.0-5.fc37.src
python-niaaml-0:1.1.11-1.fc38.src
python-niaarm-0:0.2.1-2.fc38.src
python-niaclass-0:0.1.2-8.fc37.src
python-nikola-0:8.2.2-4.fc37.src
python-pendulum-0:2.1.2-8.fc37.src
python-podman-3:4.2.0-7.fc38.src
python-pyedflib-0:0.1.30-2.fc37.src
python-pyqt-feedback-flow-0:0.1.6-3.fc37.src
python-rich-0:12.6.0-1.fc38.src
python-rst-linker-0:2.3.1-1.fc38.src
python-sklearn-nature-inspired-algorithms-0:0.9.0-3.fc37.src
python-sport-activities-features-0:0.3.6-1.fc38.src
python-stochastic-0:0.7.0-2.fc37.src
python-toml-adapt-0:0.2.7-3.fc37.src
python-usort-0:0.6.3-7.fc37.src
python-vulture-0:2.6-1.fc38.src
python3-anymarkup-0:0.8.1-10.fc37.noarch
python3-autopep8-0:1.6.0-5.fc37.noarch
python3-box-0:6.0.2-1.fc38.noarch
python3-exoscale-0:0.7.1-4.fc37.noarch
python3-fasjson-client-0:1.0.7-5.fc38.noarch
python3-fedora-messaging-0:3.1.0-5.fc38.noarch
python3-interrogate-0:1.5.0-4.fc37.noarch
python3-jaraco-functools-0:3.5.2-1.fc38.noarch
python3-jinja2-cli-0:0.8.2-3.fc37.noarch
python3-lsp-black-0:1.2.0-3.fc37.noarch
python3-nikola-0:8.2.2-4.fc37.noarch
python3-podman-3:4.2.0-7.fc38.noarch
python3-sklearn-nature-inspired-algorithms-0:0.9.0-3.fc37.noarch
python3-toml-adapt-0:0.2.7-3.fc37.noarch
python3-usort-0:0.6.3-7.fc37.noarch
python3-vulture-0:2.6-1.fc38.noarch
rpmlint-0:2.2.0-7.fc38.noarch
rpmlint-0:2.2.0-7.fc38.src
sip6-0:6.6.2-2.fc37.src
sip6-0:6.6.2-2.fc37.x86_64
teampulls-0:0.2.2-10.fc37.noarch
trac-tracnav-plugin-0:4.3-7.fc37.src
=== List of components still (Build)Requiring python3-toml ===
* {{package|academic-admin}}
* {{package|bandit}}
* {{package|bst-external}}
* {{package|cvc4}}
* {{package|fedora-license-data}} (false positive, dependency
conditional on python3 < 3.11)
* {{package|fedora-messaging}}
* {{package|gi-docgen}}
* {{package|jrnl}}
* {{package|micropipenv}} (already fixed in the meantime)
* {{package|pre-commit}}
* {{package|pylint}}
* {{package|python-anyconfig}}
* {{package|python-anymarkup}}
* {{package|python-anymarkup-core}}
* {{package|python-ast-monitor}}
* {{package|python-asttokens}}
* {{package|python-autopep8}}
* {{package|python-botocore}}
* {{package|python-box}}
* {{package|python-build}}
* {{package|python-deepdiff}}
* {{package|python-devicely}}
* {{package|python-elpy}}
* {{package|python-exoscale}}
* {{package|python-fasjson-client}}
* {{package|python-fireflyalgorithm}}
* {{package|python-check-manifest}}
* {{package|python-interrogate}}
* {{package|python-jaraco-functools}} (superfluous,
[https://src.fedoraproject.org/rpms/python-jaraco-functools/pull-request/5
proposed fix])
* {{package|python-jinja2-cli}}
* {{package|python-jsonpickle}}
* {{package|python-lsp-black}}
* {{package|python-matrix-nio}}
* {{package|python-molecule-podman}}
* {{package|python-neurom}}
* {{package|python-niaaml}}
* {{package|python-niaarm}}
* {{package|python-niaclass}}
* {{package|python-nikola}}
* {{package|python-pendulum}}
* {{package|python-podman}}
* {{package|python-pyedflib}}
* {{package|python-pyqt-feedback-flow}}
* {{package|python-rich}}
* {{package|python-rst-linker}}
* {{package|python-sklearn-nature-inspired-algorithms}}
* {{package|python-sport-activities-features}}
* {{package|python-stochastic}}
* {{package|python-toml-adapt}}
* {{package|python-usort}}
* {{package|python-vulture}}
* {{package|rpmlint}} (already fixed in the meantime)
* {{package|sip6}}
* {{package|teampulls}}
* {{package|trac-tracnav-plugin}}
Once all dependencies are removed, we plan to retire
{{package|python-toml}}, whether it will be in Fedora 38 (unlikely) or
later.
=== Migrating to tomllib ===
* Remove any `toml` requirements from upstream metadata.
* Change all `toml` imports to `tomllib` imports.
* Change all references of `TomlDecodeError` to `TOMLDecodeError`.
* Open files in binary mode, if passing file objects to `tomllib.load()`.
=== Migrating to tomli ===
* Change any `toml` requirements in upstream metadata to `tomli`.
* Change all `toml` imports to `tomli` imports.
* Change all references of `TomlDecodeError` to `TOMLDecodeError`.
* Open files in binary mode, if passing file objects to `tomli.load()`.
=== Migrating to tomllib on Python 3.11+ and falling back to tomli ===
* Change any `toml` requirements in upstream metadata to
`tomli;python_version<"3.11"`.
* Change all `toml` imports to `sys.version_info`-conditional or `try:
except ImportError:` `tomli`/`tomllib` imports.
* Change all references of `TomlDecodeError` to `TOMLDecodeError`.
* Open files in binary mode, if passing file objects to `tomllib.load()`.
Example of importing:
try:
import tomllib
except ImportError:
import tomli as tomllib
Or:
if sys.version_info < (3, 11):
import tomli as tomllib
else:
import tomllib
Upstream example: https://github.com/pytest-dev/pytest/pull/9741
A more complex example that also falls back to `toml` on Python 2.7 or
3.6: https://github.com/tox-dev/tox/pull/2463
A more complex example that supports `pytoml`, `toml`, `tomli` and
`tomllib`: https://github.com/thoth-station/micropipenv/pull/241
=== Migrating to tomllib on Python 3.11+ and falling back to toml ===
Despite `toml` not being maintained upstream, it exists in EPEL 8,
unlike `tomli` (currently).
Some Fedora-upstream projects might need to migrate to `tomllib` but
keep using `toml` on older Pythons.
* Change any `toml` requirements in upstream metadata to
`toml;python_version<"3.11"`.
* Change all `toml` imports to `sys.version_info`-conditional or `try:
except ImportError:` `tomli`/`tomllib` imports.
* Change all references of `TomlDecodeError` to `TOMLDecodeError`
depending on what was imported.
* Open files in binary/text mode depending on what was imported.
try:
import tomllib as toml_module
toml_mode = "rb"
toml_exception = toml_module.TOMLDecodeError
except ImportError:
import toml as toml_module
toml_mode = "r"
toml_exception = toml_module.TomlDecodeError
with open(..., toml_mode) as f:
try:
_ = toml_module.load(f)
except toml_exception as e:
...
Example upstream PR: https://github.com/fedora-infra/fedora-messaging/pull/274
=== Migrating to tomli-w ===
* Change any `toml` requirements in upstream metadata to `tomli-w`.
* Change all `toml` imports to `tomli_w` imports.
* Open files in binary mode, if passing file objects to `tomli_w.dump()`.
A more complex example that migrates to `tomli`, `tomllib` and
`tomli-w`: https://github.com/rpm-software-management/rpmlint/pull/905
== Feedback ==
== Benefit to Fedora ==
An upstream dead package will not be depended upon by new packages.
== Scope ==
* Proposal owners: Deprecate `python3-toml`. Work with packagers and
upstream developers to remove the dependency. Monitor the remaining
dependent packages and eventually retire {{package|python-toml}}
(unlikely in Fedora 38).
* Other developers: No action needed. Don't add new dependencies on
`python3-toml`.
* Release engineering: N/A (not a System Wide Change)
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Objectives:
== Upgrade/compatibility impact ==
The package will remain available. Only new packages cannot depend on it.
Once retired, we don't plan to provide <code>python3-toml</code> from
`python3-libs` or `python3-tomli`, because it cannot work as a drop-in
replacement (the Python module has a different name and slightly
different API). The package will eventually be obsoleted by
{{package|fedora-obsolete-packages}} once retired, but that is
unlikely to happen soon.
== How To Test ==
$ repoquery --repo=rawhide --provides python3-toml
...
deprecated()
...
== User Experience ==
No changes.
== Dependencies ==
N/A (not a System Wide Change)
== Contingency Plan ==
* Contingency mechanism: revert the deprecation
* Contingency deadline: Final Freeze
* Blocks release? No
== Documentation ==
N/A (not a System Wide Change)
== Release Notes ==
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 6 months