Fedora Account System
Red Hat Associate
Red Hat Customer
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
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).
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.
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.
https://src.fedoraproject.org/rpms/python-googleapis-common-protos/pull-request/29
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
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
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.