[Aptitude-devel] r3083 - branches/aptitude-0.3/aptitude/src/generic/problemresolver
Daniel Burrows
dburrows@costa.debian.org
Mon, 25 Apr 2005 03:18:24 +0000
Author: dburrows
Date: Mon Apr 25 03:18:23 2005
New Revision: 3083
Modified:
branches/aptitude-0.3/aptitude/src/generic/problemresolver/model.tex
Log:
Correct an error in the reduction from apt
Modified: branches/aptitude-0.3/aptitude/src/generic/problemresolver/model.tex
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/problemresolver/model.tex (original)
+++ branches/aptitude-0.3/aptitude/src/generic/problemresolver/model.tex Mon Apr 25 03:18:23 2005
@@ -269,14 +269,16 @@
$\D$ contains $v -> S$ for every such dependency.
\item For each conflict declared by a version $v$ on the package $p$,
accumulate a set $S$ containing all the \emph{non}-matching versions
- of $p$ and insert $v -> S$ into $\D$. Furthermore, if the conflict
- is not versioned, then for each package $p'$ and version $v'$ of
- $p'$ such that $v'$ provides $p$, let $S=\{v'' \st \pkgof{v''}=p' \land
- \text{$v''$ does not provide $p$}\}$ and insert $v -> S$ into $\D$.
+ of $p$, including the ``uninstalled'' version, and insert $v -> S$
+ into $\D$. Furthermore, if the conflict is not versioned, then for
+ each package $p'$ and version $v'$ of $p'$ such that $v'$ provides
+ $p$, let $S=\{v'' \st \pkgof{v''}=p' \land \text{$v''$ does not
+ provide $p$}\}$ and insert $v -> S$ into $\D$.
For instance, if $v$ conflicts with \pkg{A}, of which versions 3.2
- and 3.3 are available, and versions 2 and 3 of \pkg{B} provide
- \pkg{A}, then $S=\{\pkg{A}:3.2,\pkg{A}:3.3,\pkg{B}:2,\pkg{B}:3\}$.
+ and 3.3 are available, versions 2 and 3 of \pkg{B} provide \pkg{A},
+ and no other versions of \pkg{B} are available, then
+ $S=\{\pkg{A}:3.2,\pkg{A}:3.3,\pkg{A}:\pkg{UNINST},\pkg{B}:2,\pkg{B}:\pkg{UNINST}\}$.
\begin{note}
In reality, extra care must be taken to screen out self-conflicts