Fedora 43 → Fedora 44 upgrade fails with file conflicts between gpgme2 compatibility packages and gpgme, plus tlp/tuned-ppd

System:

  • Fedora Linux 43
  • KDE Plasma
  • Fully updated before attempting upgrade

Upgrade command:

sudo dnf system-upgrade download --releasever=44 --allowerasing

Result:

Testing offline transaction
Transaction failed: Rpm transaction failed.

Errors:

  • file /usr/bin/gnupg-key-manage from install of gpgme-2.0.1-4.fc44.x86_64 conflicts with file from package gpgme2-2.0.1-5.fc43.x86_64

  • file /usr/lib64/libgpgme.so.45.0.1 conflicts with gpgme2

  • file /usr/lib64/libgpgmepp.so.7.0.0 conflicts with gpgme2pp

  • file /usr/lib64/libqgpgmeqt6.so.15v2.7.0 conflicts with qgpgme2-qt6

Additionally:

tuned-ppd-2.27.0-1.fc44.noarch conflicts with tlp-1.9.0-7.fc44.noarch

Diagnostics already performed:

  • sudo dnf check
    → no output

  • sudo dnf repoquery --duplicates
    → no output

Installed repositories:

  • Fedora
  • Updates
  • RPM Fusion Free
  • Brave
  • Google Chrome
  • ProtonVPN
  • Tailscale

Installed packages:

gpgme-1.24.3-6.fc43
gpgme2-2.0.1-5.fc43
gpgmepp-1.24.3-6.fc43
gpgme2pp-2.0.1-5.fc43
qgpgme-qt6-1.24.3-6.fc43
qgpgme2-qt6-2.0.1-5.fc43

The gpgme2 compatibility packages are required by KDE PIM packages such as:

  • akonadi-calendar
  • kmail-libs
  • mailcommon
  • messagelib
  • mimetreeparser
  • kdepim-addons

The package database appears healthy, but the Fedora 44 upgrade consistently fails during the offline transaction test due to these file conflicts.

I used AI to restructure the above paragraph for better communication.
How can I fix this?
Thank you!

The file from f43 is a newer version than the one from f44 so it won’t upgrade it.

These do not appear to be the full messages you probably saw. It is always best to show the full detailed messages and not an interpreted version that is incomplete.

AFAIK you probably should not have both those packages installed. They are both power control related and function differently.
I would suggest removing the tlp package to eliminate that conflict.

You may be able to do a full online upgrade using dnf
sudo dnf distro-sync --releasever=44 --allowerasing --setopt=protected_packages=

When you show things like this it is best to show the command and results. Such as: (so we see the exact list the system uses)

$ dnf repolist
repo id                                                                   repo name                                                                                           
adoptium-temurin-java-repository                                          Adoptium                                                                                            
code                                                                      Visual Studio Code                                                                                  
copr:copr.fedorainfracloud.org:phracek:PyCharm                            Copr repo for PyCharm owned by phracek                                                              
fedora                                                                    Fedora 44 - x86_64                                                                                  
fedora-cisco-openh264                                                     Fedora 44 openh264 (From Cisco) - x86_64                                                            
google-chrome                                                             google-chrome                                                                                       
google-earth-pro                                                          google-earth-pro                                                                                    
masterpdfeditor                                                           Master PDF Editor                                                                                   
rpmfusion-free                                                            RPM Fusion for Fedora 44 - Free                                                                     
rpmfusion-free-tainted                                                    RPM Fusion for Fedora 44 - Free tainted                                                             
rpmfusion-free-updates                                                    RPM Fusion for Fedora 44 - Free - Updates                                                           
rpmfusion-nonfree                                                         RPM Fusion for Fedora 44 - Nonfree                                                                  
rpmfusion-nonfree-nvidia-driver                                           RPM Fusion for Fedora 44 - Nonfree - NVIDIA Driver                                                  
rpmfusion-nonfree-steam                                                   RPM Fusion for Fedora 44 - Nonfree - Steam                                                          
rpmfusion-nonfree-updates                                                 RPM Fusion for Fedora 44 - Nonfree - Updates                                                        
updates                                                                   Fedora 44 - x86_64 - Updates                                                                        

Thanks for the suggestion.

I removed tlp, so the tuned-ppd conflict is now gone.

I then ran:

sudo dnf distro-sync --releasever=44 --allowerasing --setopt=protected_packages=

The download completed successfully, but the transaction still fails with only these remaining conflicts:

Transaction failed: Rpm transaction failed.
  - file /usr/bin/gnupg-key-manage from install of gpgme-2.0.1-4.fc44.x86_64 conflicts with file from package gpgme2-2.0.1-5.fc43.x86_64
  - file /usr/lib64/libgpgme.so.45.0.1 from install of gpgme-2.0.1-4.fc44.x86_64 conflicts with file from package gpgme2-2.0.1-5.fc43.x86_64
  - file /usr/lib64/libgpgmepp.so.7.0.0 from install of gpgmepp-2.0.1-4.fc44.x86_64 conflicts with file from package gpgme2pp-2.0.1-5.fc43.x86_64
  - file /usr/lib64/libqgpgmeqt6.so.15v2.7.0 from install of qgpgme-qt6-2.0.1-4.fc44.x86_64 conflicts with file from package qgpgme2-qt6-2.0.1-5.fc43.x86_64

For reference:

  • sudo dnf check reports no issues.
  • sudo dnf repoquery --duplicates returns no duplicate packages.
  • I’m running Fedora 43 KDE Plasma.
  • The gpgme2 packages are official Fedora packages and are required by KDE PIM packages such as akonadi-calendar, kmail-libs, mailcommon, messagelib, and mimetreeparser.

Do you think this is a packaging issue with the gpgme2 compatibility packages, or is there another recommended migration step before upgrading to Fedora 44?

Hi, I have the same problem with gpgme2 when trying to update Fedora KDE from version 43 to version 44 using the command sudo dnf system-upgrade download --releasever=44.

The update fails with the message

Transaction failed: Rpm transaction failed.
  - file /usr/bin/gnupg-key-manage from install of gpgme-2.0.1-4.fc44.x86_64 conflicts with file from package gpgme2-2.0.1-5.fc43.x86_64
  - file /usr/lib64/libgpgme.so.45.0.1 from install of gpgme-2.0.1-4.fc44.x86_64 conflicts with file from package gpgme2-2.0.1-5.fc43.x86_64
  - file /usr/lib64/libgpgmepp.so.7.0.0 from install of gpgmepp-2.0.1-4.fc44.x86_64 conflicts with file from package gpgme2pp-2.0.1-5.fc43.x86_64
  - file /usr/lib64/libqgpgmeqt6.so.15v2.7.0 from install of qgpgme-qt6-2.0.1-4.fc44.x86_64 conflicts with file from package qgpgme2-qt6-2.0.1-5.fc43.x86_64

As @computersavvy mentioned the version of gpgme seems to be newer in fedora 43 (2.0.1-5) than in fedora 44 (2.0.1-4), but I also noticed that the package name is different, fedora 43 has gpgme2 while fedora 44 has gpgme.

Looking around in the fedora packages I found that gpgme is at version 1.24.3-6 in fedora 43 and at version 2.0.1-4 in fedora 44. Meanwhile, the package gpgme2 appears to exist only in fedora 43, but not in 44 nor rawhide.

Searching a bit more I found this discussion which might explain why there is a gpgme2 package in fedora 43, but I still don’t know how to proceed.

Can anyone more knowledgeable explain how to proceed? Should I manually delete one of the gpgme packages? will this break anything?

I’m hesitant to manually remove gpgme2 , gpgme2pp because I saw that they are required by some KDE packages.

Yes, I am also hesitant to manually delete anything, since I am not experienced and don’t know what these packages do or are needed for. However, in fedora packages there doesn’t seem to be a gpgpme2 for fedora 44, so I would expect the system to see this and remove gpgme2 itself during the update. Maybe it will work automatically once gpgme for fedora 44 catches up with the version of gpgme2 on fedora 43.

You may be able to resolve that conflict with swapping the packages.
sudo dnf swap gpgme2 gpgme --releasever=44
If that works then the upgrade to 44 should complete properly. It should only be an issue if there is some installed package that explicitly requires gpgme2, and it should tell you exactly where the issue is should there be a dependency issue.

I use Workstation (gnome) and have never seen that conflict. I had gpgme installed all the way back on f42 (my last clean install) and have never had the gpgme2 packages.

You should be able to perform the upgrade as soon as this F44 gpgme update is available in updates repository.

Thanks for the information @anotheruser, in this case I will wait and try again tomorrow.

@computersavvy thank you for the tip and the information, but I will see if waiting for the new version in fedora 44 makes it work without needing to swap the packages. Regarding packages explicitly requiring gpgme2 I would doubt this is the case in fedora 44, since it seems that gpgme2 itself doesn’t exist for fedora 44.

Actually that linked info provides a command that should solve the issue.
sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-4af373d015
The fix appears to already be in the updates-testing repo.

True, but you are still on f43 which apparently did have something that used gpgme2.

It looks like gpgme2 has been renamed to gpgme and the original gpgme from Fedora 43 has been discontinued.

Perhaps some non-fedora package would require the original gpgme version 1, and if so, you may need to remove these pagages before updating.

gpgme2 was only recenly added to f43, because KDE has dropped support for gpgme v1.x .

The dependencies are usually against the library the package provides, in this case libgpgme.so.45()(64bit). In Fedora 43 gpgme provides libgpgme.so.11()(64bit). That is the change in SONAME which went from 11 → 45, and which indicates a break of binary compatibility.

Run rpm -qP gpgme to see the provides.

I tried the suggested advisory command:

sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-4af373d015

but DNF returned:

No advisory found matching the requested name: "FEDORA-2026-4af373d015"

I also tried:

sudo dnf swap gpgme2 gpgme --releasever=44

but it failed because gpgme is already installed, and gpgme2pp still requires gpgme2:

Package "gpgme-1.24.3-6.fc43.x86_64" is already installed.

Problem: installed package gpgme2pp-2.0.1-5.fc43.x86_64 requires gpgme2(x86-64) = 2.0.1-5.fc43

Could you please check whether the advisory ID is correct, or if there is another update or recommended migration path for this package transition?

I’d really appreciate it if someone could help me resolve this issue. At this point I’ve tried the suggested upgrade methods, removed the tlp conflict, and the only remaining problem is the gpgme2 package conflict preventing the Fedora 44 upgrade. If anyone knows the correct way to fix this, I’d be very grateful for your guidance.

This is on an f44 system

$ sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-4af373d015
Updating and loading repositories:
 Fedora 44 - x86_64 - Test Updates                                                                                                    100% |   2.6 KiB/s |  14.9 KiB |  00m06s
Repositories loaded.
Package                                                    Arch          Version                                                    Repository                            Size
Upgrading:
 gpgme                                                     x86_64        0:2.0.1-5.fc44                                             updates-testing                  617.8 KiB
   replacing gpgme                                         x86_64        0:2.0.1-4.fc44                                             <unknown>                        617.8 KiB
 gpgmepp                                                   x86_64        0:2.0.1-5.fc44                                             updates-testing                  441.6 KiB
   replacing gpgmepp                                       x86_64        0:2.0.1-4.fc44                                             <unknown>                        441.6 KiB

Transaction Summary:
 Upgrading:          2 packages
 Replacing:          2 packages

Total size of inbound packages is 381 KiB. Need to download 381 KiB.
After this operation, 24 B will be freed (install 1 MiB, remove 1 MiB).
Is this ok [y/N]: 

I think that because you are still on f43 and that advisory is on f44 that you need to add --releasever=44 to that command

What happens if you try to remove the gpgme2* packages?
sudo dnf remove gpgme2\*

$ sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-4af373d015 --releasever=44

Updating and loading repositories:
Tailscale stable
RPM Fusion for Fedora 44 - Free - Updates
RPM Fusion for Fedora 44 - Free
ProtonVPN Fedora Stable repository
Fedora 44 - x86_64
google-chrome
Brave Browser
Fedora 44 openh264 (From Cisco) - x86_64
Fedora 44 - x86_64 - Updates
Fedora 44 - x86_64 - Test Updates
Repositories loaded.
Nothing to do.

$ sudo dnf remove gpgme2\*
Package Arch Version Repository Size
Removing:
gpgme2 x86_64 2.0.1-5.fc43 605.9 KiB
gpgme2pp x86_64 2.0.1-5.fc43 429.4 KiB
Removing dependent packages:
akregator x86_64 26.04.2-1.fc43 4.4 MiB
akregator-libs x86_64 26.04.2-1.fc43 2.1 MiB
kdepim-addons x86_64 26.04.2-1.fc43 9.9 MiB
kleopatra x86_64 26.04.2-1.fc43 16.7 MiB
kmail x86_64 26.04.2-1.fc43 19.1 MiB
kontact x86_64 26.04.2-1.fc43 1.7 MiB
korganizer x86_64 26.04.2-1.fc43 8.9 MiB
qgpgme2-qt6 x86_64 2.0.1-5.fc43 1.2 MiB
Removing unused dependencies:
akonadi-calendar x86_64 26.04.2-1.fc43 3.7 MiB
akonadi-import-wizard x86_64 26.04.2-1.fc43 2.0 MiB
calendarsupport x86_64 26.04.2-1.fc43 3.5 MiB
cyrus-sasl-md5 x86_64 2.1.28-33.fc43 d15e557246b143e68b4d7cf7c8078e9c 84.3 KiB
eventviews x86_64 26.04.2-1.fc43 3.7 MiB
gnupg2-smime x86_64 2.4.9-5.fc43 updates 521.5 KiB
grantlee-editor x86_64 26.04.2-1.fc43 1.3 MiB
grantlee-editor-libs x86_64 26.04.2-1.fc43 145.6 KiB
incidenceeditor x86_64 26.04.2-1.fc43 3.1 MiB
kcalutils x86_64 26.04.2-1.fc43 2.0 MiB
kdepim-runtime x86_64 1:26.04.2-1.fc43 13.8 MiB
kdepim-runtime-libs x86_64 1:26.04.2-1.fc43 2.3 MiB
kdiagram x86_64 3.0.1-8.fc43 d15e557246b143e68b4d7cf7c8078e9c 2.1 MiB
kf6-kdav x86_64 6.27.0-1.fc43 updates 467.3 KiB
kidentitymanagement x86_64 26.04.2-1.fc43 955.9 KiB
kitinerary x86_64 26.04.2-2.fc43 5.5 MiB
kmail-account-wizard x86_64 26.04.2-1.fc43 736.6 KiB
kmail-libs x86_64 26.04.2-1.fc43 4.2 MiB
kmailtransport x86_64 26.04.2-1.fc43 1.2 MiB
kmbox x86_64 26.04.2-1.fc43 122.1 KiB
kontact-libs x86_64 26.04.2-1.fc43 381.7 KiB
korganizer-libs x86_64 26.04.2-1.fc43 3.1 MiB
kpimtextedit x86_64 26.04.2-1.fc43 978.9 KiB
kpkpass x86_64 26.04.2-1.fc43 274.3 KiB
ksmtp x86_64 26.04.2-1.fc43 261.5 KiB
ktnef x86_64 26.04.2-1.fc43 677.1 KiB
libgravatar x86_64 26.04.2-1.fc43 193.0 KiB
libkleo x86_64 26.04.2-1.fc43 4.7 MiB
libksieve x86_64 26.04.2-1.fc43 4.2 MiB
mailcommon x86_64 26.04.2-1.fc43 4.4 MiB
mailimporter x86_64 26.04.2-1.fc43 1.7 MiB
mailimporter-akonadi x86_64 26.04.2-1.fc43 56.7 KiB
messagelib x86_64 26.04.2-2.fc43 13.9 MiB
mimetreeparser x86_64 26.04.2-1.fc43 1.6 MiB
pim-data-exporter x86_64 26.04.2-1.fc43 1.3 MiB
pim-data-exporter-libs x86_64 26.04.2-1.fc43 609.3 KiB
pim-sieve-editor x86_64 26.04.2-1.fc43 1.5 MiB
qgpgme-qt6 x86_64 1.24.3-6.fc43 d15e557246b143e68b4d7cf7c8078e9c 1.2 MiB

Transaction Summary:
Removing: 48 packages

After this operation, 157 MiB will be freed (install 0 B, remove 157 MiB).
Is this ok [y/N]:

The updates rpm is available in updates-testing releasever=44.

However, consider that a lot of packes from Fedora43 requires gpgme-1.24.3-6.fc43.x86_64 and gpgmepp-1.24.3-6.fc43.x86_64, so you cant replace gpgme with the version from Fedora44 untell all the other packages has been upgraded. These packages should work with gpgme2pp from Fedora 43 so if you can do the upgraded and let it skip updating gpgme it should work.

After that you can deal with gpgme. If you remove gpgme.fc43 it should reveal which package might have prevented the system to upgrade the gpgme package. You can enable the updates-testing repository to get the latest gpgme version as mentioned in the adversary.

Why so impatient? The f44 gpgme update has been submitted to stable, should be available tomorrow if the composes jobs don’t run into any issues.

Alternatively, you could also remove gpgme2 and gpgme2pp with rpm and then start the system-upgrade. This will ofc break all F43 programs that require gpgme2.

sudo rpm --test -evh gpgme2  gpgme2pp --nodeps

omit --test to remove both packages.

Okay, thanks!