Gentoo Archives: gentoo-user

From: Martin Vaeth <martin@×××××.de>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: dynamic deps, wtf are they exactly
Date: Mon, 28 Sep 2015 01:20:50
Message-Id: mua4js$6vo$1@ger.gmane.org
In Reply to: [gentoo-user] Re: dynamic deps, wtf are they exactly by James
1 James <wireless@×××××××××××.com> wrote:
2 >
3 > Basically from my point of view, something like TUP [1] is needed so
4 > that at dependency check time you only list files that need
5 > attention (linking, loading, compiling etc) thus speeding up the
6 > update processes for the Package Manager (portage).
7
8 This is a misunderstanding (originally already from Michael).
9 The issue is not at all about speed of portage - reading one or
10 the other file takes the same amount of time.
11 (And having a dependency graph of files would help concerning
12 speed only in the very rare situation that no file involving
13 your current package dependency tree does change.)
14
15 The whole issue is only about the policy: If the dependency
16 information of the installed package and of the current
17 package differs - what is the "correct" information?
18
19 For each choice, it is possible to give examples where
20 the policy leads to a bad situation, so both,
21 static deps as well as dynamic deps can break in
22 certain situations. It is only a question which breakage
23 you consider more severe and/or harder to recognize/fix
24 by the user.
25
26 Making more revbumps will increase the chance of
27 no breakage - in case of static deps only for users
28 who sync and update sufficiently frequently -
29 of course at the cost of redundant recompiles.
30
31 >> I guess at some point there were a bunch of devs who were messing with
32 >> dependencies and not bothering to make revision bumps. This can cause
33 >> users pain, so portage added a new option to ignore the cache and rescan
34 >> every single relevant ebuild/eclass for sneaky dependency changes. This
35 >> ensures that portage has the correct dependencies in its head while it's
36 >> doing resolution, but is much slower.
37
38 This is historically not correct. Dynamic deps had always been
39 the only way portage treated dependencies - static deps have only
40 been used as a fallback and (unfortunately) with the introduction
41 of subslots.
42 Once more: It is not about speed, but about: What *are* the
43 "correct" dependencies? The ones referring to an historical tree
44 which - especially if you did not update for a long time -
45 might have almost nothing in common with the current tree
46 (static deps), or the ones referring to current tree
47 (dynamic deps)?
48
49 With static deps, you will have a strange mixture of historical
50 dependencies and current ones for the updates.
51 With dynamic deps, the tree might not be appropriate for your
52 installed packages.
53
54 > There is no proper mechanism to accurately track all of these issue,
55 > currently, or did I miss this point?
56
57 There is no way to automatically decide correctly which of
58 two differing informations should be used...

Replies

Subject Author
[gentoo-user] Re: dynamic deps, wtf are they exactly James <wireless@×××××××××××.com>