Hi everyone,

A new major version of flit and flit-core was recently released [1].
Flit documentation previously recommended that packages pin flit-core to
`<4` in pyproject.toml metadata, which many projects did. There are 152
packages in rawhide that BuildRequire 'python3dist(flit-core)'. About
80% of those pin '<4'.

Note that, according to the flit changelog,

> This version contains breaking changes, but most projects which are
already using the [project] table for metadata shouldn’t be affected,
and can simply change the flit_core <4 constraint to <5.

so for many packages, the required changes would just be changing one
character ("4" to "5") in pyproject.toml (or patching the dependencies
using the %pyproject_patch_dependency macro as described below), but for
other packages that use `[tool.flit.metadata]`, the required changes
would be more involved.

How should we handle this? A couple potential options:

1. Mass add `%pyproject_patch_dependency flit-core:drop_upper` to all
affected packages where possible. This is the most quick-n-dirty
solution, but it doesn't contribute anything back to upstream projects.
This solution also wouldn't work for packages that need to be ported
away from `[tool.flit.metadata]`. We would need to figure out how many
tool.flit.metadata users there still are and handle them separately.
2. Start an effort to patch package dependency constraints in
pyproject.toml to allow both v3 and v4 and port [tool.flit.metadata]
usage where applicable. Send the patches to upstreams. Then, upgrade
python-flit-core to v4.
3. Update python-flit-core to v4 first, add a deprecated() v3 compat
package, and then slowly on patching flit-core users and eventually
removing the compat package.

Any thoughts about these ideas or other things that I missed? It would
be nice to get this figured out before F46 branching so we don't get
stuck with an old flit in EL 11.

All the best,
Maxwell


[1] https://bugzilla.redhat.com/show_bug.cgi?id=2511191
-- 
_______________________________________________
python-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to