]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/orderlist.cc
deblistparser: Special-case *-armel, lpia and powerpcspe architectures.
[apt.git] / apt-pkg / orderlist.cc
index e5bd8247d360dda39396f6016aa4df0a37f206b8..7c950292ace11ed299290451cf33a816e800c048 100644 (file)
@@ -126,6 +126,11 @@ bool pkgOrderList::IsMissing(PkgIterator Pkg)
    
    if (FileList[Pkg->ID].empty() == false)
       return false;
+
+   // Missing Pseudo packages are missing if the real package is missing
+   if (pkgCache::VerIterator(Cache, Cache[Pkg].CandidateVer).Pseudo() == true)
+      return IsMissing(Pkg.Group().FindPkg("all"));
+
    return true;
 }
                                                                        /*}}}*/
@@ -175,7 +180,7 @@ bool pkgOrderList::OrderCritical()
 {
    FileList = 0;
 
-   Primary = &pkgOrderList::DepUnPackPre;
+   Primary = &pkgOrderList::DepUnPackPreD;
    Secondary = 0;
    RevDepends = 0;
    Remove = 0;
@@ -199,7 +204,7 @@ bool pkgOrderList::OrderCritical()
       {
         PkgIterator P(Cache,*I);
         if (IsNow(P) == true)
-           clog << "  " << P.Name() << ' ' << IsMissing(P) << ',' << IsFlag(P,After) << endl;
+           clog << "  " << P.FullName() << ' ' << IsMissing(P) << ',' << IsFlag(P,After) << endl;
       }
    }
 
@@ -238,15 +243,10 @@ bool pkgOrderList::OrderUnpack(string *FileList)
    Me = this;
    qsort(List,End - List,sizeof(*List),&OrderCompareA);
 
-   if (_config->Find("PackageManager::Configure","all") == "all")
-   {
-      if (Debug == true)
-        clog << "** Pass A" << endl;
-      if (DoRun() == false)
-        return false;
-   }
-   else if (Debug == true)
-      clog << "** Skip A (same as B for non-all Configure)" << endl;
+   if (Debug == true)
+      clog << "** Pass A" << endl;
+   if (DoRun() == false)
+      return false;
 
    if (Debug == true)
       clog << "** Pass B" << endl;
@@ -277,7 +277,7 @@ bool pkgOrderList::OrderUnpack(string *FileList)
       {
         PkgIterator P(Cache,*I);
         if (IsNow(P) == true)
-           clog << "  " << P.Name() << ' ' << IsMissing(P) << ',' << IsFlag(P,After) << endl;
+           clog << "  " << P.FullName() << ' ' << IsMissing(P) << ',' << IsFlag(P,After) << endl;
       }
    }
 
@@ -548,7 +548,7 @@ bool pkgOrderList::VisitNode(PkgIterator Pkg)
    if (Debug == true)
    {
       for (int j = 0; j != Depth; j++) clog << ' ';
-      clog << "Visit " << Pkg.Name() << endl;
+      clog << "Visit " << Pkg.FullName() << endl;
    }
    
    Depth++;
@@ -607,7 +607,7 @@ bool pkgOrderList::VisitNode(PkgIterator Pkg)
    if (Debug == true)
    {
       for (int j = 0; j != Depth; j++) clog << ' ';
-      clog << "Leave " << Pkg.Name() << ' ' << IsFlag(Pkg,Added) << ',' << IsFlag(Pkg,AddPending) << endl;
+      clog << "Leave " << Pkg.FullName() << ' ' << IsFlag(Pkg,Added) << ',' << IsFlag(Pkg,AddPending) << endl;
    }
    
    return true;