Fedora 42-->43 upgrade fails with "python3-3.13.9-1.fc42.x86_64 does not belong to a distupgrade repository"

Well, this is irritating. A Fedora 42 → 43 upgrade fails with the python problem below. As you can see, I updated to the latest Fedora 42 updates first. This system and others like it are Wordress web servers, so I’m afraid to mess with Python and its dependencies.

[root@www ~]# dnf system-upgrade download --refresh --releasever=43
Updating and loading repositories:
Fedora 43 - x86_64 - Updates 100% | 1.2 MiB/s | 2.8 MiB | 00m02s
Fedora 43 openh264 (From Cisco) - x86_ 100% | 1.6 KiB/s | 5.8 KiB | 00m04s
Fedora 43 - x86_64 100% | 4.6 MiB/s | 35.4 MiB | 00m08s
Repositories loaded.
Failed to resolve the transaction:
Problem: installed package python3-atomicwrites-1.4.1-13.fc42.noarch requires python(abi) = 3.13, but none of the providers can be installed

  • python3-3.13.9-1.fc42.x86_64 does not belong to a distupgrade repository
  • problem with installed package
    [root@www ~]#
    [root@www ~]# dnf update
    Updating and loading repositories:
    Fedora 42 - x86_64 100% | 51.2 KiB/s | 31.9 KiB | 00m01s
    Fedora 42 - x86_64 - Updates 100% | 91.8 KiB/s | 30.3 KiB | 00m00s
    Fedora 42 openh264 (From Cisco) - x86_ 100% | 7.3 KiB/s | 986.0 B | 00m00s
    Repositories loaded.
    Nothing to do.
    [root@www ~]#

Looks like the problem here is that the F43 repos need to have a version of python3-atomicwrites compatible with Python 3.14.

That should be 1.4.1-14.fc43, but for some reason this hasn’t been pushed into the stable repos. The history there says:

This update has been submitted for stable by bodhi

but it isn’t followed by what you’d expect, which is:

This update has been pushed to stable.

If I’m reading the Bodhi screen right (I might not be), autopush into stable is disabled, so it may need the maintainer to manually push it.

1 Like

Actually, looking further, it seems this package has been intentionally retired.

The maintainers point out that it is deprecated upstream.

So if you want to play it conservatively (makes sense on a web server of course), then you’re unable to upgrade to Fedora 43 until the packages you use remove their dependency on python3-atomicwrites.

If you run this, you can see what those packages are:

dnf repoquery --installed --whatdepends python3-atomicwrites

Thanks. Looks like no dependencies.

[root@www ~]# dnf repoquery --installed --whatdepends python3-atomicwrites
[root@www ~]#
[root@www ~]# dnf remove python3-atomicwrites
Package Arch Version Repository Size
Removing:
python3-atomicwrites noarch 1.4.1-13.fc42 updates 28.4 KiB

Transaction Summary:
Removing: 1 package

After this operation, 28 KiB will be freed (install 0 B, remove 28 KiB).
Is this ok [y/N]: y
Running transaction
[1/2] Prepare transaction 100% | 1.0 B/s | 1.0 B | 00m01s
[2/2] Removing python3-atomicwrites-0:1 100% | 18.0 B/s | 13.0 B | 00m01s
Complete!
[root@www ~]#

As I compose this, dnf system-upgrade download --refresh --releasever=43 just now finished on two of my webservers.

1 Like

Looks like the cure in this case was to remove python3-atomicwrites, especially since it’s deprecated upstream anyway. All three websites went through the upgrade. They’re all at Fedora 43 and run just fine. Thanks for the help!

This should be handled automatically once this fedora-obsolete-packages update goes through to stable:

https://bodhi.fedoraproject.org/updates/FEDORA-2025-9fa28cd85b

3 Likes

Ah - thanks! That brings up a related issue and maybe I should open a different topic on it. I noticed a few fc42 rpms still there after the upgrade. Some have dependencies with fc43 RPMs. Here’s a sample. The kernel ones make sense - those are the old kernels. The other ones, I’m not so sure about.

[root@www ~]# rpm -qa | grep fc42
fuse-common-3.16.2-5.fc42.x86_64
fuse3-libs-3.16.2-5.fc42.x86_64
fuse3-3.16.2-5.fc42.x86_64
xalan-c-libs-1.12.0-50.fc42.x86_64
highway-1.2.0-5.fc42.x86_64
libbluray-1.3.4-9.fc42.x86_64
javascriptcoregtk4.0-2.47.2-3.fc42.x86_64
xalan-c-1.12.0-50.fc42.x86_64
ilmbase-2.3.0-16.fc42.x86_64
compat-readline5-5.2-49.fc42.x86_64
xl2tpd-1.3.17-7.fc42.x86_64
rdist-6.1.5-87.fc42.x86_64
kernel-modules-core-6.16.10-200.fc42.x86_64
kernel-core-6.16.10-200.fc42.x86_64
kernel-modules-6.16.10-200.fc42.x86_64
kernel-modules-extra-6.16.10-200.fc42.x86_64
kernel-6.16.10-200.fc42.x86_64
kernel-modules-core-6.17.5-200.fc42.x86_64
kernel-core-6.17.5-200.fc42.x86_64
kernel-modules-6.17.5-200.fc42.x86_64
kernel-modules-extra-6.17.5-200.fc42.x86_64
kernel-6.17.5-200.fc42.x86_64
golang-github-katalix-l2tp-0.1.8-4.fc42.x86_64
[root@www ~]#

Fuse-common-3.16.2-5.fc42.x86_64 is a biggie for fc43 dependencies.

[root@www ~]# dnf remove fuse-common
Package Arch Version Repository Size
Removing:
fuse-common x86_64 3.16.2-5.fc42 fedora 38.0 B
Removing dependent packages:
containers-common noarch 5:0.64.2-1.fc43 fedora 128.6 KiB
flatpak x86_64 1.16.1-1.fc43 fedora 6.5 MiB
fuse x86_64 2.9.9-24.fc43 fedora 214.5 KiB
open-vm-tools x86_64 13.0.0-1.fc43 fedora 3.0 MiB
xdg-desktop-portal-gtk x86_64 1.15.3-2.fc43 fedora 473.3 KiB
Removing unused dependencies:
ModemManager-glib x86_64 1.24.2-1.fc43 fedora 1.5 MiB
composefs-libs x86_64 1.0.8-3.fc43 fedora 142.2 KiB
flatpak-selinux noarch 1.16.1-1.fc43 fedora 12.7 KiB
flatpak-session-helper x86_64 1.16.1-1.fc43 fedora 99.2 KiB
fuse-overlayfs x86_64 1.13-4.fc43 fedora 131.0 KiB
fuse3 x86_64 3.16.2-5.fc42 fedora 129.7 KiB
geoclue2 x86_64 2.7.2-3.fc43 fedora 395.7 KiB
low-memory-monitor x86_64 2.1-13.fc43 fedora 66.0 KiB
malcontent-libs x86_64 0.13.0-3.fc43 fedora 108.7 KiB
ostree-libs x86_64 2025.6-1.fc43 fedora 1.2 MiB
p11-kit-server x86_64 0.25.8-1.fc43 fedora 32.2 KiB
xdg-dbus-proxy x86_64 0.1.6-3.fc43 fedora 90.5 KiB
xdg-desktop-portal x86_64 1.20.3-2.fc43 fedora 1.8 MiB
xmlsec1-openssl x86_64 1:1.2.41-3.fc43 fedora 277.0 KiB

Transaction Summary:
Removing: 20 packages

After this operation, 16 MiB will be freed (install 0 B, remove 16 MiB).
Is this ok [y/N]: n
Operation aborted by the user.
[root@www ~]#

Sometimes packages don’t get rebuilt in time for the next release because of test failures or breakage in dependencies. If they don’t cause any conflicts, they’ll just stay that way until the maintainer fixes them. There’s already a bug report for fuse: