Hello,
So it turns out there was two issues here:
* New "lextudio" upstream patch broke asyncio support by converting regular function returning future into awaitable function returning Future (double await needed).
I fixed the issue and send a PR upstream: https://github.com/lextudio/pysnmp/pull/24
Bug was already reported but not taken in account: https://github.com/lextudio/pysnmp/issues/19
* Upstream "lextudio" patches to fix asyncio backend (including my own PR from today) had to be merged into debian package.
I created an upstream based branch here to see what patches have been cherry-picked: https://salsa.debian.org/acecile-guest/python-pysnmp4/-/commits/4.4.12+cherry-pick-asyncio-lextudio-fixes/
And created a Debian 4.4.12-3 release so I can build and test the package: https://salsa.debian.org/acecile-guest/python-pysnmp4/-/commit/a5f17d27c7813dbdb64cdf674d1855a77c3eb0f0
I'll now try to reach Debian Python team to see if we should proceed further.
Regards, Adam.
On 9/12/23 18:16, Adam Cecile wrote:
Hello,
No hurry, I think we might want to wait for upstream to respond to my PR regarding double awaitable fix.
It is indeed lextudio upstream that took over the PySNMP package and all patches are coming from us (except mine ofc).
Regards, Adam.
Because it messes up the order in which people normally read text.
Why is top-posting such a bad thing?
Top-posting.
What is the most annoying thing in e-mail?
Thanks! :)
I tried applying your patch at https://salsa.debian.org/acecile-guest/python-pysnmp4/-/commit/88d40f1225de8f7b42413b56206b41a6155fcf09
Unfortunately, it doesn't apply on top of 4.4.12-2, which is the current version of the package (in Bookworm, Unstable and Testing).
Would you be able to rebase your patch on top of 4.4.12-2? Then I'll do the work to get this into Bookworm (and Unstable/Testing).
Cheers,
Thomas Goirand (zigo)
Yes that's expected. This commit is only to fix double awaitable "new" upstream bug. It depends on a large amount of backported commits to fix asyncio / Python 3.11 support.
You can see here a branch created from upstream 4.4.12 tag with asyncio patches cherry-pick from new upstream master:
It has then been squashed into a single debian/patch:
I made my own forked repository because I'm unsure how we should proceed, but I can easily push the debian/4.4.12-3 tag to the regular Python module repository on Salsa.
Adam.