Просмотр исходного кода

* 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

Michael Vogt лет назад: 19
Родитель
Сommit
4cc152f93a
2 измененных файлов с 7 добавлено и 0 удалено
  1. 5 0
      apt-pkg/algorithms.cc
  2. 2 0
      debian/changelog

+ 5 - 0
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)

+ 2 - 0
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: