X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/83d89a9f6a641adccce898eb0bc675d94bc46465..ab5498ab68d6f83dbae3099287466573f2707467:/cmdline/apt-get.cc diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 24fb36d46..fbfaf7303 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-get.cc,v 1.20 1998/11/27 01:52:58 jgg Exp $ +// $Id: apt-get.cc,v 1.28 1998/12/08 23:52:24 jgg Exp $ /* ###################################################################### apt-get - Cover for dpkg @@ -61,7 +61,7 @@ bool YnPrompt() { if (_config->FindB("APT::Get::Assume-Yes",false) == true) { - c2out << 'Y' << endl; + c1out << 'Y' << endl; return true; } @@ -135,7 +135,7 @@ void ShowBroken(ostream &out,pkgDepCache &Cache) pkgCache::DepIterator Start; pkgCache::DepIterator End; D.GlobOr(Start,End); - + if (Cache.IsImportantDep(End) == false || (Cache[End] & pkgDepCache::DepGInstall) == pkgDepCache::DepGInstall) continue; @@ -397,6 +397,8 @@ bool CacheFile::Open() pkgMakeStatusCache(List,Progress); if (_error->PendingError() == true) return _error->Error("The package lists or status file could not be parsed or opened."); + if (_error->empty() == false) + _error->Warning("You may want to run apt-get update to correct theses missing files"); Progress.Done(); @@ -468,10 +470,10 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true) ShowNew(c1out,Cache); if (ShwKept == true) ShowKept(c1out,Cache); - Fail |= ShowHold(c1out,Cache); + Fail |= !ShowHold(c1out,Cache); if (_config->FindB("APT::Get::Show-Upgraded",false) == true) ShowUpgraded(c1out,Cache); - Fail |= ShowEssential(c1out,Cache); + Fail |= !ShowEssential(c1out,Cache); Stats(c1out,Cache); // Sanity check @@ -483,7 +485,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true) if (Cache->DelCount() == 0 && Cache->InstCount() == 0 && Cache->BadCount() == 0) - return true; + return true; // Run the simulator .. if (_config->FindB("APT::Get::Simulate") == true) @@ -529,19 +531,19 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true) } // Number of bytes - c1out << "Need to get "; + c2out << "Need to get "; if (DebBytes != FetchBytes) - c1out << SizeToStr(FetchBytes) << '/' << SizeToStr(DebBytes); + c2out << SizeToStr(FetchBytes) << '/' << SizeToStr(DebBytes); else - c1out << SizeToStr(DebBytes); + c2out << SizeToStr(DebBytes); c1out << " of archives. After unpacking "; // Size delta if (Cache->UsrSize() >= 0) - c1out << SizeToStr(Cache->UsrSize()) << " will be used." << endl; + c2out << SizeToStr(Cache->UsrSize()) << " will be used." << endl; else - c1out << SizeToStr(-1*Cache->UsrSize()) << " will be freed." << endl; + c2out << SizeToStr(-1*Cache->UsrSize()) << " will be freed." << endl; if (_error->PendingError() == true) return false; @@ -570,20 +572,39 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true) // Print out errors bool Failed = false; + bool Transient = false; for (pkgAcquire::Item **I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++) { if ((*I)->Status == pkgAcquire::Item::StatDone && (*I)->Complete == true) continue; + if ((*I)->Status == pkgAcquire::Item::StatIdle) + { + Transient = true; + Failed = true; + continue; + } + cerr << "Failed to fetch " << (*I)->Describe() << endl; cerr << " " << (*I)->ErrorText << endl; Failed = true; } + + if (_config->FindB("APT::Get::Download-Only",false) == true) + return true; - if (Failed == true && _config->FindB("APT::Fix-Missing",false) == false) + if (Failed == true && _config->FindB("APT::Get::Fix-Missing",false) == false) + { + if (Transient == true) + { + c2out << "Upgrading with disk swapping is not supported in this version." << endl; + c2out << "Try running multiple times with --fix-missing" << endl; + } + return _error->Error("Unable to fetch some archives, maybe try with --fix-missing?"); - + } + // Try to deal with missing package files if (PM.FixMissing() == false) {