~brian-murray/ubuntu/oneiric/apt/block-fsys-tarfile

« back to all changes in this revision

Viewing changes to apt-pkg/orderlist.cc

  • Committer: Michael Vogt
  • Date: 2011-06-28 21:41:29 UTC
  • mfrom: (1327.97.34 debian-sid)
  • Revision ID: michael.vogt@ubuntu.com-20110628214129-tait7qp81nvm7wjv
mergedĀ fromĀ debian-sid

Show diffs side-by-side

added added

removed removed

Lines of Context:
490
490
   bool Res = true;
491
491
   for (PrvIterator P = Ver.ProvidesList(); P.end() == false; P++)
492
492
      Res &= (this->*F)(P.ParentPkg().RevDependsList());
493
 
   return true;
 
493
   return Res;
494
494
}
495
495
                                                                        /*}}}*/
496
496
// OrderList::VisitProvides - Visit all of the providing packages       /*{{{*/
507
507
      if (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing)
508
508
         continue;
509
509
      
510
 
      if (D->Type != pkgCache::Dep::Conflicts &&
511
 
          D->Type != pkgCache::Dep::DpkgBreaks &&
512
 
          D->Type != pkgCache::Dep::Obsoletes &&
 
510
      if (D.IsNegative() == false &&
513
511
          Cache[Pkg].InstallVer != *I)
514
512
         continue;
515
513
      
516
 
      if ((D->Type == pkgCache::Dep::Conflicts ||
517
 
           D->Type == pkgCache::Dep::DpkgBreaks ||
518
 
           D->Type == pkgCache::Dep::Obsoletes) &&
 
514
      if (D.IsNegative() == true &&
519
515
          (Version *)Pkg.CurrentVer() != *I)
520
516
         continue;
521
517
      
647
643
      {
648
644
         /* Forward critical dependencies MUST be correct before the 
649
645
            package can be unpacked. */
650
 
         if (D->Type != pkgCache::Dep::Conflicts &&
651
 
             D->Type != pkgCache::Dep::DpkgBreaks &&
652
 
             D->Type != pkgCache::Dep::Obsoletes &&
 
646
         if (D.IsNegative() == false &&
653
647
             D->Type != pkgCache::Dep::PreDepends)
654
648
            continue;
655
649
                                 
1077
1071
      
1078
1072
      /* Conflicts requires that all versions are not present, depends
1079
1073
         just needs one */
1080
 
      if (D->Type != pkgCache::Dep::Conflicts && 
1081
 
          D->Type != pkgCache::Dep::DpkgBreaks && 
1082
 
          D->Type != pkgCache::Dep::Obsoletes)
 
1074
      if (D.IsNegative() == false)
1083
1075
      {
 
1076
         // ignore provides by older versions of this package
 
1077
         if (((D.Reverse() == false && Pkg == D.ParentPkg()) ||
 
1078
              (D.Reverse() == true && Pkg == D.TargetPkg())) &&
 
1079
             Cache[Pkg].InstallVer != *I)
 
1080
            continue;
 
1081
 
1084
1082
         /* Try to find something that does not have the after flag set
1085
1083
            if at all possible */
1086
1084
         if (IsFlag(Pkg,After) == true)