1 |
Michał Górny <mgorny@g.o> wrote: |
2 |
> |
3 |
> Consider the following: |
4 |
> |
5 |
> 1. A depends on B, both are installed, |
6 |
> |
7 |
> 2. dependency on B is removed, emerge --depclean uninstalls B thanks |
8 |
> to dynamic-deps, |
9 |
> |
10 |
> 3. B is treecleaned (nothing depends on it), |
11 |
> |
12 |
> 4. old version of A is removed (user doesn't update it yet), therefore |
13 |
> dependency on B is restored from vdb. |
14 |
> |
15 |
> So, now user has package A installed which has unsatisfied dependency |
16 |
> on non-available package. |
17 |
|
18 |
And this is per se not a bad situation: |
19 |
|
20 |
The version of A which the user has installed is obsolete and needs |
21 |
to be upgraded. This happens with emerge -NDu @world which should |
22 |
be the first (portage-related) action the user does after syncing |
23 |
(certainly before removing packages with emerge depclean, as he is |
24 |
already instructed clearly). |
25 |
|
26 |
When he does not, it is a user error. |
27 |
|
28 |
When he insists on not updating A, he should have a very valid |
29 |
reason for this and take responsibility for the situation by |
30 |
maintaining A in his overlay: As already mentioned several times, |
31 |
it is impossible to handle unmaintained packages/versions correctly |
32 |
in all situations. |
33 |
|
34 |
Whenever a package is removed or all available versions of a |
35 |
package[:slot] are masked and no update happens, portage *must* |
36 |
print a big fat warning, since this is a situation which can |
37 |
always lead to problematic situations - completely independent |
38 |
of whether dynamic deps or static deps are used. |