Bug 2388715

Summary: conflicts and broken dependencies when updating platformio
Product: [Fedora] Fedora Reporter: Przemek Klosowski <przemek>
Component: python-platformioAssignee: Ben Beasley <code>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 42CC: code, davide
Target Milestone: ---Keywords: Upgrades
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: python-platformio-6.1.17-6.fc42 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-08-19 20:06:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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.