1 |
Michael Orlitzky <mjo@g.o> wrote: |
2 |
> |
3 |
> With dynamic deps, portage will scan (that is, execute) all of the |
4 |
> ebuilds for installed packages that could affect the dependency graph. |
5 |
|
6 |
This is not correct. This data is already stored in metadata/ |
7 |
(or in /var/cache/edb, depending on the backend), |
8 |
and just has to be read from there instead of /var/db |
9 |
|
10 |
The difference between dynamic deps and static deps is |
11 |
that in the latter case always the information from |
12 |
/var/db is used, while in the former case the (usually more |
13 |
up-to-date) version from metadata/ is preferred if it is available. |
14 |
|
15 |
> Buuuuuuutttttt dynamic-deps mode doesn't always kick in. It interacts |
16 |
> weirdly with subslots and other things. |
17 |
|
18 |
That's the real problem: When an automatic (":=") subslot is |
19 |
involved, portage did not check metadata/ but always took /var/db. |
20 |
So it was necessary to either fix this inconsistent behaviour |
21 |
of portage (which would not have been easy though possible), |
22 |
or to switch to static deps completely which requires a |
23 |
change of the dump policy. |
24 |
|
25 |
Both approaches have advantages and disadvantages and |
26 |
lead to different types of breakage in different situations - |
27 |
see the lengthy and partly emotional discussion on the developers |
28 |
list some years ago; I am not going to repeat the arguments. |
29 |
|
30 |
The developers deciceded to go the way which is simplest for |
31 |
them but perhaps less convenient for the user: For the user, |
32 |
it means that in the future he has to rebuild *a lot* of packages |
33 |
much more often than previously, for no other benefit than |
34 |
updating /var/db (which would obviously not be necessary |
35 |
at all for dynamic deps). |