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

Changed check in the SmartUnpack method, reverted change in the DepAdd method.

Christopher Baines лет назад: 15
Родитель
Сommit
55c04aa4c9
1 измененных файлов с 4 добавлено и 3 удалено
  1. 4 3
      apt-pkg/packagemanager.cc

+ 4 - 3
apt-pkg/packagemanager.cc

@@ -469,7 +469,7 @@ bool pkgPackageManager::DepAdd(pkgOrderList &OList,PkgIterator Pkg,int Depth)
 	    PkgIterator Pkg = Ver.ParentPkg();
 
 	    // See if the current version is ok
-	    if (Pkg.CurrentVer() == Ver && List->IsFlag(Pkg,pkgOrderList::Configured) == true && 
+	    if (Pkg.CurrentVer() == Ver && List->IsNow(Pkg) == true && 
 		Pkg.State() == PkgIterator::NeedsNothing)
 	    {
 	       Bad = false;
@@ -685,8 +685,9 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate)
 	 {
 	    VerIterator Ver(Cache,*I);
 	    PkgIterator Pkg = Ver.ParentPkg();
-	    // Found a break, so unpack the package
-	    if (List->IsNow(Pkg)) {
+	    // Check if it needs to be unpacked
+	    if (List->IsFlag(Pkg,pkgOrderList::InList) && Cache[Pkg].Delete() == false) {
+	      // Found a break, so unpack the package
 	      SmartUnPack(Pkg, false);
 	    }
 	 }