summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-08 08:18:10 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-08 08:18:10 +0000
commit03e0b243240ab69425055c3192243f20c89d0d89 (patch)
treeef2a978abc55c625303a1120c54ebc0216e4a1ca /doc
parent5d8c30432f3c60c1f14fa6328689b8f489276062 (diff)
downloadportage-03e0b243240ab69425055c3192243f20c89d0d89.tar.gz
portage-03e0b243240ab69425055c3192243f20c89d0d89.tar.bz2
portage-03e0b243240ab69425055c3192243f20c89d0d89.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. (trunk r10225) svn path=/main/branches/2.1.2/; revision=10227
Diffstat (limited to 'doc')
-rw-r--r--doc/dependency_resolution/task_scheduling.docbook12
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>