I have a user that has a Fedora 43 that has its dnf misconfigured so “$releasever” isn’t defined. So dnf upgrade shows 404 errors since the URLs are all wrong (the $releasever in the URLs don’t resolve to “43” causing 404 errors)
For example the command “dnf repolist fedora-cisco-openh264” repo name string looks like:
Fedora $releasever openh264 (From Cisco) – x86_64
where it obviously should show as:
Fedora 43 openh264 (From Cisco) – x86_64
What file is the one that would define the releaserver value for dnf? I suspect if that files owning package could be upgraded/installed this would be fixed.
Probably not, to do a test on my system (I have properly working dnf), I edited that file’s VERSION_ID to be wrong and then I run “dnf repolist” I see the correct “44” values.
I was thinking “VERSION_ID” as the most obvious candidate.
So I went back in and edited every single “44” in there to be something else, the repolist is still correct. So it’s probably some other file.
Edit: My only other guess would be that the version is cached in /usr/lib/sysimage/rpm/rpmdb.sqlite. Does dnf clean all clear it? How about rpmdb --rebuilddb?
I’ve edited the file again to try again after doing a dnf clean all, the value is still showing 44 in the repolist. rpmdb --rebuliddb is too dangerous for me to do as a test. I have a clean working machine and am trying to emulate the problem to find the file for the other person to fix.
Okay, then I don’t really see how to fix that, the original issue thread is here, I’m the “marko” there:
Maybe the distro-sync like you say would work. I’ll suggest doing a dry-run of that and opting out at the prompt with a “n” to see what the packages are if any it finds to change.
Since the user is using ZFS, adding --exclude=kernel\* to that dnf distro-sync command would be OK.
Also, if they have their entire OS on one dataset (except maybe their home directory), they should be able to take a snapshot of their installation before running dnf distro-sync and/or rpmdb --rebuilddb. As long as they are careful not to change their currently-working initramfs (i.e. don’t update any of the kernel packages), they should be able to roll their installation back to the previous snapshot from Dracut’s emergency shell if they need to.
By using the strace utility I found that it could be the file /etc/os-release or /usr/lib/rpm/macros.d/macros.dist, both provided by fedora-release-common.
Alsom by experience, when I run dnf upgrade --releasever=44 fedora\* on a Fedora 43, the dnf will now use the Fedora 44 repos.
Yes, for fedora-release-cinnamon but not for fedora-release-common which is common for all editions and spins. When installing fedora-release-cinnamon it will pull in fedora-release-common as a dependency.
The releasever variable may not be set from a field called “releasever”. You will need to read the python programs to know exactly which field is being used.
$ dnf provides 'system-release(44)' |grep common
Updating and loading repositories:
Repositories loaded.
$ dnf provides 'system-release(44)'
Updating and loading repositories:
Repositories loaded.
fedora-release-cinnamon-44-18.noarch : Base package for Fedora Cinnamon-specific default configurations
Repo : @System
Matched From :
Provide : fedora-release-cinnamon = 44-18
fedora-release-44-17.noarch : Fedora release files
Repo : fedora
Matched From :
Provide : fedora-release = 44-17
fedora-release-budgie-44-17.noarch : Base package for Fedora Budgie specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-budgie = 44-17
fedora-release-budgie-atomic-44-17.noarch : Base package for Fedora Budgie Atomic specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-budgie-atomic = 44-17
fedora-release-cinnamon-44-17.noarch : Base package for Fedora Cinnamon-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-cinnamon = 44-17
fedora-release-cloud-44-17.noarch : Base package for Fedora Cloud-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-cloud = 44-17
fedora-release-compneuro-44-17.noarch : Base package for Fedora Comp Neuro specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-compneuro = 44-17
fedora-release-container-44-17.noarch : Base package for Fedora container specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-container = 44-17
fedora-release-coreos-44-17.noarch : Base package for Fedora CoreOS-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-coreos = 44-17
fedora-release-cosmic-44-17.noarch : Base package for Fedora COSMIC specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-cosmic = 44-17
fedora-release-cosmic-atomic-44-17.noarch : Base package for Fedora COSMIC Atomic specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-cosmic-atomic = 44-17
fedora-release-designsuite-44-17.noarch : Base package for Fedora Design Suite specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-designsuite = 44-17
fedora-release-flatpak-44-17.noarch : Base package for Fedora flatpak specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-flatpak = 44-17
fedora-release-i3-44-17.noarch : Base package for Fedora i3 specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-i3 = 44-17
fedora-release-iot-44-17.noarch : Base package for Fedora IoT specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-iot = 44-17
fedora-release-kde-desktop-44-17.noarch : Base package for Fedora KDE Plasma Desktop-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-kde-desktop = 44-17
fedora-release-kde-mobile-44-17.noarch : Base package for Fedora KDE Plasma Mobile specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-kde-mobile = 44-17
fedora-release-kinoite-44-17.noarch : Base package for Fedora Kinoite-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-kinoite = 44-17
fedora-release-kinoite-mobile-44-17.noarch : Base package for Fedora Kinoite Mobile specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-kinoite-mobile = 44-17
fedora-release-lxde-44-17.noarch : Base package for Fedora LXDE specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-lxde = 44-17
fedora-release-lxqt-44-17.noarch : Base package for Fedora LXQt specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-lxqt = 44-17
fedora-release-matecompiz-44-17.noarch : Base package for Fedora MATE-Compiz-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-matecompiz = 44-17
fedora-release-miraclewm-44-17.noarch : Base package for Fedora MiracleWM specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-miraclewm = 44-17
fedora-release-miraclewm-atomic-44-17.noarch : Base package for Fedora MiracleWM Atomic specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-miraclewm-atomic = 44-17
fedora-release-mobility-44-17.noarch : Base package for Fedora Mobility specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-mobility = 44-17
fedora-release-server-44-17.noarch : Base package for Fedora Server-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-server = 44-17
fedora-release-silverblue-44-17.noarch : Base package for Fedora Silverblue-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-silverblue = 44-17
fedora-release-snappy-44-17.noarch : Base package for Fedora snap specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-snappy = 44-17
fedora-release-soas-44-17.noarch : Base package for Fedora Sugar on a Stick-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-soas = 44-17
fedora-release-sway-44-17.noarch : Base package for Fedora Sway specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-sway = 44-17
fedora-release-sway-atomic-44-17.noarch : Base package for Fedora Sway Atomic specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-sway-atomic = 44-17
fedora-release-toolbx-44-17.noarch : Base package for Fedora Toolbx container specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-toolbx = 44-17
fedora-release-workstation-44-17.noarch : Base package for Fedora Workstation-specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-workstation = 44-17
fedora-release-wsl-44-17.noarch : Base package for Fedora WSL specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-wsl = 44-17
fedora-release-xfce-44-17.noarch : Base package for Fedora Xfce specific default configurations
Repo : fedora
Matched From :
Provide : fedora-release-xfce = 44-17
generic-release-44-0.2.noarch : Generic release files
Repo : fedora
Matched From :
Provide : generic-release = 44-0.2
fedora-release-44-18.noarch : Fedora release files
Repo : updates
Matched From :
Provide : fedora-release = 44-18
fedora-release-budgie-44-18.noarch : Base package for Fedora Budgie specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-budgie = 44-18
fedora-release-budgie-atomic-44-18.noarch : Base package for Fedora Budgie Atomic specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-budgie-atomic = 44-18
fedora-release-cinnamon-44-18.noarch : Base package for Fedora Cinnamon-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-cinnamon = 44-18
fedora-release-cloud-44-18.noarch : Base package for Fedora Cloud-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-cloud = 44-18
fedora-release-compneuro-44-18.noarch : Base package for Fedora Comp Neuro specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-compneuro = 44-18
fedora-release-container-44-18.noarch : Base package for Fedora container specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-container = 44-18
fedora-release-coreos-44-18.noarch : Base package for Fedora CoreOS-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-coreos = 44-18
fedora-release-cosmic-44-18.noarch : Base package for Fedora COSMIC specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-cosmic = 44-18
fedora-release-cosmic-atomic-44-18.noarch : Base package for Fedora COSMIC Atomic specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-cosmic-atomic = 44-18
fedora-release-designsuite-44-18.noarch : Base package for Fedora Design Suite specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-designsuite = 44-18
fedora-release-flatpak-44-18.noarch : Base package for Fedora flatpak specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-flatpak = 44-18
fedora-release-i3-44-18.noarch : Base package for Fedora i3 specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-i3 = 44-18
fedora-release-iot-44-18.noarch : Base package for Fedora IoT specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-iot = 44-18
fedora-release-kde-desktop-44-18.noarch : Base package for Fedora KDE Plasma Desktop-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-kde-desktop = 44-18
fedora-release-kde-mobile-44-18.noarch : Base package for Fedora KDE Plasma Mobile specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-kde-mobile = 44-18
fedora-release-kinoite-44-18.noarch : Base package for Fedora Kinoite-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-kinoite = 44-18
fedora-release-kinoite-mobile-44-18.noarch : Base package for Fedora Kinoite Mobile specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-kinoite-mobile = 44-18
fedora-release-lxde-44-18.noarch : Base package for Fedora LXDE specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-lxde = 44-18
fedora-release-lxqt-44-18.noarch : Base package for Fedora LXQt specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-lxqt = 44-18
fedora-release-matecompiz-44-18.noarch : Base package for Fedora MATE-Compiz-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-matecompiz = 44-18
fedora-release-miraclewm-44-18.noarch : Base package for Fedora MiracleWM specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-miraclewm = 44-18
fedora-release-miraclewm-atomic-44-18.noarch : Base package for Fedora MiracleWM Atomic specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-miraclewm-atomic = 44-18
fedora-release-mobility-44-18.noarch : Base package for Fedora Mobility specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-mobility = 44-18
fedora-release-server-44-18.noarch : Base package for Fedora Server-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-server = 44-18
fedora-release-silverblue-44-18.noarch : Base package for Fedora Silverblue-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-silverblue = 44-18
fedora-release-snappy-44-18.noarch : Base package for Fedora snap specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-snappy = 44-18
fedora-release-soas-44-18.noarch : Base package for Fedora Sugar on a Stick-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-soas = 44-18
fedora-release-sway-44-18.noarch : Base package for Fedora Sway specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-sway = 44-18
fedora-release-sway-atomic-44-18.noarch : Base package for Fedora Sway Atomic specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-sway-atomic = 44-18
fedora-release-toolbx-44-18.noarch : Base package for Fedora Toolbx container specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-toolbx = 44-18
fedora-release-workstation-44-18.noarch : Base package for Fedora Workstation-specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-workstation = 44-18
fedora-release-wsl-44-18.noarch : Base package for Fedora WSL specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-wsl = 44-18
fedora-release-xfce-44-18.noarch : Base package for Fedora Xfce specific default configurations
Repo : updates
Matched From :
Provide : fedora-release-xfce = 44-18