1 |
Ciaran McCreesh wrote: |
2 |
> Uh huh, so you add an overlay, and suddenly the dependencies for a |
3 |
> random subset of your installed packages change in ways that don't in |
4 |
> any way reflect what you have installed. How is this the desired |
5 |
> behaviour? |
6 |
|
7 |
There are several different cases of dependency data which apply in |
8 |
different ways for different operations. |
9 |
|
10 |
For a model to be accurate it needs to consider all cases, and treat |
11 |
them differently where neccessary. |
12 |
|
13 |
Adding an overlay doesn't change anything about what is installed. |
14 |
|
15 |
Installing one version of an ebuild from an overlay, with another |
16 |
version of the ebuild (from same overlay, or not) already installed, |
17 |
clearly needs the package manager to consider what the overlay ebuild |
18 |
says. That's the purpose of the overlay. |
19 |
|
20 |
Overlay maintainers already have the responsibility to create |
21 |
well-formed ebuilds, and there are even tools like overlint to help |
22 |
with the task. If they don't, the applicability of their overlay |
23 |
decreases. Sometimes this is on purpose, and it can be completely |
24 |
unproblematic. It's a little like rewriting public git history. |
25 |
Many people cry bloody murder about that, but in lots of cases it's |
26 |
perfectly fine. |
27 |
|
28 |
So are overlay dependencies which aren't perfectly well-formed. |
29 |
That's probably why they're in an overlay in the first place. |
30 |
|
31 |
It's not the responsibility of the package manager to magically |
32 |
resolve dependencies without sufficient information. |
33 |
|
34 |
It's the responsibility of ebuild authors to provide such |
35 |
information, so that dependencies can be resolved accurately for all |
36 |
package manager operations. |
37 |
|
38 |
It seems that this may be a case of trying to do way too much, and |
39 |
as a result doing a bad job at everything. I agree firmly with Rich |
40 |
that it is much better to do a good job at some (well-known, perhaps |
41 |
even documented) things, than a bad job at all things. |
42 |
|
43 |
It's fine to simply error out with a message saying that the |
44 |
encountered situation is not supported. |
45 |
|
46 |
|
47 |
//Peter |