From 459afecb958f9d6a6d7fb44c08c533e991cbfa63 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 8 May 2008 07:48:59 +0000 Subject: 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 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'doc/dependency_resolution/task_scheduling.docbook') 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 @@ 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: @@ -46,6 +46,16 @@ + + 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. + Circular Dependencies -- cgit v1.2.3-1-g7c22