Gentoo Archives: gentoo-dev

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Portage dependency solving algorithm
Date: Sun, 09 Nov 2014 12:40:16
Message-Id: 20141109124002.4c54f742@googlemail.com
In Reply to: Re: [gentoo-dev] Portage dependency solving algorithm by Rich Freeman
1 On Sat, 8 Nov 2014 16:30:04 -0500
2 Rich Freeman <rich0@g.o> wrote:
3 > if you have the second dep installed
4
5 Unfortunately the notion of "installed" is where most of the mess with
6 || dependencies comes from...
7
8 What about "not installed yet, but will be installed during this
9 resolution"?
10
11 What about "an earlier version is installed, and will be upgraded
12 during this resolution"?
13
14 What about "an earlier version is installed, and we weren't going to
15 upgrade it, but we could"?
16
17 What about "a version is installed, but with the wrong USE flags"?
18
19 What about "a version in a different SLOT is installed"?
20
21 What about "it's installed, and we want to upgrade it, but selecting
22 this would lock us to an old version"?
23
24 Paludis has a *massive* list of scoring rules for these sorts of things
25 to try to do "the right thing" most of the time. Unfortunately there
26 are situations in the tree with identically-expressed dependencies
27 where doing one thing is the "right" answer in one case, and the other
28 thing is the "right" answer in the other.
29
30 One small step towards sanity is to stop using ( ) and || ( ) when the
31 intent is to select a single package and give a choice of how it's
32 installed (even if it means new syntax). The second step is to abolish
33 pretty much every use of ||.
34
35 --
36 Ciaran McCreesh

Attachments

File name MIME type
signature.asc application/pgp-signature