Currently on Fedora 39, trying to upgrade to 41 but if I understand correctly I need to first upgrade from 39 to 40, then 40 to 41. Regardless, having trouble updating. Here’s the command I’m using via terminal
rpm-ostree rebase fedora:fedora/40/x86_64/silverblue
Here’s the response
error: Could not depsolve transaction; 1 problem detected:
Problem: package noopenh264-0.1.0~openh264_2.4.0-1.fc40.x86_64 from @System conflicts with openh264 provided by openh264-2.4.1-2.fc40.x86_64 from fedora-cisco-openh264
- package openh264-2.4.1-2.fc40.x86_64 from fedora-cisco-openh264 obsoletes noopenh264 < 1:0 provided by noopenh264-0.1.0~openh264_2.4.0-1.fc40.x86_64 from @System
- package mozilla-openh264-2.4.1-2.fc40.x86_64 from fedora-cisco-openh264 requires openh264(x86-64) = 2.4.1-2.fc40, but none of the providers can be installed
- conflicting requests
I receive the same error when trying to update through the GNOME Software application instead of terminal.
All help appreciated, thanks.
**full response and command
rpm-ostree rebase fedora:fedora/40/x86_64/silverblue
2 metadata, 0 content objects fetched; 788 B transferred in 2 seconds; 0 bytes content written
Checking out tree 30e9959... done
Inactive requests:
langpacks-en (already provided by langpacks-en-4.0-13.fc40.noarch)
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree-updates rpmfusion-nonfree rpmfusion-nonfree-nvidia-driver copr:copr.fedorainfracloud.org:phracek:PyCharm google-chrome rpmfusion-nonfree-steam updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2024-03-12T11:45:42Z solvables: 3
rpm-md repo 'updates' (cached); generated: 2025-01-28T03:20:35Z solvables: 33676
rpm-md repo 'fedora' (cached); generated: 2024-04-14T18:51:11Z solvables: 74881
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2025-01-24T10:54:01Z solvables: 174
rpm-md repo 'rpmfusion-free' (cached); generated: 2024-04-20T12:11:51Z solvables: 422
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2025-01-24T11:12:28Z solvables: 88
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2024-04-20T12:18:23Z solvables: 194
rpm-md repo 'rpmfusion-nonfree-nvidia-driver' (cached); generated: 2024-12-17T10:59:50Z solvables: 17
rpm-md repo 'copr:copr.fedorainfracloud.org:phracek:PyCharm' (cached); generated: 2024-12-17T12:19:22Z solvables: 10
rpm-md repo 'google-chrome' (cached); generated: 2025-01-28T08:19:38Z solvables: 4
rpm-md repo 'rpmfusion-nonfree-steam' (cached); generated: 2024-12-02T07:45:38Z solvables: 2
rpm-md repo 'updates-archive' (cached); generated: 2025-01-28T04:11:39Z solvables: 70457
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
Problem: package noopenh264-0.1.0~openh264_2.4.0-1.fc40.x86_64 from @System conflicts with openh264 provided by openh264-2.4.1-2.fc40.x86_64 from fedora-cisco-openh264
- package openh264-2.4.1-2.fc40.x86_64 from fedora-cisco-openh264 obsoletes noopenh264 < 1:0 provided by noopenh264-0.1.0~openh264_2.4.0-1.fc40.x86_64 from @System
- package mozilla-openh264-2.4.1-2.fc40.x86_64 from fedora-cisco-openh264 requires openh264(x86-64) = 2.4.1-2.fc40, but none of the providers can be installed
- conflicting requests
So telling me packages may be layered got me on the right path. From there I was able to do some research Removing Layered Packages :: Fedora Docs
& uninstall the layered packages then I was able to upgrade to 40 then 41. So problem solved. Thank you for putting me on right path.
Prior to F40, gnome-software included a plugin that would automatically layer langpacks-en. It’s not necessary anymore, but that’s where it comes from.
Using mozilla-openh264would require utilizing rpm-ostree override remove to swap noopenh264 for openh264 from Cisco, but that’s best avoided if you’re not using the native Firefox version.
Also, there’s no need to rebase through F40; you can skip directly from F39 to F41. In theory, it should be possible to go from any version to any version, but you might run into e.g. bootloader issues if you push that too far.
Do you have any documentation for this? Even conventional Fedora supports skipping a release.
/var is unmanaged by ostree by design, so any migration would have to happen via some sort of oneshot script that runs on first boot, and I’m not aware of anything like that existing. /etc is handled by a three-way merge which would have the same end result from rebasing once or twice.
Skipping major releases is currently untested and is thus not supported. You should update only one major release at a time, i.e. from Fedora 40 to 41, etc.
But I dont know about these upgrade paths in detail, that was an assumption
How does ostree make sure that a “one-shot” is really a “one-shot”? As you know, there are a lot of Fedora 41 images out there.
If I do a rebase from 40 to 41 today, I’ll have a completely different image than, lets say, last month. ostree is supposed to give you reproducible images. wouldn’t that defeat the purpose of ostree at all?
And what’s happens, if i rebase to a completly different DE as found in the fedora magazine? This would also be a unsupported scenario i guess
i Think, this makes only sense, if you have some local stuff, layered packages or a local initramfs for example.