Bug 2295924 - Bump F39 and EPEL to >=4.9.0
Summary: Bump F39 and EPEL to >=4.9.0
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-typing-extensions
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Jonny Heggheim
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-05 09:37 UTC by Cristian Le
Modified: 2024-09-22 15:06 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-09-22 15:06:39 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Cristian Le 2024-07-05 09:37:27 UTC
In 4.9.0 the `deprecated` decorator was introduced as the final form in PEP702 [1]. This one is important to update because unlike other parts of the package, this has a runtime component and cannot be guarded by `if TYPE_CHECKING`.

This will become a major blocker as people start using this feature to advertise deprecated APIs.

[1]: https://typing-extensions.readthedocs.io/en/latest/#typing_extensions.deprecated

Reproducible: Always

Comment 1 Ben Beasley 2024-07-05 23:03:23 UTC
I just proposed and impact-checked such an update in https://src.fedoraproject.org/rpms/python-typing-extensions/pull-request/16.

Comment 2 Ben Beasley 2024-07-05 23:15:20 UTC
(In reply to Ben Beasley from comment #1)
> I just proposed and impact-checked such an update in
> https://src.fedoraproject.org/rpms/python-typing-extensions/pull-request/16.

That’s for EPEL9 only.

I tried building the 4.9.0 package from F40 in F39, but:

======================================================================
FAIL: test_generic_protocols_special_from_protocol (test_typing_extensions.ProtocolTests.test_generic_protocols_special_from_protocol)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/typing_extensions-4.9.0/src/test_typing_extensions.py", line 3061, in test_generic_protocols_special_from_protocol
    self.assertEqual(typing_extensions._get_protocol_attrs(PR), {'x'})
AssertionError: Items in the first set but not the second:
'__non_callable_proto_members__'

----------------------------------------------------------------------
Ran 390 tests in 0.162s

In fact, the package already FTBFS in both F39 and F40 for that reason!

Maybe we should consider updating both F40 and F39 to the latest releases as I proposed for EPEL9, if we can show a clean impact check. The Rawhide branch does build in F40 and F39, and no dependent package has an incompatible version bound, so it’s probably feasible. I’d like to hear from one of this package’s usual maintainers before spending time on the impact checks, though.

Comment 3 Jonny Heggheim 2024-07-06 08:10:00 UTC
It would be great to have feedback from package maintainers for packages that depends on python-typing-extensions in F39 and F40 before bumping to latest release.

Comment 4 Ben Beasley 2024-07-06 13:13:59 UTC
I am not sure how you would prefer to collect that feedback, but here are the lists of directly-dependent packages.

$ fedrq wrsrc -s python-typing-extensions -b f39 -F name
RBTools
hyfetch
ipython
kiwi
matrix-synapse
numpy
onnx
pylint
python-aiohttp
python-aiosqlite
python-alembic
python-arviz
python-asyncssh
python-aw-client
python-aws-sam-translator
python-azure-ai-formrecognizer
python-azure-ai-textanalytics
python-azure-core
python-azure-eventhub
python-azure-keyvault-administration
python-azure-keyvault-certificates
python-azure-keyvault-keys
python-azure-keyvault-secrets
python-azure-servicebus
python-azure-storage-blob
python-bravado
python-chalice
python-coincidence
python-docx
python-dogpile-cache
python-domdf-python-tools
python-ezdxf
python-fastapi
python-flexparser
python-formulaic
python-hypothesis
python-injector
python-janus
python-jira
python-libcst
python-limits
python-openapi-core
python-opentelemetry
python-pdir2
python-psycopg3
python-pydantic
python-pydata-sphinx-theme
python-pytest-bdd
python-pytools
python-qrcode
python-qudida
python-reactivex
python-setuptools-rust
python-setuptools_scm
python-specfile
python-starlette
python-streamlink
python-swagger-spec-validator
python-textual
python-trezor
python-twisted
python-typer
python-typing-inspect
python3-mypy
ruff-lsp

$ fedrq wrsrc -s python-typing-extensions -b f40 -F name
RBTools
hyfetch
ipython
matrix-synapse
numpy
onnx
pylint
python-aiohttp
python-aiostream
python-alembic
python-arviz
python-asyncssh
python-aw-client
python-aws-sam-translator
python-azure-ai-formrecognizer
python-azure-ai-textanalytics
python-azure-core
python-azure-keyvault-administration
python-azure-keyvault-certificates
python-azure-keyvault-keys
python-azure-keyvault-secrets
python-azure-monitor-query
python-azure-servicebus
python-azure-storage-blob
python-bravado
python-can
python-cattrs
python-chalice
python-chalice
python-coincidence
python-docx
python-dogpile-cache
python-domdf-python-tools
python-efel
python-ezdxf
python-fastapi
python-flexparser
python-formulaic
python-huggingface-hub
python-hypothesis
python-injector
python-janus
python-jira
python-libcst
python-limits
python-llama-cpp-python
python-opentelemetry
python-opentelemetry-contrib
python-pdir2
python-pydantic
python-pydantic-core
python-pydata-sphinx-theme
python-pytest-bdd
python-pytools
python-qrcode
python-qudida
python-rdflib
python-reactivex
python-selenium
python-setuptools-rust
python-setuptools_scm
python-specfile
python-sqlalchemy
python-starlette
python-streamlink
python-stripe
python-superqt
python-swagger-spec-validator
python-textual
python-torch
python-trezor
python-twisted
python-typer
python-typing-inspect
python-utils
python3-mypy
ruff-lsp

As maintainer or regular co-maintainer of python-aiohttp, python-aws-sam-translator, python-cattrs, python-docx, python-ezdxf, python-fastapi, python-flexparser, python-formulaic, python-limits (retired in Rawhide), python-opentelemetry, python-opentelemetry-contrib, python-pydantic, python-pydantic-core, python-pytest-bdd, python-starlette, and python-typer, I’m not too worried about a python-typing-extensions update as long as the packages build with their tests passing. In fact, I would be at least as worried something breaking from not updating (because a dependency update starts relying on newer additions to typing-extensions without realizing and documenting it) as I would be about an allegedly-compatible typing-extensions update accidentally breaking something directly – although anything is always possible. Obviously, I can’t speak for all the packages on the list.

Comment 5 Jonny Heggheim 2024-07-06 20:53:12 UTC
Thanks for your feedback, that is good enough for me.

Comment 6 Jonny Heggheim 2024-07-07 13:31:46 UTC
Please test and give feedback for the updates:

F39: https://bodhi.fedoraproject.org/updates/FEDORA-2024-cbf89bbc2e
F40: https://bodhi.fedoraproject.org/updates/FEDORA-2024-e7ab1d448d

Comment 7 Ben Beasley 2024-07-07 13:47:49 UTC
(In reply to Jonny Heggheim from comment #6)
> Please test and give feedback for the updates:
> 
> F39: https://bodhi.fedoraproject.org/updates/FEDORA-2024-cbf89bbc2e
> F40: https://bodhi.fedoraproject.org/updates/FEDORA-2024-e7ab1d448d

Oof, I was prepared to do a COPR impact check in each branch before shipping, if there was interest in doing the update. I’ll go ahead and start those impact checks and report back.

Comment 8 Ben Beasley 2024-07-07 15:36:15 UTC
https://copr.fedorainfracloud.org/coprs/music/pydantic-f40/packages/
https://copr.fedorainfracloud.org/coprs/music/pydantic-f39/packages/

python-hypothesis FTBFS in F40 and F39 (“ERROR tests/ghostwriter/test_expected_output.py - AttributeError: 'NoneType'”), but similar pre-existing errors can be observed in Koschei: https://koschei.fedoraproject.org/package/python-hypothesis?collection=f40 https://koschei.fedoraproject.org/package/python-hypothesis?collection=f39

python-pydantic FTBFS in F40 with test failures related to email validation; this is also pre-existing, and it looks like I accidentally broke this with https://bodhi.fedoraproject.org/updates/FEDORA-2024-c73a20b184, and I can fix it by updating python-pydantic 2.8.2 in F40 (almost ready)

python-qrcode FTBFS in F40 and F39 with a test failure in ScriptTest.test_piped, but Koschei shows this to be pre-existing: https://koschei.fedoraproject.org/package/python-qrcode?collection=f40 https://koschei.fedoraproject.org/package/python-qrcode?collection=f39

python-setuptools-rust FTBFS in F40 and F39 with a test failure “FAILED tests/test_extension.py::test_metadata_cargo_log - assert 'TRACE cargo...”, which Koschei shows to be pre-existing in at least F40: https://koschei.fedoraproject.org/package/python-setuptools-rust?collection=f40

python-torch FTBFS in F40 (and is not present in F39) because of some kind of issue fetching the pocketfft-076cb3d.tar.gz and pthreadpool-4fe0e1e.tar.gz sources while building the source RPM. This is extremely weird but unrelated. I’m just going to assume that it would probably be OK.

python-twisted FTBFS in F40 and F39 with test failures in twisted.web.test.test_flatten.FlattenerErrorTests.test_asynchronousFlattenError and twisted.web.test.test_flatten.FlattenerErrorTests.test_cancel, but Koschei shows this to be pre-existing in at least F40: https://koschei.fedoraproject.org/package/python-twisted?collection=f40

Overall, I did not observe any regressions that could be attributed to the update.


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