Bug 2069194 - python-anyio: FTBFS in Fedora Rawhide
Summary: python-anyio: FTBFS in Fedora Rawhide
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-anyio
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Carl George 🤠
QA Contact: Fedora Extras Quality Assurance
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On:
Blocks: PYTHON3.11 F37FTBFS PYTEST7
TreeView+ depends on / blocked
 
Reported: 2022-03-28 13:00 UTC by Tomáš Hrnčiar
Modified: 2022-03-29 15:25 UTC (History)
4 users (show)

Fixed In Version: python-anyio-3.5.0-2.fc37
Clone Of:
Environment:
Last Closed: 2022-03-29 15:25:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomáš Hrnčiar 2022-03-28 13:00:21 UTC
Description of problem:
Package python-anyio fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
3.5.0-1.fc37

Steps to Reproduce:
koji build --scratch f37 python-anyio-3.5.0-1.fc37.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-anyio

Comment 1 Carl George 🤠 2022-03-28 22:05:07 UTC
This failure is due to pytest 7.  Upstream has addressed this in the 4.0-dev branch.

https://github.com/agronholm/anyio/issues/420

There hasn't been a tag on this branch yet.  I can create a snapshot build, but until python 3.11 makes it into rawhide it will require python-exceptiongroup, which hasn't been packaged yet.  I don't need this myself for any other packages that I'm aware of, so I'd prefer to wait for python 3.11.  I'd also prefer to wait and see what upstream does with the trio test requirement, because a snapshot build now will require updating python-trio to a snapshot of its exceptiongroup branch.

Comment 2 Carl George 🤠 2022-03-29 02:20:08 UTC
Hmmm, I took a look at the python 3.11 change proposal, and it sounds like that won't happen in rawhide until June or July.  That's probably too long to leave this broken.  I'll take a look at adding a python-exceptiongroup package and updating trio to a snapshot of the needed branch.

https://fedoraproject.org/wiki/Changes/Python3.11

Comment 3 Miro Hrončok 2022-03-29 09:01:43 UTC
Thanks, Carl.

FTR python-anyio -> python-httpcore -> python-dns is needed by 33 packages, 21 of which are only blocked by python-dns (we might be able to disable some extras/tests there to unblock if needed)


Have you considered just backporting https://github.com/agronholm/anyio/commit/58fcb0c495a847e2f6627ec07fe07f4dd6ae9cd9 ?

Comment 4 Miro Hrončok 2022-03-29 09:12:54 UTC
Like this: https://src.fedoraproject.org/rpms/python-anyio/pull-request/3

Comment 5 Miro Hrončok 2022-03-29 11:00:23 UTC
For Python 3.11, there's also:

=================================== FAILURES ===================================
____________________ test_wait_generator_based_task_blocked ____________________
tests/test_debugging.py:100: in test_wait_generator_based_task_blocked
    @asyncio.coroutine
E   AttributeError: module 'asyncio' has no attribute 'coroutine'
_______________________ test_cancel_generator_based_task _______________________
tests/test_taskgroups.py:812: in test_cancel_generator_based_task
    from asyncio import coroutine
E   ImportError: cannot import name 'coroutine' from 'asyncio' (/usr/lib64/python3.11/asyncio/__init__.py)

Comment 6 Miro Hrončok 2022-03-29 13:47:57 UTC
(In reply to Miro Hrončok from comment #5)
> For Python 3.11, there's also:
> 
> =================================== FAILURES
> ===================================
> ____________________ test_wait_generator_based_task_blocked
> ____________________
> tests/test_debugging.py:100: in test_wait_generator_based_task_blocked
>     @asyncio.coroutine
> E   AttributeError: module 'asyncio' has no attribute 'coroutine'
> _______________________ test_cancel_generator_based_task
> _______________________
> tests/test_taskgroups.py:812: in test_cancel_generator_based_task
>     from asyncio import coroutine
> E   ImportError: cannot import name 'coroutine' from 'asyncio'
> (/usr/lib64/python3.11/asyncio/__init__.py)


https://github.com/agronholm/anyio/issues/430
https://github.com/agronholm/anyio/pull/431
https://src.fedoraproject.org/rpms/python-anyio/pull-request/4

Comment 7 Carl George 🤠 2022-03-29 15:20:24 UTC
Awesome, thanks Miro.  When I saw upstream say that the 4.0-dev branch was needed for pytest 7 compatibility, it didn't even occur to me that the change would be simple enough to simply backport.  I've merged that PR and am building it for rawhide now.

Comment 8 Fedora Update System 2022-03-29 15:23:09 UTC
FEDORA-2022-a02b6950ce has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-a02b6950ce

Comment 9 Fedora Update System 2022-03-29 15:25:17 UTC
FEDORA-2022-a02b6950ce has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.