Hi,
I screwed up python-async-timeout in Fedora 34 by pushing it from 3.x to 4.x. I should not have bumped the major without significant more testing and talking to people. I rushed it through and caused lots of breakage.
So first, I really do want to apologise for the mess I caused. And I'll make sure it won't happen again. I will do some community service by doing a bunch of outstanding package reviews we currently have open.
The biggest issues is breaking python-aiohttp. I've spend some time in looking at bumping python-aiohttp to 3.8.x to match it up with python-async-timeout 4, but both the python-aiohttp test cases fail as well as my own $dayjob code using it.
There are a four more (known) packages that fail based on the API change that could probably be fixed, but there would also be other python code outside fedora that might fail on the API change. And since my attempted use of the newer version of python-aiohttp in fedora 34 is also causing issues, I think the safer choice is to roll back python-async-timeout from 4.x to 3.x using Epoch.
An alternative could be to fixup python-aiohttp 3.7.x to work with async-timout 4.x, but that still involves two API changes inflicted on others as well:
- Support timeout.deadline - Port timeout.timeout property that returns a relative timeout based on the timeout object creation time to the absolute timeout.deadline instead.
Although possibly a wrapper patch could be written to handle this to give 3.x API compatibility back. But it would still require package requirements that require < 4 to be respun to allow version 4.
Another alternative is to investigate why python-aiohttp 3.8.x %check fails on wait_from() et all in f34/f35 but not in rawhide and port what is needed there back to f35/f34. I looked at this briefly, and it is not clear to me what is failing, and I would need help to look into this.
I do think undoing python-async-timeout with an Epoch is ugly but the best path forward. I think due to the pythondist specific requires, we would not need to carry the epoch into f35 or rawhide to preserve EVR?
I am looking for some guidance to ensure I don't break things even more and I apologise for the extra work that I have and am causing everyone.
Paul
On 18. 01. 22 21:22, Paul Wouters wrote:
Hi,
I screwed up python-async-timeout in Fedora 34 by pushing it from 3.x to 4.x. I should not have bumped the major without significant more testing and talking to people. I rushed it through and caused lots of breakage.
So first, I really do want to apologise for the mess I caused. And I'll make sure it won't happen again.
Thanks for saying this. We all screwed up something at some point.
It seems the update received negative karma in Fedora 35 -- when that happened, you should have immediately disabled autopush to Fedora 34. (I am not saying this to rub your nose in it, but rather as an advice for future-you and for others as well.)
The biggest issues is breaking python-aiohttp. I've spend some time in looking at bumping python-aiohttp to 3.8.x to match it up with python-async-timeout 4, but both the python-aiohttp test cases fail as well as my own $dayjob code using it.
There are a four more (known) packages that fail based on the API change that could probably be fixed, but there would also be other python code outside fedora that might fail on the API change. And since my attempted use of the newer version of python-aiohttp in fedora 34 is also causing issues, I think the safer choice is to roll back python-async-timeout from 4.x to 3.x using Epoch.
...
I do think undoing python-async-timeout with an Epoch is ugly but the best path forward. I think due to the pythondist specific requires, we would not need to carry the epoch into f35 or rawhide to preserve EVR?
No, I don't think we need to carry the epoch to F35 and rawhide. Distro upgrades happens with distro-sync.
I am looking for some guidance to ensure I don't break things even more and I apologise for the extra work that I have and am causing everyone.
My guidance: Open a Pull Request with the revert+epoch and share the link here.
Thank you!
On Wed, 19 Jan 2022, Miro Hrončok wrote:
It seems the update received negative karma in Fedora 35 -- when that happened, you should have immediately disabled autopush to Fedora 34. (I am not saying this to rub your nose in it, but rather as an advice for future-you and for others as well.)
Yes indeed. I'll pay more attention to that from now on as well.
No, I don't think we need to carry the epoch to F35 and rawhide. Distro upgrades happens with distro-sync.
That's what I thought...
I am looking for some guidance to ensure I don't break things even more and I apologise for the extra work that I have and am causing everyone.
My guidance: Open a Pull Request with the revert+epoch and share the link here.
Done: https://src.fedoraproject.org/rpms/python-async-timeout/pull-request/2
Thanks,
Paul
python-devel@lists.fedoraproject.org