Daniel Mach wrote:
> This is nothing that can be fixed in DNF directly.
> DNF passes packages to libsolv to resolve the transaction and it can
> only cherry-pick packages for the transaction or set transaction flags.

Yes, I also think that this needs to be fixed at the libsolv level.

> If you want change in behavior, please open a discussion with libsolv's
> upstream.

I can try it, but the reaction to 
https://github.com/openSUSE/libsolv/issues/146 makes me sceptical that this 
one will be handled any better. But one can always try.

> If I understand correctly how the sat-solver works, it's populated with
> a set of rules before the transaction is resolved and it's not possible
> to tweak in on fly as yum did. It could be possible to pre-process the
> packages and hide Obsoletes of older packages, but what if the latest
> package has broken deps and doesn't get into transaction? DNF in Fedora
> has best=0. In that case the older package would get into transaction
> and its Obsoletes would be ignored - and that's definitely something we
> don't want.

I rather think that this needs to be handled with some special SAT rule at 
the libsolv level (i.e., one such as: the transaction is not allowed to drag 
in both the old version of the package and the Obsoletes that it contains). 
It is true that this complexity did not exist with the old yum because it 
would never pick old versions of packages, but filter them out completely 
before even trying to compute a transaction (like dnf --best does, 
essentially).

        Kevin Kofler
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org

Reply via email to