]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/packagemanager.cc
[ David Kalnischkies ]
[apt.git] / apt-pkg / packagemanager.cc
index ac11b5d5153f6304459a2a10d9cb066a9d41128c..7fcaa8d41700cdcfb9bbe329e65865039ae4163a 100644 (file)
@@ -476,6 +476,13 @@ bool pkgPackageManager::DepAdd(pkgOrderList &OList,PkgIterator Pkg,int Depth)
               continue;
            }
            
               continue;
            }
            
+           // Check if this package is being re-installed 
+           if ((Cache[Pkg].iFlags & pkgDepCache::ReInstall) == pkgDepCache::ReInstall && Cache[Pkg].InstallVer != *I && 
+               List->IsNow(Pkg) == true && Pkg.State() == PkgIterator::NeedsNothing) {
+              Bad = false;
+              continue;
+           }
+           
            // Not the install version 
            if (Cache[Pkg].InstallVer != *I || 
                (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing))
            // Not the install version 
            if (Cache[Pkg].InstallVer != *I || 
                (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing))
@@ -844,4 +851,4 @@ pkgPackageManager::OrderResult pkgPackageManager::DoInstall(int statusFd)
    
    return DoInstallPostFork(statusFd);
 }
    
    return DoInstallPostFork(statusFd);
 }
-                                                                       /*}}}*/
+                                                                       /*}}}*/