diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-08 07:48:59 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-08 07:48:59 +0000 |
commit | 459afecb958f9d6a6d7fb44c08c533e991cbfa63 (patch) | |
tree | 9bba8b0126230441b92ce632ffe0bf40de1d2cbc /doc | |
parent | 30612136631ec3a0ddf7d4ac24e80ea757a802b5 (diff) | |
download | portage-459afecb958f9d6a6d7fb44c08c533e991cbfa63.tar.gz portage-459afecb958f9d6a6d7fb44c08c533e991cbfa63.tar.bz2 portage-459afecb958f9d6a6d7fb44c08c533e991cbfa63.zip |
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
Diffstat (limited to 'doc')
-rw-r--r-- | doc/dependency_resolution/task_scheduling.docbook | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/doc/dependency_resolution/task_scheduling.docbook b/doc/dependency_resolution/task_scheduling.docbook index f879980cd..01953128e 100644 --- a/doc/dependency_resolution/task_scheduling.docbook +++ b/doc/dependency_resolution/task_scheduling.docbook @@ -21,7 +21,7 @@ </para> <para> In order to avoid a conflict, a package may need to be uninstalled - in advance, rather than through replacement. The following constraints + rather than replaced. The following constraints protect inappropriate packages from being chosen for automatic uninstallation: <itemizedlist> @@ -46,6 +46,16 @@ </listitem> </itemizedlist> </para> + <para> + In order to ensure that package files remain installed in a usable state + whenever possible, uninstallation operations are not executed + until after all associated conflicting packages have been installed. + 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. + </para> </sect1> <sect1 id='dependency-resolution-task-scheduling-circular-dependencies'> <title>Circular Dependencies</title> |