summaryrefslogtreecommitdiff
path: root/apt-private
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2017-01-19 02:53:35 +0100
committerJulian Andres Klode <jak@debian.org>2017-02-22 16:53:46 +0100
commit4d7e1a2d0225c7a8bde300b7e86265e283db0e42 (patch)
treef7afef1a2b0a0259afbffc4356ddc0c8945de807 /apt-private
parent2e5726edcac4fc9228c6b16281365c3ade189b8b (diff)
fix 'install --no-download' mode
The mode wasn't working at all if not used together with --fix-missing which while likely to come in pairs its legal to use standalone. Regression-in: eb1f04dda07c2b69549ad9fd793cca0e91841b3e (cherry picked from commit 3313eaf97c83177433478505c05815ab02f9782b)
Diffstat (limited to 'apt-private')
-rw-r--r--apt-private/private-install.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc
index 62f4136af..700b779e9 100644
--- a/apt-private/private-install.cc
+++ b/apt-private/private-install.cc
@@ -136,16 +136,19 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask, bool Safety)
_error->PendingError() == true)
return false;
- if (_config->FindB("APT::Get::Fix-Missing",false) == true &&
- _config->FindB("APT::Get::Download",true) == false)
+ if (_config->FindB("APT::Get::Download",true) == false)
{
bool Missing = false;
RemoveDownloadNeedingItemsFromFetcher(Fetcher, Missing);
if (Missing)
- PM->FixMissing();
+ {
+ if (_config->FindB("APT::Get::Fix-Missing",false))
+ PM->FixMissing();
+ else
+ return _error->Error(_("Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?"));
+ }
Fetcher.Shutdown();
- if (PM->GetArchives(&Fetcher,List,&Recs) == false ||
- _error->PendingError() == true)
+ if (_error->PendingError() == true)
return false;
}