Merged from trunk 5027:5057
For bug #154989, use a single lock on /var/db/pkg since finer grained
locking is unnecessary and often insufficient.
For bug #154989, lock /var/db/pkg while determining which packages to
unmerge, then release the lock. The lock will be reacquired/released
for each individual unmerge, allowing opportunities for other processes
to acquire it.
Use try/finally to ensure that locks are properly released in
portdbapi.aux_get().
Use try/finally to ensure that locks are properly released in
perform_checksum().
Use try/finally to ensure that locks are properly released in
emergelog().
Use try/finally to ensure that locks are properly released in
dblink.unmerge().
Remove reentrance support for dblink.lockdb() since it's no longer used
and it won't necessarily work correctly now that a global vdb lock is
used.
For bug #154986, show the usual "Filesize does not match recorded size"
message even for fetch restricted files.
For bug #154897, show a summary of fetch restrictions if there are any.
Cache depgraph.altlist results, since altlist is called multiple times
and can be time consuming for a large depgraph.
Make fakedbapi support generic metadata instead of just slots.
Remove useless unmerge() call after collision-protect has prevented
anything from being merged.
Fix a lock file leak.
Make portage.global_updates() return any updates that may have been
performed.
Only reload the config if global updates have actually been performed.
Automatically convert --ask to --pretend when the user doesn't have the
privileges for --ask. Thanks to Daniel Barkalow <barkalow@iabervon.org>
for the initial patch (submitted on gentoo-portage mailing list).
Don't try to lock the vdb unless privileges are sufficient.
For bug #141118, make dep_check do recursive expansion of new-style
virtuals.
Add a note about removal of new-style virtuals in the depclean output.
svn path=/main/branches/prefix/; revision=5059