-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dev-python/*: bump twisted and some packages that depend on it to python 3.10 #20835
Conversation
Pull Request assignmentSubmitter: @vaartis dev-python/PySocks: @gentoo/python Linked bugsNo bugs to link found. If your pull request references any of the Gentoo bug reports, please add appropriate GLEP 66 tags to the commit message and request reassignment. If you do not receive any reply to this pull request, please open or link a bug to attract the attention of maintainers. In order to force reassignment and/or bug reference scan, please append Docs: Code of Conduct ● Copyright policy (expl.) ● Devmanual ● GitHub PRs ● Proxy-maint guide |
Did you manage to test PySocks? This bleeping thing technically requires ancient Tornado that can't work with py3.10 but you might be able to get them mostly working by collecting random patches from the Internet. I've basically started pinging people to stop using it as it's abandoned. |
(I'm entirely happy if you managed to test it locally/in venv and not bother with making the tests work inside the ebuild) |
Tested it locally with requests on both 3.8 and 3.10, both seem to work fine. |
Was able to get the tests to actually run locally, they work with 3.8 fine, in 3.10 tornado needs a single patch to run successfully and then the tests pass also. |
How much effort did you need to put into it? I'm wondering if there's a point in trying to make them ebuild-friendly after all. |
Changed the version in requirements_dev.txt for test server to 0.0.29 and after tox fetched the dependencies changed a single line in tornado from collections.MutableMapping to collections.abc.MutableMapping. That was enought for PySocks tests to pass. We'd need to bring back old tornado and old test server. Current test server is very different, they changed the whole thing in 0.0.30. |
BTW I'm surprised that Twisted works with py3.10. Back when I was doing py3.9 (and it was after py3.9 final), I had to fix a lot of issues upstream. |
Surprisingly enough, yes, it seems to work fine, except those tests that depend on warning count. Perhaps thanks to your work on 3.9, but also may be because it's a relatively recent release (just two months ago). |
8fa7a53
to
4ca432f
Compare
Good news! Jinja has just been released in Python 3.10-compatible version, and I've pushed it to ::gentoo. Please remove jinja from the PR when rebasing ;-). |
4ca432f
to
c04102d
Compare
Great. Rebased and removed it, that's one problem less. Django seems content with the new jinja version. |
d28861c
to
ed8c2ea
Compare
FYI, I've reverted asgiref because the warnings from the code break revdeps. Normally I'd say it's revdeps' fault for relying on warning-free dependencies but fighting 'fatal warnings' all over the place sounds like fighting windmills, so it's probably better to fix the issue in asgiref. |
That said, I've forced keywords on twisted, so you may want to try rebasing and seeing where we can go from there. |
Will look into it later today, probably going to also look into asigref stuff and patch whatever problems they have in their code and suggesting the patch upstream, depending on how much work it is. |
Gathered a patch for asgiref to fix all their deprecation warnings, let's see what upstream says about them. @mgorny, I saw in the bugzilla issue for alpha keywording that you have chose to instead mask 3.10 on alpha. Should I revbump all the ebuilds affected removing the keyword? |
Don't remove keywords. The mask makes them irrelevant. |
ed8c2ea
to
cc5f443
Compare
Now that upstream has approved the asgiref patches, I've re-added the ebuild here. |
e40b2b0
to
8063ab0
Compare
Pull request CI reportReport generated at: 2021-05-21 08:19 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
@@ -3,7 +3,7 @@ | |||
|
|||
EAPI=7 | |||
|
|||
PYTHON_COMPAT=( python3_{7..9} ) | |||
PYTHON_COMPAT=( python3_{7..10} ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You've lost the django dep here. But then, this makes it possible to merge it as-is for the time being, and add django when it's 3.10-ready. I'll file a bug not to forget about it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you link the bug here?
I removed it because it was broken for you, or at least seemed so, so yes, let's wait on this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry, I was wrong. I've just retested and the twisted errors/hang is happening on 3.7 too. I'm going to investigate. |
What GTK+ version do you have? |
Ok, I'm 90% convinced that it's GTK+4 getting in the way. I've unmerged it and I'm trying again. If all tests pass this time, I'm going to merge it. |
No such luck:
|
That's curious. I don't have GTK installed at all. Emerging it now just to make sure. Yep, now it hangs for me too. Seems like GTK 4 breaks the tests pretty badly. A lot of errors too. No idea how to report it upstream, their bug reporting process seems to be a bit complicated.
|
I've filed https://twistedmatrix.com/trac/ticket/10200 for GTK+4, and I'll submit a patch to force GTK+3 shortly. If I don't forget, I'm going to test git twisted against py3.10. Or you can try (uninstall gtk:4 first):
|
Thank you. I have tested the git twisted version and the test suite seems to pass fine, without GTK 4 that is. That said, I only just found out that there are two GTK packages in different categories. Turns out I did have GTK3 installed, so the tests do indeed work fine with it. |
I've applied your patch to force gtk 3 to the newest version of twisted, and also tried to apply it to an older one, however it seems that older versions' tests no longer pass at all, because dev-python/pyopenssl is too new and we only have 20.0.1 in tree. However, the code itself actually test if the function is available and if not makes it as such, so the problem only exists for one test thing, so I'll patch that one, it's a single line change.
UPD: nevermind, there's more than just that. Not sure about what to do with this. |
So you can't reproduce the segfault? |
Don't think so. It doesn't segfault for me, the test isn't skipped, and passes fine. It's very strange since it seems like a fairly simple test without any C calls or anything. |
8063ab0
to
09708eb
Compare
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
Pull request CI reportReport generated at: 2021-05-22 10:24 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
09708eb
to
2920027
Compare
Pull request CI reportReport generated at: 2021-05-22 10:34 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
2920027
to
0d389bc
Compare
Pull request CI reportReport generated at: 2021-05-22 11:14 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
So I've given it more thought and I've decided to merge it and stop blocking other packages on tornado. Worst case, other packages will hit the warnings and we'll either decide to wait or to ignore them there as well, and so on. That is, 'it' without dnspython since that still fails for me and doesn't seem to be needed for the rest. |
I see. Would be good to figure out what the problem with dnspython is.. |
I think it's related to output capture. I can get the test to pass by passing Could you try different versions of pytest, to see if this is some kind of regression? |
The only version of pytest that works with 3.10 is the latest one, others are broken on 3.10. It works on 8, 9 and 10 for me. The older versions of pytest work with 8 and 9 for me too. |
Separated from #20828, and will be rebased after it's merged. Waiting on the twisted keyword for ~alpha (https://bugs.gentoo.org/773451)