Bug 1968972 - F35FailsToInstall: python3-fastapi+all, python3-fastapi
Summary: F35FailsToInstall: python3-fastapi+all, python3-fastapi
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-fastapi
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ben Beasley
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1823140 1906349 1960609 1969145 1969166 1980746
Blocks: F35FailsToInstall PYTHON3.10 1978953 1983796
TreeView+ depends on / blocked
 
Reported: 2021-06-07 23:38 UTC by Miro Hrončok
Modified: 2021-07-27 20:39 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-07-27 20:39:08 UTC
Type: ---


Attachments (Terms of Use)

Description Miro Hrončok 2021-06-07 23:38:32 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

Your package (python-fastapi) Fails To Install in Fedora 35:

can't install python3-fastapi+all:
  - nothing provides (python3.9dist(email-validator) < 2 with python3.9dist(email-validator) >= 1.1.1) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides (python3.9dist(graphene) < 3 with python3.9dist(graphene) >= 2.1.8) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides (python3.9dist(itsdangerous) < 2 with python3.9dist(itsdangerous) >= 1.1) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides (python3.9dist(jinja2) < 3 with python3.9dist(jinja2) >= 2.11.2) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides (python3.9dist(python-multipart) < 0.0.6 with python3.9dist(python-multipart) >= 0.0.5) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides (python3.9dist(pyyaml) < 6 with python3.9dist(pyyaml) >= 5.3.1) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides (python3.9dist(requests) < 3 with python3.9dist(requests) >= 2.24) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides python3.9dist(ujson) needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  - nothing provides python(abi) = 3.9 needed by python3-fastapi+all-0.65.1-4.fc35.noarch
  
can't install python3-fastapi:
  - nothing provides python(abi) = 3.9 needed by python3-fastapi-0.65.1-4.fc35.noarch
  - nothing provides ((python3.9dist(pydantic) < 1.7 or python3.9dist(pydantic) > 1.7) with (python3.9dist(pydantic) < 1.7.1 or python3.9dist(pydantic) > 1.7.1) with (python3.9dist(pydantic) < 1.7.2 or python3.9dist(pydantic) > 1.7.2) with (python3.9dist(pydantic) < 1.7.3 or python3.9dist(pydantic) > 1.7.3) with (python3.9dist(pydantic) < 1.8 or python3.9dist(pydantic) > 1.8) with (python3.9dist(pydantic) < 1.8.1 or python3.9dist(pydantic) > 1.8.1) with python3.9dist(pydantic) < 2 with python3.9dist(pydantic) >= 1.6.2) needed by python3-fastapi-0.65.1-4.fc35.noarch
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.

P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors.

P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Miro Hrončok 2021-06-07 23:43:27 UTC
This bugzilla is likely a fallout from the Python 3.10 rebuild.

If your package (or some of the dependencies it has) failed to rebuild during the Python 3.10 rebuild, they now fail to install. To fix this, packages need to be rebuilt in Rawhide.

We will slowly triage the bugzillas, but we'd appreciate your help.

If you know this is blocked by an existing reported build failure or another package not yet rebuilt with Python 3.10, please mark it as such by using the "Depends On"/"Blocks" bugzilla fields. That will help us determine what failures to prioritize.

Thank you and sorry for the inconvenience. Let me know if you need any help.

Comment 2 Ben Beasley 2021-06-08 12:24:49 UTC
Needs python-aiofiles, which failed to rebuild for Python 3.10. See my PR https://src.fedoraproject.org/rpms/python-aiofiles/pull-request/1, which would resolve https://bugzilla.redhat.com/show_bug.cgi?id=1823140 and https://bugzilla.redhat.com/show_bug.cgi?id=1906349.

Fixing python-aiofiles would also allow dependency python-starlette to rebuild (https://bugzilla.redhat.com/show_bug.cgi?id=1969145).

Finally, this package needs python-uvicorn fixed for Python 3.10 (https://bugzilla.redhat.com/show_bug.cgi?id=1969166).

Once all that is done, this package should be OK.

Comment 3 Miro Hrončok 2021-06-15 20:49:53 UTC
Hello,

This is the first reminder (step 3 from https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs).

If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.

Comment 4 Ben Beasley 2021-06-16 00:02:48 UTC
Setting this to ASSIGNED since I am at least tracking the dependency problems, although there is little more I can do to contribute to the remaining one.

Most dependencies are now OK; all that is left is to wait for some motion on python-wsproto, either upstream or downstream, (https://bugzilla.redhat.com/show_bug.cgi?id=1949430) so python-uvicorn can be rebuilt (https://bugzilla.redhat.com/show_bug.cgi?id=1969166). See also the upstream discussion at https://github.com/python-hyper/wsproto/issues/159.

Comment 5 Lumír Balhar 2021-07-22 05:56:16 UTC
The package now also FTBFS because it requires 'python3dist(pytest-cov) >= 2.12' which is not ready yet in rawhide. PR to fix this is ready: https://src.fedoraproject.org/rpms/python-pytest-cov/pull-request/6

Comment 6 Ben Beasley 2021-07-22 12:47:30 UTC
(In reply to Lumír Balhar from comment #5)
> The package now also FTBFS because it requires 'python3dist(pytest-cov) >=
> 2.12' which is not ready yet in rawhide. PR to fix this is ready:
> https://src.fedoraproject.org/rpms/python-pytest-cov/pull-request/6

Correct, and thanks for noticing. I made that PR specifically because the latest version of FastAPI needed it, but I should have added the corresponding bug as a blocker here too.

I’ll also note that the python-wsproto FTBFS is resolved, but python-uvicorn still FTBFS due to a hanging test.

Comment 7 Ben Beasley 2021-07-23 17:20:50 UTC
I have temporarily patched uvicorn out of the “all” extra until https://bugzilla.redhat.com/show_bug.cgi?id=1969166 is resolved. It is only used in one tutorials script, and recommended as one option for production, so this isn’t a big problem.

I have loosened the version requirement on pytest-cov until https://bugzilla.redhat.com/show_bug.cgi?id=1960609 is resolved. I think that version requirement is fairly arbitrary. We don’t care about coverage analysis in the RPM tests anyway, so as long as the tests can pass, all is well.

I have patched pyproject.toml to work around https://bugzilla.redhat.com/show_bug.cgi?id=1980746 / https://github.com/tiangolo/fastapi/issues/3512 until upstream does something about it.

I have patched in upstream PR https://github.com/tiangolo/fastapi/pull/3594.patch to allow the current version of starlette.

Together, and perhaps with a small amount of additional tweaking, these changes should allow a successful build in a few days, after I update starlette to 0.16.

Quite a few entries in pyproject.toml were already adjusted to allow later versions than those pinned upstream (httpx, sqlalchemy, databases[sqlite], pytest, mkdocs-markdownextradata-plugin). In the long term (past Fedora 35), it will be hard to keep FastAPI in Fedora if upstream doesn’t start keeping up with its dependencies.

Comment 8 Ben Beasley 2021-07-27 20:39:08 UTC
A working build is now in Rawhide with workarounds as described in my previous comment.


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