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.
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.
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.
Are you *sure* that DNF doesn't behave this way? The idea surprises me.