From: Zac Medico Date: Wed, 23 Apr 2008 23:53:01 +0000 (-0000) Subject: Bug #172812 - Document new automatic uninstallation behavior in the X-Git-Tag: v2.2_pre6~130 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f672825a1e2c9019979f199d220dec598e19ad30;p=portage.git Bug #172812 - Document new automatic uninstallation behavior in the "Conflict Avoidance" section. svn path=/main/trunk/; revision=9948 --- diff --git a/doc/dependency_resolution/task_scheduling.docbook b/doc/dependency_resolution/task_scheduling.docbook index 8979a9f62..d9ecec168 100644 --- a/doc/dependency_resolution/task_scheduling.docbook +++ b/doc/dependency_resolution/task_scheduling.docbook @@ -12,11 +12,38 @@ Conflict Avoidance - In some cases it is possible to adjust package installation order - to avoid having two conflicting packages installed simultaneously. + Sometimes a package installation order exists such that it is + possible to avoid having two conflicting packages installed + simultaneously. If a currently installed package conflicts with a + new package that is planned to be installed, it may be possible to + solve the conflict by replacing the installed package with a + different package that occupies the same slot. - TODO: Automatically uninstall packages when necessary to avoid conflicts. + In order to avoid a conflict, a package may need to be uninstalled + in advance, rather than through replacement. The following constraints + protect inappropriate packages from being chosen for automatic + uninstallation: + + + Installed packages that have been pulled into the current dependency + graph will not be uninstalled. Due to + + dependency neglection, other checks may be necessary in order + to protect inappropriate packages from being uninstalled. + + + An installed package that is matched by a dependency atom from the + "system" set will not be uninstalled in advance since it might not + be safe. Such a package will be uninstalled through replacement. + + + An installed package that is matched by a dependency atom from the + "world" set will not be uninstalled if the dependency graph does not + contain a replacement package that is matched by the same dependency + atom. + +