On Sun, Jul 27, 2014 at 4:24 PM, Michał Górny <[email protected]> wrote: > Dnia 2014-07-27, o godz. 10:42:19 > > 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.
I'd think that portage should update vdb as soon as it detects the dependency change. Then B would no longer depend on A in vdb. It shouldn't hold onto outdated information. Basically a dependency change should trigger a no-rebuild merge if it is safe to do so, and if not there should be a revbump anyway. If A is removed before there is a sync, then A is still installed on the user's system and portage still thinks that B depends on A, so it remains consistent. I acknowldege that this isn't how portage behaves today. Rich
