From: Michael Vogt Date: Fri, 8 Jun 2007 21:12:26 +0000 (+0200) Subject: * add "purge" commandline argument, closes: #133421) X-Git-Tag: 0.7.21~280 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/859110cdec2f211beb45305134d095fd8926d552?ds=inline;hp=-c * add "purge" commandline argument, closes: #133421) (thanks to Julien Danjou for the patch) * fix FTBFS with gcc 4.3, closes: #417090 (thanks to Martin Michlmayr for the patch) * add --dsc-only option, thanks to K. Richard Pixley --- 859110cdec2f211beb45305134d095fd8926d552 diff --combined apt-pkg/algorithms.cc index bd8147291,c6583f3b5..93e26c7c6 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@@ -20,12 -20,12 +20,14 @@@ #include #include #include +#include #include + #include - +#include + #include + #include #include /*}}}*/ using namespace std; @@@ -102,7 -102,6 +104,7 @@@ bool pkgSimulate::Install(PkgIterator i DepIterator End; D.GlobOr(Start,End); if (Start->Type == pkgCache::Dep::Conflicts || + Start->Type == pkgCache::Dep::DpkgBreaks || Start->Type == pkgCache::Dep::Obsoletes || End->Type == pkgCache::Dep::PreDepends) { @@@ -152,8 -151,6 +154,8 @@@ bool pkgSimulate::Configure(PkgIterato cout << " Obsoletes:" << D.TargetPkg().Name(); else if (D->Type == pkgCache::Dep::Conflicts) cout << " Conflicts:" << D.TargetPkg().Name(); + else if (D->Type == pkgCache::Dep::DpkgBreaks) + cout << " Breaks:" << D.TargetPkg().Name(); else cout << " Depends:" << D.TargetPkg().Name(); } @@@ -225,8 -222,6 +227,8 @@@ void pkgSimulate::ShortBreaks( the necessary calculations to deal with the problems. */ bool pkgApplyStatus(pkgDepCache &Cache) { + pkgDepCache::ActionGroup group(Cache); + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) { if (I->VersionList == 0) @@@ -237,13 -232,13 +239,13 @@@ I->InstState == pkgCache::State::HoldReInstReq) { if (I->CurrentVer != 0 && I.CurrentVer().Downloadable() == true) - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); else { // Is this right? Will dpkg choke on an upgrade? if (Cache[I].CandidateVer != 0 && Cache[I].CandidateVerIter(Cache).Downloadable() == true) - Cache.MarkInstall(I); + Cache.MarkInstall(I, false, 0, false); else return _error->Error(_("The package %s needs to be reinstalled, " "but I can't find an archive for it."),I.Name()); @@@ -260,12 -255,12 +262,12 @@@ case pkgCache::State::HalfConfigured: if ((I->CurrentVer != 0 && I.CurrentVer().Downloadable() == true) || I.State() != pkgCache::PkgIterator::NeedsUnpack) - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); else { if (Cache[I].CandidateVer != 0 && Cache[I].CandidateVerIter(Cache).Downloadable() == true) - Cache.MarkInstall(I); + Cache.MarkInstall(I, true, 0, false); else Cache.MarkDelete(I); } @@@ -291,12 -286,10 +293,12 @@@ on the result. */ bool pkgFixBroken(pkgDepCache &Cache) { + pkgDepCache::ActionGroup group(Cache); + // Auto upgrade all broken packages for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) if (Cache[I].NowBroken() == true) - Cache.MarkInstall(I,true); + Cache.MarkInstall(I, true, 0, false); /* Fix packages that are in a NeedArchive state but don't have a downloadable install version */ @@@ -309,7 -302,7 +311,7 @@@ if (Cache[I].InstVerIter(Cache).Downloadable() == false) continue; - Cache.MarkInstall(I,true); + Cache.MarkInstall(I, true, 0, false); } pkgProblemResolver Fix(&Cache); @@@ -326,25 -319,23 +328,25 @@@ */ bool pkgDistUpgrade(pkgDepCache &Cache) { + pkgDepCache::ActionGroup group(Cache); + /* Auto upgrade all installed packages, this provides the basis for the installation */ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) if (I->CurrentVer != 0) - Cache.MarkInstall(I,true); + Cache.MarkInstall(I, true, 0, false); /* Now, auto upgrade all essential packages - this ensures that the essential packages are present and working */ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) if ((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential) - Cache.MarkInstall(I,true); + Cache.MarkInstall(I, true, 0, false); /* We do it again over all previously installed packages to force conflict resolution on them all. */ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) if (I->CurrentVer != 0) - Cache.MarkInstall(I,false); + Cache.MarkInstall(I, false, 0, false); pkgProblemResolver Fix(&Cache); @@@ -356,7 -347,7 +358,7 @@@ if (I->SelectedState == pkgCache::State::Hold) { Fix.Protect(I); - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); } } } @@@ -371,8 -362,6 +373,8 @@@ to install packages not marked for install */ bool pkgAllUpgrade(pkgDepCache &Cache) { + pkgDepCache::ActionGroup group(Cache); + pkgProblemResolver Fix(&Cache); if (Cache.BrokenCount() != 0) @@@ -389,7 -378,7 +391,7 @@@ continue; if (I->CurrentVer != 0 && Cache[I].InstallVer != 0) - Cache.MarkInstall(I,false); + Cache.MarkInstall(I, false, 0, false); } return Fix.ResolveByKeep(); @@@ -402,8 -391,6 +404,8 @@@ the package is restored. */ bool pkgMinimizeUpgrade(pkgDepCache &Cache) { + pkgDepCache::ActionGroup group(Cache); + if (Cache.BrokenCount() != 0) return false; @@@ -420,9 -407,9 +422,9 @@@ continue; // Keep it and see if that is OK - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); if (Cache.BrokenCount() != 0) - Cache.MarkInstall(I,false); + Cache.MarkInstall(I, false, 0, false); else { // If keep didnt actually do anything then there was no change.. @@@ -582,8 -569,6 +584,8 @@@ void pkgProblemResolver::MakeScores( installable */ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) { + pkgDepCache::ActionGroup group(Cache); + if ((Flags[Pkg->ID] & Upgradable) == 0 || Cache[Pkg].Upgradable() == false) return false; if ((Flags[Pkg->ID] & Protected) == Protected) @@@ -592,7 -577,7 +594,7 @@@ Flags[Pkg->ID] &= ~Upgradable; bool WasKept = Cache[Pkg].Keep(); - Cache.MarkInstall(Pkg,false); + Cache.MarkInstall(Pkg, false, 0, false); // This must be a virtual package or something like that. if (Cache[Pkg].InstVerIter(Cache).end() == true) @@@ -656,7 -641,6 +658,7 @@@ /* We let the algorithm deal with conflicts on its next iteration, it is much smarter than us */ if (Start->Type == pkgCache::Dep::Conflicts || + Start->Type == pkgCache::Dep::DpkgBreaks || Start->Type == pkgCache::Dep::Obsoletes) break; @@@ -678,7 -662,7 +680,7 @@@ if (Fail == true) { if (WasKept == true) - Cache.MarkKeep(Pkg); + Cache.MarkKeep(Pkg, false, false); else Cache.MarkDelete(Pkg); return false; @@@ -705,8 -689,6 +707,8 @@@ upgrade packages to advoid problems. */ bool pkgProblemResolver::Resolve(bool BrokenFix) { + pkgDepCache::ActionGroup group(Cache); + unsigned long Size = Cache.Head().PackageCount; // Record which packages are marked for install @@@ -722,7 -704,7 +724,7 @@@ { if (Cache[I].InstBroken() == true && BrokenFix == true) { - Cache.MarkInstall(I,false); + Cache.MarkInstall(I, false, 0, false); if (Cache[I].Install() == true) Again = true; } @@@ -788,14 -770,14 +790,14 @@@ pkgCache::Version *OldVer = Cache[I].InstallVer; Flags[I->ID] &= ReInstateTried; - Cache.MarkInstall(I,false); + Cache.MarkInstall(I, false, 0, false); if (Cache[I].InstBroken() == true || OldBreaks < Cache.BrokenCount()) { if (OldVer == 0) Cache.MarkDelete(I); else - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); } else if (Debug == true) @@@ -840,7 -822,7 +842,7 @@@ { if (Debug == true) clog << " Or group keep for " << I.Name() << endl; - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); Change = true; } } @@@ -884,7 -866,6 +886,7 @@@ SPtrArray VList = Start.AllTargets(); if (*VList == 0 && (Flags[I->ID] & Protected) != Protected && Start->Type != pkgCache::Dep::Conflicts && + Start->Type != pkgCache::Dep::DpkgBreaks && Start->Type != pkgCache::Dep::Obsoletes && Cache[I].NowBroken() == false) { @@@ -896,7 -877,7 +898,7 @@@ } Change = true; - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); break; } @@@ -915,7 -896,6 +917,7 @@@ if (Scores[I->ID] <= Scores[Pkg->ID] || ((Cache[Start] & pkgDepCache::DepNow) == 0 && End->Type != pkgCache::Dep::Conflicts && + End->Type != pkgCache::Dep::DpkgBreaks && End->Type != pkgCache::Dep::Obsoletes)) { // Try a little harder to fix protected packages.. @@@ -934,7 -914,7 +936,7 @@@ /* See if a keep will do, unless the package is protected, then installing it will be necessary */ bool Installed = Cache[I].Install(); - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); if (Cache[I].InstBroken() == false) { // Unwind operation will be keep now @@@ -943,7 -923,7 +945,7 @@@ // Restore if (InOr == true && Installed == true) - Cache.MarkInstall(I,false); + Cache.MarkInstall(I, false, 0, false); if (Debug == true) clog << " Holding Back " << I.Name() << " rather than change " << Start.TargetPkg().Name() << endl; @@@ -981,22 -961,7 +983,22 @@@ (Start->Type == pkgCache::Dep::Conflicts || Start->Type == pkgCache::Dep::Obsoletes)) continue; - + + if (Start->Type == pkgCache::Dep::DpkgBreaks) + { + /* Would it help if we upgraded? */ + if (Cache[End] & pkgDepCache::DepGCVer) { + if (Debug) + clog << " Upgrading " << Pkg.Name() << " due to Breaks field in " << I.Name() << endl; + Cache.MarkInstall(Pkg, false, 0, false); + continue; + } + if (Debug) + clog << " Will not break " << Pkg.Name() << " as stated in Breaks field in " << I.Name() <ID] & Protected) != 0) continue; @@@ -1017,7 -982,6 +1019,7 @@@ // Hm, nothing can possibly satisify this dep. Nuke it. if (VList[0] == 0 && Start->Type != pkgCache::Dep::Conflicts && + Start->Type != pkgCache::Dep::DpkgBreaks && Start->Type != pkgCache::Dep::Obsoletes && (Flags[I->ID] & Protected) != Protected) { @@@ -1031,7 -995,7 +1033,7 @@@ // Restore if (InOr == true && Installed == true) - Cache.MarkInstall(I,false); + Cache.MarkInstall(I, false, 0, false); if (Debug == true) clog << " Holding Back " << I.Name() << " because I can't find " << Start.TargetPkg().Name() << endl; @@@ -1076,7 -1040,7 +1078,7 @@@ { if (Debug == true) clog << " Fixing " << I.Name() << " via keep of " << J->Pkg.Name() << endl; - Cache.MarkKeep(J->Pkg); + Cache.MarkKeep(J->Pkg, false, false); } if (Counter > 1) @@@ -1106,20 -1070,6 +1108,20 @@@ return _error->Error(_("Unable to correct problems, you have held broken packages.")); } + // set the auto-flags (mvo: I'm not sure if we _really_ need this, but + // I didn't managed + pkgCache::PkgIterator I = Cache.PkgBegin(); + for (;I.end() != true; I++) { + if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) { + if(_config->FindI("Debug::pkgAutoRemove",false)) { + std::clog << "Resolve installed new pkg: " << I.Name() + << " (now marking it as auto)" << std::endl; + } + Cache[I].Flags |= pkgCache::Flag::Auto; + } + } + + return true; } /*}}}*/ @@@ -1130,8 -1080,6 +1132,8 @@@ system was non-broken previously. */ bool pkgProblemResolver::ResolveByKeep() { + pkgDepCache::ActionGroup group(Cache); + unsigned long Size = Cache.Head().PackageCount; if (Debug == true) @@@ -1165,7 -1113,7 +1167,7 @@@ { if (Debug == true) clog << "Keeping package " << I.Name() << endl; - Cache.MarkKeep(I); + Cache.MarkKeep(I, false, false); if (Cache[I].InstBroken() == false) { K = PList - 1; @@@ -1213,7 -1161,7 +1215,7 @@@ { if (Debug == true) clog << " Keeping Package " << Pkg.Name() << " due to dep" << endl; - Cache.MarkKeep(Pkg); + Cache.MarkKeep(Pkg, false, false); } if (Cache[I].InstBroken() == false) @@@ -1250,21 -1198,14 +1252,21 @@@ /* This is used to make sure protected packages are installed */ void pkgProblemResolver::InstallProtect() { + pkgDepCache::ActionGroup group(Cache); + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) { if ((Flags[I->ID] & Protected) == Protected) { if ((Flags[I->ID] & ToRemove) == ToRemove) Cache.MarkDelete(I); - else - Cache.MarkInstall(I,false); + else + { + // preserver the information if the package was auto + // or manual installed + bool autoInst = (Cache[I].Flags & pkgCache::Flag::Auto); + Cache.MarkInstall(I, false, 0, !autoInst); + } } } } @@@ -1300,4 -1241,3 +1302,4 @@@ void pkgPrioSortList(pkgCache &Cache,pk qsort(List,Count,sizeof(*List),PrioComp); } /*}}}*/ + diff --combined apt-pkg/cdrom.cc index e61344eee,07a7b868a..afa99bc73 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@@ -18,6 -18,7 +18,7 @@@ #include #include #include + #include #include "indexcopy.h" @@@ -30,16 -31,12 +31,16 @@@ using namespace std search that short circuits when it his a package file in the dir. This speeds it up greatly as the majority of the size is in the binary-* sub dirs. */ -bool pkgCdrom::FindPackages(string CD,vector &List, - vector &SList, vector &SigList, +bool pkgCdrom::FindPackages(string CD, + vector &List, + vector &SList, + vector &SigList, + vector &TransList, string &InfoDir, pkgCdromStatus *log, unsigned int Depth) { static ino_t Inodes[9]; + DIR *D; // if we have a look we "pulse" now if(log) @@@ -94,28 -91,8 +95,28 @@@ if (_config->FindB("APT::CDROM::Thorough",false) == false) return true; } + + // see if we find translatin indexes + if (stat("i18n",&Buf) == 0) + { + D = opendir("i18n"); + for (struct dirent *Dir = readdir(D); Dir != 0; Dir = readdir(D)) + { + if(strstr(Dir->d_name,"Translation") != NULL) + { + if (_config->FindB("Debug::aptcdrom",false) == true) + std::clog << "found translations: " << Dir->d_name << "\n"; + string file = Dir->d_name; + if(file.substr(file.size()-3,file.size()) == ".gz") + file = file.substr(0,file.size()-3); + TransList.push_back(CD+"i18n/"+ file); + } + } + closedir(D); + } + - DIR *D = opendir("."); + D = opendir("."); if (D == 0) return _error->Errno("opendir","Unable to read %s",CD.c_str()); @@@ -151,7 -128,7 +152,7 @@@ Inodes[Depth] = Buf.st_ino; // Descend - if (FindPackages(CD + Dir->d_name,List,SList,SigList,InfoDir,log,Depth+1) == false) + if (FindPackages(CD + Dir->d_name,List,SList,SigList,TransList,InfoDir,log,Depth+1) == false) break; if (chdir(CD.c_str()) != 0) @@@ -636,10 -613,9 +637,10 @@@ bool pkgCdrom::Add(pkgCdromStatus *log vector List; vector SourceList; vector SigList; + vector TransList; string StartDir = SafeGetCWD(); string InfoDir; - if (FindPackages(CDROM,List,SourceList, SigList,InfoDir,log) == false) + if (FindPackages(CDROM,List,SourceList, SigList,TransList,InfoDir,log) == false) { log->Update("\n"); return false; @@@ -667,13 -643,11 +668,13 @@@ DropRepeats(List,"Packages"); DropRepeats(SourceList,"Sources"); DropRepeats(SigList,"Release.gpg"); + DropRepeats(TransList,""); if(log) { msg.str(""); - ioprintf(msg, _("Found %i package indexes, %i source indexes and " - "%i signatures\n"), - List.size(), SourceList.size(), SigList.size()); + ioprintf(msg, _("Found %i package indexes, %i source indexes, " + "%i translation indexes and %i signatures\n"), + List.size(), SourceList.size(), TransList.size(), + SigList.size()); log->Update(msg.str(), STEP_SCAN); } @@@ -765,10 -739,8 +766,10 @@@ // Copy the package files to the state directory PackageCopy Copy; SourceCopy SrcCopy; + TranslationsCopy TransCopy; if (Copy.CopyPackages(CDROM,Name,List, log) == false || - SrcCopy.CopyPackages(CDROM,Name,SourceList, log) == false) + SrcCopy.CopyPackages(CDROM,Name,SourceList, log) == false || + TransCopy.CopyTranslations(CDROM,Name,TransList, log) == false) return false; // reduce the List so that it takes less space in sources.list diff --combined apt-pkg/contrib/strutl.cc index 37d263794,6e549bedd..14ead61e1 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@@ -28,59 -28,17 +28,60 @@@ #include #include #include + #include #include #include #include #include +#include #include "config.h" using namespace std; /*}}}*/ +// UTF8ToCodeset - Convert some UTF-8 string for some codeset /*{{{*/ +// --------------------------------------------------------------------- +/* This is handy to use before display some information for enduser */ +bool UTF8ToCodeset(const char *codeset, const string &orig, string *dest) +{ + iconv_t cd; + const char *inbuf; + char *inptr, *outbuf, *outptr; + size_t insize, outsize; + + cd = iconv_open(codeset, "UTF-8"); + if (cd == (iconv_t)(-1)) { + // Something went wrong + if (errno == EINVAL) + _error->Error("conversion from 'UTF-8' to '%s' not available", + codeset); + else + perror("iconv_open"); + + // Clean the destination string + *dest = ""; + + return false; + } + + insize = outsize = orig.size(); + inbuf = orig.data(); + inptr = (char *)inbuf; + outbuf = new char[insize+1]; + outptr = outbuf; + + iconv(cd, &inptr, &insize, &outptr, &outsize); + *outptr = '\0'; + + *dest = outbuf; + delete[] outbuf; + + iconv_close(cd); + + return true; +} + /*}}}*/ // strstrip - Remove white space from the front and back of a string /*{{{*/ // --------------------------------------------------------------------- /* This is handy to use when parsing a file. It also removes \n's left diff --combined apt-pkg/init.cc index 579a19ab9,52c8a68aa..2f15486d9 --- a/apt-pkg/init.cc +++ b/apt-pkg/init.cc @@@ -14,6 -14,7 +14,7 @@@ #include #include + #include #include /*}}}*/ @@@ -40,8 -41,6 +41,8 @@@ bool pkgInitConfig(Configuration &Cnf else Cnf.Set("APT::Architecture",COMMON_OS "-" COMMON_CPU); Cnf.Set("APT::Build-Essential::", "build-essential"); + Cnf.Set("APT::Install-Recommends", false); + Cnf.Set("APT::Install-Suggests", false); Cnf.Set("Dir","/"); // State @@@ -104,9 -103,6 +105,9 @@@ bindtextdomain(textdomain(0),Cnf.FindDir("Dir::Locale").c_str()); } #endif + + // Translation + Cnf.Set("APT::Acquire::Translation", "environment"); return true; } diff --combined cmdline/apt-get.cc index 74824b6b0,6bbc40242..1dcbbfc5b --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@@ -60,7 -60,6 +60,7 @@@ #include #include #include +#include /*}}}*/ using namespace std; @@@ -629,8 -628,6 +629,8 @@@ void CacheFile::Sort( and verifies that the system is OK. */ bool CacheFile::CheckDeps(bool AllowBroken) { + bool FixBroken = _config->FindB("APT::Get::Fix-Broken",false); + if (_error->PendingError() == true) return false; @@@ -642,24 -639,12 +642,24 @@@ if (pkgApplyStatus(*DCache) == false) return false; + if (_config->FindB("APT::Get::Fix-Policy-Broken",false) == true) + { + FixBroken = true; + if ((DCache->PolicyBrokenCount() > 0)) + { + // upgrade all policy-broken packages with ForceImportantDeps=True + for (pkgCache::PkgIterator I = Cache->PkgBegin(); !I.end(); I++) + if ((*DCache)[I].NowPolicyBroken() == true) + DCache->MarkInstall(I,true,0, false, true); + } + } + // Nothing is broken if (DCache->BrokenCount() == 0 || AllowBroken == true) return true; // Attempt to fix broken things - if (_config->FindB("APT::Get::Fix-Broken",false) == true) + if (FixBroken == true) { c1out << _("Correcting dependencies...") << flush; if (pkgFixBroken(*DCache) == false || DCache->BrokenCount() != 0) @@@ -1010,7 -995,7 +1010,7 @@@ bool InstallPackages(CacheFile &Cache,b cerr << _("Unable to correct missing packages.") << endl; return _error->Error(_("Aborting install.")); } - + _system->UnLock(); int status_fd = _config->FindI("APT::Status-Fd",-1); pkgPackageManager::OrderResult Res = PM->DoInstall(status_fd); @@@ -1160,11 -1145,9 +1160,11 @@@ bool TryToInstall(pkgCache::PkgIterato else ExpectedInst++; - // Install it with autoinstalling enabled. - if (State.InstBroken() == true && BrokenFix == false) + // Install it with autoinstalling enabled (if we not respect the minial + // required deps or the policy) + if ((State.InstBroken() == true || State.InstPolicyBroken() == true) && BrokenFix == false) Cache.MarkInstall(Pkg,true); + return true; } /*}}}*/ @@@ -1372,29 -1355,20 +1372,29 @@@ bool DoUpdate(CommandLine &CmdL return false; bool Failed = false; + bool TransientNetworkFailure = false; for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++) { if ((*I)->Status == pkgAcquire::Item::StatDone) continue; (*I)->Finished(); - + fprintf(stderr,_("Failed to fetch %s %s\n"),(*I)->DescURI().c_str(), (*I)->ErrorText.c_str()); + + if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError) + { + TransientNetworkFailure = true; + continue; + } + Failed = true; } // Clean out any old list files - if (!Failed && _config->FindB("APT::Get::List-Cleanup",true) == true) + if (!TransientNetworkFailure && + _config->FindB("APT::Get::List-Cleanup",true) == true) { if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false || Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") == false) @@@ -1406,81 -1380,12 +1406,81 @@@ if (Cache.BuildCaches() == false) return false; - if (Failed == true) + if (TransientNetworkFailure == true) + _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead.")); + else if (Failed == true) return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead.")); - + return true; } /*}}}*/ +// DoAutomaticRemove - Remove all automatic unused packages /*{{{*/ +// --------------------------------------------------------------------- +/* Remove unused automatic packages */ +bool DoAutomaticRemove(CacheFile &Cache) +{ + bool Debug = _config->FindI("Debug::pkgAutoRemove",false); + bool doAutoRemove = _config->FindB("APT::Get::AutomaticRemove", false); + bool hideAutoRemove = _config->FindB("APT::Get::HideAutoRemove"); + pkgDepCache::ActionGroup group(*Cache); + + if(Debug) + std::cout << "DoAutomaticRemove()" << std::endl; + + if (_config->FindB("APT::Get::Remove",true) == false && + doAutoRemove == true) + { + c1out << _("We are not supposed to delete stuff, can't start " + "AutoRemover") << std::endl; + doAutoRemove = false; + } + + string autoremovelist, autoremoveversions; + // look over the cache to see what can be removed + for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); ! Pkg.end(); ++Pkg) + { + if (Cache[Pkg].Garbage) + { + if(Pkg.CurrentVer() != 0 || Cache[Pkg].Install()) + if(Debug) + std::cout << "We could delete %s" << Pkg.Name() << std::endl; + + // only show stuff in the list that is not yet marked for removal + if(Cache[Pkg].Delete() == false) + { + autoremovelist += string(Pkg.Name()) + " "; + autoremoveversions += string(Cache[Pkg].CandVersion) + "\n"; + } + if (doAutoRemove) + { + if(Pkg.CurrentVer() != 0 && + Pkg->CurrentState != pkgCache::State::ConfigFiles) + Cache->MarkDelete(Pkg, _config->FindB("APT::Get::Purge", false)); + else + Cache->MarkKeep(Pkg, false, false); + } + } + } + if (!hideAutoRemove) + ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions); + if (!doAutoRemove && !hideAutoRemove && autoremovelist.size() > 0) + c1out << _("Use 'apt-get autoremove' to remove them.") << std::endl; + + // Now see if we destroyed anything + if (Cache->BrokenCount() != 0) + { + c1out << _("Hmm, seems like the AutoRemover destroyed something which really\n" + "shouldn't happen. Please file a bug report against apt.") << endl; + c1out << endl; + c1out << _("The following information may help to resolve the situation:") << endl; + c1out << endl; + ShowBroken(c1out,Cache,false); + + return _error->Error(_("Internal Error, AutoRemover broke stuff")); + } + return true; +} + // DoUpgrade - Upgrade all packages /*{{{*/ // --------------------------------------------------------------------- /* Upgrade all packages without installing new packages or erasing old @@@ -1501,51 -1406,6 +1501,51 @@@ bool DoUpgrade(CommandLine &CmdL return InstallPackages(Cache,true); } /*}}}*/ +// DoInstallTask - Install task from the command line /*{{{*/ +// --------------------------------------------------------------------- +/* Install named task */ +bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix, + bool BrokenFix, + unsigned int& ExpectedInst, + const char *taskname) +{ + const char *start, *end; + pkgCache::PkgIterator Pkg; + char buf[64*1024]; + regex_t Pattern; + + // get the records + pkgRecords Recs(Cache); + + // build regexp for the task + char S[300]; + snprintf(S, sizeof(S), "^Task:.*[^a-z]%s[^a-z].*\n", taskname); + regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE); + + bool found = false; + bool res = true; + for (Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++) + { + pkgCache::VerIterator ver = Cache[Pkg].CandidateVerIter(Cache); + if(ver.end()) + continue; + pkgRecords::Parser &parser = Recs.Lookup(ver.FileList()); + parser.GetRec(start,end); + strncpy(buf, start, end-start); + buf[end-start] = 0x0; + if (regexec(&Pattern,buf,0,0,0) != 0) + continue; + res &= TryToInstall(Pkg,Cache,Fix,false,BrokenFix,ExpectedInst); + found = true; + } + + if(!found) + _error->Error(_("Couldn't find task %s"),taskname); + + regfree(&Pattern); + return res; +} + // DoInstall - Install packages from the command line /*{{{*/ // --------------------------------------------------------------------- /* Install named packages */ @@@ -1561,7 -1421,6 +1561,7 @@@ bool DoInstall(CommandLine &CmdL if (Cache->BrokenCount() != 0) BrokenFix = true; + unsigned int AutoMarkChanged = 0; unsigned int ExpectedInst = 0; unsigned int Packages = 0; pkgProblemResolver Fix(Cache); @@@ -1574,180 -1433,154 +1574,180 @@@ _config->Set("APT::Get::Purge", true); DefRemove = true; } - for (const char **I = CmdL.FileList + 1; *I != 0; I++) + else if (strcasecmp(CmdL.FileList[0], "autoremove") == 0) { - // Duplicate the string - unsigned int Length = strlen(*I); - char S[300]; - if (Length >= sizeof(S)) - continue; - strcpy(S,*I); - - // See if we are removing and special indicators.. - bool Remove = DefRemove; - char *VerTag = 0; - bool VerIsRel = false; - while (Cache->FindPkg(S).end() == true) + _config->Set("APT::Get::AutomaticRemove", "true"); + DefRemove = true; + } + // new scope for the ActionGroup + { + pkgDepCache::ActionGroup group(Cache); + for (const char **I = CmdL.FileList + 1; *I != 0; I++) { - // Handle an optional end tag indicating what to do - if (Length >= 1 && S[Length - 1] == '-') - { - Remove = true; - S[--Length] = 0; + // Duplicate the string + unsigned int Length = strlen(*I); + char S[300]; + if (Length >= sizeof(S)) continue; - } - - if (Length >= 1 && S[Length - 1] == '+') + strcpy(S,*I); + + // See if we are removing and special indicators.. + bool Remove = DefRemove; + char *VerTag = 0; + bool VerIsRel = false; + while (Cache->FindPkg(S).end() == true) { - Remove = false; - S[--Length] = 0; - continue; - } + // Handle an optional end tag indicating what to do + if (Length >= 1 && S[Length - 1] == '-') + { + Remove = true; + S[--Length] = 0; + continue; + } - char *Slash = strchr(S,'='); - if (Slash != 0) - { - VerIsRel = false; - *Slash = 0; - VerTag = Slash + 1; - } + if (Length >= 1 && S[Length - 1] == '+') + { + Remove = false; + S[--Length] = 0; + continue; + } - Slash = strchr(S,'/'); - if (Slash != 0) - { - VerIsRel = true; - *Slash = 0; - VerTag = Slash + 1; - } + char *Slash = strchr(S,'='); + if (Slash != 0) + { + VerIsRel = false; + *Slash = 0; + VerTag = Slash + 1; + } - break; - } + Slash = strchr(S,'/'); + if (Slash != 0) + { + VerIsRel = true; + *Slash = 0; + VerTag = Slash + 1; + } + + break; + } - // Locate the package - pkgCache::PkgIterator Pkg = Cache->FindPkg(S); - Packages++; - if (Pkg.end() == true) - { - // Check if the name is a regex - const char *I; - for (I = S; *I != 0; I++) - if (*I == '?' || *I == '*' || *I == '|' || - *I == '[' || *I == '^' || *I == '$') - break; - if (*I == 0) - return _error->Error(_("Couldn't find package %s"),S); + // Locate the package + pkgCache::PkgIterator Pkg = Cache->FindPkg(S); + Packages++; + if (Pkg.end() == true) + { + // Check if the name is a regex + const char *I; + for (I = S; *I != 0; I++) + if (*I == '?' || *I == '*' || *I == '|' || + *I == '[' || *I == '^' || *I == '$') + break; + if (*I == 0) + return _error->Error(_("Couldn't find package %s"),S); - // Regexs must always be confirmed - ExpectedInst += 1000; + // Regexs must always be confirmed + ExpectedInst += 1000; - // Compile the regex pattern - regex_t Pattern; - int Res; - if ((Res = regcomp(&Pattern,S,REG_EXTENDED | REG_ICASE | - REG_NOSUB)) != 0) - { - char Error[300]; - regerror(Res,&Pattern,Error,sizeof(Error)); - return _error->Error(_("Regex compilation error - %s"),Error); - } + // Compile the regex pattern + regex_t Pattern; + int Res; + if ((Res = regcomp(&Pattern,S,REG_EXTENDED | REG_ICASE | + REG_NOSUB)) != 0) + { + char Error[300]; + regerror(Res,&Pattern,Error,sizeof(Error)); + return _error->Error(_("Regex compilation error - %s"),Error); + } - // Run over the matches - bool Hit = false; - for (Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) - { - if (regexec(&Pattern,Pkg.Name(),0,0,0) != 0) - continue; + // Run over the matches + bool Hit = false; + for (Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) + { + if (regexec(&Pattern,Pkg.Name(),0,0,0) != 0) + continue; - ioprintf(c1out,_("Note, selecting %s for regex '%s'\n"), - Pkg.Name(),S); + ioprintf(c1out,_("Note, selecting %s for regex '%s'\n"), + Pkg.Name(),S); + if (VerTag != 0) + if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) + return false; + + Hit |= TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix, + ExpectedInst,false); + } + regfree(&Pattern); + + if (Hit == false) + return _error->Error(_("Couldn't find package %s"),S); + } + else + { if (VerTag != 0) if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) return false; - - Hit |= TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix, - ExpectedInst,false); - } - regfree(&Pattern); - - if (Hit == false) - return _error->Error(_("Couldn't find package %s"),S); - } - else - { - if (VerTag != 0) - if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) + if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false) return false; - if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false) - return false; - } - } - /* If we are in the Broken fixing mode we do not attempt to fix the - problems. This is if the user invoked install without -f and gave - packages */ - if (BrokenFix == true && Cache->BrokenCount() != 0) - { - c1out << _("You might want to run `apt-get -f install' to correct these:") << endl; - ShowBroken(c1out,Cache,false); + // see if we need to fix the auto-mark flag + // e.g. apt-get install foo + // where foo is marked automatic + if(!Remove && + Cache[Pkg].Install() == false && + (Cache[Pkg].Flags & pkgCache::Flag::Auto)) + { + ioprintf(c1out,_("%s set to manual installed.\n"), + Pkg.Name()); + Cache->MarkAuto(Pkg,false); + AutoMarkChanged++; + } + } + } - return _error->Error(_("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).")); - } + /* If we are in the Broken fixing mode we do not attempt to fix the + problems. This is if the user invoked install without -f and gave + packages */ + if (BrokenFix == true && Cache->BrokenCount() != 0) + { + c1out << _("You might want to run `apt-get -f install' to correct these:") << endl; + ShowBroken(c1out,Cache,false); + + return _error->Error(_("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).")); + } - // Call the scored problem resolver - Fix.InstallProtect(); - if (Fix.Resolve(true) == false) - _error->Discard(); + // Call the scored problem resolver + Fix.InstallProtect(); + if (Fix.Resolve(true) == false) + _error->Discard(); - // Now we check the state of the packages, - if (Cache->BrokenCount() != 0) - { - c1out << - _("Some packages could not be installed. This may mean that you have\n" - "requested an impossible situation or if you are using the unstable\n" - "distribution that some required packages have not yet been created\n" - "or been moved out of Incoming.") << endl; - if (Packages == 1) + // Now we check the state of the packages, + if (Cache->BrokenCount() != 0) { - c1out << endl; c1out << - _("Since you only requested a single operation it is extremely likely that\n" - "the package is simply not installable and a bug report against\n" - "that package should be filed.") << endl; - } + _("Some packages could not be installed. This may mean that you have\n" + "requested an impossible situation or if you are using the unstable\n" + "distribution that some required packages have not yet been created\n" + "or been moved out of Incoming.") << endl; + if (Packages == 1) + { + c1out << endl; + c1out << + _("Since you only requested a single operation it is extremely likely that\n" + "the package is simply not installable and a bug report against\n" + "that package should be filed.") << endl; + } + + c1out << _("The following information may help to resolve the situation:") << endl; + c1out << endl; + ShowBroken(c1out,Cache,false); + return _error->Error(_("Broken packages")); + } + } + if (_config->FindB("APT::Get::AutomaticRemove")) { + if (!DoAutomaticRemove(Cache)) + return false; + } - c1out << _("The following information may help to resolve the situation:") << endl; - c1out << endl; - ShowBroken(c1out,Cache,false); - return _error->Error(_("Broken packages")); - } - /* Print out a list of packages that are going to be installed extra to what the user asked */ if (Cache->InstCount() != ExpectedInst) @@@ -1767,8 -1600,8 +1767,8 @@@ if (*J == 0) { List += string(I.Name()) + " "; - VersionsList += string(Cache[I].CandVersion) + "\n"; - } + VersionsList += string(Cache[I].CandVersion) + "\n"; + } } ShowList(c1out,_("The following extra packages will be installed:"),List,VersionsList); @@@ -1865,14 -1698,6 +1865,14 @@@ } + // if nothing changed in the cache, but only the automark information + // we write the StateFile here, otherwise it will be written in + // cache.commit() + if (AutoMarkChanged > 0 && + Cache->DelCount() == 0 && Cache->InstCount() == 0 && + Cache->BadCount() == 0) + Cache->writeStateFile(NULL); + // See if we need to prompt if (Cache->InstCount() == ExpectedInst && Cache->DelCount() == 0) return InstallPackages(Cache,false,false); @@@ -1911,8 -1736,6 +1911,8 @@@ bool DoDSelectUpgrade(CommandLine &CmdL if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false) return false; + pkgDepCache::ActionGroup group(Cache); + // Install everything with the install flag set pkgCache::PkgIterator I = Cache->PkgBegin(); for (;I.end() != true; I++) @@@ -2131,6 -1954,11 +2131,11 @@@ bool DoSource(CommandLine &CmdL I->Type != "tar") continue; + // Dsc only mode only fetches .dsc files + if (_config->FindB("APT::Get::Dsc-Only",false) == true && + I->Type != "dsc") + continue; + // don't download the same uri twice (should this be moved to // the fetcher interface itself?) if(queued.find(Last->Index().ArchiveURI(I->Path)) != queued.end()) @@@ -2666,7 -2494,6 +2671,7 @@@ void GetInitialize( _config->Set("APT::Get::Fix-Broken",false); _config->Set("APT::Get::Force-Yes",false); _config->Set("APT::Get::List-Cleanup",true); + _config->Set("APT::Get::AutomaticRemove",false); } /*}}}*/ // SigWinch - Window size change signal handler /*{{{*/ @@@ -2714,7 -2541,8 +2719,8 @@@ int main(int argc,const char *argv[] {0,"force-yes","APT::Get::force-yes",0}, {0,"print-uris","APT::Get::Print-URIs",0}, {0,"diff-only","APT::Get::Diff-Only",0}, - {0,"tar-only","APT::Get::tar-Only",0}, + {0,"tar-only","APT::Get::Tar-Only",0}, + {0,"dsc-only","APT::Get::Dsc-Only",0}, {0,"purge","APT::Get::Purge",0}, {0,"list-cleanup","APT::Get::List-Cleanup",0}, {0,"reinstall","APT::Get::ReInstall",0}, @@@ -2722,10 -2550,7 +2728,10 @@@ {0,"remove","APT::Get::Remove",0}, {0,"only-source","APT::Get::Only-Source",0}, {0,"arch-only","APT::Get::Arch-Only",0}, + {0,"auto-remove","APT::Get::AutomaticRemove",0}, {0,"allow-unauthenticated","APT::Get::AllowUnauthenticated",0}, + {0,"install-recommends","APT::Install-Recommends",CommandLine::Boolean}, + {0,"fix-policy","APT::Get::Fix-Policy-Broken",0}, {'c',"config-file",0,CommandLine::ConfigFile}, {'o',"option",0,CommandLine::ArbItem}, {0,0,0,0}}; @@@ -2733,7 -2558,6 +2739,7 @@@ {"upgrade",&DoUpgrade}, {"install",&DoInstall}, {"remove",&DoInstall}, + {"autoremove",&DoInstall}, {"dist-upgrade",&DoDistUpgrade}, {"dselect-upgrade",&DoDSelectUpgrade}, {"build-dep",&DoBuildDep}, diff --combined debian/changelog index 2504df8ce,dfdf0a401..05e3b58ef --- a/debian/changelog +++ b/debian/changelog @@@ -1,37 -1,5 +1,42 @@@ -apt (0.6.47) UNRELEASED; urgency=low +apt (0.7.2) unstable; urgency=low + + * merged the debian/experimental changes back + into the debian/sid branch + * merged from Christian Perrier: + * mr.po: New Marathi translation Closes: #416806 + * zh_CN.po: Updated by Eric Pareja Closes: #416822 + * tl.po: Updated by Eric Pareja Closes: #416638 + * gl.po: Updated by Jacobo Tarrio + Closes: #412828 + * da.po: Updated by Claus Hindsgaul + Closes: #409483 + * fr.po: Remove a non-breakable space for usability + issues. Closes: #408877 + * ru.po: Updated Russian translation. Closes: #405476 + * *.po: Unfuzzy after upstream typo corrections + * buildlib/archtable: + - added support for sh3/sh4 (closes: #424870) + - added support for m32r (closes: #394096) + * buildlib/systemtable: + - added support for lpia + * configure.in: + - check systemtable for architecture mapping too + * fix error in AutocleanInterval, closes: #319339 + (thanks to Israel G. Lugo for the patch) + * add "purge" commandline argument, closes: #133421) + (thanks to Julien Danjou for the patch) ++ * add "purge" commandline argument, closes: #133421) ++ (thanks to Julien Danjou for the patch) ++ * fix FTBFS with gcc 4.3, closes: #417090 ++ (thanks to Martin Michlmayr for the patch) ++ * add --dsc-only option, thanks to K. Richard Pixley + + -- Michael Vogt Wed, 06 Jun 2007 23:19:50 +0200 + +apt (0.7.1) experimental; urgency=low + * ABI library name change because its build against + new glibc * implement SourceVer() in pkgRecords (thanks to Daniel Burrows for the patch!) * apt-pkg/algorithm.cc: @@@ -52,7 -20,7 +57,7 @@@ - fix error translation that causes trouble to lsb_release * apt-pkg/acquire-item.cc: - if decompression of a index fails, delete the index - * [ABI] apt-pkg/acquire.{cc,h}: + * apt-pkg/acquire.{cc,h}: - deal better with duplicated sources.list entries (avoid double queuing of URLs) - this fixes hangs in bzip/gzip * merged from Christian Perrier: @@@ -75,25 -43,22 +80,25 @@@ complete translations * apt-pkg/policy.cc: - allow multiple packages (thanks to David Foerster) - * buildlib/archtable: - - added support for sh3/sh4 (closes: #424870) - - added support for m32r (closes: #394096) - * buildlib/systemtable: - - added support for lpia - * configure.in: - - check systemtable for architecture mapping too - * fix error in AutocleanInterval, closes: #319339 - (thanks to Israel G. Lugo for the patch) - * add "purge" commandline argument, closes: #133421) - (thanks to Julien Danjou for the patch) - * fix FTBFS with gcc 4.3, closes: #417090 - (thanks to Martin Michlmayr for the patch) - * add --dsc-only option, thanks to K. Richard Pixley - - -- Michael Vogt Mon, 18 Dec 2006 19:39:05 +0100 + + -- Michael Vogt Wed, 2 May 2007 13:43:44 +0200 + +apt (0.7.0) experimental; urgency=low + + * Package that contains tall the new features + * Removed all #pragma interface/implementation + * Branch that contains tall the new features: + * translated package descriptions + * task install support + * automatic dependency removal (thanks to Daniel Burrows) + * merged support for the new dpkg "Breaks" field + (thanks to Ian Jackson) + * handle network failures more gracefully on "update" + * support for unattended-upgrades (via unattended-upgrades + package) + * added apt-transport-https method + + -- Michael Vogt Fri, 12 Jan 2007 20:48:07 +0100 apt (0.6.46.4-0.1) unstable; urgency=emergency @@@ -148,53 -113,40 +153,53 @@@ apt (0.6.46.3) unstable; urgency=lo messages * Merged from Christian Perrier bzr branch: - - ca.po: Updated to 514t - - be.po: Updated to 514t - - it.po: Updated to 514t - - hu.po: Updated to 514t - - zh_TW.po: Updated to 514t - - ar.po: Updated to 293t221u. - - ru.po: Updated to 514t. Closes: #392466 - - nb.po: Updated to 514t. Closes: #392466 - - pt.po: Updated to 514t. Closes: #393199 - - fr.po: One spelling error corrected: s/accèder/accéder - - km.po: Updated to 514t. - - ko.po: Updated to 514t. - - bg.po: Updated to 514t. - - de.po: Updated to 514t. - - en_GB.po: Updated to 514t. - - -- Michael Vogt Thu, 2 Nov 2006 11:37:58 +0100 + - ca.po: Updated to 514t + - be.po: Updated to 514t + - it.po: Updated to 514t + - hu.po: Updated to 514t + - zh_TW.po: Updated to 514t + - ar.po: Updated to 293t221u. + - ru.po: Updated to 514t. Closes: #392466 + - nb.po: Updated to 514t. Closes: #392466 + - pt.po: Updated to 514t. Closes: #393199 + - fr.po: One spelling error corrected: s/accèder/accéder + - km.po: Updated to 514t. + - ko.po: Updated to 514t. + - bg.po: Updated to 514t. + - de.po: Updated to 514t. + - en_GB.po: Updated to 514t. + + -- Michael Vogt Thu, 2 Nov 2006 11:37:58 +0100 apt (0.6.46.2) unstable; urgency=low + * debian/control: + - depend on debian-archive-keyring to offer clean upgrade path + (closes: #386800) * Merged from Christian Perrier bzr branch: - es.po: Updated to 514t. Closes: #391661 - da.po: Updated to 514t. Closes: #391424 - cs.po: Updated. Closes: #391064 - es.po: Updated to 514t. Closes: #391661 - da.po: Updated to 514t. Closes: #391424 - + -- Michael Vogt Wed, 11 Oct 2006 09:03:15 +0200 apt (0.6.46.1) unstable; urgency=low + * merged "install-recommends" branch (ABI break): + - new "--install-recommends" + - install new recommends on "upgrade" if --install-recommends is + given + - new "--fix-policy" option to install all packages with unmet + important dependencies (usefull with --install-recommends to + see what not-installed recommends are on the system) + - fix of recommended packages display (only show CandidateVersion + fix or-group handling) + * merged "install-task" branch (use with "apt-get install taskname^") * methods/gzip.cc: - deal with empty files - * Applied patch from Daniel Schepler to make apt bin-NMU able. + * Applied patch from Daniel Schepler to make apt bin-NMU able. (closes: bug#359634) * rebuild against current g++ because of: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29289 @@@ -282,42 -234,26 +287,42 @@@ apt (0.6.45) unstable; urgency=lo * dz.po: New Dzongkha translation: 512t * ro.po: Updated to 512t * eu.po: Updated + * eu.po: Updated + * fix apt-get dist-upgrade + * fix warning if no /var/lib/apt/extended_states is present + * don't download Translations for deb-src sources.list lines + * apt-pkg/tagfile.cc: + - support not-mmapable files again - -- Michael Vogt Thu, 27 Jul 2006 00:52:05 +0200 + -- Michael Vogt Tue, 25 Jul 2006 11:55:22 +0200 -apt (0.6.44.2) unstable; urgency=low - - * apt-pkg/depcache.cc: - - added Debug::pkgDepCache::AutoInstall (thanks to infinity) - * apt-pkg/acquire-item.cc: - - fix missing chmod() in the new aquire code - (thanks to Bastian Blank, Closes: #367425) - * merged from - http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main: - * sk.po: Completed to 512t - * eu.po: Completed to 512t - * fr.po: Completed to 512t - * sv.po: Completed to 512t - * Update all PO and the POT. Gives 506t6f for formerly - complete translations - - -- Michael Vogt Wed, 14 Jun 2006 12:00:57 +0200 +apt (0.6.44.2exp1) experimental; urgency=low + + * added support for i18n of the package descriptions + * added support for aptitude like auto-install tracking (a HUGE + HUGE thanks to Daniel Burrows who made this possible) + * synced with the http://people.debian.org/~mvo/bzr/apt/debian-sid branch + * build from http://people.debian.org/~mvo/bzr/apt/debian-experimental + + -- Michael Vogt Mon, 3 Jul 2006 21:50:31 +0200 + +apt (0.6.44.2) unstable; urgency=low + + * apt-pkg/depcache.cc: + - added Debug::pkgDepCache::AutoInstall (thanks to infinity) + * apt-pkg/acquire-item.cc: + - fix missing chmod() in the new aquire code + (thanks to Bastian Blank, Closes: #367425) + * merged from + http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main: + * sk.po: Completed to 512t + * eu.po: Completed to 512t + * fr.po: Completed to 512t + * sv.po: Completed to 512t + * Update all PO and the POT. Gives 506t6f for formerly + complete translations + + -- Michael Vogt Wed, 14 Jun 2006 12:00:57 +0200 apt (0.6.44.1-0.1) unstable; urgency=low @@@ -329,32 -265,22 +334,32 @@@ apt (0.6.44.1) unstable; urgency=low + * apt-pkg/acquire-item.cc: + - fix reversed logic of the "Acquire::PDiffs" option * merged from http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main: - po/LINGUAS: added "bg" Closes: #360262 - po/gl.po: Galician translation update. Closes: #366849 - po/hu.po: Hungarian translation update. Closes: #365448 - po/cs.po: Czech translation updated. Closes: #367244 + * apt-pkg/contrib/sha256.cc: + - applied patch to fix unaligned access problem. Closes: #367417 + (thanks to David Mosberger) -- Michael Vogt Tue, 16 May 2006 21:51:16 +0200 apt (0.6.44) unstable; urgency=low * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large + * apt-pkg/contrib/sha256.{cc,h},hashes.{cc,h}: support for sha256 + (thanks to Anthony Towns) + * ftparchive/cachedb.{cc,h},writer.{cc,h}: optimizations + (thanks to Anthony Towns) + * apt pdiff support from experimental merged + * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman) * apt-pkg/deb/dpkgpm.cc: - wording fixes (thanks to Matt Zimmerman) - - fix error in dpkg interaction (closes: #364513, - thanks to Martin Dickopp) + - fix error in dpkg interaction (closes: #364513, thanks to Martin Dickopp) * apt-pkg/tagfile.{cc,h}: - use MMap to read the entries (thanks to Zephaniah E. Hull for the patch) Closes: #350025 @@@ -549,7 -475,7 +554,7 @@@ apt (0.6.42) unstable; urgency=lo * cmdline/apt-cdrom.cc: - fix some missing gettext() calls (closes: #334539) * doc/apt-cache.8.xml: fix typo (closes: #334714) - + -- Michael Vogt Wed, 19 Oct 2005 22:02:09 +0200 apt (0.6.41) unstable; urgency=low @@@ -649,7 -575,6 +654,7 @@@ apt (0.6.37) breezy; urgency=lo * Add Welsh translation from Dafydd Harries (daf@muse.19inch.net--2005/apt--main--0--patch-1) * Change debian/bugscript to use #!/bin/bash (Closes: #313402) + * Fix a incorrect example in the man-page (closes: #282918) -- Matt Zimmerman Tue, 24 May 2005 14:38:25 -0700 diff --combined doc/apt-get.8.xml index 9d30a176c,a6bb98ad0..1bd21a5df --- a/doc/apt-get.8.xml +++ b/doc/apt-get.8.xml @@@ -48,7 -48,6 +48,7 @@@ check clean autoclean + autoremove @@@ -210,11 -209,6 +210,11 @@@ APT::Clean-Installed will prevent installed packages from being erased if it is set to off. + + autoremove + autoremove is used to remove packages that were automatically + installed to satisfy dependencies for some package and that are no more needed. + @@@ -394,13 -388,6 +394,13 @@@ Configuration Item: APT::Get::Remove. + + If the command is either install or remove, + then this option acts like running autoremove command, removing the unused + dependency packages. Configuration Item: APT::Get::AutomaticRemove. + + + Only has meaning for the source and build-dep @@@ -412,9 -399,9 +412,9 @@@ Item: APT::Get::Only-Source. - - Download only the diff or tar file of a source archive. - Configuration Item: APT::Get::Diff-Only and + + Download only the diff, dsc, or tar file of a source archive. + Configuration Item: APT::Get::Diff-Only, APT::Get::Dsc-Only, and APT::Get::Tar-Only. diff --combined po/apt-all.pot index 749d47844,ad05fbdc8..a7185fcf3 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@@ -7,7 -7,7 +7,7 @@@ msgid " msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-06-06 23:30+0200\n" -"POT-Creation-Date: 2007-06-08 23:06+0200\n" ++"POT-Creation-Date: 2007-06-08 23:11+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@@ -15,153 -15,145 +15,153 @@@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: cmdline/apt-cache.cc:135 +#: cmdline/apt-cache.cc:143 #, c-format msgid "Package %s version %s has an unmet dep:\n" msgstr "" -#: cmdline/apt-cache.cc:175 cmdline/apt-cache.cc:527 cmdline/apt-cache.cc:615 -#: cmdline/apt-cache.cc:771 cmdline/apt-cache.cc:989 cmdline/apt-cache.cc:1357 -#: cmdline/apt-cache.cc:1508 +#: cmdline/apt-cache.cc:183 cmdline/apt-cache.cc:552 cmdline/apt-cache.cc:640 +#: cmdline/apt-cache.cc:796 cmdline/apt-cache.cc:1018 +#: cmdline/apt-cache.cc:1419 cmdline/apt-cache.cc:1570 #, c-format msgid "Unable to locate package %s" msgstr "" -#: cmdline/apt-cache.cc:232 +#: cmdline/apt-cache.cc:247 msgid "Total package names : " msgstr "" -#: cmdline/apt-cache.cc:272 +#: cmdline/apt-cache.cc:287 msgid " Normal packages: " msgstr "" -#: cmdline/apt-cache.cc:273 +#: cmdline/apt-cache.cc:288 msgid " Pure virtual packages: " msgstr "" -#: cmdline/apt-cache.cc:274 +#: cmdline/apt-cache.cc:289 msgid " Single virtual packages: " msgstr "" -#: cmdline/apt-cache.cc:275 +#: cmdline/apt-cache.cc:290 msgid " Mixed virtual packages: " msgstr "" -#: cmdline/apt-cache.cc:276 +#: cmdline/apt-cache.cc:291 msgid " Missing: " msgstr "" -#: cmdline/apt-cache.cc:278 +#: cmdline/apt-cache.cc:293 msgid "Total distinct versions: " msgstr "" -#: cmdline/apt-cache.cc:280 +#: cmdline/apt-cache.cc:295 +msgid "Total Distinct Descriptions: " +msgstr "" + +#: cmdline/apt-cache.cc:297 msgid "Total dependencies: " msgstr "" -#: cmdline/apt-cache.cc:283 +#: cmdline/apt-cache.cc:300 msgid "Total ver/file relations: " msgstr "" -#: cmdline/apt-cache.cc:285 +#: cmdline/apt-cache.cc:302 +msgid "Total Desc/File relations: " +msgstr "" + +#: cmdline/apt-cache.cc:304 msgid "Total Provides mappings: " msgstr "" -#: cmdline/apt-cache.cc:297 +#: cmdline/apt-cache.cc:316 msgid "Total globbed strings: " msgstr "" -#: cmdline/apt-cache.cc:311 +#: cmdline/apt-cache.cc:330 msgid "Total dependency version space: " msgstr "" -#: cmdline/apt-cache.cc:316 +#: cmdline/apt-cache.cc:335 msgid "Total slack space: " msgstr "" -#: cmdline/apt-cache.cc:324 +#: cmdline/apt-cache.cc:343 msgid "Total space accounted for: " msgstr "" -#: cmdline/apt-cache.cc:446 cmdline/apt-cache.cc:1189 +#: cmdline/apt-cache.cc:471 cmdline/apt-cache.cc:1218 #, c-format msgid "Package file %s is out of sync." msgstr "" -#: cmdline/apt-cache.cc:1231 +#: cmdline/apt-cache.cc:1293 msgid "You must give exactly one pattern" msgstr "" -#: cmdline/apt-cache.cc:1385 +#: cmdline/apt-cache.cc:1447 msgid "No packages found" msgstr "" -#: cmdline/apt-cache.cc:1462 +#: cmdline/apt-cache.cc:1524 msgid "Package files:" msgstr "" -#: cmdline/apt-cache.cc:1469 cmdline/apt-cache.cc:1555 +#: cmdline/apt-cache.cc:1531 cmdline/apt-cache.cc:1617 msgid "Cache is out of sync, can't x-ref a package file" msgstr "" -#: cmdline/apt-cache.cc:1470 +#: cmdline/apt-cache.cc:1532 #, c-format msgid "%4i %s\n" msgstr "" #. Show any packages have explicit pins -#: cmdline/apt-cache.cc:1482 +#: cmdline/apt-cache.cc:1544 msgid "Pinned packages:" msgstr "" -#: cmdline/apt-cache.cc:1494 cmdline/apt-cache.cc:1535 +#: cmdline/apt-cache.cc:1556 cmdline/apt-cache.cc:1597 msgid "(not found)" msgstr "" #. Installed version -#: cmdline/apt-cache.cc:1515 +#: cmdline/apt-cache.cc:1577 msgid " Installed: " msgstr "" -#: cmdline/apt-cache.cc:1517 cmdline/apt-cache.cc:1525 +#: cmdline/apt-cache.cc:1579 cmdline/apt-cache.cc:1587 msgid "(none)" msgstr "" #. Candidate Version -#: cmdline/apt-cache.cc:1522 +#: cmdline/apt-cache.cc:1584 msgid " Candidate: " msgstr "" -#: cmdline/apt-cache.cc:1532 +#: cmdline/apt-cache.cc:1594 msgid " Package pin: " msgstr "" #. Show the priority tables -#: cmdline/apt-cache.cc:1541 +#: cmdline/apt-cache.cc:1603 msgid " Version table:" msgstr "" -#: cmdline/apt-cache.cc:1556 +#: cmdline/apt-cache.cc:1618 #, c-format msgid " %4i %s\n" msgstr "" -#: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 +#: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 - #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550 - #: cmdline/apt-get.cc:2564 cmdline/apt-sortpkgs.cc:144 + #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:551 -#: cmdline/apt-get.cc:2396 cmdline/apt-sortpkgs.cc:144 ++#: cmdline/apt-get.cc:2573 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s %s compiled on %s %s\n" msgstr "" -#: cmdline/apt-cache.cc:1659 +#: cmdline/apt-cache.cc:1721 msgid "" "Usage: apt-cache [options] command\n" " apt-cache [options] add file1 [file2 ...]\n" @@@ -251,7 -243,7 +251,7 @@@ msgid " " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:710 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:819 #, c-format msgid "Unable to write to %s" msgstr "" @@@ -260,31 -252,31 +260,31 @@@ msgid "Cannot get debconf version. Is debconf installed?" msgstr "" - #: ftparchive/apt-ftparchive.cc:167 ftparchive/apt-ftparchive.cc:341 + #: ftparchive/apt-ftparchive.cc:168 ftparchive/apt-ftparchive.cc:342 msgid "Package extension list is too long" msgstr "" - #: ftparchive/apt-ftparchive.cc:169 ftparchive/apt-ftparchive.cc:183 - #: ftparchive/apt-ftparchive.cc:206 ftparchive/apt-ftparchive.cc:256 - #: ftparchive/apt-ftparchive.cc:270 ftparchive/apt-ftparchive.cc:292 + #: ftparchive/apt-ftparchive.cc:170 ftparchive/apt-ftparchive.cc:184 + #: ftparchive/apt-ftparchive.cc:207 ftparchive/apt-ftparchive.cc:257 + #: ftparchive/apt-ftparchive.cc:271 ftparchive/apt-ftparchive.cc:293 #, c-format msgid "Error processing directory %s" msgstr "" - #: ftparchive/apt-ftparchive.cc:254 + #: ftparchive/apt-ftparchive.cc:255 msgid "Source extension list is too long" msgstr "" - #: ftparchive/apt-ftparchive.cc:371 + #: ftparchive/apt-ftparchive.cc:372 msgid "Error writing header to contents file" msgstr "" - #: ftparchive/apt-ftparchive.cc:401 + #: ftparchive/apt-ftparchive.cc:402 #, c-format msgid "Error processing contents %s" msgstr "" - #: ftparchive/apt-ftparchive.cc:556 + #: ftparchive/apt-ftparchive.cc:557 msgid "" "Usage: apt-ftparchive [options] command\n" "Commands: packages binarypath [overridefile [pathprefix]]\n" @@@ -326,11 -318,11 +326,11 @@@ " -o=? Set an arbitrary configuration option" msgstr "" - #: ftparchive/apt-ftparchive.cc:762 + #: ftparchive/apt-ftparchive.cc:763 msgid "No selections matched" msgstr "" - #: ftparchive/apt-ftparchive.cc:835 + #: ftparchive/apt-ftparchive.cc:836 #, c-format msgid "Some files are missing in the package file group `%s'" msgstr "" @@@ -550,221 -542,221 +550,221 @@@ msgstr " msgid "Failed to rename %s to %s" msgstr "" -#: cmdline/apt-get.cc:120 +#: cmdline/apt-get.cc:121 msgid "Y" msgstr "" - #: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1655 -#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1510 ++#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1659 #, c-format msgid "Regex compilation error - %s" msgstr "" -#: cmdline/apt-get.cc:237 +#: cmdline/apt-get.cc:238 msgid "The following packages have unmet dependencies:" msgstr "" -#: cmdline/apt-get.cc:327 +#: cmdline/apt-get.cc:328 #, c-format msgid "but %s is installed" msgstr "" -#: cmdline/apt-get.cc:329 +#: cmdline/apt-get.cc:330 #, c-format msgid "but %s is to be installed" msgstr "" -#: cmdline/apt-get.cc:336 +#: cmdline/apt-get.cc:337 msgid "but it is not installable" msgstr "" -#: cmdline/apt-get.cc:338 +#: cmdline/apt-get.cc:339 msgid "but it is a virtual package" msgstr "" -#: cmdline/apt-get.cc:341 +#: cmdline/apt-get.cc:342 msgid "but it is not installed" msgstr "" -#: cmdline/apt-get.cc:341 +#: cmdline/apt-get.cc:342 msgid "but it is not going to be installed" msgstr "" -#: cmdline/apt-get.cc:346 +#: cmdline/apt-get.cc:347 msgid " or" msgstr "" -#: cmdline/apt-get.cc:375 +#: cmdline/apt-get.cc:376 msgid "The following NEW packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:401 +#: cmdline/apt-get.cc:402 msgid "The following packages will be REMOVED:" msgstr "" -#: cmdline/apt-get.cc:423 +#: cmdline/apt-get.cc:424 msgid "The following packages have been kept back:" msgstr "" -#: cmdline/apt-get.cc:444 +#: cmdline/apt-get.cc:445 msgid "The following packages will be upgraded:" msgstr "" -#: cmdline/apt-get.cc:465 +#: cmdline/apt-get.cc:466 msgid "The following packages will be DOWNGRADED:" msgstr "" -#: cmdline/apt-get.cc:485 +#: cmdline/apt-get.cc:486 msgid "The following held packages will be changed:" msgstr "" -#: cmdline/apt-get.cc:538 +#: cmdline/apt-get.cc:539 #, c-format msgid "%s (due to %s) " msgstr "" -#: cmdline/apt-get.cc:546 +#: cmdline/apt-get.cc:547 msgid "" "WARNING: The following essential packages will be removed.\n" "This should NOT be done unless you know exactly what you are doing!" msgstr "" -#: cmdline/apt-get.cc:577 +#: cmdline/apt-get.cc:578 #, c-format msgid "%lu upgraded, %lu newly installed, " msgstr "" -#: cmdline/apt-get.cc:581 +#: cmdline/apt-get.cc:582 #, c-format msgid "%lu reinstalled, " msgstr "" -#: cmdline/apt-get.cc:583 +#: cmdline/apt-get.cc:584 #, c-format msgid "%lu downgraded, " msgstr "" -#: cmdline/apt-get.cc:585 +#: cmdline/apt-get.cc:586 #, c-format msgid "%lu to remove and %lu not upgraded.\n" msgstr "" -#: cmdline/apt-get.cc:589 +#: cmdline/apt-get.cc:590 #, c-format msgid "%lu not fully installed or removed.\n" msgstr "" -#: cmdline/apt-get.cc:649 +#: cmdline/apt-get.cc:664 msgid "Correcting dependencies..." msgstr "" -#: cmdline/apt-get.cc:652 +#: cmdline/apt-get.cc:667 msgid " failed." msgstr "" -#: cmdline/apt-get.cc:655 +#: cmdline/apt-get.cc:670 msgid "Unable to correct dependencies" msgstr "" -#: cmdline/apt-get.cc:658 +#: cmdline/apt-get.cc:673 msgid "Unable to minimize the upgrade set" msgstr "" -#: cmdline/apt-get.cc:660 +#: cmdline/apt-get.cc:675 msgid " Done" msgstr "" -#: cmdline/apt-get.cc:664 +#: cmdline/apt-get.cc:679 msgid "You might want to run `apt-get -f install' to correct these." msgstr "" -#: cmdline/apt-get.cc:667 +#: cmdline/apt-get.cc:682 msgid "Unmet dependencies. Try using -f." msgstr "" -#: cmdline/apt-get.cc:689 +#: cmdline/apt-get.cc:704 msgid "WARNING: The following packages cannot be authenticated!" msgstr "" -#: cmdline/apt-get.cc:693 +#: cmdline/apt-get.cc:708 msgid "Authentication warning overridden.\n" msgstr "" -#: cmdline/apt-get.cc:700 +#: cmdline/apt-get.cc:715 msgid "Install these packages without verification [y/N]? " msgstr "" -#: cmdline/apt-get.cc:702 +#: cmdline/apt-get.cc:717 msgid "Some packages could not be authenticated" msgstr "" -#: cmdline/apt-get.cc:711 cmdline/apt-get.cc:858 +#: cmdline/apt-get.cc:726 cmdline/apt-get.cc:873 msgid "There are problems and -y was used without --force-yes" msgstr "" -#: cmdline/apt-get.cc:755 +#: cmdline/apt-get.cc:770 msgid "Internal error, InstallPackages was called with broken packages!" msgstr "" -#: cmdline/apt-get.cc:764 +#: cmdline/apt-get.cc:779 msgid "Packages need to be removed but remove is disabled." msgstr "" -#: cmdline/apt-get.cc:775 +#: cmdline/apt-get.cc:790 msgid "Internal error, Ordering didn't finish" msgstr "" - #: cmdline/apt-get.cc:806 cmdline/apt-get.cc:1995 cmdline/apt-get.cc:2028 -#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1822 cmdline/apt-get.cc:1855 ++#: cmdline/apt-get.cc:806 cmdline/apt-get.cc:1999 cmdline/apt-get.cc:2032 msgid "Unable to lock the download directory" msgstr "" - #: cmdline/apt-get.cc:816 cmdline/apt-get.cc:2076 cmdline/apt-get.cc:2312 -#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1903 cmdline/apt-get.cc:2144 ++#: cmdline/apt-get.cc:816 cmdline/apt-get.cc:2080 cmdline/apt-get.cc:2321 #: apt-pkg/cachefile.cc:67 msgid "The list of sources could not be read." msgstr "" -#: cmdline/apt-get.cc:816 +#: cmdline/apt-get.cc:831 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org" msgstr "" -#: cmdline/apt-get.cc:821 +#: cmdline/apt-get.cc:836 #, c-format msgid "Need to get %sB/%sB of archives.\n" msgstr "" -#: cmdline/apt-get.cc:824 +#: cmdline/apt-get.cc:839 #, c-format msgid "Need to get %sB of archives.\n" msgstr "" -#: cmdline/apt-get.cc:829 +#: cmdline/apt-get.cc:844 #, c-format msgid "After unpacking %sB of additional disk space will be used.\n" msgstr "" -#: cmdline/apt-get.cc:832 +#: cmdline/apt-get.cc:847 #, c-format msgid "After unpacking %sB disk space will be freed.\n" msgstr "" - #: cmdline/apt-get.cc:861 cmdline/apt-get.cc:2166 -#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1998 ++#: cmdline/apt-get.cc:861 cmdline/apt-get.cc:2175 #, c-format msgid "Couldn't determine free space in %s" msgstr "" -#: cmdline/apt-get.cc:849 +#: cmdline/apt-get.cc:864 #, c-format msgid "You don't have enough free space in %s." msgstr "" -#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:884 +#: cmdline/apt-get.cc:879 cmdline/apt-get.cc:899 msgid "Trivial Only specified but this is not a trivial operation." msgstr "" -#: cmdline/apt-get.cc:866 +#: cmdline/apt-get.cc:881 msgid "Yes, do as I say!" msgstr "" -#: cmdline/apt-get.cc:868 +#: cmdline/apt-get.cc:883 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@@ -772,74 -764,74 +772,74 @@@ " ?] " msgstr "" -#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:893 +#: cmdline/apt-get.cc:889 cmdline/apt-get.cc:908 msgid "Abort." msgstr "" -#: cmdline/apt-get.cc:889 +#: cmdline/apt-get.cc:904 msgid "Do you want to continue [Y/n]? " msgstr "" - #: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1383 cmdline/apt-get.cc:2209 -#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2041 ++#: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1383 cmdline/apt-get.cc:2218 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" -#: cmdline/apt-get.cc:979 +#: cmdline/apt-get.cc:994 msgid "Some files failed to download" msgstr "" - #: cmdline/apt-get.cc:995 cmdline/apt-get.cc:2218 -#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2050 ++#: cmdline/apt-get.cc:995 cmdline/apt-get.cc:2227 msgid "Download complete and in download only mode" msgstr "" -#: cmdline/apt-get.cc:986 +#: cmdline/apt-get.cc:1001 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" msgstr "" -#: cmdline/apt-get.cc:990 +#: cmdline/apt-get.cc:1005 msgid "--fix-missing and media swapping is not currently supported" msgstr "" -#: cmdline/apt-get.cc:995 +#: cmdline/apt-get.cc:1010 msgid "Unable to correct missing packages." msgstr "" -#: cmdline/apt-get.cc:996 +#: cmdline/apt-get.cc:1011 msgid "Aborting install." msgstr "" -#: cmdline/apt-get.cc:1030 +#: cmdline/apt-get.cc:1045 #, c-format msgid "Note, selecting %s instead of %s\n" msgstr "" -#: cmdline/apt-get.cc:1040 +#: cmdline/apt-get.cc:1055 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" msgstr "" -#: cmdline/apt-get.cc:1058 +#: cmdline/apt-get.cc:1073 #, c-format msgid "Package %s is not installed, so not removed\n" msgstr "" -#: cmdline/apt-get.cc:1069 +#: cmdline/apt-get.cc:1084 #, c-format msgid "Package %s is a virtual package provided by:\n" msgstr "" -#: cmdline/apt-get.cc:1081 +#: cmdline/apt-get.cc:1096 msgid " [Installed]" msgstr "" -#: cmdline/apt-get.cc:1086 +#: cmdline/apt-get.cc:1101 msgid "You should explicitly select one to install." msgstr "" -#: cmdline/apt-get.cc:1091 +#: cmdline/apt-get.cc:1106 #, c-format msgid "" "Package %s is not available, but is referred to by another package.\n" @@@ -847,117 -839,79 +847,117 @@@ "is only available from another source\n" msgstr "" -#: cmdline/apt-get.cc:1110 +#: cmdline/apt-get.cc:1125 msgid "However the following packages replace it:" msgstr "" -#: cmdline/apt-get.cc:1113 +#: cmdline/apt-get.cc:1128 #, c-format msgid "Package %s has no installation candidate" msgstr "" -#: cmdline/apt-get.cc:1133 +#: cmdline/apt-get.cc:1148 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" msgstr "" -#: cmdline/apt-get.cc:1141 +#: cmdline/apt-get.cc:1156 #, c-format msgid "%s is already the newest version.\n" msgstr "" -#: cmdline/apt-get.cc:1168 +#: cmdline/apt-get.cc:1185 #, c-format msgid "Release '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1170 +#: cmdline/apt-get.cc:1187 #, c-format msgid "Version '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1176 +#: cmdline/apt-get.cc:1193 #, c-format msgid "Selected version %s (%s) for %s\n" msgstr "" -#: cmdline/apt-get.cc:1313 +#: cmdline/apt-get.cc:1330 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1326 +#: cmdline/apt-get.cc:1343 msgid "Unable to lock the list directory" msgstr "" -#: cmdline/apt-get.cc:1384 +#: cmdline/apt-get.cc:1410 cmdline/apt-get.cc:1412 msgid "" "Some index files failed to download, they have been ignored, or old ones " "used instead." msgstr "" -#: cmdline/apt-get.cc:1403 +#: cmdline/apt-get.cc:1433 +msgid "We are not supposed to delete stuff, can't start AutoRemover" +msgstr "" + +#: cmdline/apt-get.cc:1465 +msgid "" +"The following packages were automatically installed and are no longer " +"required:" +msgstr "" + +#: cmdline/apt-get.cc:1467 +msgid "Use 'apt-get autoremove' to remove them." +msgstr "" + +#: cmdline/apt-get.cc:1472 +msgid "" +"Hmm, seems like the AutoRemover destroyed something which really\n" +"shouldn't happen. Please file a bug report against apt." +msgstr "" + - #: cmdline/apt-get.cc:1475 cmdline/apt-get.cc:1736 ++#: cmdline/apt-get.cc:1475 cmdline/apt-get.cc:1740 +msgid "The following information may help to resolve the situation:" +msgstr "" + +#: cmdline/apt-get.cc:1479 +msgid "Internal Error, AutoRemover broke stuff" +msgstr "" + +#: cmdline/apt-get.cc:1498 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1497 cmdline/apt-get.cc:1533 +#: cmdline/apt-get.cc:1543 +#, c-format +msgid "Couldn't find task %s" +msgstr "" + - #: cmdline/apt-get.cc:1642 cmdline/apt-get.cc:1678 ++#: cmdline/apt-get.cc:1646 cmdline/apt-get.cc:1682 #, c-format msgid "Couldn't find package %s" msgstr "" - #: cmdline/apt-get.cc:1665 -#: cmdline/apt-get.cc:1520 ++#: cmdline/apt-get.cc:1669 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "" - #: cmdline/apt-get.cc:1695 -#: cmdline/apt-get.cc:1550 ++#: cmdline/apt-get.cc:1699 +#, c-format +msgid "%s set to manual installed.\n" +msgstr "" + - #: cmdline/apt-get.cc:1708 ++#: cmdline/apt-get.cc:1712 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "" - #: cmdline/apt-get.cc:1711 -#: cmdline/apt-get.cc:1553 ++#: cmdline/apt-get.cc:1715 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" - #: cmdline/apt-get.cc:1723 -#: cmdline/apt-get.cc:1565 ++#: cmdline/apt-get.cc:1727 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@@ -965,159 -919,163 +965,159 @@@ "or been moved out of Incoming." msgstr "" - #: cmdline/apt-get.cc:1731 -#: cmdline/apt-get.cc:1573 ++#: cmdline/apt-get.cc:1735 msgid "" "Since you only requested a single operation it is extremely likely that\n" "the package is simply not installable and a bug report against\n" "that package should be filed." msgstr "" - #: cmdline/apt-get.cc:1739 -#: cmdline/apt-get.cc:1578 -msgid "The following information may help to resolve the situation:" -msgstr "" - -#: cmdline/apt-get.cc:1581 ++#: cmdline/apt-get.cc:1743 msgid "Broken packages" msgstr "" - #: cmdline/apt-get.cc:1770 -#: cmdline/apt-get.cc:1607 ++#: cmdline/apt-get.cc:1774 msgid "The following extra packages will be installed:" msgstr "" - #: cmdline/apt-get.cc:1859 -#: cmdline/apt-get.cc:1696 ++#: cmdline/apt-get.cc:1863 msgid "Suggested packages:" msgstr "" - #: cmdline/apt-get.cc:1860 -#: cmdline/apt-get.cc:1697 ++#: cmdline/apt-get.cc:1864 msgid "Recommended packages:" msgstr "" - #: cmdline/apt-get.cc:1888 -#: cmdline/apt-get.cc:1717 ++#: cmdline/apt-get.cc:1892 msgid "Calculating upgrade... " msgstr "" - #: cmdline/apt-get.cc:1891 methods/ftp.cc:702 methods/connect.cc:101 -#: cmdline/apt-get.cc:1720 methods/ftp.cc:702 methods/connect.cc:101 ++#: cmdline/apt-get.cc:1895 methods/ftp.cc:702 methods/connect.cc:101 msgid "Failed" msgstr "" - #: cmdline/apt-get.cc:1896 -#: cmdline/apt-get.cc:1725 ++#: cmdline/apt-get.cc:1900 msgid "Done" msgstr "" - #: cmdline/apt-get.cc:1963 cmdline/apt-get.cc:1971 -#: cmdline/apt-get.cc:1790 cmdline/apt-get.cc:1798 ++#: cmdline/apt-get.cc:1967 cmdline/apt-get.cc:1975 msgid "Internal error, problem resolver broke stuff" msgstr "" - #: cmdline/apt-get.cc:2071 -#: cmdline/apt-get.cc:1898 ++#: cmdline/apt-get.cc:2075 msgid "Must specify at least one package to fetch source for" msgstr "" - #: cmdline/apt-get.cc:2101 cmdline/apt-get.cc:2330 -#: cmdline/apt-get.cc:1928 cmdline/apt-get.cc:2162 ++#: cmdline/apt-get.cc:2105 cmdline/apt-get.cc:2339 #, c-format msgid "Unable to find a source package for %s" msgstr "" - #: cmdline/apt-get.cc:2145 -#: cmdline/apt-get.cc:1977 ++#: cmdline/apt-get.cc:2154 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" - #: cmdline/apt-get.cc:2169 -#: cmdline/apt-get.cc:2001 ++#: cmdline/apt-get.cc:2178 #, c-format msgid "You don't have enough free space in %s" msgstr "" - #: cmdline/apt-get.cc:2174 -#: cmdline/apt-get.cc:2006 ++#: cmdline/apt-get.cc:2183 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" - #: cmdline/apt-get.cc:2177 -#: cmdline/apt-get.cc:2009 ++#: cmdline/apt-get.cc:2186 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" - #: cmdline/apt-get.cc:2183 -#: cmdline/apt-get.cc:2015 ++#: cmdline/apt-get.cc:2192 #, c-format msgid "Fetch source %s\n" msgstr "" - #: cmdline/apt-get.cc:2214 -#: cmdline/apt-get.cc:2046 ++#: cmdline/apt-get.cc:2223 msgid "Failed to fetch some archives." msgstr "" - #: cmdline/apt-get.cc:2242 -#: cmdline/apt-get.cc:2074 ++#: cmdline/apt-get.cc:2251 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" - #: cmdline/apt-get.cc:2254 -#: cmdline/apt-get.cc:2086 ++#: cmdline/apt-get.cc:2263 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" - #: cmdline/apt-get.cc:2255 -#: cmdline/apt-get.cc:2087 ++#: cmdline/apt-get.cc:2264 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" - #: cmdline/apt-get.cc:2272 -#: cmdline/apt-get.cc:2104 ++#: cmdline/apt-get.cc:2281 #, c-format msgid "Build command '%s' failed.\n" msgstr "" - #: cmdline/apt-get.cc:2291 -#: cmdline/apt-get.cc:2123 ++#: cmdline/apt-get.cc:2300 msgid "Child process failed" msgstr "" - #: cmdline/apt-get.cc:2307 -#: cmdline/apt-get.cc:2139 ++#: cmdline/apt-get.cc:2316 msgid "Must specify at least one package to check builddeps for" msgstr "" - #: cmdline/apt-get.cc:2335 -#: cmdline/apt-get.cc:2167 ++#: cmdline/apt-get.cc:2344 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" - #: cmdline/apt-get.cc:2355 -#: cmdline/apt-get.cc:2187 ++#: cmdline/apt-get.cc:2364 #, c-format msgid "%s has no build depends.\n" msgstr "" - #: cmdline/apt-get.cc:2407 -#: cmdline/apt-get.cc:2239 ++#: cmdline/apt-get.cc:2416 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" - #: cmdline/apt-get.cc:2459 -#: cmdline/apt-get.cc:2291 ++#: cmdline/apt-get.cc:2468 #, c-format msgid "" "%s dependency for %s cannot be satisfied because no available versions of " "package %s can satisfy version requirements" msgstr "" - #: cmdline/apt-get.cc:2494 -#: cmdline/apt-get.cc:2326 ++#: cmdline/apt-get.cc:2503 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" - #: cmdline/apt-get.cc:2519 -#: cmdline/apt-get.cc:2351 ++#: cmdline/apt-get.cc:2528 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" - #: cmdline/apt-get.cc:2533 -#: cmdline/apt-get.cc:2365 ++#: cmdline/apt-get.cc:2542 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" - #: cmdline/apt-get.cc:2537 -#: cmdline/apt-get.cc:2369 ++#: cmdline/apt-get.cc:2546 msgid "Failed to process build dependencies" msgstr "" - #: cmdline/apt-get.cc:2569 -#: cmdline/apt-get.cc:2401 ++#: cmdline/apt-get.cc:2578 msgid "Supported modules:" msgstr "" - #: cmdline/apt-get.cc:2610 -#: cmdline/apt-get.cc:2442 ++#: cmdline/apt-get.cc:2619 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@@ -1132,6 -1090,7 +1132,7 @@@ " upgrade - Perform an upgrade\n" " install - Install new packages (pkg is libc6 not libc6.deb)\n" " remove - Remove packages\n" + " purge - Remove and purge packages\n" " source - Download source archives\n" " build-dep - Configure build-dependencies for source packages\n" " dist-upgrade - Distribution upgrade, see apt-get(8)\n" @@@ -1402,9 -1361,9 +1403,9 @@@ msgid "The info and temp directories ne msgstr "" #. Build the status cache -#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:643 -#: apt-pkg/pkgcachegen.cc:712 apt-pkg/pkgcachegen.cc:717 -#: apt-pkg/pkgcachegen.cc:840 +#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:752 +#: apt-pkg/pkgcachegen.cc:821 apt-pkg/pkgcachegen.cc:826 +#: apt-pkg/pkgcachegen.cc:949 msgid "Reading package lists" msgstr "" @@@ -1533,12 -1492,11 +1534,12 @@@ msgid "File not found msgstr "" #: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:141 -#: methods/gzip.cc:150 +#: methods/gzip.cc:150 methods/rred.cc:234 methods/rred.cc:243 msgid "Failed to stat" msgstr "" #: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:147 +#: methods/rred.cc:240 msgid "Failed to set modification time" msgstr "" @@@ -1598,7 -1556,7 +1599,7 @@@ msgstr " msgid "Server closed the connection" msgstr "" - #: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:471 methods/rsh.cc:190 + #: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:472 methods/rsh.cc:190 msgid "Read error" msgstr "" @@@ -1610,7 -1568,7 +1611,7 @@@ msgstr " msgid "Protocol corruption" msgstr "" - #: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:510 methods/rsh.cc:232 + #: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:511 methods/rsh.cc:232 msgid "Write error" msgstr "" @@@ -1664,7 -1622,7 +1665,7 @@@ msgstr " msgid "Unable to accept connection" msgstr "" -#: methods/ftp.cc:864 methods/http.cc:959 methods/rsh.cc:303 +#: methods/ftp.cc:864 methods/http.cc:958 methods/rsh.cc:303 msgid "Problem hashing file" msgstr "" @@@ -1795,76 -1753,76 +1796,76 @@@ msgstr " msgid "Read error from %s process" msgstr "" -#: methods/http.cc:377 +#: methods/http.cc:376 msgid "Waiting for headers" msgstr "" -#: methods/http.cc:523 +#: methods/http.cc:522 #, c-format msgid "Got a single header line over %u chars" msgstr "" -#: methods/http.cc:531 +#: methods/http.cc:530 msgid "Bad header line" msgstr "" -#: methods/http.cc:550 methods/http.cc:557 +#: methods/http.cc:549 methods/http.cc:556 msgid "The HTTP server sent an invalid reply header" msgstr "" -#: methods/http.cc:586 +#: methods/http.cc:585 msgid "The HTTP server sent an invalid Content-Length header" msgstr "" -#: methods/http.cc:601 +#: methods/http.cc:600 msgid "The HTTP server sent an invalid Content-Range header" msgstr "" -#: methods/http.cc:603 +#: methods/http.cc:602 msgid "This HTTP server has broken range support" msgstr "" -#: methods/http.cc:627 +#: methods/http.cc:626 msgid "Unknown date format" msgstr "" -#: methods/http.cc:774 +#: methods/http.cc:773 msgid "Select failed" msgstr "" -#: methods/http.cc:779 +#: methods/http.cc:778 msgid "Connection timed out" msgstr "" -#: methods/http.cc:802 +#: methods/http.cc:801 msgid "Error writing to output file" msgstr "" -#: methods/http.cc:833 +#: methods/http.cc:832 msgid "Error writing to file" msgstr "" -#: methods/http.cc:861 +#: methods/http.cc:860 msgid "Error writing to the file" msgstr "" -#: methods/http.cc:875 +#: methods/http.cc:874 msgid "Error reading from server. Remote end closed connection" msgstr "" -#: methods/http.cc:877 +#: methods/http.cc:876 msgid "Error reading from server" msgstr "" -#: methods/http.cc:1108 +#: methods/http.cc:1107 msgid "Bad header data" msgstr "" -#: methods/http.cc:1125 +#: methods/http.cc:1124 msgid "Connection failed" msgstr "" -#: methods/http.cc:1216 +#: methods/http.cc:1215 msgid "Internal error" msgstr "" @@@ -1877,7 -1835,7 +1878,7 @@@ msgstr " msgid "Couldn't make mmap of %lu bytes" msgstr "" - #: apt-pkg/contrib/strutl.cc:981 -#: apt-pkg/contrib/strutl.cc:939 ++#: apt-pkg/contrib/strutl.cc:982 #, c-format msgid "Selection %s not found" msgstr "" @@@ -2007,172 -1965,154 +2008,172 @@@ msgstr " msgid "Failed to stat the cdrom" msgstr "" - #: apt-pkg/contrib/fileutl.cc:82 + #: apt-pkg/contrib/fileutl.cc:83 #, c-format msgid "Not using locking for read only lock file %s" msgstr "" - #: apt-pkg/contrib/fileutl.cc:87 + #: apt-pkg/contrib/fileutl.cc:88 #, c-format msgid "Could not open lock file %s" msgstr "" - #: apt-pkg/contrib/fileutl.cc:105 + #: apt-pkg/contrib/fileutl.cc:106 #, c-format msgid "Not using locking for nfs mounted lock file %s" msgstr "" - #: apt-pkg/contrib/fileutl.cc:109 + #: apt-pkg/contrib/fileutl.cc:110 #, c-format msgid "Could not get lock %s" msgstr "" - #: apt-pkg/contrib/fileutl.cc:377 + #: apt-pkg/contrib/fileutl.cc:378 #, c-format msgid "Waited for %s but it wasn't there" msgstr "" - #: apt-pkg/contrib/fileutl.cc:387 + #: apt-pkg/contrib/fileutl.cc:388 #, c-format msgid "Sub-process %s received a segmentation fault." msgstr "" - #: apt-pkg/contrib/fileutl.cc:390 + #: apt-pkg/contrib/fileutl.cc:391 #, c-format msgid "Sub-process %s returned an error code (%u)" msgstr "" - #: apt-pkg/contrib/fileutl.cc:392 + #: apt-pkg/contrib/fileutl.cc:393 #, c-format msgid "Sub-process %s exited unexpectedly" msgstr "" - #: apt-pkg/contrib/fileutl.cc:436 + #: apt-pkg/contrib/fileutl.cc:437 #, c-format msgid "Could not open file %s" msgstr "" - #: apt-pkg/contrib/fileutl.cc:492 + #: apt-pkg/contrib/fileutl.cc:493 #, c-format msgid "read, still have %lu to read but none left" msgstr "" - #: apt-pkg/contrib/fileutl.cc:522 + #: apt-pkg/contrib/fileutl.cc:523 #, c-format msgid "write, still have %lu to write but couldn't" msgstr "" - #: apt-pkg/contrib/fileutl.cc:597 + #: apt-pkg/contrib/fileutl.cc:598 msgid "Problem closing the file" msgstr "" - #: apt-pkg/contrib/fileutl.cc:603 + #: apt-pkg/contrib/fileutl.cc:604 msgid "Problem unlinking the file" msgstr "" - #: apt-pkg/contrib/fileutl.cc:614 + #: apt-pkg/contrib/fileutl.cc:615 msgid "Problem syncing the file" msgstr "" -#: apt-pkg/pkgcache.cc:126 +#: apt-pkg/pkgcache.cc:132 msgid "Empty package cache" msgstr "" -#: apt-pkg/pkgcache.cc:132 +#: apt-pkg/pkgcache.cc:138 msgid "The package cache file is corrupted" msgstr "" -#: apt-pkg/pkgcache.cc:137 +#: apt-pkg/pkgcache.cc:143 msgid "The package cache file is an incompatible version" msgstr "" -#: apt-pkg/pkgcache.cc:142 +#: apt-pkg/pkgcache.cc:148 #, c-format msgid "This APT does not support the versioning system '%s'" msgstr "" -#: apt-pkg/pkgcache.cc:147 +#: apt-pkg/pkgcache.cc:153 msgid "The package cache was built for a different architecture" msgstr "" -#: apt-pkg/pkgcache.cc:218 +#: apt-pkg/pkgcache.cc:224 msgid "Depends" msgstr "" -#: apt-pkg/pkgcache.cc:218 +#: apt-pkg/pkgcache.cc:224 msgid "PreDepends" msgstr "" -#: apt-pkg/pkgcache.cc:218 +#: apt-pkg/pkgcache.cc:224 msgid "Suggests" msgstr "" -#: apt-pkg/pkgcache.cc:219 +#: apt-pkg/pkgcache.cc:225 msgid "Recommends" msgstr "" -#: apt-pkg/pkgcache.cc:219 +#: apt-pkg/pkgcache.cc:225 msgid "Conflicts" msgstr "" -#: apt-pkg/pkgcache.cc:219 +#: apt-pkg/pkgcache.cc:225 msgid "Replaces" msgstr "" -#: apt-pkg/pkgcache.cc:220 +#: apt-pkg/pkgcache.cc:226 msgid "Obsoletes" msgstr "" -#: apt-pkg/pkgcache.cc:231 +#: apt-pkg/pkgcache.cc:226 +msgid "Breaks" +msgstr "" + +#: apt-pkg/pkgcache.cc:237 msgid "important" msgstr "" -#: apt-pkg/pkgcache.cc:231 +#: apt-pkg/pkgcache.cc:237 msgid "required" msgstr "" -#: apt-pkg/pkgcache.cc:231 +#: apt-pkg/pkgcache.cc:237 msgid "standard" msgstr "" -#: apt-pkg/pkgcache.cc:232 +#: apt-pkg/pkgcache.cc:238 msgid "optional" msgstr "" -#: apt-pkg/pkgcache.cc:232 +#: apt-pkg/pkgcache.cc:238 msgid "extra" msgstr "" -#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90 +#: apt-pkg/depcache.cc:98 apt-pkg/depcache.cc:127 msgid "Building dependency tree" msgstr "" -#: apt-pkg/depcache.cc:62 +#: apt-pkg/depcache.cc:99 msgid "Candidate versions" msgstr "" -#: apt-pkg/depcache.cc:91 +#: apt-pkg/depcache.cc:128 msgid "Dependency generation" msgstr "" +#: apt-pkg/depcache.cc:149 apt-pkg/depcache.cc:168 apt-pkg/depcache.cc:172 +msgid "Reading state information" +msgstr "" + +#: apt-pkg/depcache.cc:196 +#, c-format +msgid "Failed to open StateFile %s" +msgstr "" + +#: apt-pkg/depcache.cc:202 +#, c-format +msgid "Failed to write temporary StateFile %s" +msgstr "" + #: apt-pkg/tagfile.cc:106 #, c-format msgid "Unable to parse package file %s (1)" @@@ -2213,7 -2153,7 +2214,7 @@@ msgstr " msgid "Opening %s" msgstr "" - #: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:450 -#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:427 ++#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:451 #, c-format msgid "Line %u too long in source list %s." msgstr "" @@@ -2233,7 -2173,7 +2234,7 @@@ msgstr " msgid "Malformed line %u in source list %s (vendor id)" msgstr "" -#: apt-pkg/packagemanager.cc:402 +#: apt-pkg/packagemanager.cc:403 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@@ -2246,19 -2186,19 +2247,19 @@@ msgstr " msgid "Index file type '%s' is not supported" msgstr "" - #: apt-pkg/algorithms.cc:248 -#: apt-pkg/algorithms.cc:243 ++#: apt-pkg/algorithms.cc:254 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" - #: apt-pkg/algorithms.cc:1104 -#: apt-pkg/algorithms.cc:1068 ++#: apt-pkg/algorithms.cc:1110 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." msgstr "" - #: apt-pkg/algorithms.cc:1106 -#: apt-pkg/algorithms.cc:1070 ++#: apt-pkg/algorithms.cc:1112 msgid "Unable to correct problems, you have held broken packages." msgstr "" @@@ -2294,17 -2234,17 +2295,17 @@@ msgstr " msgid "Method %s did not start correctly" msgstr "" -#: apt-pkg/acquire-worker.cc:377 +#: apt-pkg/acquire-worker.cc:384 #, c-format msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" - #: apt-pkg/init.cc:125 -#: apt-pkg/init.cc:121 ++#: apt-pkg/init.cc:126 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" - #: apt-pkg/init.cc:141 -#: apt-pkg/init.cc:137 ++#: apt-pkg/init.cc:142 msgid "Unable to determine a suitable packaging system type" msgstr "" @@@ -2338,134 -2278,119 +2339,134 @@@ msgstr " msgid "No priority (or zero) specified for pin" msgstr "" -#: apt-pkg/pkgcachegen.cc:74 +#: apt-pkg/pkgcachegen.cc:76 msgid "Cache has an incompatible versioning system" msgstr "" -#: apt-pkg/pkgcachegen.cc:117 +#: apt-pkg/pkgcachegen.cc:119 #, c-format msgid "Error occurred while processing %s (NewPackage)" msgstr "" -#: apt-pkg/pkgcachegen.cc:129 +#: apt-pkg/pkgcachegen.cc:134 #, c-format msgid "Error occurred while processing %s (UsePackage1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:150 +#: apt-pkg/pkgcachegen.cc:157 +#, c-format +msgid "Error occured while processing %s (NewFileDesc1)" +msgstr "" + +#: apt-pkg/pkgcachegen.cc:182 #, c-format msgid "Error occurred while processing %s (UsePackage2)" msgstr "" -#: apt-pkg/pkgcachegen.cc:154 +#: apt-pkg/pkgcachegen.cc:186 #, c-format msgid "Error occurred while processing %s (NewFileVer1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:184 +#: apt-pkg/pkgcachegen.cc:217 #, c-format msgid "Error occurred while processing %s (NewVersion1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:188 +#: apt-pkg/pkgcachegen.cc:221 #, c-format msgid "Error occurred while processing %s (UsePackage3)" msgstr "" -#: apt-pkg/pkgcachegen.cc:192 +#: apt-pkg/pkgcachegen.cc:225 #, c-format msgid "Error occurred while processing %s (NewVersion2)" msgstr "" -#: apt-pkg/pkgcachegen.cc:207 +#: apt-pkg/pkgcachegen.cc:249 +#, c-format +msgid "Error occured while processing %s (NewFileDesc2)" +msgstr "" + +#: apt-pkg/pkgcachegen.cc:255 msgid "Wow, you exceeded the number of package names this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:210 +#: apt-pkg/pkgcachegen.cc:258 msgid "Wow, you exceeded the number of versions this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:213 +#: apt-pkg/pkgcachegen.cc:261 +msgid "Wow, you exceeded the number of descriptions this APT is capable of." +msgstr "" + +#: apt-pkg/pkgcachegen.cc:264 msgid "Wow, you exceeded the number of dependencies this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:241 +#: apt-pkg/pkgcachegen.cc:292 #, c-format msgid "Error occurred while processing %s (FindPkg)" msgstr "" -#: apt-pkg/pkgcachegen.cc:254 +#: apt-pkg/pkgcachegen.cc:305 #, c-format msgid "Error occurred while processing %s (CollectFileProvides)" msgstr "" -#: apt-pkg/pkgcachegen.cc:260 +#: apt-pkg/pkgcachegen.cc:311 #, c-format msgid "Package %s %s was not found while processing file dependencies" msgstr "" -#: apt-pkg/pkgcachegen.cc:574 +#: apt-pkg/pkgcachegen.cc:682 #, c-format msgid "Couldn't stat source package list %s" msgstr "" -#: apt-pkg/pkgcachegen.cc:658 +#: apt-pkg/pkgcachegen.cc:767 msgid "Collecting File Provides" msgstr "" -#: apt-pkg/pkgcachegen.cc:785 apt-pkg/pkgcachegen.cc:792 +#: apt-pkg/pkgcachegen.cc:894 apt-pkg/pkgcachegen.cc:901 msgid "IO Error saving source cache" msgstr "" -#: apt-pkg/acquire-item.cc:126 +#: apt-pkg/acquire-item.cc:127 #, c-format msgid "rename failed, %s (%s -> %s)." msgstr "" - #: apt-pkg/acquire-item.cc:405 apt-pkg/acquire-item.cc:662 - #: apt-pkg/acquire-item.cc:1412 -#: apt-pkg/acquire-item.cc:243 apt-pkg/acquire-item.cc:952 ++#: apt-pkg/acquire-item.cc:406 apt-pkg/acquire-item.cc:661 ++#: apt-pkg/acquire-item.cc:1411 msgid "MD5Sum mismatch" msgstr "" - #: apt-pkg/acquire-item.cc:1107 -#: apt-pkg/acquire-item.cc:647 ++#: apt-pkg/acquire-item.cc:1106 msgid "There is no public key available for the following key IDs:\n" msgstr "" - #: apt-pkg/acquire-item.cc:1220 -#: apt-pkg/acquire-item.cc:760 ++#: apt-pkg/acquire-item.cc:1219 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "" - #: apt-pkg/acquire-item.cc:1279 -#: apt-pkg/acquire-item.cc:819 ++#: apt-pkg/acquire-item.cc:1278 #, c-format msgid "" "I wasn't able to locate file for the %s package. This might mean you need to " "manually fix this package." msgstr "" - #: apt-pkg/acquire-item.cc:1315 -#: apt-pkg/acquire-item.cc:855 ++#: apt-pkg/acquire-item.cc:1314 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" - #: apt-pkg/acquire-item.cc:1402 -#: apt-pkg/acquire-item.cc:942 ++#: apt-pkg/acquire-item.cc:1401 msgid "Size mismatch" msgstr "" @@@ -2474,99 -2399,97 +2475,99 @@@ msgid "Vendor block %s contains no fingerprint" msgstr "" - #: apt-pkg/cdrom.cc:531 -#: apt-pkg/cdrom.cc:508 ++#: apt-pkg/cdrom.cc:532 #, c-format msgid "" "Using CD-ROM mount point %s\n" "Mounting CD-ROM\n" msgstr "" - #: apt-pkg/cdrom.cc:540 apt-pkg/cdrom.cc:622 -#: apt-pkg/cdrom.cc:517 apt-pkg/cdrom.cc:599 ++#: apt-pkg/cdrom.cc:541 apt-pkg/cdrom.cc:623 msgid "Identifying.. " msgstr "" - #: apt-pkg/cdrom.cc:565 -#: apt-pkg/cdrom.cc:542 ++#: apt-pkg/cdrom.cc:566 #, c-format msgid "Stored label: %s \n" msgstr "" - #: apt-pkg/cdrom.cc:585 -#: apt-pkg/cdrom.cc:562 ++#: apt-pkg/cdrom.cc:586 #, c-format msgid "Using CD-ROM mount point %s\n" msgstr "" - #: apt-pkg/cdrom.cc:603 -#: apt-pkg/cdrom.cc:580 ++#: apt-pkg/cdrom.cc:604 msgid "Unmounting CD-ROM\n" msgstr "" - #: apt-pkg/cdrom.cc:607 -#: apt-pkg/cdrom.cc:584 ++#: apt-pkg/cdrom.cc:608 msgid "Waiting for disc...\n" msgstr "" #. Mount the new CDROM - #: apt-pkg/cdrom.cc:615 -#: apt-pkg/cdrom.cc:592 ++#: apt-pkg/cdrom.cc:616 msgid "Mounting CD-ROM...\n" msgstr "" - #: apt-pkg/cdrom.cc:633 -#: apt-pkg/cdrom.cc:610 ++#: apt-pkg/cdrom.cc:634 msgid "Scanning disc for index files..\n" msgstr "" - #: apt-pkg/cdrom.cc:673 -#: apt-pkg/cdrom.cc:648 ++#: apt-pkg/cdrom.cc:674 #, c-format -msgid "Found %i package indexes, %i source indexes and %i signatures\n" +msgid "" +"Found %i package indexes, %i source indexes, %i translation indexes and %i " +"signatures\n" msgstr "" - #: apt-pkg/cdrom.cc:710 -#: apt-pkg/cdrom.cc:684 ++#: apt-pkg/cdrom.cc:711 #, c-format msgid "Found label '%s'\n" msgstr "" - #: apt-pkg/cdrom.cc:739 -#: apt-pkg/cdrom.cc:713 ++#: apt-pkg/cdrom.cc:740 msgid "That is not a valid name, try again.\n" msgstr "" - #: apt-pkg/cdrom.cc:755 -#: apt-pkg/cdrom.cc:729 ++#: apt-pkg/cdrom.cc:756 #, c-format msgid "" "This disc is called: \n" "'%s'\n" msgstr "" - #: apt-pkg/cdrom.cc:759 -#: apt-pkg/cdrom.cc:733 ++#: apt-pkg/cdrom.cc:760 msgid "Copying package lists..." msgstr "" - #: apt-pkg/cdrom.cc:785 -#: apt-pkg/cdrom.cc:757 ++#: apt-pkg/cdrom.cc:786 msgid "Writing new source list\n" msgstr "" - #: apt-pkg/cdrom.cc:794 -#: apt-pkg/cdrom.cc:766 ++#: apt-pkg/cdrom.cc:795 msgid "Source list entries for this disc are:\n" msgstr "" - #: apt-pkg/cdrom.cc:836 -#: apt-pkg/cdrom.cc:808 ++#: apt-pkg/cdrom.cc:837 msgid "Unmounting CD-ROM...\n" msgstr "" -#: apt-pkg/indexcopy.cc:261 +#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:830 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:263 +#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:832 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:266 +#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:835 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:269 +#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:838 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@@ -2621,10 -2544,6 +2622,10 @@@ msgstr " msgid "Completely removed %s" msgstr "" +#: methods/rred.cc:219 +msgid "Could not patch file" +msgstr "" + #: methods/rsh.cc:330 msgid "Connection closed prematurely" msgstr ""