Hi all,
Davide recently updated python-fixit, and the new version introduced an ungated requirement on 'importlib-resources', which is only needed on Python 3.6 and below; this caused an FTI as nothing satisfies that dependency:
https://bugzilla.redhat.com/show_bug.cgi?id=2021229
To our surprise, patching requirements.txt to have
importlib-resources>=5.1.2; python_version <= '3.6'
per PEP 508 (which is a fix we can upstream) does not actually work.
cf: https://www.python.org/dev/peps/pep-0508/#examples
We're working around it by patching out this line completely, which does work as expected, but:
1. should we support this conditional 2. where should we file this RFE?
Thanks,
I know this pattern works in general, because I maintain several Python packages in which it is used.
I tried modifying python-fixit to patch requirements.txt as you described. I confirmed the line appeared in the “prepped” source as you have written. Then I built it with mock and installed it into a Rawhide chroot without difficulty.
My best guess is that there was a mix-up in which RPM version you were trying to install—something that’s probably happened to all of us. Perhaps you built it in Rawhide and didn’t use --enablerepo=local when testing the installation?
Anyway, if you can reproduce the problem again, please consider doing so in a PR against your package, so that others can check out the PR and examine the exact spec file that is not working.
A side note: since, for example, Python 3.6.1 is not “<= '3.6'”, I think this conditional would be better written as “< '3.7'” instead.
On 11/11/21 18:46, Michel Alexandre Salim wrote:
Hi all,
Davide recently updated python-fixit, and the new version introduced an ungated requirement on 'importlib-resources', which is only needed on Python 3.6 and below; this caused an FTI as nothing satisfies that dependency:
https://bugzilla.redhat.com/show_bug.cgi?id=2021229
To our surprise, patching requirements.txt to have
importlib-resources>=5.1.2; python_version <= '3.6'
per PEP 508 (which is a fix we can upstream) does not actually work.
cf: https://www.python.org/dev/peps/pep-0508/#examples
We're working around it by patching out this line completely, which does work as expected, but:
- should we support this conditional
- where should we file this RFE?
Thanks,
python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-leave@lists.fedoraproject.org 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/python-devel@lists.fedoraproje... Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
On Fri, 2021-11-12 at 10:24 -0500, Ben Beasley wrote:
I know this pattern works in general, because I maintain several Python packages in which it is used.
I tried modifying python-fixit to patch requirements.txt as you described. I confirmed the line appeared in the “prepped” source as you have written. Then I built it with mock and installed it into a Rawhide chroot without difficulty.
My best guess is that there was a mix-up in which RPM version you were trying to install—something that’s probably happened to all of us. Perhaps you built it in Rawhide and didn’t use --enablerepo=local when testing the installation?
Ah, that's likely what happened. And indeed, < '3.7' is better. Thanks!
Now we have something we can upstream, while just yanking out that line likely won't fly:
https://github.com/Instagram/Fixit/pull/206
Best regards,
python-devel@lists.fedoraproject.org