summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:55:07 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:55:07 +0000
commit25be5a8f52aa37f4f13ec32f57e434b60d2e43fe (patch)
treee63b8fd2dbfbe7ce03eacea3158e26bdc37e067a
parent0296c633c4ae31f9addfb57c6530815a54d22f62 (diff)
Fixed ordering error for unpacked things
Author: jgg Date: 1999-11-04 06:05:02 GMT Fixed ordering error for unpacked things
-rw-r--r--apt-pkg/orderlist.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/apt-pkg/orderlist.cc b/apt-pkg/orderlist.cc
index 0d529c122..bfe91507e 100644
--- a/apt-pkg/orderlist.cc
+++ b/apt-pkg/orderlist.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: orderlist.cc,v 1.8 1999/07/20 05:53:33 jgg Exp $
+// $Id: orderlist.cc,v 1.9 1999/11/04 06:05:02 jgg Exp $
/* ######################################################################
Order List - Represents and Manipulates an ordered list of packages.
@@ -422,14 +422,14 @@ bool pkgOrderList::VisitRProvides(DepFunc F,VerIterator Ver)
// ---------------------------------------------------------------------
/* This routine calls visit on all providing packages. */
bool pkgOrderList::VisitProvides(DepIterator D,bool Critical)
-{
+{
Version **List = D.AllTargets();
for (Version **I = List; *I != 0; I++)
{
VerIterator Ver(Cache,*I);
PkgIterator Pkg = Ver.ParentPkg();
-
- if (Cache[Pkg].Keep() == true)
+
+ if (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing)
continue;
if (D->Type != pkgCache::Dep::Conflicts && Cache[Pkg].InstallVer != *I)
@@ -441,7 +441,7 @@ bool pkgOrderList::VisitProvides(DepIterator D,bool Critical)
// Skip over missing files
if (Critical == false && IsMissing(D.ParentPkg()) == true)
continue;
-
+
if (VisitNode(Pkg) == false)
{
delete [] List;