Bug 2389722

Summary: python-uvicorn: FTBFS in Fedora Rawhide and 43
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-uvicornAssignee: Carl George 🤠 <carl>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 43CC: carl, python-packagers-sig
Target Milestone: ---Flags: fedora-admin-xmlrpc: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-uvicorn-0.38.0-1.fc44 python-uvicorn-0.38.0-1.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-10-29 00:39:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2397064    
Bug Blocks: 2339432, 2384424, 2373702    

Description Miro Hrončok 2025-08-20 10:28:40 UTC
Description of problem:
Package python-uvicorn fails to build from source in Fedora Rawhide and 43.

Due to reasons described in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/XO5QGOXBWHFG7AOGDQBG23AQDS2MDTWI/ a rebuild of python-uvicorn is needed in Fedora Rawhide (44) and Fedora 43.

Version-Release number of selected component (if applicable):
0.35.0-5.fc43

Steps to Reproduce:
fedpkg build

=================================== FAILURES ===================================
_______________ test_log_config_default[use_colors_not_provided] _______________
[gw0] linux -- Python 3.14.0 /usr/bin/python3
mocked_logging_config_module = <MagicMock name='config' id='140478756082016'>
use_colors = None, expected = None
logging_config = {'disable_existing_loggers': False, 'formatters': {'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(level...icorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}}, ...}
    @pytest.mark.parametrize(
        "use_colors, expected",
        [
            pytest.param(None, None, id="use_colors_not_provided"),
            pytest.param("invalid", None, id="use_colors_invalid_value"),
            pytest.param(True, True, id="use_colors_enabled"),
            pytest.param(False, False, id="use_colors_disabled"),
        ],
    )
    def test_log_config_default(
        mocked_logging_config_module: MagicMock,
        use_colors: bool | None,
        expected: bool | None,
        logging_config: dict[str, Any],
    ) -> None:
        """
        Test that one can specify the use_colors option when using the default logging
        config.
        """
        config = Config(app=asgi_app, use_colors=use_colors, log_config=logging_config)
        config.load()
    
        mocked_logging_config_module.dictConfig.assert_called_once_with(logging_config)
    
        (provided_dict_config,), _ = mocked_logging_config_module.dictConfig.call_args
>       assert provided_dict_config["formatters"]["default"]["use_colors"] == expected
E       assert False == None
tests/test_config.py:333: AssertionError
______________ test_log_config_default[use_colors_invalid_value] _______________
[gw0] linux -- Python 3.14.0 /usr/bin/python3
mocked_logging_config_module = <MagicMock name='config' id='140478756087728'>
use_colors = 'invalid', expected = None
logging_config = {'disable_existing_loggers': False, 'formatters': {'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(level...icorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}}, ...}
    @pytest.mark.parametrize(
        "use_colors, expected",
        [
            pytest.param(None, None, id="use_colors_not_provided"),
            pytest.param("invalid", None, id="use_colors_invalid_value"),
            pytest.param(True, True, id="use_colors_enabled"),
            pytest.param(False, False, id="use_colors_disabled"),
        ],
    )
    def test_log_config_default(
        mocked_logging_config_module: MagicMock,
        use_colors: bool | None,
        expected: bool | None,
        logging_config: dict[str, Any],
    ) -> None:
        """
        Test that one can specify the use_colors option when using the default logging
        config.
        """
        config = Config(app=asgi_app, use_colors=use_colors, log_config=logging_config)
        config.load()
    
        mocked_logging_config_module.dictConfig.assert_called_once_with(logging_config)
    
        (provided_dict_config,), _ = mocked_logging_config_module.dictConfig.call_args
>       assert provided_dict_config["formatters"]["default"]["use_colors"] == expected
E       assert False == None
tests/test_config.py:333: AssertionError

Comment 1 Miro Hrončok 2025-08-26 11:08:43 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc2+ bytecode in Fedora 43.

The Beta Freeze of Fedora 43 is scheduled to start today. Please prioritize this bugzilla accordingly.

Thanks.

Comment 2 Carl George 🤠 2025-09-04 04:54:58 UTC
I've been looking into this one, but haven't yet been able to sort out a working build.  There is a draft PR to get the tests working on 3.14, but it hasn't been updated in 9 months and doesn't apply cleanly as a patch onto the master branch (which has other needed fixes).  If anyone can offer assistance on this one I'd be happy to take it.

Comment 3 Karolina Surma 2025-09-29 14:10:50 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc3+ bytecode in Fedora 43.

The Final Freeze of Fedora 43 is scheduled to start next week. Please prioritize this bugzilla accordingly.

Thanks.

Comment 4 Miro Hrončok 2025-10-27 18:51:41 UTC
0.38.0 was released with https://github.com/Kludex/uvicorn/pull/2723 merged.

Comment 6 Fedora Update System 2025-10-29 00:02:07 UTC
FEDORA-2025-1d00693874 (python-uvicorn-0.38.0-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-1d00693874

Comment 7 Fedora Update System 2025-10-29 00:14:58 UTC
FEDORA-2025-e01b0492b1 (python-uvicorn-0.38.0-1.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-e01b0492b1

Comment 8 Fedora Update System 2025-10-29 00:39:39 UTC
FEDORA-2025-e01b0492b1 (python-uvicorn-0.38.0-1.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Fedora Update System 2025-10-30 05:33:17 UTC
FEDORA-2025-1d00693874 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-1d00693874`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-1d00693874

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2025-11-07 00:55:15 UTC
FEDORA-2025-1d00693874 (python-uvicorn-0.38.0-1.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.