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.
Fedora 32 Copr demo:
https://copr.fedorainfracloud.org/coprs/churchyard/obsoleter/
$ sudo dnf copr enable churchyard/obsoleter
...
$ repoquery --repo=copr:copr.fedorainfracloud.org:churchyard:obsoleter
--obsoletes obsoleter
thunderbird
$ repoquery --repo=copr:copr.fedorainfracloud.org:churchyard:obsoleter
--provides obsoleter
obsoleter = 0-0
$ sudo dnf --repo=copr:copr.fedorainfracloud.org:churchyard:obsoleter upgrade
Dependencies resolved.
================================================================================
Package Arch Version
Repository Size
================================================================================
Installing dependencies:
obsoleter noarch 0-0 copr:copr.fedorainfracloud.org:churchyard:obsoleter 6.3 k
replacing thunderbird.x86_64 68.7.0-1.fc32
Transaction Summary
================================================================================
Install 1 Package
Total download size: 6.3 k
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
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