summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2006-12-19 20:44:54 +0100
committerMichael Vogt <michael.vogt@ubuntu.com>2006-12-19 20:44:54 +0100
commit4cc152f93acf2eaf3ae66424cd4aaf47cad14a7b (patch)
treea4a3929cad0a3aa6a8dce653b9957084a9daa014
parent59b46c414d5a5cebd26bdafac6b08fa4d1ba0963 (diff)
downloadapt-4cc152f93acf2eaf3ae66424cd4aaf47cad14a7b.tar.gz
* apt-pkg/algorithms.cc:
- when encountering a or-group in pkgProblemResolver::Resolver(), check if it IsCritical(), otherwise we may do checking on weak-depends and confuse the system badly
-rw-r--r--apt-pkg/algorithms.cc5
-rw-r--r--debian/changelog2
2 files changed, 7 insertions, 0 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index 0d486d102..e1b9406e2 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -841,7 +841,12 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
OldEnd = LEnd;
}
else
+ {
Start++;
+ // We only worry about critical deps.
+ if (Start.IsCritical() != true)
+ continue;
+ }
// Dep is ok
if ((Cache[End] & pkgDepCache::DepGInstall) == pkgDepCache::DepGInstall)
diff --git a/debian/changelog b/debian/changelog
index bbeecdeec..7893f2599 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ apt (0.6.46.5) UNRELEASED; urgency=low
- use clog for all debugging
- only increase the score of installed applications if they
are not obsolete
+ - fix resolver bug on removal triggered by weak-dependencies
+ with or-groups
* methods/http.cc:
- send apt version in User-Agent
* apt-pkg/deb/debrecords.cc: