+ } else {
+ VerIterator InstallVer(Cache,Cache[Pkg].InstallVer);
+ //cout << "Check for reverse conflicts on " << Pkg.Name() << " " << InstallVer.VerStr() << endl;
+
+ // Check for reverse conflicts.
+ if (CheckRConflicts(Pkg,Pkg.RevDependsList(),
+ InstallVer.VerStr()) == false)
+ return false;
+
+ List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
+ }
+
+ if(Install(Pkg,FileNames[Pkg->ID]) == false)
+ return false;
+
+ /* Because of the ordered list, most dependancies should be unpacked,
+ however if there is a loop this is not the case, so check for dependancies before configuring.
+ This is done after the package installation as it makes it easier to deal with conflicts problems */
+ for (DepIterator D = instVer.DependsList();
+ D.end() == false; )
+ {
+ // Compute a single dependency element (glob or)
+ pkgCache::DepIterator Start;
+ pkgCache::DepIterator End;
+ D.GlobOr(Start,End);
+