On Mon, May 11, 2020 at 7:23 PM Miro Hrončok <mhroncok@xxxxxxxxxx> wrote: > > On 12. 05. 20 0:32, Adam Williamson wrote: > > On Mon, 2020-05-11 at 01:47 +0200, Miro Hrončok wrote: > >> On 10. 05. 20 20:48, Kevin Fenzi wrote: > >>> Basically we are switching from 'I go and install > >>> fedora-obsolete-packages and have opted in to it' to 'I have to go > >>> explictly exclude it to keep my obsolete packges'. > >> > >> As others have pointed out, this was never the case of 'I go and install > >> fedora-obsolete-packages and have opted in to it' -- this was always the case of > >> 'fedora-obsolete-packages obsoletes something I had installed, so it is pulled > >> in by dep resolver'. > > > > Uh. Are we *sure* about that? Same as Kevin, that is not how I recall > > this working. > > Yes, I am *sure*. > > > I've long worked under the belief that this if Y Obsoletes: X, but you > > don't have Y installed (and nothing else in the update would cause it > > to be pulled in), running 'dnf update' with a repo that contains Y > > enabled is not going to install Y and remove X. X will stay there. > > Obsoletes: only kick in if the package that does the obsoleting is > > installed, or is included in the transaction. > > Package Y that obsoletes X kicks in when you have X installed and Y available. > (Assuming both are non-modular. With modules, this concept is broken.) > > > This is - AIUI - why the packaging guidelines say, when you rename a > > package, that the new package should Obsoletes: *and Provides:* the old > > package: without the Provides:, you cannot expect the new package to > > reliably replace the old one. > > The provides is there only to not break existing packages and users who depend > on and/or install the old name. > > > Are you *sure* that DNF doesn't behave this way? The idea surprises me. > > Yes, I am *sure*. I guess it's not dnf, but libsolv, hence GNOME Software should > behave the same. > To be clear: Obsoletes affects _only_ upgrades. Our policy says to do Obsoletes+Provides so that when people do *installs*, they get the new package too. fedora-obsolete-packages *explicitly* does not do Provides for this reason. There were a few YUM hacks where it processed Obsoletes on installs in specific circumstances as well, but that behavior has been gone from Fedora since we switched to DNF in Fedora 22. And good riddance. -- 真実はいつも一つ!/ Always, there's only one truth! _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx