Michał Górny <[email protected]> wrote:
>
> Consider the following:
>
> 1. A depends on B, both are installed,
>
> 2. dependency on B is removed, emerge --depclean uninstalls B thanks
> to dynamic-deps,
>
> 3. B is treecleaned (nothing depends on it),
>
> 4. old version of A is removed (user doesn't update it yet), therefore
> dependency on B is restored from vdb.
>
> So, now user has package A installed which has unsatisfied dependency
> on non-available package.

And this is per se not a bad situation:

The version of A which the user has installed is obsolete and needs
to be upgraded. This happens with emerge -NDu @world which should
be the first (portage-related) action the user does after syncing
(certainly before removing packages with emerge depclean, as he is
already instructed clearly).

When he does not, it is a user error.

When he insists on not updating A, he should have a very valid
reason for this and take responsibility for the situation by
maintaining A in his overlay: As already mentioned several times,
it is impossible to handle unmaintained packages/versions correctly
in all situations.

Whenever a package is removed or all available versions of a
package[:slot] are masked and no update happens, portage *must*
print a big fat warning, since this is a situation which can
always lead to problematic situations - completely independent
of whether dynamic deps or static deps are used.


Reply via email to