|
@@ -1,6 +1,6 @@
|
|
|
// -*- mode: cpp; mode: fold -*-
|
|
// -*- mode: cpp; mode: fold -*-
|
|
|
// Description /*{{{*/
|
|
// Description /*{{{*/
|
|
|
-// $Id: depcache.cc,v 1.13 1998/12/22 07:58:50 jgg Exp $
|
|
|
|
|
|
|
+// $Id: depcache.cc,v 1.14 1998/12/22 08:01:04 jgg Exp $
|
|
|
/* ######################################################################
|
|
/* ######################################################################
|
|
|
|
|
|
|
|
Dependency Cache - Caches Dependency information.
|
|
Dependency Cache - Caches Dependency information.
|
|
@@ -12,7 +12,6 @@
|
|
|
#pragma implementation "apt-pkg/depcache.h"
|
|
#pragma implementation "apt-pkg/depcache.h"
|
|
|
#endif
|
|
#endif
|
|
|
#include <apt-pkg/depcache.h>
|
|
#include <apt-pkg/depcache.h>
|
|
|
-#include <apt-pkg/configuration.h>
|
|
|
|
|
|
|
|
|
|
#include <apt-pkg/version.h>
|
|
#include <apt-pkg/version.h>
|
|
|
#include <apt-pkg/error.h>
|
|
#include <apt-pkg/error.h>
|
|
@@ -105,40 +104,18 @@ pkgDepCache::VerIterator pkgDepCache::GetCandidateVer(PkgIterator Pkg)
|
|
|
// Try to use an explicit target
|
|
// Try to use an explicit target
|
|
|
if (Pkg->TargetVer == 0)
|
|
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);
|
|
return VerIterator(*this,0);
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -311,8 +288,6 @@ void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add)
|
|
|
{
|
|
{
|
|
|
if (State.Mode == ModeDelete)
|
|
if (State.Mode == ModeDelete)
|
|
|
iDelCount += Add;
|
|
iDelCount += Add;
|
|
|
- if (State.Mode == ModeInstall)
|
|
|
|
|
- iInstCount += Add;
|
|
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|