Bug 2389722 - python-uvicorn: FTBFS in Fedora Rawhide and 43
Summary: python-uvicorn: FTBFS in Fedora Rawhide and 43
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-uvicorn
Version: 43
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Carl George 🤠
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2397064
Blocks: F43FTBFS F44FTBFS, RAWHIDEFTBFS PYC3.14rc3
TreeView+ depends on / blocked
 
Reported: 2025-08-20 10:28 UTC by Miro Hrončok
Modified: 2025-11-07 00:55 UTC (History)
2 users (show)

Fixed In Version: python-uvicorn-0.38.0-1.fc44 python-uvicorn-0.38.0-1.fc43
Clone Of:
Environment:
Last Closed: 2025-10-29 00:39:39 UTC
Type: Bug
Embargoed:
fedora-admin-xmlrpc: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github Kludex uvicorn pull 2548 0 None Draft test on 3.14 2025-09-04 04:54:57 UTC
Github Kludex uvicorn pull 2723 0 None Merged Support Python 3.14 2025-10-27 18:51:41 UTC
Red Hat Issue Tracker FC-2153 0 None None None 2025-09-04 04:57:23 UTC

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.


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