Merged from trunk 5336:5350
For bug #158649, minimize portdb cache pulls for installed packages when
--nodeps is enabled. This patch also allows the vardb lock to be released
before doing any cache pulls (even when --nodeps is not enabled), and updates
the spinner while the metadata is being pulled.
More intelligently handle CacheCorruption errors in the writable cache.
For bug #158558, ignore invalid depstrings for packages that are being replaced
anyway (otherwise the user would be forced to manually unmerge the package).
When a removal phase fails, tell the user where the ebuild is and advise them
that the ebuild can be removed in order to skip the removal phases.
For installed packages with invalid depstrings, tell the user the location of
the *DEPEND files.
For bug #158632, make aux_get caching safe for missing values in cache entries.
For bug #158658, fix the 'TypeError: int argument required' that happens in the
finalize() routine.
Use the return value from setdefault to avoid an extra dict lookup.
Create a backward compatibility mode for dep_check() so that emerge can use it
to gracefully deal with installed packages that have invalid atoms or dep
syntax.
Make emerge enable backward compatibility mode for dep_check() calls on
installed packages so that it can gracefully invalid atoms or dep syntax.
Fix the "help" phase so that it works without build dirs.
For bug #158649, allow --buildpkgonly to bypass the fakedb population like
--nodeps does.
Revert the default choice for --ask --unmerge (bug #158354) because people are
complaining.
Use a pipe instead of a temp file for the depend phase.
svn path=/main/branches/prefix/; revision=5373