Bug 2530520 - Upgrade to f45 fails to dependency conflict of python3-protobuf
Summary: Upgrade to f45 fails to dependency conflict of python3-protobuf
Keywords:
Status: ON_QA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-protobuf
Version: 45
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Miroslav Suchý
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-09 04:51 UTC by hannes
Modified: 2026-09-22 01:35 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description hannes 2026-09-09 04:51:10 UTC
I was testing the dnf upgrade from f44 to f45 with the following command:
dnf system-upgrade download --releasever=45 --enablerepo=updates-testing 

Problem: package python3-protobuf-6.33.5-4.fc45.x86_64 from fedora conflicts with python3-protobuf < 4~~ provided by python3-protobuf3-3.19.6-66.fc45.noarch from fedora
  - package python3-googleapis-common-protos-1.63.0-16.fc45.noarch from fedora requires ((python3.15dist(protobuf) < 3.20 or python3.15dist(protobuf) > 3.20) with (python3.15dist(protobuf) < 3.20.1 or python3.15dist(protobuf) > 3.20.1) with (python3.15dist(protobuf) < 4.21.1 or python3.15dist(protobuf) > 4.21.1) with (python3.15dist(protobuf) < 4.21.2 or python3.15dist(protobuf) > 4.21.2) with (python3.15dist(protobuf) < 4.21.3 or python3.15dist(protobuf) > 4.21.3) with (python3.15dist(protobuf) < 4.21.4 or python3.15dist(protobuf) > 4.21.4) with (python3.15dist(protobuf) < 4.21.5 or python3.15dist(protobuf) > 4.21.5) with python3.15dist(protobuf) < 6~~ with python3.15dist(protobuf) >= 3.19.5), but none of the providers can be installed
  - problem with installed package
  - problem with installed package
  - python3-protobuf-3.19.6-20.fc44.noarch does not belong to a distupgrade repository
  - python3-googleapis-common-protos-1.63.0-14.fc44.noarch does not belong to a distupgrade repository
You can try to add to command line:
  --allowerasing to allow removing of installed packages to resolve problems

Reproducible: Always

Actual Results:
No dnf upgrade possible.

Expected Results:
dnf upgrade possible

Comment 1 Marcin Juszkiewicz 2026-09-15 11:44:52 UTC
Python googleapis-common-protos 1.63 is 2 years old and upstream had "protobuf < 5" in requirements which Fedora bumped to "< 6".

But F45 has protobuf 6.33 so it too new.

In meantime upstream moved package into https://github.com/googleapis/google-cloud-python/ repository and released several versions with 1.75.3 being the latest.

But googleapis-common-protos 1.75.3 requires python3dist(grpcio) >= 1.59 while Fedora 45 has 1.48.4 version available (about 4 years old one).


So solution can be bumping python-googleapis-common-protos to 1.75.3 AND grpc to 1.59+ (1.84 is the latest).

Comment 2 Miroslav Suchý 2026-09-15 11:59:01 UTC
Great analysis. I am very thankful for that.

Upgrading grpc is not easy - see https://bugzilla.redhat.com/show_bug.cgi?id=2170404

I think the solution can be amended googleapis-common-protos to require (or BR) some protobuf3 compat package. I will try to investigate it.

Comment 3 Marcin Juszkiewicz 2026-09-15 12:16:23 UTC
Yes, https://src.fedoraproject.org/rpms/grpc/pull-request/39 shows that upgrading gprc is not an easy task.

Good idea of requiring protobuf3.

# dnf install python3-googleapis-common-protos
Repositories loaded.
Failed to resolve the transaction:
Problem: problem with installed package
  - installed package python3-protobuf-6.33.5-4.fc45.x86_64 conflicts with python3-protobuf < 4~~ provided by python3-protobuf3-3.19.6-66.fc45.noarch from fedora
  - package python3-protobuf-6.33.5-4.fc45.x86_64 from fedora conflicts with python3-protobuf < 4~~ provided by python3-protobuf3-3.19.6-66.fc45.noarch from fedora
  - package python3-googleapis-common-protos-1.63.0-16.fc45.noarch from fedora requires ((python3.15dist(protobuf) < 3.20 or python3.15dist(protobuf) > 3.20) with (python3.15dist(protobuf) < 3.20.1 or python3.15dist(protobuf) > 3.20.1) with (python3.15dist(protobuf) < 4.21.1 or python3.15dist(protobuf) > 4.21.1) with (python3.15dist(protobuf) < 4.21.2 or python3.15dist(protobuf) > 4.21.2) with (python3.15dist(protobuf) < 4.21.3 or python3.15dist(protobuf) > 4.21.3) with (python3.15dist(protobuf) < 4.21.4 or python3.15dist(protobuf) > 4.21.4) with (python3.15dist(protobuf) < 4.21.5 or python3.15dist(protobuf) > 4.21.5) with python3.15dist(protobuf) < 6~~ with python3.15dist(protobuf) >= 3.19.5), but none of the providers can be installed
  - conflicting requests
You can try to add to command line:
  --allowerasing to allow removing of installed packages to resolve problems
  --skip-broken to skip uninstallable packages



Maybe python3-protobuf3 should stop providing 'python3-protobuf' as it looks like DNF cannot handle situation when two packages (python3-protobuf 6.33.5 and python3-protobuf3 3.19.6) provide python3-protobuf and system has packages requiring both versions at the same time.

Comment 5 Miroslav Suchý 2026-09-15 13:29:14 UTC
I created  https://copr.fedorainfracloud.org/coprs/msuchy/protobuf-test/ to test the upgrade.

Still do not pass through.

But... with --alow-erasing, it went through with:

Removing dependent packages:
...
 protobuf-compiler                                                      x86_64 0:3.19.6-20.fc44                                          fedora                                       2.5 MiB
 protobuf-java                                                          noarch 0:3.19.6-20.fc44                                           python3-protobuf                                                       noarch 0:3.19.6-20.fc44                                          fedora                                       1.5 MiB

Upgrading:
protobuf                                                               x86_64 0:33.5-7.fc45                                             fedora                                       0.0   B
   replacing protobuf                                                   x86_64 0:3.19.6-20.fc44                                          fedora                                       3.3 MiB
 protobuf-lite                                                          x86_64 0:6.33.5-7.fc45                                           fedora                                     890.3 KiB
   replacing protobuf-lite                                              x86_64 0:3.19.6-20.fc44                                          fedora                                     869.1 KiB
 python3-googleapis-common-protos                                       noarch 0:1.63.0-17.fc45                                          copr:copr.fedorainfracloud.org:msuchy:prot 778.5 KiB
   replacing python3-googleapis-common-protos                           noarch 0:1.63.0-14.fc44                                          fedora                                     778.4 KiB
protobuf-cpp                                                           x86_64 0:6.33.5-7.fc45                                           fedora                                       4.4 MiB
 protobuf3                                                              x86_64 0:3.19.6-66.fc45                                          fedora                                       3.3 MiB
 protobuf3-c                                                            x86_64 0:1.5.2-52.fc45                                           fedora                                      53.7 KiB
   replacing protobuf-c                                                 x86_64 0:1.5.2-2.fc44                                            fedora                                      53.7 KiB
 protobuf3-compiler                                                     x86_64 0:3.19.6-66.fc45                                          fedora                                       2.5 MiB
python3-protobuf3                                                      noarch 0:3.19.6-66.fc45                                          fedora                                       1.5 MiB

Comment 6 Fedora Update System 2026-09-21 11:12:20 UTC
FEDORA-2026-4f454d39b1 (python-googleapis-common-protos-1.63.0-17.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-4f454d39b1

Comment 7 Fedora Update System 2026-09-22 01:35:16 UTC
FEDORA-2026-4f454d39b1 has been pushed to the Fedora 45 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-4f454d39b1`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-4f454d39b1

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


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