summaryrefslogtreecommitdiff
path: root/cmdline/apt-get.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2012-06-29 15:34:12 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2012-06-29 15:34:12 +0200
commit7ac4503f3e0ccf0fbad592179331c0f1bba427a5 (patch)
tree67930f70476dfc80d85e228d1f8efa3dc276947a /cmdline/apt-get.cc
parent7cb48e888df3f4a7156d39515e6573aed66acd39 (diff)
parent545ba6bdd8cb77ceca6b9fdc935db2accbea3493 (diff)
merged from the debian-sid branch
Diffstat (limited to 'cmdline/apt-get.cc')
-rw-r--r--cmdline/apt-get.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 442e0400b..ccbe54384 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -2362,6 +2362,8 @@ bool DoDownload(CommandLine &CmdL)
pkgRecords Recs(Cache);
pkgSourceList *SrcList = Cache.GetSourceList();
+ bool gotAll = true;
+
for (APT::VersionList::const_iterator Ver = verset.begin();
Ver != verset.end();
++Ver)
@@ -2372,11 +2374,19 @@ bool DoDownload(CommandLine &CmdL)
pkgRecords::Parser &rec=Recs.Lookup(Ver.FileList());
pkgCache::VerFileIterator Vf = Ver.FileList();
if (Vf.end() == true)
- return _error->Error("Can not find VerFile");
+ {
+ _error->Error("Can not find VerFile for %s in version %s", Pkg.FullName().c_str(), Ver.VerStr());
+ gotAll = false;
+ continue;
+ }
pkgCache::PkgFileIterator F = Vf.File();
pkgIndexFile *index;
if(SrcList->FindIndex(F, index) == false)
- return _error->Error("FindIndex failed");
+ {
+ _error->Error(_("Can't find a source to download version '%s' of '%s'"), Ver.VerStr(), Pkg.FullName().c_str());
+ gotAll = false;
+ continue;
+ }
string uri = index->ArchiveURI(rec.FileName());
strprintf(descr, _("Downloading %s %s"), Pkg.Name(), Ver.VerStr());
// get the most appropriate hash
@@ -2392,6 +2402,8 @@ bool DoDownload(CommandLine &CmdL)
// get the file
new pkgAcqFile(&Fetcher, uri, hash.toStr(), (*Ver)->Size, descr, Pkg.Name(), ".");
}
+ if (gotAll == false)
+ return false;
// Just print out the uris and exit if the --print-uris flag was used
if (_config->FindB("APT::Get::Print-URIs") == true)