summaryrefslogtreecommitdiff
path: root/apt-private/private-install.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apt-private/private-install.cc')
-rw-r--r--apt-private/private-install.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc
index 844fcbc7e..3647ca99d 100644
--- a/apt-private/private-install.cc
+++ b/apt-private/private-install.cc
@@ -675,6 +675,18 @@ bool DoInstall(CommandLine &CmdL)
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;