if (Fix != NULL && _config->FindB("APT::Get::AutoSolving", true) == true)
{
- for (unsigned short i = 0; order[i] != 0; ++i)
- {
- if (order[i] != MOD_INSTALL)
- continue;
- InstallAction.propergateReleaseCandiateSwitching(helper.selectedByRelease, c0out);
- InstallAction.doAutoInstall();
- }
+ InstallAction.propergateReleaseCandiateSwitching(helper.selectedByRelease, c0out);
+ InstallAction.doAutoInstall();
}
if (_error->PendingError() == true)
std::map<unsigned short, APT::VersionSet> verset;
+ for (const char **I = CmdL.FileList; *I != 0; I++) {
+ // Check for local pkgs like in the loop above.
+ if(!FileExists(*I) || flExtension(*I) != "deb")
+ continue;
+
+ pkgCache::PkgIterator pkg = Cache->FindPkg(*I);
+
+ // Set any version providing the .deb as the candidate.
+ for (auto Prv = pkg.ProvidesList(); Prv.end() == false; Prv++)
+ Cache.GetDepCache()->SetCandidateVersion(Prv.OwnerVer());
+ }
+
if(!DoCacheManipulationFromCommandLine(CmdL, Cache, verset, 0))
return false;