Bug 2388715 - conflicts and broken dependencies when updating platformio
Summary: conflicts and broken dependencies when updating platformio
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-platformio
Version: 42
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Ben Beasley
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-08-14 22:32 UTC by Przemek Klosowski
Modified: 2025-08-24 03:34 UTC (History)
2 users (show)

Fixed In Version: python-platformio-6.1.17-6.fc42
Clone Of:
Environment:
Last Closed: 2025-08-19 20:06:14 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Przemek Klosowski 2025-08-14 22:32:48 UTC
The update to platformio has been blocked for several weeks IIRC. Update finds conflicts and excludes several packages from update:
Package             Arch            Version         Repository       Size
Skipping packages with conflicts:
 python3-starlette  noarch          0.46.1-2.fc42   fedora         853.3 KiB
 python3-uvicorn    noarch          0.35.0-1.fc42   updates        596.0 KiB
Skipping packages with broken dependencies:
 python3-platformio noarch          6.1.17-2.fc42   fedora         3.0 MiB
 python3-platformio noarch          6.1.17-5.fc42   updates        3.0 MiB
 python3-uvicorn+standard   noarch  0.35.0-1.fc42   updates        8.0 KiB



Reproducible: Always

Steps to Reproduce:
1. yum update

Actual Results:
Problem 1: installed package python3-platformio-6.1.17-5.fc42.noarch requires (python3.13dist(uvicorn) < 0.35~~ with python3.13dist(uvicorn) >= 0.16), but none of the providers can be installed
  - cannot install both python3-uvicorn-0.35.0-1.fc42.noarch from updates and python3-uvicorn-0.34.0-1.fc42.noarch from @System
  - cannot install both python3-uvicorn-0.35.0-1.fc42.noarch from updates and python3-uvicorn-0.34.0-1.fc42.noarch from fedora
  - cannot install the best update candidate for package python3-uvicorn-0.34.0-1.fc42.noarch
  - cannot install the best update candidate for package python3-platformio-6.1.17-5.fc42.noarch
 Problem 2: problem with installed package
  - installed package python3-platformio-6.1.17-5.fc42.noarch requires (python3.13dist(uvicorn) < 0.35~~ with python3.13dist(uvicorn) >= 0.16), but none of the providers can be installed
  - package python3-platformio-6.1.17-5.fc42.noarch from updates requires (python3.13dist(uvicorn) < 0.35~~ with python3.13dist(uvicorn) >= 0.16), but none of the providers can be installed
  - cannot install both python3-uvicorn-0.35.0-1.fc42.noarch from updates and python3-uvicorn-0.34.0-1.fc42.noarch from @System
  - cannot install both python3-uvicorn-0.35.0-1.fc42.noarch from updates and python3-uvicorn-0.34.0-1.fc42.noarch from fedora
  - package python3-platformio-6.1.17-2.fc42.noarch from fedora requires (python3.13dist(starlette) < 0.47~~ with python3.13dist(starlette) >= 0.19), but none of the providers can be installed
  - package python3-uvicorn+standard-0.35.0-1.fc42.noarch from updates requires python3-uvicorn = 0.35.0-1.fc42, but none of the providers can be installed
  - cannot install both python3-starlette-0.46.1-2.fc42.noarch from fedora and python3-starlette-0.47.2-1.fc42.noarch from @System
  - cannot install the best update candidate for package python3-uvicorn+standard-0.34.0-1.fc42.noarch
  - cannot install the best update candidate for package python3-starlette-0.47.2-1.fc42.noarch
Package                                                                Arch            Version                                                                Repository                                   Size
Skipping packages with conflicts:
 python3-starlette                                                     noarch          0.46.1-2.fc42                                                          fedora                                  853.3 KiB
 python3-uvicorn                                                       noarch          0.35.0-1.fc42                                                          updates                                 596.0 KiB
Skipping packages with broken dependencies:
 python3-platformio                                                    noarch          6.1.17-2.fc42                                                          fedora                                    3.0 MiB
 python3-platformio                                                    noarch          6.1.17-5.fc42                                                          updates                                   3.0 MiB
 python3-uvicorn+standard                                              noarch          0.35.0-1.fc42                                                          updates                                   8.0 KiB



Expected Results:
successful update

Comment 1 Ben Beasley 2025-08-15 10:25:10 UTC
Hmm, thank you for reporting this. It looks like I made the necessary change[1] in python-platformio when I updated python-starlette to 0.47.x, and I even built it[2], but I never shipped it in an update. This is strange, as I should have built it in the same side tag as the python-starlette update and shipped it in the same update so that nothing was ever broken.

[1] https://src.fedoraproject.org/rpms/python-platformio/c/39eb14773c1b0c36c5112d2a17840dec7eb34e2c?branch=f42
[2] https://koji.fedoraproject.org/koji/buildinfo?buildID=2720993

Comment 2 Ben Beasley 2025-08-15 10:45:52 UTC
(In reply to Ben Beasley from comment #1)
> Hmm, thank you for reporting this. It looks like I made the necessary
> change[1] in python-platformio when I updated python-starlette to 0.47.x,
> and I even built it[2], but I never shipped it in an update. This is
> strange, as I should have built it in the same side tag as the
> python-starlette update and shipped it in the same update so that nothing
> was ever broken.
> 
> [1]
> https://src.fedoraproject.org/rpms/python-platformio/c/
> 39eb14773c1b0c36c5112d2a17840dec7eb34e2c?branch=f42
> [2] https://koji.fedoraproject.org/koji/buildinfo?buildID=2720993

Actually, it turns out that I was confused just now, and I did do the right thing and include the Starlette-version-bound patch with the Starlette update[1]. Instead, the mention of python-starlette is a red herring, and this was broken when python-uvicorn was updated to 0.35[2].

(This – python-platformio – is one of the small minority of Python packages that SemVer-pins almost all of its dependencies and for which those upper-bounds are not removed downstream.)

I’m somewhat relieved to see that I did not create the problem, but I am still happy to fix it.

[1] https://bodhi.fedoraproject.org/updates/FEDORA-2025-fbab449f57
[2] https://bodhi.fedoraproject.org/updates/FEDORA-2025-3f60c0dde9

Comment 3 Fedora Update System 2025-08-15 11:00:03 UTC
FEDORA-2025-48a5e81e56 (python-platformio-6.1.17-6.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-48a5e81e56

Comment 4 Fedora Update System 2025-08-16 02:45:10 UTC
FEDORA-2025-48a5e81e56 has been pushed to the Fedora 42 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-48a5e81e56`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-48a5e81e56

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

Comment 5 Przemek Klosowski 2025-08-19 20:05:23 UTC
It worked for me; I left thumbs up in bodhi. 
Thanks, Ben!

Comment 6 Fedora Update System 2025-08-24 03:34:17 UTC
FEDORA-2025-48a5e81e56 (python-platformio-6.1.17-6.fc42) has been pushed to the Fedora 42 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.