Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 929480 - dev-python/pika: needs upgrade to Python 3.12 (PythonCompatUpdate)
Summary: dev-python/pika: needs upgrade to Python 3.12 (PythonCompatUpdate)
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal
Assignee: Alexey Shvetsov
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 921826
  Show dependency tree
 
Reported: 2024-04-13 08:35 UTC by Michał Górny
Modified: 2024-08-13 19:05 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-04-13 08:35:21 UTC
This package does not support Python 3.12.  Please test it with Python 3.12 as a matter of urgency as the default will change in early June, as per message on gentoo-dev: https://www.mail-archive.com/gentoo-dev@lists.gentoo.org/msg99104.html.  Please check the information provided in the tracker.  Ask in #gentoo-python on IRC if need any help.
Comment 1 Henning Schild 2024-06-09 12:38:42 UTC
www-apps/radicale>=3.2.0 will need that
Comment 2 Henning Schild 2024-06-09 13:20:52 UTC
tried to get in touch with upstream, but their mailinglist is not open for posts

it seems that radicale is anyhow working on a way of making the dep optional, meaning that we can package radicale without pika and with a missing minor feature
Comment 3 Henning Schild 2024-06-10 10:08:02 UTC
fedora seems to use as-is for 3.12 and 3.13

https://src.fedoraproject.org/rpms/python-pika/commits/rawhide
Comment 4 Henning Schild 2024-06-10 10:11:34 UTC
Blocks: https://bugs.gentoo.org/933996
Comment 5 Luke Bakken 2024-07-01 22:46:52 UTC
Yes, Pika supports Python 3.12, but the test suite doesn't. I have created github.com/pika/pika#1474 with changes.

If someone wants to make a substantial contribution that will be very appreciated, they can convert the test suite to use pytest.

Finally, the pika-python google group is open to everyone, you just have to join the list first.
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-07-02 04:12:59 UTC
A bigger problem is that pika's test suite crashes rabbitmq-server, bug #905791.
Comment 7 Henning Schild 2024-07-02 09:52:05 UTC
The upstream changes also seem to introduce yet another python test framework "pynose" https://github.com/pika/pika/commit/c3e52491308b2da903120b028de2f68658330f52 which currently seems unavailable in gentoo.

Maybe the best way forward is to version bump and skip distro testing. Of cause not ideal, and might backfire some day.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-07-02 10:04:53 UTC
Oh my, someone revived nose...  Why not take the safe path forward and ban pika from Gentoo entirely?
Comment 9 Luke Bakken 2024-07-02 13:50:20 UTC
I had hoped that the work I did yesterday would be appreciated, but comments like "just ban Pika" prove otherwise. I chose pynose because it provided the fastest path forward to running the Pika test suite on Python 3.12.

I would investigate bug 905791 but that issue has no information with which I can work. Pika's test suite runs successfully on GitHub actions, using the latest version of RabbitMQ.

I will release Pika 1.4.0 soon, and again, if someone wants to port the test suite to pytest, it would be very welcome.
Comment 10 Henning Schild 2024-07-02 14:34:09 UTC
I think the details can be found here: https://bugs.gentoo.org/881815

But that is not a pika issue and you might have to install rabbitmq on gentoo to reproduce it. It might be an upstream rabbitmq problem, or in the way gentoo packaged that thing.

Probably not something we can ask anyone outside gentoo to look into.

To put the "drop it" into context ... inside gentoo pika is not really used internally because basically no packages depend on it.

If people still use it in their own projects as a lib, these users should be coming here since about 2 months. Because that is when python 3.12 became default and users should have "lost" that package. Maybe some are slow on updating, but so far nobody came to request the package.

Even if it would be dropped, it could come back some day. Just now it seems hardly used by gentoo users and one has to ask why to keep maintaining it.
Comment 11 Luke Bakken 2024-07-02 15:04:00 UTC
Henning - thanks for the context. I took a look at that RabbitMQ bug and noticed it is for version 3.11.2, which is out of support. The startup issue has to do with systemd notification, and honestly is something I've never seen in my tenure on the RabbitMQ team.

> Just now it seems hardly used by gentoo users and one has to ask why to keep maintaining it.

I agree, and I'm kind of surprised that Pika is part of gentoo. If a developer who uses gentoo needs Pika, they'll most likely install the library via a virtualenv.

At any rate, I will release version 1.4.0, which explicitly supports Python 3.12.
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-07-02 15:54:57 UTC
(In reply to Luke Bakken from comment #9)
> I had hoped that the work I did yesterday would be appreciated, but comments
> like "just ban Pika" prove otherwise. I chose pynose because it provided the
> fastest path forward to running the Pika test suite on Python 3.12.

I'm sorry but that doesn't help anyone at all.  We've already had to package nose2 for the 3 packages that needed it.  Now we'd effectively have to package yet another nose variant for 1 package…
Comment 13 Henning Schild 2024-07-02 21:57:51 UTC
I ran the tests of dev-python/pika-1.3.2 on python 3.12. While i did not run into https://bugs.gentoo.org/881815 i also saw a failing "import nose".

The pika ebuild is test resticted already in gentoo. Which basically means we can bump python to 3.12 without a problem. We have not been running the tests for a while and they do not work because we do not have all those "*nose*" thingys anyways. Not even talking about other "*nose*" changes that have recently been merged upstream. As far as we know from upstream and fedora 3.12 works. Distro testing not needed and not being done in gentoo anyhow.

Not that i care but i offer to propose a version bump and maybe taking over maint for pika. Keeping the test restiction in place to not end up in the "*nose*" hell.

But i would also just watch a drop from the portage tree. I just looked into all of that because of https://bugs.gentoo.org/933996, where i am confident we can get rid of a hard pika dep.
Comment 14 Henning Schild 2024-07-02 22:26:10 UTC
(In reply to Michał Górny from comment #12)
> (In reply to Luke Bakken from comment #9)
> > I had hoped that the work I did yesterday would be appreciated, but comments
> > like "just ban Pika" prove otherwise. I chose pynose because it provided the
> > fastest path forward to running the Pika test suite on Python 3.12.
> 
> I'm sorry but that doesn't help anyone at all.  We've already had to package
> nose2 for the 3 packages that needed it.  Now we'd effectively have to
> package yet another nose variant for 1 package…

I think that is not correct. The tests of dev-python/pika are restricted and have not been run on gentoo for a while. They are not maintained in gentoo and if upstream decides to pull in yet another "*nose*" we can not really tell them to not to.

I triggered Luke joining the discussion with this post https://github.com/pika/pika/issues/1470#issuecomment-2198648630 , thanks for joining Luke!