Gentoo Archives: gentoo-dev

From: Peter Stuge <peter@×××××.se>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: don't rely on dynamic deps
Date: Sun, 27 Jul 2014 16:27:50
Message-Id: 20140727162741.23420.qmail@stuge.se
In Reply to: Re: [gentoo-dev] Re: don't rely on dynamic deps by Ciaran McCreesh
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