how to have yum prefer one dependency over others
Kevin Kofler
kevin.kofler at chello.at
Sat Sep 17 01:13:45 UTC 2011
Miloslav Trmač wrote:
> On Fri, Sep 16, 2011 at 8:42 PM, Richard Hughes <hughsient at gmail.com>
> wrote:
>>> I think I'm going to suggest to fesco that all non-yum depsolvers be
>>> removed from the distribution. It just creates more work than it does
>>> value.
>>
>> Ha! That's really funny, and it's just made my evening. While you're
>> asking fesco, can you also ask them to remove KDE and XFCE as well
>> please.
>>
>> There's really nothing special about a package manager I assure you.
>
> How about the 1126 members of the "packager" group - i.e. most of us -
> that would have to create and maintain packages compatible with two
> different systems?
The yum default provider picking logic has become so complex (and dependent
on what the user happens to have already installed!) that we effectively
have to treat it as random and non-deterministic anyway. So if some other
tool makes another random choice, that won't really change all that much.
If we want package maintainers to be able to actually choose what provider
gets picked by default, all those complex heuristics must be replaced by
something simple and dependable (e.g. 1. prefer same arch, 2. prever newest
Provides version, 3. prefer shortest package name, 4. prefer first package
name in the alphabet, period). (Also note that I intentionally use a linear
decision tree, not scoring. If you weigh the criteria against each other,
it's much harder to be certain of what will happen than if you just make the
decision based on the highest-priority criterion only.) What zif is doing is
a step in the right direction there, and for the consistency issue, it's yum
that should be fixed, not zif. If the algorithm comes up with the wrong
result, we need to fix the packages, not the algorithm (and this is the
mistake yum made). And while making a decision based on what the user has
already installed may make sense from a user's perspective, from a
developer's perspective, it's completely unacceptable because it means
different users can get different dependencies dragged in by the same
Requires, even with the same tool!
Kevin Kofler
More information about the devel
mailing list