I just went to upgrade some of my systems from Fedora 31 to Fedora 32, and noticed that for some reason, dnf wants to remove fedora-obsolete-packages as part of the upgrade: Removing dependent packages: fedora-obsolete-packages noarch 31-41 @updates 150 It doesn't seem to be replacing it with anything else, it's just...taking it out. Note that "Removing dependent packages" may well be a lie, I forget the exact codepath but I've noted before that packages removed for various reasons that don't really match "dependent packages" can show up in that list. I cannot yet figure out the reason for this. AFAICS no package Obsoletes: fedora-obsolete-packages or anything like that. But I've seen this on two different systems, with or without updates-testing enabled in the upgrade command.
How is this a problem (except it might be confusing for several people who know what fedora-obsolete-packages actually is)? See https://src.fedoraproject.org/rpms/fedora-obsolete-packages/pull-request/23
Removing the severity for now. The package works as expected, it just doesn't stay on the user machines any more. Feel free to re-bump it if you provide pointers of what's actually broken. I won't get back to this until tmrw.
oh, I didn't know about that feature. It's an odd one. It *is* confusing to see this happen on upgrade, though, especially since DNF lies about why it's being removed (it's not a "dependent package").
Technically, it was brought in only as a dependency (obsoletes is a kind of dependency) and is no longer required by anything, hence, maybe it should say "Removing unused dependencies".
$ dnf install https://kojipkgs.fedoraproject.org//packages/fedora-obsolete-packages/32/22/noarch/fedora-obsolete-packages-32-22.noarch.rpm ... Installed: fedora-obsolete-packages-32-22.noarch $ dnf upgrade Removing dependent packages: fedora-obsolete-packages So yes, you are correct, this is confusing term. Feel free to open a dnf/libsolv bugzilla or reuse this one, but fedora-obsolete-package itself is not broken.
Saw this too on upgrade from F31->F32 via Gnome Software (or whatever the GUI is called). I guess it is not a problem? But will fedora-obsolete-packages come back on upgrade to F33 if it is needed to cause other packages to be removed?
yeah, it wasn't obvious to me but after poking through a bit it seems this is some kind of clever new feature that lets fedora-obsolete-packages do its work without actually being installed all the time.
Yeah, that's libsolv feature which is used since https://src.fedoraproject.org/rpms/fedora-obsolete-packages/pull-request/23. I guess nothing to do here.
(In reply to Miro Hrončok from comment #5) > $ dnf install > https://kojipkgs.fedoraproject.org//packages/fedora-obsolete-packages/32/22/ > noarch/fedora-obsolete-packages-32-22.noarch.rpm > ... > Installed: > fedora-obsolete-packages-32-22.noarch > > $ dnf upgrade > Removing dependent packages: > fedora-obsolete-packages > > > > So yes, you are correct, this is confusing term. Feel free to open a > dnf/libsolv bugzilla or reuse this one, but fedora-obsolete-package itself > is not broken. If going to open, please open DNF one - libsolv does not format messages, that's what DNF does.
> But will fedora-obsolete-packages come back on upgrade to F33 if it is needed to cause other packages to be removed? It will "come", obsolete the packages and go away in a single transaction. It will never actually be installed.
This is confusing and unfortunately this bugzilla entry can't even be found on Google. I tried installing f-o-s after the upgrade but dnf just says dependencies resolved but then doesn't list it as an installed package. This makes a lot of sense now but not back then. How do you think about adding this as a note to common bugs despite not actually being one?
> How do you think about adding this as a note to common bugs despite not actually being one? Totally fine by me. What about: The special package called "fedora-obsolete-packages" is no longer installable. The package's only purpose is to obsolete no longer existing packages from Fedora, that would otherwise cause dependency resolution problems on upgrades. The package accomplishes its purpose simply by being available in the repositories. An attempt to install this package will end with "Nothing to do" message, bot don't worry: this is not an error the fedora-obsolete-packages package does not need to be installed.
Sounds good to me. I think this would go under Core System Issues [1], I can add it there if you like. Just one detail: I wonder if we should also cover the "removed on upgrade to 32" aspect of this issue, either as a separate (very short) entry in the Upgrade Issues [2] section or a small addition to your text. (e.g. 'The special package called "fedora-obsolete-packages" is removed on upgrade to Fedora 32 and no longer installable.') Typo: bot don't worry -> but don't worry 1: https://fedoraproject.org/wiki/Common_F32_bugs#Core_system_issues 2: https://fedoraproject.org/wiki/Common_F32_bugs#Upgrade_issues
'The special package called "fedora-obsolete-packages" is removed on upgrade to Fedora 32 and no longer installable.' sound good. I think this doesn't need a sparate entry in Upgrade Issues, but if you disagree, feel free to add it. Changing to MODIFIED, so the CommonBugs keyword works.
Done, thank you Miro! It seems like I don't have permission to edit the Whiteboard, here is the link: https://fedoraproject.org/wiki/Common_F32_bugs#fedora-obsolete-packages
Thanks, David and Miro! I added the whiteboard entry. I am gonna tweak the text a bit to also specifically talk about the package getting removed on upgrade, but what you wrote is a great start :)
Adam, if I close this bug again, will the note on the wiki stay?
yeah, it will.
Thanks.
How is this a feature? I wasted several minutes trying to debug this (after upgrading from Fedora 31 to 32), with no level of DNF verbosity telling me what is actually happening, ending up installing the package with rpm -Uvh directly (because that was the only thing that worked), only to see the upgrade from Fedora 32 to 33 remove it again. Seeing DNF remove fedora-obsolete-packages and refuse to install it made me assume that there was something preventing the removal of one of the packages that fedora-obsolete-packages wants to obsolete, when actually that was not the case at all. I don't see any reason why fedora-obsolete-packages needs to be special-cased this way and cannot be a normal metapackage with Obsoletes as it always was. All it does is confusing users (even, and especially, experienced ones).
It is documented and eventually will go away. The removal is one time thing. I don't necessarily disagree that it's not useful but I don't think it is worth reverting it this late after it happened.
What happens after the removal is even more confusing, because packages will get obsoleted by "magic" without anything obsoleting them actually getting installed.