Instead of doing automatic uninstalls in advance, install conflicting
authorZac Medico <zmedico@gentoo.org>
Thu, 8 May 2008 07:48:59 +0000 (07:48 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 8 May 2008 07:48:59 +0000 (07:48 -0000)
commit459afecb958f9d6a6d7fb44c08c533e991cbfa63
tree9bba8b0126230441b92ce632ffe0bf40de1d2cbc
parent30612136631ec3a0ddf7d4ac24e80ea757a802b5
Instead of doing automatic uninstalls in advance, install conflicting
packages first and then do the uninstall afterwards. This requires
special handling for file collisions occur, but it's preferred
because it ensures that package files remain installed in a usable
state whenever possible.

When file collisions occur between conflicting packages, the contents
entries for those files are removed from the packages that are
scheduled for uninstallation. This prevents uninstallation operations
from removing overlapping files that have been claimed by conflicting
packages.

svn path=/main/trunk/; revision=10225
doc/dependency_resolution/task_scheduling.docbook
pym/_emerge/__init__.py
pym/portage/__init__.py
pym/portage/dbapi/vartree.py