Bug 1827398 - fedora-obsolete-packages being removed on upgrade to Fedora 32
Summary: fedora-obsolete-packages being removed on upgrade to Fedora 32
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: fedora-obsolete-packages
Version: 32
Hardware: All
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: https://fedoraproject.org/wiki/Common...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-04-23 19:52 UTC by Adam Williamson
Modified: 2021-01-11 17:48 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-13 23:19:44 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Adam Williamson 2020-04-23 19:52:30 UTC
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.

Comment 1 Miro Hrončok 2020-04-23 20:13:50 UTC
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

Comment 2 Miro Hrončok 2020-04-23 20:15:41 UTC
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.

Comment 3 Adam Williamson 2020-04-24 14:16:04 UTC
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").

Comment 4 Miro Hrončok 2020-04-24 15:06:05 UTC
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".

Comment 5 Miro Hrončok 2020-04-24 15:12:04 UTC
$ 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.

Comment 6 Scott Talbert 2020-05-08 15:28:26 UTC
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?

Comment 7 Adam Williamson 2020-05-08 15:41:14 UTC
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.

Comment 8 Igor Raits 2020-05-08 16:37:29 UTC
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.

Comment 9 Igor Raits 2020-05-08 16:41:54 UTC
(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.

Comment 10 Miro Hrončok 2020-05-08 21:13:40 UTC
> 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.

Comment 11 David Auer 2020-05-12 22:22:32 UTC
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?

Comment 12 Miro Hrončok 2020-05-13 09:49:35 UTC
> 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.

Comment 13 David Auer 2020-05-13 12:00:31 UTC
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

Comment 14 Miro Hrončok 2020-05-13 12:07:02 UTC
'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.

Comment 15 David Auer 2020-05-13 15:08:59 UTC
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

Comment 16 Adam Williamson 2020-05-13 15:55:29 UTC
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 :)

Comment 17 Miro Hrončok 2020-05-13 21:40:28 UTC
Adam, if I close this bug again, will the note on the wiki stay?

Comment 18 Adam Williamson 2020-05-13 21:46:47 UTC
yeah, it will.

Comment 19 Miro Hrončok 2020-05-13 23:19:44 UTC
Thanks.

Comment 20 Kevin Kofler 2021-01-11 16:28:38 UTC
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).

Comment 21 Miro Hrončok 2021-01-11 17:20:21 UTC
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.

Comment 22 Kevin Kofler 2021-01-11 17:48:06 UTC
What happens after the removal is even more confusing, because packages will get obsoleted by "magic" without anything obsoleting them actually getting installed.


Note You need to log in before you can comment on or make changes to this bug.