From: Michael Vogt Date: Wed, 2 May 2007 11:58:21 +0000 (+0200) Subject: * updated from http://people.ubuntu.com/~mvo/bzr/apt/auto-mark/ X-Git-Tag: 0.7.21~284^2~1 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/b51ff02a550881118ce4c677a6f2ce1d0aff9cd8?hp=-c * updated from http://people.ubuntu.com/~mvo/bzr/apt/auto-mark/ --- b51ff02a550881118ce4c677a6f2ce1d0aff9cd8 diff --combined apt-pkg/depcache.cc index 390d93dc8,f5673dd5d..ac667d51d --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@@ -8,6 -8,9 +8,6 @@@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/depcache.h" -#endif #include #include #include @@@ -270,7 -273,7 +270,7 @@@ bool pkgDepCache::CheckDep(DepIterator we allow it anyhow because dpkg does. Technically it is a packaging bug. Conflicts may never self match */ if (Dep.TargetPkg() != Dep.ParentPkg() || - (Dep->Type != Dep::Conflicts && Dep->Type != Dep::Obsoletes)) + (Dep->Type != Dep::Conflicts && Dep->Type != Dep::DpkgBreaks && Dep->Type != Dep::Obsoletes)) { PkgIterator Pkg = Dep.TargetPkg(); // Check the base package @@@ -300,8 -303,7 +300,8 @@@ { /* Provides may never be applied against the same package if it is a conflicts. See the comment above. */ - if (P.OwnerPkg() == Pkg && Dep->Type == Dep::Conflicts) + if (P.OwnerPkg() == Pkg && + (Dep->Type == Dep::Conflicts || Dep->Type == Dep::DpkgBreaks)) continue; // Check if the provides is a hit @@@ -397,11 -399,9 +397,11 @@@ void pkgDepCache::AddStates(const PkgIt { StateCache &State = PkgState[Pkg->ID]; - // The Package is broken + // The Package is broken (either minimal dep or policy dep) if ((State.DepState & DepInstMin) != DepInstMin) iBrokenCount += Add; + if ((State.DepState & DepInstPolicy) != DepInstPolicy) + iPolicyBrokenCount += Add; // Bad state if (Pkg.State() != PkgIterator::NeedsNothing) @@@ -455,9 -455,7 +455,9 @@@ void pkgDepCache::BuildGroupOrs(VerIter /* Invert for Conflicts. We have to do this twice to get the right sense for a conflicts group */ - if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes) + if (D->Type == Dep::Conflicts || + D->Type == Dep::DpkgBreaks || + D->Type == Dep::Obsoletes) State = ~State; // Add to the group if we are within an or.. @@@ -468,9 -466,7 +468,9 @@@ Group = 0; // Invert for Conflicts - if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes) + if (D->Type == Dep::Conflicts || + D->Type == Dep::DpkgBreaks || + D->Type == Dep::Obsoletes) State = ~State; } } @@@ -603,9 -599,7 +603,9 @@@ void pkgDepCache::Update(OpProgress *Pr Group = 0; // Invert for Conflicts - if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes) + if (D->Type == Dep::Conflicts || + D->Type == Dep::DpkgBreaks || + D->Type == Dep::Obsoletes) State = ~State; } } @@@ -635,9 -629,7 +635,9 @@@ void pkgDepCache::Update(DepIterator D State = DependencyState(D); // Invert for Conflicts - if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes) + if (D->Type == Dep::Conflicts || + D->Type == Dep::DpkgBreaks || + D->Type == Dep::Obsoletes) State = ~State; RemoveStates(D.ParentPkg()); @@@ -709,6 -701,7 +709,6 @@@ void pkgDepCache::MarkKeep(PkgIterator // We dont even try to keep virtual packages.. if (Pkg->VersionList == 0) return; - #if 0 // reseting the autoflag here means we lose the // auto-mark information if a user selects a package for removal // but changes his mind then and sets it for keep again @@@ -779,8 -772,7 +779,8 @@@ void pkgDepCache::MarkDelete(PkgIterato // --------------------------------------------------------------------- /* */ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, - unsigned long Depth, bool FromUser) + unsigned long Depth, bool FromUser, + bool ForceImportantDeps) { if (Depth > 100) return; @@@ -795,8 -787,7 +795,8 @@@ installed */ StateCache &P = PkgState[Pkg->ID]; P.iFlags &= ~AutoKept; - if (P.InstBroken() == false && (P.Mode == ModeInstall || + if ((P.InstPolicyBroken() == false && P.InstBroken() == false) && + (P.Mode == ModeInstall || P.CandidateVer == (Version *)Pkg.CurrentVer())) { if (P.CandidateVer == (Version *)Pkg.CurrentVer() && P.InstallVer == 0) @@@ -807,9 -798,11 +807,9 @@@ // See if there is even any possible instalation candidate if (P.CandidateVer == 0) return; - // We dont even try to install virtual packages.. if (Pkg->VersionList == 0) return; - /* Target the candidate version and remove the autoflag. We reset the autoflag below if this was called recursively. Otherwise the user should have the ability to de-auto a package by changing its state */ @@@ -863,43 -856,10 +863,43 @@@ /* Check if this dep should be consider for install. If it is a user defined important dep and we are installed a new package then - it will be installed. Otherwise we only worry about critical deps */ + it will be installed. Otherwise we only check for important + deps that have changed from the installed version + */ if (IsImportantDep(Start) == false) continue; - if (Pkg->CurrentVer != 0 && Start.IsCritical() == false) + + /* check if any ImportantDep() (but not Critial) where added + * since we installed the package + */ + bool isNewImportantDep = false; + if(!ForceImportantDeps && !Start.IsCritical()) + { + bool found=false; + VerIterator instVer = Pkg.CurrentVer(); + if(!instVer.end()) + { + for (DepIterator D = instVer.DependsList(); D.end() != true; D++) + { + //FIXME: deal better with or-groups(?) + DepIterator LocalStart = D; + + if(IsImportantDep(D) && Start.TargetPkg() == D.TargetPkg()) + found=true; + } + // this is a new dep if it was not found to be already + // a important dep of the installed pacakge + isNewImportantDep = !found; + } + } + if(isNewImportantDep) + if(_config->FindB("Debug::pkgDepCache::AutoInstall",false) == true) + std::clog << "new important dependency: " + << Start.TargetPkg().Name() << std::endl; + + // skip important deps if the package is already installed + if (Pkg->CurrentVer != 0 && Start.IsCritical() == false + && !isNewImportantDep && !ForceImportantDeps) continue; /* If we are in an or group locate the first or that can @@@ -910,8 -870,7 +910,8 @@@ /* This bit is for processing the possibilty of an install/upgrade fixing the problem */ SPtrArray List = Start.AllTargets(); - if ((DepState[Start->ID] & DepCVer) == DepCVer) + if (Start->Type != Dep::DpkgBreaks && + (DepState[Start->ID] & DepCVer) == DepCVer) { // Right, find the best version to install.. Version **Cur = List; @@@ -948,31 -907,36 +948,42 @@@ std::clog << "Installing " << InstPkg.Name() << " as dep of " << Pkg.Name() << std::endl; - MarkInstall(InstPkg,true,Depth + 1, false, ForceImportantDeps); - - // Set the autoflag, after MarkInstall because MarkInstall unsets it - if (P->CurrentVer == 0) - PkgState[InstPkg->ID].Flags |= Flag::Auto; + // now check if we should consider it a automatic dependency or not + string sec = _config->Find("APT::Never-MarkAuto-Section",""); + if(Pkg.Section() && (string(Pkg.Section()) == sec)) + { + if(_config->FindB("Debug::pkgDepCache::AutoInstall",false) == true) + std::clog << "Setting NOT as auto-installed because its a direct dep of a package in section " << sec << std::endl; + MarkInstall(InstPkg,true,Depth + 1, true); + } + else + { + // mark automatic dependency - MarkInstall(InstPkg,true,Depth + 1, false); ++ MarkInstall(InstPkg,true,Depth + 1, false, ForceImportantDeps); + // Set the autoflag, after MarkInstall because MarkInstall unsets it + if (P->CurrentVer == 0) + PkgState[InstPkg->ID].Flags |= Flag::Auto; + } } continue; } - + /* For conflicts we just de-install the package and mark as auto, - Conflicts may not have or groups */ - if (Start->Type == Dep::Conflicts || Start->Type == Dep::Obsoletes) + Conflicts may not have or groups. For dpkg's Breaks we try to + upgrade the package. */ + if (Start->Type == Dep::Conflicts || Start->Type == Dep::Obsoletes || + Start->Type == Dep::DpkgBreaks) { for (Version **I = List; *I != 0; I++) { VerIterator Ver(*this,*I); PkgIterator Pkg = Ver.ParentPkg(); - - MarkDelete(Pkg); + + if (Start->Type != Dep::DpkgBreaks) + MarkDelete(Pkg); + else + if (PkgState[Pkg->ID].CandidateVer != *I) + MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps); } continue; } @@@ -1120,28 -1084,7 +1131,28 @@@ pkgCache::VerIterator pkgDepCache::Poli /* */ bool pkgDepCache::Policy::IsImportantDep(DepIterator Dep) { - return Dep.IsCritical(); + if(Dep.IsCritical()) + return true; + else if(Dep->Type == pkgCache::Dep::Recommends) + { + if ( _config->FindB("APT::Install-Recommends", false)) + return true; + // we suport a special mode to only install-recommends for certain + // sections + // FIXME: this is a meant as a temporarly solution until the + // recommends are cleaned up + string s = _config->Find("APT::Install-Recommends-Section",""); + if(s.size() > 0) + { + const char *sec = Dep.TargetPkg().Section(); + if (sec && strcmp(sec, s.c_str()) == 0) + return true; + } + } + else if(Dep->Type == pkgCache::Dep::Suggests) + return _config->FindB("APT::Install-Suggests", false); + + return false; } /*}}}*/ diff --combined cmdline/apt-get.cc index b47c2ec09,e8e5a8c39..aa6a70ffe --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@@ -629,8 -629,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 -640,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) @@@ -1160,11 -1146,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 -1356,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,11 -1381,9 +1406,11 @@@ 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; } /*}}}*/ @@@ -1421,8 -1394,8 +1421,8 @@@ 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; @@@ -1444,9 -1417,13 +1444,13 @@@ if(Pkg.CurrentVer() != 0 || Cache[Pkg].Install()) if(Debug) std::cout << "We could delete %s" << Pkg.Name() << std::endl; - - autoremovelist += string(Pkg.Name()) + " "; - autoremoveversions += string(Cache[Pkg].CandVersion) + " "; + + // 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 && @@@ -1457,8 -1434,9 +1461,9 @@@ } } } - ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions); - if (!doAutoRemove && autoremovelist.size() > 0) + 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 @@@ -1496,51 -1474,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 */ @@@ -1556,6 -1489,7 +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); @@@ -1678,6 -1612,19 +1684,19 @@@ return false; if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false) return 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++; + } } } @@@ -1720,10 -1667,8 +1739,10 @@@ return _error->Error(_("Broken packages")); } } - if (!DoAutomaticRemove(Cache)) + if (_config->FindB("APT::Get::AutomaticRemove")) { + if (!DoAutomaticRemove(Cache)) return false; + } /* Print out a list of packages that are going to be installed extra to what the user asked */ @@@ -1842,6 -1787,14 +1861,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); @@@ -2634,7 -2587,6 +2661,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 /*{{{*/ @@@ -2692,8 -2644,6 +2719,8 @@@ int main(int argc,const char *argv[] {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}}; diff --combined doc/examples/configure-index index 56389b749,d3e061f9a..d0aad1e3d --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@@ -33,6 -33,7 +33,7 @@@ AP { Arch-Only "false"; AutomaticRemove "false"; + HideAutoRemove "false"; Download-Only "false"; Simulate "false"; Assume-Yes "false"; @@@ -94,11 -95,9 +95,14 @@@ Cache-Limit "4194304"; Default-Release ""; + // consider Recommends, Suggests as important dependencies that should + // be installed by default + APT::Install-Recommends "false"; + APT::Install-Suggests "false"; + + // consider dependencies of packages in this section manual + Never-MarkAuto-Section "metapackages"; + // Write progress messages on this fd (for stuff like base-config) Status-Fd "-1"; // Keep the list of FDs open (normally apt closes all fds when it @@@ -112,8 -111,6 +116,8 @@@ Acquir Queue-Mode "host"; // host|access Retries "0"; Source-Symlinks "true"; + + PDiffs "true"; // try to get the IndexFile diffs // HTTP method configuration http @@@ -130,18 -127,6 +134,18 @@@ Dl-Limit "7"; // 7Kb/sec maximum download rate }; + // HTTPS method configuration: + // - uses the http proxy config + // - uses the http cache-control values + // - uses the http Dl-Limit values + https + { + Verify-Peer "false"; + SslCert "/etc/apt/some.pem"; + CaPath "/etc/ssl/certs"; + Verify-Host" "2"; + }; + ftp { Proxy "ftp://127.0.0.1/"; @@@ -259,10 -244,6 +263,10 @@@ DPk // Control the size of the command line passed to dpkg. MaxBytes 1024; MaxArgs 350; + + // controls if apt will apport on the first dpkg error or if it + // tries to install as many packages as possible + StopOnError "true"; } /* Options you can set to see some debugging text They correspond to names @@@ -278,12 -259,11 +282,12 @@@ Debu pkgDPkgProgressReporting "false"; pkgOrderList "false"; pkgAutoRemove "false"; // show information about automatic removes - + BuildDeps "false"; pkgInitialize "false"; // This one will dump the configuration space NoLocking "false"; Acquire::Ftp "false"; // Show ftp command traffic Acquire::Http "false"; // Show http command traffic + Acquire::Https "false"; // Show https debug Acquire::gpgv "false"; // Show the gpgv traffic aptcdrom "false"; // Show found package files IdentCdrom "false"; diff --combined po/apt-all.pot index 81d742437,0dc932d47..bd066ab06 --- 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-03-14 11:44+0100\n" +"POT-Creation-Date: 2006-08-15 15:55+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:141 #, 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:181 cmdline/apt-cache.cc:550 cmdline/apt-cache.cc:638 +#: cmdline/apt-cache.cc:794 cmdline/apt-cache.cc:1012 +#: cmdline/apt-cache.cc:1413 cmdline/apt-cache.cc:1564 #, c-format msgid "Unable to locate package %s" msgstr "" -#: cmdline/apt-cache.cc:232 +#: cmdline/apt-cache.cc:245 msgid "Total package names : " msgstr "" -#: cmdline/apt-cache.cc:272 +#: cmdline/apt-cache.cc:285 msgid " Normal packages: " msgstr "" -#: cmdline/apt-cache.cc:273 +#: cmdline/apt-cache.cc:286 msgid " Pure virtual packages: " msgstr "" -#: cmdline/apt-cache.cc:274 +#: cmdline/apt-cache.cc:287 msgid " Single virtual packages: " msgstr "" -#: cmdline/apt-cache.cc:275 +#: cmdline/apt-cache.cc:288 msgid " Mixed virtual packages: " msgstr "" -#: cmdline/apt-cache.cc:276 +#: cmdline/apt-cache.cc:289 msgid " Missing: " msgstr "" -#: cmdline/apt-cache.cc:278 +#: cmdline/apt-cache.cc:291 msgid "Total distinct versions: " msgstr "" -#: cmdline/apt-cache.cc:280 +#: cmdline/apt-cache.cc:293 +msgid "Total Distinct Descriptions: " +msgstr "" + +#: cmdline/apt-cache.cc:295 msgid "Total dependencies: " msgstr "" -#: cmdline/apt-cache.cc:283 +#: cmdline/apt-cache.cc:298 msgid "Total ver/file relations: " msgstr "" -#: cmdline/apt-cache.cc:285 +#: cmdline/apt-cache.cc:300 +msgid "Total Desc/File relations: " +msgstr "" + +#: cmdline/apt-cache.cc:302 msgid "Total Provides mappings: " msgstr "" -#: cmdline/apt-cache.cc:297 +#: cmdline/apt-cache.cc:314 msgid "Total globbed strings: " msgstr "" -#: cmdline/apt-cache.cc:311 +#: cmdline/apt-cache.cc:328 msgid "Total dependency version space: " msgstr "" -#: cmdline/apt-cache.cc:316 +#: cmdline/apt-cache.cc:333 msgid "Total slack space: " msgstr "" -#: cmdline/apt-cache.cc:324 +#: cmdline/apt-cache.cc:341 msgid "Total space accounted for: " msgstr "" -#: cmdline/apt-cache.cc:446 cmdline/apt-cache.cc:1189 +#: cmdline/apt-cache.cc:469 cmdline/apt-cache.cc:1212 #, c-format msgid "Package file %s is out of sync." msgstr "" -#: cmdline/apt-cache.cc:1231 +#: cmdline/apt-cache.cc:1287 msgid "You must give exactly one pattern" msgstr "" -#: cmdline/apt-cache.cc:1385 +#: cmdline/apt-cache.cc:1441 msgid "No packages found" msgstr "" -#: cmdline/apt-cache.cc:1462 +#: cmdline/apt-cache.cc:1518 msgid "Package files:" msgstr "" -#: cmdline/apt-cache.cc:1469 cmdline/apt-cache.cc:1555 +#: cmdline/apt-cache.cc:1525 cmdline/apt-cache.cc:1611 msgid "Cache is out of sync, can't x-ref a package file" msgstr "" -#: cmdline/apt-cache.cc:1470 +#: cmdline/apt-cache.cc:1526 #, c-format msgid "%4i %s\n" msgstr "" #. Show any packages have explicit pins -#: cmdline/apt-cache.cc:1482 +#: cmdline/apt-cache.cc:1538 msgid "Pinned packages:" msgstr "" -#: cmdline/apt-cache.cc:1494 cmdline/apt-cache.cc:1535 +#: cmdline/apt-cache.cc:1550 cmdline/apt-cache.cc:1591 msgid "(not found)" msgstr "" #. Installed version -#: cmdline/apt-cache.cc:1515 +#: cmdline/apt-cache.cc:1571 msgid " Installed: " msgstr "" -#: cmdline/apt-cache.cc:1517 cmdline/apt-cache.cc:1525 +#: cmdline/apt-cache.cc:1573 cmdline/apt-cache.cc:1581 msgid "(none)" msgstr "" #. Candidate Version -#: cmdline/apt-cache.cc:1522 +#: cmdline/apt-cache.cc:1578 msgid " Candidate: " msgstr "" -#: cmdline/apt-cache.cc:1532 +#: cmdline/apt-cache.cc:1588 msgid " Package pin: " msgstr "" #. Show the priority tables -#: cmdline/apt-cache.cc:1541 +#: cmdline/apt-cache.cc:1597 msgid " Version table:" msgstr "" -#: cmdline/apt-cache.cc:1556 +#: cmdline/apt-cache.cc:1612 #, 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:1708 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550 -#: cmdline/apt-get.cc:2463 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:2462 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:1715 msgid "" "Usage: apt-cache [options] command\n" " apt-cache [options] add file1 [file2 ...]\n" @@@ -251,8 -243,7 +251,8 @@@ msgid " " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:712 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:817 +#: apt-pkg/pkgcachegen.cc:819 #, c-format msgid "Unable to write to %s" msgstr "" @@@ -555,7 -546,7 +555,7 @@@ msgstr " msgid "Y" msgstr "" -#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1577 +#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1574 #, c-format msgid "Regex compilation error - %s" msgstr "" @@@ -654,118 -645,118 +654,118 @@@ msgstr " msgid "%lu not fully installed or removed.\n" msgstr "" -#: cmdline/apt-get.cc:650 +#: cmdline/apt-get.cc:664 msgid "Correcting dependencies..." msgstr "" -#: cmdline/apt-get.cc:653 +#: cmdline/apt-get.cc:667 msgid " failed." msgstr "" -#: cmdline/apt-get.cc:656 +#: cmdline/apt-get.cc:670 msgid "Unable to correct dependencies" msgstr "" -#: cmdline/apt-get.cc:659 +#: cmdline/apt-get.cc:673 msgid "Unable to minimize the upgrade set" msgstr "" -#: cmdline/apt-get.cc:661 +#: cmdline/apt-get.cc:675 msgid " Done" msgstr "" -#: cmdline/apt-get.cc:665 +#: cmdline/apt-get.cc:679 msgid "You might want to run `apt-get -f install' to correct these." msgstr "" -#: cmdline/apt-get.cc:668 +#: cmdline/apt-get.cc:682 msgid "Unmet dependencies. Try using -f." msgstr "" -#: cmdline/apt-get.cc:690 +#: cmdline/apt-get.cc:704 msgid "WARNING: The following packages cannot be authenticated!" msgstr "" -#: cmdline/apt-get.cc:694 +#: cmdline/apt-get.cc:708 msgid "Authentication warning overridden.\n" msgstr "" -#: cmdline/apt-get.cc:701 +#: cmdline/apt-get.cc:715 msgid "Install these packages without verification [y/N]? " msgstr "" -#: cmdline/apt-get.cc:703 +#: cmdline/apt-get.cc:717 msgid "Some packages could not be authenticated" msgstr "" -#: cmdline/apt-get.cc:712 cmdline/apt-get.cc:859 +#: 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:756 +#: cmdline/apt-get.cc:770 msgid "Internal error, InstallPackages was called with broken packages!" msgstr "" -#: cmdline/apt-get.cc:765 +#: cmdline/apt-get.cc:779 msgid "Packages need to be removed but remove is disabled." msgstr "" -#: cmdline/apt-get.cc:776 +#: cmdline/apt-get.cc:790 msgid "Internal error, Ordering didn't finish" msgstr "" -#: cmdline/apt-get.cc:792 cmdline/apt-get.cc:1894 cmdline/apt-get.cc:1927 +#: cmdline/apt-get.cc:806 cmdline/apt-get.cc:1893 cmdline/apt-get.cc:1926 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:802 cmdline/apt-get.cc:1975 cmdline/apt-get.cc:2211 +#: cmdline/apt-get.cc:816 cmdline/apt-get.cc:1974 cmdline/apt-get.cc:2210 #: apt-pkg/cachefile.cc:67 msgid "The list of sources could not be read." msgstr "" -#: cmdline/apt-get.cc:817 +#: cmdline/apt-get.cc:831 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org" msgstr "" -#: cmdline/apt-get.cc:822 +#: cmdline/apt-get.cc:836 #, c-format msgid "Need to get %sB/%sB of archives.\n" msgstr "" -#: cmdline/apt-get.cc:825 +#: cmdline/apt-get.cc:839 #, c-format msgid "Need to get %sB of archives.\n" msgstr "" -#: cmdline/apt-get.cc:830 +#: cmdline/apt-get.cc:844 #, c-format msgid "After unpacking %sB of additional disk space will be used.\n" msgstr "" -#: cmdline/apt-get.cc:833 +#: cmdline/apt-get.cc:847 #, c-format msgid "After unpacking %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:847 cmdline/apt-get.cc:2065 +#: cmdline/apt-get.cc:861 cmdline/apt-get.cc:2064 #, c-format msgid "Couldn't determine free space in %s" msgstr "" -#: cmdline/apt-get.cc:850 +#: cmdline/apt-get.cc:864 #, c-format msgid "You don't have enough free space in %s." msgstr "" -#: cmdline/apt-get.cc:865 cmdline/apt-get.cc:885 +#: 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:867 +#: cmdline/apt-get.cc:881 msgid "Yes, do as I say!" msgstr "" -#: cmdline/apt-get.cc:869 +#: cmdline/apt-get.cc:883 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@@ -773,74 -764,74 +773,74 @@@ " ?] " msgstr "" -#: cmdline/apt-get.cc:875 cmdline/apt-get.cc:894 +#: cmdline/apt-get.cc:889 cmdline/apt-get.cc:908 msgid "Abort." msgstr "" -#: cmdline/apt-get.cc:890 +#: cmdline/apt-get.cc:904 msgid "Do you want to continue [Y/n]? " msgstr "" -#: cmdline/apt-get.cc:962 cmdline/apt-get.cc:1366 cmdline/apt-get.cc:2108 +#: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1382 cmdline/apt-get.cc:2107 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" -#: cmdline/apt-get.cc:980 +#: cmdline/apt-get.cc:994 msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:981 cmdline/apt-get.cc:2117 +#: cmdline/apt-get.cc:995 cmdline/apt-get.cc:2116 msgid "Download complete and in download only mode" msgstr "" -#: cmdline/apt-get.cc:987 +#: 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:991 +#: cmdline/apt-get.cc:1005 msgid "--fix-missing and media swapping is not currently supported" msgstr "" -#: cmdline/apt-get.cc:996 +#: cmdline/apt-get.cc:1010 msgid "Unable to correct missing packages." msgstr "" -#: cmdline/apt-get.cc:997 +#: cmdline/apt-get.cc:1011 msgid "Aborting install." msgstr "" -#: cmdline/apt-get.cc:1031 +#: cmdline/apt-get.cc:1045 #, c-format msgid "Note, selecting %s instead of %s\n" msgstr "" -#: cmdline/apt-get.cc:1041 +#: 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:1059 +#: cmdline/apt-get.cc:1073 #, c-format msgid "Package %s is not installed, so not removed\n" msgstr "" -#: cmdline/apt-get.cc:1070 +#: cmdline/apt-get.cc:1084 #, c-format msgid "Package %s is a virtual package provided by:\n" msgstr "" -#: cmdline/apt-get.cc:1082 +#: cmdline/apt-get.cc:1096 msgid " [Installed]" msgstr "" -#: cmdline/apt-get.cc:1087 +#: cmdline/apt-get.cc:1101 msgid "You should explicitly select one to install." msgstr "" -#: cmdline/apt-get.cc:1092 +#: cmdline/apt-get.cc:1106 #, c-format msgid "" "Package %s is not available, but is referred to by another package.\n" @@@ -848,65 -839,75 +848,65 @@@ "is only available from another source\n" msgstr "" -#: cmdline/apt-get.cc:1111 +#: cmdline/apt-get.cc:1125 msgid "However the following packages replace it:" msgstr "" -#: cmdline/apt-get.cc:1114 +#: cmdline/apt-get.cc:1128 #, c-format msgid "Package %s has no installation candidate" msgstr "" -#: cmdline/apt-get.cc:1134 +#: cmdline/apt-get.cc:1148 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" msgstr "" -#: cmdline/apt-get.cc:1142 +#: cmdline/apt-get.cc:1156 #, c-format msgid "%s is already the newest version.\n" msgstr "" -#: cmdline/apt-get.cc:1169 +#: cmdline/apt-get.cc:1185 #, c-format msgid "Release '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1171 +#: cmdline/apt-get.cc:1187 #, c-format msgid "Version '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1177 +#: cmdline/apt-get.cc:1193 #, c-format msgid "Selected version %s (%s) for %s\n" msgstr "" -#: cmdline/apt-get.cc:1314 +#: cmdline/apt-get.cc:1330 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1327 +#: cmdline/apt-get.cc:1343 msgid "Unable to lock the list directory" msgstr "" -#: cmdline/apt-get.cc:1385 +#: cmdline/apt-get.cc:1401 msgid "" "Some index files failed to download, they have been ignored, or old ones " "used instead." msgstr "" -#: cmdline/apt-get.cc:1406 +#: cmdline/apt-get.cc:1415 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1433 -msgid "" -"The following packages were automatically installed and are no longer " -"required:" -msgstr "" - -#: cmdline/apt-get.cc:1435 -msgid "Use 'apt-get autoremove' to remove them." -msgstr "" - #: cmdline/apt-get.cc:1440 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:1443 cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1443 cmdline/apt-get.cc:1642 msgid "The following information may help to resolve the situation:" msgstr "" @@@ -918,27 -919,27 +918,27 @@@ msgstr " msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1564 cmdline/apt-get.cc:1600 +#: cmdline/apt-get.cc:1561 cmdline/apt-get.cc:1597 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:1587 +#: cmdline/apt-get.cc:1584 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "" -#: cmdline/apt-get.cc:1617 +#: cmdline/apt-get.cc:1614 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1620 +#: cmdline/apt-get.cc:1617 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1632 +#: cmdline/apt-get.cc:1629 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" @@@ -946,159 -947,159 +946,159 @@@ "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1640 +#: cmdline/apt-get.cc:1637 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:1648 +#: cmdline/apt-get.cc:1645 msgid "Broken packages" msgstr "" -#: cmdline/apt-get.cc:1677 +#: cmdline/apt-get.cc:1676 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:1766 +#: cmdline/apt-get.cc:1765 msgid "Suggested packages:" msgstr "" -#: cmdline/apt-get.cc:1767 +#: cmdline/apt-get.cc:1766 msgid "Recommended packages:" msgstr "" -#: cmdline/apt-get.cc:1787 +#: cmdline/apt-get.cc:1786 msgid "Calculating upgrade... " msgstr "" -#: cmdline/apt-get.cc:1790 methods/ftp.cc:702 methods/connect.cc:101 +#: cmdline/apt-get.cc:1789 methods/ftp.cc:702 methods/connect.cc:101 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:1795 +#: cmdline/apt-get.cc:1794 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:1862 cmdline/apt-get.cc:1870 +#: cmdline/apt-get.cc:1861 cmdline/apt-get.cc:1869 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:1970 +#: cmdline/apt-get.cc:1969 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2000 cmdline/apt-get.cc:2229 +#: cmdline/apt-get.cc:1999 cmdline/apt-get.cc:2228 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2044 +#: cmdline/apt-get.cc:2043 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2068 +#: cmdline/apt-get.cc:2067 #, c-format msgid "You don't have enough free space in %s" msgstr "" -#: cmdline/apt-get.cc:2073 +#: cmdline/apt-get.cc:2072 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2076 +#: cmdline/apt-get.cc:2075 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2082 +#: cmdline/apt-get.cc:2081 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2113 +#: cmdline/apt-get.cc:2112 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2141 +#: cmdline/apt-get.cc:2140 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2153 +#: cmdline/apt-get.cc:2152 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2154 +#: cmdline/apt-get.cc:2153 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2171 +#: cmdline/apt-get.cc:2170 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2190 +#: cmdline/apt-get.cc:2189 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2206 +#: cmdline/apt-get.cc:2205 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2234 +#: cmdline/apt-get.cc:2233 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2254 +#: cmdline/apt-get.cc:2253 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2306 +#: cmdline/apt-get.cc:2305 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2358 +#: cmdline/apt-get.cc:2357 #, 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:2393 +#: cmdline/apt-get.cc:2392 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2418 +#: cmdline/apt-get.cc:2417 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2432 +#: cmdline/apt-get.cc:2431 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2436 +#: cmdline/apt-get.cc:2435 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2468 +#: cmdline/apt-get.cc:2467 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:2509 +#: cmdline/apt-get.cc:2508 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@@ -1383,11 -1384,9 +1383,11 @@@ msgid "The info and temp directories ne msgstr "" #. Build the status cache -#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:645 -#: apt-pkg/pkgcachegen.cc:714 apt-pkg/pkgcachegen.cc:719 -#: apt-pkg/pkgcachegen.cc:842 +#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:750 +#: apt-pkg/pkgcachegen.cc:819 apt-pkg/pkgcachegen.cc:824 +#: apt-pkg/pkgcachegen.cc:947 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 "" @@@ -1502,28 -1501,25 +1502,28 @@@ msgstr " msgid "Wrong CD-ROM" msgstr "" -#: methods/cdrom.cc:164 +#: methods/cdrom.cc:164 methods/cdrom.cc:166 #, c-format msgid "Unable to unmount the CD-ROM in %s, it may still be in use." msgstr "" -#: methods/cdrom.cc:169 +#: methods/cdrom.cc:169 methods/cdrom.cc:171 msgid "Disk not found." msgstr "" #: methods/cdrom.cc:177 methods/file.cc:79 methods/rsh.cc:264 +#: methods/cdrom.cc:179 msgid "File not found" msgstr "" #: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:133 -#: methods/gzip.cc:142 +#: methods/gzip.cc:142 methods/rred.cc:234 methods/rred.cc:243 +#: methods/gzip.cc:141 methods/gzip.cc:150 msgid "Failed to stat" msgstr "" #: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:139 +#: methods/rred.cc:240 methods/gzip.cc:147 msgid "Failed to set modification time" msgstr "" @@@ -1649,8 -1645,7 +1649,8 @@@ msgstr " msgid "Unable to accept connection" msgstr "" -#: methods/ftp.cc:864 methods/http.cc:958 methods/rsh.cc:303 +#: methods/ftp.cc:864 methods/http.cc:957 methods/rsh.cc:303 +#: methods/http.cc:958 msgid "Problem hashing file" msgstr "" @@@ -1771,87 -1766,86 +1771,87 @@@ msgid " "available:\n" msgstr "" -#: methods/gzip.cc:57 +#: methods/gzip.cc:57 methods/gzip.cc:64 #, c-format msgid "Couldn't open pipe for %s" msgstr "" -#: methods/gzip.cc:102 +#: methods/gzip.cc:102 methods/gzip.cc:109 #, c-format msgid "Read error from %s process" msgstr "" -#: methods/http.cc:376 +#: methods/http.cc:375 methods/http.cc:376 msgid "Waiting for headers" msgstr "" -#: methods/http.cc:522 +#: methods/http.cc:521 methods/http.cc:522 #, c-format msgid "Got a single header line over %u chars" msgstr "" -#: methods/http.cc:530 +#: methods/http.cc:529 methods/http.cc:530 msgid "Bad header line" msgstr "" -#: methods/http.cc:549 methods/http.cc:556 +#: methods/http.cc:548 methods/http.cc:555 methods/http.cc:549 +#: methods/http.cc:556 msgid "The HTTP server sent an invalid reply header" msgstr "" -#: methods/http.cc:585 +#: methods/http.cc:584 methods/http.cc:585 msgid "The HTTP server sent an invalid Content-Length header" msgstr "" -#: methods/http.cc:600 +#: methods/http.cc:599 methods/http.cc:600 msgid "The HTTP server sent an invalid Content-Range header" msgstr "" -#: methods/http.cc:602 +#: methods/http.cc:601 methods/http.cc:602 msgid "This HTTP server has broken range support" msgstr "" -#: methods/http.cc:626 +#: methods/http.cc:625 methods/http.cc:626 msgid "Unknown date format" msgstr "" -#: methods/http.cc:773 +#: methods/http.cc:772 methods/http.cc:773 msgid "Select failed" msgstr "" -#: methods/http.cc:778 +#: methods/http.cc:777 methods/http.cc:778 msgid "Connection timed out" msgstr "" -#: methods/http.cc:801 +#: methods/http.cc:800 methods/http.cc:801 msgid "Error writing to output file" msgstr "" -#: methods/http.cc:832 +#: methods/http.cc:831 methods/http.cc:832 msgid "Error writing to file" msgstr "" -#: methods/http.cc:860 +#: methods/http.cc:859 methods/http.cc:860 msgid "Error writing to the file" msgstr "" -#: methods/http.cc:874 +#: methods/http.cc:873 methods/http.cc:874 msgid "Error reading from server. Remote end closed connection" msgstr "" -#: methods/http.cc:876 +#: methods/http.cc:875 methods/http.cc:876 msgid "Error reading from server" msgstr "" -#: methods/http.cc:1107 +#: methods/http.cc:1106 methods/http.cc:1107 msgid "Bad header data" msgstr "" -#: methods/http.cc:1124 +#: methods/http.cc:1123 methods/http.cc:1124 msgid "Connection failed" msgstr "" -#: methods/http.cc:1215 +#: methods/http.cc:1214 methods/http.cc:1215 msgid "Internal error" msgstr "" @@@ -1864,7 -1858,7 +1864,7 @@@ msgstr " msgid "Couldn't make mmap of %lu bytes" msgstr "" -#: apt-pkg/contrib/strutl.cc:938 +#: apt-pkg/contrib/strutl.cc:981 #, c-format msgid "Selection %s not found" msgstr "" @@@ -1924,12 -1918,12 +1924,12 @@@ msgstr " msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" -#: apt-pkg/contrib/progress.cc:154 +#: apt-pkg/contrib/progress.cc:154 apt-pkg/contrib/progress.cc:155 #, c-format msgid "%c%s... Error!" msgstr "" -#: apt-pkg/contrib/progress.cc:156 +#: apt-pkg/contrib/progress.cc:156 apt-pkg/contrib/progress.cc:157 #, c-format msgid "%c%s... Done" msgstr "" @@@ -2061,109 -2055,107 +2061,109 @@@ msgstr " msgid "Problem syncing the file" msgstr "" -#: apt-pkg/pkgcache.cc:126 +#: apt-pkg/pkgcache.cc:137 apt-pkg/pkgcache.cc:132 msgid "Empty package cache" msgstr "" -#: apt-pkg/pkgcache.cc:132 +#: apt-pkg/pkgcache.cc:143 apt-pkg/pkgcache.cc:138 msgid "The package cache file is corrupted" msgstr "" -#: apt-pkg/pkgcache.cc:137 +#: apt-pkg/pkgcache.cc:148 apt-pkg/pkgcache.cc:143 msgid "The package cache file is an incompatible version" msgstr "" -#: apt-pkg/pkgcache.cc:142 +#: apt-pkg/pkgcache.cc:153 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:158 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:229 apt-pkg/pkgcache.cc:224 msgid "Depends" msgstr "" -#: apt-pkg/pkgcache.cc:218 +#: apt-pkg/pkgcache.cc:229 apt-pkg/pkgcache.cc:224 msgid "PreDepends" msgstr "" -#: apt-pkg/pkgcache.cc:218 +#: apt-pkg/pkgcache.cc:229 apt-pkg/pkgcache.cc:224 msgid "Suggests" msgstr "" -#: apt-pkg/pkgcache.cc:219 +#: apt-pkg/pkgcache.cc:230 apt-pkg/pkgcache.cc:225 msgid "Recommends" msgstr "" -#: apt-pkg/pkgcache.cc:219 +#: apt-pkg/pkgcache.cc:230 apt-pkg/pkgcache.cc:225 msgid "Conflicts" msgstr "" -#: apt-pkg/pkgcache.cc:219 +#: apt-pkg/pkgcache.cc:230 apt-pkg/pkgcache.cc:225 msgid "Replaces" msgstr "" -#: apt-pkg/pkgcache.cc:220 +#: apt-pkg/pkgcache.cc:231 apt-pkg/pkgcache.cc:226 msgid "Obsoletes" msgstr "" -#: apt-pkg/pkgcache.cc:231 +#: apt-pkg/pkgcache.cc:242 apt-pkg/pkgcache.cc:237 msgid "important" msgstr "" -#: apt-pkg/pkgcache.cc:231 +#: apt-pkg/pkgcache.cc:242 apt-pkg/pkgcache.cc:237 msgid "required" msgstr "" -#: apt-pkg/pkgcache.cc:231 +#: apt-pkg/pkgcache.cc:242 apt-pkg/pkgcache.cc:237 msgid "standard" msgstr "" -#: apt-pkg/pkgcache.cc:232 +#: apt-pkg/pkgcache.cc:243 apt-pkg/pkgcache.cc:238 msgid "optional" msgstr "" -#: apt-pkg/pkgcache.cc:232 +#: apt-pkg/pkgcache.cc:243 apt-pkg/pkgcache.cc:238 msgid "extra" msgstr "" -#: apt-pkg/depcache.cc:101 apt-pkg/depcache.cc:130 +#: apt-pkg/depcache.cc:101 apt-pkg/depcache.cc:130 apt-pkg/depcache.cc:98 +#: apt-pkg/depcache.cc:127 msgid "Building dependency tree" msgstr "" -#: apt-pkg/depcache.cc:102 +#: apt-pkg/depcache.cc:102 apt-pkg/depcache.cc:99 msgid "Candidate versions" msgstr "" -#: apt-pkg/depcache.cc:131 +#: apt-pkg/depcache.cc:131 apt-pkg/depcache.cc:128 msgid "Dependency generation" msgstr "" #: apt-pkg/depcache.cc:152 apt-pkg/depcache.cc:171 apt-pkg/depcache.cc:175 +#: apt-pkg/depcache.cc:149 apt-pkg/depcache.cc:168 apt-pkg/depcache.cc:172 msgid "Reading state information" msgstr "" -#: apt-pkg/depcache.cc:199 +#: apt-pkg/depcache.cc:199 apt-pkg/depcache.cc:196 #, c-format msgid "Failed to open StateFile %s" msgstr "" -#: apt-pkg/depcache.cc:205 +#: apt-pkg/depcache.cc:205 apt-pkg/depcache.cc:202 #, c-format msgid "Failed to write temporary StateFile %s" msgstr "" -#: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92 +#: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92 apt-pkg/tagfile.cc:106 #, c-format msgid "Unable to parse package file %s (1)" msgstr "" -#: apt-pkg/tagfile.cc:186 +#: apt-pkg/tagfile.cc:186 apt-pkg/tagfile.cc:193 #, c-format msgid "Unable to parse package file %s (2)" msgstr "" @@@ -2198,7 -2190,7 +2198,7 @@@ msgstr " msgid "Opening %s" msgstr "" -#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426 +#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:450 #, c-format msgid "Line %u too long in source list %s." msgstr "" @@@ -2218,7 -2210,7 +2218,7 @@@ msgstr " msgid "Malformed line %u in source list %s (vendor id)" msgstr "" - #: apt-pkg/packagemanager.cc:402 -#: apt-pkg/packagemanager.cc:403 ++#: apt-pkg/packagemanager.cc:402 apt-pkg/packagemanager.cc:403 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@@ -2231,19 -2223,19 +2231,19 @@@ msgstr " msgid "Index file type '%s' is not supported" msgstr "" -#: apt-pkg/algorithms.cc:245 +#: apt-pkg/algorithms.cc:245 apt-pkg/algorithms.cc:248 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" -#: apt-pkg/algorithms.cc:1075 +#: apt-pkg/algorithms.cc:1075 apt-pkg/algorithms.cc:1104 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." msgstr "" -#: apt-pkg/algorithms.cc:1077 +#: apt-pkg/algorithms.cc:1077 apt-pkg/algorithms.cc:1106 msgid "Unable to correct problems, you have held broken packages." msgstr "" @@@ -2259,12 -2251,12 +2259,12 @@@ msgstr " #. only show the ETA if it makes sense #. two days -#: apt-pkg/acquire.cc:823 +#: apt-pkg/acquire.cc:823 apt-pkg/acquire.cc:830 #, c-format msgid "Retrieving file %li of %li (%s remaining)" msgstr "" -#: apt-pkg/acquire.cc:825 +#: apt-pkg/acquire.cc:825 apt-pkg/acquire.cc:832 #, c-format msgid "Retrieving file %li of %li" msgstr "" @@@ -2279,17 -2271,17 +2279,17 @@@ msgstr " msgid "Method %s did not start correctly" msgstr "" -#: apt-pkg/acquire-worker.cc:377 +#: 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:120 +#: apt-pkg/init.cc:125 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/init.cc:136 +#: apt-pkg/init.cc:141 msgid "Unable to determine a suitable packaging system type" msgstr "" @@@ -2310,16 -2302,16 +2310,16 @@@ msgstr " msgid "You may want to run apt-get update to correct these problems" msgstr "" -#: apt-pkg/policy.cc:269 +#: apt-pkg/policy.cc:269 apt-pkg/policy.cc:270 msgid "Invalid record in the preferences file, no Package header" msgstr "" -#: apt-pkg/policy.cc:291 +#: apt-pkg/policy.cc:291 apt-pkg/policy.cc:292 #, c-format msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/policy.cc:299 +#: apt-pkg/policy.cc:299 apt-pkg/policy.cc:300 msgid "No priority (or zero) specified for pin" msgstr "" @@@ -2332,127 -2324,110 +2332,127 @@@ msgstr " msgid "Error occurred while processing %s (NewPackage)" msgstr "" -#: apt-pkg/pkgcachegen.cc:131 +#: apt-pkg/pkgcachegen.cc:134 #, c-format msgid "Error occurred while processing %s (UsePackage1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:152 +#: 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:156 +#: apt-pkg/pkgcachegen.cc:186 #, c-format msgid "Error occurred while processing %s (NewFileVer1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:186 +#: apt-pkg/pkgcachegen.cc:217 #, c-format msgid "Error occurred while processing %s (NewVersion1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:190 +#: apt-pkg/pkgcachegen.cc:221 #, c-format msgid "Error occurred while processing %s (UsePackage3)" msgstr "" -#: apt-pkg/pkgcachegen.cc:194 +#: apt-pkg/pkgcachegen.cc:225 #, c-format msgid "Error occurred while processing %s (NewVersion2)" msgstr "" -#: apt-pkg/pkgcachegen.cc:209 +#: 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:212 +#: apt-pkg/pkgcachegen.cc:258 msgid "Wow, you exceeded the number of versions this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:215 +#: 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:243 +#: apt-pkg/pkgcachegen.cc:292 #, c-format msgid "Error occurred while processing %s (FindPkg)" msgstr "" -#: apt-pkg/pkgcachegen.cc:256 +#: apt-pkg/pkgcachegen.cc:305 #, c-format msgid "Error occurred while processing %s (CollectFileProvides)" msgstr "" -#: apt-pkg/pkgcachegen.cc:262 +#: apt-pkg/pkgcachegen.cc:311 #, c-format msgid "Package %s %s was not found while processing file dependencies" msgstr "" -#: apt-pkg/pkgcachegen.cc:576 +#: apt-pkg/pkgcachegen.cc:681 apt-pkg/pkgcachegen.cc:682 #, c-format msgid "Couldn't stat source package list %s" msgstr "" -#: apt-pkg/pkgcachegen.cc:660 +#: apt-pkg/pkgcachegen.cc:765 apt-pkg/pkgcachegen.cc:767 msgid "Collecting File Provides" msgstr "" -#: apt-pkg/pkgcachegen.cc:787 apt-pkg/pkgcachegen.cc:794 +#: apt-pkg/pkgcachegen.cc:892 apt-pkg/pkgcachegen.cc:899 +#: 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:130 #, c-format msgid "rename failed, %s (%s -> %s)." msgstr "" -#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:945 +#: apt-pkg/acquire-item.cc:408 apt-pkg/acquire-item.cc:658 +#: apt-pkg/acquire-item.cc:1402 apt-pkg/acquire-item.cc:409 +#: apt-pkg/acquire-item.cc:666 apt-pkg/acquire-item.cc:1416 msgid "MD5Sum mismatch" msgstr "" -#: apt-pkg/acquire-item.cc:640 +#: apt-pkg/acquire-item.cc:1097 msgid "There are no public key available for the following key IDs:\n" msgstr "" -#: apt-pkg/acquire-item.cc:753 +#: apt-pkg/acquire-item.cc:1210 apt-pkg/acquire-item.cc:1224 #, 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:812 +#: apt-pkg/acquire-item.cc:1269 apt-pkg/acquire-item.cc:1283 #, 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:848 +#: apt-pkg/acquire-item.cc:1305 apt-pkg/acquire-item.cc:1319 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:935 +#: apt-pkg/acquire-item.cc:1392 apt-pkg/acquire-item.cc:1406 msgid "Size mismatch" msgstr "" @@@ -2461,94 -2436,92 +2461,94 @@@ msgid "Vendor block %s contains no fingerprint" msgstr "" -#: apt-pkg/cdrom.cc:507 +#: apt-pkg/cdrom.cc:531 #, c-format msgid "" "Using CD-ROM mount point %s\n" "Mounting CD-ROM\n" msgstr "" -#: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598 +#: apt-pkg/cdrom.cc:540 apt-pkg/cdrom.cc:622 msgid "Identifying.. " msgstr "" -#: apt-pkg/cdrom.cc:541 +#: apt-pkg/cdrom.cc:565 #, c-format msgid "Stored label: %s \n" msgstr "" -#: apt-pkg/cdrom.cc:561 +#: apt-pkg/cdrom.cc:585 #, c-format msgid "Using CD-ROM mount point %s\n" msgstr "" -#: apt-pkg/cdrom.cc:579 +#: apt-pkg/cdrom.cc:603 msgid "Unmounting CD-ROM\n" msgstr "" -#: apt-pkg/cdrom.cc:583 +#: apt-pkg/cdrom.cc:607 msgid "Waiting for disc...\n" msgstr "" #. Mount the new CDROM -#: apt-pkg/cdrom.cc:591 +#: apt-pkg/cdrom.cc:615 msgid "Mounting CD-ROM...\n" msgstr "" -#: apt-pkg/cdrom.cc:609 +#: apt-pkg/cdrom.cc:633 msgid "Scanning disc for index files..\n" msgstr "" -#: apt-pkg/cdrom.cc:647 +#: apt-pkg/cdrom.cc:673 #, 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:737 apt-pkg/cdrom.cc:739 msgid "That is not a valid name, try again.\n" msgstr "" -#: apt-pkg/cdrom.cc:726 +#: apt-pkg/cdrom.cc:753 apt-pkg/cdrom.cc:755 #, c-format msgid "" "This disc is called: \n" "'%s'\n" msgstr "" -#: apt-pkg/cdrom.cc:730 +#: apt-pkg/cdrom.cc:757 apt-pkg/cdrom.cc:759 msgid "Copying package lists..." msgstr "" -#: apt-pkg/cdrom.cc:754 +#: apt-pkg/cdrom.cc:783 apt-pkg/cdrom.cc:785 msgid "Writing new source list\n" msgstr "" -#: apt-pkg/cdrom.cc:763 +#: apt-pkg/cdrom.cc:792 apt-pkg/cdrom.cc:794 msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/cdrom.cc:803 +#: apt-pkg/cdrom.cc:832 apt-pkg/cdrom.cc:836 msgid "Unmounting CD-ROM..." 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 "" @@@ -2603,18 -2576,6 +2603,18 @@@ 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 "" + +#: apt-pkg/acquire-item.cc:1097 apt-pkg/acquire-item.cc:1111 +msgid "There is no public key available for the following key IDs:\n" +msgstr "" + +#: apt-pkg/pkgcache.cc:226 +msgid "Breaks" +msgstr ""