X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/54db103455f0601d4c81e0bb368e602f2e77115c..36f610f18a9a12c02ba89c6bb84726f7ed3ba7ad:/apt-pkg/depcache.cc?ds=inline diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 19f30b2c1..727f01462 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: depcache.cc,v 1.13 1998/12/22 07:58:50 jgg Exp $ +// $Id: depcache.cc,v 1.15 1999/03/26 07:38:43 jgg Exp $ /* ###################################################################### Dependency Cache - Caches Dependency information. @@ -12,7 +12,6 @@ #pragma implementation "apt-pkg/depcache.h" #endif #include -#include #include #include @@ -105,40 +104,18 @@ pkgDepCache::VerIterator pkgDepCache::GetCandidateVer(PkgIterator Pkg) // Try to use an explicit target if (Pkg->TargetVer == 0) { - string DistHack = _config->Find("to"); - - /* If disthack is set then we look for a dist by that name to install - from */ - if (DistHack.empty() == false) - { - for (VerIterator I = Pkg.VersionList(); I.end() == false; I++) - { - for (VerFileIterator J = I.FileList(); J.end() == false; J++) - if ((J.File()->Flags & Flag::NotSource) == 0 && - (J.File()->Flags & Flag::NotAutomatic) == 0 && - J.File().Archive() == DistHack) - return I; - } - - // Hmm, target is current if there is no alternative. - if (Pkg->CurrentVer != 0) - return Pkg.CurrentVer(); - } - else + /* Not source/not automatic versions cannot be a candidate version + unless they are already installed */ + for (VerIterator I = Pkg.VersionList(); I.end() == false; I++) { - /* Not source/not automatic versions cannot be a candidate version - unless they are already installed */ - for (VerIterator I = Pkg.VersionList(); I.end() == false; I++) - { - if (Pkg.CurrentVer() == I) - return I; - for (VerFileIterator J = I.FileList(); J.end() == false; J++) - if ((J.File()->Flags & Flag::NotSource) == 0 && - (J.File()->Flags & Flag::NotAutomatic) == 0) - return I; - } + if (Pkg.CurrentVer() == I) + return I; + for (VerFileIterator J = I.FileList(); J.end() == false; J++) + if ((J.File()->Flags & Flag::NotSource) == 0 && + (J.File()->Flags & Flag::NotAutomatic) == 0) + return I; } - + return VerIterator(*this,0); } else @@ -238,7 +215,8 @@ void pkgDepCache::AddSizes(const PkgIterator &Pkg,long Mult) { StateCache &P = PkgState[Pkg->ID]; - if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure) + if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure && + P.Keep() == true) { iUsrSize += Mult*P.InstVerIter(*this)->InstalledSize; return; @@ -311,8 +289,6 @@ void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add) { if (State.Mode == ModeDelete) iDelCount += Add; - if (State.Mode == ModeInstall) - iInstCount += Add; return; }