1 |
On Sat, 28 Jun 2008 19:57:11 +0200 |
2 |
Tiziano Müller <dev-zero@g.o> wrote: |
3 |
> I miss two things here: |
4 |
> a) What happens in case of DEPEND="", RDEPEND=">=cat/bar-2:=" ? Is |
5 |
> that defined? If yes, what does it mean? If not, what shall be the |
6 |
> package managers behaviour? |
7 |
|
8 |
:= only makes sense when something is both a DEPEND and an RDEPEND. |
9 |
Actual behaviour, for Paludis, is that it rewrites := deps to :=blah |
10 |
when writing to VDB any time it can, and leaves anything it can't as := |
11 |
deps. Verifying sanity of := use is left to developers and the QA tool. |
12 |
|
13 |
> b) It is not said that a package depending on "|| ( cat/bar:2 |
14 |
> cat/bar:3 )" then really uses cat/bar:3 if available, it might as |
15 |
> well use cat/bar:2 for one reason or another. It might be clearer if |
16 |
> we have slots named "stable", "unstable". In such a case a package |
17 |
> depending on cat/bar might decided to use cat/bar:stable if available |
18 |
> instead of cat/bar:unstable. So, the spec should either state that |
19 |
> the package must use the best matching version or we need another way |
20 |
> for such cases, like a function to explicitly tell the pm which slot |
21 |
> has been used. |
22 |
|
23 |
The only sensible thing you can do with multiple matches on := slots |
24 |
(and ||=, if that route is taken) is to take the slot of the best |
25 |
matching installed version, and require that ebuilds do that too. In |
26 |
real world cases, this works just fine. |
27 |
|
28 |
-- |
29 |
Ciaran McCreesh |