diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2011-06-28 22:41:29 +0100 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2011-06-28 22:41:29 +0100 |
commit | 72bc4387bb8324c0b359d4acff144f32ebf13683 (patch) | |
tree | 893ce4ae33bee4bb53f13bc733c4068e18347561 | |
parent | d97582a768690ea79679e51d26fc241c72825880 (diff) | |
parent | e449f717078978396b76a2fdae844196888d0211 (diff) |
merged from debian-sid
99 files changed, 3285 insertions, 2050 deletions
diff --git a/apt-inst/contrib/extracttar.cc b/apt-inst/contrib/extracttar.cc index 1a358d57e..01b6b3836 100644 --- a/apt-inst/contrib/extracttar.cc +++ b/apt-inst/contrib/extracttar.cc @@ -336,7 +336,7 @@ bool ExtractTar::Go(pkgDirStream &Stream) } // And finish up - if (Itm.Size >= 0 && BadRecord == false) + if (BadRecord == false) if (Stream.FinishedFile(Itm,Fd) == false) return false; diff --git a/apt-inst/dirstream.cc b/apt-inst/dirstream.cc index 586bbf739..9b6a56848 100644 --- a/apt-inst/dirstream.cc +++ b/apt-inst/dirstream.cc @@ -43,11 +43,17 @@ bool pkgDirStream::DoItem(Item &Itm,int &Fd) // fchmod deals with umask and fchown sets the ownership if (fchmod(iFd,Itm.Mode) != 0) - return _error->Errno("fchmod",_("Failed to write file %s"), - Itm.Name); + { + _error->Errno("fchmod",_("Failed to write file %s"), Itm.Name); + close(iFd); + return false; + } if (fchown(iFd,Itm.UID,Itm.GID) != 0 && errno != EPERM) - return _error->Errno("fchown",_("Failed to write file %s"), - Itm.Name); + { + return _error->Errno("fchown",_("Failed to write file %s"), Itm.Name); + close(iFd); + return false; + } Fd = iFd; return true; } diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index d83ccf322..c3817f6ee 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -1693,7 +1693,7 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources, // Select a source if (QueueNext() == false && _error->PendingError() == false) - _error->Error(_("I wasn't able to locate file for the %s package. " + _error->Error(_("I wasn't able to locate a file for the %s package. " "This might mean you need to manually fix this package."), Version.ParentPkg().Name()); } diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc index fb45d9ee7..e9e102488 100644 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@ -23,9 +23,7 @@ #include <apt-pkg/hashes.h> #include <iostream> -#include <stdarg.h> #include <stdio.h> -#include <unistd.h> #include <sys/signal.h> /*}}}*/ @@ -36,32 +34,28 @@ using namespace std; /* This constructs the initialization text */ pkgAcqMethod::pkgAcqMethod(const char *Ver,unsigned long Flags) { - char S[300] = ""; - char *End = S; - strcat(End,"100 Capabilities\n"); - sprintf(End+strlen(End),"Version: %s\n",Ver); + std::cout << "100 Capabilities\n" + << "Version: " << Ver << "\n"; if ((Flags & SingleInstance) == SingleInstance) - strcat(End,"Single-Instance: true\n"); - + std::cout << "Single-Instance: true\n"; + if ((Flags & Pipeline) == Pipeline) - strcat(End,"Pipeline: true\n"); - + std::cout << "Pipeline: true\n"; + if ((Flags & SendConfig) == SendConfig) - strcat(End,"Send-Config: true\n"); + std::cout << "Send-Config: true\n"; if ((Flags & LocalOnly) == LocalOnly) - strcat(End,"Local-Only: true\n"); + std::cout <<"Local-Only: true\n"; if ((Flags & NeedsCleanup) == NeedsCleanup) - strcat(End,"Needs-Cleanup: true\n"); + std::cout << "Needs-Cleanup: true\n"; if ((Flags & Removable) == Removable) - strcat(End,"Removable: true\n"); - strcat(End,"\n"); + std::cout << "Removable: true\n"; - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); + std::cout << "\n" << std::flush; SetNonBlock(STDIN_FILENO,true); @@ -94,13 +88,11 @@ void pkgAcqMethod::Fail(string Err,bool Transient) if (*I == '\n') *I = ' '; } - - char S[1024]; - char *End = S; + if (Queue != 0) { - End += snprintf(S,sizeof(S)-50,"400 URI Failure\nURI: %s\n" - "Message: %s %s\n",Queue->Uri.c_str(), Err.c_str(), IP.c_str()); + std::cout << "400 URI Failure\nURI: " << Queue->Uri << "\n" + << "Message: " << Err << " " << IP << "\n"; // Dequeue FetchItem *Tmp = Queue; Queue = Queue->Next; @@ -109,22 +101,17 @@ void pkgAcqMethod::Fail(string Err,bool Transient) QueueBack = Queue; } else - { - End += snprintf(S,sizeof(S)-50,"400 URI Failure\nURI: <UNKNOWN>\n" - "Message: %s\n",Err.c_str()); - } + std::cout << "400 URI Failure\nURI: <UNKNOWN>\nMessage: " << Err << "\n"; + if(FailReason.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"FailReason: %s\n",FailReason.c_str()); + std::cout << "FailReason: " << FailReason << "\n"; if (UsedMirror.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"UsedMirror: %s\n",UsedMirror.c_str()); - // Set the transient flag + std::cout << "UsedMirror: " << UsedMirror << "\n"; + // Set the transient flag if (Transient == true) - strcat(S,"Transient-Failure: true\n\n"); - else - strcat(S,"\n"); - - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); + std::cout << "Transient-Failure: true\n"; + + std::cout << "\n" << std::flush; } /*}}}*/ // AcqMethod::URIStart - Indicate a download is starting /*{{{*/ @@ -134,27 +121,22 @@ void pkgAcqMethod::URIStart(FetchResult &Res) { if (Queue == 0) abort(); - - char S[1024] = ""; - char *End = S; - - End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str()); + + std::cout << "200 URI Start\n" + << "URI: " << Queue->Uri << "\n"; if (Res.Size != 0) - End += snprintf(End,sizeof(S)-4 - (End - S),"Size: %lu\n",Res.Size); - + std::cout << "Size: " << Res.Size << "\n"; + if (Res.LastModified != 0) - End += snprintf(End,sizeof(S)-4 - (End - S),"Last-Modified: %s\n", - TimeRFC1123(Res.LastModified).c_str()); - + std::cout << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n"; + if (Res.ResumePoint != 0) - End += snprintf(End,sizeof(S)-4 - (End - S),"Resume-Point: %lu\n", - Res.ResumePoint); + std::cout << "Resume-Point: " << Res.ResumePoint << "\n"; + if (UsedMirror.empty() == false) - End += snprintf(End,sizeof(S)-4 - (End - S),"UsedMirror: %s\n",UsedMirror.c_str()); - - strcat(End,"\n"); - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); + std::cout << "UsedMirror: " << UsedMirror << "\n"; + + std::cout << "\n" << std::flush; } /*}}}*/ // AcqMethod::URIDone - A URI is finished /*{{{*/ @@ -164,76 +146,65 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) { if (Queue == 0) abort(); - - char S[1024] = ""; - char *End = S; - - End += snprintf(S,sizeof(S),"201 URI Done\nURI: %s\n",Queue->Uri.c_str()); + + std::cout << "201 URI Done\n" + << "URI: " << Queue->Uri << "\n"; if (Res.Filename.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"Filename: %s\n",Res.Filename.c_str()); - + std::cout << "Filename: " << Res.Filename << "\n"; + if (Res.Size != 0) - End += snprintf(End,sizeof(S)-50 - (End - S),"Size: %lu\n",Res.Size); - + std::cout << "Size: " << Res.Size << "\n"; + if (Res.LastModified != 0) - End += snprintf(End,sizeof(S)-50 - (End - S),"Last-Modified: %s\n", - TimeRFC1123(Res.LastModified).c_str()); + std::cout << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n"; if (Res.MD5Sum.empty() == false) - { - End += snprintf(End,sizeof(S)-50 - (End - S),"MD5-Hash: %s\n",Res.MD5Sum.c_str()); - End += snprintf(End,sizeof(S)-50 - (End - S),"MD5Sum-Hash: %s\n",Res.MD5Sum.c_str()); - } + std::cout << "MD5-Hash: " << Res.MD5Sum << "\n" + << "MD5Sum-Hash: " << Res.MD5Sum << "\n"; if (Res.SHA1Sum.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"SHA1-Hash: %s\n",Res.SHA1Sum.c_str()); + std::cout << "SHA1-Hash: " << Res.SHA1Sum << "\n"; if (Res.SHA256Sum.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"SHA256-Hash: %s\n",Res.SHA256Sum.c_str()); + std::cout << "SHA256-Hash: " << Res.SHA256Sum << "\n"; if (UsedMirror.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"UsedMirror: %s\n",UsedMirror.c_str()); - if (Res.GPGVOutput.size() > 0) - End += snprintf(End,sizeof(S)-50 - (End - S),"GPGVOutput:\n"); - for (vector<string>::iterator I = Res.GPGVOutput.begin(); - I != Res.GPGVOutput.end(); I++) - End += snprintf(End,sizeof(S)-50 - (End - S), " %s\n", (*I).c_str()); + std::cout << "UsedMirror: " << UsedMirror << "\n"; + if (Res.GPGVOutput.empty() == false) + { + std::cout << "GPGVOutput:\n"; + for (vector<string>::const_iterator I = Res.GPGVOutput.begin(); + I != Res.GPGVOutput.end(); ++I) + std::cout << " " << *I << "\n"; + } if (Res.ResumePoint != 0) - End += snprintf(End,sizeof(S)-50 - (End - S),"Resume-Point: %lu\n", - Res.ResumePoint); + std::cout << "Resume-Point: " << Res.ResumePoint << "\n"; if (Res.IMSHit == true) - strcat(End,"IMS-Hit: true\n"); - End = S + strlen(S); - + std::cout << "IMS-Hit: true\n"; + if (Alt != 0) { if (Alt->Filename.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Filename: %s\n",Alt->Filename.c_str()); - + std::cout << "Alt-Filename: " << Alt->Filename << "\n"; + if (Alt->Size != 0) - End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Size: %lu\n",Alt->Size); - + std::cout << "Alt-Size: " << Alt->Size << "\n"; + if (Alt->LastModified != 0) - End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Last-Modified: %s\n", - TimeRFC1123(Alt->LastModified).c_str()); - + std::cout << "Alt-Last-Modified: " << TimeRFC1123(Alt->LastModified) << "\n"; + if (Alt->MD5Sum.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-MD5-Hash: %s\n", - Alt->MD5Sum.c_str()); + std::cout << "Alt-MD5-Hash: " << Alt->MD5Sum << "\n"; if (Alt->SHA1Sum.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-SHA1-Hash: %s\n", - Alt->SHA1Sum.c_str()); + std::cout << "Alt-SHA1-Hash: " << Alt->SHA1Sum << "\n"; if (Alt->SHA256Sum.empty() == false) - End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-SHA256-Hash: %s\n", - Alt->SHA256Sum.c_str()); - + std::cout << "Alt-SHA256-Hash: " << Alt->SHA256Sum << "\n"; + if (Alt->IMSHit == true) - strcat(End,"Alt-IMS-Hit: true\n"); + std::cout << "Alt-IMS-Hit: true\n"; } - - strcat(End,"\n"); - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); + + std::cout << "\n" << std::flush; // Dequeue FetchItem *Tmp = Queue; @@ -249,13 +220,10 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) to be ackd */ bool pkgAcqMethod::MediaFail(string Required,string Drive) { - char S[1024]; - snprintf(S,sizeof(S),"403 Media Failure\nMedia: %s\nDrive: %s\n\n", + fprintf(stdout, "403 Media Failure\nMedia: %s\nDrive: %s\n", Required.c_str(),Drive.c_str()); + std::cout << "\n" << std::flush; - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); - vector<string> MyMessages; /* Here we read messages until we find a 603, each non 603 message is @@ -406,30 +374,34 @@ int pkgAcqMethod::Run(bool Single) return 0; } /*}}}*/ -// AcqMethod::Log - Send a log message /*{{{*/ +// AcqMethod::PrintStatus - privately really send a log/status message /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgAcqMethod::Log(const char *Format,...) +void pkgAcqMethod::PrintStatus(char const * const header, const char* Format, + va_list &args) const { string CurrentURI = "<UNKNOWN>"; if (Queue != 0) CurrentURI = Queue->Uri; - + if (UsedMirror.empty() == true) + fprintf(stdout, "%s\nURI: %s\nMessage: ", + header, CurrentURI.c_str()); + else + fprintf(stdout, "%s\nURI: %s\nUsedMirror: %s\nMessage: ", + header, CurrentURI.c_str(), UsedMirror.c_str()); + vfprintf(stdout,Format,args); + std::cout << "\n\n" << std::flush; +} + /*}}}*/ +// AcqMethod::Log - Send a log message /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void pkgAcqMethod::Log(const char *Format,...) +{ va_list args; va_start(args,Format); - - // sprintf the description - char S[1024]; - unsigned int Len = snprintf(S,sizeof(S)-4,"101 Log\n" - "URI: %s\n" - "UsedMirror: %s\n" - "Message: ", UsedMirror.c_str(), - CurrentURI.c_str()); - vsnprintf(S+Len,sizeof(S)-4-Len,Format,args); - strcat(S,"\n\n"); - - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); + PrintStatus("101 Log", Format, args); + va_end(args); } /*}}}*/ // AcqMethod::Status - Send a status message /*{{{*/ @@ -437,26 +409,10 @@ void pkgAcqMethod::Log(const char *Format,...) /* */ void pkgAcqMethod::Status(const char *Format,...) { - string CurrentURI = "<UNKNOWN>"; - if (Queue != 0) - CurrentURI = Queue->Uri; - va_list args; va_start(args,Format); - - // sprintf the description - char S[1024]; - unsigned int Len = snprintf(S,sizeof(S)-4,"102 Status\n" - "URI: %s\n" - "UsedMirror: %s\n" - "Message: ",UsedMirror.c_str(), - CurrentURI.c_str()); - - vsnprintf(S+Len,sizeof(S)-4-Len,Format,args); - strcat(S,"\n\n"); - - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); + PrintStatus("102 Status", Format, args); + va_end(args); } /*}}}*/ // AcqMethod::Redirect - Send a redirect message /*{{{*/ @@ -465,16 +421,13 @@ void pkgAcqMethod::Status(const char *Format,...) to keep the pipeline synchronized. */ void pkgAcqMethod::Redirect(const string &NewURI) { - string CurrentURI = "<UNKNOWN>"; + std::cout << "103 Redirect\nURI: "; if (Queue != 0) - CurrentURI = Queue->Uri; - - char S[1024]; - snprintf(S, sizeof(S)-50, "103 Redirect\nURI: %s\nNew-URI: %s\n\n", - CurrentURI.c_str(), NewURI.c_str()); - - if (write(STDOUT_FILENO,S,strlen(S)) != (ssize_t)strlen(S)) - exit(100); + std::cout << Queue->Uri << "\n"; + else + std::cout << "<UNKNOWN>\n"; + std::cout << "New-URI: " << NewURI << "\n" + << "\n" << std::flush; // Change the URI for the request. Queue->Uri = NewURI; diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index 03851e823..72efa8065 100644 --- a/apt-pkg/acquire-method.h +++ b/apt-pkg/acquire-method.h @@ -23,6 +23,7 @@ #include <apt-pkg/configuration.h> #include <apt-pkg/strutl.h> +#include <stdarg.h> class Hashes; class pkgAcqMethod @@ -78,6 +79,8 @@ class pkgAcqMethod bool MediaFail(string Required,string Drive); virtual void Exit() {}; + void PrintStatus(char const * const header, const char* Format, va_list &args) const; + public: enum CnfFlags {SingleInstance = (1<<0), Pipeline = (1<<1), SendConfig = (1<<2), diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index ddd8e3101..75e03232a 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -287,10 +287,10 @@ bool pkgAcquire::Worker::RunMessages() Log->Pulse(Owner->GetOwner()); OwnerQ->ItemDone(Itm); - if (TotalSize != 0 && - (unsigned)atoi(LookupTag(Message,"Size","0").c_str()) != TotalSize) - _error->Warning("Bizarre Error - File size is not what the server reported %s %lu", - LookupTag(Message,"Size","0").c_str(),TotalSize); + unsigned long const ServerSize = atol(LookupTag(Message,"Size","0").c_str()); + if (TotalSize != 0 && ServerSize != TotalSize) + _error->Warning("Size of file %s is not what the server reported %s %lu", + Owner->DestFile.c_str(), LookupTag(Message,"Size","0").c_str(),TotalSize); // see if there is a hash to verify string RecivedHash; @@ -309,8 +309,7 @@ bool pkgAcquire::Worker::RunMessages() << endl << endl; } } - Owner->Done(Message,atoi(LookupTag(Message,"Size","0").c_str()), - RecivedHash.c_str(), Config); + Owner->Done(Message, ServerSize, RecivedHash.c_str(), Config); ItemDone(); // Log that we are done diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 0b4366e5e..2dae4258a 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -101,9 +101,7 @@ bool pkgSimulate::Install(PkgIterator iPkg,string /*File*/) DepIterator Start; DepIterator End; D.GlobOr(Start,End); - if (Start->Type == pkgCache::Dep::Conflicts || - Start->Type == pkgCache::Dep::DpkgBreaks || - Start->Type == pkgCache::Dep::Obsoletes || + if (Start.IsNegative() == true || End->Type == pkgCache::Dep::PreDepends) { if ((Sim[End] & pkgDepCache::DepGInstall) == 0) @@ -647,12 +645,10 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) // Compute a single dependency element (glob or) pkgCache::DepIterator Start = D; pkgCache::DepIterator End = D; - unsigned char State = 0; for (bool LastOR = true; D.end() == false && LastOR == true;) { - State |= Cache[D]; LastOR = (D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or; - D++; + ++D; if (LastOR == true) End = D; } @@ -697,9 +693,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) { /* 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) + if (Start.IsNegative() == true) break; if (Debug == true) @@ -928,9 +922,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if a package has a dep on another package that cant be found */ SPtrArray<pkgCache::Version *> 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 && + Start.IsNegative() == false && Cache[I].NowBroken() == false) { if (InOr == true) @@ -955,10 +947,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) at is not the currently selected version of the package, which means it is not necessary to remove/keep */ - if (Cache[Pkg].InstallVer != Ver && - (Start->Type == pkgCache::Dep::Conflicts || - Start->Type == pkgCache::Dep::DpkgBreaks || - Start->Type == pkgCache::Dep::Obsoletes)) + if (Cache[Pkg].InstallVer != Ver && Start.IsNegative() == true) { if (Debug) clog << " Conflicts//Breaks against version " @@ -976,9 +965,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) fiddle with the VList package */ 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)) + End.IsNegative() == false)) { // Try a little harder to fix protected packages.. if ((Flags[I->ID] & Protected) == Protected) @@ -1085,10 +1072,8 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) } // 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 && + if (VList[0] == 0 && + Start.IsNegative() == false && (Flags[I->ID] & Protected) != Protected) { bool Installed = Cache[I].Install(); @@ -1134,9 +1119,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) Change = true; if ((Cache[J->Dep] & pkgDepCache::DepGNow) == 0) { - if (J->Dep->Type == pkgCache::Dep::Conflicts || - J->Dep->Type == pkgCache::Dep::DpkgBreaks || - J->Dep->Type == pkgCache::Dep::Obsoletes) + if (J->Dep.IsNegative() == true) { if (Debug == true) clog << " Fixing " << I.FullName(false) << " via remove of " << J->Pkg.FullName(false) << endl; diff --git a/apt-pkg/aptconfiguration.cc b/apt-pkg/aptconfiguration.cc index ca602d4bf..e8c8e73d0 100644 --- a/apt-pkg/aptconfiguration.cc +++ b/apt-pkg/aptconfiguration.cc @@ -224,7 +224,7 @@ std::vector<std::string> const Configuration::getLanguages(bool const &All, environment.push_back("en"); } - // Support settings like Acquire::Translation=none on the command line to + // Support settings like Acquire::Languages=none on the command line to // override the configuration settings vector of languages. string const forceLang = _config->Find("Acquire::Languages",""); if (forceLang.empty() == false) { diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h index 8f9f811da..0c9813c6d 100644 --- a/apt-pkg/cacheiterators.h +++ b/apt-pkg/cacheiterators.h @@ -287,6 +287,7 @@ class pkgCache::DepIterator : public Iterator<Dependency, DepIterator> { inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->ParentVer].ParentPkg);}; inline bool Reverse() const {return Type == DepRev;}; bool IsCritical() const; + bool IsNegative() const; void GlobOr(DepIterator &Start,DepIterator &End); Version **AllTargets() const; bool SmartTargetPkg(PkgIterator &Result) const; diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h index e690d660c..eb4f04d72 100644 --- a/apt-pkg/cacheset.h +++ b/apt-pkg/cacheset.h @@ -135,7 +135,7 @@ public: /*{{{*/ static APT::PackageSet FromTask(pkgCacheFile &Cache, std::string pattern, CacheSetHelper &helper); static APT::PackageSet FromTask(pkgCacheFile &Cache, std::string const &pattern) { CacheSetHelper helper; - return APT::PackageSet::FromTask(Cache, pattern, helper); + return FromTask(Cache, pattern, helper); } /** \brief returns all packages in the cache whose name matchs a given pattern @@ -149,7 +149,7 @@ public: /*{{{*/ static APT::PackageSet FromRegEx(pkgCacheFile &Cache, std::string pattern, CacheSetHelper &helper); static APT::PackageSet FromRegEx(pkgCacheFile &Cache, std::string const &pattern) { CacheSetHelper helper; - return APT::PackageSet::FromRegEx(Cache, pattern, helper); + return FromRegEx(Cache, pattern, helper); } /** \brief returns all packages specified by a string @@ -160,7 +160,7 @@ public: /*{{{*/ static APT::PackageSet FromString(pkgCacheFile &Cache, std::string const &string, CacheSetHelper &helper); static APT::PackageSet FromString(pkgCacheFile &Cache, std::string const &string) { CacheSetHelper helper; - return APT::PackageSet::FromString(Cache, string, helper); + return FromString(Cache, string, helper); } /** \brief returns a package specified by a string @@ -171,7 +171,7 @@ public: /*{{{*/ static pkgCache::PkgIterator FromName(pkgCacheFile &Cache, std::string const &string, CacheSetHelper &helper); static pkgCache::PkgIterator FromName(pkgCacheFile &Cache, std::string const &string) { CacheSetHelper helper; - return APT::PackageSet::FromName(Cache, string, helper); + return FromName(Cache, string, helper); } /** \brief returns all packages specified on the commandline @@ -184,7 +184,7 @@ public: /*{{{*/ static APT::PackageSet FromCommandLine(pkgCacheFile &Cache, const char **cmdline, CacheSetHelper &helper); static APT::PackageSet FromCommandLine(pkgCacheFile &Cache, const char **cmdline) { CacheSetHelper helper; - return APT::PackageSet::FromCommandLine(Cache, cmdline, helper); + return FromCommandLine(Cache, cmdline, helper); } struct Modifier { @@ -215,7 +215,7 @@ public: /*{{{*/ std::list<PackageSet::Modifier> const &mods, unsigned short const &fallback) { CacheSetHelper helper; - return APT::PackageSet::GroupedFromCommandLine(Cache, cmdline, + return GroupedFromCommandLine(Cache, cmdline, mods, fallback, helper); } @@ -309,10 +309,10 @@ public: /*{{{*/ static APT::VersionSet FromCommandLine(pkgCacheFile &Cache, const char **cmdline, APT::VersionSet::Version const &fallback) { CacheSetHelper helper; - return APT::VersionSet::FromCommandLine(Cache, cmdline, fallback, helper); + return FromCommandLine(Cache, cmdline, fallback, helper); } static APT::VersionSet FromCommandLine(pkgCacheFile &Cache, const char **cmdline) { - return APT::VersionSet::FromCommandLine(Cache, cmdline, CANDINST); + return FromCommandLine(Cache, cmdline, CANDINST); } static APT::VersionSet FromString(pkgCacheFile &Cache, std::string pkg, @@ -321,10 +321,10 @@ public: /*{{{*/ static APT::VersionSet FromString(pkgCacheFile &Cache, std::string pkg, APT::VersionSet::Version const &fallback) { CacheSetHelper helper; - return APT::VersionSet::FromString(Cache, pkg, fallback, helper); + return FromString(Cache, pkg, fallback, helper); } static APT::VersionSet FromString(pkgCacheFile &Cache, std::string pkg) { - return APT::VersionSet::FromString(Cache, pkg, CANDINST); + return FromString(Cache, pkg, CANDINST); } /** \brief returns all versions specified for the package @@ -338,10 +338,10 @@ public: /*{{{*/ static APT::VersionSet FromPackage(pkgCacheFile &Cache, pkgCache::PkgIterator const &P, APT::VersionSet::Version const &fallback) { CacheSetHelper helper; - return APT::VersionSet::FromPackage(Cache, P, fallback, helper); + return FromPackage(Cache, P, fallback, helper); } static APT::VersionSet FromPackage(pkgCacheFile &Cache, pkgCache::PkgIterator const &P) { - return APT::VersionSet::FromPackage(Cache, P, CANDINST); + return FromPackage(Cache, P, CANDINST); } struct Modifier { @@ -364,7 +364,7 @@ public: /*{{{*/ std::list<VersionSet::Modifier> const &mods, unsigned short const &fallback) { CacheSetHelper helper; - return APT::VersionSet::GroupedFromCommandLine(Cache, cmdline, + return GroupedFromCommandLine(Cache, cmdline, mods, fallback, helper); } /*}}}*/ diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 36a1d7f12..2a914c665 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -155,7 +155,11 @@ bool pkgCdrom::FindPackages(string CD, break; if (chdir(CD.c_str()) != 0) - return _error->Errno("chdir","Unable to change to %s",CD.c_str()); + { + _error->Errno("chdir","Unable to change to %s", CD.c_str()); + closedir(D); + return false; + } }; closedir(D); @@ -257,8 +261,10 @@ bool pkgCdrom::DropRepeats(vector<string> &List,const char *Name) Inodes[I] = Buf.st_ino; } - if (_error->PendingError() == true) + if (_error->PendingError() == true) { + delete[] Inodes; return false; + } // Look for dups for (unsigned int I = 0; I != List.size(); I++) @@ -513,7 +519,8 @@ bool pkgCdrom::Ident(string &ident, pkgCdromStatus *log) /*{{{*/ if (CDROM[0] == '.') CDROM= SafeGetCWD() + '/' + CDROM; - if(log) { + if (log != NULL) + { msg.str(""); ioprintf(msg, _("Using CD-ROM mount point %s\nMounting CD-ROM\n"), CDROM.c_str()); @@ -523,7 +530,7 @@ bool pkgCdrom::Ident(string &ident, pkgCdromStatus *log) /*{{{*/ return _error->Error("Failed to mount the cdrom."); // Hash the CD to get an ID - if(log) + if (log != NULL) log->Update(_("Identifying.. ")); @@ -533,10 +540,12 @@ bool pkgCdrom::Ident(string &ident, pkgCdromStatus *log) /*{{{*/ return false; } - msg.str(""); - ioprintf(msg, "[%s]\n",ident.c_str()); - log->Update(msg.str()); - + if (log != NULL) + { + msg.str(""); + ioprintf(msg, "[%s]\n",ident.c_str()); + log->Update(msg.str()); + } // Read the database Configuration Database; @@ -547,7 +556,8 @@ bool pkgCdrom::Ident(string &ident, pkgCdromStatus *log) /*{{{*/ return _error->Error("Unable to read the cdrom database %s", DFile.c_str()); } - if(log) { + if (log != NULL) + { msg.str(""); ioprintf(msg, _("Stored label: %s\n"), Database.Find("CD::"+ident).c_str()); @@ -555,8 +565,10 @@ bool pkgCdrom::Ident(string &ident, pkgCdromStatus *log) /*{{{*/ } // Unmount and finish - if (_config->FindB("APT::CDROM::NoMount",false) == false) { - log->Update(_("Unmounting CD-ROM...\n"), STEP_LAST); + if (_config->FindB("APT::CDROM::NoMount",false) == false) + { + if (log != NULL) + log->Update(_("Unmounting CD-ROM...\n"), STEP_LAST); UnmountCdrom(CDROM); } @@ -572,7 +584,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ if (CDROM[0] == '.') CDROM= SafeGetCWD() + '/' + CDROM; - if(log) { + if(log != NULL) + { log->SetTotal(STEP_LAST); msg.str(""); ioprintf(msg, _("Using CD-ROM mount point %s\n"), CDROM.c_str()); @@ -592,11 +605,12 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ // Unmount the CD and get the user to put in the one they want if (_config->FindB("APT::CDROM::NoMount",false) == false) { - if(log) + if(log != NULL) log->Update(_("Unmounting CD-ROM\n"), STEP_UNMOUNT); UnmountCdrom(CDROM); - if(log) { + if(log != NULL) + { log->Update(_("Waiting for disc...\n"), STEP_WAIT); if(!log->ChangeCdrom()) { // user aborted @@ -605,26 +619,29 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ } // Mount the new CDROM - log->Update(_("Mounting CD-ROM...\n"), STEP_MOUNT); + if(log != NULL) + log->Update(_("Mounting CD-ROM...\n"), STEP_MOUNT); + if (MountCdrom(CDROM) == false) return _error->Error("Failed to mount the cdrom."); } // Hash the CD to get an ID - if(log) + if(log != NULL) log->Update(_("Identifying.. "), STEP_IDENT); string ID; if (IdentCdrom(CDROM,ID) == false) { - log->Update("\n"); + if (log != NULL) + log->Update("\n"); return false; } - if(log) + if(log != NULL) + { log->Update("["+ID+"]\n"); - - if(log) log->Update(_("Scanning disc for index files..\n"),STEP_SCAN); - + } + // Get the CD structure vector<string> List; vector<string> SourceList; @@ -634,7 +651,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ string InfoDir; if (FindPackages(CDROM,List,SourceList, SigList,TransList,InfoDir,log) == false) { - log->Update("\n"); + if (log != NULL) + log->Update("\n"); return false; } @@ -661,7 +679,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ DropRepeats(SourceList,"Sources"); DropRepeats(SigList,"Release.gpg"); DropRepeats(TransList,""); - if(log) { + if(log != NULL) { msg.str(""); ioprintf(msg, _("Found %zu package indexes, %zu source indexes, " "%zu translation indexes and %zu signatures\n"), @@ -698,7 +716,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ if (*J == '"' || *J == ']' || *J == '[') *J = '_'; - if(log) { + if(log != NULL) + { msg.str(""); ioprintf(msg, _("Found label '%s'\n"), Name.c_str()); log->Update(msg.str()); @@ -710,7 +729,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ if (_config->FindB("APT::CDROM::Rename",false) == true || Name.empty() == true) { - if(!log) + if(log == NULL) { if (_config->FindB("APT::CDROM::NoMount",false) == false) UnmountCdrom(CDROM); @@ -743,13 +762,13 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ *J = '_'; Database.Set("CD::" + ID,Name); - if(log) { + if(log != NULL) + { msg.str(""); ioprintf(msg, _("This disc is called: \n'%s'\n"), Name.c_str()); log->Update(msg.str()); + log->Update(_("Copying package lists..."), STEP_COPY); } - - log->Update(_("Copying package lists..."), STEP_COPY); // take care of the signatures and copy them if they are ok // (we do this before PackageCopy as it modifies "List" and "SourceList") SigVerify SignVerify; @@ -774,16 +793,15 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ if (WriteDatabase(Database) == false) return false; - if(log) { + if(log != NULL) log->Update(_("Writing new source list\n"), STEP_WRITE); - } if (WriteSourceList(Name,List,false) == false || WriteSourceList(Name,SourceList,true) == false) return false; } // Print the sourcelist entries - if(log) + if(log != NULL) log->Update(_("Source list entries for this disc are:\n")); for (vector<string>::iterator I = List.begin(); I != List.end(); I++) @@ -796,7 +814,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ return _error->Error("Internal error"); } - if(log) { + if(log != NULL) + { msg.str(""); msg << "deb cdrom:[" << Name << "]/" << string(*I,0,Space) << " " << string(*I,Space+1) << endl; @@ -814,7 +833,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ return _error->Error("Internal error"); } - if(log) { + if(log != NULL) { msg.str(""); msg << "deb-src cdrom:[" << Name << "]/" << string(*I,0,Space) << " " << string(*I,Space+1) << endl; @@ -824,7 +843,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ // Unmount and finish if (_config->FindB("APT::CDROM::NoMount",false) == false) { - log->Update(_("Unmounting CD-ROM...\n"), STEP_LAST); + if (log != NULL) + log->Update(_("Unmounting CD-ROM...\n"), STEP_LAST); UnmountCdrom(CDROM); } diff --git a/apt-pkg/contrib/cdromutl.cc b/apt-pkg/contrib/cdromutl.cc index 83c324f54..821e6d688 100644 --- a/apt-pkg/contrib/cdromutl.cc +++ b/apt-pkg/contrib/cdromutl.cc @@ -20,7 +20,6 @@ #include <apti18n.h> #include <sys/wait.h> -#include <sys/errno.h> #include <sys/statvfs.h> #include <dirent.h> #include <fcntl.h> @@ -206,8 +205,11 @@ bool IdentCdrom(string CD,string &Res,unsigned int Version) Hash.Add(Dir->d_name); }; - if (chdir(StartDir.c_str()) != 0) - return _error->Errno("chdir",_("Unable to change to %s"),StartDir.c_str()); + if (chdir(StartDir.c_str()) != 0) { + _error->Errno("chdir",_("Unable to change to %s"),StartDir.c_str()); + closedir(D); + return false; + } closedir(D); // Some stats from the fsys @@ -236,7 +238,7 @@ bool IdentCdrom(string CD,string &Res,unsigned int Version) } /*}}}*/ -// FindMountPointForDevice - Find mountpoint for the given device /*{{{*/ +// FindMountPointForDevice - Find mountpoint for the given device /*{{{*/ string FindMountPointForDevice(const char *devnode) { char buf[255]; @@ -254,7 +256,10 @@ string FindMountPointForDevice(const char *devnode) while ( fgets(buf, sizeof(buf), f) != NULL) { if (strncmp(buf, devnode, strlen(devnode)) == 0) { if(TokSplitString(' ', buf, out, 10)) + { + fclose(f); return string(out[1]); + } } } fclose(f); @@ -263,5 +268,4 @@ string FindMountPointForDevice(const char *devnode) return string(); } - - + /*}}}*/ diff --git a/apt-pkg/contrib/error.cc b/apt-pkg/contrib/error.cc index fe50e606b..18810d2a4 100644 --- a/apt-pkg/contrib/error.cc +++ b/apt-pkg/contrib/error.cc @@ -107,6 +107,7 @@ bool GlobalError::InsertErrno(MsgType type, const char* Function, msgSize = n + 1; else msgSize *= 2; + free(S); return true; } @@ -160,6 +161,7 @@ bool GlobalError::Insert(MsgType type, const char* Description, msgSize = n + 1; else msgSize *= 2; + free(S); return true; } diff --git a/apt-pkg/contrib/mmap.cc b/apt-pkg/contrib/mmap.cc index 9945b1606..19381ae47 100644 --- a/apt-pkg/contrib/mmap.cc +++ b/apt-pkg/contrib/mmap.cc @@ -237,11 +237,19 @@ DynamicMMap::DynamicMMap(unsigned long Flags,unsigned long const &WorkSpace, if ((this->Flags & Fallback) != Fallback) { // Set the permissions. int Prot = PROT_READ; +#ifdef MAP_ANONYMOUS int Map = MAP_PRIVATE | MAP_ANONYMOUS; +#else + int Map = MAP_PRIVATE | MAP_ANON; +#endif if ((this->Flags & ReadOnly) != ReadOnly) Prot |= PROT_WRITE; if ((this->Flags & Public) == Public) +#ifdef MAP_ANONYMOUS Map = MAP_SHARED | MAP_ANONYMOUS; +#else + Map = MAP_SHARED | MAP_ANON; +#endif // use anonymous mmap() to get the memory Base = (unsigned char*) mmap(0, WorkSpace, Prot, Map, -1, 0); diff --git a/apt-pkg/contrib/netrc.cc b/apt-pkg/contrib/netrc.cc index d8027fc24..34f472ee1 100644 --- a/apt-pkg/contrib/netrc.cc +++ b/apt-pkg/contrib/netrc.cc @@ -160,10 +160,10 @@ void maybe_add_auth (URI &Uri, string NetRCFile) { char login[64] = ""; char password[64] = ""; - char *netrcfile = strdupa (NetRCFile.c_str ()); + char *netrcfile = strdup(NetRCFile.c_str()); // first check for a generic host based netrc entry - char *host = strdupa (Uri.Host.c_str ()); + char *host = strdup(Uri.Host.c_str()); if (host && parsenetrc (host, login, password, netrcfile) == 0) { if (_config->FindB("Debug::Acquire::netrc", false) == true) @@ -173,13 +173,16 @@ void maybe_add_auth (URI &Uri, string NetRCFile) << std::endl; Uri.User = string (login); Uri.Password = string (password); + free(netrcfile); + free(host); return; } + free(host); // if host did not work, try Host+Path next, this will trigger // a lookup uri.startswith(host) in the netrc file parser (because // of the "/" - char *hostpath = strdupa (string(Uri.Host+Uri.Path).c_str ()); + char *hostpath = strdup(string(Uri.Host+Uri.Path).c_str()); if (hostpath && parsenetrc (hostpath, login, password, netrcfile) == 0) { if (_config->FindB("Debug::Acquire::netrc", false) == true) @@ -189,8 +192,9 @@ void maybe_add_auth (URI &Uri, string NetRCFile) << std::endl; Uri.User = string (login); Uri.Password = string (password); - return; } + free(netrcfile); + free(hostpath); } } } diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index ff6de2d9f..9ae1065a4 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -284,18 +284,18 @@ unsigned short debListParser::VersionHash() /* Strip out any spaces from the text, this undoes dpkgs reformatting of certain fields. dpkg also has the rather interesting notion of reformatting depends operators < -> <= */ - char *I = S; + char *J = S; for (; Start != End; Start++) { if (isspace(*Start) == 0) - *I++ = tolower_ascii(*Start); + *J++ = tolower_ascii(*Start); if (*Start == '<' && Start[1] != '<' && Start[1] != '=') - *I++ = '='; + *J++ = '='; if (*Start == '>' && Start[1] != '>' && Start[1] != '=') - *I++ = '='; + *J++ = '='; } - Result = AddCRC16(Result,S,I - S); + Result = AddCRC16(Result,S,J - S); } return Result; diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index a6edab6b9..a91cc34e9 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -195,11 +195,14 @@ vector <struct IndexTarget *>* debReleaseIndex::ComputeIndexTargets() const { } } + std::vector<std::string> const lang = APT::Configuration::getLanguages(true); + if (lang.empty() == true) + return IndexTargets; + // get the Translations: // - if its a dists-style repository get the i18n/Index first // - if its flat try to acquire files by guessing if (Dist[Dist.size() - 1] == '/') { - std::vector<std::string> const lang = APT::Configuration::getLanguages(true); for (std::set<std::string>::const_iterator s = sections.begin(); s != sections.end(); ++s) { for (std::vector<std::string>::const_iterator l = lang.begin(); diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index a3a7ae5b3..f8758ea0a 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -14,8 +14,8 @@ #include <apt-pkg/depcache.h> #include <apt-pkg/pkgrecords.h> #include <apt-pkg/strutl.h> -#include <apti18n.h> #include <apt-pkg/fileutl.h> +#include <apt-pkg/cachefile.h> #include <unistd.h> #include <stdlib.h> @@ -32,6 +32,8 @@ #include <algorithm> #include <sstream> #include <map> +#include <pwd.h> +#include <grp.h> #include <termios.h> #include <unistd.h> @@ -391,8 +393,9 @@ void pkgDPkgPM::DoTerminalPty(int master) { // this happens when the child is about to exit, we // give it time to actually exit, otherwise we run - // into a race - usleep(500000); + // into a race so we sleep for half a second. + struct timespec sleepfor = { 0, 500000000 }; + nanosleep(&sleepfor, NULL); return; } if(len <= 0) @@ -666,7 +669,13 @@ bool pkgDPkgPM::OpenLog() return _error->WarningE("OpenLog", _("Could not open file '%s'"), logfile_name.c_str()); setvbuf(term_out, NULL, _IONBF, 0); SetCloseExec(fileno(term_out), true); - chmod(logfile_name.c_str(), 0600); + struct passwd *pw; + struct group *gr; + pw = getpwnam("root"); + gr = getgrnam("adm"); + if (pw != NULL && gr != NULL) + chown(logfile_name.c_str(), pw->pw_uid, gr->gr_gid); + chmod(logfile_name.c_str(), 0644); fprintf(term_out, "\nLog started: %s\n", timestr); } @@ -680,31 +689,42 @@ bool pkgDPkgPM::OpenLog() return _error->WarningE("OpenLog", _("Could not open file '%s'"), history_name.c_str()); chmod(history_name.c_str(), 0644); fprintf(history_out, "\nStart-Date: %s\n", timestr); - string remove, purge, install, upgrade, downgrade; + string remove, purge, install, reinstall, upgrade, downgrade; for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) { - if (Cache[I].NewInstall()) - { - install += I.FullName(false) + string(" (") + Cache[I].CandVersion; - if (Cache[I].Flags & pkgCache::Flag::Auto) - install+= ", automatic"; - install += string("), "); - } - else if (Cache[I].Upgrade()) - upgrade += I.FullName(false) + string(" (") + Cache[I].CurVersion + string(", ") + Cache[I].CandVersion + string("), "); - else if (Cache[I].Downgrade()) - downgrade += I.FullName(false) + string(" (") + Cache[I].CurVersion + string(", ") + Cache[I].CandVersion + string("), "); - else if (Cache[I].Delete()) - { - if ((Cache[I].iFlags & pkgDepCache::Purge) == pkgDepCache::Purge) - purge += I.FullName(false) + string(" (") + Cache[I].CurVersion + string("), "); - else - remove += I.FullName(false) + string(" (") + Cache[I].CurVersion + string("), "); + enum { CANDIDATE, CANDIDATE_AUTO, CURRENT_CANDIDATE, CURRENT } infostring; + string *line = NULL; + #define HISTORYINFO(X, Y) { line = &X; infostring = Y; } + if (Cache[I].NewInstall() == true) + HISTORYINFO(install, CANDIDATE_AUTO) + else if (Cache[I].ReInstall() == true) + HISTORYINFO(reinstall, CANDIDATE) + else if (Cache[I].Upgrade() == true) + HISTORYINFO(upgrade, CURRENT_CANDIDATE) + else if (Cache[I].Downgrade() == true) + HISTORYINFO(downgrade, CURRENT_CANDIDATE) + else if (Cache[I].Delete() == true) + HISTORYINFO((Cache[I].Purge() ? purge : remove), CURRENT) + else + continue; + #undef HISTORYINFO + line->append(I.FullName(false)).append(" ("); + switch (infostring) { + case CANDIDATE: line->append(Cache[I].CandVersion); break; + case CANDIDATE_AUTO: + line->append(Cache[I].CandVersion); + if ((Cache[I].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) + line->append(", automatic"); + break; + case CURRENT_CANDIDATE: line->append(Cache[I].CurVersion).append(", ").append(Cache[I].CandVersion); break; + case CURRENT: line->append(Cache[I].CurVersion); break; } + line->append("), "); } if (_config->Exists("Commandline::AsString") == true) WriteHistoryTag("Commandline", _config->Find("Commandline::AsString")); WriteHistoryTag("Install", install); + WriteHistoryTag("Reinstall", reinstall); WriteHistoryTag("Upgrade", upgrade); WriteHistoryTag("Downgrade",downgrade); WriteHistoryTag("Remove",remove); @@ -1268,6 +1288,23 @@ bool pkgDPkgPM::Go(int OutStatusFd) if (RunScripts("DPkg::Post-Invoke") == false) return false; + if (_config->FindB("Debug::pkgDPkgPM",false) == false) + { + std::string const oldpkgcache = _config->FindFile("Dir::cache::pkgcache"); + if (oldpkgcache.empty() == false && RealFileExists(oldpkgcache) == true && + unlink(oldpkgcache.c_str()) == 0) + { + std::string const srcpkgcache = _config->FindFile("Dir::cache::srcpkgcache"); + if (srcpkgcache.empty() == false && RealFileExists(srcpkgcache) == true) + { + _error->PushToStack(); + pkgCacheFile CacheFile; + CacheFile.BuildCaches(NULL, true); + _error->RevertToStack(); + } + } + } + Cache.writeStateFile(NULL); return true; } diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 09a2cac2d..5487bc5c5 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -339,8 +339,7 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res) /* Check simple depends. A depends -should- never self match but 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::DpkgBreaks && Dep->Type != Dep::Obsoletes)) + if (Dep.TargetPkg() != Dep.ParentPkg() || Dep.IsNegative() == false) { PkgIterator Pkg = Dep.TargetPkg(); // Check the base package @@ -370,8 +369,7 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res) { /* Provides may never be applied against the same package (or group) if it is a conflicts. See the comment above. */ - if (P.OwnerPkg()->Group == Pkg->Group && - (Dep->Type == Dep::Conflicts || Dep->Type == Dep::DpkgBreaks)) + if (P.OwnerPkg()->Group == Pkg->Group && Dep.IsNegative() == true) continue; // Check if the provides is a hit @@ -549,7 +547,7 @@ void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add) // Not installed if (Pkg->CurrentVer == 0) { - if (State.Mode == ModeDelete && + if (State.Mode == ModeDelete && (State.iFlags & Purge) == Purge && Pkg.Purge() == false) iDelCount += Add; @@ -594,9 +592,7 @@ void pkgDepCache::BuildGroupOrs(VerIterator const &V) /* 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::DpkgBreaks || - D->Type == Dep::Obsoletes) + if (D.IsNegative() == true) State = ~State; // Add to the group if we are within an or.. @@ -607,9 +603,7 @@ void pkgDepCache::BuildGroupOrs(VerIterator const &V) Group = 0; // Invert for Conflicts - if (D->Type == Dep::Conflicts || - D->Type == Dep::DpkgBreaks || - D->Type == Dep::Obsoletes) + if (D.IsNegative() == true) State = ~State; } } @@ -742,9 +736,7 @@ void pkgDepCache::Update(OpProgress *Prog) Group = 0; // Invert for Conflicts - if (D->Type == Dep::Conflicts || - D->Type == Dep::DpkgBreaks || - D->Type == Dep::Obsoletes) + if (D.IsNegative() == true) State = ~State; } } @@ -774,9 +766,7 @@ void pkgDepCache::Update(DepIterator D) State = DependencyState(D); // Invert for Conflicts - if (D->Type == Dep::Conflicts || - D->Type == Dep::DpkgBreaks || - D->Type == Dep::Obsoletes) + if (D.IsNegative() == true) State = ~State; RemoveStates(D.ParentPkg()); @@ -1089,7 +1079,22 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, */ if (IsImportantDep(Start) == false) continue; - + + /* If we are in an or group locate the first or that can + succeed. We have already cached this.. */ + for (; Ors > 1 && (DepState[Start->ID] & DepCVer) != DepCVer; --Ors) + ++Start; + if (Ors == 1 && (DepState[Start->ID] &DepCVer) != DepCVer && Start.IsNegative() == false) + { + if(DebugAutoInstall == true) + std::clog << OutputInDepth(Depth) << Start << " can't be satisfied!" << std::endl; + if (Start.IsCritical() == false) + continue; + // if the dependency was critical, we can't install it, so remove it again + MarkDelete(Pkg,false,Depth + 1, false); + return; + } + /* Check if any ImportantDep() (but not Critical) were added * since we installed the package. Also check for deps that * were satisfied in the past: for instance, if a version @@ -1097,57 +1102,49 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, * package should follow that Recommends rather than causing the * dependency to be removed. (bug #470115) */ - bool isNewImportantDep = false; - bool isPreviouslySatisfiedImportantDep = false; - if(!ForceImportantDeps && !Start.IsCritical()) + if (Pkg->CurrentVer != 0 && ForceImportantDeps == false && Start.IsCritical() == false) { - bool found=false; - VerIterator instVer = Pkg.CurrentVer(); - if(!instVer.end()) + bool isNewImportantDep = true; + bool isPreviouslySatisfiedImportantDep = false; + for (DepIterator D = Pkg.CurrentVer().DependsList(); D.end() != true; ++D) + { + //FIXME: Should we handle or-group better here? + // We do not check if the package we look for is part of the same or-group + // we might find while searching, but could that really be a problem? + if (D.IsCritical() == true || IsImportantDep(D) == false || + Start.TargetPkg() != D.TargetPkg()) + continue; + + isNewImportantDep = false; + + while ((D->CompareOp & Dep::Or) != 0) + ++D; + + isPreviouslySatisfiedImportantDep = (((*this)[D] & DepGNow) != 0); + if (isPreviouslySatisfiedImportantDep == true) + break; + } + + if(isNewImportantDep == true) + { + if (DebugAutoInstall == true) + std::clog << OutputInDepth(Depth) << "new important dependency: " + << Start.TargetPkg().FullName() << std::endl; + } + else if(isPreviouslySatisfiedImportantDep == true) + { + if (DebugAutoInstall == true) + std::clog << OutputInDepth(Depth) << "previously satisfied important dependency on " + << Start.TargetPkg().FullName() << std::endl; + } + else { - for (DepIterator D = instVer.DependsList(); D.end() != true; D++) - { - //FIXME: deal better with or-groups(?) - if(IsImportantDep(D) && !D.IsCritical() && - Start.TargetPkg() == D.TargetPkg()) - { - if(!isPreviouslySatisfiedImportantDep) - { - DepIterator D2 = D; - while((D2->CompareOp & Dep::Or) != 0) - ++D2; - - isPreviouslySatisfiedImportantDep = - (((*this)[D2] & DepGNow) != 0); - } - - 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 (DebugAutoInstall == true) + std::clog << OutputInDepth(Depth) << "ignore old unsatisfied important dependency on " + << Start.TargetPkg().FullName() << std::endl; + continue; } } - if(isNewImportantDep) - if(DebugAutoInstall == true) - std::clog << OutputInDepth(Depth) << "new important dependency: " - << Start.TargetPkg().Name() << std::endl; - if(isPreviouslySatisfiedImportantDep) - if(DebugAutoInstall == true) - std::clog << OutputInDepth(Depth) << "previously satisfied important dependency on " - << Start.TargetPkg().Name() << std::endl; - - // skip important deps if the package is already installed - if (Pkg->CurrentVer != 0 && Start.IsCritical() == false - && !isNewImportantDep && !isPreviouslySatisfiedImportantDep - && !ForceImportantDeps) - continue; - - /* If we are in an or group locate the first or that can - succeed. We have already cached this.. */ - for (; Ors > 1 && (DepState[Start->ID] & DepCVer) != DepCVer; Ors--) - Start++; /* This bit is for processing the possibilty of an install/upgrade fixing the problem */ @@ -1213,8 +1210,7 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, /* For conflicts we just de-install the package and mark as auto, 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) + if (Start.IsNegative() == true) { for (Version **I = List; *I != 0; I++) { diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h index 750da3d6f..9efe110f5 100644 --- a/apt-pkg/depcache.h +++ b/apt-pkg/depcache.h @@ -231,6 +231,7 @@ class pkgDepCache : protected pkgCache::Namespace // Various test members for the current status of the package inline bool NewInstall() const {return Status == 2 && Mode == ModeInstall;}; inline bool Delete() const {return Mode == ModeDelete;}; + inline bool Purge() const {return Delete() == true && (iFlags & pkgDepCache::Purge) == pkgDepCache::Purge; }; inline bool Keep() const {return Mode == ModeKeep;}; inline bool Upgrade() const {return Status > 0 && Mode == ModeInstall;}; inline bool Upgradable() const {return Status >= 1;}; @@ -241,6 +242,7 @@ class pkgDepCache : protected pkgCache::Namespace inline bool InstBroken() const {return (DepState & DepInstMin) != DepInstMin;}; inline bool InstPolicyBroken() const {return (DepState & DepInstPolicy) != DepInstPolicy;}; inline bool Install() const {return Mode == ModeInstall;}; + inline bool ReInstall() const {return Delete() == false && (iFlags & pkgDepCache::ReInstall) == pkgDepCache::ReInstall;}; inline VerIterator InstVerIter(pkgCache &Cache) {return VerIterator(Cache,InstallVer);}; inline VerIterator CandidateVerIter(pkgCache &Cache) diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc index 0354e6e4d..c9f954d2d 100644 --- a/apt-pkg/init.cc +++ b/apt-pkg/init.cc @@ -88,9 +88,6 @@ bool pkgInitConfig(Configuration &Cnf) Cnf.Set("Dir::Ignore-Files-Silently::", "\\.distUpgrade$"); Cnf.Set("Dir::Ignore-Files-Silently::", "\\.save$"); - // Translation - Cnf.Set("APT::Acquire::Translation", "environment"); - // Default cdrom mount point Cnf.Set("Acquire::cdrom::mount", "/media/cdrom/"); diff --git a/apt-pkg/orderlist.cc b/apt-pkg/orderlist.cc index d5bd19581..19661fc2d 100644 --- a/apt-pkg/orderlist.cc +++ b/apt-pkg/orderlist.cc @@ -490,7 +490,7 @@ bool pkgOrderList::VisitRProvides(DepFunc F,VerIterator Ver) bool Res = true; for (PrvIterator P = Ver.ProvidesList(); P.end() == false; P++) Res &= (this->*F)(P.ParentPkg().RevDependsList()); - return true; + return Res; } /*}}}*/ // OrderList::VisitProvides - Visit all of the providing packages /*{{{*/ @@ -507,15 +507,11 @@ bool pkgOrderList::VisitProvides(DepIterator D,bool Critical) if (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing) continue; - if (D->Type != pkgCache::Dep::Conflicts && - D->Type != pkgCache::Dep::DpkgBreaks && - D->Type != pkgCache::Dep::Obsoletes && + if (D.IsNegative() == false && Cache[Pkg].InstallVer != *I) continue; - if ((D->Type == pkgCache::Dep::Conflicts || - D->Type == pkgCache::Dep::DpkgBreaks || - D->Type == pkgCache::Dep::Obsoletes) && + if (D.IsNegative() == true && (Version *)Pkg.CurrentVer() != *I) continue; @@ -647,9 +643,7 @@ bool pkgOrderList::DepUnPackCrit(DepIterator D) { /* Forward critical dependencies MUST be correct before the package can be unpacked. */ - if (D->Type != pkgCache::Dep::Conflicts && - D->Type != pkgCache::Dep::DpkgBreaks && - D->Type != pkgCache::Dep::Obsoletes && + if (D.IsNegative() == false && D->Type != pkgCache::Dep::PreDepends) continue; @@ -1077,10 +1071,14 @@ bool pkgOrderList::CheckDep(DepIterator D) /* Conflicts requires that all versions are not present, depends just needs one */ - if (D->Type != pkgCache::Dep::Conflicts && - D->Type != pkgCache::Dep::DpkgBreaks && - D->Type != pkgCache::Dep::Obsoletes) + if (D.IsNegative() == false) { + // ignore provides by older versions of this package + if (((D.Reverse() == false && Pkg == D.ParentPkg()) || + (D.Reverse() == true && Pkg == D.TargetPkg())) && + Cache[Pkg].InstallVer != *I) + continue; + /* Try to find something that does not have the after flag set if at all possible */ if (IsFlag(Pkg,After) == true) diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index 4c655cb7b..fe9f6eb68 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -319,6 +319,17 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg) List->Flag(Pkg,pkgOrderList::Configured,pkgOrderList::States); } + if (Cache[Pkg].InstVerIter(Cache)->MultiArch == pkgCache::Version::Same) + for (PkgIterator P = Pkg.Group().PackageList(); + P.end() == false; P = Pkg.Group().NextPkg(P)) + { + if (Pkg == P || List->IsFlag(P,pkgOrderList::Configured) == true || + Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer && + (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall)) + continue; + SmartConfigure(P); + } + // Sanity Check if (List->IsFlag(Pkg,pkgOrderList::Configured) == false) return _error->Error(_("Could not perform immediate configuration on '%s'. " @@ -475,21 +486,28 @@ bool pkgPackageManager::SmartRemove(PkgIterator Pkg) /* This performs the task of handling pre-depends. */ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg) { + return SmartUnPack(Pkg, true); +} +bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate) +{ // Check if it is already unpacked if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure && Cache[Pkg].Keep() == true) { List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States); - if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true) + if (Immediate == true && + List->IsFlag(Pkg,pkgOrderList::Immediate) == true) if (SmartConfigure(Pkg) == false) return _error->Error(_("Could not perform immediate configuration on already unpacked '%s'. " "Please see man 5 apt.conf under APT::Immediate-Configure for details."),Pkg.Name()); return true; } + VerIterator const instVer = Cache[Pkg].InstVerIter(Cache); + /* See if this packages install version has any predependencies that are not met by 'now' packages. */ - for (DepIterator D = Cache[Pkg].InstVerIter(Cache).DependsList(); + for (DepIterator D = instVer.DependsList(); D.end() == false; ) { // Compute a single dependency element (glob or) @@ -575,20 +593,32 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg) // Check for reverse conflicts. if (CheckRConflicts(Pkg,Pkg.RevDependsList(), - Cache[Pkg].InstVerIter(Cache).VerStr()) == false) + instVer.VerStr()) == false) return false; - for (PrvIterator P = Cache[Pkg].InstVerIter(Cache).ProvidesList(); + for (PrvIterator P = instVer.ProvidesList(); P.end() == false; P++) CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion()); + List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States); + + if (instVer->MultiArch == pkgCache::Version::Same) + for (PkgIterator P = Pkg.Group().PackageList(); + P.end() == false; P = Pkg.Group().NextPkg(P)) + { + if (Pkg == P || List->IsFlag(P,pkgOrderList::UnPacked) == true || + Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer && + (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall)) + continue; + SmartUnPack(P, false); + } + if(Install(Pkg,FileNames[Pkg->ID]) == false) return false; - List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States); - // Perform immedate configuration of the package. - if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true) + if (Immediate == true && + List->IsFlag(Pkg,pkgOrderList::Immediate) == true) if (SmartConfigure(Pkg) == false) return _error->Error(_("Could not perform immediate configuration on '%s'. " "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.Name(),2); diff --git a/apt-pkg/packagemanager.h b/apt-pkg/packagemanager.h index efd2cfac6..053b4dc13 100644 --- a/apt-pkg/packagemanager.h +++ b/apt-pkg/packagemanager.h @@ -69,7 +69,9 @@ class pkgPackageManager : protected pkgCache::Namespace // Install helpers bool ConfigureAll(); bool SmartConfigure(PkgIterator Pkg); + //FIXME: merge on abi break bool SmartUnPack(PkgIterator Pkg); + bool SmartUnPack(PkgIterator Pkg, bool const Immediate); bool SmartRemove(PkgIterator Pkg); bool EarlyRemove(PkgIterator Pkg); diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index b63900adb..38e4e904e 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -211,11 +211,14 @@ pkgCache::PkgIterator pkgCache::SingleArchFindPkg(const string &Name) // --------------------------------------------------------------------- /* Returns 0 on error, pointer to the package otherwise */ pkgCache::PkgIterator pkgCache::FindPkg(const string &Name) { - if (MultiArchCache() == false) - return SingleArchFindPkg(Name); size_t const found = Name.find(':'); if (found == string::npos) - return FindPkg(Name, "native"); + { + if (MultiArchCache() == false) + return SingleArchFindPkg(Name); + else + return FindPkg(Name, "native"); + } string const Arch = Name.substr(found+1); /* Beware: This is specialcased to handle pkg:any in dependencies as these are linked to virtual pkg:any named packages with all archs. @@ -518,15 +521,24 @@ std::string pkgCache::PkgIterator::FullName(bool const &Pretty) const conflicts (including dpkg's Breaks fields). */ bool pkgCache::DepIterator::IsCritical() const { - if (S->Type == pkgCache::Dep::Conflicts || - S->Type == pkgCache::Dep::DpkgBreaks || - S->Type == pkgCache::Dep::Obsoletes || + if (IsNegative() == true || S->Type == pkgCache::Dep::Depends || S->Type == pkgCache::Dep::PreDepends) return true; return false; } /*}}}*/ +// DepIterator::IsNegative - Returns true if the dep is a negative one /*{{{*/ +// --------------------------------------------------------------------- +/* Some dependencies are positive like Depends and Recommends, others + are negative like Conflicts which can and should be handled differently */ +bool pkgCache::DepIterator::IsNegative() const +{ + return S->Type == Dep::DpkgBreaks || + S->Type == Dep::Conflicts || + S->Type == Dep::Obsoletes; +} + /*}}}*/ // DepIterator::SmartTargetPkg - Resolve dep target pointers w/provides /*{{{*/ // --------------------------------------------------------------------- /* This intellegently looks at dep target packages and tries to figure @@ -604,9 +616,7 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const if (Owner->VS->CheckDep(I.VerStr(),S->CompareOp,TargetVer()) == false) continue; - if ((S->Type == pkgCache::Dep::Conflicts || - S->Type == pkgCache::Dep::DpkgBreaks || - S->Type == pkgCache::Dep::Obsoletes) && + if (IsNegative() == true && ParentPkg() == I.ParentPkg()) continue; @@ -621,9 +631,7 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const if (Owner->VS->CheckDep(I.ProvideVersion(),S->CompareOp,TargetVer()) == false) continue; - if ((S->Type == pkgCache::Dep::Conflicts || - S->Type == pkgCache::Dep::DpkgBreaks || - S->Type == pkgCache::Dep::Obsoletes) && + if (IsNegative() == true && ParentPkg() == I.OwnerPkg()) continue; diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index 3d6ec1cdc..2cc2e5e39 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -220,21 +220,18 @@ void pkgPolicy::CreatePin(pkgVersionMatch::MatchType Type,string Name, // Allow pinning by wildcards // TODO: Maybe we should always prefer specific pins over non- // specific ones. - if (Name.find("*") != string::npos || Name.find("[") != string::npos - || Name.find("?") != string::npos || Name[0] == '/') { - pkgVersionMatch match(Data, Type); - for (pkgCache::PkgIterator P = Cache->PkgBegin(); - P != Cache->PkgEnd(); P++) { - if (match.ExpressionMatches(Name, P.Name())) { - CreatePin(Type, P.Name(), Data, Priority); - } - } + if (Name[0] == '/' || Name.find_first_of("*[?") != string::npos) + { + pkgVersionMatch match(Data, Type); + for (pkgCache::GrpIterator G = Cache->GrpBegin(); G.end() != true; ++G) + if (match.ExpressionMatches(Name, G.Name())) + CreatePin(Type, G.Name(), Data, Priority); return; } // Get a spot to put the pin pkgCache::GrpIterator Grp = Cache->FindGrp(Name); - for (pkgCache::PkgIterator Pkg = Grp.FindPkg("any"); + for (pkgCache::PkgIterator Pkg = Grp.PackageList(); Pkg.end() != true; Pkg = Grp.NextPkg(Pkg)) { Pin *P = 0; diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index 01e0d22e0..232bb93ec 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -121,9 +121,7 @@ bool ShowUnMet(pkgCache::VerIterator const &V, bool const &Important) continue; // Skip conflicts and replaces - if (End->Type == pkgCache::Dep::DpkgBreaks || - End->Type == pkgCache::Dep::Replaces || - End->Type == pkgCache::Dep::Conflicts) + if (End.IsNegative() == true) continue; // Verify the or group @@ -848,10 +846,7 @@ bool XVcg(CommandLine &CmdL) { /* If a conflicts does not meet anything in the database then show the relation but do not recurse */ - if (Hit == false && - (D->Type == pkgCache::Dep::Conflicts || - D->Type == pkgCache::Dep::DpkgBreaks || - D->Type == pkgCache::Dep::Obsoletes)) + if (Hit == false && D.IsNegative() == true) { if (Show[D.TargetPkg()->ID] == None && Show[D.TargetPkg()->ID] != ToShow) @@ -1060,9 +1055,7 @@ bool Dotty(CommandLine &CmdL) { /* If a conflicts does not meet anything in the database then show the relation but do not recurse */ - if (Hit == false && - (D->Type == pkgCache::Dep::Conflicts || - D->Type == pkgCache::Dep::Obsoletes)) + if (Hit == false && D.IsNegative() == true) { if (Show[D.TargetPkg()->ID] == None && Show[D.TargetPkg()->ID] != ToShow) @@ -1082,6 +1075,7 @@ bool Dotty(CommandLine &CmdL) { case pkgCache::Dep::Conflicts: case pkgCache::Dep::Obsoletes: + case pkgCache::Dep::DpkgBreaks: printf("[color=springgreen];\n"); break; @@ -1115,6 +1109,9 @@ bool Dotty(CommandLine &CmdL) } printf("}\n"); + delete[] Show; + delete[] Flags; + delete[] ShapeMap; return true; } /*}}}*/ @@ -1331,9 +1328,8 @@ bool Search(CommandLine &CmdL) return _error->Error("Write to stdout failed"); return true; } - - -/* show automatically installed packages (sorted) */ + /*}}}*/ +/* ShowAuto - show automatically installed packages (sorted) {{{*/ bool ShowAuto(CommandLine &CmdL) { pkgCacheFile CacheFile; @@ -1354,6 +1350,7 @@ bool ShowAuto(CommandLine &CmdL) for (vector<string>::iterator I = packages.begin(); I != packages.end(); I++) cout << *I << "\n"; + _error->Notice(_("This command is deprecated. Please use 'apt-mark showauto' instead.")); return true; } /*}}}*/ @@ -1699,7 +1696,6 @@ bool ShowHelp(CommandLine &Cmd) " unmet - Show unmet dependencies\n" " search - Search the package list for a regex pattern\n" " show - Show a readable record for the package\n" - " showauto - Display a list of automatically installed packages\n" " depends - Show raw dependency information for a package\n" " rdepends - Show reverse dependency information for a package\n" " pkgnames - List the names of all packages in the system\n" diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc index 9919a9c94..589ee7ada 100644 --- a/cmdline/apt-config.cc +++ b/cmdline/apt-config.cc @@ -20,6 +20,8 @@ #include <apt-pkg/error.h> #include <apt-pkg/init.h> #include <apt-pkg/strutl.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/aptconfiguration.h> #include <config.h> #include <apti18n.h> @@ -27,6 +29,7 @@ #include <locale.h> #include <iostream> #include <string> +#include <vector> /*}}}*/ using namespace std; @@ -119,6 +122,16 @@ int main(int argc,const char *argv[]) /*{{{*/ CmdL.FileSize() == 0) return ShowHelp(); + std::vector<std::string> const langs = APT::Configuration::getLanguages(true); + _config->Clear("Acquire::Languages"); + for (std::vector<std::string>::const_iterator l = langs.begin(); l != langs.end(); ++l) + _config->Set("Acquire::Languages::", *l); + + std::vector<std::string> const archs = APT::Configuration::getArchitectures(); + _config->Clear("APT::Architectures"); + for (std::vector<std::string>::const_iterator a = archs.begin(); a != archs.end(); ++a) + _config->Set("APT::Architectures::", *a); + // Match the operation CmdL.DispatchArg(Cmds); diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 3821b5d4c..cb2ec0a2b 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -2050,8 +2050,8 @@ bool DoInstall(CommandLine &CmdL) return InstallPackages(Cache,false); } - -/* mark packages as automatically/manually installed. */ + /*}}}*/ +/* mark packages as automatically/manually installed. {{{*/ bool DoMarkAuto(CommandLine &CmdL) { bool Action = true; @@ -2086,6 +2086,9 @@ bool DoMarkAuto(CommandLine &CmdL) AutoMarkChanged++; } } + + _error->Notice(_("This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' instead.")); + if (AutoMarkChanged && ! _config->FindB("APT::Get::Simulate",false)) return Cache->writeStateFile(NULL); return false; @@ -2386,8 +2389,10 @@ bool DoSource(CommandLine &CmdL) string Src; pkgSrcRecords::Parser *Last = FindSrc(*I,Recs,SrcRecs,Src,*Cache); - if (Last == 0) + if (Last == 0) { + delete[] Dsc; return _error->Error(_("Unable to find a source package for %s"),Src.c_str()); + } string srec = Last->AsStr(); string::size_type pos = srec.find("\nVcs-"); @@ -2418,8 +2423,10 @@ bool DoSource(CommandLine &CmdL) // Back track vector<pkgSrcRecords::File> Lst; - if (Last->Files(Lst) == false) + if (Last->Files(Lst) == false) { + delete[] Dsc; return false; + } // Load them into the fetcher for (vector<pkgSrcRecords::File>::const_iterator I = Lst.begin(); @@ -2480,6 +2487,7 @@ bool DoSource(CommandLine &CmdL) struct statvfs Buf; string OutputDir = "."; if (statvfs(OutputDir.c_str(),&Buf) != 0) { + delete[] Dsc; if (errno == EOVERFLOW) return _error->WarningE("statvfs",_("Couldn't determine free space in %s"), OutputDir.c_str()); @@ -2493,10 +2501,12 @@ bool DoSource(CommandLine &CmdL) #if HAVE_STRUCT_STATFS_F_TYPE || unsigned(Stat.f_type) != RAMFS_MAGIC #endif - ) + ) { + delete[] Dsc; return _error->Error(_("You don't have enough free space in %s"), OutputDir.c_str()); - } + } + } // Number of bytes if (DebBytes != FetchBytes) @@ -2531,7 +2541,10 @@ bool DoSource(CommandLine &CmdL) // Run it if (Fetcher.Run() == pkgAcquire::Failed) + { + delete[] Dsc; return false; + } // Print error messages bool Failed = false; @@ -2546,8 +2559,11 @@ bool DoSource(CommandLine &CmdL) Failed = true; } if (Failed == true) + { + delete[] Dsc; return _error->Error(_("Failed to fetch some archives.")); - + } + if (_config->FindB("APT::Get::Download-only",false) == true) { c1out << _("Download complete and in download only mode") << endl; @@ -3174,8 +3190,6 @@ bool ShowHelp(CommandLine &CmdL) " clean - Erase downloaded archive files\n" " autoclean - Erase old downloaded archive files\n" " check - Verify that there are no broken dependencies\n" - " markauto - Mark the given packages as automatically installed\n" - " unmarkauto - Mark the given packages as manually installed\n" " changelog - Download and display the changelog for the given package\n" " download - Download the binary package into the current directory\n" "\n" diff --git a/cmdline/apt-mark b/cmdline/apt-mark deleted file mode 100755 index c64d4356c..000000000 --- a/cmdline/apt-mark +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/python - -from optparse import OptionParser - -import sys -import os.path - -try: - import apt_pkg -except ImportError: - print >> sys.stderr, "Error importing apt_pkg, is python-apt installed?" - sys.exit(1) - -actions = { "markauto" : 1, - "unmarkauto": 0 - } - -def show_automatic(filename): - if not os.path.exists(STATE_FILE): - return - auto = set() - tagfile = apt_pkg.TagFile(open(STATE_FILE)) - for section in tagfile: - pkgname = section.get("Package") - autoInst = section.get("Auto-Installed") - if int(autoInst): - auto.add(pkgname) - print "\n".join(sorted(auto)) - - -def mark_unmark_automatic(filename, action, pkgs): - " mark or unmark automatic flag" - # open the statefile - if os.path.exists(STATE_FILE): - try: - tagfile = apt_pkg.TagFile(open(STATE_FILE)) - outfile = open(STATE_FILE+".tmp","w") - except IOError, msg: - print "%s, are you root?" % (msg) - sys.exit(1) - for section in tagfile: - pkgname = section.get("Package") - autoInst = section.get("Auto-Installed") - if pkgname in pkgs: - if options.verbose: - print "changing %s to %s" % (pkgname,action) - newsec = apt_pkg.rewrite_section(section, - [], - [ ("Auto-Installed",str(action)) ]) - pkgs.remove(pkgname) - outfile.write(newsec+"\n") - else: - outfile.write(str(section)+"\n") - if action == 1: - for pkgname in pkgs: - if options.verbose: - print "changing %s to %s" % (pkgname,action) - outfile.write("Package: %s\nAuto-Installed: %d\n\n" % (pkgname, action)) - # all done, rename the tmpfile - os.chmod(outfile.name, 0644) - os.rename(outfile.name, STATE_FILE) - os.chmod(STATE_FILE, 0644) - - -if __name__ == "__main__": - apt_pkg.init() - - # option parsing - parser = OptionParser() - parser.usage = "%prog [options] {markauto|unmarkauto} packages..." - parser.epilog = "apt-mark is deprecated, use apt-get markauto/unmarkauto." - parser.add_option("-f", "--file", action="store", type="string", - dest="filename", - help="read/write a different file") - parser.add_option("-v", "--verbose", - action="store_true", dest="verbose", default=False, - help="print verbose status messages to stdout") - (options, args) = parser.parse_args() - - if not args: - parser.print_help() - sys.exit(1) - - # get the state-file - if not options.filename: - STATE_FILE = apt_pkg.config.find_dir("Dir::State") + "extended_states" - else: - STATE_FILE=options.filename - - if len(args) == 0: - parser.error("first argument must be 'markauto', 'unmarkauto' or 'showauto'") - - if args[0] == "showauto": - show_automatic(STATE_FILE) - else: - # get pkgs to change - if args[0] not in actions.keys(): - parser.error("first argument must be 'markauto', 'unmarkauto' or 'showauto'") - pkgs = args[1:] - action = actions[args[0]] - mark_unmark_automatic(STATE_FILE, action, pkgs) diff --git a/cmdline/apt-mark.cc b/cmdline/apt-mark.cc new file mode 100644 index 000000000..b2c664979 --- /dev/null +++ b/cmdline/apt-mark.cc @@ -0,0 +1,373 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ##################################################################### + apt-mark - show and change auto-installed bit information + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <apt-pkg/cachefile.h> +#include <apt-pkg/cacheset.h> +#include <apt-pkg/cmndline.h> +#include <apt-pkg/error.h> +#include <apt-pkg/init.h> +#include <apt-pkg/strutl.h> + +#include <config.h> +#include <apti18n.h> + +#include <algorithm> + /*}}}*/ +using namespace std; + +ostream c0out(0); +ostream c1out(0); +ostream c2out(0); +ofstream devnull("/dev/null"); +/* DoAuto - mark packages as automatically/manually installed {{{*/ +bool DoAuto(CommandLine &CmdL) +{ + pkgCacheFile CacheFile; + pkgCache *Cache = CacheFile.GetPkgCache(); + pkgDepCache *DepCache = CacheFile.GetDepCache(); + if (unlikely(Cache == NULL || DepCache == NULL)) + return false; + + APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1); + if (pkgset.empty() == true) + return _error->Error(_("No packages found")); + + bool MarkAuto = strcasecmp(CmdL.FileList[0],"auto") == 0; + int AutoMarkChanged = 0; + + for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg) + { + if (Pkg->CurrentVer == 0) + { + ioprintf(c1out,_("%s can not be marked as it is not installed.\n"), Pkg.FullName(true).c_str()); + continue; + } + else if ((((*DepCache)[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) == MarkAuto) + { + if (MarkAuto == false) + ioprintf(c1out,_("%s was already set to manually installed.\n"), Pkg.FullName(true).c_str()); + else + ioprintf(c1out,_("%s was already set to automatically installed.\n"), Pkg.FullName(true).c_str()); + continue; + } + + if (MarkAuto == false) + ioprintf(c1out,_("%s set to manually installed.\n"), Pkg.FullName(true).c_str()); + else + ioprintf(c1out,_("%s set to automatically installed.\n"), Pkg.FullName(true).c_str()); + + DepCache->MarkAuto(Pkg, MarkAuto); + ++AutoMarkChanged; + } + if (AutoMarkChanged > 0 && _config->FindB("APT::Mark::Simulate", false) == false) + return DepCache->writeStateFile(NULL); + return true; +} + /*}}}*/ +/* DoMarkAuto - mark packages as automatically/manually installed {{{*/ +/* Does the same as DoAuto but tries to do it exactly the same why as + the python implementation did it so it can be a drop-in replacement */ +bool DoMarkAuto(CommandLine &CmdL) +{ + pkgCacheFile CacheFile; + pkgCache *Cache = CacheFile.GetPkgCache(); + pkgDepCache *DepCache = CacheFile.GetDepCache(); + if (unlikely(Cache == NULL || DepCache == NULL)) + return false; + + APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1); + if (pkgset.empty() == true) + return _error->Error(_("No packages found")); + + bool const MarkAuto = strcasecmp(CmdL.FileList[0],"markauto") == 0; + bool const Verbose = _config->FindB("APT::MarkAuto::Verbose", false); + int AutoMarkChanged = 0; + + for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg) + { + if (Pkg->CurrentVer == 0 || + (((*DepCache)[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) == MarkAuto) + continue; + + if (Verbose == true) + ioprintf(c1out, "changing %s to %d\n", Pkg.Name(), (MarkAuto == false) ? 0 : 1); + + DepCache->MarkAuto(Pkg, MarkAuto); + ++AutoMarkChanged; + } + if (AutoMarkChanged > 0 && _config->FindB("APT::Mark::Simulate", false) == false) + return DepCache->writeStateFile(NULL); + + _error->Notice(_("This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' instead.")); + + return true; +} + /*}}}*/ +/* ShowAuto - show automatically installed packages (sorted) {{{*/ +bool ShowAuto(CommandLine &CmdL) +{ + pkgCacheFile CacheFile; + pkgCache *Cache = CacheFile.GetPkgCache(); + pkgDepCache *DepCache = CacheFile.GetDepCache(); + if (unlikely(Cache == NULL || DepCache == NULL)) + return false; + + std::vector<string> packages; + + bool const ShowAuto = strcasecmp(CmdL.FileList[0],"showauto") == 0; + + if (CmdL.FileList[1] == 0) + { + packages.reserve(Cache->HeaderP->PackageCount / 3); + for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P) + if (P->CurrentVer != 0 && + (((*DepCache)[P].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) == ShowAuto) + packages.push_back(P.FullName(true)); + } + else + { + APT::CacheSetHelper helper(false); // do not show errors + APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1, helper); + packages.reserve(pkgset.size()); + for (APT::PackageSet::const_iterator P = pkgset.begin(); P != pkgset.end(); ++P) + if (P->CurrentVer != 0 && + (((*DepCache)[P].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) == ShowAuto) + packages.push_back(P.FullName(true)); + } + + std::sort(packages.begin(), packages.end()); + + for (vector<string>::const_iterator I = packages.begin(); I != packages.end(); ++I) + std::cout << *I << std::endl; + + return true; +} + /*}}}*/ +/* DoHold - mark packages as hold by dpkg {{{*/ +bool DoHold(CommandLine &CmdL) +{ + pkgCacheFile CacheFile; + pkgCache *Cache = CacheFile.GetPkgCache(); + if (unlikely(Cache == NULL)) + return false; + + APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1); + if (pkgset.empty() == true) + return _error->Error(_("No packages found")); + + bool const MarkHold = strcasecmp(CmdL.FileList[0],"hold") == 0; + + for (APT::PackageSet::iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg) + { + if ((Pkg->SelectedState == pkgCache::State::Hold) == MarkHold) + { + if (MarkHold == true) + ioprintf(c1out,_("%s was already set on hold.\n"), Pkg.FullName(true).c_str()); + else + ioprintf(c1out,_("%s was already not hold.\n"), Pkg.FullName(true).c_str()); + pkgset.erase(Pkg); + continue; + } + } + + if (pkgset.empty() == true) + return true; + + if (_config->FindB("APT::Mark::Simulate", false) == true) + { + for (APT::PackageSet::iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg) + { + if (MarkHold == false) + ioprintf(c1out,_("%s set on hold.\n"), Pkg.FullName(true).c_str()); + else + ioprintf(c1out,_("Canceled hold on %s.\n"), Pkg.FullName(true).c_str()); + } + return true; + } + + string dpkgcall = _config->Find("Dir::Bin::dpkg", "dpkg"); + std::vector<string> const dpkgoptions = _config->FindVector("DPkg::options"); + for (std::vector<string>::const_iterator o = dpkgoptions.begin(); + o != dpkgoptions.end(); ++o) + dpkgcall.append(" ").append(*o); + dpkgcall.append(" --set-selections"); + FILE *dpkg = popen(dpkgcall.c_str(), "w"); + if (dpkg == NULL) + return _error->Errno("DoHold", "fdopen on dpkg stdin failed"); + + for (APT::PackageSet::iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg) + { + if (MarkHold == true) + { + fprintf(dpkg, "%s hold\n", Pkg.FullName(true).c_str()); + ioprintf(c1out,_("%s set on hold.\n"), Pkg.FullName(true).c_str()); + } + else + { + fprintf(dpkg, "%s install\n", Pkg.FullName(true).c_str()); + ioprintf(c1out,_("Canceled hold on %s.\n"), Pkg.FullName(true).c_str()); + } + } + + int const status = pclose(dpkg); + if (status == -1) + return _error->Errno("DoHold", "dpkg execution failed in the end"); + if (WIFEXITED(status) == false || WEXITSTATUS(status) != 0) + return _error->Error(_("Executing dpkg failed. Are you root?")); + return true; +} + /*}}}*/ +/* ShowHold - show packages set on hold in dpkg status {{{*/ +bool ShowHold(CommandLine &CmdL) +{ + pkgCacheFile CacheFile; + pkgCache *Cache = CacheFile.GetPkgCache(); + if (unlikely(Cache == NULL)) + return false; + + std::vector<string> packages; + + if (CmdL.FileList[1] == 0) + { + packages.reserve(50); // how many holds are realistic? I hope just a few… + for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P) + if (P->SelectedState == pkgCache::State::Hold) + packages.push_back(P.FullName(true)); + } + else + { + APT::CacheSetHelper helper(false); // do not show errors + APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1, helper); + packages.reserve(pkgset.size()); + for (APT::PackageSet::const_iterator P = pkgset.begin(); P != pkgset.end(); ++P) + if (P->SelectedState == pkgCache::State::Hold) + packages.push_back(P.FullName(true)); + } + + std::sort(packages.begin(), packages.end()); + + for (vector<string>::const_iterator I = packages.begin(); I != packages.end(); ++I) + std::cout << *I << std::endl; + + return true; +} + /*}}}*/ +// ShowHelp - Show a help screen /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool ShowHelp(CommandLine &CmdL) +{ + ioprintf(cout,_("%s %s for %s compiled on %s %s\n"),PACKAGE,VERSION, + COMMON_ARCH,__DATE__,__TIME__); + + cout << + _("Usage: apt-mark [options] {auto|manual} pkg1 [pkg2 ...]\n" + "\n" + "apt-mark is a simple command line interface for marking packages\n" + "as manual or automatical installed. It can also list marks.\n" + "\n" + "Commands:\n" + " auto - Mark the given packages as automatically installed\n" + " manual - Mark the given packages as manually installed\n" + "\n" + "Options:\n" + " -h This help text.\n" + " -q Loggable output - no progress indicator\n" + " -qq No output except for errors\n" + " -s No-act. Just prints what would be done.\n" + " -f read/write auto/manual marking in the given file\n" + " -c=? Read this configuration file\n" + " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" + "See the apt-mark(8) and apt.conf(5) manual pages for more information.") + << std::endl; + return true; +} + /*}}}*/ +int main(int argc,const char *argv[]) /*{{{*/ +{ + CommandLine::Args Args[] = { + {'h',"help","help",0}, + {0,"version","version",0}, + {'q',"quiet","quiet",CommandLine::IntLevel}, + {'q',"silent","quiet",CommandLine::IntLevel}, + {'v',"verbose","APT::MarkAuto::Verbose",0}, + {'s',"simulate","APT::Mark::Simulate",0}, + {'s',"just-print","APT::Mark::Simulate",0}, + {'s',"recon","APT::Mark::Simulate",0}, + {'s',"dry-run","APT::Mark::Simulate",0}, + {'s',"no-act","APT::Mark::Simulate",0}, + {'f',"file","Dir::State::extended_states",CommandLine::HasArg}, + {'c',"config-file",0,CommandLine::ConfigFile}, + {'o',"option",0,CommandLine::ArbItem}, + {0,0,0,0}}; + CommandLine::Dispatch Cmds[] = {{"help",&ShowHelp}, + {"auto",&DoAuto}, + {"manual",&DoAuto}, + {"hold",&DoHold}, + {"unhold",&DoHold}, + {"showauto",&ShowAuto}, + {"showmanual",&ShowAuto}, + {"showhold",&ShowHold}, + // be nice and forgive the typo + {"showholds",&ShowHold}, + // be nice and forgive it as it is technical right + {"install",&DoHold}, + // obsolete commands for compatibility + {"markauto", &DoMarkAuto}, + {"unmarkauto", &DoMarkAuto}, + {0,0}}; + + // Set up gettext support + setlocale(LC_ALL,""); + textdomain(PACKAGE); + + // Parse the command line and initialize the package library + CommandLine CmdL(Args,_config); + if (pkgInitConfig(*_config) == false || + CmdL.Parse(argc,argv) == false || + pkgInitSystem(*_config,_system) == false) + { + if (_config->FindB("version") == true) + ShowHelp(CmdL); + _error->DumpErrors(); + return 100; + } + + // See if the help should be shown + if (_config->FindB("help") == true || + _config->FindB("version") == true || + CmdL.FileSize() == 0) + { + ShowHelp(CmdL); + return 0; + } + + // Deal with stdout not being a tty + if (!isatty(STDOUT_FILENO) && _config->FindI("quiet", -1) == -1) + _config->Set("quiet","1"); + + // Setup the output streams + c0out.rdbuf(cout.rdbuf()); + c1out.rdbuf(cout.rdbuf()); + c2out.rdbuf(cout.rdbuf()); + if (_config->FindI("quiet",0) > 0) + c0out.rdbuf(devnull.rdbuf()); + if (_config->FindI("quiet",0) > 1) + c1out.rdbuf(devnull.rdbuf()); + + // Match the operation + CmdL.DispatchArg(Cmds); + + // Print any errors or warnings found during parsing + bool const Errors = _error->PendingError(); + if (_config->FindI("quiet",0) > 0) + _error->DumpErrors(); + else + _error->DumpErrors(GlobalError::DEBUG); + return Errors == true ? 100 : 0; +} + /*}}}*/ diff --git a/cmdline/makefile b/cmdline/makefile index 12418bd28..82bbfcfe6 100644 --- a/cmdline/makefile +++ b/cmdline/makefile @@ -54,10 +54,11 @@ TARGET=program include $(COPY_H) # The apt-mark program -SOURCE=apt-mark -TO=$(BIN) -TARGET=program -include $(COPY_H) +PROGRAM=apt-mark +SLIBS = -lapt-pkg $(INTLLIBS) +LIB_MAKES = apt-pkg/makefile +SOURCE = apt-mark.cc +include $(PROGRAM_H) # The apt-report-mirror-failure program #SOURCE=apt-report-mirror-failure diff --git a/debian/apt-utils.symbols b/debian/apt-utils.symbols index 2f57eb10a..9ba283a51 100644 --- a/debian/apt-utils.symbols +++ b/debian/apt-utils.symbols @@ -111,11 +111,13 @@ libapt-inst.so.1.2 libapt-inst1.2 (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0 (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0 ### gcc-4.4 specific +# (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 +# (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append<unsigned char*>(unsigned char*, unsigned char*)@Base" 0.8.0 +### gcc-4.6 specific + (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@Base" 0.8.12 1 (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_dispatch<unsigned char*>(__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned char*, unsigned char*, std::__false_type)@Base" 0.8.0 ### try to ignore std:: template instances - (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append<unsigned char*>(unsigned char*, unsigned char*)@Base" 0.8.0 (c++|regex|optional=std)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0 - (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 (c++|regex|optional=std)"^typeinfo name for std::iterator<.*>@Base$" 0.8.0 (c++|regex|optional=std)"^typeinfo for std::iterator<.*>@Base$" 0.8.0 ### diff --git a/debian/apt.lintian-overrides b/debian/apt.lintian-overrides deleted file mode 100644 index 49c5ce53c..000000000 --- a/debian/apt.lintian-overrides +++ /dev/null @@ -1,3 +0,0 @@ -# apt-mark is rarely used auxiliary script, we don't want to depend on -# python-apt only for it. -apt binary: python-script-but-no-python-dep ./usr/bin/apt-mark diff --git a/debian/apt.symbols b/debian/apt.symbols index 1c108fb69..fb8403839 100644 --- a/debian/apt.symbols +++ b/debian/apt.symbols @@ -277,11 +277,7 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgDepCache::DefaultRootSetFunc::InRootSet(pkgCache::PkgIterator const&)@Base" 0.8.0 (c++)"pkgDepCache::DefaultRootSetFunc::~DefaultRootSetFunc()@Base" 0.8.0 (c++)"pkgDepCache::MarkFollowsSuggests()@Base" 0.8.0 - (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator)@Base" 0.8.0 (c++)"pkgDepCache::MarkFollowsRecommends()@Base" 0.8.0 - (c++)"pkgDepCache::ReInstallPseudoForGroup(pkgCache::PkgIterator const&, std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >&)@Base" 0.8.0 - (c++)"pkgDepCache::ReInstallPseudoForGroup(unsigned long const&, std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >&)@Base" 0.8.0 - (c++)"pkgDepCache::RemovePseudoInstalledPkg(pkgCache::PkgIterator&, std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >&)@Base" 0.8.0 (c++)"pkgDepCache::Init(OpProgress*)@Base" 0.8.0 (c++)"pkgDepCache::Sweep()@Base" 0.8.0 (c++)"pkgDepCache::Policy::IsImportantDep(pkgCache::DepIterator const&)@Base" 0.8.0 @@ -1222,35 +1218,45 @@ libapt-pkg.so.4.10 libapt-pkg4.10 ### demangle strangeness - buildd report it as MISSING and as new… (c++)"pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.0 ### gcc-4.4 specific - (c++|optional=inherent)"APT::PackageSet::PackageSet(APT::PackageSet const&)@Base" 0.8.0 - (c++|optional=inline)"stringcasecmp(char const*, char const*, char const*)@Base" 0.8.0 - (arch=armel|c++|optional=inline)"stringcasecmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0 - (c++|optional=inherent)"APT::VersionSet::insert(pkgCache::VerIterator const&)@Base" 0.8.0 - (c++|optional=inline)"APT::VersionSet::insert(APT::VersionSet const&)@Base" 0.8.0 - (c++|optional=private)"debTranslationsIndex::IndexFile(char const*) const@Base" 0.8.0 - (c++|optional=inline)"pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>::end() const@Base" 0.8.0 - (c++|optional=inherent)"HashString::operator=(HashString const&)@Base" 0.8.0 - (c++|regex|optional=std)"^std::less<[^ ]+>::operator\(\)\(.+\) const@Base$" 0.8.0 - (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0 - (c++|regex|optional=std)"^std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char( const|)\*>\(.+\)@Base$" 0.8.0 - (c++|regex|optional=std)"^pkgCache::(Dep|Pkg|Ver|Grp|Prv|Desc|PkgFile)Iterator\*\* std::_.+@Base$" 0.8.0 +# (c++|optional=inherent)"APT::PackageSet::PackageSet(APT::PackageSet const&)@Base" 0.8.0 +# (c++|optional=inline)"stringcasecmp(char const*, char const*, char const*)@Base" 0.8.0 +# (arch=armel|c++|optional=inline)"stringcasecmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0 +# (c++|optional=inherent)"APT::VersionSet::insert(pkgCache::VerIterator const&)@Base" 0.8.0 +# (c++|optional=inline)"APT::VersionSet::insert(APT::VersionSet const&)@Base" 0.8.0 +# (c++|optional=private)"debTranslationsIndex::IndexFile(char const*) const@Base" 0.8.0 +# (c++|optional=inline)"pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>::end() const@Base" 0.8.0 +# (c++|optional=inherent)"HashString::operator=(HashString const&)@Base" 0.8.0 +# (c++|regex|optional=std)"^std::less<[^ ]+>::operator\(\)\(.+\) const@Base$" 0.8.0 +# (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0 +# (c++|regex|optional=std)"^pkgCache::(Dep|Pkg|Ver|Grp|Prv|Desc|PkgFile)Iterator\*\* std::_.+@Base$" 0.8.0 ### gcc-4.5 specific -# (c++|optional=template)"SPtrArray<unsigned char>::~SPtrArray()@Base" 0.8.0 -# (c++|regex|optional=template)"^SPtrArray<[^ ]+>::~SPtrArray\(\)@Base$" 0.8.0 -# (c++|optional=inline)"FileFd::FileFd(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, FileFd::OpenMode, unsigned long)@Base" 0.8.0 -### architecture specific: va_list - (arch=i386 hurd-i386 kfreebsd-i386|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&)@Base" 0.8.0 - (arch=armel armhf|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&)@Base" 0.8.0 - (arch=alpha|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&)@Base" 0.8.0 - (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1])@Base" 0.8.0 - (arch=hppa ia64 mipsel sparc sparc64|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&)@Base" 0.8.0 - (arch=sh4|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&)@Base" 0.8.0 - (arch=i386 hurd-i386 kfreebsd-i386|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&)@Base" 0.8.0 - (arch=armel armhf|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&)@Base" 0.8.0 - (arch=alpha|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&)@Base" 0.8.0 - (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1])@Base" 0.8.0 - (arch=hppa ia64 mipsel sparc sparc64|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&)@Base" 0.8.0 - (arch=sh4|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&)@Base" 0.8.0 + (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 + (c++|optional=inline)"FileFd::FileFd(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, FileFd::OpenMode, unsigned long)@Base" 0.8.0 + (c++|regex|optional=template)"^SPtrArray<[^ ]+>::~SPtrArray\(\)@Base$" 0.8.0 + (c++|optional=template)"SPtrArray<unsigned char>::~SPtrArray()@Base" 0.8.0 +### gcc-4.6 specific + (c++|optional=template)"SPtrArray<pkgCache::Version*>::~SPtrArray()@Base" 0.8.0 + (c++|regex|optional=std)"^std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char( const|)\*>\(.+\)@Base$" 0.8.0 + (c++|regex|optional=std)"^std::vector<DiffInfo, .+@Base$" 0.8.0 + (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0 + (c++|optional=strange)"pkgCache::VerIterator::VerIterator(pkgCache&, pkgCache::Version*)@Base" 0.8.0 +### architecture specific: va_list & size_t + (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 1 + (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 1 + (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 1 + (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 1 + (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 1 + (arch=hppa mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 1 + (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 1 + (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 1 + (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 1 + (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 1 + (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 1 + (arch=hppa mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=ia64 sparc64|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@Base" 0.8.11.4 1 + (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 1 ### architecture specific: size_t (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mipsel powerpc powerpcspe sh4 sparc|c++)"_strtabexpand(char*, unsigned int)@Base" 0.8.0 (arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"_strtabexpand(char*, unsigned long)@Base" 0.8.0 @@ -1263,7 +1269,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++|regex|optional=std)"^(bool|void) std::(operator|sort_heap|make_heap)[^ ]+<.+ >\(.+\)@Base$" 0.8.0 (c++|regex|optional=std)"^std::reverse_iterator<.+ > std::__.+@Base$" 0.8.0 (c++|regex|optional=std)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0 - (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 (c++|regex|optional=std)"^__gnu_cxx::__[^ ]+<.*@Base$" 0.8.0 (c++|regex|optional=std)"^typeinfo name for std::iterator<.*>@Base$" 0.8.0 (c++|regex|optional=std)"^typeinfo for std::iterator<.*>@Base$" 0.8.0 @@ -1301,3 +1306,18 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"typeinfo name for pkgAcqMetaClearSig@Base" 0.8.11 1 (c++)"vtable for pkgAcqSubIndex@Base" 0.8.11 1 (c++)"vtable for pkgAcqMetaClearSig@Base" 0.8.11 1 + (c++)"FindMountPointForDevice(char const*)@Base" 0.8.12 1 + (c++)"pkgUdevCdromDevices::ScanForRemovable(bool)@Base" 0.8.12 1 + (c++)"APT::Configuration::Compressor::Compressor(char const*, char const*, char const*, char const*, char const*, unsigned short)@Base" 0.8.12 1 + (c++)"APT::Configuration::Compressor::~Compressor()@Base" 0.8.12 1 + (c++)"APT::Configuration::getCompressors(bool)@Base" 0.8.12 1 + (c++)"APT::Configuration::getCompressorExtensions()@Base" 0.8.12 1 + (c++)"APT::Configuration::setDefaultConfigurationForCompressors()@Base" 0.8.12 1 + (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator, bool const&)@Base" 0.8.12 1 + (c++)"pkgAcqMetaClearSig::Custom600Headers()@Base" 0.8.13 1 + (c++|optional=private)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2 1 + (c++|optional=private)"PrintMode(char)@Base" 0.8.13.2 1 + (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2 1 + (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool)@Base" 0.8.15~exp1 1 + (c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 1 + (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1 1 diff --git a/debian/changelog b/debian/changelog index 5c606de50..5501c097b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,123 @@ +apt (0.8.15ubuntu1) UNRELEASED; urgency=low + + * merged from debian-unstable, remainging changes: + - use ubuntu keyring and ubuntu archive keyring in apt-key + - run update-apt-xapian-index in apt.cron + - support apt-key net-update and verify keys against master-keyring + - run apt-key net-update in cron.daily + - different example sources.list + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 28 Jun 2011 22:40:06 +0100 + +apt (0.8.15) unstable; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/depcache.cc: + - Really release action groups only once (Closes: #622744) + - Make purge work again for config-files (LP: #244598) (Closes: #150831) + * apt-pkg/acquire-item.cc: + - Reject files known to be invalid (LP: #346386) (Closes: #627642) + * debian/apt.cron.daily: + - Check power after wait, patch by manuel-soto (LP: #705269) + * debian/control: + - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT + unpacked if a library is too old and thus break upgrades + * doc/apt-key.8.xml: + - Document apt-key net-update (LP: #192810) + + [ Christian Perrier ] + * Galician translation update (Miguel Anxo Bouzada). Closes: #626505 + * Italian translation update (Milo Casagrande). Closes: #627834 + * German documentation translation update (Chris Leick). Closes: #629949 + * Catalan translation update (Jordi Mallach). Closes: #630657 + + [ David Kalnischkies ] + * fix a bunch of cppcheck warnings/errors based on a patch by + Niels Thykier, thanks! (Closes: #622805) + * apt-pkg/depcache.cc: + - really include 'rc' packages in the delete count by fixing a + typo which exists since 1999 in the source… (LP: #761175) + - if critical or-group can't be satisfied, exit directly. + * apt-pkg/acquire-method.cc: + - write directly to stdout instead of creating the message in + memory first before writing to avoid hitting limits + - fix order of CurrentURI and UsedMirror in Status() and Log() + * apt-pkg/orderlist.cc: + - let VisitRProvides report if the calls were successful + * apt-pkg/deb/dpkgpm.cc: + - replace obsolete usleep with nanosleep + - remove invalid pkgcache.bin and rebuild it if possible + - log reinstall commands in history.log + * debian/apt{,-utils}.symbols: + - update both experimental symbol-files to reflect 0.8.14 state + * debian/rules: + - remove unused embedded jquery by doxygen from libapt-pkg-doc + * cmdline/apt-mark.cc: + - reimplement apt-mark in c++ + - provide a 'showmanual' command (Closes: #582791) + - provide a 'dpkg --set-selections' wrapper to set/release holds + * cmdline/apt-get.cc: + - deprecate mostly undocumented 'markauto' in favor of 'apt-mark' + * cmdline/apt-cache.cc: + - deprecate mostly undocumented 'showauto' in favor of 'apt-mark' + * apt-pkg/pkgcache.cc: + - really ignore :arch in FindPkg() in non-multiarch environment + * doc/po/de.po: + - undo the translation of the command 'dump' in manpage of apt-config + as report by Burghard Grossmann on debian-l10n-german, thanks! + * apt-pkg/deb/debmetaindex.cc: + - do not download TranslationIndex if no Translation-* will be + downloaded later on anyway (Closes: #624218) + * test/versions.lst: + - disable obscure version number tests with versions dpkg doesn't + allow any more as they don't start with a number + * apt-pkg/acquire-worker.cc: + - print filename in the unmatching size warning (Closes: #623137) + * apt-pkg/acquire-item.cc: + - apply fix for poorly worded 'locate file' error message from + Ben Finney, thanks! (Closes: #623171) + * methods/http.cc: + - add config option to ignore a closed stdin to be able to easily + use the method as a simple standalone downloader + - Location header in redirects should be absolute URI, but some + servers just send an absolute path so still deal with it properly + - dequote URL taken from Location in redirects as we will otherwise + quote an already quoted string in the request later (Closes: #602412) + * apt-pkg/contrib/netrc.cc: + - replace non-posix gnu-extension strdupa with strdup + * apt-pkg/packagemanager.cc: + - ensure for Multi-Arch:same packages that they are unpacked in + lock step even in immediate configuration (Closes: #618288) + * apt-pkg/init.cc: + - don't set deprecated APT::Acquire::Translation, thanks Jörg Sommer! + * cmdline/apt-config.cc: + - show Acquire::Languages and APT::Architectures settings + in 'dump' (Closes: 626739) + * apt-pkg/orderlist.cc: + - ensure that an old version of a package with a provides can + never satisfy a dependency of a newer version of this package + + [ Michael Vogt ] + * methods/mirror.cc: + - ignore lines starting with "#" in the mirror file + - ignore non http urls in the mirrors + - append the dist (e.g. sid, wheezy) as a query string when + asking for a suitable mirror + * apt-pkg/deb/deblistparser.cc: + - include all known languages when building the apt cache + (LP: #794907) + * apt-pkg/deb/debindexfile.cc: + - remove some no longer valid checks for "TranslationsAvailable()" + + [ Kenneth Solbø Andersen ] + * apt-pkg/deb/dpkgpm.cc: + - set permissions of term.log to root.adm and 644 (LP: #404724) + + [ Chris Leick ] + * various typo and syntax corrections in doc/*.xml + + -- Michael Vogt <mvo@debian.org> Tue, 28 Jun 2011 18:00:48 +0200 + apt (0.8.14.1ubuntu8) UNRELEASED; urgency=low [ Michael Vogt ] diff --git a/debian/rules b/debian/rules index d8e4a88bd..93fdbd8da 100755 --- a/debian/rules +++ b/debian/rules @@ -123,6 +123,9 @@ libapt-pkg-doc: build-doc # # libapt-pkg-doc install # + # remove doxygen's embedded jquery as we don't use it anyway (#622147) + rm -f $(BLD)/doc/doxygen/html/jquery.js + dh_installdocs -p$@ $(BLD)/docs/design* \ $(BLD)/docs/dpkg-tech* \ $(BLD)/docs/files* \ diff --git a/doc/apt-cache.8.xml b/doc/apt-cache.8.xml index 9c6c64dac..431ef8704 100644 --- a/doc/apt-cache.8.xml +++ b/doc/apt-cache.8.xml @@ -315,7 +315,7 @@ Reverse Provides: <term><option>--no-replaces</option></term> <term><option>--no-enhances</option></term> <listitem><para>Per default the <literal>depends</literal> and - <literal>rdepends</literal> print all dependencies. This can be twicked with + <literal>rdepends</literal> print all dependencies. This can be tweaked with these flags which will omit the specified dependency type. Configuration Item: <literal>APT::Cache::Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::Cache::ShowRecommends</literal>.</para></listitem> diff --git a/doc/apt-ftparchive.1.xml b/doc/apt-ftparchive.1.xml index 8e5df1f36..b08ebe80f 100644 --- a/doc/apt-ftparchive.1.xml +++ b/doc/apt-ftparchive.1.xml @@ -532,8 +532,9 @@ for i in Sections do index files will not have the checksum fields where possible. Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</replaceable>::<replaceable>Checksum</replaceable></literal> where - <literal>Index</literal> can be <literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</literal> and - <literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>.</para></listitem> + <literal><replaceable>Index</replaceable></literal> can be <literal>Packages</literal>, <literal>Sources</literal> or + <literal>Release</literal> and <literal><replaceable>Checksum</replaceable></literal> can be <literal>MD5</literal>, + <literal>SHA1</literal> or <literal>SHA256</literal>.</para></listitem> </varlistentry> <varlistentry><term><option>-d</option></term><term><option>--db</option></term> diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml index 18f26e569..11b53e5e7 100644 --- a/doc/apt-get.8.xml +++ b/doc/apt-get.8.xml @@ -280,7 +280,7 @@ <varlistentry><term>download</term> <listitem><para><literal>download</literal> will download the given - binary package into the current directoy. + binary package into the current directory. </para></listitem> </varlistentry> diff --git a/doc/apt-mark.8.xml b/doc/apt-mark.8.xml index ec50d6f76..01c8665dd 100644 --- a/doc/apt-mark.8.xml +++ b/doc/apt-mark.8.xml @@ -18,7 +18,7 @@ &apt-email; &apt-product; <!-- The last update date --> - <date>9 August 2009</date> + <date>21 April 2011</date> </refentryinfo> <refmeta> @@ -42,12 +42,13 @@ <group choice="plain"> <arg choice="plain"> <group choice="req"> - <arg choice="plain">markauto</arg> - <arg choice="plain">unmarkauto</arg> + <arg choice="plain">auto</arg> + <arg choice="plain">manual</arg> + <arg choice="plain">showauto</arg> + <arg choice="plain">showmanual</arg> </group> <arg choice="plain" rep="repeat"><replaceable>package</replaceable></arg> </arg> - <arg choice="plain">showauto</arg> </group> </cmdsynopsis> </refsynopsisdiv> @@ -65,27 +66,60 @@ <command>apt-get</command> or <command>aptitude</command>. </para> <variablelist> - <varlistentry><term>markauto</term> - <listitem><para><literal>markauto</literal> is used to mark a + <varlistentry><term>auto</term> + <listitem><para><literal>auto</literal> is used to mark a package as being automatically installed, which will cause the package to be removed when no more manually installed packages depend on this package. </para></listitem> </varlistentry> - <varlistentry><term>unmarkauto</term> - <listitem><para><literal>unmarkauto</literal> is used to mark a + <varlistentry><term>manual</term> + <listitem><para><literal>manual</literal> is used to mark a package as being manually installed, which will prevent the package from being automatically removed if no other packages depend on it. </para></listitem> </varlistentry> + <varlistentry><term>hold</term> + <listitem><para><literal>hold</literal> is used to mark a + package as hold back, which will prevent the package from being + automatically installed, upgraded or removed. + The command is only a wrapper around <command>dpkg --set-selections</command> + and the state is therefore maintained by &dpkg; and not effected + by the <option>--filename</option> option. + </para></listitem> + </varlistentry> + + <varlistentry><term>unhold</term> + <listitem><para><literal>unhold</literal> is used to cancel a + previously set hold on a package to allow all actions again. + </para></listitem> + </varlistentry> + <varlistentry><term>showauto</term> <listitem><para><literal>showauto</literal> is used to print a list of automatically installed packages with each package on a new line. + All automatically installed packages will be listed if no package is given. + If packages are given only those which are automatically installed will be shown. + </para></listitem> + </varlistentry> + + <varlistentry><term>showmanual</term> + <listitem><para><literal>showmanual</literal> can be used in + the same way as <literal>showauto</literal> except that it will print + a list of manually installed packages instead. </para></listitem> </varlistentry> + + <varlistentry><term>showhold</term> + <listitem><para><literal>showhold</literal> is used to print a list + of packages on hold in the same way as for the other show commands. + </para></listitem> + </varlistentry> + + </variablelist> </refsect1> @@ -102,23 +136,8 @@ is <filename>extended_status</filename> in the directory defined by the Configuration Item: <literal>Dir::State</literal>.</para></listitem> </varlistentry> - - <varlistentry><term><option>-h</option></term> - <term><option>--help</option></term> - <listitem><para>Show a short usage summary. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-v</option></term> - <term><option>--version</option></term> - <listitem><para>Show the program version. - </para> - </listitem> - </varlistentry> - + &apt-commonoptions; </variablelist> </refsect1> diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml index 477507598..02de89f3b 100644 --- a/doc/apt.conf.5.xml +++ b/doc/apt.conf.5.xml @@ -50,7 +50,7 @@ <listitem><para>the file specified by the <envar>APT_CONFIG</envar> environment variable (if any)</para></listitem> <listitem><para>all files in <literal>Dir::Etc::Parts</literal> in - alphanumeric ascending order which have no or "<literal>conf</literal>" + alphanumeric ascending order which have either no or "<literal>conf</literal>" as filename extension and which only contain alphanumeric, hyphen (-), underscore (_) and period (.) characters. Otherwise APT will print a notice that it has ignored a file if the file @@ -441,13 +441,13 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; It is not needed to add <literal>bz2</literal> explicit to the list as it will be added automatic.</para> <para>Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</replaceable></literal> will be checked: If this setting exists the method will only be used if this file exists, e.g. for - the bzip2 method (the inbuilt) setting is <literallayout>Dir::Bin::bzip2 "/bin/bzip2";</literallayout> + the bzip2 method (the inbuilt) setting is: <literallayout>Dir::Bin::bzip2 "/bin/bzip2";</literallayout> Note also that list entries specified on the command line will be added at the end of the list specified in the configuration files, but before the default entries. To prefer a type in this case over the ones specified in the configuration files you can set the option direct - not in list style. This will not override the defined list, it will only prefix the list with this type.</para> <para>The special type <literal>uncompressed</literal> can be used to give uncompressed files a - preference, but note that most archives doesn't provide uncompressed files so this is mostly only + preference, but note that most archives don't provide uncompressed files so this is mostly only useable for local mirrors.</para></listitem> </varlistentry> diff --git a/doc/apt_preferences.5.xml b/doc/apt_preferences.5.xml index 55504f3e5..f08f92b94 100644 --- a/doc/apt_preferences.5.xml +++ b/doc/apt_preferences.5.xml @@ -69,8 +69,8 @@ You have been warned.</para> <para>Note that the files in the <filename>/etc/apt/preferences.d</filename> directory are parsed in alphanumeric ascending order and need to obey the -following naming convention: The files have no or "<literal>pref</literal>" -as filename extension and which only contain alphanumeric, hyphen (-), +following naming convention: The files have either no or "<literal>pref</literal>" +as filename extension and only contain alphanumeric, hyphen (-), underscore (_) and period (.) characters. Otherwise APT will print a notice that it has ignored a file if the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</literal> @@ -265,7 +265,7 @@ APT also supports pinning by glob() expressions and regular expressions surrounded by /. For example, the following example assigns the priority 500 to all packages from experimental where the name starts with gnome (as a glob()-like -expression or contains the word kde (as a POSIX extended regular +expression) or contains the word kde (as a POSIX extended regular expression surrounded by slashes). </para> @@ -277,7 +277,7 @@ Pin-Priority: 500 <para> The rule for those expressions is that they can occur anywhere -where a string can occur. Those, the following pin assigns the +where a string can occur. Thus, the following pin assigns the priority 990 to all packages from a release starting with karmic. </para> diff --git a/methods/http.cc b/methods/http.cc index dfc1619e3..13f9cbe06 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -778,9 +778,10 @@ bool HttpMethod::Go(bool ToFile,ServerState *Srv) if (Srv->In.WriteSpace() == true && ToFile == true && FileFD != -1) FD_SET(FileFD,&wfds); - + // Add stdin - FD_SET(STDIN_FILENO,&rfds); + if (_config->FindB("Acquire::http::DependOnSTDIN", true) == true) + FD_SET(STDIN_FILENO,&rfds); // Figure out the max fd int MaxFd = FileFD; @@ -947,9 +948,25 @@ HttpMethod::DealWithHeaders(FetchResult &Res,ServerState *Srv) && Srv->Result != 304 // Not Modified && Srv->Result != 306)) // (Not part of HTTP/1.1, reserved) { - if (!Srv->Location.empty()) + if (Srv->Location.empty() == true); + else if (Srv->Location[0] == '/' && Queue->Uri.empty() == false) { - NextURI = Srv->Location; + URI Uri = Queue->Uri; + if (Uri.Host.empty() == false) + { + if (Uri.Port != 0) + strprintf(NextURI, "http://%s:%u", Uri.Host.c_str(), Uri.Port); + else + NextURI = "http://" + Uri.Host; + } + else + NextURI.clear(); + NextURI.append(DeQuoteString(Srv->Location)); + return TRY_AGAIN_OR_REDIRECT; + } + else + { + NextURI = DeQuoteString(Srv->Location); return TRY_AGAIN_OR_REDIRECT; } /* else pass through for error message */ @@ -1113,7 +1130,13 @@ int HttpMethod::Loop() do a WaitFd above.. Otherwise the FD is closed. */ int Result = Run(true); if (Result != -1 && (Result != 0 || Queue == 0)) - return 100; + { + if(FailReason.empty() == false || + _config->FindB("Acquire::http::DependOnSTDIN", true) == true) + return 100; + else + return 0; + } if (Queue == 0) continue; diff --git a/methods/http.h b/methods/http.h index 0bc019e77..aa96c6810 100644 --- a/methods/http.h +++ b/methods/http.h @@ -182,7 +182,7 @@ class HttpMethod : public pkgAcqMethod string AutoDetectProxyCmd; public: - friend class ServerState; + friend struct ServerState; FileFd *File; ServerState *Server; diff --git a/po/apt-all.pot b/po/apt-all.pot index ee139b2e7..00291f568 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -2753,8 +2753,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1628 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" #: apt-pkg/acquire-item.cc:1683 @@ -2792,8 +2792,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" #: apt-pkg/acquire-item.cc:1686 @@ -3013,8 +3013,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Nun pudo alcontrase un ficheru pal paquete %s. Esto puede significar que " "necesites iguar manualmente esti paquete" @@ -3051,8 +3051,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Неуспех при намирането на файл за пакет %s. Това може да означава, че трябва " "ръчно да оправите този пакет." @@ -2789,8 +2789,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" #: apt-pkg/acquire-item.cc:1686 @@ -1,23 +1,22 @@ # Catalan translation of APT. -# Copyright © 2002, 2003, 2004, 2005, 2006, 2008, 2009 Software in the Public Interest, Inc. +# Copyright © 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011 Software in the Public Interest, Inc. # Antoni Bella Perez <bella5@teleline.es>, 2002, 2003. # Matt Bonner <mateubonet@yahoo.com>, 2003. -# Jordi Mallach <jordi@debian.org>, 2004, 2005, 2006, 2008, 2009. +# Jordi Mallach <jordi@debian.org>, 2004, 2005, 2006, 2008, 2009, 2011. # Agustí Grau <fletxa@gmail.com>, 2010. msgid "" msgstr "" -"Project-Id-Version: apt 0.7.22\n" +"Project-Id-Version: apt 0.8.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-15 06:09+0100\n" -"PO-Revision-Date: 2010-09-02 11:51+0100\n" -"Last-Translator: Agustí Grau <fletxa@gmail.com>\n" +"POT-Creation-Date: 2011-01-12 17:42+0100\n" +"PO-Revision-Date: 2011-06-16 01:41+0200\n" +"Last-Translator: Jordi Mallach <jordi@debian.org>\n" "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.6.1\n" #: cmdline/apt-cache.cc:156 #, c-format @@ -30,7 +29,7 @@ msgstr "Nombre total de paquets: " #: cmdline/apt-cache.cc:286 msgid "Total package structures: " -msgstr "Total d'estructures de paquets: " +msgstr "Nombre total d'estructures de paquets: " #: cmdline/apt-cache.cc:326 msgid " Normal packages: " @@ -54,120 +53,156 @@ msgstr " Falten: " #: cmdline/apt-cache.cc:332 msgid "Total distinct versions: " -msgstr "Total de versions diferents: " +msgstr "Nombre total de versions diferents: " #: cmdline/apt-cache.cc:334 msgid "Total distinct descriptions: " -msgstr "Total de descripcions diferents: " +msgstr "Nombre total de descripcions diferents: " #: cmdline/apt-cache.cc:336 msgid "Total dependencies: " -msgstr "Total de dependències: " +msgstr "Nombre total de dependències: " #: cmdline/apt-cache.cc:339 msgid "Total ver/file relations: " -msgstr "Total de relacions versió/fitxer: " +msgstr "Nombre total de relacions versió/fitxer: " #: cmdline/apt-cache.cc:341 msgid "Total Desc/File relations: " -msgstr "Total de relacions descripció/fitxer: " +msgstr "Nombre total de relacions descripció/fitxer: " #: cmdline/apt-cache.cc:343 msgid "Total Provides mappings: " -msgstr "Total dels mapes aportats: " +msgstr "Nombre total dels mapes aportats: " #: cmdline/apt-cache.cc:355 msgid "Total globbed strings: " -msgstr "Total de cadenes globals: " +msgstr "Nombre total de cadenes globals: " #: cmdline/apt-cache.cc:369 msgid "Total dependency version space: " -msgstr "Total de l'espai per a dependències de versió: " +msgstr "Nombre total de l'espai per a dependències de versió: " #: cmdline/apt-cache.cc:374 msgid "Total slack space: " -msgstr "Total de l'espai desperdiciat: " +msgstr "Nombre total de l'espai desperdiciat: " #: cmdline/apt-cache.cc:382 msgid "Total space accounted for: " -msgstr "Total de l'espai atribuït a: " +msgstr "Nombre total de l'espai atribuït a: " -#: cmdline/apt-cache.cc:513 cmdline/apt-cache.cc:1142 +#: cmdline/apt-cache.cc:513 cmdline/apt-cache.cc:1194 #, c-format msgid "Package file %s is out of sync." msgstr "El fitxer %s del paquet està desincronitzat." -#: cmdline/apt-cache.cc:591 cmdline/apt-cache.cc:1377 -#: cmdline/apt-cache.cc:1379 cmdline/apt-cache.cc:1456 -msgid "No packages found" -msgstr "No s'han trobat paquets" - -#: cmdline/apt-cache.cc:1221 +#: cmdline/apt-cache.cc:1273 msgid "You must give at least one search pattern" msgstr "Heu de donar com a mínim un patró de cerca" -#: cmdline/apt-cache.cc:1451 apt-pkg/cacheset.cc:440 +#: cmdline/apt-cache.cc:1429 cmdline/apt-cache.cc:1431 +#: cmdline/apt-cache.cc:1508 +msgid "No packages found" +msgstr "No s'han trobat paquets" + +#: cmdline/apt-cache.cc:1503 apt-pkg/cacheset.cc:440 #, c-format msgid "Unable to locate package %s" msgstr "No s'ha trobat el paquet %s" -#: cmdline/apt-cache.cc:1481 +#: cmdline/apt-cache.cc:1533 msgid "Package files:" msgstr "Fitxers de paquets:" -#: cmdline/apt-cache.cc:1488 cmdline/apt-cache.cc:1586 +#: cmdline/apt-cache.cc:1540 cmdline/apt-cache.cc:1638 msgid "Cache is out of sync, can't x-ref a package file" msgstr "" "Memòria cau no sincronitzada, no es pot fer x-ref a un fitxer del paquet" #. Show any packages have explicit pins -#: cmdline/apt-cache.cc:1502 +#: cmdline/apt-cache.cc:1554 msgid "Pinned packages:" msgstr "Paquets etiquetats:" -#: cmdline/apt-cache.cc:1514 cmdline/apt-cache.cc:1566 +#: cmdline/apt-cache.cc:1566 cmdline/apt-cache.cc:1618 msgid "(not found)" msgstr "(no trobat)" -#: cmdline/apt-cache.cc:1523 +#: cmdline/apt-cache.cc:1575 msgid " Installed: " -msgstr " Instal·lat: " +msgstr " Instaŀlat: " -#: cmdline/apt-cache.cc:1524 +#: cmdline/apt-cache.cc:1576 msgid " Candidate: " msgstr " Candidat: " -#: cmdline/apt-cache.cc:1548 cmdline/apt-cache.cc:1556 +#: cmdline/apt-cache.cc:1600 cmdline/apt-cache.cc:1608 msgid "(none)" msgstr "(cap)" -#: cmdline/apt-cache.cc:1563 +#: cmdline/apt-cache.cc:1615 msgid " Package pin: " msgstr " Etiqueta del paquet: " #. Show the priority tables -#: cmdline/apt-cache.cc:1572 +#: cmdline/apt-cache.cc:1624 msgid " Version table:" msgstr " Taula de versió:" -#: cmdline/apt-cache.cc:1686 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:70 +#: cmdline/apt-cache.cc:1738 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3047 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:2793 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s per a %s compilat el %s %s\n" -#: cmdline/apt-cache.cc:1693 +#: cmdline/apt-cache.cc:1745 #, fuzzy +#| msgid "" +#| "Usage: apt-cache [options] command\n" +#| " apt-cache [options] showpkg pkg1 [pkg2 ...]\n" +#| " apt-cache [options] showsrc pkg1 [pkg2 ...]\n" +#| "\n" +#| "apt-cache is a low-level tool used to query information\n" +#| "from APT's binary cache files\n" +#| "\n" +#| "Commands:\n" +#| " gencaches - Build both the package and source cache\n" +#| " showpkg - Show some general information for a single package\n" +#| " showsrc - Show source records\n" +#| " stats - Show some basic statistics\n" +#| " dump - Show the entire file in a terse form\n" +#| " dumpavail - Print an available file to stdout\n" +#| " unmet - Show unmet dependencies\n" +#| " search - Search the package list for a regex pattern\n" +#| " show - Show a readable record for the package\n" +#| " depends - Show raw dependency information for a package\n" +#| " rdepends - Show reverse dependency information for a package\n" +#| " pkgnames - List the names of all packages in the system\n" +#| " dotty - Generate package graphs for GraphViz\n" +#| " xvcg - Generate package graphs for xvcg\n" +#| " policy - Show policy settings\n" +#| "\n" +#| "Options:\n" +#| " -h This help text.\n" +#| " -p=? The package cache.\n" +#| " -s=? The source cache.\n" +#| " -q Disable progress indicator.\n" +#| " -i Show only important deps for the unmet command.\n" +#| " -c=? Read this configuration file\n" +#| " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" +#| "See the apt-cache(8) and apt.conf(5) manual pages for more information.\n" msgid "" "Usage: apt-cache [options] command\n" +" apt-cache [options] add file1 [file2 ...]\n" " apt-cache [options] showpkg pkg1 [pkg2 ...]\n" " apt-cache [options] showsrc pkg1 [pkg2 ...]\n" "\n" -"apt-cache is a low-level tool used to query information\n" -"from APT's binary cache files\n" +"apt-cache is a low-level tool used to manipulate APT's binary\n" +"cache files, and query information from them\n" "\n" "Commands:\n" +" add - Add a package file to the source cache\n" " gencaches - Build both the package and source cache\n" " showpkg - Show some general information for a single package\n" " showsrc - Show source records\n" @@ -196,41 +231,39 @@ msgid "" "See the apt-cache(8) and apt.conf(5) manual pages for more information.\n" msgstr "" "Forma d'ús: apt-cache [opcions] ordre\n" -" apt-cache [opcions] add fitxer1 [fitxer2 ...]\n" -" apt-cache [opcions] showpkg paquet1 [paquet2 ...]\n" -" apt-cache [opcions] showsrc paquet1 [paquet2 ...]\n" +" apt-cache [opcions] add fitxer1 [fitxer2 …]\n" +" apt-cache [opcions] showpkg paquet1 [paquet2 …]\n" +" apt-cache [opcions] showsrc paquet1 [paquet2 …]\n" "\n" -"apt-cache és una eina usada per a manipular fitxers binaris en\n" -"el cau d'APT, i així poder consultar-ne la informació\n" +"apt-cache és una eina de baix nivell emprada per consultar\n" +"la informació dels fitxers binaris de memòria cau de l'APT.\n" "\n" "Ordres:\n" -" add - Afegeix un fitxer de paquet a la memòria cau de les fonts\n" -" gencaches - Crea la memòria cau de tots dos, paquet i font\n" -" showpkg - Mostra alguna informació general d'un sol paquet\n" -" showsrc - Mostra un registre de les fonts\n" +" gencaches - Crea la memòria cau de paquets i fonts\n" +" showpkg - Mostra informació general d'un sol paquet\n" +" showsrc - Mostra un registre d'un paquet font\n" " stats - Mostra algunes estadístiques bàsiques\n" " dump - Mostra el fitxer sencer en un format concís\n" -" dumpavail - Genera un registre llegible a stdout\n" +" dumpavail - Imprimeix un fitxer «available» per sortida estàndard\n" " unmet - Mostra dependències sense satisfer\n" -" search - Cerca en la llista de paquets per un patró d'expressió regular\n" -" show - Mostra un registre llegible pel paquet \n" -" showauto - Mostra una llista de paquets instal·lats automàticanent\n" +" search - Cerca un patró d'expressió regular a la llista de paquets\n" +" show - Mostra un registre llegible pel paquet\n" " depends - Mostra informació de dependències (en cru) d'un paquet\n" -" rdepends - Mostra informació de dependències enrere d'un paquet\n" +" rdepends - Mostra informació de dependències inverses d'un paquet\n" " pkgnames - Llista els noms de tots els paquets del sistema\n" -" dotty - Genera gràfiques del paquet per a GraphViz\n" -" xvcg - Genera gràfiques del paquet per a xvcg\n" +" dotty - Genera gràfiques de paquets per al GraphViz\n" +" xvcg - Genera gràfiques de paquets per al xvcg\n" " policy - Mostra la configuració de política\n" "\n" "Opcions:\n" " -h Aquest text d'ajuda.\n" " -p=? La memòria cau de paquets.\n" " -s=? La memòria cau de la font.\n" -" -q Inhabilita l'indicatiu de progres.\n" -" -i Només mostra dependències importants d'una ordre inadequada.\n" -" -c=? Llegeix aquest fitxer de configuració\n" -" -o=? Estableix una opció de conf arbitrària, p.ex. -o dir::cache=/tmp\n" -"Consulteu les pàgines del manual apt-cache(8) i apt.conf(5) per a més " +" -q Inhabilita l'indicador de progrés.\n" +" -i Només mostra dependències importants amb l'opció «unmet».\n" +" -c=? Llegeix aquest fitxer de configuració.\n" +" -o=? Estableix una opció de conf arbitrària, p. ex. -o dir::cache=/tmp\n" +"Vegeu les pàgines de manual apt-cache(8) i apt.conf(5) per a més " "informació.\n" #: cmdline/apt-cdrom.cc:77 @@ -271,7 +304,7 @@ msgid "" msgstr "" "Forma d'ús: apt-config [opcions] ordre\n" "\n" -"apt-config és una simple eina per a llegir el fitxer de configuració d'APT\n" +"apt-config és una eina simple per llegir el fitxer de configuració d'APT\n" "\n" "Ordres:\n" " shell - Mode shell\n" @@ -280,7 +313,7 @@ msgstr "" "Opcions:\n" " -h Aquest text d'ajuda.\n" " -c=? Llegeix aquest fitxer de configuració\n" -" -o=? Estableix una opció de conf arbitrària, p.ex. -o dir::cache=/tmp\n" +" -o=? Estableix una opció de conf arbitrària, p. ex. -o dir::cache=/tmp\n" #: cmdline/apt-extracttemplates.cc:98 #, c-format @@ -300,7 +333,7 @@ msgid "" " -c=? Read this configuration file\n" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" -"Forma d'ús: apt-extracttemplates fitxer1 [fitxer2 ...]\n" +"Forma d'ús: apt-extracttemplates fitxer1 [fitxer2 …]\n" "\n" "apt-extracttemplates és una eina per a extreure informació de\n" "configuració i plantilles dels paquets debian\n" @@ -311,14 +344,14 @@ msgstr "" " -c=? Llegeix aquest fitxer de configuració\n" " -o=? Estableix una opció de conf arbitrària, p.e. -o dir::cache=/tmp\n" -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1175 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1171 #, c-format msgid "Unable to write to %s" msgstr "No es pot escriure en %s" #: cmdline/apt-extracttemplates.cc:309 msgid "Cannot get debconf version. Is debconf installed?" -msgstr "No es pot determinar la versió de debconf. Està instal·lat debconf?" +msgstr "No es pot determinar la versió de debconf. Està instaŀlat debconf?" #: ftparchive/apt-ftparchive.cc:170 ftparchive/apt-ftparchive.cc:347 msgid "Package extension list is too long" @@ -667,16 +700,16 @@ msgstr "Els següents paquets tenen dependències sense satisfer:" #: cmdline/apt-get.cc:342 #, c-format msgid "but %s is installed" -msgstr "però està instal·lat %s" +msgstr "però està instaŀlat %s" #: cmdline/apt-get.cc:344 #, c-format msgid "but %s is to be installed" -msgstr "però s'instal·larà %s" +msgstr "però s'instaŀlarà %s" #: cmdline/apt-get.cc:351 msgid "but it is not installable" -msgstr "però no és instal·lable" +msgstr "però no és instaŀlable" #: cmdline/apt-get.cc:353 msgid "but it is a virtual package" @@ -684,11 +717,11 @@ msgstr "però és un paquet virtual" #: cmdline/apt-get.cc:356 msgid "but it is not installed" -msgstr "però no està instal·lat" +msgstr "però no està instaŀlat" #: cmdline/apt-get.cc:356 msgid "but it is not going to be installed" -msgstr "però no serà instal·lat" +msgstr "però no serà instaŀlat" #: cmdline/apt-get.cc:361 msgid " or" @@ -696,7 +729,7 @@ msgstr " o" #: cmdline/apt-get.cc:392 msgid "The following NEW packages will be installed:" -msgstr "S'instal·laran els paquets NOUS següents:" +msgstr "S'instaŀlaran els paquets NOUS següents:" #: cmdline/apt-get.cc:420 msgid "The following packages will be REMOVED:" @@ -734,12 +767,12 @@ msgstr "" #: cmdline/apt-get.cc:605 #, c-format msgid "%lu upgraded, %lu newly installed, " -msgstr "%lu actualitzats, %lu nous a instal·lar, " +msgstr "%lu actualitzats, %lu nous a instaŀlar, " #: cmdline/apt-get.cc:609 #, c-format msgid "%lu reinstalled, " -msgstr "%lu reinstal·lats, " +msgstr "%lu reinstaŀlats, " #: cmdline/apt-get.cc:611 #, c-format @@ -754,7 +787,7 @@ msgstr "%lu a suprimir i %lu no actualitzats.\n" #: cmdline/apt-get.cc:617 #, c-format msgid "%lu not fully installed or removed.\n" -msgstr "%lu no instal·lats o suprimits completament.\n" +msgstr "%lu no instaŀlats o suprimits completament.\n" #: cmdline/apt-get.cc:639 #, c-format @@ -773,7 +806,7 @@ msgstr "El paquet %s és un paquet virtual proveït per:\n" #: cmdline/apt-get.cc:673 msgid " [Installed]" -msgstr " [Instal·lat]" +msgstr " [Instaŀlat]" #: cmdline/apt-get.cc:682 msgid " [Not candidate version]" @@ -781,7 +814,7 @@ msgstr "[Versió no candidata]" #: cmdline/apt-get.cc:684 msgid "You should explicitly select one to install." -msgstr "Necessiteu seleccionar-ne un explícitament per a instal·lar-lo." +msgstr "Necessiteu seleccionar-ne un explícitament per a instaŀlar-lo." #: cmdline/apt-get.cc:687 #, c-format @@ -801,44 +834,44 @@ msgstr "Tot i que els següents paquets el reemplacen:" #: cmdline/apt-get.cc:717 #, c-format msgid "Package '%s' has no installation candidate" -msgstr "El paquet '%s' no té candidat d'instal·lació" +msgstr "El paquet «%s» no té candidat d'instaŀlació" #: cmdline/apt-get.cc:728 #, c-format msgid "Virtual packages like '%s' can't be removed\n" -msgstr "Els paquets virtuals com '%s' no poden ser esborrats\n" +msgstr "Els paquets virtuals com «%s» no poden ser esborrats\n" #: cmdline/apt-get.cc:759 #, c-format msgid "Note, selecting '%s' instead of '%s'\n" -msgstr "Nota: s'està seleccionant '%s' en comptes de '%s'\n" +msgstr "Nota: s'està seleccionant «%s» en lloc de «%s»\n" #: cmdline/apt-get.cc:789 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" msgstr "" -"S'està ometent %s, ja està instal·lat i l'actualització no està establerta.\n" +"S'està ometent %s, ja està instaŀlat i l'actualització no està establerta.\n" #: cmdline/apt-get.cc:793 #, c-format msgid "Skipping %s, it is not installed and only upgrades are requested.\n" msgstr "" -"S'està ometent '%s', no està instal·lat i només es demana l'actualització.\n" +"S'està ometent '%s', no està instaŀlat i només es demana l'actualització.\n" #: cmdline/apt-get.cc:803 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" -msgstr "No es possible la reinstal·lació del paquet %s, no es pot baixar.\n" +msgstr "No es possible la reinstaŀlació del paquet %s, no es pot baixar.\n" #: cmdline/apt-get.cc:808 #, c-format msgid "%s is already the newest version.\n" msgstr "%s ja es troba en la versió més recent.\n" -#: cmdline/apt-get.cc:827 cmdline/apt-get.cc:2024 +#: cmdline/apt-get.cc:827 cmdline/apt-get.cc:2027 #, c-format msgid "%s set to manually installed.\n" -msgstr "S'ha marcat %s com instal·lat manualment.\n" +msgstr "S'ha marcat %s com instaŀlat manualment.\n" #: cmdline/apt-get.cc:853 #, c-format @@ -846,100 +879,100 @@ msgid "Selected version '%s' (%s) for '%s'\n" msgstr "Versió seleccionada '%s' (%s) per a '%s'\n" #: cmdline/apt-get.cc:858 -#, fuzzy, c-format +#, c-format msgid "Selected version '%s' (%s) for '%s' because of '%s'\n" -msgstr "Versió seleccionada '%s' (%s) per a '%s'\n" +msgstr "Versió seleccionada «%s» (%s) per a «%s» degut a «%s»\n" -#: cmdline/apt-get.cc:899 +#: cmdline/apt-get.cc:898 #, c-format msgid "Package %s is not installed, so not removed\n" -msgstr "El paquet %s no està instal·lat, així doncs no es suprimirà\n" +msgstr "El paquet %s no està instaŀlat, així doncs no es suprimirà\n" -#: cmdline/apt-get.cc:977 +#: cmdline/apt-get.cc:973 msgid "Correcting dependencies..." -msgstr "S'estan corregint les dependències..." +msgstr "S'estan corregint les dependències…" -#: cmdline/apt-get.cc:980 +#: cmdline/apt-get.cc:976 msgid " failed." msgstr " ha fallat." -#: cmdline/apt-get.cc:983 +#: cmdline/apt-get.cc:979 msgid "Unable to correct dependencies" msgstr "No es poden corregir les dependències" -#: cmdline/apt-get.cc:986 +#: cmdline/apt-get.cc:982 msgid "Unable to minimize the upgrade set" msgstr "No es pot minimitzar el joc de versions revisades" -#: cmdline/apt-get.cc:988 +#: cmdline/apt-get.cc:984 msgid " Done" msgstr " Fet" -#: cmdline/apt-get.cc:992 +#: cmdline/apt-get.cc:988 msgid "You might want to run 'apt-get -f install' to correct these." -msgstr "Potser voldreu executar 'apt-get -f install' per a corregir-ho." +msgstr "Potser voldreu executar «apt-get -f install» per a corregir-ho." -#: cmdline/apt-get.cc:995 +#: cmdline/apt-get.cc:991 msgid "Unmet dependencies. Try using -f." msgstr "Dependències sense satisfer. Proveu-ho emprant -f." -#: cmdline/apt-get.cc:1020 +#: cmdline/apt-get.cc:1016 msgid "WARNING: The following packages cannot be authenticated!" msgstr "AVÍS: No es poden autenticar els següents paquets!" -#: cmdline/apt-get.cc:1024 +#: cmdline/apt-get.cc:1020 msgid "Authentication warning overridden.\n" msgstr "S'ha descartat l'avís d'autenticació.\n" -#: cmdline/apt-get.cc:1031 +#: cmdline/apt-get.cc:1027 msgid "Install these packages without verification [y/N]? " -msgstr "Voleu instal·lar aquests paquets sense verificar-los [s/N]? " +msgstr "Voleu instaŀlar aquests paquets sense verificar-los [s/N]? " -#: cmdline/apt-get.cc:1033 +#: cmdline/apt-get.cc:1029 msgid "Some packages could not be authenticated" msgstr "No s'ha pogut autenticar alguns paquets" -#: cmdline/apt-get.cc:1042 cmdline/apt-get.cc:1203 +#: cmdline/apt-get.cc:1038 cmdline/apt-get.cc:1199 msgid "There are problems and -y was used without --force-yes" msgstr "Hi ha problemes i s'ha emprat -y sense --force-yes" -#: cmdline/apt-get.cc:1083 +#: cmdline/apt-get.cc:1079 msgid "Internal error, InstallPackages was called with broken packages!" msgstr "" "S'ha produït un error intern, s'ha cridat a InstallPackages amb paquets " "trencats!" -#: cmdline/apt-get.cc:1092 +#: cmdline/apt-get.cc:1088 msgid "Packages need to be removed but remove is disabled." msgstr "" "Els paquets necessiten ser suprimits però s'ha inhabilitat la supressió." -#: cmdline/apt-get.cc:1103 +#: cmdline/apt-get.cc:1099 msgid "Internal error, Ordering didn't finish" msgstr "S'ha produït un error intern, l'ordenació no ha acabat" -#: cmdline/apt-get.cc:1141 +#: cmdline/apt-get.cc:1137 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org" msgstr "" -"Què estrany... les mides no coincideixen, informeu a apt@packages.debian.org" +"Què estrany… les mides no coincideixen, informeu a apt@packages.debian.org" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1148 +#: cmdline/apt-get.cc:1144 #, c-format msgid "Need to get %sB/%sB of archives.\n" -msgstr "Es necessita obtenir %sB/%sB d'arxius.\n" +msgstr "S'ha d'obtenir %sB/%sB d'arxius.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1153 +#: cmdline/apt-get.cc:1149 #, c-format msgid "Need to get %sB of archives.\n" -msgstr "Es necessita obtenir %sB d'arxius.\n" +msgstr "S'ha d'obtenir %sB d'arxius.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1160 +#: cmdline/apt-get.cc:1156 #, c-format msgid "After this operation, %sB of additional disk space will be used.\n" msgstr "" @@ -947,31 +980,31 @@ msgstr "" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1165 +#: cmdline/apt-get.cc:1161 #, c-format msgid "After this operation, %sB disk space will be freed.\n" msgstr "Després d'aquesta operació s'alliberaran %sB d'espai en disc.\n" -#: cmdline/apt-get.cc:1180 cmdline/apt-get.cc:1183 cmdline/apt-get.cc:2428 -#: cmdline/apt-get.cc:2431 +#: cmdline/apt-get.cc:1176 cmdline/apt-get.cc:1179 cmdline/apt-get.cc:2367 +#: cmdline/apt-get.cc:2370 #, c-format msgid "Couldn't determine free space in %s" msgstr "No s'ha pogut determinar l'espai lliure en %s" -#: cmdline/apt-get.cc:1193 +#: cmdline/apt-get.cc:1189 #, c-format msgid "You don't have enough free space in %s." msgstr "No teniu prou espai lliure en %s." -#: cmdline/apt-get.cc:1209 cmdline/apt-get.cc:1229 +#: cmdline/apt-get.cc:1205 cmdline/apt-get.cc:1225 msgid "Trivial Only specified but this is not a trivial operation." -msgstr "Es va especificar Trivial Only però aquesta operació no és trivial." +msgstr "S'ha especificat «Trivial Only» però aquesta operació no és trivial." -#: cmdline/apt-get.cc:1211 +#: cmdline/apt-get.cc:1207 msgid "Yes, do as I say!" msgstr "Sí, fes el que et dic!" -#: cmdline/apt-get.cc:1213 +#: cmdline/apt-get.cc:1209 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@ -979,31 +1012,31 @@ msgid "" " ?] " msgstr "" "Esteu a punt de fer quelcom potencialment nociu.\n" -"Per a continuar escriviu la frase «%s»\n" +"Per continuar escriviu la frase «%s»\n" " ?] " -#: cmdline/apt-get.cc:1219 cmdline/apt-get.cc:1238 +#: cmdline/apt-get.cc:1215 cmdline/apt-get.cc:1234 msgid "Abort." msgstr "Avortat." -#: cmdline/apt-get.cc:1234 +#: cmdline/apt-get.cc:1230 msgid "Do you want to continue [Y/n]? " msgstr "Voleu continuar [S/n]? " -#: cmdline/apt-get.cc:1306 cmdline/apt-get.cc:2488 apt-pkg/algorithms.cc:1491 +#: cmdline/apt-get.cc:1302 cmdline/apt-get.cc:2427 apt-pkg/algorithms.cc:1470 #, c-format msgid "Failed to fetch %s %s\n" msgstr "No s'ha pogut obtenir %s %s\n" -#: cmdline/apt-get.cc:1324 +#: cmdline/apt-get.cc:1320 msgid "Some files failed to download" msgstr "Alguns fitxers no s'han pogut baixar" -#: cmdline/apt-get.cc:1325 cmdline/apt-get.cc:2497 +#: cmdline/apt-get.cc:1321 cmdline/apt-get.cc:2436 msgid "Download complete and in download only mode" -msgstr "Descàrrega completa i en mode de només descàrrega" +msgstr "Baixada completa i en mode de només baixada" -#: cmdline/apt-get.cc:1331 +#: cmdline/apt-get.cc:1327 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" @@ -1011,19 +1044,19 @@ msgstr "" "No es poden baixar alguns arxius, proveu a executar apt-get update o " "intenteu-ho amb --fix-missing." -#: cmdline/apt-get.cc:1335 +#: cmdline/apt-get.cc:1331 msgid "--fix-missing and media swapping is not currently supported" msgstr "--fix-missing i els medi intercanviables actualment no estan suportats" -#: cmdline/apt-get.cc:1340 +#: cmdline/apt-get.cc:1336 msgid "Unable to correct missing packages." msgstr "No es poden corregir els paquets que falten." -#: cmdline/apt-get.cc:1341 +#: cmdline/apt-get.cc:1337 msgid "Aborting install." -msgstr "S'està avortant la instal·lació." +msgstr "S'està avortant la instaŀlació." -#: cmdline/apt-get.cc:1369 +#: cmdline/apt-get.cc:1365 msgid "" "The following package disappeared from your system as\n" "all files have been overwritten by other packages:" @@ -1037,37 +1070,37 @@ msgstr[1] "" "Els següents paquets han desaparegut del vostre sistema ja\n" "que tots els fitxers s'han sobreescrit per altres paquets:" -#: cmdline/apt-get.cc:1373 +#: cmdline/apt-get.cc:1369 msgid "Note: This is done automatic and on purpose by dpkg." -msgstr "Nota: Això es realitzarà automàticament a propòsit del dpkg." +msgstr "Nota: Això ho fa el dpkg automàticament i a propòsit." -#: cmdline/apt-get.cc:1503 +#: cmdline/apt-get.cc:1499 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" -msgstr "Ignorar la versió objectiu '%s' no disponible del paquet '%s'" +msgstr "Ignora la versió objectiu «%s» no disponible del paquet «%s»" -#: cmdline/apt-get.cc:1535 +#: cmdline/apt-get.cc:1531 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" -msgstr "S'està agafant '%s' com a paquet font en comptes de '%s'\n" +msgstr "S'està agafant «%s» com a paquet font en lloc de '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1573 +#: cmdline/apt-get.cc:1569 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" -msgstr "Ignorar la versió '%s' no disponible del paquet '%s'" +msgstr "Descarta la versió «%s» no disponible del paquet «%s»" -#: cmdline/apt-get.cc:1589 +#: cmdline/apt-get.cc:1585 msgid "The update command takes no arguments" msgstr "L'ordre update no pren arguments" -#: cmdline/apt-get.cc:1651 +#: cmdline/apt-get.cc:1647 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Es suposa que no hauriem de suprimir coses, no es pot iniciar el supressor " "automàtic" -#: cmdline/apt-get.cc:1703 +#: cmdline/apt-get.cc:1699 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1085,226 +1118,221 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1706 cmdline/apt-get.cc:1855 +#: cmdline/apt-get.cc:1702 cmdline/apt-get.cc:1858 msgid "The following information may help to resolve the situation:" msgstr "La informació següent pot ajudar-vos a resoldre la situació:" -#: cmdline/apt-get.cc:1710 +#: cmdline/apt-get.cc:1706 msgid "Internal Error, AutoRemover broke stuff" msgstr "S'ha produït un error intern, el supressor automàtic ha trencat coses" -#: cmdline/apt-get.cc:1717 +#: cmdline/apt-get.cc:1713 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" "The following packages were automatically installed and are no longer " "required:" msgstr[0] "" -"El paquet següent s'ha instal·lat automàticament i ja no serà necessari:" +"El paquet següent s'ha instaŀlat automàticament i ja no serà necessari:" msgstr[1] "" -"Els paquets següents s'han instal·lat automàticament i ja no són necessaris:" +"Els paquets següents s'han instaŀlat automàticament i ja no són necessaris:" -#: cmdline/apt-get.cc:1721 +#: cmdline/apt-get.cc:1717 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" "%lu packages were automatically installed and are no longer required.\n" msgstr[0] "" -"El paquet %lu es va instal·lar automàticament i ja no és necessari:\n" +"El paquet %lu es va instaŀlar automàticament i ja no és necessari:\n" msgstr[1] "" -"Els paquets %lu es van s'instal·lar automàticament i ja no són necessaris:\n" +"Els paquets %lu es van s'instaŀlar automàticament i ja no són necessaris:\n" -#: cmdline/apt-get.cc:1723 +#: cmdline/apt-get.cc:1719 msgid "Use 'apt-get autoremove' to remove them." msgstr "Empreu «apt-get autoremove» per a suprimir-los." -#: cmdline/apt-get.cc:1742 +#: cmdline/apt-get.cc:1738 msgid "Internal error, AllUpgrade broke stuff" msgstr "Error intern, AllUpgrade ha trencat coses" -#: cmdline/apt-get.cc:1825 +#: cmdline/apt-get.cc:1828 msgid "You might want to run 'apt-get -f install' to correct these:" -msgstr "Potser voldreu executar 'apt-get -f install' per a corregir-ho:" +msgstr "Potser voldreu executar «apt-get -f install» per corregir-ho:" -#: cmdline/apt-get.cc:1828 +#: cmdline/apt-get.cc:1831 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -"Dependències insatisfetes. Intenteu 'apt-get -f install' sense paquets (o " +"Dependències insatisfetes. Proveu amb «apt-get -f install» sense paquets (o " "especifiqueu una solució)." -#: cmdline/apt-get.cc:1840 +#: cmdline/apt-get.cc:1843 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" "distribution that some required packages have not yet been created\n" "or been moved out of Incoming." msgstr "" -"No s'han pogut instal·lar alguns paquets. Això pot ser degut a que vàreu\n" -"requerir una situació imposible o a que esteu emprant la distribució\n" -"unstable i alguns paquets requerits encara no han estat creats o bé\n" -"encara no els hi han afegit." +"No s'han pogut instaŀlar alguns paquets. Això pot ser degut a que heu\n" +"demanat una situació impossible o que esteu emprant la distribució\n" +"«unstable» i alguns paquets requerits encara no han estat creats o bé\n" +"encara no els hi han introduït des d'«Incoming»." -#: cmdline/apt-get.cc:1858 +#: cmdline/apt-get.cc:1861 msgid "Broken packages" msgstr "Paquets trencats" -#: cmdline/apt-get.cc:1886 +#: cmdline/apt-get.cc:1889 msgid "The following extra packages will be installed:" -msgstr "S'instal·laran els següents paquets extres:" +msgstr "S'instaŀlaran els següents paquets extres:" -#: cmdline/apt-get.cc:1976 +#: cmdline/apt-get.cc:1979 msgid "Suggested packages:" msgstr "Paquets suggerits:" -#: cmdline/apt-get.cc:1977 +#: cmdline/apt-get.cc:1980 msgid "Recommended packages:" msgstr "Paquets recomanats:" -#: cmdline/apt-get.cc:2019 +#: cmdline/apt-get.cc:2022 #, c-format msgid "Couldn't find package %s" msgstr "No s'ha pogut trobar el paquet %s" -#: cmdline/apt-get.cc:2026 +#: cmdline/apt-get.cc:2029 #, c-format msgid "%s set to automatically installed.\n" -msgstr "S'ha marcat %s com instal·lat automàticament.\n" +msgstr "S'ha marcat %s com instaŀlat automàticament.\n" -#: cmdline/apt-get.cc:2047 +#: cmdline/apt-get.cc:2050 msgid "Calculating upgrade... " -msgstr "S'està calculant l'actualització... " +msgstr "S'està calculant l'actualització… " -#: cmdline/apt-get.cc:2050 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2053 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Ha fallat" -#: cmdline/apt-get.cc:2055 +#: cmdline/apt-get.cc:2058 msgid "Done" msgstr "Fet" -#: cmdline/apt-get.cc:2122 cmdline/apt-get.cc:2130 +#: cmdline/apt-get.cc:2125 cmdline/apt-get.cc:2133 msgid "Internal error, problem resolver broke stuff" msgstr "" "S'ha produït un error intern, el solucionador de problemes ha trencat coses" -#: cmdline/apt-get.cc:2154 cmdline/apt-get.cc:2187 +#: cmdline/apt-get.cc:2157 cmdline/apt-get.cc:2190 msgid "Unable to lock the download directory" msgstr "No és possible blocar el directori de descàrrega" -#: cmdline/apt-get.cc:2238 -#, c-format -msgid "Downloading %s %s" -msgstr "" - -#: cmdline/apt-get.cc:2294 +#: cmdline/apt-get.cc:2233 msgid "Must specify at least one package to fetch source for" msgstr "Haureu d'especificar un paquet de codi font per a baixar" -#: cmdline/apt-get.cc:2334 cmdline/apt-get.cc:2615 +#: cmdline/apt-get.cc:2273 cmdline/apt-get.cc:2554 #, c-format msgid "Unable to find a source package for %s" msgstr "No es pot trobar un paquet de fonts per a %s" -#: cmdline/apt-get.cc:2350 +#: cmdline/apt-get.cc:2289 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -"Avís: L'empaquetat '%s' és mantingut pel sistema de control de versions '%s' " -"a:\n" +"Avís: L'empaquetat de «%s» és mantingut amb el sistema de control de\n" +"versions «%s» a:\n" "%s\n" -#: cmdline/apt-get.cc:2355 +#: cmdline/apt-get.cc:2294 #, c-format msgid "" "Please use:\n" "bzr get %s\n" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -"Utilitzeu:\n" +"Empreu:\n" "bzr get %s\n" -"per a recuperar les últimes actualitzacions (possiblement inèdites) del " +"per a obtenir les últimes actualitzacions (possiblement no publicades) del " "paquet.\n" -#: cmdline/apt-get.cc:2406 +#: cmdline/apt-get.cc:2345 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "S'està ometent el fitxer ja baixat «%s»\n" -#: cmdline/apt-get.cc:2441 +#: cmdline/apt-get.cc:2380 #, c-format msgid "You don't have enough free space in %s" msgstr "No teniu prou espai lliure en %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2449 +#: cmdline/apt-get.cc:2388 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Es necessita baixar %sB/%sB d'arxius font.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2454 +#: cmdline/apt-get.cc:2393 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Es necessita baixar %sB d'arxius font.\n" -#: cmdline/apt-get.cc:2460 +#: cmdline/apt-get.cc:2399 #, c-format msgid "Fetch source %s\n" -msgstr "Obté el font %s\n" +msgstr "Obtén el font %s\n" -#: cmdline/apt-get.cc:2493 +#: cmdline/apt-get.cc:2432 msgid "Failed to fetch some archives." msgstr "No s'ha pogut baixar alguns arxius." -#: cmdline/apt-get.cc:2523 +#: cmdline/apt-get.cc:2462 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" "S'està ometent el desempaquetament de les fonts que ja ho estan en %s\n" -#: cmdline/apt-get.cc:2535 +#: cmdline/apt-get.cc:2474 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "L'ordre de desempaquetar «%s» ha fallat.\n" -#: cmdline/apt-get.cc:2536 +#: cmdline/apt-get.cc:2475 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" -msgstr "Comproveu si el paquet «dpkgdev» està instal·lat.\n" +msgstr "Comproveu si el paquet «dpkgdev» està instaŀlat.\n" -#: cmdline/apt-get.cc:2553 +#: cmdline/apt-get.cc:2492 #, c-format msgid "Build command '%s' failed.\n" msgstr "L'ordre de construir «%s» ha fallat.\n" -#: cmdline/apt-get.cc:2573 +#: cmdline/apt-get.cc:2512 msgid "Child process failed" msgstr "Ha fallat el procés fill" -#: cmdline/apt-get.cc:2589 +#: cmdline/apt-get.cc:2528 msgid "Must specify at least one package to check builddeps for" msgstr "" "S'ha d'especificar un paquet per a verificar les dependències de construcció " "per a" -#: cmdline/apt-get.cc:2620 +#: cmdline/apt-get.cc:2559 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" "No es pot obtenir informació sobre les dependències de construcció per a %s" -#: cmdline/apt-get.cc:2640 +#: cmdline/apt-get.cc:2579 #, c-format msgid "%s has no build depends.\n" msgstr "%s no té dependències de construcció.\n" -#: cmdline/apt-get.cc:2691 +#: cmdline/apt-get.cc:2630 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1313,7 +1341,7 @@ msgstr "" "La dependència %s en %s no es pot satisfer per que no es pot trobar el " "paquet %s" -#: cmdline/apt-get.cc:2744 +#: cmdline/apt-get.cc:2683 #, c-format msgid "" "%s dependency for %s cannot be satisfied because no available versions of " @@ -1322,38 +1350,76 @@ msgstr "" "La dependència %s per a %s no es pot satisfer per que cap versió del paquet " "%s pot satisfer els requeriments de versions" -#: cmdline/apt-get.cc:2780 +#: cmdline/apt-get.cc:2719 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -"No s'ha pogut satisfer la dependència %s per a %s: El paquet instal·lat %s " -"és massa nou" +"No s'ha pogut satisfer la dependència %s per a %s: El paquet instaŀlat %s és " +"massa nou" -#: cmdline/apt-get.cc:2807 +#: cmdline/apt-get.cc:2746 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "No s'ha pogut satisfer la dependència %s per a %s: %s" -#: cmdline/apt-get.cc:2823 +#: cmdline/apt-get.cc:2762 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "No s'han pogut satisfer les dependències de construcció per a %s" -#: cmdline/apt-get.cc:2828 +#: cmdline/apt-get.cc:2767 msgid "Failed to process build dependencies" msgstr "No es poden processar les dependències de construcció" -#: cmdline/apt-get.cc:2921 cmdline/apt-get.cc:2933 -#, fuzzy, c-format -msgid "Changelog for %s (%s)" -msgstr "S'està connectant amb %s (%s)" - -#: cmdline/apt-get.cc:3052 +#: cmdline/apt-get.cc:2798 msgid "Supported modules:" msgstr "Mòduls suportats:" -#: cmdline/apt-get.cc:3093 +#: cmdline/apt-get.cc:2839 #, fuzzy +#| msgid "" +#| "Usage: apt-get [options] command\n" +#| " apt-get [options] install|remove pkg1 [pkg2 ...]\n" +#| " apt-get [options] source pkg1 [pkg2 ...]\n" +#| "\n" +#| "apt-get is a simple command line interface for downloading and\n" +#| "installing packages. The most frequently used commands are update\n" +#| "and install.\n" +#| "\n" +#| "Commands:\n" +#| " update - Retrieve new lists of packages\n" +#| " upgrade - Perform an upgrade\n" +#| " install - Install new packages (pkg is libc6 not libc6.deb)\n" +#| " remove - Remove packages\n" +#| " autoremove - Remove automatically all unused packages\n" +#| " purge - Remove packages and config files\n" +#| " source - Download source archives\n" +#| " build-dep - Configure build-dependencies for source packages\n" +#| " dist-upgrade - Distribution upgrade, see apt-get(8)\n" +#| " dselect-upgrade - Follow dselect selections\n" +#| " clean - Erase downloaded archive files\n" +#| " autoclean - Erase old downloaded archive files\n" +#| " check - Verify that there are no broken dependencies\n" +#| " changelog - Download and display the changelog for the given package\n" +#| " download - Download the binary package into the current directory\n" +#| "\n" +#| "Options:\n" +#| " -h This help text.\n" +#| " -q Loggable output - no progress indicator\n" +#| " -qq No output except for errors\n" +#| " -d Download only - do NOT install or unpack archives\n" +#| " -s No-act. Perform ordering simulation\n" +#| " -y Assume Yes to all queries and do not prompt\n" +#| " -f Attempt to correct a system with broken dependencies in place\n" +#| " -m Attempt to continue if archives are unlocatable\n" +#| " -u Show a list of upgraded packages as well\n" +#| " -b Build the source package after fetching it\n" +#| " -V Show verbose version numbers\n" +#| " -c=? Read this configuration file\n" +#| " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" +#| "See the apt-get(8), sources.list(5) and apt.conf(5) manual\n" +#| "pages for more information and options.\n" +#| " This APT has Super Cow Powers.\n" msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1379,8 +1445,6 @@ msgid "" " check - Verify that there are no broken dependencies\n" " markauto - Mark the given packages as automatically installed\n" " unmarkauto - Mark the given packages as manually installed\n" -" changelog - Download and display the changelog for the given package\n" -" download - Download the binary package into the current directory\n" "\n" "Options:\n" " -h This help text.\n" @@ -1401,17 +1465,17 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" "Forma d'ús: apt-get [opcions] ordre\n" -" apt-get [opcions] install|remove paq1 [paq2 ...]\n" -" apt-get [opcions] source paq1 [paq2 ...]\n" +" apt-get [opcions] install|remove paq1 [paq2 …]\n" +" apt-get [opcions] source paq1 [paq2 …]\n" "\n" -"apt-get és una simple interfície de línia d'ordres per a\n" -"baixar i instal·lar paquets. Les ordres més freqüents\n" -"són update i install.\n" +"apt-get és una interfície de línia d'ordres simple per\n" +"baixar i instaŀlar paquets. Les ordres més freqüents són\n" +"«update» i «install».\n" "\n" "Ordres:\n" -" update - Obté llistes noves dels paquets\n" +" update - Obtén llistes noves dels paquets\n" " upgrade - Realitza una actualització\n" -" install - Instal·la nous paquets (el paquet és libc6 no libc6.deb)\n" +" install - Instaŀla nous paquets (el paquet és libc6, no libc6.deb)\n" " remove - Suprimeix paquets\n" " autoremove - Suprimeix automàticament tots els paquets en desús\n" " purge - Suprimeix i purga paquets\n" @@ -1419,32 +1483,32 @@ msgstr "" " build-dep - Configura dependències de construcció pels paquets font\n" " dist-upgrade - Actualitza la distribució, vegeu apt-get(8)\n" " dselect-upgrade - Segueix les seleccions del dselect\n" -" clean - Esborra els fitxers d'arxiu baixats\n" -" autoclean - Esborra els fitxers d'arxiu antics baixats\n" +" clean - Suprimeix els fitxers d'arxiu baixats\n" +" autoclean - Suprimeix els fitxers d'arxiu antics baixats\n" " check - Verifica que no hi hagi dependències trencades\n" -" markauto - Marca els paquets donats com a instal·lats automàticament\n" -" unmarkauto - Marca els paquets donats com a instal·lats manualment\n" +" changelog - Baixa i mostra el registre de canvis del paquet\n" +" download - Baixa el paquet binari al directori actual\n" "\n" "Opcions:\n" -" -h Aquest text d'ajuda.\n" +" -h Aquest text d'ajuda\n" " -q Sortida enregistrable - sense indicador de progrés\n" " -qq Sense sortida, llevat dels errors\n" -" -d Només baixa - NO instal·les o desempaquetes arxius\n" +" -d Només baixa - NO instaŀles o desempaquetes arxius\n" " -s No actues. Realitza les ordres en mode de simulació\n" -" -y Assumeix que Sí per a totes les preguntes, sense interrupcions\n" +" -y Assumeix «Sí» per a totes les preguntes i no preguntes\n" " -f Intenta corregir un sistema amb dependències trencades\n" -" -m Intenta continuar si no es treben els arxius\n" +" -m Intenta continuar si no es troben els arxius\n" " -u Mostra també una llista dels paquets actualitzats\n" " -b Construeix el paquet font després de baixar-lo\n" " -V Mostra els números de versió detallats\n" " -c=? Llegeix aquest fitxer de configuració\n" -" -o=? Estableix una opció de configuració arbitrària, p.ex.\n" +" -o=? Estableix una opció de configuració arbitrària, p. ex.\n" " -o dir::cache=/tmp\n" -"Vegeu els manuals apt-get(8), sources.list(5) i apt.conf(5)\n" +"Vegeu les pàgines de manual apt-get(8), sources.list(5) i apt.conf(5)\n" "per a obtenir més informació i opcions.\n" -" Aquest APT té superpoders bovins\n" +" Aquest APT té superpoders bovins.\n" -#: cmdline/apt-get.cc:3254 +#: cmdline/apt-get.cc:2995 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1475,7 +1539,7 @@ msgstr "Err " #: cmdline/acqprogress.cc:137 #, c-format msgid "Fetched %sB in %s (%sB/s)\n" -msgstr "%sB baixats en %s (%sB/s)\n" +msgstr "S'ha baixat %sB en %s (%sB/s)\n" #: cmdline/acqprogress.cc:227 #, c-format @@ -1510,20 +1574,20 @@ msgid "" " -c=? Read this configuration file\n" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" -"Forma d'ús: apt-sortpkgs [opcions] fitxer1 [fitxer2 ...]\n" +"Forma d'ús: apt-sortpkgs [opcions] fitxer1 [fitxer2 …]\n" "\n" -"apt-sortpkgs és una simple eina per a ordenar fitxers de paquets.\n" +"apt-sortpkgs és una eina simple per ordenar fitxers de paquets.\n" "L'opció -s s'usa per a indicar quin tipus de fitxer és.\n" "\n" "Opcions:\n" " -h Aquest text d'ajuda.\n" " -s Empra l'ordenació de fitxers font\n" " -c=? Llegeix aquest fitxer de configuració\n" -" -o=? Estableix una opció de configuració, p.ex: -o dir::cache=/tmp\n" +" -o=? Estableix una opció de configuració, p. ex: -o dir::cache=/tmp\n" #: dselect/install:32 msgid "Bad default setting!" -msgstr "Paràmetre establert incorrecte!" +msgstr "Paràmetre per defecte incorrecte!" #: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:94 #: dselect/install:105 dselect/update:45 @@ -1537,8 +1601,7 @@ msgstr "Voleu suprimir els paquets .deb baixats prèviament?" #: dselect/install:101 msgid "Some errors occurred while unpacking. Packages that were installed" msgstr "" -"S'han produït alguns errors en desempaquetar. Els paquets que s'han " -"instal·lat" +"S'han produït alguns errors en desempaquetar. Els paquets que s'han instaŀlat" #: dselect/install:102 msgid "will be configured. This may result in duplicate errors" @@ -1554,8 +1617,8 @@ msgstr "" msgid "" "above this message are important. Please fix them and run [I]nstall again" msgstr "" -"anteriors a aquest missatge són importants. Arregleu-los i torneu a executar " -"[I]nstal·la una altra vegada" +"anteriors a aquest missatge són importants. Corregiu-los i torneu a executar " +"[I]nstaŀla una altra vegada" #: dselect/update:30 msgid "Merging available information" @@ -1569,7 +1632,7 @@ msgstr "No es poden crear els conductes" msgid "Failed to exec gzip " msgstr "No es pot executar el gzip " -#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:208 +#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:204 msgid "Corrupted archive" msgstr "Arxiu corromput" @@ -1577,7 +1640,7 @@ msgstr "Arxiu corromput" msgid "Tar checksum failed, archive corrupted" msgstr "La suma de comprovació de tar ha fallat, arxiu corromput" -#: apt-inst/contrib/extracttar.cc:300 +#: apt-inst/contrib/extracttar.cc:296 #, c-format msgid "Unknown TAR header type %u, member %s" msgstr "Capçalera TAR desconeguda del tipus %u, membre %s" @@ -1685,28 +1748,28 @@ msgstr "No s'ha trobat el node dins de la taula" msgid "The path is too long" msgstr "La ruta és massa llarga" -#: apt-inst/extract.cc:412 +#: apt-inst/extract.cc:414 #, c-format msgid "Overwrite package match with no version for %s" msgstr "S'està sobreescrivint el corresponent paquet sense versió per a %s" -#: apt-inst/extract.cc:429 +#: apt-inst/extract.cc:431 #, c-format msgid "File %s/%s overwrites the one in the package %s" msgstr "El fitxer %s/%s sobreescriu al que està en el paquet %s" #. Only warn if there are no sources.list.d. #. Only warn if there is no sources.list file. -#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 -#: apt-pkg/contrib/fileutl.cc:334 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:103 -#: apt-pkg/init.cc:111 apt-pkg/clean.cc:33 apt-pkg/policy.cc:309 +#: apt-inst/extract.cc:464 apt-pkg/contrib/cdromutl.cc:179 +#: apt-pkg/contrib/fileutl.cc:329 apt-pkg/sourcelist.cc:204 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 +#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:307 #: methods/mirror.cc:87 #, c-format msgid "Unable to read %s" msgstr "No es pot llegir %s" -#: apt-inst/extract.cc:489 +#: apt-inst/extract.cc:491 #, c-format msgid "Unable to stat %s" msgstr "No es pot veure l'estat de %s" @@ -1732,9 +1795,9 @@ msgstr "" "La info i els directoris temp necessiten estar en el mateix sistema de " "fitxers" -#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1074 -#: apt-pkg/pkgcachegen.cc:1178 apt-pkg/pkgcachegen.cc:1184 -#: apt-pkg/pkgcachegen.cc:1330 +#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1070 +#: apt-pkg/pkgcachegen.cc:1174 apt-pkg/pkgcachegen.cc:1180 +#: apt-pkg/pkgcachegen.cc:1326 msgid "Reading package lists" msgstr "S'està llegint la llista de paquets" @@ -1760,7 +1823,7 @@ msgid "" "package!" msgstr "" "No s'ha pogut obrir la llista del fitxer «%sinfo/%s». Si no podeu restaurar " -"aquest fitxer, creeu-lo buit i torneu a instal·lar immediatament la mateixa " +"aquest fitxer, creeu-lo buit i torneu a instaŀlar immediatament la mateixa " "versió del paquet!" #: apt-inst/deb/dpkgdb.cc:225 apt-inst/deb/dpkgdb.cc:238 @@ -1837,28 +1900,24 @@ msgstr "No s'ha trobat un fitxer de control vàlid" msgid "Unparsable control file" msgstr "El fitxer de control no es pot analitzar" -#: methods/bzip2.cc:60 methods/gzip.cc:52 -msgid "Empty files can't be valid archives" -msgstr "" - -#: methods/bzip2.cc:64 +#: methods/bzip2.cc:65 #, c-format msgid "Couldn't open pipe for %s" msgstr "No s'ha pogut obrir un conducte per a %s" -#: methods/bzip2.cc:108 +#: methods/bzip2.cc:109 #, c-format msgid "Read error from %s process" msgstr "S'ha produït un error en llegir des del procés %s" -#: methods/bzip2.cc:140 methods/bzip2.cc:149 methods/copy.cc:43 -#: methods/gzip.cc:92 methods/gzip.cc:101 methods/rred.cc:524 -#: methods/rred.cc:533 +#: methods/bzip2.cc:141 methods/bzip2.cc:150 methods/copy.cc:43 +#: methods/gzip.cc:93 methods/gzip.cc:102 methods/rred.cc:486 +#: methods/rred.cc:495 msgid "Failed to stat" msgstr "L'estat ha fallat" -#: methods/bzip2.cc:146 methods/copy.cc:80 methods/gzip.cc:98 -#: methods/rred.cc:530 +#: methods/bzip2.cc:147 methods/copy.cc:80 methods/gzip.cc:99 +#: methods/rred.cc:492 msgid "Failed to set modification time" msgstr "No s'ha pogut establir el temps de modificació" @@ -1935,7 +1994,7 @@ msgstr "" #: methods/ftp.cc:271 #, c-format msgid "Login script command '%s' failed, server said: %s" -msgstr "L'ordre '%s' de l'script d'accés ha fallat, el servidor ha dit: %s" +msgstr "L'ordre «%s» de l'script d'accés ha fallat, el servidor ha dit: %s" #: methods/ftp.cc:297 #, c-format @@ -1950,19 +2009,19 @@ msgstr "Temps de connexió finalitzat" msgid "Server closed the connection" msgstr "El servidor ha tancat la connexió" -#: methods/ftp.cc:344 apt-pkg/contrib/fileutl.cc:811 methods/rsh.cc:190 +#: methods/ftp.cc:344 apt-pkg/contrib/fileutl.cc:802 methods/rsh.cc:190 msgid "Read error" msgstr "Error de lectura" #: methods/ftp.cc:351 methods/rsh.cc:197 msgid "A response overflowed the buffer." -msgstr "Una resposta ha desbordat la memòria temporal." +msgstr "Una resposta ha desbordat la memòria intermèdia." #: methods/ftp.cc:368 methods/ftp.cc:380 msgid "Protocol corruption" msgstr "Protocol corromput" -#: methods/ftp.cc:452 apt-pkg/contrib/fileutl.cc:853 methods/rsh.cc:232 +#: methods/ftp.cc:452 apt-pkg/contrib/fileutl.cc:844 methods/rsh.cc:232 msgid "Write error" msgstr "Error d'escriptura" @@ -1985,7 +2044,7 @@ msgstr "gettaddrinfo no es pot obtenir un sòcol que escolte" # abastar? huh? jm #: methods/ftp.cc:741 msgid "Could not bind a socket" -msgstr "No s'ha pogut abastar un connector" +msgstr "No s'ha pogut vincular a un connector" #: methods/ftp.cc:745 msgid "Could not listen on the socket" @@ -2024,7 +2083,7 @@ msgstr "Problema escollint el fitxer" #: methods/ftp.cc:882 #, c-format msgid "Unable to fetch file, server said '%s'" -msgstr "No és possible reprendre el fitxer, el servidor ha dit '%s'" +msgstr "No és possible obtenir el fitxer, el servidor ha dit '%s'" #: methods/ftp.cc:897 methods/rsh.cc:321 msgid "Data socket timed out" @@ -2105,7 +2164,7 @@ msgstr "No es pot connectar amb %s:%s:" #: methods/gpgv.cc:71 #, c-format msgid "No keyring installed in %s." -msgstr "No s'ha instal·lat cap clauer a %s." +msgstr "No s'ha instaŀlat cap clauer a %s." #: methods/gpgv.cc:163 msgid "" @@ -2121,8 +2180,8 @@ msgstr "S'ha trobat almenys una signatura invàlida." #: methods/gpgv.cc:172 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -"No s'ha pogut executar 'gpgv' per a verificar la firma (està instal·lat el " -"gpgv?)" +"No s'ha pogut executar «gpgv» per a verificar la signatura (està instaŀlat " +"el gpgv?)" #: methods/gpgv.cc:177 msgid "Unknown error executing gpgv" @@ -2202,7 +2261,7 @@ msgstr "" msgid "Error reading from server" msgstr "S'ha produït un error en llegir des del servidor" -#: methods/http.cc:991 apt-pkg/contrib/mmap.cc:283 +#: methods/http.cc:991 apt-pkg/contrib/mmap.cc:281 msgid "Failed to truncate file" msgstr "No s'ha pogut truncar el fitxer %s" @@ -2240,7 +2299,7 @@ msgstr "No es pot tancar el mmap" msgid "Unable to synchronize mmap" msgstr "No es pot sincronitzar el mmap" -#: apt-pkg/contrib/mmap.cc:302 +#: apt-pkg/contrib/mmap.cc:300 #, c-format msgid "" "Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. " @@ -2249,7 +2308,7 @@ msgstr "" "No hi ha espai per al «Dynamic MMap». Incrementeu la mida d'APT::Cache-" "Limit. Valor actual: %lu. (man 5 apt.conf)" -#: apt-pkg/contrib/mmap.cc:401 +#: apt-pkg/contrib/mmap.cc:399 #, c-format msgid "" "Unable to increase the size of the MMap as the limit of %lu bytes is already " @@ -2258,7 +2317,7 @@ msgstr "" "No s'ha pogut incrementar la mida del MMap ja que el limit de %lu bytes ja " "s'ha superat." -#: apt-pkg/contrib/mmap.cc:404 +#: apt-pkg/contrib/mmap.cc:402 msgid "" "Unable to increase size of the MMap as automatic growing is disabled by user." msgstr "" @@ -2289,7 +2348,7 @@ msgstr "%limin %lis" msgid "%lis" msgstr "%lis" -#: apt-pkg/contrib/strutl.cc:1136 +#: apt-pkg/contrib/strutl.cc:1119 #, c-format msgid "Selection %s not found" msgstr "No s'ha trobat la selecció %s" @@ -2354,12 +2413,12 @@ msgstr "Error sintàctic %s:%u: Text extra al final del fitxer" #: apt-pkg/contrib/progress.cc:153 #, c-format msgid "%c%s... Error!" -msgstr "%c%s... Error!" +msgstr "%c%s… Error!" #: apt-pkg/contrib/progress.cc:155 #, c-format msgid "%c%s... Done" -msgstr "%c%s... Fet" +msgstr "%c%s… Fet" #: apt-pkg/contrib/cmndline.cc:77 #, c-format @@ -2423,114 +2482,98 @@ msgstr "No es pot canviar a %s" msgid "Failed to stat the cdrom" msgstr "No s'ha pogut fer «stat» del cdrom" -#: apt-pkg/contrib/fileutl.cc:159 +#: apt-pkg/contrib/fileutl.cc:154 #, c-format msgid "Not using locking for read only lock file %s" msgstr "" "No s'empren blocats per a llegir el fitxer de blocat de sols lectura %s" -#: apt-pkg/contrib/fileutl.cc:164 +#: apt-pkg/contrib/fileutl.cc:159 #, c-format msgid "Could not open lock file %s" msgstr "No es pot resoldre el fitxer de blocat %s" -#: apt-pkg/contrib/fileutl.cc:182 +#: apt-pkg/contrib/fileutl.cc:177 #, c-format msgid "Not using locking for nfs mounted lock file %s" msgstr "No s'empren blocats per al fitxer de blocat %s de muntar nfs" -#: apt-pkg/contrib/fileutl.cc:186 +#: apt-pkg/contrib/fileutl.cc:181 #, c-format msgid "Could not get lock %s" msgstr "No s'ha pogut blocar %s" -#: apt-pkg/contrib/fileutl.cc:326 +#: apt-pkg/contrib/fileutl.cc:321 #, c-format msgid "List of files can't be created as '%s' is not a directory" -msgstr "" - -#: apt-pkg/contrib/fileutl.cc:353 -#, c-format -msgid "Ignoring '%s' in directory '%s' as it is not a regular file" -msgstr "" +msgstr "No es pot crear la llista de fitxers perquè «%s» no és un directori" -#: apt-pkg/contrib/fileutl.cc:371 -#, c-format -msgid "Ignoring file '%s' in directory '%s' as it has no filename extension" -msgstr "" - -#: apt-pkg/contrib/fileutl.cc:380 -#, c-format -msgid "" -"Ignoring file '%s' in directory '%s' as it has an invalid filename extension" -msgstr "" - -#: apt-pkg/contrib/fileutl.cc:670 +#: apt-pkg/contrib/fileutl.cc:661 #, c-format msgid "Waited for %s but it wasn't there" msgstr "Esperava %s però no hi era" -#: apt-pkg/contrib/fileutl.cc:682 +#: apt-pkg/contrib/fileutl.cc:673 #, c-format msgid "Sub-process %s received a segmentation fault." -msgstr "Sub-procés %s ha rebut una violació de segment." +msgstr "El sub-procés %s ha rebut una violació de segment." -#: apt-pkg/contrib/fileutl.cc:684 +#: apt-pkg/contrib/fileutl.cc:675 #, c-format msgid "Sub-process %s received signal %u." -msgstr "Sub-procés %s ha rebut una senyal %u." +msgstr "El sub-procés %s ha rebut un senyal %u." -#: apt-pkg/contrib/fileutl.cc:688 +#: apt-pkg/contrib/fileutl.cc:679 #, c-format msgid "Sub-process %s returned an error code (%u)" -msgstr "Sub-procés %s ha retornat un codi d'error (%u)" +msgstr "El sub-procés %s ha retornat un codi d'error (%u)" -#: apt-pkg/contrib/fileutl.cc:690 +#: apt-pkg/contrib/fileutl.cc:681 #, c-format msgid "Sub-process %s exited unexpectedly" msgstr "El sub-procés %s ha sortit inesperadament" -#: apt-pkg/contrib/fileutl.cc:755 +#: apt-pkg/contrib/fileutl.cc:746 #, c-format msgid "Could not open file %s" msgstr "No s'ha pogut obrir el fitxer %s" -#: apt-pkg/contrib/fileutl.cc:772 +#: apt-pkg/contrib/fileutl.cc:763 #, c-format msgid "Could not open file descriptor %d" msgstr "No s'ha pogut obrir el descriptor del fitxer %d" -#: apt-pkg/contrib/fileutl.cc:832 +#: apt-pkg/contrib/fileutl.cc:823 #, c-format msgid "read, still have %lu to read but none left" msgstr "llegits, falten %lu per llegir, però no queda res" -#: apt-pkg/contrib/fileutl.cc:865 +#: apt-pkg/contrib/fileutl.cc:856 #, c-format msgid "write, still have %lu to write but couldn't" msgstr "escrits, falten %lu per escriure però no s'ha pogut" -#: apt-pkg/contrib/fileutl.cc:1001 +#: apt-pkg/contrib/fileutl.cc:985 #, c-format msgid "Problem closing the gzip file %s" msgstr "Ha hagut un problema en tancar el fitxer gzip %s" -#: apt-pkg/contrib/fileutl.cc:1004 +#: apt-pkg/contrib/fileutl.cc:988 #, c-format msgid "Problem closing the file %s" msgstr "Ha hagut un problema en tancar el fitxer %s" -#: apt-pkg/contrib/fileutl.cc:1009 +#: apt-pkg/contrib/fileutl.cc:993 #, c-format msgid "Problem renaming the file %s to %s" msgstr "Ha hagut un problema en reanomenar el fitxer %s a %s" -#: apt-pkg/contrib/fileutl.cc:1020 +#: apt-pkg/contrib/fileutl.cc:1004 #, c-format msgid "Problem unlinking the file %s" msgstr "Ha hagut un problema en desenllaçar el fitxer %s" -#: apt-pkg/contrib/fileutl.cc:1033 +#: apt-pkg/contrib/fileutl.cc:1017 msgid "Problem syncing the file" msgstr "Ha hagut un problema en sincronitzar el fitxer" @@ -2642,7 +2685,7 @@ msgstr "No s'ha pogut escriure el fitxer d'estat temporal %s" msgid "Internal error, group '%s' has no installable pseudo package" msgstr "" "S'ha produït un error intern, el grup '%s' no disposa d'un pseudopaquet " -"instal·lable" +"instaŀlable" #: apt-pkg/tagfile.cc:102 #, c-format @@ -2743,7 +2786,7 @@ msgid "" "package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if " "you really want to do it, activate the APT::Force-LoopBreak option." msgstr "" -"Aquesta instal·lació requereix suprimir temporalment el paquet essencial %s " +"Aquesta instaŀlació requereix suprimir temporalment el paquet essencial %s " "per qüestió d'un bucle de Conflictes/Pre-dependències. Això sol ser una cosa " "dolenta, però si realment desitgeu fer-la, activeu l'opció APT::Force-" "LoopBreak." @@ -2762,14 +2805,14 @@ msgstr "" msgid "Index file type '%s' is not supported" msgstr "El tipus de fitxer índex «%s» no està suportat" -#: apt-pkg/algorithms.cc:313 +#: apt-pkg/algorithms.cc:292 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" -"El paquet %s necessita ser reinstal·lat, però no se li pot trobar un arxiu." +"El paquet %s necessita ser reinstaŀlat, però no se li pot trobar un arxiu." -#: apt-pkg/algorithms.cc:1239 +#: apt-pkg/algorithms.cc:1218 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." @@ -2777,20 +2820,23 @@ msgstr "" "Error, pkgProblemResolver::Resolve ha generat pauses, això pot haver estat " "causat per paquets retinguts." -#: apt-pkg/algorithms.cc:1241 +#: apt-pkg/algorithms.cc:1220 msgid "Unable to correct problems, you have held broken packages." msgstr "" "No es poden corregir els problemes, teniu paquets retinguts que estan " "trencats." -#: apt-pkg/algorithms.cc:1517 apt-pkg/algorithms.cc:1519 +#: apt-pkg/algorithms.cc:1496 apt-pkg/algorithms.cc:1498 #, fuzzy +#| msgid "" +#| "Some index files failed to download. They have been ignored, or old ones " +#| "used instead." msgid "" -"Some index files failed to download. They have been ignored, or old ones " +"Some index files failed to download, they have been ignored, or old ones " "used instead." msgstr "" -"No es poden baixar alguns fitxers índex, s'han ignorat o en el seu lloc " -"s'han emprat els antics." +"Alguns índex no s'han pogut baixar. S'han descartat, o en el seu lloc s'han " +"emprat els antics." #: apt-pkg/acquire.cc:79 #, c-format @@ -2834,12 +2880,12 @@ msgstr "El mètode %s no s'ha iniciat correctament" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Inseriu el disc amb l'etiqueta: «%s» en la unitat «%s» i premeu Intro." -#: apt-pkg/init.cc:146 +#: apt-pkg/init.cc:143 #, c-format msgid "Packaging system '%s' is not supported" msgstr "El sistema d'empaquetament «%s» no està suportat" -#: apt-pkg/init.cc:162 +#: apt-pkg/init.cc:159 msgid "Unable to determine a suitable packaging system type" msgstr "No es pot determinar un tipus de sistema d'empaquetament adequat." @@ -2866,17 +2912,17 @@ msgstr "" msgid "The list of sources could not be read." msgstr "No s'ha pogut llegir la llista de les fonts." -#: apt-pkg/policy.cc:346 +#: apt-pkg/policy.cc:344 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Registre no vàlid al fitxer de preferències %s, paquet sense capçalera" -#: apt-pkg/policy.cc:368 +#: apt-pkg/policy.cc:366 #, c-format msgid "Did not understand pin type %s" msgstr "No s'ha entès el pin de tipus %s" -#: apt-pkg/policy.cc:376 +#: apt-pkg/policy.cc:374 msgid "No priority (or zero) specified for pin" msgstr "No hi ha prioritat especificada per al pin (o és zero)" @@ -2964,16 +3010,16 @@ msgid "Package %s %s was not found while processing file dependencies" msgstr "" "No s'ha trobat el paquet %s %s en processar les dependències del fitxer" -#: apt-pkg/pkgcachegen.cc:986 +#: apt-pkg/pkgcachegen.cc:982 #, c-format msgid "Couldn't stat source package list %s" msgstr "No s'ha pogut llegir la llista de paquets font %s" -#: apt-pkg/pkgcachegen.cc:1091 +#: apt-pkg/pkgcachegen.cc:1087 msgid "Collecting File Provides" msgstr "S'estan recollint els fitxers que proveeixen" -#: apt-pkg/pkgcachegen.cc:1269 apt-pkg/pkgcachegen.cc:1276 +#: apt-pkg/pkgcachegen.cc:1265 apt-pkg/pkgcachegen.cc:1272 msgid "IO Error saving source cache" msgstr "Error d'E/S en desar la memòria cau de la font" @@ -2982,60 +3028,48 @@ msgstr "Error d'E/S en desar la memòria cau de la font" msgid "rename failed, %s (%s -> %s)." msgstr "no s'ha pogut canviar el nom, %s (%s -> %s)." -#: apt-pkg/acquire-item.cc:629 +#: apt-pkg/acquire-item.cc:484 msgid "MD5Sum mismatch" msgstr "La suma MD5 no concorda" -#: apt-pkg/acquire-item.cc:887 apt-pkg/acquire-item.cc:1781 -#: apt-pkg/acquire-item.cc:1924 +#: apt-pkg/acquire-item.cc:746 apt-pkg/acquire-item.cc:1574 +#: apt-pkg/acquire-item.cc:1717 msgid "Hash Sum mismatch" msgstr "La suma resum no concorda" -#: apt-pkg/acquire-item.cc:1341 -#, c-format -msgid "" -"Unable to find expected entry '%s' in Release file (Wrong sources.list entry " -"or malformed file)" -msgstr "" - -#: apt-pkg/acquire-item.cc:1356 -#, fuzzy, c-format -msgid "Unable to find hash sum for '%s' in Release file" -msgstr "No es pot analitzar el fitxer Release %s" - -#: apt-pkg/acquire-item.cc:1415 +#: apt-pkg/acquire-item.cc:1244 msgid "There is no public key available for the following key IDs:\n" msgstr "No hi ha cap clau pública disponible per als següents ID de clau:\n" #. TRANSLATOR: The first %s is the URL of the bad Release file, the second is #. the time since then the file is invalid - formated in the same way as in #. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1452 +#: apt-pkg/acquire-item.cc:1281 #, c-format msgid "Release file expired, ignoring %s (invalid since %s)" msgstr "El fitxer Release ha caducat, s'està ignorant %s (invàlid des de %s)" -#: apt-pkg/acquire-item.cc:1473 +#: apt-pkg/acquire-item.cc:1302 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Distribució en conflicte: %s (s'esperava %s però s'ha obtingut %s)" -#: apt-pkg/acquire-item.cc:1506 +#: apt-pkg/acquire-item.cc:1328 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " "updated and the previous index files will be used. GPG error: %s: %s\n" msgstr "" -"S'ha produït un error durant la verificació de la firma. El repositori no " -"està actualitzat i serà utilitzat el fitxer d'índex anterior. error GPG: %s: " +"S'ha produït un error durant la verificació de la signatura. El dipòsit no " +"està actualitzat i s'emprarà el fitxer d'índex anterior. Error del GPG: %s: " "%s\n" -#: apt-pkg/acquire-item.cc:1515 +#: apt-pkg/acquire-item.cc:1337 #, c-format msgid "GPG error: %s: %s" msgstr "S'ha produït un error amb el GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1572 +#: apt-pkg/acquire-item.cc:1365 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3045,16 +3079,16 @@ msgstr "" "significar que haureu d'arreglar aquest paquet manualment (segons " "arquitectura)." -#: apt-pkg/acquire-item.cc:1631 +#: apt-pkg/acquire-item.cc:1424 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "No s'ha trobat un fitxer pel paquet %s. Això podria significar que haureu " "d'arreglar aquest paquet manualment." -#: apt-pkg/acquire-item.cc:1686 +#: apt-pkg/acquire-item.cc:1479 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3062,7 +3096,7 @@ msgstr "" "L'índex dels fitxers en el paquet està corromput. Fitxer no existent: camp " "per al paquet %s." -#: apt-pkg/acquire-item.cc:1773 +#: apt-pkg/acquire-item.cc:1566 msgid "Size mismatch" msgstr "La mida no concorda" @@ -3071,22 +3105,22 @@ msgstr "La mida no concorda" msgid "Unable to parse Release file %s" msgstr "No es pot analitzar el fitxer Release %s" -#: apt-pkg/indexrecords.cc:63 +#: apt-pkg/indexrecords.cc:60 #, c-format msgid "No sections in Release file %s" msgstr "No hi ha seccions al fitxer Release %s" -#: apt-pkg/indexrecords.cc:97 +#: apt-pkg/indexrecords.cc:94 #, c-format msgid "No Hash entry in Release file %s" msgstr "No hi ha una entrada Hash al fitxer Release %s" -#: apt-pkg/indexrecords.cc:110 +#: apt-pkg/indexrecords.cc:107 #, c-format msgid "Invalid 'Valid-Until' entry in Release file %s" msgstr "No hi ha una entrada 'Valid-Until' vàlida al fitxer Release %s" -#: apt-pkg/indexrecords.cc:125 +#: apt-pkg/indexrecords.cc:122 #, c-format msgid "Invalid 'Date' entry in Release file %s" msgstr "No hi ha una entrada 'date' al fitxer Release %s" @@ -3107,7 +3141,7 @@ msgstr "" #: apt-pkg/cdrom.cc:527 apt-pkg/cdrom.cc:615 msgid "Identifying.. " -msgstr "S'està identificant..." +msgstr "S'està identificant…" #: apt-pkg/cdrom.cc:552 #, c-format @@ -3116,7 +3150,7 @@ msgstr "S'ha emmagatzemat l'etiqueta: %s\n" #: apt-pkg/cdrom.cc:559 apt-pkg/cdrom.cc:827 msgid "Unmounting CD-ROM...\n" -msgstr "S'esta desmuntant el CD-ROM...\n" +msgstr "S'esta desmuntant el CD-ROM…\n" #: apt-pkg/cdrom.cc:578 #, c-format @@ -3129,16 +3163,16 @@ msgstr "S'està desmuntant el CD-ROM\n" #: apt-pkg/cdrom.cc:600 msgid "Waiting for disc...\n" -msgstr "S'està esperant al disc...\n" +msgstr "S'està esperant al disc…\n" #. Mount the new CDROM #: apt-pkg/cdrom.cc:608 msgid "Mounting CD-ROM...\n" -msgstr "S'està muntant el CD-ROM...\n" +msgstr "S'està muntant el CD-ROM…\n" #: apt-pkg/cdrom.cc:626 msgid "Scanning disc for index files..\n" -msgstr "S'està analitzant el disc per a fitxers d'índex...\n" +msgstr "S'està analitzant el disc per a fitxers d'índex…\n" #: apt-pkg/cdrom.cc:666 #, c-format @@ -3177,7 +3211,7 @@ msgstr "" #: apt-pkg/cdrom.cc:752 msgid "Copying package lists..." -msgstr "S'estan copiant les llistes de paquets..." +msgstr "S'estan copiant les llistes de paquets…" #: apt-pkg/cdrom.cc:778 msgid "Writing new source list\n" @@ -3187,22 +3221,22 @@ msgstr "S'està escrivint una nova llista de fonts\n" msgid "Source list entries for this disc are:\n" msgstr "Les entrades de la llista de fonts per a aquest disc són:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:908 #, c-format msgid "Wrote %i records.\n" msgstr "S'han escrit %i registres.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:910 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "S'han escrit %i registres, on falten %i fitxers.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:913 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "S'han escrit %i registres, on hi ha %i fitxers no coincidents\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:916 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3237,18 +3271,18 @@ msgstr "No s'ha trobat la versió «%s» per a «%s»" #: apt-pkg/cacheset.cc:447 #, c-format msgid "Couldn't find task '%s'" -msgstr "No s'ha pogut trobar la tasca '%s'" +msgstr "No s'ha pogut trobar la tasca «%s»" #: apt-pkg/cacheset.cc:454 #, c-format msgid "Couldn't find any package by regex '%s'" -msgstr "No s'ha pogut trobar el paquet a través de l'expressió regular '%s'" +msgstr "No s'ha pogut trobar el paquet a través de l'expressió regular «%s»" #: apt-pkg/cacheset.cc:467 #, c-format msgid "Can't select versions from package '%s' as it is purely virtual" msgstr "" -"No s'han pogut seleccionar les versions del paquet '%s' ja que és purament " +"No s'han pogut seleccionar les versions del paquet «%s» ja que és purament " "virtual" #: apt-pkg/cacheset.cc:475 apt-pkg/cacheset.cc:483 @@ -3257,14 +3291,14 @@ msgid "" "Can't select installed nor candidate version from package '%s' as it has " "neither of them" msgstr "" -"No s'han pogut seleccionar la versió instal·lada ni la candidata del paquet " -"'%s' ja que no estan disponibles cap de les dues" +"No s'han pogut seleccionar la versió instaŀlada ni la candidata del paquet " +"«%s» ja que no estan disponibles cap de les dues" #: apt-pkg/cacheset.cc:491 #, c-format msgid "Can't select newest version from package '%s' as it is purely virtual" msgstr "" -"No s'ha pogut seleccionar la versió més nova del paquet '%s' ja que és " +"No s'ha pogut seleccionar la versió més nova del paquet «%s» ja que és " "purament virtual" #: apt-pkg/cacheset.cc:499 @@ -3278,20 +3312,20 @@ msgstr "" #, c-format msgid "Can't select installed version from package %s as it is not installed" msgstr "" -"No s'ha pogut seleccionar la versió instal·lada del paquet %s ja que no està " -"instal·lada" +"No s'ha pogut seleccionar la versió instaŀlada del paquet %s ja que no està " +"instaŀlada" #: apt-pkg/deb/dpkgpm.cc:52 #, c-format msgid "Installing %s" -msgstr "S'està instal·lant %s" +msgstr "S'està instaŀlant %s" -#: apt-pkg/deb/dpkgpm.cc:53 apt-pkg/deb/dpkgpm.cc:819 +#: apt-pkg/deb/dpkgpm.cc:53 apt-pkg/deb/dpkgpm.cc:823 #, c-format msgid "Configuring %s" msgstr "S'està configurant el paquet %s" -#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:826 +#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:830 #, c-format msgid "Removing %s" msgstr "S'està suprimint el paquet %s" @@ -3309,79 +3343,79 @@ msgstr "Anotant la desaparició de %s" #: apt-pkg/deb/dpkgpm.cc:57 #, c-format msgid "Running post-installation trigger %s" -msgstr "S'està executant l'activador de postinstal·lació %s" +msgstr "S'està executant l'activador de postinstaŀlació %s" #. FIXME: use a better string after freeze -#: apt-pkg/deb/dpkgpm.cc:642 +#: apt-pkg/deb/dpkgpm.cc:646 #, c-format msgid "Directory '%s' missing" msgstr "Manca el directori «%s»" -#: apt-pkg/deb/dpkgpm.cc:657 apt-pkg/deb/dpkgpm.cc:671 +#: apt-pkg/deb/dpkgpm.cc:661 apt-pkg/deb/dpkgpm.cc:675 #, c-format msgid "Could not open file '%s'" -msgstr "No s'ha pogut obrir el fitxer '%s'" +msgstr "No s'ha pogut obrir el fitxer «%s»" -#: apt-pkg/deb/dpkgpm.cc:812 +#: apt-pkg/deb/dpkgpm.cc:816 #, c-format msgid "Preparing %s" msgstr "S'està preparant el paquet %s" -#: apt-pkg/deb/dpkgpm.cc:813 +#: apt-pkg/deb/dpkgpm.cc:817 #, c-format msgid "Unpacking %s" msgstr "S'està desempaquetant %s" -#: apt-pkg/deb/dpkgpm.cc:818 +#: apt-pkg/deb/dpkgpm.cc:822 #, c-format msgid "Preparing to configure %s" msgstr "S'està preparant per a configurar el paquet %s" -#: apt-pkg/deb/dpkgpm.cc:820 +#: apt-pkg/deb/dpkgpm.cc:824 #, c-format msgid "Installed %s" -msgstr "S'ha instal·lat el paquet %s" +msgstr "S'ha instaŀlat el paquet %s" -#: apt-pkg/deb/dpkgpm.cc:825 +#: apt-pkg/deb/dpkgpm.cc:829 #, c-format msgid "Preparing for removal of %s" msgstr "S'està preparant per a la supressió del paquet %s" -#: apt-pkg/deb/dpkgpm.cc:827 +#: apt-pkg/deb/dpkgpm.cc:831 #, c-format msgid "Removed %s" msgstr "S'ha suprimit el paquet %s" -#: apt-pkg/deb/dpkgpm.cc:832 +#: apt-pkg/deb/dpkgpm.cc:836 #, c-format msgid "Preparing to completely remove %s" msgstr "S'està preparant per a suprimir completament el paquet %s" -#: apt-pkg/deb/dpkgpm.cc:833 +#: apt-pkg/deb/dpkgpm.cc:837 #, c-format msgid "Completely removed %s" msgstr "S'ha suprimit completament el paquet %s" -#: apt-pkg/deb/dpkgpm.cc:1039 +#: apt-pkg/deb/dpkgpm.cc:1043 msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" msgstr "" "No es pot escriure el registre, ha fallat openpty() (no s'ha muntat /dev/" "pts?)\n" -#: apt-pkg/deb/dpkgpm.cc:1070 +#: apt-pkg/deb/dpkgpm.cc:1074 msgid "Running dpkg" msgstr "S'està executant dpkg" -#: apt-pkg/deb/dpkgpm.cc:1273 +#: apt-pkg/deb/dpkgpm.cc:1277 msgid "No apport report written because MaxReports is reached already" msgstr "No s'ha escrit cap informe perquè ja s'ha superat MaxReports" #. check if its not a follow up error -#: apt-pkg/deb/dpkgpm.cc:1278 +#: apt-pkg/deb/dpkgpm.cc:1282 msgid "dependency problems - leaving unconfigured" msgstr "S'han produït problemes de depències, es deixa sense configurar" -#: apt-pkg/deb/dpkgpm.cc:1280 +#: apt-pkg/deb/dpkgpm.cc:1284 msgid "" "No apport report written because the error message indicates its a followup " "error from a previous failure." @@ -3389,7 +3423,7 @@ msgstr "" "No s'ha escrit cap informe perquè el missatge d'error indica que és un error " "consequent de una fallida anterior." -#: apt-pkg/deb/dpkgpm.cc:1286 +#: apt-pkg/deb/dpkgpm.cc:1290 msgid "" "No apport report written because the error message indicates a disk full " "error" @@ -3397,7 +3431,7 @@ msgstr "" "No s'ha escrit cap informe perquè el missatge d'error indica una fallida per " "disc ple" -#: apt-pkg/deb/dpkgpm.cc:1292 +#: apt-pkg/deb/dpkgpm.cc:1296 msgid "" "No apport report written because the error message indicates a out of memory " "error" @@ -3405,7 +3439,7 @@ msgstr "" "No s'ha escrit cap informe perquè el missatge d'error indica una fallida per " "falta de memòria" -#: apt-pkg/deb/dpkgpm.cc:1299 +#: apt-pkg/deb/dpkgpm.cc:1303 msgid "" "No apport report written because the error message indicates a dpkg I/O error" msgstr "" @@ -3433,7 +3467,7 @@ msgstr "No es pot blocar el directori d'administració (%s), sou root?" msgid "" "dpkg was interrupted, you must manually run '%s' to correct the problem. " msgstr "" -"S'ha interromput el dpkg, harieu d'executar manualment '%s' per a corregir " +"S'ha interromput el dpkg, harieu d'executar manualment «%s» per a corregir " "el problema." #: apt-pkg/deb/debsystem.cc:106 @@ -3445,14 +3479,14 @@ msgstr "No blocat" #: methods/mirror.cc:200 #, c-format msgid "No mirror file '%s' found " -msgstr "No s'ha trobat el fitxer rèplica '%s'" +msgstr "No s'ha trobat el fitxer rèplica «%s»" #: methods/mirror.cc:343 #, c-format msgid "[Mirror: %s]" msgstr "[Rèplica: %s]" -#: methods/rred.cc:503 +#: methods/rred.cc:465 #, c-format msgid "" "Could not patch %s with mmap and with file operation usage - the patch seems " @@ -3461,7 +3495,7 @@ msgstr "" "No s'ha pogut apedaçar %s amb el mmap ni amb la utilització de la operació " "del fitxer - el pedaç sembla ser incorrecte" -#: methods/rred.cc:508 +#: methods/rred.cc:470 #, c-format msgid "" "Could not patch %s with mmap (but no mmap specific fail) - the patch seems " @@ -3474,6 +3508,121 @@ msgstr "" msgid "Connection closed prematurely" msgstr "La connexió s'ha tancat prematurament" +#~ msgid "This command is deprecated. Please use 'apt-mark showauto' instead." +#~ msgstr "" +#~ "Aquesta ordre és desfasada. Empreu «apt-mark showauto» en el seu lloc." + +#~ msgid "" +#~ "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark " +#~ "manual' instead." +#~ msgstr "" +#~ "Aquesta ordre és desfasada. Empreu «apt-mark auto» i «apt-mark manual» en " +#~ "el seu lloc." + +#~ msgid "Downloading %s %s" +#~ msgstr "S'està baixant %s %s" + +#~ msgid "Changelog for %s (%s)" +#~ msgstr "Registre de canvis per a %s (%s)" + +#~ msgid "%s can not be marked as it is not installed.\n" +#~ msgstr "%s no es pot marcar perquè no està instaŀlat.\n" + +#~ msgid "%s was already set to manually installed.\n" +#~ msgstr "%s ja estava marcat com instaŀlat manualment.\n" + +#~ msgid "%s was already set to automatically installed.\n" +#~ msgstr "%s ja estava marcat com instaŀlat automàticament.\n" + +#~ msgid "%s was already set on hold.\n" +#~ msgstr "%s ja estava mantingut.\n" + +#~ msgid "%s was already not hold.\n" +#~ msgstr "%s ja estava sense marcar com a mantingut.\n" + +#~ msgid "%s set on hold.\n" +#~ msgstr "S'ha establert %s com a mantingut.\n" + +#~ msgid "Canceled hold on %s.\n" +#~ msgstr "S'ha canceŀlat la marca com a mantingut de %s.\n" + +#~ msgid "Executing dpkg failed. Are you root?" +#~ msgstr "Ha fallat l'execució del dpkg. Sou el superusuari?" + +#~ msgid "" +#~ "Usage: apt-mark [options] {auto|manual} pkg1 [pkg2 ...]\n" +#~ "\n" +#~ "apt-mark is a simple command line interface for marking packages\n" +#~ "as manual or automatical installed. It can also list marks.\n" +#~ "\n" +#~ "Commands:\n" +#~ " auto - Mark the given packages as automatically installed\n" +#~ " manual - Mark the given packages as manually installed\n" +#~ "\n" +#~ "Options:\n" +#~ " -h This help text.\n" +#~ " -q Loggable output - no progress indicator\n" +#~ " -qq No output except for errors\n" +#~ " -s No-act. Just prints what would be done.\n" +#~ " -f read/write auto/manual marking in the given file\n" +#~ " -c=? Read this configuration file\n" +#~ " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" +#~ "See the apt-mark(8) and apt.conf(5) manual pages for more information." +#~ msgstr "" +#~ "Forma d'ús: apt-mark [opcions] {auto|manual} paq1 [paq2 …]\n" +#~ "\n" +#~ "apt-mark és una interfície simple de la línia d'ordres per a marcar\n" +#~ "paquets com a instaŀlats automàticament o manual. També pot llistar\n" +#~ "les marques.\n" +#~ "\n" +#~ "Ordres:\n" +#~ "\n" +#~ " auto - Marca els paquets donats com a instaŀlats automàticament\n" +#~ " manual - Marca els paquets donats com a instaŀlats manualment\n" +#~ "\n" +#~ "Opcions:\n" +#~ " -h Aquest text d'ajuda.\n" +#~ " -q Sortida enregistrable - sense indicador de progrés\n" +#~ " -qq Sense sortida, llevat dels errors\n" +#~ " -s No actues. Mostra només què es faria.\n" +#~ " -f Llegeix/escriu les marques auto/manual emprant el fitxer donat\n" +#~ " -c=? Llegeix aquest fitxer de configuració\n" +#~ " -o=? Estableix una opció de configuració, p. ex: -o dir::cache=/tmp\n" +#~ "Vegeu les pàgines de manual apt-mark(8) i apt.conf(5) per a més " +#~ "informació." + +#~ msgid "Empty files can't be valid archives" +#~ msgstr "Els fitxers buits no poden ser arxius vàlids" + +#~ msgid "Ignoring '%s' in directory '%s' as it is not a regular file" +#~ msgstr "" +#~ "S'està descartant «%s» al directori «%s» perquè no és un fitxer normal" + +#~ msgid "Ignoring file '%s' in directory '%s' as it has no filename extension" +#~ msgstr "" +#~ "S'està descartant «%s» al directori «%s» perquè no té extensió del nom de " +#~ "fitxer" + +#~ msgid "" +#~ "Ignoring file '%s' in directory '%s' as it has an invalid filename " +#~ "extension" +#~ msgstr "" +#~ "S'està descartant «%s» al directori «%s» perquè té una extensió del nom " +#~ "de fitxer invàlida" + +#~ msgid "" +#~ "Unable to find expected entry '%s' in Release file (Wrong sources.list " +#~ "entry or malformed file)" +#~ msgstr "" +#~ "No s'ha trobat l'entrada «%s» esperada, al fitxer Release (entrada " +#~ "errònia al sources.list o fitxer malformat)" + +#~ msgid "Unable to find hash sum for '%s' in Release file" +#~ msgstr "No s'ha trobat la suma de comprovació per a «%s» al fitxer Release" + +#~ msgid "Can not read mirror file '%s'" +#~ msgstr "No s'ha pogut llegir el fitxer rèplica «%s»" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "" #~ "E: La llista d'arguments d'Acquire::gpgv::Options és massa llarga. S'està " @@ -3513,7 +3662,7 @@ msgstr "La connexió s'ha tancat prematurament" #~ "that package should be filed." #~ msgstr "" #~ "Degut a que només heu requerit una única operació, serà molt\n" -#~ "probable que el paquet no sigui instal·lable i que s'hagi d'emetre\n" +#~ "probable que el paquet no sigui instaŀlable i que s'hagi d'emetre\n" #~ "un informe d'error en contra d'aquest per a arxivar-lo." #~ msgid "File date has changed %s" @@ -2992,8 +2992,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Nebyl jsem schopen nalézt soubor s balíkem %s. Asi budete muset tento balík " "opravit ručně." @@ -3080,8 +3080,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Methais i leoli ffeila r gyfer y pecyn %s. Fa all hyn olygu bod rhaid i chi " "drwsio'r pecyn hyn a law." @@ -3014,8 +3014,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Jeg kunne ikke lokalisere filen til %s-pakken. Det betyder muligvis at du er " "nødt til manuelt at reparere denne pakke." @@ -3089,8 +3089,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Es konnte keine Datei für Paket %s gefunden werden. Das könnte heißen, dass " "Sie dieses Paket von Hand korrigieren müssen." @@ -3001,8 +3001,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" " %s་ཐུམ་སྒྲིལ་གི་དོན་ལུ་ང་་གི་ཡིག་སྣོད་ཅིག་ག་ཡོད་འཚོལ་མི་འཐོབ་པས། འདི་འབདཝ་ལས་ཁྱོད་ཀྱི་ལག་ཐོག་ལས་ " "འ་ནི་ཐུམ་སྒྲིལ་འདི་གི་དཀའ་ངལ་སེལ་དགོཔ་འདུག " @@ -3035,8 +3035,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Αδύνατος ο εντοπισμός ενός αρχείου για το πακέτο %s. Αυτό ίσως σημαίνει ότι " "χρειάζεται να διορθώσετε χειροκίνητα το πακέτο." @@ -3116,8 +3116,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "No se pudo localizar un archivo para el paquete %s. Esto puede significar " "que necesita arreglar manualmente este paquete." @@ -2996,8 +2996,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Ezin izan dut %s paketeko fitxategi bat lokalizatu. Beharbada eskuz konpondu " "beharko duzu paketea." @@ -2988,8 +2988,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Pakettia %s vastaavaa tiedostoa ei löytynyt. Voit ehkä joutua korjaamaan " "tämän paketin itse." @@ -3107,8 +3107,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Impossible de localiser un fichier du paquet %s. Cela signifie que vous " "devrez corriger ce paquet vous-même." @@ -4,13 +4,15 @@ # # Jacobo Tarrío <jtarrio@debian.org>, 2005, 2007, 2008. # mvillarino <mvillarino@users.sourceforge.net>, 2008. +# Miguel Anxo Bouzada <mbouzada@gmail.com>, 2011. +# msgid "" msgstr "" "Project-Id-Version: apt_po_gl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-15 06:09+0100\n" -"PO-Revision-Date: 2008-12-17 22:44+0100\n" -"Last-Translator: mvillarino <mvillarino@users.sourceforge.net>\n" +"POT-Creation-Date: 2011-01-12 17:42+0100\n" +"PO-Revision-Date: 2011-05-12 15:28+0100\n" +"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n" "Language-Team: galician <proxecto@trasno.net>\n" "Language: \n" "MIME-Version: 1.0\n" @@ -18,6 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: Galician\n" #: cmdline/apt-cache.cc:156 #, c-format @@ -29,9 +32,8 @@ msgid "Total package names: " msgstr "Número total de nomes de paquetes : " #: cmdline/apt-cache.cc:286 -#, fuzzy msgid "Total package structures: " -msgstr "Número total de nomes de paquetes : " +msgstr "Estruturas de paquetes totais: " #: cmdline/apt-cache.cc:326 msgid " Normal packages: " @@ -75,7 +77,7 @@ msgstr "Número total de relacións descrición/ficheiro: " #: cmdline/apt-cache.cc:343 msgid "Total Provides mappings: " -msgstr "Número total de mapas de Provides: " +msgstr "Número total de asignacións provistas: " #: cmdline/apt-cache.cc:355 msgid "Total globbed strings: " @@ -93,84 +95,120 @@ msgstr "Espazo de reserva total: " msgid "Total space accounted for: " msgstr "Espazo total contabilizado: " -#: cmdline/apt-cache.cc:513 cmdline/apt-cache.cc:1142 +#: cmdline/apt-cache.cc:513 cmdline/apt-cache.cc:1194 #, c-format msgid "Package file %s is out of sync." msgstr "O ficheiro de paquete %s está sen sincronizar." -#: cmdline/apt-cache.cc:591 cmdline/apt-cache.cc:1377 -#: cmdline/apt-cache.cc:1379 cmdline/apt-cache.cc:1456 +#: cmdline/apt-cache.cc:1273 +msgid "You must give at least one search pattern" +msgstr "Debe fornecer cando menos un patrón de busca" + +#: cmdline/apt-cache.cc:1429 cmdline/apt-cache.cc:1431 +#: cmdline/apt-cache.cc:1508 msgid "No packages found" msgstr "Non se atopou ningún paquete" -#: cmdline/apt-cache.cc:1221 -#, fuzzy -msgid "You must give at least one search pattern" -msgstr "Debe fornecer exactamente un patrón" - -#: cmdline/apt-cache.cc:1451 apt-pkg/cacheset.cc:440 +#: cmdline/apt-cache.cc:1503 apt-pkg/cacheset.cc:440 #, c-format msgid "Unable to locate package %s" -msgstr "Non se puido atopar o paquete %s" +msgstr "Non foi posíbel atopar o paquete %s" -#: cmdline/apt-cache.cc:1481 +#: cmdline/apt-cache.cc:1533 msgid "Package files:" msgstr "Ficheiros de paquetes:" -#: cmdline/apt-cache.cc:1488 cmdline/apt-cache.cc:1586 +#: cmdline/apt-cache.cc:1540 cmdline/apt-cache.cc:1638 msgid "Cache is out of sync, can't x-ref a package file" msgstr "" "A caché está sen sincronizar, non se pode facer referencia a un ficheiro de " "paquetes" #. Show any packages have explicit pins -#: cmdline/apt-cache.cc:1502 +#: cmdline/apt-cache.cc:1554 msgid "Pinned packages:" msgstr "Paquetes inmobilizados:" -#: cmdline/apt-cache.cc:1514 cmdline/apt-cache.cc:1566 +#: cmdline/apt-cache.cc:1566 cmdline/apt-cache.cc:1618 msgid "(not found)" msgstr "(non se atopou)" -#: cmdline/apt-cache.cc:1523 +#: cmdline/apt-cache.cc:1575 msgid " Installed: " msgstr " Instalado: " -#: cmdline/apt-cache.cc:1524 +#: cmdline/apt-cache.cc:1576 msgid " Candidate: " msgstr " Candidato: " -#: cmdline/apt-cache.cc:1548 cmdline/apt-cache.cc:1556 +#: cmdline/apt-cache.cc:1600 cmdline/apt-cache.cc:1608 msgid "(none)" msgstr "(ningún)" -#: cmdline/apt-cache.cc:1563 +#: cmdline/apt-cache.cc:1615 msgid " Package pin: " msgstr " Inmobilizado: " #. Show the priority tables -#: cmdline/apt-cache.cc:1572 +#: cmdline/apt-cache.cc:1624 msgid " Version table:" msgstr " Táboa de versións:" -#: cmdline/apt-cache.cc:1686 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:70 +#: cmdline/apt-cache.cc:1738 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3047 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:2793 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" -msgstr "%s %s para %s compilado o %s %s\n" +msgstr "%s %s para %s compilado en %s %s\n" -#: cmdline/apt-cache.cc:1693 +#: cmdline/apt-cache.cc:1745 #, fuzzy +#| msgid "" +#| "Usage: apt-cache [options] command\n" +#| " apt-cache [options] showpkg pkg1 [pkg2 ...]\n" +#| " apt-cache [options] showsrc pkg1 [pkg2 ...]\n" +#| "\n" +#| "apt-cache is a low-level tool used to query information\n" +#| "from APT's binary cache files\n" +#| "\n" +#| "Commands:\n" +#| " gencaches - Build both the package and source cache\n" +#| " showpkg - Show some general information for a single package\n" +#| " showsrc - Show source records\n" +#| " stats - Show some basic statistics\n" +#| " dump - Show the entire file in a terse form\n" +#| " dumpavail - Print an available file to stdout\n" +#| " unmet - Show unmet dependencies\n" +#| " search - Search the package list for a regex pattern\n" +#| " show - Show a readable record for the package\n" +#| " showauto - Display a list of automatically installed packages\n" +#| " depends - Show raw dependency information for a package\n" +#| " rdepends - Show reverse dependency information for a package\n" +#| " pkgnames - List the names of all packages in the system\n" +#| " dotty - Generate package graphs for GraphViz\n" +#| " xvcg - Generate package graphs for xvcg\n" +#| " policy - Show policy settings\n" +#| "\n" +#| "Options:\n" +#| " -h This help text.\n" +#| " -p=? The package cache.\n" +#| " -s=? The source cache.\n" +#| " -q Disable progress indicator.\n" +#| " -i Show only important deps for the unmet command.\n" +#| " -c=? Read this configuration file\n" +#| " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" +#| "See the apt-cache(8) and apt.conf(5) manual pages for more information.\n" msgid "" "Usage: apt-cache [options] command\n" +" apt-cache [options] add file1 [file2 ...]\n" " apt-cache [options] showpkg pkg1 [pkg2 ...]\n" " apt-cache [options] showsrc pkg1 [pkg2 ...]\n" "\n" -"apt-cache is a low-level tool used to query information\n" -"from APT's binary cache files\n" +"apt-cache is a low-level tool used to manipulate APT's binary\n" +"cache files, and query information from them\n" "\n" "Commands:\n" +" add - Add a package file to the source cache\n" " gencaches - Build both the package and source cache\n" " showpkg - Show some general information for a single package\n" " showsrc - Show source records\n" @@ -198,61 +236,59 @@ msgid "" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" "See the apt-cache(8) and apt.conf(5) manual pages for more information.\n" msgstr "" -"Emprego: apt-cache [opcións] orde\n" -" apt-cache [opcións] add fich1 [fich2 ...]\n" -" apt-cache [opcións] showpkg paq1 [paq2 ...]\n" -" apt-cache [opcións] showsrc paq1 [paq2 ...]\n" +"Uso: apt-cache [opcións] orde\n" +" apt-cache [opcións] showpkg paquete1 [paquete2 ...]\n" +" apt-cache [opcións] showsrc paquete1 [paquete2 ...]\n" "\n" -"apt-cache é unha ferramenta de baixo nivel que se emprega para manipular\n" -"os ficheiros binarios de caché de APT e obter información deles\n" +"apt-cache é unha ferramenta de baixo nivel usada para consultar\n" +"informacións dos ficheiros binarios da cache do APT\n" "\n" "Ordes:\n" -" add - Engade un ficheiro de paquetes á caché de fontes\n" -" gencaches - Reconstrúe as cachés de paquetes e fontes\n" -" showpkg - Amosa información xeral dun paquete\n" -" showsrc - Amosa os rexistros de fontes\n" -" stats - Amosa algunhas estatísticas básicas\n" -" dump - Amosa todo o ficheiro nun formato abreviado\n" -" dumpavail - Saca un ficheiro de dispoñibles pola saída estándar\n" -" unmet - Amosa as dependencias sen cumprir\n" -" search - Busca unha expresión regular na lista de paquetes\n" -" show - Amosa un rexistro lexible para o paquete\n" -" depends - Amosa a información bruta de dependencias dun paquete\n" -" rdepends - Amosa información de dependencias inversas dun paquete\n" -" pkgnames - Amosa os nomes de tódolos paquetes\n" -" dotty - Xera gráficas de paquetes para GraphViz\n" -" xvcg - Xera gráficas de paquetes para xvcg\n" -" policy - Amosa a configuración de normativa\n" +" gencaches - Constrúe as caches de paquete e fonte\n" +" showpkg - Mostra algunhas informacións xerais dun único paquete\n" +" showsrc - Mostra rexistros da fonte\n" +" stats - Mostra algunhas estatísticas básicas\n" +" dump - Mostra o ficheiro enteiro nun formato concreto\n" +" dumpavail - Imprime un ficheiro dispoñíbel para stdout\n" +" unmet - Mostra dependencias non atopadas\n" +" search - Busca na lista de paquetes por unha expresión regular\n" +" show - Mostra un rexistro lexíbel para o paquete\n" +" showauto - Mostra unha lista dos paquetes instalados automaticamente\n" +" depends - Mostra informacións brutas de dependencia para un paquete\n" +" rdepends - Mostra informacións de dependencia inversa para un paquete\n" +" pkgnames - Lista os nomes de todos os paquetes no sistema\n" +" dotty - Xera gráficos de paquete para o GraphViz\n" +" xvcg - Xera gráficos de paquete para o xvcg\n" +" policy - Mostra configuracións da política\n" "\n" -"Opcións:\n" +"Options:\n" " -h Este texto de axuda.\n" -" -p=? A caché de paquetes.\n" -" -s=? A caché de fontes.\n" +" -p=? A cache do paquete.\n" +" -s=? A cache da fonte.\n" " -q Desactiva o indicador de progreso.\n" -" -i Amosa só as dependencias importantes na orde unmet.\n" -" -c=? Le este ficheiro de configuración.\n" -" -o=? Establece unha opción de configuración, por exemplo: -o dir::cache=/" +" -i Mostra soamente dependencias importantes para a orde unmet.\n" +" -c=? Ler este ficheiro de configuración\n" +" -o=? Define unha opción arbitraria de configuración, ex. -o dir::cache=/" "tmp\n" -"Vexa as páxinas de manual de apt-cache(8) e apt.conf(5) para máis " +"Vexa a páxina de manual apt-cache(8) e apt.conf(5) para obter mais " "información.\n" #: cmdline/apt-cdrom.cc:77 -#, fuzzy msgid "Please provide a name for this Disc, such as 'Debian 5.0.3 Disk 1'" -msgstr "Forneza un nome para este disco, coma \"Debian 2.1r1 Disco 1\"" +msgstr "Forneza un nome para este disco, como «Debian 5.0.3 Disco 1»" #: cmdline/apt-cdrom.cc:92 msgid "Please insert a Disc in the drive and press enter" -msgstr "Introduza un disco na unidade e prema Intro" +msgstr "Insira un disco na unidade e prema Intro" #: cmdline/apt-cdrom.cc:127 -#, fuzzy, c-format +#, c-format msgid "Failed to mount '%s' to '%s'" -msgstr "Non se puido cambiar o nome de %s a %s" +msgstr "Produciuse un fallo ao montar «%s» en «%s»" #: cmdline/apt-cdrom.cc:162 msgid "Repeat this process for the rest of the CDs in your set." -msgstr "Repita este proceso para o resto de CDs do seu conxunto." +msgstr "Repita este proceso para o resto de CD do seu conxunto." #: cmdline/apt-config.cc:41 msgid "Arguments not in pairs" @@ -273,7 +309,7 @@ msgid "" " -c=? Read this configuration file\n" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" -"Emprego: apt-config [opcións] orde\n" +"Uso: apt-config [opcións] orde\n" "\n" "apt-config é unha ferramenta simple para ler a configuración de APT\n" "\n" @@ -284,7 +320,7 @@ msgstr "" "Opcións:\n" " -h Este texto de axuda.\n" " -c=? Le este ficheiro de configuración\n" -" -o=? Establece unha opción de configuración, por exemplo: -o dir::cache=/" +" -o=? Estabelece unha opción de configuración, por exemplo: -o dir::cache=/" "tmp\n" #: cmdline/apt-extracttemplates.cc:98 @@ -305,26 +341,26 @@ msgid "" " -c=? Read this configuration file\n" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" -"Emprego: apt-extracttemplates fich1 [fich2 ...]\n" +"Uso: apt-extracttemplates fich1 [fich2 ...]\n" "\n" "apt-extracttemplates é unha ferramenta para extraer información\n" "de configuración e patróns dos paquetes debian\n" "\n" "Opcións:\n" " -h Este texto de axuda\n" -" -t Establece o directorio temporal\n" +" -t Estabelece o directorio temporal\n" " -c=? Le este ficheiro de configuración\n" -" -o=? Establece unha opción de configuración, por exemplo: -o dir::cache=/" +" -o=? Estabelece unha opción de configuración, por exemplo: -o dir::cache=/" "tmp\n" -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1175 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1171 #, c-format msgid "Unable to write to %s" -msgstr "Non se puido escribir en %s" +msgstr "Non é posíbel escribir en %s" #: cmdline/apt-extracttemplates.cc:309 msgid "Cannot get debconf version. Is debconf installed?" -msgstr "Non se puido obter a versión de debconf. ¿Debconf está instalado?" +msgstr "Non é posíbel obter a versión de debconf. Debconf está instalado?" #: ftparchive/apt-ftparchive.cc:170 ftparchive/apt-ftparchive.cc:347 msgid "Package extension list is too long" @@ -335,7 +371,7 @@ msgstr "A lista de extensións de paquetes é longa de máis" #: ftparchive/apt-ftparchive.cc:276 ftparchive/apt-ftparchive.cc:298 #, c-format msgid "Error processing directory %s" -msgstr "Erro ao procesar o directorio %s" +msgstr "Produciuse un erro ao procesar o directorio %s" #: ftparchive/apt-ftparchive.cc:260 msgid "Source extension list is too long" @@ -343,12 +379,12 @@ msgstr "A lista de extensións de fontes é longa de máis" #: ftparchive/apt-ftparchive.cc:377 msgid "Error writing header to contents file" -msgstr "Erro ao gravar a cabeceira no ficheiro de contido" +msgstr "Produciuse un erro ao gravar a cabeceira no ficheiro de contido" #: ftparchive/apt-ftparchive.cc:407 #, c-format msgid "Error processing contents %s" -msgstr "Erro ao procesar o contido %s" +msgstr "Produciuse un erro ao procesar o contido %s" #: ftparchive/apt-ftparchive.cc:595 msgid "" @@ -399,81 +435,77 @@ msgstr "" " generate config [grupos]\n" " clean config\n" "\n" -"apt-ftparchive xera ficheiros de índices para arquivos de Debian. Soporta\n" +"apt-ftparchive xera ficheiros de índices para arquivos de Debian. Admite\n" "varios estilos de xeración, de totalmente automática a substitutos " "funcionais\n" "de dpkg-scanpackages e dpkg-scansources\n" "\n" "apt-ftparchive xera ficheiros Packages dunha árbore de .debs. O ficheiro\n" -"Packages ten o contido de tódolos campos de control de cada paquete, así\n" -"coma a suma MD5 e o tamaño do ficheiro. Sopórtase un ficheiro de \"overrides" -"\"\n" +"Packages ten o contido de todos os campos de control de cada paquete, así\n" +"coma a suma MD5 e o tamaño do ficheiro. Admitese un ficheiro de «overrides»\n" "para forzar o valor dos campos Priority e Section.\n" "\n" "De xeito semellante, apt-ftparchive xera ficheiros Sources dunha árbore de\n" ".dscs. Pódese empregar a opción --source-override para especificar un " "ficheiro\n" -"de \"overrides\" para fontes.\n" +"de «overrides» para fontes.\n" "\n" -"As ordes \"packages\" e \"sources\" deberían se executar na raíz da árbore.\n" -"\"Rutabinaria\" debería apuntar á base da busca recursiva e o ficheiro\n" -"\"fichoverride\" debería conter os modificadores de \"override\". " -"\"Prefixoruta\"\n" +"As ordes «packages» e «sources» deberían executarse na raíz da árbore.\n" +"«Rutabinaria» debería apuntar á base da busca recursiva e o ficheiro\n" +"«fichoverride» debería conter os modificadores de «override». «Prefixoruta»\n" "engádese aos campos de nomes de ficheiros se está presente. Un exemplo\n" "de emprego do arquivo de Debian:\n" -" apt-ftparchive packages dists/potato/main/binary-i386/ > \\\n" +" apt-ftparchive packages dists/potato/main/binary-i386/ > \n" " dists/potato/main/binary-i386/Packages\n" "\n" "Opcións:\n" " -h Este texto de axuda\n" " --md5 Controla a xeración de MD5\n" -" -s=? Ficheiro de \"override\" de fontes\n" +" -s=? Ficheiro de «override» de fontes\n" " -q Non produce ningunha saída por pantalla\n" " -d=? Escolle a base de datos de caché opcional\n" " --no-delink Activa o modo de depuración de desligado\n" " --contents Controla a xeración do ficheiro de contido\n" " -c=? Le este ficheiro de configuración\n" -" -o=? Establece unha opción de configuración" +" -o=? Estabelece unha opción de configuración" #: ftparchive/apt-ftparchive.cc:801 msgid "No selections matched" -msgstr "Ningunha selección encaixou" +msgstr "Non coincide ningunha selección" #: ftparchive/apt-ftparchive.cc:879 #, c-format msgid "Some files are missing in the package file group `%s'" -msgstr "Fallan ficheiros no grupo de ficheiros de paquetes \"%s\"" +msgstr "Faltan ficheiros no grupo de ficheiros de paquetes «%s»" #: ftparchive/cachedb.cc:43 #, c-format msgid "DB was corrupted, file renamed to %s.old" -msgstr "" -"A base de datos estaba corrompida, cambiouse o nome do ficheiro a %s.old" +msgstr "A base de datos estaba danada, cambiouse o nome do ficheiro a %s.old" #: ftparchive/cachedb.cc:61 #, c-format msgid "DB is old, attempting to upgrade %s" -msgstr "A base de datos é antiga, trátase de actualizar %s" +msgstr "A base de datos é antiga, tentando anovar %s" #: ftparchive/cachedb.cc:72 -#, fuzzy msgid "" "DB format is invalid. If you upgraded from an older version of apt, please " "remove and re-create the database." msgstr "" -"O formato da base de datos non é válido. Se actualizou desde unha versión " -"antiga de apt, elimine e volva crear a base de datos." +"O formato da base de datos non é correcto. Se a anovou desde unha versión " +"antiga de apt, retirea e volva a crear a base de datos" #: ftparchive/cachedb.cc:77 #, c-format msgid "Unable to open DB file %s: %s" -msgstr "Non se puido abrir o ficheiro de base de datos %s: %s" +msgstr "Non é posíbel abrir o ficheiro de base de datos %s: %s" #: ftparchive/cachedb.cc:123 apt-inst/extract.cc:178 apt-inst/extract.cc:190 #: apt-inst/extract.cc:207 apt-inst/deb/dpkgdb.cc:117 #, c-format msgid "Failed to stat %s" -msgstr "Non se atopou %s" +msgstr "Non foi posíbel determinar o estado %s" #: ftparchive/cachedb.cc:242 msgid "Archive has no control record" @@ -481,17 +513,17 @@ msgstr "O arquivo non ten un rexistro de control" #: ftparchive/cachedb.cc:448 msgid "Unable to get a cursor" -msgstr "Non se puido obter un cursor" +msgstr "Non é posíbel obter un cursor" #: ftparchive/writer.cc:73 #, c-format msgid "W: Unable to read directory %s\n" -msgstr "A: Non se puido ler o directorio %s\n" +msgstr "A: non é posíbel ler o directorio %s\n" #: ftparchive/writer.cc:78 #, c-format msgid "W: Unable to stat %s\n" -msgstr "A: Non se atopou %s\n" +msgstr "A: non é posíbel atopar %s\n" #: ftparchive/writer.cc:134 msgid "E: " @@ -503,21 +535,21 @@ msgstr "A: " #: ftparchive/writer.cc:143 msgid "E: Errors apply to file " -msgstr "E: Os erros aplícanse ao ficheiro " +msgstr "E: os erros aplícanse ao ficheiro " #: ftparchive/writer.cc:161 ftparchive/writer.cc:193 #, c-format msgid "Failed to resolve %s" -msgstr "Non se puido resolver %s" +msgstr "Non foi posíbel solucionar %s" #: ftparchive/writer.cc:174 msgid "Tree walking failed" -msgstr "O percorrido da árbore fallou" +msgstr "Fallou o percorrido da árbore" #: ftparchive/writer.cc:201 #, c-format msgid "Failed to open %s" -msgstr "Non se puido abrir %s" +msgstr "Non foi posíbel abrir %s" #: ftparchive/writer.cc:260 #, c-format @@ -527,22 +559,22 @@ msgstr " DesLig %s [%s]\n" #: ftparchive/writer.cc:268 #, c-format msgid "Failed to readlink %s" -msgstr "Non se puido ler a ligazón %s" +msgstr "Non foi posíbel ler a ligazón %s" #: ftparchive/writer.cc:272 #, c-format msgid "Failed to unlink %s" -msgstr "Non se puido borrar %s" +msgstr "Non foi posíbel desligar %s" #: ftparchive/writer.cc:279 #, c-format msgid "*** Failed to link %s to %s" -msgstr "*** Non se puido ligar %s con %s" +msgstr "*** Non foi posíbel ligar %s con %s" #: ftparchive/writer.cc:289 #, c-format msgid " DeLink limit of %sB hit.\n" -msgstr " Alcanzouse o límite de desligado de %sB.\n" +msgstr " Acadouse o límite de desligado de %sB.\n" #: ftparchive/writer.cc:393 msgid "Archive had no package field" @@ -551,7 +583,7 @@ msgstr "O arquivo non tiña un campo Package" #: ftparchive/writer.cc:401 ftparchive/writer.cc:688 #, c-format msgid " %s has no override entry\n" -msgstr " %s non ten unha entrada de \"override\"\n" +msgstr " %s non ten unha entrada de «override»\n" #: ftparchive/writer.cc:464 ftparchive/writer.cc:793 #, c-format @@ -561,68 +593,68 @@ msgstr " O mantedor de %s é %s, non %s\n" #: ftparchive/writer.cc:698 #, c-format msgid " %s has no source override entry\n" -msgstr " %s non ten unha entrada de \"override\" de código fonte\n" +msgstr " %s non ten unha entrada de «override» de código fonte\n" #: ftparchive/writer.cc:702 #, c-format msgid " %s has no binary override entry either\n" -msgstr " %s tampouco ten unha entrada de \"override\" de binarios\n" +msgstr " %s tampouco ten unha entrada de «override» de binarios\n" #: ftparchive/contents.cc:321 #, c-format msgid "Internal error, could not locate member %s" -msgstr "Erro interno, non se puido atopar o membro %s" +msgstr "Produciuse un erro interno, non foi posíbel atopar o membro %s" #: ftparchive/contents.cc:358 ftparchive/contents.cc:389 msgid "realloc - Failed to allocate memory" -msgstr "realloc - Non se puido reservar memoria" +msgstr "realloc - Non foi posíbel reservar memoria" #: ftparchive/override.cc:34 ftparchive/override.cc:142 #, c-format msgid "Unable to open %s" -msgstr "Non se puido abrir %s" +msgstr "Non é posíbel puido abrir %s" #: ftparchive/override.cc:60 ftparchive/override.cc:166 #, c-format msgid "Malformed override %s line %lu #1" -msgstr "\"Override\" %s liña %lu mal formado (1)" +msgstr "«Override» %s liña %lu incorrecta (1)" #: ftparchive/override.cc:74 ftparchive/override.cc:178 #, c-format msgid "Malformed override %s line %lu #2" -msgstr "\"Override\" %s liña %lu mal formado (2)" +msgstr "«Override» %s liña %lu incorrecta (2)" #: ftparchive/override.cc:88 ftparchive/override.cc:191 #, c-format msgid "Malformed override %s line %lu #3" -msgstr "\"Override\" %s liña %lu mal formado (3)" +msgstr "«Override» %s liña %lu incorrecta (3)" #: ftparchive/override.cc:127 ftparchive/override.cc:201 #, c-format msgid "Failed to read the override file %s" -msgstr "Non se puido ler o ficheiro de \"overrides\" %s" +msgstr "Non foi posíbel ler o ficheiro de «override» %s" #: ftparchive/multicompress.cc:72 #, c-format msgid "Unknown compression algorithm '%s'" -msgstr "Algoritmo de compresión \"%s\" descoñecido" +msgstr "Algoritmo de compresión «%s» descoñecido" #: ftparchive/multicompress.cc:102 #, c-format msgid "Compressed output %s needs a compression set" -msgstr "A saída comprimida %s precisa dun xogo de compresión" +msgstr "A saída comprimida %s precisa dun conxunto de compresión" #: ftparchive/multicompress.cc:169 methods/rsh.cc:91 msgid "Failed to create IPC pipe to subprocess" -msgstr "Non se puido crear a canle IPC ao subproceso" +msgstr "Non foi posíbel crear a canle IPC ao subproceso" #: ftparchive/multicompress.cc:195 msgid "Failed to create FILE*" -msgstr "Non se puido crear o FILE*" +msgstr "Non foi posíbel crear o FILE*" #: ftparchive/multicompress.cc:198 msgid "Failed to fork" -msgstr "Non se puido chamar a fork" +msgstr "Non foi posíbel facer a bifurcación" #: ftparchive/multicompress.cc:212 msgid "Compress child" @@ -631,15 +663,15 @@ msgstr "Fillo de compresión" #: ftparchive/multicompress.cc:235 #, c-format msgid "Internal error, failed to create %s" -msgstr "Erro interno, non se puido crear %s" +msgstr "Produciuse un erro interno, non foi posíbel crear %s" #: ftparchive/multicompress.cc:286 msgid "Failed to create subprocess IPC" -msgstr "Non se puido crear o IPC do subproceso" +msgstr "Non foi posíbel crear o IPC do subproceso" #: ftparchive/multicompress.cc:321 msgid "Failed to exec compressor " -msgstr "Non se puido executar o compresor " +msgstr "Non foi posíbel executar o compresor " #: ftparchive/multicompress.cc:360 msgid "decompressor" @@ -647,21 +679,21 @@ msgstr "descompresor" #: ftparchive/multicompress.cc:403 msgid "IO to subprocess/file failed" -msgstr "A E/S ao subproceso/ficheiro fallou" +msgstr "Produciuse un fallo na E/S do subproceso/ficheiro" #: ftparchive/multicompress.cc:455 msgid "Failed to read while computing MD5" -msgstr "Non se puido ler ao calcular o MD5" +msgstr "Non foi posíbel ler ao calcular o MD5" #: ftparchive/multicompress.cc:472 #, c-format msgid "Problem unlinking %s" -msgstr "Problema ao borrar %s" +msgstr "Xurdiu un problema ao desligar %s" #: ftparchive/multicompress.cc:487 apt-inst/extract.cc:185 #, c-format msgid "Failed to rename %s to %s" -msgstr "Non se puido cambiar o nome de %s a %s" +msgstr "Non foi posíbel cambiar o nome de %s a %s" #: cmdline/apt-get.cc:135 msgid "Y" @@ -670,7 +702,7 @@ msgstr "S" #: cmdline/apt-get.cc:157 apt-pkg/cachefilter.cc:29 #, c-format msgid "Regex compilation error - %s" -msgstr "Erro na compilación da expresión regular - %s" +msgstr "Produciuse un erro na compilación da expresión regular - %s" #: cmdline/apt-get.cc:252 msgid "The following packages have unmet dependencies:" @@ -679,28 +711,28 @@ msgstr "Os seguintes paquetes teñen dependencias sen cumprir:" #: cmdline/apt-get.cc:342 #, c-format msgid "but %s is installed" -msgstr "pero %s está instalado" +msgstr "mais %s está instalado" #: cmdline/apt-get.cc:344 #, c-format msgid "but %s is to be installed" -msgstr "pero hase instalar %s" +msgstr "mais vaise instalar %s" #: cmdline/apt-get.cc:351 msgid "but it is not installable" -msgstr "pero non é instalable" +msgstr "mais non é instalábel" #: cmdline/apt-get.cc:353 msgid "but it is a virtual package" -msgstr "pero é un paquete virtual" +msgstr "mais é un paquete virtual" #: cmdline/apt-get.cc:356 msgid "but it is not installed" -msgstr "pero non está instalado" +msgstr "mais non está instalado" #: cmdline/apt-get.cc:356 msgid "but it is not going to be installed" -msgstr "pero non se ha instalar" +msgstr "mais non se vai a instalar" #: cmdline/apt-get.cc:361 msgid " or" @@ -712,41 +744,41 @@ msgstr "Os seguintes paquetes NOVOS hanse instalar:" #: cmdline/apt-get.cc:420 msgid "The following packages will be REMOVED:" -msgstr "Os seguintes paquetes hanse ELIMINAR:" +msgstr "Vanse RETIRAR os paquetes seguintes:" #: cmdline/apt-get.cc:442 msgid "The following packages have been kept back:" -msgstr "Os seguintes paquetes consérvanse:" +msgstr "Consérvanse os seguintes paquetes:" #: cmdline/apt-get.cc:465 msgid "The following packages will be upgraded:" -msgstr "Os seguintes paquetes hanse actualizar:" +msgstr "Vanse anovar os paquetes seguintes:" #: cmdline/apt-get.cc:488 msgid "The following packages will be DOWNGRADED:" -msgstr "Os seguintes paquetes hanse DESACTUALIZAR:" +msgstr "Vanse REVERTER os seguintes paquetes :" #: cmdline/apt-get.cc:508 msgid "The following held packages will be changed:" -msgstr "Os seguintes paquetes retidos hanse modificar:" +msgstr "Vanse modificar os paquetes retidos seguintes:" #: cmdline/apt-get.cc:563 #, c-format msgid "%s (due to %s) " -msgstr "%s (debido a %s) " +msgstr "%s (por mor de %s) " #: cmdline/apt-get.cc:571 msgid "" "WARNING: The following essential packages will be removed.\n" "This should NOT be done unless you know exactly what you are doing!" msgstr "" -"AVISO: Hanse eliminar os seguintes paquetes esenciais.\n" -"¡Isto NON se debe facer a menos que saiba exactamente o que está a facer!" +"AVISO: Retiraranse os seguintes paquetes esenciais.\n" +"Isto NON se debe facer a menos que saiba exactamente o que está a facer!" #: cmdline/apt-get.cc:605 #, c-format msgid "%lu upgraded, %lu newly installed, " -msgstr "%lu actualizados, %lu instalados, " +msgstr "%lu anovados, %lu instalados, " #: cmdline/apt-get.cc:609 #, c-format @@ -756,27 +788,27 @@ msgstr "%lu reinstalados, " #: cmdline/apt-get.cc:611 #, c-format msgid "%lu downgraded, " -msgstr "%lu desactualizados, " +msgstr "%lu revertidos, " #: cmdline/apt-get.cc:613 #, c-format msgid "%lu to remove and %lu not upgraded.\n" -msgstr "%lu hanse eliminar e %lu sen actualizar.\n" +msgstr "Vanse retirar %lu e deixar %lu sen anovar.\n" #: cmdline/apt-get.cc:617 #, c-format msgid "%lu not fully installed or removed.\n" -msgstr "%lu non instalados ou eliminados de todo.\n" +msgstr "%lu non instalados ou retirados de todo.\n" #: cmdline/apt-get.cc:639 -#, fuzzy, c-format +#, c-format msgid "Note, selecting '%s' for task '%s'\n" -msgstr "Nota, escóllese %s para a expresión regular \"%s\"\n" +msgstr "Nota, seleccione «%s» para a tarefa «%s»\n" #: cmdline/apt-get.cc:645 -#, fuzzy, c-format +#, c-format msgid "Note, selecting '%s' for regex '%s'\n" -msgstr "Nota, escóllese %s para a expresión regular \"%s\"\n" +msgstr "Nota, seleccione «%s» para a expresión regular «%s»\n" #: cmdline/apt-get.cc:662 #, c-format @@ -788,9 +820,8 @@ msgid " [Installed]" msgstr " [Instalado]" #: cmdline/apt-get.cc:682 -#, fuzzy msgid " [Not candidate version]" -msgstr "Versións candidatas" +msgstr " [Non hai unha versión candidata]" #: cmdline/apt-get.cc:684 msgid "You should explicitly select one to install." @@ -803,182 +834,185 @@ msgid "" "This may mean that the package is missing, has been obsoleted, or\n" "is only available from another source\n" msgstr "" -"O paquete %s non está dispoñible, pero outro paquete fai referencia a el.\n" -"Isto pode significar que o paquete falla, está obsoleto ou só está\n" -"dispoñible noutra fonte.\n" +"O paquete %s non está dispoñíbel, mais outro paquete fai referencia a el.\n" +"Isto pode significar que falta o paquete, está obsoleto ou só está\n" +"dispoñíbel noutra fonte.\n" #: cmdline/apt-get.cc:705 msgid "However the following packages replace it:" -msgstr "Nembargantes, os seguintes paquetes substitúeno:" +msgstr "Porén, os seguintes paquetes substitúeno:" #: cmdline/apt-get.cc:717 -#, fuzzy, c-format +#, c-format msgid "Package '%s' has no installation candidate" -msgstr "O paquete %s non ten un candidato para a instalación" +msgstr "O paquete «%s» non ten unha instalación candidata" #: cmdline/apt-get.cc:728 #, c-format msgid "Virtual packages like '%s' can't be removed\n" -msgstr "" +msgstr "Non se poden retirar os paquetes virtuais como «%s»\n" #: cmdline/apt-get.cc:759 -#, fuzzy, c-format +#, c-format msgid "Note, selecting '%s' instead of '%s'\n" -msgstr "Nota, escóllese %s no canto de %s\n" +msgstr "Nota, seleccione «%s» no canto de «%s»\n" #: cmdline/apt-get.cc:789 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" -msgstr "Omítese %s, xa está instalado e non se especificou a actualización.\n" +msgstr "Omítese %s, xa está instalado e non se especificou a anovación.\n" #: cmdline/apt-get.cc:793 -#, fuzzy, c-format +#, c-format msgid "Skipping %s, it is not installed and only upgrades are requested.\n" -msgstr "Omítese %s, xa está instalado e non se especificou a actualización.\n" +msgstr "Omitindo %s, non está instalado e só se solicitaron as anovacións.\n" #: cmdline/apt-get.cc:803 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" -msgstr "A reinstalación de %s non é posible, non se pode descargar.\n" +msgstr "A reinstalación de %s non é posíbel, non se pode descargar.\n" #: cmdline/apt-get.cc:808 #, c-format msgid "%s is already the newest version.\n" msgstr "%s xa é a versión máis recente.\n" -#: cmdline/apt-get.cc:827 cmdline/apt-get.cc:2024 +#: cmdline/apt-get.cc:827 cmdline/apt-get.cc:2027 #, c-format msgid "%s set to manually installed.\n" -msgstr "%s cambiouse a instalado manualmente.\n" +msgstr "%s cambiado a instalado manualmente.\n" #: cmdline/apt-get.cc:853 -#, fuzzy, c-format +#, c-format msgid "Selected version '%s' (%s) for '%s'\n" -msgstr "Escolleuse a versión %s (%s) de %s\n" +msgstr "Versión seleccionada «%s» (%s) para «%s»\n" #: cmdline/apt-get.cc:858 -#, fuzzy, c-format +#, c-format msgid "Selected version '%s' (%s) for '%s' because of '%s'\n" -msgstr "Escolleuse a versión %s (%s) de %s\n" +msgstr "Versión seleccionada «%s» (%s) para «%s» xa que «%s»\n" -#: cmdline/apt-get.cc:899 +#: cmdline/apt-get.cc:898 #, c-format msgid "Package %s is not installed, so not removed\n" -msgstr "O paquete %s non está instalado, así que non se eliminou\n" +msgstr "O paquete %s non está instalado, así que non foi retirado\n" -#: cmdline/apt-get.cc:977 +#: cmdline/apt-get.cc:973 msgid "Correcting dependencies..." -msgstr "A corrixir as dependencias..." +msgstr "Corrixindo as dependencias..." -#: cmdline/apt-get.cc:980 +#: cmdline/apt-get.cc:976 msgid " failed." msgstr " fallou." -#: cmdline/apt-get.cc:983 +#: cmdline/apt-get.cc:979 msgid "Unable to correct dependencies" -msgstr "Non se puido corrixir as dependencias." +msgstr "Non foi posíbel corrixir as dependencias." -#: cmdline/apt-get.cc:986 +#: cmdline/apt-get.cc:982 msgid "Unable to minimize the upgrade set" -msgstr "Non se puido minimizar o xogo de actualizacións" +msgstr "Non foi posíbel minimizar o conxunto de anovacións" -#: cmdline/apt-get.cc:988 +#: cmdline/apt-get.cc:984 msgid " Done" -msgstr " Rematado" +msgstr " Feito" -#: cmdline/apt-get.cc:992 +#: cmdline/apt-get.cc:988 msgid "You might want to run 'apt-get -f install' to correct these." -msgstr "Pode querer executar \"apt-get -f install\" para corrixilos." +msgstr "Pode querer executar «apt-get -f install» para corrixilos." -#: cmdline/apt-get.cc:995 +#: cmdline/apt-get.cc:991 msgid "Unmet dependencies. Try using -f." msgstr "Dependencias incumpridas. Probe a empregar -f." -#: cmdline/apt-get.cc:1020 +#: cmdline/apt-get.cc:1016 msgid "WARNING: The following packages cannot be authenticated!" -msgstr "AVISO: ¡Non se poden autenticar os seguintes paquetes!" +msgstr "AVISO: Non se poden autenticar os seguintes paquetes!" -#: cmdline/apt-get.cc:1024 +#: cmdline/apt-get.cc:1020 msgid "Authentication warning overridden.\n" msgstr "Ignórase o aviso de autenticación.\n" -#: cmdline/apt-get.cc:1031 +#: cmdline/apt-get.cc:1027 msgid "Install these packages without verification [y/N]? " -msgstr "¿Instalar estes paquetes sen verificación [s/N]? " +msgstr "Instalar estes paquetes sen verificación [s/N]? " -#: cmdline/apt-get.cc:1033 +#: cmdline/apt-get.cc:1029 msgid "Some packages could not be authenticated" -msgstr "Non se puido autenticar algúns paquetes" +msgstr "Non foi posíbel autenticar algúns paquetes" -#: cmdline/apt-get.cc:1042 cmdline/apt-get.cc:1203 +#: cmdline/apt-get.cc:1038 cmdline/apt-get.cc:1199 msgid "There are problems and -y was used without --force-yes" -msgstr "Houbo problemas e empregouse -y sen --force-yes" +msgstr "Xurdiron problemas e empregouse -y sen --force-yes" -#: cmdline/apt-get.cc:1083 +#: cmdline/apt-get.cc:1079 msgid "Internal error, InstallPackages was called with broken packages!" -msgstr "Erro interno, chamouse a InstallPackages con paquetes rotos." +msgstr "" +"Produciuse un erro interno, chamouse a InstallPackages con paquetes " +"estragados." -#: cmdline/apt-get.cc:1092 +#: cmdline/apt-get.cc:1088 msgid "Packages need to be removed but remove is disabled." -msgstr "Hai que eliminar paquetes pero a eliminación está desactivada." +msgstr "Hai que retirar paquetes mais o retirado está desactivado." -#: cmdline/apt-get.cc:1103 +#: cmdline/apt-get.cc:1099 msgid "Internal error, Ordering didn't finish" -msgstr "Erro interno, a ordeación non rematou" +msgstr "Produciuse un erro interno; non rematou a ordenación" -#: cmdline/apt-get.cc:1141 +#: cmdline/apt-get.cc:1137 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org" msgstr "" -"Que raro... Os tamaños non coinciden, envíe email a apt@packages.debian.org" +"Que estraño... Os tamaños non coinciden; envíe un correo-e a apt@packages." +"debian.org" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1148 +#: cmdline/apt-get.cc:1144 #, c-format msgid "Need to get %sB/%sB of archives.\n" -msgstr "Hai que recibir %sB/%sB de arquivos.\n" +msgstr "Ten que recibir %sB/%sB de arquivos.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1153 +#: cmdline/apt-get.cc:1149 #, c-format msgid "Need to get %sB of archives.\n" -msgstr "Hai que recibir %sB de arquivos.\n" +msgstr "Ten que recibir %sB de arquivos.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1160 +#: cmdline/apt-get.cc:1156 #, c-format msgid "After this operation, %sB of additional disk space will be used.\n" -msgstr "Despois desta operación hanse ocupar %sB de disco adicionais.\n" +msgstr "Despois desta operación ocuparanse %sB de disco adicionais.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:1165 +#: cmdline/apt-get.cc:1161 #, c-format msgid "After this operation, %sB disk space will be freed.\n" -msgstr "Despois desta operación hanse liberar %sB de disco.\n" +msgstr "Despois desta operación liberaranse %sB de espazo de disco.\n" -#: cmdline/apt-get.cc:1180 cmdline/apt-get.cc:1183 cmdline/apt-get.cc:2428 -#: cmdline/apt-get.cc:2431 +#: cmdline/apt-get.cc:1176 cmdline/apt-get.cc:1179 cmdline/apt-get.cc:2367 +#: cmdline/apt-get.cc:2370 #, c-format msgid "Couldn't determine free space in %s" -msgstr "Non se puido determinar o espazo libre en %s" +msgstr "Non foi posíbel determinar o espazo libre en %s" -#: cmdline/apt-get.cc:1193 +#: cmdline/apt-get.cc:1189 #, c-format msgid "You don't have enough free space in %s." -msgstr "Non hai espazo libre de abondo en %s." +msgstr "Non hai espazo libre abondo en %s." -#: cmdline/apt-get.cc:1209 cmdline/apt-get.cc:1229 +#: cmdline/apt-get.cc:1205 cmdline/apt-get.cc:1225 msgid "Trivial Only specified but this is not a trivial operation." -msgstr "Especificouse \"Só Triviais\" pero esta non é unha operación trivial." +msgstr "Especificouse «Só triviais» mais esta non é unha operación trivial." -#: cmdline/apt-get.cc:1211 +#: cmdline/apt-get.cc:1207 msgid "Yes, do as I say!" -msgstr "¡Si, fai o que digo!" +msgstr "Si, fai o que digo!" -#: cmdline/apt-get.cc:1213 +#: cmdline/apt-get.cc:1209 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@ -986,53 +1020,52 @@ msgid "" " ?] " msgstr "" "Está a piques de facer algo perigoso.\n" -"Para continuar escriba a frase \"%s\"\n" +"Para continuar escriba a frase «%s»\n" " ?] " -#: cmdline/apt-get.cc:1219 cmdline/apt-get.cc:1238 +#: cmdline/apt-get.cc:1215 cmdline/apt-get.cc:1234 msgid "Abort." -msgstr "Abortar." +msgstr "Interromper." -#: cmdline/apt-get.cc:1234 +#: cmdline/apt-get.cc:1230 msgid "Do you want to continue [Y/n]? " -msgstr "¿Quere continuar [S/n]? " +msgstr "Quere continuar [S/n]? " -#: cmdline/apt-get.cc:1306 cmdline/apt-get.cc:2488 apt-pkg/algorithms.cc:1491 +#: cmdline/apt-get.cc:1302 cmdline/apt-get.cc:2427 apt-pkg/algorithms.cc:1470 #, c-format msgid "Failed to fetch %s %s\n" -msgstr "Non se puido obter %s %s\n" +msgstr "Non foi posíbel obter %s %s\n" -#: cmdline/apt-get.cc:1324 +#: cmdline/apt-get.cc:1320 msgid "Some files failed to download" -msgstr "Non se puido descargar algúns ficheiros" +msgstr "Non foi posíbel descargar algúns ficheiros" -#: cmdline/apt-get.cc:1325 cmdline/apt-get.cc:2497 +#: cmdline/apt-get.cc:1321 cmdline/apt-get.cc:2436 msgid "Download complete and in download only mode" msgstr "Completouse a descarga no modo de só descargas" -#: cmdline/apt-get.cc:1331 +#: cmdline/apt-get.cc:1327 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" msgstr "" -"Non se puido obter algúns arquivos; probe con apt-get update ou --fix-" +"Non foi posíbel obter algúns arquivos; probe con apt-get update ou --fix-" "missing." -#: cmdline/apt-get.cc:1335 +#: cmdline/apt-get.cc:1331 msgid "--fix-missing and media swapping is not currently supported" msgstr "" -"O emprego conxunto de --fix-missing e intercambio de discos non está " -"soportado" +"O emprego conxunto de --fix-missing e intercambio de discos non está admitido" -#: cmdline/apt-get.cc:1340 +#: cmdline/apt-get.cc:1336 msgid "Unable to correct missing packages." -msgstr "Non se puido corrixir os paquetes non dispoñibles." +msgstr "Non é posíbel corrixir os paquetes non dispoñíbeis." -#: cmdline/apt-get.cc:1341 +#: cmdline/apt-get.cc:1337 msgid "Aborting install." -msgstr "A abortar a instalación." +msgstr "Interrompendo a instalación." -#: cmdline/apt-get.cc:1369 +#: cmdline/apt-get.cc:1365 msgid "" "The following package disappeared from your system as\n" "all files have been overwritten by other packages:" @@ -1040,45 +1073,49 @@ msgid_plural "" "The following packages disappeared from your system as\n" "all files have been overwritten by other packages:" msgstr[0] "" +"O seguinte paquete desapareceu do seu sistema e todos os \n" +"ficheiros serán sobrescritos por outros paquetes:" msgstr[1] "" +"Os seguintes paquetes desapareceron do seu sistema e todos os \n" +"ficheiros serán sobrescritos por outros paquetes:" -#: cmdline/apt-get.cc:1373 +#: cmdline/apt-get.cc:1369 msgid "Note: This is done automatic and on purpose by dpkg." -msgstr "" +msgstr "Nota: Isto será feito automaticamente por dpkg." -#: cmdline/apt-get.cc:1503 +#: cmdline/apt-get.cc:1499 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" -msgstr "" +msgstr "Ignorase a versión de destino «%s» non dispoñíbel do paquete «%s»" -#: cmdline/apt-get.cc:1535 -#, fuzzy, c-format +#: cmdline/apt-get.cc:1531 +#, c-format msgid "Picking '%s' as source package instead of '%s'\n" -msgstr "Non se atopou a lista de paquetes fonte %s" +msgstr "Tome «%s» como paquete fonte no canto de «%s»\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1573 +#: cmdline/apt-get.cc:1569 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" -msgstr "" +msgstr "Ignorar a versión non dispoñíbel «%s» do paquete «%s»" -#: cmdline/apt-get.cc:1589 +#: cmdline/apt-get.cc:1585 msgid "The update command takes no arguments" -msgstr "A orde \"update\" non toma argumentos" +msgstr "A orde «update» non toma argumentos" -#: cmdline/apt-get.cc:1651 +#: cmdline/apt-get.cc:1647 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -"Non se supón que se deban eliminar cousas; non se pode iniciar o " -"autoeliminador" +"Non se agarda que eliminemos cousas, non se pode iniciar o Retirado " +"automático" -#: cmdline/apt-get.cc:1703 +#: cmdline/apt-get.cc:1699 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." msgstr "" -"Hum, semella que o autoeliminadir destruiu algo, o que non debería\n" -"ter ocorrido. Envíe un informe de erro sobre apt." +"Vaia, semella que o Retirado automático destruíu algo que realmente\n" +"non debería ter feito. Informe deste erro de apt." #. #. if (Packages == 1) @@ -1090,266 +1127,307 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1706 cmdline/apt-get.cc:1855 +#: cmdline/apt-get.cc:1702 cmdline/apt-get.cc:1858 msgid "The following information may help to resolve the situation:" -msgstr "A seguinte información pode axudar a resolver a situación:" +msgstr "A seguinte información pode axudar a solucionar a situación:" -#: cmdline/apt-get.cc:1710 +#: cmdline/apt-get.cc:1706 msgid "Internal Error, AutoRemover broke stuff" -msgstr "Erro interno, o autoeliminador rompeu cousas" +msgstr "Produciuse un erro interno, o Retirado automático estragou cousas" -#: cmdline/apt-get.cc:1717 -#, fuzzy +#: cmdline/apt-get.cc:1713 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" "The following packages were automatically installed and are no longer " "required:" msgstr[0] "" -"Os seguintes paquetes instaláronse automaticamente e xa non son necesarios:" +"O seguinte paquete foi instalado automaticamente e xa non é necesario:" msgstr[1] "" -"Os seguintes paquetes instaláronse automaticamente e xa non son necesarios:" +"Os seguintes paquetes foron instalados automaticamente e xa non son " +"necesarios:" -#: cmdline/apt-get.cc:1721 -#, fuzzy, c-format +#: cmdline/apt-get.cc:1717 +#, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" "%lu packages were automatically installed and are no longer required.\n" -msgstr[0] "" -"Os seguintes paquetes instaláronse automaticamente e xa non son necesarios:" +msgstr[0] "%lu paquete foi instalado automaticamente e xa non é necesario.\n" msgstr[1] "" -"Os seguintes paquetes instaláronse automaticamente e xa non son necesarios:" +"%lu paquetes foron instalados automaticamente e xa non son necesarios.\n" -#: cmdline/apt-get.cc:1723 +#: cmdline/apt-get.cc:1719 msgid "Use 'apt-get autoremove' to remove them." -msgstr "Empregue \"apt-get autoremove\" para eliminalos." +msgstr "Empregue «apt-get autoremove» para eliminalos." -#: cmdline/apt-get.cc:1742 +#: cmdline/apt-get.cc:1738 msgid "Internal error, AllUpgrade broke stuff" -msgstr "Erro interno, AllUpgrade rompeu cousas" +msgstr "Produciuse un erro interno, AllUpgrade estragou cousas" -#: cmdline/apt-get.cc:1825 +#: cmdline/apt-get.cc:1828 msgid "You might want to run 'apt-get -f install' to correct these:" -msgstr "Pode querer executar \"apt-get -f install\" corrixir isto:" +msgstr "Pode querer executar «apt-get -f install» para corrixir isto:" -#: cmdline/apt-get.cc:1828 +#: cmdline/apt-get.cc:1831 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -"Dependencias incumpridas. Probe \"apt-get -f install\" sen paquetes (ou " +"Dependencias incumpridas. Probe «apt-get -f install» sen paquetes (ou " "especifique unha solución)." -#: cmdline/apt-get.cc:1840 +#: cmdline/apt-get.cc:1843 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" "distribution that some required packages have not yet been created\n" "or been moved out of Incoming." msgstr "" -"Non se puido instalar algúns paquetes. Isto pode significar que solicitou\n" -"unha situación imposible ou, se emprega a distribución inestable, que\n" -"algúns paquetes solicitados aínda non se crearon ou moveron de Incoming." +"Non foi posíbel instalar algúns paquetes. Isto pode significar que " +"solicitou\n" +"unha situación imposíbel ou, se emprega a distribución inestábel, que\n" +"algúns paquetes solicitados aínda non se creasen ou que se movesen da " +"entrada." -#: cmdline/apt-get.cc:1858 +#: cmdline/apt-get.cc:1861 msgid "Broken packages" -msgstr "Paquetes rotos" +msgstr "Paquetes estragados" -#: cmdline/apt-get.cc:1886 +#: cmdline/apt-get.cc:1889 msgid "The following extra packages will be installed:" -msgstr "Hanse instalar os seguintes paquetes extra:" +msgstr "Instalaranse os seguintes paquetes extra:" -#: cmdline/apt-get.cc:1976 +#: cmdline/apt-get.cc:1979 msgid "Suggested packages:" -msgstr "Paquetes suxiridos:" +msgstr "Paquetes suxeridos:" -#: cmdline/apt-get.cc:1977 +#: cmdline/apt-get.cc:1980 msgid "Recommended packages:" msgstr "Paquetes recomendados:" -#: cmdline/apt-get.cc:2019 +#: cmdline/apt-get.cc:2022 #, c-format msgid "Couldn't find package %s" -msgstr "Non se puido atopar o paquete %s" +msgstr "Non foi posíbel atopar o paquete %s" -#: cmdline/apt-get.cc:2026 -#, fuzzy, c-format +#: cmdline/apt-get.cc:2029 +#, c-format msgid "%s set to automatically installed.\n" -msgstr "%s cambiouse a instalado manualmente.\n" +msgstr "%s está estabelecido para a súa instalación automática.\n" -#: cmdline/apt-get.cc:2047 +#: cmdline/apt-get.cc:2050 msgid "Calculating upgrade... " -msgstr "A calcular a actualización... " +msgstr "Calculando a anovación... " -#: cmdline/apt-get.cc:2050 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2053 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Fallou" -#: cmdline/apt-get.cc:2055 +#: cmdline/apt-get.cc:2058 msgid "Done" -msgstr "Rematado" +msgstr "Feito" -#: cmdline/apt-get.cc:2122 cmdline/apt-get.cc:2130 +#: cmdline/apt-get.cc:2125 cmdline/apt-get.cc:2133 msgid "Internal error, problem resolver broke stuff" -msgstr "Erro interno, o resolvedor interno rompeu cousas" +msgstr "Produciuse un erro interno, o solucionador interno estragou cousas" -#: cmdline/apt-get.cc:2154 cmdline/apt-get.cc:2187 +#: cmdline/apt-get.cc:2157 cmdline/apt-get.cc:2190 msgid "Unable to lock the download directory" -msgstr "Non se puido bloquear o directorio de descargas" +msgstr "Non é posíbel bloquear o directorio de descargas" -#: cmdline/apt-get.cc:2238 -#, c-format -msgid "Downloading %s %s" -msgstr "" - -#: cmdline/apt-get.cc:2294 +#: cmdline/apt-get.cc:2233 msgid "Must specify at least one package to fetch source for" -msgstr "" -"Ten que especificar alomenos un paquete para lle descargar o código fonte" +msgstr "Ten que especificar polo menos un paquete para obter o código fonte" -#: cmdline/apt-get.cc:2334 cmdline/apt-get.cc:2615 +#: cmdline/apt-get.cc:2273 cmdline/apt-get.cc:2554 #, c-format msgid "Unable to find a source package for %s" -msgstr "Non se puido atopar un paquete fonte para %s" +msgstr "Non sé posíbel atopar un paquete fonte para %s" -#: cmdline/apt-get.cc:2350 +#: cmdline/apt-get.cc:2289 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" +"AVISO: o paquete «%s» mantense no sistema de control de versións «%s» en:\n" +"%s\n" -#: cmdline/apt-get.cc:2355 +#: cmdline/apt-get.cc:2294 #, c-format msgid "" "Please use:\n" "bzr get %s\n" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" +"Empregue:\n" +"bzr get %s\n" +"para obter as últimas actualizacións (posibelmente non publicadas) do " +"paquete.\n" -#: cmdline/apt-get.cc:2406 +#: cmdline/apt-get.cc:2345 #, c-format msgid "Skipping already downloaded file '%s'\n" -msgstr "Omítese o ficheiro xa descargado \"%s\"\n" +msgstr "Omítese o ficheiro xa descargado «%s»\n" -#: cmdline/apt-get.cc:2441 +#: cmdline/apt-get.cc:2380 #, c-format msgid "You don't have enough free space in %s" -msgstr "Non hai espazo libre de abondo en %s" +msgstr "Non hai espazo libre abondo en %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2449 +#: cmdline/apt-get.cc:2388 #, c-format msgid "Need to get %sB/%sB of source archives.\n" -msgstr "Hai que recibir %sB/%sB de arquivos de fonte.\n" +msgstr "Ten que recibir %sB/%sB de arquivos de fonte.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2454 +#: cmdline/apt-get.cc:2393 #, c-format msgid "Need to get %sB of source archives.\n" -msgstr "Hai que recibir %sB de arquivos de fonte.\n" +msgstr "Ten que recibir %sB de arquivos de fonte.\n" -#: cmdline/apt-get.cc:2460 +#: cmdline/apt-get.cc:2399 #, c-format msgid "Fetch source %s\n" msgstr "Obter fonte %s\n" -#: cmdline/apt-get.cc:2493 +#: cmdline/apt-get.cc:2432 msgid "Failed to fetch some archives." -msgstr "Non se puido recibir algúns arquivos." +msgstr "Non se puideron obter algúns arquivos." -#: cmdline/apt-get.cc:2523 +#: cmdline/apt-get.cc:2462 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" -msgstr "Omítese o desempaquetamento do código fonte xa desempaquetado en %s\n" +msgstr "Omítese o desempaquetado do código fonte xa desempaquetado en %s\n" -#: cmdline/apt-get.cc:2535 +#: cmdline/apt-get.cc:2474 #, c-format msgid "Unpack command '%s' failed.\n" -msgstr "Fallou a orde de desempaquetamento \"%s\".\n" +msgstr "Fallou a orde de desempaquetado «%s».\n" -#: cmdline/apt-get.cc:2536 +#: cmdline/apt-get.cc:2475 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" -msgstr "Comprobe que o paquete \"dpkg-dev\" estea instalado.\n" +msgstr "Comprobe que o paquete «dpkg-dev» estea instalado.\n" -#: cmdline/apt-get.cc:2553 +#: cmdline/apt-get.cc:2492 #, c-format msgid "Build command '%s' failed.\n" -msgstr "Fallou a codificación de %s.\n" +msgstr "Fallou a orde de construción de «%s».\n" -#: cmdline/apt-get.cc:2573 +#: cmdline/apt-get.cc:2512 msgid "Child process failed" msgstr "O proceso fillo fallou" -#: cmdline/apt-get.cc:2589 +#: cmdline/apt-get.cc:2528 msgid "Must specify at least one package to check builddeps for" msgstr "" -"Ten que especificar alomenos un paquete para lle comprobar as dependencias " +"Ten que especificar polo menos un paquete para comprobarlle as dependencias " "de compilación" -#: cmdline/apt-get.cc:2620 +#: cmdline/apt-get.cc:2559 #, c-format msgid "Unable to get build-dependency information for %s" -msgstr "Non se puido obter a información de dependencias de compilación de %s" +msgstr "Non é posíbel obter a información de dependencias de compilación de %s" -#: cmdline/apt-get.cc:2640 +#: cmdline/apt-get.cc:2579 #, c-format msgid "%s has no build depends.\n" msgstr "%s non ten dependencias de compilación.\n" -#: cmdline/apt-get.cc:2691 +#: cmdline/apt-get.cc:2630 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -"A dependencia \"%s\" de %s non se pode satisfacer porque non se pode atopar " -"o paquete %s" +"A dependencia «%s» de %s non se pode satisfacer porque non se pode atopar o " +"paquete %s" -#: cmdline/apt-get.cc:2744 +#: cmdline/apt-get.cc:2683 #, c-format msgid "" "%s dependency for %s cannot be satisfied because no available versions of " "package %s can satisfy version requirements" msgstr "" -"A dependencia \"%s\" de %s non se pode satisfacer porque ningunha versión " -"dispoñible do paquete %s satisfai os requirimentos de versión" +"A dependencia «%s» de %s non se pode satisfacer porque ningunha versión " +"dispoñíbel do paquete %s satisfai os requirimentos de versión" -#: cmdline/apt-get.cc:2780 +#: cmdline/apt-get.cc:2719 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -"Non se puido satisfacer a dependencia \"%s\" de %s: O paquete instalado %s é " -"novo de máis" +"Non foi posíbel satisfacer a dependencia «%s» de %s: O paquete instalado %s " +"é novo de máis" -#: cmdline/apt-get.cc:2807 +#: cmdline/apt-get.cc:2746 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" -msgstr "Non se puido satisfacer a dependencia \"%s\" de %s: %s" +msgstr "Non foi posíbel satisfacer a dependencia «%s» de %s: %s" -#: cmdline/apt-get.cc:2823 +#: cmdline/apt-get.cc:2762 #, c-format msgid "Build-dependencies for %s could not be satisfied." -msgstr "Non se puideron satisfacer as dependencias de compilación de %s." +msgstr "Non se puideron satisfacer as dependencias de construción de %s." -#: cmdline/apt-get.cc:2828 +#: cmdline/apt-get.cc:2767 msgid "Failed to process build dependencies" -msgstr "Non se puido procesar as dependencias de compilación" - -#: cmdline/apt-get.cc:2921 cmdline/apt-get.cc:2933 -#, fuzzy, c-format -msgid "Changelog for %s (%s)" -msgstr "A conectar a %s (%s)" +msgstr "Non se puideron procesar as dependencias de construción" -#: cmdline/apt-get.cc:3052 +#: cmdline/apt-get.cc:2798 msgid "Supported modules:" -msgstr "Módulos soportados:" +msgstr "Módulos admitidos:" -#: cmdline/apt-get.cc:3093 +#: cmdline/apt-get.cc:2839 #, fuzzy +#| msgid "" +#| "Usage: apt-get [options] command\n" +#| " apt-get [options] install|remove pkg1 [pkg2 ...]\n" +#| " apt-get [options] source pkg1 [pkg2 ...]\n" +#| "\n" +#| "apt-get is a simple command line interface for downloading and\n" +#| "installing packages. The most frequently used commands are update\n" +#| "and install.\n" +#| "\n" +#| "Commands:\n" +#| " update - Retrieve new lists of packages\n" +#| " upgrade - Perform an upgrade\n" +#| " install - Install new packages (pkg is libc6 not libc6.deb)\n" +#| " remove - Remove packages\n" +#| " autoremove - Remove automatically all unused packages\n" +#| " purge - Remove packages and config files\n" +#| " source - Download source archives\n" +#| " build-dep - Configure build-dependencies for source packages\n" +#| " dist-upgrade - Distribution upgrade, see apt-get(8)\n" +#| " dselect-upgrade - Follow dselect selections\n" +#| " clean - Erase downloaded archive files\n" +#| " autoclean - Erase old downloaded archive files\n" +#| " check - Verify that there are no broken dependencies\n" +#| " markauto - Mark the given packages as automatically installed\n" +#| " unmarkauto - Mark the given packages as manually installed\n" +#| " changelog - Download and display the changelog for the given package\n" +#| " download - Download the binary package into the current directory\n" +#| "\n" +#| "Options:\n" +#| " -h This help text.\n" +#| " -q Loggable output - no progress indicator\n" +#| " -qq No output except for errors\n" +#| " -d Download only - do NOT install or unpack archives\n" +#| " -s No-act. Perform ordering simulation\n" +#| " -y Assume Yes to all queries and do not prompt\n" +#| " -f Attempt to correct a system with broken dependencies in place\n" +#| " -m Attempt to continue if archives are unlocatable\n" +#| " -u Show a list of upgraded packages as well\n" +#| " -b Build the source package after fetching it\n" +#| " -V Show verbose version numbers\n" +#| " -c=? Read this configuration file\n" +#| " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" +#| "See the apt-get(8), sources.list(5) and apt.conf(5) manual\n" +#| "pages for more information and options.\n" +#| " This APT has Super Cow Powers.\n" msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1375,8 +1453,6 @@ msgid "" " check - Verify that there are no broken dependencies\n" " markauto - Mark the given packages as automatically installed\n" " unmarkauto - Mark the given packages as manually installed\n" -" changelog - Download and display the changelog for the given package\n" -" download - Download the binary package into the current directory\n" "\n" "Options:\n" " -h This help text.\n" @@ -1396,57 +1472,65 @@ msgid "" "pages for more information and options.\n" " This APT has Super Cow Powers.\n" msgstr "" -"Emprego: apt-get [opcións] orde\n" -" apt-get [opcións] install|remove paq1 [paq2 ...]\n" -" apt-get [opcións] source paq1 [paq2 ...]\n" +"Uso: apt-get [opcións] orde\n" +" apt-get [opcións] install|remove paquete1 [paquete2 ...]\n" +" apt-get [opcións] source paquete1 [paquete2 ...]\n" "\n" -"apt-get é unha simple interface de liña de ordes para descargar e instalar\n" -"paquetes. As ordes empregadas máis habitualmente son \"update\" e \"install" -"\".\n" +"apt-get é unha sinxela interface de liña de ordes para a descarga e\n" +"instalación de paquetes. As ordes empregadas con máis frecuencia\n" +"son actualizadas e instaladas. \n" "\n" "Ordes:\n" -" update - Descarga novas listas de paquetes\n" -" upgrade - Realiza unha actualización\n" -" install - Instala novos paquetes (o paquete chámase libc6, non libc6." -"deb)\n" -" remove - Elimina paquetes\n" -" autoremove - Elimina automaticamente os paquetes non usados\n" -" purge - Elimina e purga paquetes\n" -" source - Descarga arquivos de código fonte\n" -" build-dep - Configura as dependencias de compilación dos paquetes fonte\n" -" dist-upgrade - Actualiza a distribución, consulte apt-get(8)\n" +" update - Recupera unha nova lista de paquetes\n" +" upgrade - Executa unha actualización\n" +" install - Instala novos paquetes (o paquete é libc6 non libc6.deb)\n" +" remove - Retira paquetes\n" +" autoremove - Retira automaticamente todos os paquetes sen uso\n" +" purge - Retira paquetes e ficheiros de configuración\n" +" source - Descarga os arquivos de fontes\n" +" build-dep - Configura as dependencias para paquetes de fontes\n" +" dist-upgrade - Actualiza a distribución, vexa apt-get(8)\n" " dselect-upgrade - Segue as seleccións de dselect\n" -" clean - Borra os arquivos descargados\n" -" autoclean - Borra os arquivos descargados antigos\n" -" check - Comproba que non haxa dependencias rotas\n" +" clean - Borra os arquivos de ficheiros\n" +" autoclean - Borra os arquivos de ficheiros antigos\n" +" check - Comproba que non haxa dependencias sen cumprir\n" +" markauto - Marca os paquetes como instalados automaticamente\n" +" unmarkauto - Marca os paquetes como instalados manualmente\n" +" changelog - Descarga e mostra o rexistro de cambios para o paquete " +"proposto\n" +" download - Descarga o paquete binario no directorio actual\n" "\n" -"Opcións:\n" -" -h Este texto de axuda.\n" -" -q Saída que se pode rexistrar - sen indicador de progreso\n" -" -qq Sen saída agás polos erros\n" -" -d Só descarga - NON instala nin desempaqueta os arquivos\n" -" -s Non actuar. Realiza unha simulación de ordeamento\n" -" -y Supón unha resposta afirmativa a tódalas preguntas sen amosalas\n" -" -f Tenta corrixir un sistema con dependencias rotas\n" -" -m Tenta continuar se non se poden localizar os arquivos\n" -" -u Tamén amosa unha lista de paquetes actualizados\n" -" -b Compila o paquete fonte despois de o descargar\n" -" -V Amosa números de versión detallados\n" -" -c=? Le este ficheiro de configuración\n" -" -o=? Establece unha opción de configuración, por exemplo: -o dir::cache=/" +"Opçións:\n" +" -h Este texto de axuda\n" +" -q Saída rexistrábel - sen indicador de progreso\n" +" -qq Sen saída, agás para os erros \n" +" -d Só descarga - NON instala ou desempaqueta os arquivos\n" +" -s Sen acción. Fai unha simulación\n" +" -y Asume Si para todas as preguntas e non as presenta\n" +" -f Tenta corrixir un sistema con dependencias non cumpridas\n" +" -m Tenta continuar se os arquivos non son localizados\n" +" -u Mostra tamén unha lista de paquetes actualizados\n" +" -b Constrúe o paquete fonte despois de descargalo\n" +" -V Mostra os números detallados da versión\n" +" -c=? Ler este ficheiro de configuración\n" +" -o=? Define unha opción arbitraria de configuración, p.ex. -o dir::cache=/" "tmp\n" -"Consulte as páxinas de manual apt-get(8), sources.list(5) e apt.conf(5) " -"para\n" -"máis información e opcións.\n" -" Este APT ten Poderes de Supervaca.\n" +"Vexa as páxinas do manual sobre apt-get(8), sources.list(5) e apt.conf(5) \n" +"para obter mais información e opcións\n" +" Este APT ten poderes da Super Vaca.\n" -#: cmdline/apt-get.cc:3254 +#: cmdline/apt-get.cc:2995 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" " Keep also in mind that locking is deactivated,\n" " so don't depend on the relevance to the real current situation!" msgstr "" +"NOTA: Isto é só unha simulación!\n" +" apt-get precisa de privilexios de administrador para executarse " +"realmente.\n" +" Lembre tamén que o bloqueo está desactivado,\n" +" polo que non debe depender da relevancia da situación actual real." #: cmdline/acqprogress.cc:57 msgid "Hit " @@ -1467,12 +1551,12 @@ msgstr "Err " #: cmdline/acqprogress.cc:137 #, c-format msgid "Fetched %sB in %s (%sB/s)\n" -msgstr "Recibíronse %sB en %s (%sB/s)\n" +msgstr "Obtivéronse %sB en %s (%sB/s)\n" #: cmdline/acqprogress.cc:227 #, c-format msgid " [Working]" -msgstr " [A traballar]" +msgstr " [Traballando]" #: cmdline/acqprogress.cc:283 #, c-format @@ -1482,12 +1566,12 @@ msgid "" "in the drive '%s' and press enter\n" msgstr "" "Cambio de soporte: introduza o disco etiquetado\n" -" \"%s\"\n" -"na unidade \"%s\" e prema Intro\n" +" «%s»\n" +"na unidade «%s» e prema Intro\n" #: cmdline/apt-sortpkgs.cc:86 msgid "Unknown package record!" -msgstr "¡Rexistro de paquete descoñecido!" +msgstr "Rexistro de paquete descoñecido!" #: cmdline/apt-sortpkgs.cc:150 msgid "" @@ -1504,19 +1588,19 @@ msgid "" msgstr "" "Emprego: apt-sortpkgs [opcións] fich1 [fich2 ...]\n" "\n" -"apt-sortpkgs é unha ferramenta simple para ordear ficheiros de paquetes.\n" +"apt-sortpkgs é unha ferramenta simple para ordenar ficheiros de paquetes.\n" "A opción -s emprégase para indicar o tipo de ficheiro que é.\n" "\n" "Opcións:\n" " -h Este texto de axuda\n" -" -s Emprega ordeamento por ficheiros fonte\n" +" -s Emprega ordenamento por ficheiros fonte\n" " -c=? Le este ficheiro de configuración\n" -" -o=? Establece unha opción de configuración; por exemplo, -o dir::cache=/" +" -o=? Estabelece unha opción de configuración; por exemplo, -o dir::cache=/" "tmp\n" #: dselect/install:32 msgid "Bad default setting!" -msgstr "¡Configuración por defecto incorrecta!" +msgstr "Configuración predeterminada incorrecta!" #: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:94 #: dselect/install:105 dselect/update:45 @@ -1525,69 +1609,69 @@ msgstr "Prema Intro para continuar." #: dselect/install:91 msgid "Do you want to erase any previously downloaded .deb files?" -msgstr "¿Quere borrar os ficheiros .deb descargados anteriormente?" +msgstr "Quere borrar os ficheiros .deb descargados anteriormente?" #: dselect/install:101 -#, fuzzy msgid "Some errors occurred while unpacking. Packages that were installed" -msgstr "Houbo algúns erros ao desempaquetar. Vanse configurar os paquetes" +msgstr "" +"Ocorreron algúns erros ao desempaquetar, Os paquetes que se instalaron" #: dselect/install:102 -#, fuzzy msgid "will be configured. This may result in duplicate errors" -msgstr "que se instalaron. Isto pode producir erros duplicados ou erros" +msgstr "serán configurados, Isto pode dar erros de duplicación" #: dselect/install:103 msgid "or errors caused by missing dependencies. This is OK, only the errors" -msgstr "causados por dependencias incumpridas. Isto é normal, só os erros" +msgstr "" +"ou erros causados por dependencias incumpridas. Isto é normal, só os erros" #: dselect/install:104 msgid "" "above this message are important. Please fix them and run [I]nstall again" msgstr "" -"que hai enriba desta mensaxe son importantes. Arránxeos e volva instalar." +"que hai enriba desta mensaxe son importantes. Arránxeos e volva a instalar." #: dselect/update:30 msgid "Merging available information" -msgstr "A mesturar a información sobre paquetes dispoñibles" +msgstr "Mesturando a información sobre paquetes dispoñíbeis" #: apt-inst/contrib/extracttar.cc:114 msgid "Failed to create pipes" -msgstr "Non se puido crear as canles" +msgstr "Non foi posíbel crear as canles" #: apt-inst/contrib/extracttar.cc:141 msgid "Failed to exec gzip " -msgstr "Non se puido executar gzip" +msgstr "Non foi posíbel executar gzip " -#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:208 +#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:204 msgid "Corrupted archive" -msgstr "Arquivo corrompido" +msgstr "Arquivo danado" #: apt-inst/contrib/extracttar.cc:193 msgid "Tar checksum failed, archive corrupted" -msgstr "A suma de comprobación do arquivo tar non coincide, está corrompido" +msgstr "A suma de comprobación do arquivo tar non coincide, está danado" -#: apt-inst/contrib/extracttar.cc:300 +#: apt-inst/contrib/extracttar.cc:296 #, c-format msgid "Unknown TAR header type %u, member %s" msgstr "Tipo de cabeceira TAR %u descoñecido, membro %s" #: apt-inst/contrib/arfile.cc:70 msgid "Invalid archive signature" -msgstr "Sinatura de arquivo non válida" +msgstr "Sinatura de arquivo incorrecta" #: apt-inst/contrib/arfile.cc:78 msgid "Error reading archive member header" -msgstr "Erro ao ler a cabeceira do membro do arquivo" +msgstr "Produciuse un erro ao ler a cabeceira do membro do arquivo" #: apt-inst/contrib/arfile.cc:90 -#, fuzzy, c-format +#, c-format msgid "Invalid archive member header %s" -msgstr "Cabeceira do membro do arquivo non válida" +msgstr "Cabeceira do membro do arquivo incorrecta %s" #: apt-inst/contrib/arfile.cc:102 msgid "Invalid archive member header" -msgstr "Cabeceira do membro do arquivo non válida" +msgstr "Cabeceira do membro do arquivo incorrecta" #: apt-inst/contrib/arfile.cc:128 msgid "Archive is too short" @@ -1595,7 +1679,7 @@ msgstr "O arquivo é curto de máis" #: apt-inst/contrib/arfile.cc:132 msgid "Failed to read the archive headers" -msgstr "Non se puido ler as cabeceiras dos arquivos" +msgstr "Non foi posíbel ler as cabeceiras dos arquivos" #: apt-inst/filelist.cc:380 msgid "DropNode called on still linked node" @@ -1603,15 +1687,15 @@ msgstr "Chamouse a DropNode nun nodo aínda ligado" #: apt-inst/filelist.cc:412 msgid "Failed to locate the hash element!" -msgstr "Non se puido atopar o elemento hash" +msgstr "Non foi posíbel atopar o elemento hash" #: apt-inst/filelist.cc:459 msgid "Failed to allocate diversion" -msgstr "Non se puido reservar un desvío" +msgstr "Non foi posíbel reservar un desvío" #: apt-inst/filelist.cc:464 msgid "Internal error in AddDiversion" -msgstr "Erro interno en AddDiversion" +msgstr "Produciuse un erro interno en AddDiversion" #: apt-inst/filelist.cc:477 #, c-format @@ -1631,12 +1715,12 @@ msgstr "Ficheiro de configuración %s/%s duplicado" #: apt-inst/dirstream.cc:41 apt-inst/dirstream.cc:46 apt-inst/dirstream.cc:49 #, c-format msgid "Failed to write file %s" -msgstr "Non se puido gravar o ficheiro %s" +msgstr "Non foi posíbel escribir no ficheiro «%s»" #: apt-inst/dirstream.cc:92 apt-inst/dirstream.cc:100 #, c-format msgid "Failed to close file %s" -msgstr "Non se puido pechar o ficheiro %s" +msgstr "Non foi posíbel pechar o ficheiro %s" #: apt-inst/extract.cc:93 apt-inst/extract.cc:164 #, c-format @@ -1646,7 +1730,7 @@ msgstr "A ruta %s é longa de máis" #: apt-inst/extract.cc:124 #, c-format msgid "Unpacking %s more than once" -msgstr "A desempaquetar %s máis dunha vez" +msgstr "Desempaquetando %s máis dunha vez" #: apt-inst/extract.cc:134 #, c-format @@ -1656,7 +1740,7 @@ msgstr "O directorio %s está desviado" #: apt-inst/extract.cc:144 #, c-format msgid "The package is trying to write to the diversion target %s/%s" -msgstr "O paquete tenta gravar no destino do desvío %s/%s" +msgstr "O paquete tenta escribir no destino do desvío %s/%s" #: apt-inst/extract.cc:154 apt-inst/extract.cc:297 msgid "The diversion path is too long" @@ -1669,77 +1753,77 @@ msgstr "O directorio %s estase a substituír por algo que non é un directorio" #: apt-inst/extract.cc:280 msgid "Failed to locate node in its hash bucket" -msgstr "Non se puido atopar o nodo no seu caldeiro hash" +msgstr "Non foi posíbel atopar o nodo no seu contedor hash" #: apt-inst/extract.cc:284 msgid "The path is too long" msgstr "A ruta é longa de máis" -#: apt-inst/extract.cc:412 +#: apt-inst/extract.cc:414 #, c-format msgid "Overwrite package match with no version for %s" msgstr "Coincidencia na sobrescritura sen versión para %s" -#: apt-inst/extract.cc:429 +#: apt-inst/extract.cc:431 #, c-format msgid "File %s/%s overwrites the one in the package %s" msgstr "O ficheiro %s/%s sobrescribe o do paquete %s" #. Only warn if there are no sources.list.d. #. Only warn if there is no sources.list file. -#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 -#: apt-pkg/contrib/fileutl.cc:334 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:103 -#: apt-pkg/init.cc:111 apt-pkg/clean.cc:33 apt-pkg/policy.cc:309 +#: apt-inst/extract.cc:464 apt-pkg/contrib/cdromutl.cc:179 +#: apt-pkg/contrib/fileutl.cc:329 apt-pkg/sourcelist.cc:204 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 +#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:307 #: methods/mirror.cc:87 #, c-format msgid "Unable to read %s" -msgstr "Non se pode ler %s" +msgstr "Non é posíbel ler %s" -#: apt-inst/extract.cc:489 +#: apt-inst/extract.cc:491 #, c-format msgid "Unable to stat %s" -msgstr "Non se atopou %s" +msgstr "Non é posíbel determinar o estado %s" #: apt-inst/deb/dpkgdb.cc:51 apt-inst/deb/dpkgdb.cc:57 #, c-format msgid "Failed to remove %s" -msgstr "Non se puido eliminar %s" +msgstr "Non foi posíbel retirar %s" #: apt-inst/deb/dpkgdb.cc:106 apt-inst/deb/dpkgdb.cc:108 #, c-format msgid "Unable to create %s" -msgstr "Non se pode crear %s" +msgstr "Non é posíbel crear %s" #: apt-inst/deb/dpkgdb.cc:114 #, c-format msgid "Failed to stat %sinfo" -msgstr "Non se atopou %sinfo" +msgstr "Non foi posíbel atopar %sinfo" #: apt-inst/deb/dpkgdb.cc:119 msgid "The info and temp directories need to be on the same filesystem" msgstr "" "Os directorios info e temp teñen que estar no mesmo sistema de ficheiros" -#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1074 -#: apt-pkg/pkgcachegen.cc:1178 apt-pkg/pkgcachegen.cc:1184 -#: apt-pkg/pkgcachegen.cc:1330 +#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1070 +#: apt-pkg/pkgcachegen.cc:1174 apt-pkg/pkgcachegen.cc:1180 +#: apt-pkg/pkgcachegen.cc:1326 msgid "Reading package lists" -msgstr "A ler as listas de paquetes" +msgstr "Lendo as listas de paquetes" #: apt-inst/deb/dpkgdb.cc:176 #, c-format msgid "Failed to change to the admin dir %sinfo" -msgstr "Non se puido cambiar ao directorio de administración %sinfo" +msgstr "Non foi posíbel cambiar ao directorio de administración %sinfo" #: apt-inst/deb/dpkgdb.cc:197 apt-inst/deb/dpkgdb.cc:351 #: apt-inst/deb/dpkgdb.cc:444 msgid "Internal error getting a package name" -msgstr "Erro interno ao obter un nome de paquete" +msgstr "Produciuse un erro interno ao obter un nome de paquete" #: apt-inst/deb/dpkgdb.cc:201 apt-inst/deb/dpkgdb.cc:382 msgid "Reading file listing" -msgstr "A ler a lista de ficheiros" +msgstr "Lendo a lista de ficheiros" #: apt-inst/deb/dpkgdb.cc:212 #, c-format @@ -1748,45 +1832,45 @@ msgid "" "then make it empty and immediately re-install the same version of the " "package!" msgstr "" -"Non se puido abrir o ficheiro de listas \"%sinfo/%s\". Se non pode " +"Non foi posíbel abrir o ficheiro de listas «%sinfo/%s». Se non pode " "recuperalo, baléireo e reinstale a mesma versión do paquete." #: apt-inst/deb/dpkgdb.cc:225 apt-inst/deb/dpkgdb.cc:238 #, c-format msgid "Failed reading the list file %sinfo/%s" -msgstr "Non se puido ler o ficheiro de listas %sinfo/%s" +msgstr "Non foi posíbel ler o ficheiro de listas %sinfo/%s" #: apt-inst/deb/dpkgdb.cc:262 msgid "Internal error getting a node" -msgstr "Erro interno ao obter un nodo" +msgstr "Produciuse un erro interno ao obter un nodo" #: apt-inst/deb/dpkgdb.cc:305 #, c-format msgid "Failed to open the diversions file %sdiversions" -msgstr "Non se puido abrir o ficheiro de desvíos %sdiversions" +msgstr "Non foi posíbel abrir o ficheiro de desvíos %sdiversions" #: apt-inst/deb/dpkgdb.cc:320 msgid "The diversion file is corrupted" -msgstr "O ficheiro de desvíos está corrompido" +msgstr "O ficheiro de desvíos está danado" #: apt-inst/deb/dpkgdb.cc:327 apt-inst/deb/dpkgdb.cc:332 #: apt-inst/deb/dpkgdb.cc:337 #, c-format msgid "Invalid line in the diversion file: %s" -msgstr "Liña non válida no ficheiro de desvíos: %s" +msgstr "Liña incorrecta no ficheiro de desvíos: %s" #: apt-inst/deb/dpkgdb.cc:358 msgid "Internal error adding a diversion" -msgstr "Erro interno ao engadir un desvío" +msgstr "Produciuse un erro interno ao engadir un desvío" #: apt-inst/deb/dpkgdb.cc:379 msgid "The pkg cache must be initialized first" -msgstr "Ten que se inicializar a caché de paquetes primeiro" +msgstr "Antes ten que inicializarse a caché de paquetes" #: apt-inst/deb/dpkgdb.cc:439 #, c-format msgid "Failed to find a Package: header, offset %lu" -msgstr "Non se puido atopar unha cabeceira Package:, desprazamento %lu" +msgstr "Non foi posíbel atopar unha cabeceira Package:, desprazamento %lu" #: apt-inst/deb/dpkgdb.cc:461 #, c-format @@ -1796,73 +1880,71 @@ msgstr "Sección ConfFile incorrecta no ficheiro de estado. Desprazamento %lu" #: apt-inst/deb/dpkgdb.cc:466 #, c-format msgid "Error parsing MD5. Offset %lu" -msgstr "Erro ao analizar o MD5. Desprazamento %lu" +msgstr "Produciuse un erro ao analizar o MD5. Desprazamento %lu" #: apt-inst/deb/debfile.cc:38 apt-inst/deb/debfile.cc:43 #, c-format msgid "This is not a valid DEB archive, missing '%s' member" -msgstr "Este non é un arquivo DEB válido, falla o membro \"%s\"" +msgstr "Este non é un arquivo DEB correcto, falta o membro «%s»" #: apt-inst/deb/debfile.cc:50 #, c-format msgid "This is not a valid DEB archive, it has no '%s', '%s' or '%s' member" msgstr "" -"Este non é un arquivo DEB válido, non ten un membro \"%s\", \"%s\" ou \"%s\"" +"Este non é un arquivo DEB correcto, non ten un membro «%s», «%s» ou «%s»" #: apt-inst/deb/debfile.cc:110 #, c-format msgid "Couldn't change to %s" -msgstr "Non se puido cambiar a %s" +msgstr "Non foi posíbel cambiar a %s" #: apt-inst/deb/debfile.cc:140 +#, fuzzy +#| msgid "Internal error, could not locate member %s" msgid "Internal error, could not locate member" -msgstr "Erro interno, non se puido atopar un membro" +msgstr "Produciuse un erro interno, non foi posíbel atopar o membro %s" #: apt-inst/deb/debfile.cc:173 msgid "Failed to locate a valid control file" -msgstr "Non se puido atopar un ficheiro de control válido" +msgstr "Non foi posíbel atopar un ficheiro de control correcto" #: apt-inst/deb/debfile.cc:258 msgid "Unparsable control file" -msgstr "Ficheiro de control non analizable" - -#: methods/bzip2.cc:60 methods/gzip.cc:52 -msgid "Empty files can't be valid archives" -msgstr "" +msgstr "Ficheiro de control non analizábel" -#: methods/bzip2.cc:64 +#: methods/bzip2.cc:65 #, c-format msgid "Couldn't open pipe for %s" -msgstr "Non se puido abrir unha canle para %s" +msgstr "Non foi posíbel abrir unha canle para %s" -#: methods/bzip2.cc:108 +#: methods/bzip2.cc:109 #, c-format msgid "Read error from %s process" msgstr "Erro de lectura do proceso %s" -#: methods/bzip2.cc:140 methods/bzip2.cc:149 methods/copy.cc:43 -#: methods/gzip.cc:92 methods/gzip.cc:101 methods/rred.cc:524 -#: methods/rred.cc:533 +#: methods/bzip2.cc:141 methods/bzip2.cc:150 methods/copy.cc:43 +#: methods/gzip.cc:93 methods/gzip.cc:102 methods/rred.cc:486 +#: methods/rred.cc:495 msgid "Failed to stat" -msgstr "Non se atopou" +msgstr "Non foi posíbel determinar o estado" -#: methods/bzip2.cc:146 methods/copy.cc:80 methods/gzip.cc:98 -#: methods/rred.cc:530 +#: methods/bzip2.cc:147 methods/copy.cc:80 methods/gzip.cc:99 +#: methods/rred.cc:492 msgid "Failed to set modification time" -msgstr "Non se puido estabrecer a hora de modificación" +msgstr "Non foi posíbel estabelecer a hora de modificación" #: methods/cdrom.cc:199 #, c-format msgid "Unable to read the cdrom database %s" -msgstr "Non se puido ler a base de datos de CD-ROMs %s" +msgstr "Non é posíbel ler a base de datos do CD-ROM %s" #: methods/cdrom.cc:208 msgid "" "Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update " "cannot be used to add new CD-ROMs" msgstr "" -"Empregue apt-cdrom para que APT poida recoñecer este CD-ROM. Non se pode " -"empregar apt-get update para engadir CD-ROMs" +"Empregue apt-cdrom para que APT poida recoñecer este CD-ROM. Non foi posíbel " +"empregar apt-get update para engadir un CD-ROM" #: methods/cdrom.cc:218 msgid "Wrong CD-ROM" @@ -1871,7 +1953,7 @@ msgstr "CD-ROM incorrecto" #: methods/cdrom.cc:245 #, c-format msgid "Unable to unmount the CD-ROM in %s, it may still be in use." -msgstr "Non se puido desmontar o CD-ROM de %s, pode estarse empregando aínda." +msgstr "Non é posíbel desmontar o CD-ROM de %s, pode estarse empregando aínda." #: methods/cdrom.cc:250 msgid "Disk not found." @@ -1883,20 +1965,20 @@ msgstr "Non se atopou o ficheiro" #: methods/file.cc:44 msgid "Invalid URI, local URIS must not start with //" -msgstr "URI non válido, os URIs locais non deben comezar por //" +msgstr "URI incorrecto, os URI locais non deben comezar por //" #. Login must be before getpeername otherwise dante won't work. #: methods/ftp.cc:168 msgid "Logging in" -msgstr "A se identificar" +msgstr "Identificándose" #: methods/ftp.cc:174 msgid "Unable to determine the peer name" -msgstr "Non se puido determinar o nome do outro extremo" +msgstr "Non é posíbel determinar o nome do outro extremo" #: methods/ftp.cc:179 msgid "Unable to determine the local name" -msgstr "Non se puido determinar o nome local" +msgstr "Non é posíbel determinar o nome local" #: methods/ftp.cc:210 methods/ftp.cc:238 #, c-format @@ -1906,12 +1988,12 @@ msgstr "O servidor rexeitou a conexión e dixo: %s" #: methods/ftp.cc:216 #, c-format msgid "USER failed, server said: %s" -msgstr "A orde USER fallou, o servidor dixo: %s" +msgstr "Fallou a orde USER, o servidor dixo: %s" #: methods/ftp.cc:223 #, c-format msgid "PASS failed, server said: %s" -msgstr "A orde PASS fallou, o servidor dixo: %s" +msgstr "Fallou a orde PASS, o servidor dixo: %s" #: methods/ftp.cc:243 msgid "" @@ -1924,69 +2006,69 @@ msgstr "" #: methods/ftp.cc:271 #, c-format msgid "Login script command '%s' failed, server said: %s" -msgstr "A orde do script de conexión \"%s\" fallou, o servidor dixo: %s" +msgstr "Fallou a orde do script de acceso «%s», o servidor dixo: %s" #: methods/ftp.cc:297 #, c-format msgid "TYPE failed, server said: %s" -msgstr "A orde TYPE fallou, o servidor dixo: %s" +msgstr "Fallou a orde TYPE, o servidor dixo: %s" #: methods/ftp.cc:335 methods/ftp.cc:446 methods/rsh.cc:183 methods/rsh.cc:226 msgid "Connection timeout" -msgstr "Tempo esgotado para a conexión" +msgstr "Esgotouse o tempo para a conexión" #: methods/ftp.cc:341 msgid "Server closed the connection" msgstr "O servidor pechou a conexión" -#: methods/ftp.cc:344 apt-pkg/contrib/fileutl.cc:811 methods/rsh.cc:190 +#: methods/ftp.cc:344 apt-pkg/contrib/fileutl.cc:802 methods/rsh.cc:190 msgid "Read error" -msgstr "Erro de lectura" +msgstr "Produciuse un erro de lectura" #: methods/ftp.cc:351 methods/rsh.cc:197 msgid "A response overflowed the buffer." -msgstr "Unha resposta desbordou o buffer." +msgstr "Unha resposta desbordou o búfer." #: methods/ftp.cc:368 methods/ftp.cc:380 msgid "Protocol corruption" -msgstr "Corrupción do protocolo" +msgstr "Dano no protocolo" -#: methods/ftp.cc:452 apt-pkg/contrib/fileutl.cc:853 methods/rsh.cc:232 +#: methods/ftp.cc:452 apt-pkg/contrib/fileutl.cc:844 methods/rsh.cc:232 msgid "Write error" -msgstr "Erro de escritura" +msgstr "Produciuse un erro de escritura" #: methods/ftp.cc:692 methods/ftp.cc:698 methods/ftp.cc:734 msgid "Could not create a socket" -msgstr "Non se puido crear un socket" +msgstr "Non é posíbel crear un socket" #: methods/ftp.cc:703 msgid "Could not connect data socket, connection timed out" msgstr "" -"Non se puido conectar o socket de datos, o tempo esgotouse para a conexión" +"Non é posíbel conectar o socket de datos, o tempo esgotouse para a conexión" #: methods/ftp.cc:709 msgid "Could not connect passive socket." -msgstr "Non se puido conectar o socket pasivo." +msgstr "Non é posíbel conectar o socket pasivo." #: methods/ftp.cc:727 msgid "getaddrinfo was unable to get a listening socket" -msgstr "getaddrinfo non puido obter un socket para escoitar" +msgstr "getaddrinfo non puido obter un socket no que atender" #: methods/ftp.cc:741 msgid "Could not bind a socket" -msgstr "Non se puido ligar un socket" +msgstr "Non é posíbel ligar un socket" #: methods/ftp.cc:745 msgid "Could not listen on the socket" -msgstr "Non se puido escoitar no socket" +msgstr "Non é posíbel escoitar no socket" #: methods/ftp.cc:752 msgid "Could not determine the socket's name" -msgstr "Non se puido determinar o nome do socket" +msgstr "Non é posíbel determinar o nome do socket" #: methods/ftp.cc:784 msgid "Unable to send PORT command" -msgstr "Non se puido enviar a orde PORT" +msgstr "Non é posíbel enviar a orde PORT" #: methods/ftp.cc:794 #, c-format @@ -1996,7 +2078,7 @@ msgstr "Familia de enderezos %u (AF_*) descoñecida" #: methods/ftp.cc:803 #, c-format msgid "EPRT failed, server said: %s" -msgstr "A orde EPRT fallou, o servidor dixo: %s" +msgstr "Produciuse un fallou na orde EPRT, o servidor dixo: %s" #: methods/ftp.cc:823 msgid "Data socket connect timed out" @@ -2004,16 +2086,16 @@ msgstr "A conexión do socket de datos esgotou o tempo" #: methods/ftp.cc:830 msgid "Unable to accept connection" -msgstr "Non se pode aceptar a conexión" +msgstr "Non é posíbel aceptar a conexión" #: methods/ftp.cc:869 methods/http.cc:1006 methods/rsh.cc:302 msgid "Problem hashing file" -msgstr "Problema ao calcular o hash do ficheiro" +msgstr "Xurdiu un problema ao calcular o hash do ficheiro" #: methods/ftp.cc:882 #, c-format msgid "Unable to fetch file, server said '%s'" -msgstr "Non se pode obter o ficheiro, o servidor dixo \"%s\"" +msgstr "Non é posíbel obter o ficheiro, o servidor dixo «%s»" #: methods/ftp.cc:897 methods/rsh.cc:321 msgid "Data socket timed out" @@ -2022,7 +2104,7 @@ msgstr "O socket de datos esgotou o tempo" #: methods/ftp.cc:927 #, c-format msgid "Data transfer failed, server said '%s'" -msgstr "A transferencia de datos fallou, o servidor dixo \"%s\"" +msgstr "Produciuse un fallou na transferencia de datos, o servidor dixo «%s»" #. Get the files information #: methods/ftp.cc:1004 @@ -2031,12 +2113,12 @@ msgstr "Petición" #: methods/ftp.cc:1116 msgid "Unable to invoke " -msgstr "Non se puido chamar a " +msgstr "Non é posíbel chamar a " #: methods/connect.cc:71 #, c-format msgid "Connecting to %s (%s)" -msgstr "A conectar a %s (%s)" +msgstr "Conectando a %s (%s)" #: methods/connect.cc:82 #, c-format @@ -2046,98 +2128,97 @@ msgstr "[IP: %s %s]" #: methods/connect.cc:89 #, c-format msgid "Could not create a socket for %s (f=%u t=%u p=%u)" -msgstr "Non se puido crear un socket para %s (f=%u t=%u p=%u)" +msgstr "Non foi posíbel crear un socket para %s (f=%u t=%u p=%u)" #: methods/connect.cc:95 #, c-format msgid "Cannot initiate the connection to %s:%s (%s)." -msgstr "Non se pode iniciar a conexión a %s:%s (%s)." +msgstr "Non é posíbel iniciar a conexión a %s:%s (%s)." #: methods/connect.cc:103 #, c-format msgid "Could not connect to %s:%s (%s), connection timed out" -msgstr "Non se puido conectar a %s:%s (%s), a conexión esgotou o tempo" +msgstr "Non foi posíbel conectar a %s:%s (%s), a conexión esgotou o tempo" #: methods/connect.cc:121 #, c-format msgid "Could not connect to %s:%s (%s)." -msgstr "Non se puido conectar a %s:%s (%s)." +msgstr "Non foi posíbel conectar a %s:%s (%s)." #. We say this mainly because the pause here is for the #. ssh connection that is still going #: methods/connect.cc:149 methods/rsh.cc:424 #, c-format msgid "Connecting to %s" -msgstr "A conectar a %s" +msgstr "Conectando a %s" #: methods/connect.cc:168 methods/connect.cc:187 #, c-format msgid "Could not resolve '%s'" -msgstr "Non se puido resolver \"%s\"" +msgstr "Non foi posíbel atopar «%s»" #: methods/connect.cc:193 #, c-format msgid "Temporary failure resolving '%s'" -msgstr "Fallo temporal ao resolver \"%s\"" +msgstr "Produciuse un fallo temporal ao buscar «%s»" #: methods/connect.cc:196 -#, fuzzy, c-format +#, c-format msgid "Something wicked happened resolving '%s:%s' (%i - %s)" -msgstr "Algo estraño ocorreu ao resolver \"%s:%s\" (%i)" +msgstr "Aconteceu algo malo, buscando «%s:%s» (%i - %s)" #: methods/connect.cc:243 -#, fuzzy, c-format +#, c-format msgid "Unable to connect to %s:%s:" -msgstr "Non se pode conectar a %s %s:" +msgstr "Non é posíbel conectar %s:%s:" #. TRANSLATOR: %s is the trusted keyring parts directory #: methods/gpgv.cc:71 -#, fuzzy, c-format +#, c-format msgid "No keyring installed in %s." -msgstr "A abortar a instalación." +msgstr "Non ha ningún chaveiro instalado en %s." #: methods/gpgv.cc:163 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -"Erro interno: Sinatura correcta, pero non se puido determinar a pegada " +"Erro interno: Sinatura correcta, pero non foi posíbel determinar a pegada " "dixital da chave" #: methods/gpgv.cc:168 msgid "At least one invalid signature was encountered." -msgstr "Atopouse alomenos unha sinatura non válida." +msgstr "Atopouse polo menos unha sinatura incorrecta." #: methods/gpgv.cc:172 -#, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -"Non se puido executar \"%s\" para verificar a sinatura (¿está gpgv " -"instalado?)" +"Non é posíbel executar «gpgv» para verificar a sinatura (Está instalado " +"gpgv?)" #: methods/gpgv.cc:177 msgid "Unknown error executing gpgv" -msgstr "Erro descoñecido ao executar gpgv" +msgstr "Produciuse un erro descoñecido ao executar gpgv" #: methods/gpgv.cc:211 methods/gpgv.cc:218 msgid "The following signatures were invalid:\n" -msgstr "As seguintes sinaturas non eran válidas:\n" +msgstr "As seguintes sinaturas non eran correctas:\n" #: methods/gpgv.cc:225 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" msgstr "" -"Non se puido verificar as seguintes sinaturas porque a chave pública non " -"está dispoñible:\n" +"Non se puideron verificar as seguintes sinaturas porque a chave pública non " +"está dispoñíbel:\n" #: methods/http.cc:385 msgid "Waiting for headers" -msgstr "A agardar polas cabeceiras" +msgstr "Agardando polas cabeceiras" #: methods/http.cc:531 #, c-format msgid "Got a single header line over %u chars" -msgstr "Recibiuse unha soa liña de cabeceira en %u caracteres" +msgstr "Obtivose unha soa liña de cabeceira en %u caracteres" #: methods/http.cc:539 msgid "Bad header line" @@ -2145,23 +2226,24 @@ msgstr "Liña de cabeceira incorrecta" #: methods/http.cc:564 methods/http.cc:571 msgid "The HTTP server sent an invalid reply header" -msgstr "O servidor HTTP enviou unha cabeceira de resposta non válida" +msgstr "O servidor HTTP enviou unha cabeceira de resposta incorrecta" #: methods/http.cc:600 msgid "The HTTP server sent an invalid Content-Length header" -msgstr "O servidor HTTP enviou unha cabeceira Content-Length non válida" +msgstr "" +"O servidor HTTP enviou unha cabeceira cunha lonxitude de contido incorrecta" #: methods/http.cc:615 msgid "The HTTP server sent an invalid Content-Range header" -msgstr "O servidor HTTP enviou unha cabeceira Content-Range non válida" +msgstr "O servidor HTTP enviou unha cabeceira cun rango de contido incorrecto" #: methods/http.cc:617 msgid "This HTTP server has broken range support" -msgstr "Este servidor HTTP ten un soporte de rangos roto" +msgstr "Este servidor HTTP ten a compatibilidade de rangos estragada" #: methods/http.cc:641 msgid "Unknown date format" -msgstr "Formato de data descoñecido" +msgstr "Formato de datos descoñecido" #: methods/http.cc:799 msgid "Select failed" @@ -2173,27 +2255,28 @@ msgstr "A conexión esgotou o tempo" #: methods/http.cc:827 msgid "Error writing to output file" -msgstr "Erro ao escribir no ficheiro de saída" +msgstr "Produciuse un erro ao escribir no ficheiro de saída" #: methods/http.cc:858 msgid "Error writing to file" -msgstr "Erro ao escribir nun ficheiro" +msgstr "Produciuse un erro ao escribir nun ficheiro" #: methods/http.cc:886 msgid "Error writing to the file" -msgstr "Erro ao escribir no ficheiro" +msgstr "Produciuse un erro ao escribir no ficheiro" #: methods/http.cc:900 msgid "Error reading from server. Remote end closed connection" -msgstr "Erro ao ler do servidor. O extremo remoto pechou a conexión" +msgstr "" +"Produciuse un erro ao ler do servidor. O extremo remoto pechou a conexión" #: methods/http.cc:902 msgid "Error reading from server" -msgstr "Erro ao ler do servidor" +msgstr "Produciuse un erro ao ler do servidor" -#: methods/http.cc:991 apt-pkg/contrib/mmap.cc:283 +#: methods/http.cc:991 apt-pkg/contrib/mmap.cc:281 msgid "Failed to truncate file" -msgstr "Non se puido truncar o ficheiro" +msgstr "Non foi posíbel truncar o ficheiro" #: methods/http.cc:1160 msgid "Bad header data" @@ -2201,80 +2284,84 @@ msgstr "Datos da cabeceira incorrectos" #: methods/http.cc:1177 methods/http.cc:1232 msgid "Connection failed" -msgstr "A conexión fallou" +msgstr "Produciuse un fallo na conexión" #: methods/http.cc:1324 msgid "Internal error" -msgstr "Erro interno" +msgstr "Produciuse un erro interno" #: apt-pkg/contrib/mmap.cc:77 msgid "Can't mmap an empty file" -msgstr "Non se pode facer mmap sobre un ficheiro baleiro" +msgstr "Non é posíbel facer mmap sobre un ficheiro baleiro" #: apt-pkg/contrib/mmap.cc:89 -#, fuzzy, c-format +#, c-format msgid "Couldn't duplicate file descriptor %i" -msgstr "Non se puido abrir unha canle para %s" +msgstr "Non foi posíbel duplicar o descritor de ficheiro %i" #: apt-pkg/contrib/mmap.cc:97 apt-pkg/contrib/mmap.cc:250 #, c-format msgid "Couldn't make mmap of %lu bytes" -msgstr "Non se puido facer mmap de %lu bytes" +msgstr "Non foi posíbel facer mmap de %lu bytes" #: apt-pkg/contrib/mmap.cc:124 -#, fuzzy msgid "Unable to close mmap" -msgstr "Non se puido abrir %s" +msgstr "Non é posíbel pechar mmap" #: apt-pkg/contrib/mmap.cc:152 apt-pkg/contrib/mmap.cc:180 -#, fuzzy msgid "Unable to synchronize mmap" -msgstr "Non se puido chamar a " +msgstr "Non é posíbel sincronizar mmap" -#: apt-pkg/contrib/mmap.cc:302 +#: apt-pkg/contrib/mmap.cc:300 #, c-format msgid "" "Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. " "Current value: %lu. (man 5 apt.conf)" msgstr "" +"Dynamic MMap executouse fora do lugar. Incremente o tamaño de APT::Cache-" +"Limit. O valor actual é : %lu. (man 5 apt.conf)" -#: apt-pkg/contrib/mmap.cc:401 +#: apt-pkg/contrib/mmap.cc:399 #, c-format msgid "" "Unable to increase the size of the MMap as the limit of %lu bytes is already " "reached." msgstr "" +"Non é posíbel aumentar o tamaño de MMap xa que o límite de %lu bytes xa foi " +"acadado." -#: apt-pkg/contrib/mmap.cc:404 +#: apt-pkg/contrib/mmap.cc:402 msgid "" "Unable to increase size of the MMap as automatic growing is disabled by user." msgstr "" +"Non é posíbel aumentar o tamaño de MMap xa que o crecemento automático foi " +"desactivado polo usuario." #. d means days, h means hours, min means minutes, s means seconds #: apt-pkg/contrib/strutl.cc:371 #, c-format msgid "%lid %lih %limin %lis" -msgstr "" +msgstr "%lid %lih %limin %lis" #. h means hours, min means minutes, s means seconds #: apt-pkg/contrib/strutl.cc:378 #, c-format msgid "%lih %limin %lis" -msgstr "" +msgstr "%lih %limin %lis" #. min means minutes, s means seconds #: apt-pkg/contrib/strutl.cc:385 #, c-format msgid "%limin %lis" -msgstr "" +msgstr "%limin %lis" #. s means seconds #: apt-pkg/contrib/strutl.cc:390 #, c-format msgid "%lis" -msgstr "" +msgstr "%lis" -#: apt-pkg/contrib/strutl.cc:1136 +#: apt-pkg/contrib/strutl.cc:1119 #, c-format msgid "Selection %s not found" msgstr "Non se atopou a selección %s" @@ -2282,72 +2369,76 @@ msgstr "Non se atopou a selección %s" #: apt-pkg/contrib/configuration.cc:452 #, c-format msgid "Unrecognized type abbreviation: '%c'" -msgstr "Abreviatura de tipo \"%c\" descoñecida" +msgstr "Abreviatura de tipo «%c» descoñecida" #: apt-pkg/contrib/configuration.cc:510 #, c-format msgid "Opening configuration file %s" -msgstr "A abrir o ficheiro de configuración %s" +msgstr "Abrindo o ficheiro de configuración %s" #: apt-pkg/contrib/configuration.cc:678 #, c-format msgid "Syntax error %s:%u: Block starts with no name." -msgstr "Erro de sintaxe %s:%u: O bloque comeza sen un nome." +msgstr "Produciuse un erro de sintaxe %s:%u: O bloque comeza sen un nome." #: apt-pkg/contrib/configuration.cc:697 #, c-format msgid "Syntax error %s:%u: Malformed tag" -msgstr "Erro de sintaxe %s:%u: Etiqueta mal formada" +msgstr "Produciuse un erro de sintaxe %s:%u: Etiqueta mal formada" #: apt-pkg/contrib/configuration.cc:714 #, c-format msgid "Syntax error %s:%u: Extra junk after value" -msgstr "Erro de sintaxe %s:%u: Lixo extra despois do valor" +msgstr "Produciuse un erro de sintaxe %s:%u: Lixo extra despois do valor" #: apt-pkg/contrib/configuration.cc:754 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" -msgstr "Erro de sintaxe %s:%u: Só se poden facer directivas no nivel superior" +msgstr "" +"Produciuse un erro de sintaxe %s:%u: Só se poden facer directivas no nivel " +"superior" #: apt-pkg/contrib/configuration.cc:761 #, c-format msgid "Syntax error %s:%u: Too many nested includes" -msgstr "Erro de sintaxe %s:%u: Includes aniñados de máis" +msgstr "Produciuse un erro de sintaxe %s:%u: Includes aniñados de máis" #: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 #, c-format msgid "Syntax error %s:%u: Included from here" -msgstr "Erro de sintaxe %s:%u: Incluído de aquí" +msgstr "Produciuse un erro de sintaxe %s:%u: Incluído de aquí" #: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" -msgstr "Erro de sintaxe %s:%u: Non se soporta a directiva \"%s\"" +msgstr "Produciuse un erro de sintaxe %s:%u: Non se admite a directiva «%s»" #: apt-pkg/contrib/configuration.cc:777 -#, fuzzy, c-format +#, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" -msgstr "Erro de sintaxe %s:%u: Só se poden facer directivas no nivel superior" +msgstr "" +"Produciuse un erro de sintaxe %s:%u: a directiva «clear» require unha árbore " +"de opción como argumento" #: apt-pkg/contrib/configuration.cc:827 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" -msgstr "Erro de sintaxe %s:%u: Lixo extra á fin da liña" +msgstr "Produciuse un erro de sintaxe %s:%u: Lixo extra á fin da liña" #: apt-pkg/contrib/progress.cc:153 #, c-format msgid "%c%s... Error!" -msgstr "%c%s... ¡Erro!" +msgstr "%c%s... Erro!" #: apt-pkg/contrib/progress.cc:155 #, c-format msgid "%c%s... Done" -msgstr "%c%s... Rematado" +msgstr "%c%s... Feito" #: apt-pkg/contrib/cmndline.cc:77 #, c-format msgid "Command line option '%c' [from %s] is not known." -msgstr "Non se coñece a opción de liña de ordes \"%c\" [de %s]." +msgstr "Non se coñece a opción de liña de ordes «%c» [de %s]." #: apt-pkg/contrib/cmndline.cc:103 apt-pkg/contrib/cmndline.cc:111 #: apt-pkg/contrib/cmndline.cc:119 @@ -2374,148 +2465,132 @@ msgstr "" #: apt-pkg/contrib/cmndline.cc:236 #, c-format msgid "Option %s requires an integer argument, not '%s'" -msgstr "A opción %s precisa dun argumento enteiro, non \"%s\"" +msgstr "A opción %s precisa dun argumento enteiro, non «%s»" #: apt-pkg/contrib/cmndline.cc:267 #, c-format msgid "Option '%s' is too long" -msgstr "A opción \"%s\" é longa de máis" +msgstr "A opción «%s» é longa de máis" #: apt-pkg/contrib/cmndline.cc:300 #, c-format msgid "Sense %s is not understood, try true or false." -msgstr "O senso %s non se entende, probe \"true\" ou \"false\"." +msgstr "O senso %s non se entende, probe «true» ou «false»." #: apt-pkg/contrib/cmndline.cc:350 #, c-format msgid "Invalid operation %s" -msgstr "Operación %s non válida" +msgstr "Operación incorrecta: %s" #: apt-pkg/contrib/cdromutl.cc:52 #, c-format msgid "Unable to stat the mount point %s" -msgstr "Non se pode analizar o punto de montaxe %s" +msgstr "Non é posíbel analizar o punto de montaxe %s" #: apt-pkg/contrib/cdromutl.cc:175 apt-pkg/contrib/cdromutl.cc:209 #: apt-pkg/acquire.cc:456 apt-pkg/acquire.cc:481 apt-pkg/clean.cc:39 #: methods/mirror.cc:93 #, c-format msgid "Unable to change to %s" -msgstr "Non se pode cambiar a %s" +msgstr "Non é posíbel cambiar a %s" #: apt-pkg/contrib/cdromutl.cc:217 msgid "Failed to stat the cdrom" -msgstr "Non se puido analizar o CD-ROM" +msgstr "Non foi posíbel analizar o CD-ROM" -#: apt-pkg/contrib/fileutl.cc:159 +#: apt-pkg/contrib/fileutl.cc:154 #, c-format msgid "Not using locking for read only lock file %s" msgstr "Non se empregan bloqueos para o ficheiro de bloqueo de só lectura %s" -#: apt-pkg/contrib/fileutl.cc:164 +#: apt-pkg/contrib/fileutl.cc:159 #, c-format msgid "Could not open lock file %s" -msgstr "Non se puido abrir o ficheiro de bloqueo %s" +msgstr "Non foi posíbel abrir o ficheiro de bloqueo %s" -#: apt-pkg/contrib/fileutl.cc:182 +#: apt-pkg/contrib/fileutl.cc:177 #, c-format msgid "Not using locking for nfs mounted lock file %s" msgstr "Non se empregan bloqueos para o ficheiro de bloqueo montado por NFS %s" -#: apt-pkg/contrib/fileutl.cc:186 +#: apt-pkg/contrib/fileutl.cc:181 #, c-format msgid "Could not get lock %s" -msgstr "Non se puido obter o bloqueo %s" +msgstr "Non foi posíbel obter o bloqueo %s" -#: apt-pkg/contrib/fileutl.cc:326 +#: apt-pkg/contrib/fileutl.cc:321 #, c-format msgid "List of files can't be created as '%s' is not a directory" -msgstr "" - -#: apt-pkg/contrib/fileutl.cc:353 -#, c-format -msgid "Ignoring '%s' in directory '%s' as it is not a regular file" -msgstr "" - -#: apt-pkg/contrib/fileutl.cc:371 -#, c-format -msgid "Ignoring file '%s' in directory '%s' as it has no filename extension" -msgstr "" +msgstr "A lista de ficheiros non pode ser creada como «%s» non é un directorio" -#: apt-pkg/contrib/fileutl.cc:380 -#, c-format -msgid "" -"Ignoring file '%s' in directory '%s' as it has an invalid filename extension" -msgstr "" - -#: apt-pkg/contrib/fileutl.cc:670 +#: apt-pkg/contrib/fileutl.cc:661 #, c-format msgid "Waited for %s but it wasn't there" msgstr "Agardouse por %s pero non estaba alí" -#: apt-pkg/contrib/fileutl.cc:682 +#: apt-pkg/contrib/fileutl.cc:673 #, c-format msgid "Sub-process %s received a segmentation fault." msgstr "O subproceso %s recibiu un fallo de segmento." -#: apt-pkg/contrib/fileutl.cc:684 -#, fuzzy, c-format +#: apt-pkg/contrib/fileutl.cc:675 +#, c-format msgid "Sub-process %s received signal %u." -msgstr "O subproceso %s recibiu un fallo de segmento." +msgstr "O subproceso %s recibiu o sinal %u." -#: apt-pkg/contrib/fileutl.cc:688 +#: apt-pkg/contrib/fileutl.cc:679 #, c-format msgid "Sub-process %s returned an error code (%u)" msgstr "O subproceso %s devolveu un código de erro (%u)" -#: apt-pkg/contrib/fileutl.cc:690 +#: apt-pkg/contrib/fileutl.cc:681 #, c-format msgid "Sub-process %s exited unexpectedly" msgstr "O subproceso %s saíu de xeito inesperado" -#: apt-pkg/contrib/fileutl.cc:755 +#: apt-pkg/contrib/fileutl.cc:746 #, c-format msgid "Could not open file %s" -msgstr "Non se puido abrir o ficheiro %s" +msgstr "Non foi posíbel abrir o ficheiro %s" -#: apt-pkg/contrib/fileutl.cc:772 -#, fuzzy, c-format +#: apt-pkg/contrib/fileutl.cc:763 +#, c-format msgid "Could not open file descriptor %d" -msgstr "Non se puido abrir unha canle para %s" +msgstr "Non foi posíbel abrir o descritor de ficheiro %d" -#: apt-pkg/contrib/fileutl.cc:832 +#: apt-pkg/contrib/fileutl.cc:823 #, c-format msgid "read, still have %lu to read but none left" msgstr "lectura, aínda hai %lu para ler pero non queda ningún" -#: apt-pkg/contrib/fileutl.cc:865 +#: apt-pkg/contrib/fileutl.cc:856 #, c-format msgid "write, still have %lu to write but couldn't" msgstr "escritura, aínda hai %lu para escribir pero non se puido" -#: apt-pkg/contrib/fileutl.cc:1001 -#, fuzzy, c-format +#: apt-pkg/contrib/fileutl.cc:985 +#, c-format msgid "Problem closing the gzip file %s" -msgstr "Problema ao pechar o ficheiro" +msgstr "Produciuse un problema ao pechar o arquivo gzip %s" -#: apt-pkg/contrib/fileutl.cc:1004 -#, fuzzy, c-format +#: apt-pkg/contrib/fileutl.cc:988 +#, c-format msgid "Problem closing the file %s" -msgstr "Problema ao pechar o ficheiro" +msgstr "Produciuse un problema ao pechar o ficheiro %s" -#: apt-pkg/contrib/fileutl.cc:1009 -#, fuzzy, c-format +#: apt-pkg/contrib/fileutl.cc:993 +#, c-format msgid "Problem renaming the file %s to %s" -msgstr "Problema ao sincronizar o ficheiro" +msgstr "Produciuse un problema ao renomear o ficheiro %s a %s" -#: apt-pkg/contrib/fileutl.cc:1020 -#, fuzzy, c-format +#: apt-pkg/contrib/fileutl.cc:1004 +#, c-format msgid "Problem unlinking the file %s" -msgstr "Problema ao borrar o ficheiro" +msgstr "Produciuse un problema ao desligar o ficheiro %s" -#: apt-pkg/contrib/fileutl.cc:1033 +#: apt-pkg/contrib/fileutl.cc:1017 msgid "Problem syncing the file" -msgstr "Problema ao sincronizar o ficheiro" +msgstr "Produciuse un problema ao sincronizar o ficheiro" #: apt-pkg/pkgcache.cc:145 msgid "Empty package cache" @@ -2523,20 +2598,20 @@ msgstr "Caché de paquetes baleira" #: apt-pkg/pkgcache.cc:151 msgid "The package cache file is corrupted" -msgstr "O ficheiro de caché de paquetes está corrompido" +msgstr "O ficheiro de caché de paquetes está danado" #: apt-pkg/pkgcache.cc:156 msgid "The package cache file is an incompatible version" -msgstr "O ficheiro de caché de paquetes é unha versión incompatible" +msgstr "O ficheiro de caché de paquetes é unha versión incompatíbel" #: apt-pkg/pkgcache.cc:161 #, c-format msgid "This APT does not support the versioning system '%s'" -msgstr "Este APT non soporta o sistema de versionamento \"%s\"" +msgstr "Este APT non admite o sistema de versionado «%s»" #: apt-pkg/pkgcache.cc:166 msgid "The package cache was built for a different architecture" -msgstr "A caché de paquetes construiuse para unha arquitectura diferente" +msgstr "A caché de paquetes construíuse para unha arquitectura diferente" #: apt-pkg/pkgcache.cc:293 msgid "Depends" @@ -2556,7 +2631,7 @@ msgstr "Recomenda" #: apt-pkg/pkgcache.cc:294 msgid "Conflicts" -msgstr "Conflicto con" +msgstr "Conflitos" #: apt-pkg/pkgcache.cc:294 msgid "Replaces" @@ -2568,11 +2643,11 @@ msgstr "Fai obsoleto a" #: apt-pkg/pkgcache.cc:295 msgid "Breaks" -msgstr "Rompe" +msgstr "Estraga" #: apt-pkg/pkgcache.cc:295 msgid "Enhances" -msgstr "" +msgstr "Mellora" #: apt-pkg/pkgcache.cc:306 msgid "important" @@ -2596,7 +2671,7 @@ msgstr "extra" #: apt-pkg/depcache.cc:125 apt-pkg/depcache.cc:154 msgid "Building dependency tree" -msgstr "A construír a árbore de dependencias" +msgstr "Construindo a árbore de dependencias" #: apt-pkg/depcache.cc:126 msgid "Candidate versions" @@ -2608,17 +2683,17 @@ msgstr "Xeración de dependencias" #: apt-pkg/depcache.cc:175 apt-pkg/depcache.cc:208 apt-pkg/depcache.cc:212 msgid "Reading state information" -msgstr "A ler a información do estado" +msgstr "Lendo a información do estado" #: apt-pkg/depcache.cc:237 #, c-format msgid "Failed to open StateFile %s" -msgstr "Non se puido abrir o ficheiro de estado %s" +msgstr "Non foi posíbel abrir o ficheiro de estado %s" #: apt-pkg/depcache.cc:243 #, c-format msgid "Failed to write temporary StateFile %s" -msgstr "Non se puido gravar o ficheiro de estado temporal %s" +msgstr "Non foi posíbel gravar o ficheiro de estado temporal %s" #: apt-pkg/depcache.cc:922 #, c-format @@ -2628,82 +2703,86 @@ msgstr "" #: apt-pkg/tagfile.cc:102 #, c-format msgid "Unable to parse package file %s (1)" -msgstr "Non se pode analizar o ficheiro de paquetes %s (1)" +msgstr "Non é posíbel analizar o ficheiro de paquetes %s (1)" #: apt-pkg/tagfile.cc:189 #, c-format msgid "Unable to parse package file %s (2)" -msgstr "Non se pode analizar o ficheiro de paquetes %s (2)" +msgstr "Non é posíbel analizar o ficheiro de paquetes %s (2)" #: apt-pkg/sourcelist.cc:92 -#, fuzzy, c-format +#, c-format msgid "Malformed line %lu in source list %s ([option] unparseable)" -msgstr "Liña %lu mal formada na lista de fontes %s (análise de dist)" +msgstr "" +"Liña %lu mal construída na lista de fontes %s ([opción] non analizábel)" #: apt-pkg/sourcelist.cc:95 -#, fuzzy, c-format +#, c-format msgid "Malformed line %lu in source list %s ([option] too short)" -msgstr "Liña %lu mal formada na lista de fontes %s (dist)" +msgstr "" +"Liña %lu mal construída na lista de fontes %s ([opción] demasiado curta)" #: apt-pkg/sourcelist.cc:106 -#, fuzzy, c-format +#, c-format msgid "Malformed line %lu in source list %s ([%s] is not an assignment)" -msgstr "Liña %lu mal formada na lista de fontes %s (análise de dist)" +msgstr "" +"Liña %lu mal construída na lista de fontes %s ([%s] non é unha asignación)" #: apt-pkg/sourcelist.cc:112 -#, fuzzy, c-format +#, c-format msgid "Malformed line %lu in source list %s ([%s] has no key)" -msgstr "Liña %lu mal formada na lista de fontes %s (análise de dist)" +msgstr "Liña %lu mal construída na lista de fontes %s ([%s] non ten chave)" #: apt-pkg/sourcelist.cc:115 -#, fuzzy, c-format +#, c-format msgid "Malformed line %lu in source list %s ([%s] key %s has no value)" -msgstr "Liña %lu mal formada na lista de fontes %s (análise de dist)" +msgstr "" +"Liña %lu mal construída na lista de fontes %s ([%s] a chave %s non ten valor)" #: apt-pkg/sourcelist.cc:128 #, c-format msgid "Malformed line %lu in source list %s (URI)" -msgstr "Liña %lu mal formada na lista de fontes %s (URI)" +msgstr "Liña %lu mal construída na lista de orixes %s (URI)" #: apt-pkg/sourcelist.cc:130 #, c-format msgid "Malformed line %lu in source list %s (dist)" -msgstr "Liña %lu mal formada na lista de fontes %s (dist)" +msgstr "Liña %lu mal construída na lista de orixes %s (dist)" #: apt-pkg/sourcelist.cc:133 #, c-format msgid "Malformed line %lu in source list %s (URI parse)" -msgstr "Liña %lu mal formada na lista de fontes %s (análise de URI)" +msgstr "Liña %lu mal construída na lista de orixes %s (análise de URI)" #: apt-pkg/sourcelist.cc:139 #, c-format msgid "Malformed line %lu in source list %s (absolute dist)" -msgstr "Liña %lu mal formada na lista de fontes %s (dist absoluta)" +msgstr "Liña %lu mal construída na lista de orixes %s (dist absoluta)" #: apt-pkg/sourcelist.cc:146 #, c-format msgid "Malformed line %lu in source list %s (dist parse)" -msgstr "Liña %lu mal formada na lista de fontes %s (análise de dist)" +msgstr "Liña %lu mal construída na lista de orixes %s (análise de dist)" #: apt-pkg/sourcelist.cc:244 #, c-format msgid "Opening %s" -msgstr "A abrir %s" +msgstr "Abrindo %s" #: apt-pkg/sourcelist.cc:261 apt-pkg/cdrom.cc:438 #, c-format msgid "Line %u too long in source list %s." -msgstr "Liña %u longa de máis na lista de fontes %s." +msgstr "Liña %u longa de máis na lista de orixes %s." #: apt-pkg/sourcelist.cc:281 #, c-format msgid "Malformed line %u in source list %s (type)" -msgstr "Liña %u mal formada na lista de fontes %s (tipo)" +msgstr "Liña %u mal construída na lista de orixes %s (tipo)" #: apt-pkg/sourcelist.cc:285 #, c-format msgid "Type '%s' is not known on line %u in source list %s" -msgstr "O tipo \"%s\" non se coñece na liña %u da lista de fontes %s" +msgstr "O tipo «%s» non se coñece na liña %u da lista de orixes %s" #: apt-pkg/packagemanager.cc:331 apt-pkg/packagemanager.cc:616 #, c-format @@ -2711,6 +2790,8 @@ msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" +"Non foi posíbel facer a configuración inmediata en «%s». Vexa man 5 apt.conf " +"baixo APT::Immediate-Configure para obter máis detalles. (%d)" #: apt-pkg/packagemanager.cc:452 #, c-format @@ -2719,8 +2800,8 @@ msgid "" "package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if " "you really want to do it, activate the APT::Force-LoopBreak option." msgstr "" -"Esta instalación ha requirir que se elimine temporalmente o paquete esencial " -"%s debido a un bucle de Conflictos e Pre-dependencias. Isto adoita ser malo, " +"Esta instalación requirirá que se retire temporalmente o paquete esencial %s " +"por mor dun bucle de Conflitos e Pre-dependencias. Isto adoita ser malo, " "pero se o quere facer, active a opción APT::Force-LoopBreak." #: apt-pkg/packagemanager.cc:495 @@ -2729,71 +2810,78 @@ msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " "see man 5 apt.conf under APT::Immediate-Configure for details." msgstr "" +"Non foi posíbel realizar a configuración inmediata no paquete, aínda sen " +"desempaquetar, «%s». Vexa man 5 apt.conf baixo APT::Immediate-Configure para " +"obter máis detalles." #: apt-pkg/pkgrecords.cc:32 #, c-format msgid "Index file type '%s' is not supported" -msgstr "O tipo de ficheiros de índices \"%s\" non está soportado" +msgstr "O tipo de ficheiros de índices «%s» non está admitido" -#: apt-pkg/algorithms.cc:313 +#: apt-pkg/algorithms.cc:292 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" -"O paquete %s ten que se reinstalar, pero non se pode atopar o seu arquivo." +"O paquete %s ten que ser reinstalado, mais non é posíbel atopar o seu " +"arquivo." -#: apt-pkg/algorithms.cc:1239 +#: apt-pkg/algorithms.cc:1218 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." msgstr "" -"Erro, pkgProblemResolver::Resolve xerou interrupcións, pode estar causado " -"por paquetes retidos." +"Erro, pkgProblemResolver::Resolve xerou interrupcións, isto pode estar " +"causado por paquetes retidos." -#: apt-pkg/algorithms.cc:1241 +#: apt-pkg/algorithms.cc:1220 msgid "Unable to correct problems, you have held broken packages." -msgstr "Non se poden resolver os problemas, ten retidos paquetes rotos." +msgstr "Non é posíbel solucionar os problemas, ten retidos paquetes rotos." -#: apt-pkg/algorithms.cc:1517 apt-pkg/algorithms.cc:1519 +#: apt-pkg/algorithms.cc:1496 apt-pkg/algorithms.cc:1498 #, fuzzy +#| msgid "" +#| "Some index files failed to download. They have been ignored, or old ones " +#| "used instead." msgid "" -"Some index files failed to download. They have been ignored, or old ones " +"Some index files failed to download, they have been ignored, or old ones " "used instead." msgstr "" -"Non se puido descargar algúns ficheiros de índices; ignoráronse ou " -"empregáronse uns vellos no seu lugar." +"Algúns ficheiros de índice fallaron durante a descarga. Ignoráronse, ou " +"foron utilizados algúns antigos no seu lugar" #: apt-pkg/acquire.cc:79 -#, fuzzy, c-format +#, c-format msgid "List directory %spartial is missing." -msgstr "O directorio de listas %spartial falla." +msgstr "Non se atopa a lista de directorios %sparcial." #: apt-pkg/acquire.cc:83 -#, fuzzy, c-format +#, c-format msgid "Archives directory %spartial is missing." -msgstr "O directorio de arquivos %spartial falla." +msgstr "Non se atopa a lista de arquivos %sparcial." #: apt-pkg/acquire.cc:91 -#, fuzzy, c-format +#, c-format msgid "Unable to lock directory %s" -msgstr "Non se puido bloquear o directorio de listas" +msgstr "Non é posíbel bloquear o directorio %s" #. only show the ETA if it makes sense #. two days #: apt-pkg/acquire.cc:857 #, c-format msgid "Retrieving file %li of %li (%s remaining)" -msgstr "A obter o ficheiro %li de %li (fallan %s)" +msgstr "Obtendo o ficheiro %li de %li (restan %s)" #: apt-pkg/acquire.cc:859 #, c-format msgid "Retrieving file %li of %li" -msgstr "A obter o ficheiro %li de %li" +msgstr "Obtendo o ficheiro %li de %li" #: apt-pkg/acquire-worker.cc:110 #, c-format msgid "The method driver %s could not be found." -msgstr "Non se puido atopar o controlador de métodos %s." +msgstr "Non foi posíbel atopar o controlador de métodos %s." #: apt-pkg/acquire-worker.cc:159 #, c-format @@ -2803,255 +2891,248 @@ msgstr "O método %s non se iniciou correctamente" #: apt-pkg/acquire-worker.cc:413 #, c-format msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." -msgstr "Introduza o disco etiquetado: \"%s\" na unidade \"%s\" e prema Intro." +msgstr "Insira o disco etiquetado: «%s» na unidade «%s» e prema Intro." -#: apt-pkg/init.cc:146 +#: apt-pkg/init.cc:143 #, c-format msgid "Packaging system '%s' is not supported" -msgstr "O sistema de empaquetamento \"%s\" non está soportado" +msgstr "O sistema de empaquetado «%s» non está admitido" -#: apt-pkg/init.cc:162 +#: apt-pkg/init.cc:159 msgid "Unable to determine a suitable packaging system type" -msgstr "Non se puido determinar un tipo de sistema de empaquetamento axeitado" +msgstr "Non é posíbel determinar un tipo de sistema de empaquetado axeitado" #: apt-pkg/clean.cc:56 #, c-format msgid "Unable to stat %s." -msgstr "Non se pode analizar %s." +msgstr "Non é posíbel analizar %s." #: apt-pkg/srcrecords.cc:44 msgid "You must put some 'source' URIs in your sources.list" -msgstr "Debe introducir algúns URIs fonte no seu ficheiro sources.list" +msgstr "Debe introducir algúns URI «orixe» no seu ficheiro sources.list" #: apt-pkg/cachefile.cc:84 msgid "The package lists or status file could not be parsed or opened." msgstr "" -"Non se puido analizar ou abrir as listas de paquetes ou ficheiro de estado." +"Non foi posíbel analizar ou abrir as listas de paquetes ou ficheiro de " +"estado." #: apt-pkg/cachefile.cc:88 msgid "You may want to run apt-get update to correct these problems" -msgstr "Pode querer executar apt-get update para corrixir estes problemas" +msgstr "Pode querer executar «apt-get update» para corrixir estes problemas" #: apt-pkg/cachefile.cc:106 msgid "The list of sources could not be read." -msgstr "Non se puido ler a lista de orixes." +msgstr "Non foi posíbel ler a lista de orixes." -#: apt-pkg/policy.cc:346 -#, fuzzy, c-format +#: apt-pkg/policy.cc:344 +#, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" -"Rexistro non válido no ficheiro de preferencias, non hai unha cabeceira " -"Package" +"Rexistro incorrecto no ficheiro de preferencias %s; falta a cabeceira Package" -#: apt-pkg/policy.cc:368 +#: apt-pkg/policy.cc:366 #, c-format msgid "Did not understand pin type %s" msgstr "Non se entendeu o tipo de inmobilización %s" -#: apt-pkg/policy.cc:376 +#: apt-pkg/policy.cc:374 msgid "No priority (or zero) specified for pin" msgstr "" "Non se indicou unha prioridade (ou indicouse cero) para a inmobilización" #: apt-pkg/pkgcachegen.cc:80 msgid "Cache has an incompatible versioning system" -msgstr "A caché ten un sistema de versionamento incompatible" +msgstr "A caché ten un sistema de versionado incompatíbel" #: apt-pkg/pkgcachegen.cc:198 #, c-format msgid "Error occurred while processing %s (NewPackage)" -msgstr "Ocorreu un erro ao procesar %s (NewPackage)" +msgstr "Produciuse un erro ao procesar %s (NewPackage)" #: apt-pkg/pkgcachegen.cc:215 #, c-format msgid "Error occurred while processing %s (UsePackage1)" -msgstr "Ocorreu un erro ao procesar %s (UsePackage1)" +msgstr "Produciuse un erro ao procesar %s (UsePackage1)" #: apt-pkg/pkgcachegen.cc:253 #, c-format msgid "Error occurred while processing %s (NewFileDesc1)" -msgstr "Ocorreu un erro ao procesar %s (NewFileDesc1)" +msgstr "Produciuse un erro ao procesar %s (NewFileDesc1)" #: apt-pkg/pkgcachegen.cc:285 #, c-format msgid "Error occurred while processing %s (UsePackage2)" -msgstr "Ocorreu un erro ao procesar %s (UsePackage2)" +msgstr "Produciuse un erro ao procesar %s (UsePackage2)" #: apt-pkg/pkgcachegen.cc:289 #, c-format msgid "Error occurred while processing %s (NewFileVer1)" -msgstr "Ocorreu un erro ao procesar %s (NewFileVer1)" +msgstr "Produciuse un erro ao procesar %s (NewFileVer1)" #: apt-pkg/pkgcachegen.cc:306 apt-pkg/pkgcachegen.cc:316 #: apt-pkg/pkgcachegen.cc:324 -#, fuzzy, c-format +#, c-format msgid "Error occurred while processing %s (NewVersion%d)" -msgstr "Ocorreu un erro ao procesar %s (NewVersion1)" +msgstr "Produciuse un erro ao procesar %s (NewVersion%d)" #: apt-pkg/pkgcachegen.cc:320 #, c-format msgid "Error occurred while processing %s (UsePackage3)" -msgstr "Ocorreu un erro ao procesar %s (UsePackage3)" +msgstr "Produciuse un erro ao procesar %s (UsePackage3)" #: apt-pkg/pkgcachegen.cc:353 #, c-format msgid "Error occurred while processing %s (NewFileDesc2)" -msgstr "Ocorreu un erro ao procesar %s (NewFileDesc2)" +msgstr "Produciuse un erro ao procesar %s (NewFileDesc2)" #: apt-pkg/pkgcachegen.cc:360 msgid "Wow, you exceeded the number of package names this APT is capable of." -msgstr "Guau, superou o número de nomes de paquetes que este APT pode manexar." +msgstr "" +"Vaites!, superou o número de nomes de paquetes que este APT pode manexar." #: apt-pkg/pkgcachegen.cc:363 msgid "Wow, you exceeded the number of versions this APT is capable of." -msgstr "Guau, superou o número de versións que este APT pode manexar." +msgstr "Vaites!, superou o número de versións que este APT pode manexar." #: apt-pkg/pkgcachegen.cc:366 msgid "Wow, you exceeded the number of descriptions this APT is capable of." -msgstr "Guau, superou o número de descricións que este APT pode manexar." +msgstr "Vaites!, superou o número de descricións que este APT pode manexar." #: apt-pkg/pkgcachegen.cc:369 msgid "Wow, you exceeded the number of dependencies this APT is capable of." -msgstr "Guau, superou o número de dependencias que este APT pode manexar." +msgstr "Vaites!, superou o número de dependencias que este APT pode manexar." #: apt-pkg/pkgcachegen.cc:398 #, c-format msgid "Error occurred while processing %s (FindPkg)" -msgstr "Ocorreu un erro ao procesar %s (FindPkg)" +msgstr "Produciuse un erro ao procesar %s (FindPkg)" #: apt-pkg/pkgcachegen.cc:412 #, c-format msgid "Error occurred while processing %s (CollectFileProvides)" -msgstr "Ocorreu un erro ao procesar %s (CollectFileProvides)" +msgstr "Produciuse un erro ao procesar %s (CollectFileProvides)" #: apt-pkg/pkgcachegen.cc:418 #, c-format msgid "Package %s %s was not found while processing file dependencies" -msgstr "Non se atopou o paquete %s %s ao procesar as dependencias de ficheiros" +msgstr "" +"Non foi posíbel atopar o paquete %s %s ao procesar as dependencias de " +"ficheiros" -#: apt-pkg/pkgcachegen.cc:986 +#: apt-pkg/pkgcachegen.cc:982 #, c-format msgid "Couldn't stat source package list %s" -msgstr "Non se atopou a lista de paquetes fonte %s" +msgstr "Non foi posíbel atopar a lista de paquetes fonte %s" -#: apt-pkg/pkgcachegen.cc:1091 +#: apt-pkg/pkgcachegen.cc:1087 msgid "Collecting File Provides" -msgstr "A recoller as provisións de ficheiros" +msgstr "Recollendo as provisións de ficheiros" -#: apt-pkg/pkgcachegen.cc:1269 apt-pkg/pkgcachegen.cc:1276 +#: apt-pkg/pkgcachegen.cc:1265 apt-pkg/pkgcachegen.cc:1272 msgid "IO Error saving source cache" -msgstr "Erro de E/S ao gravar a caché de fontes" +msgstr "Produciuse un erro de E/S ao gravar a caché de fontes" #: apt-pkg/acquire-item.cc:136 #, c-format msgid "rename failed, %s (%s -> %s)." -msgstr "fallou o cambio de nome, %s (%s -> %s)." +msgstr "non foi posíbel cambiar o nome, %s (%s -> %s)." -#: apt-pkg/acquire-item.cc:629 +#: apt-pkg/acquire-item.cc:484 msgid "MD5Sum mismatch" -msgstr "Os MD5Sum non coinciden" +msgstr "A MD5Sum non coincide" -#: apt-pkg/acquire-item.cc:887 apt-pkg/acquire-item.cc:1781 -#: apt-pkg/acquire-item.cc:1924 +#: apt-pkg/acquire-item.cc:746 apt-pkg/acquire-item.cc:1574 +#: apt-pkg/acquire-item.cc:1717 msgid "Hash Sum mismatch" -msgstr "Os \"hashes\" non coinciden" +msgstr "A sumas «hash» non coinciden" -#: apt-pkg/acquire-item.cc:1341 -#, c-format -msgid "" -"Unable to find expected entry '%s' in Release file (Wrong sources.list entry " -"or malformed file)" -msgstr "" - -#: apt-pkg/acquire-item.cc:1356 -#, fuzzy, c-format -msgid "Unable to find hash sum for '%s' in Release file" -msgstr "Non se pode analizar o ficheiro de paquetes %s (1)" - -#: apt-pkg/acquire-item.cc:1415 +#: apt-pkg/acquire-item.cc:1244 msgid "There is no public key available for the following key IDs:\n" -msgstr "" -"Non hai unha clave pública dispoñible para os seguintes IDs de clave:\n" +msgstr "Non hai unha chave pública dispoñíbel para os seguintes ID de chave:\n" #. TRANSLATOR: The first %s is the URL of the bad Release file, the second is #. the time since then the file is invalid - formated in the same way as in #. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1452 +#: apt-pkg/acquire-item.cc:1281 #, c-format msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "" +msgstr "Caducou o ficheiro de publicación, ignorando %s (non válido desde %s)" -#: apt-pkg/acquire-item.cc:1473 +#: apt-pkg/acquire-item.cc:1302 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" -msgstr "" +msgstr "Conflito na distribución: %s (agardábase %s mais obtívose %s)" -#: apt-pkg/acquire-item.cc:1506 +#: apt-pkg/acquire-item.cc:1328 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " "updated and the previous index files will be used. GPG error: %s: %s\n" msgstr "" +"Produciuse un erro durante a verificación da sinatura. O repositorio non foi " +"actualizado, empregaranse os ficheiros de índice anteriores. Erro de GPG: " +"%s: %s\n" -#: apt-pkg/acquire-item.cc:1515 +#: apt-pkg/acquire-item.cc:1337 #, c-format msgid "GPG error: %s: %s" -msgstr "" +msgstr "Produciuse un erro de GPG: %s %s" -#: apt-pkg/acquire-item.cc:1572 +#: apt-pkg/acquire-item.cc:1365 #, 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 "" -"Non se puido atopar un ficheiro para o paquete %s. Isto pode significar que " -"ten que arranxar este paquete a man. (Falla a arquitectura)" +"Non é posíbel atopar un ficheiro para o paquete %s. Isto pode significar que " +"ten que arranxar este paquete a man. (Falta a arquitectura)" -#: apt-pkg/acquire-item.cc:1631 +#: apt-pkg/acquire-item.cc:1424 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" -"Non se puido atopar un ficheiro para o paquete %s. Isto pode significar que " +"Non é posíbel atopar un ficheiro para o paquete %s. Isto pode significar que " "ten que arranxar este paquete a man." -#: apt-pkg/acquire-item.cc:1686 +#: apt-pkg/acquire-item.cc:1479 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -"Os ficheiros de índices de paquetes están corrompidos. Non hai un campo " +"Os ficheiros de índices de paquetes están danados. Non hai un campo " "Filename: para o paquete %s." -#: apt-pkg/acquire-item.cc:1773 +#: apt-pkg/acquire-item.cc:1566 msgid "Size mismatch" msgstr "Os tamaños non coinciden" #: apt-pkg/indexrecords.cc:53 -#, fuzzy, c-format +#, c-format msgid "Unable to parse Release file %s" -msgstr "Non se pode analizar o ficheiro de paquetes %s (1)" +msgstr "Non se puido analizar o ficheiro de publicación %s" -#: apt-pkg/indexrecords.cc:63 -#, fuzzy, c-format +#: apt-pkg/indexrecords.cc:60 +#, c-format msgid "No sections in Release file %s" -msgstr "Nota, escóllese %s no canto de %s\n" +msgstr "Non hai seccións no ficheiro de publicación %s" -#: apt-pkg/indexrecords.cc:97 +#: apt-pkg/indexrecords.cc:94 #, c-format msgid "No Hash entry in Release file %s" -msgstr "" +msgstr "Non hai entrada de Hash no ficheiro de publicación %s" -#: apt-pkg/indexrecords.cc:110 -#, fuzzy, c-format +#: apt-pkg/indexrecords.cc:107 +#, c-format msgid "Invalid 'Valid-Until' entry in Release file %s" -msgstr "Liña non válida no ficheiro de desvíos: %s" +msgstr "A entrada «Valid-Until» no ficheiro de publicación %s non é válida" -#: apt-pkg/indexrecords.cc:125 -#, fuzzy, c-format +#: apt-pkg/indexrecords.cc:122 +#, c-format msgid "Invalid 'Date' entry in Release file %s" -msgstr "Non se pode analizar o ficheiro de paquetes %s (1)" +msgstr "A entrada «Date» no ficheiro de publicación %s non é válida" #: apt-pkg/vendorlist.cc:66 #, c-format @@ -3064,43 +3145,43 @@ msgid "" "Using CD-ROM mount point %s\n" "Mounting CD-ROM\n" msgstr "" -"A empregar o punto de montaxe de CD-ROMs %s\n" -"A montar o CD-ROM\n" +"Empregando o punto de montaxe de CD-ROMs %s\n" +"Montando o CD-ROM\n" #: apt-pkg/cdrom.cc:527 apt-pkg/cdrom.cc:615 msgid "Identifying.. " -msgstr "A identificar.. " +msgstr "Identificando... " #: apt-pkg/cdrom.cc:552 #, c-format msgid "Stored label: %s\n" -msgstr "Etiqueta armacenada: %s \n" +msgstr "Etiqueta almacenada: %s\n" #: apt-pkg/cdrom.cc:559 apt-pkg/cdrom.cc:827 msgid "Unmounting CD-ROM...\n" -msgstr "A desmontar o CD-ROM...\n" +msgstr "Desmontando o CD-ROM...\n" #: apt-pkg/cdrom.cc:578 #, c-format msgid "Using CD-ROM mount point %s\n" -msgstr "A empregar o punto de montaxe de CD-ROMs %s\n" +msgstr "Empregando o punto de montaxe de CD-ROM %s\n" #: apt-pkg/cdrom.cc:596 msgid "Unmounting CD-ROM\n" -msgstr "A desmontar o CD-ROM\n" +msgstr "Desmontando o CD-ROM\n" #: apt-pkg/cdrom.cc:600 msgid "Waiting for disc...\n" -msgstr "A agardar polo disco...\n" +msgstr "Agardando polo disco...\n" #. Mount the new CDROM #: apt-pkg/cdrom.cc:608 msgid "Mounting CD-ROM...\n" -msgstr "A montar o CD-ROM...\n" +msgstr "Montando o CD-ROM...\n" #: apt-pkg/cdrom.cc:626 msgid "Scanning disc for index files..\n" -msgstr "A buscar os ficheiros de índices no disco..\n" +msgstr "Buscando os ficheiros de índices no disco..\n" #: apt-pkg/cdrom.cc:666 #, c-format @@ -3108,7 +3189,7 @@ msgid "" "Found %zu package indexes, %zu source indexes, %zu translation indexes and " "%zu signatures\n" msgstr "" -"Atopáronse %zu índices de paquetes, %zu índices de fontes, %zu índices de " +"Atopáronse %zu índices de paquetes, %zu índices de orixes, %zu índices de " "traducións e %zu sinaturas\n" #: apt-pkg/cdrom.cc:677 @@ -3116,15 +3197,17 @@ msgid "" "Unable to locate any package files, perhaps this is not a Debian Disc or the " "wrong architecture?" msgstr "" +"Non é posíbel localizar ningún ficheiro de paquetes. É posíbel que non sexa " +"un disco de Debian ou que a arquitectura sexa incorrecta." #: apt-pkg/cdrom.cc:703 #, c-format msgid "Found label '%s'\n" -msgstr "Atopouse a etiqueta \"%s\"\n" +msgstr "Atopouse a etiqueta «%s»\n" #: apt-pkg/cdrom.cc:732 msgid "That is not a valid name, try again.\n" -msgstr "Ese non é un nome válido, volva tentalo.\n" +msgstr "Ese non é un nome correcto, volva tentalo.\n" #: apt-pkg/cdrom.cc:748 #, c-format @@ -3133,81 +3216,83 @@ msgid "" "'%s'\n" msgstr "" "Este disco chámase: \n" -"\"%s\"\n" +"«%s»\n" #: apt-pkg/cdrom.cc:752 msgid "Copying package lists..." -msgstr "A copiar as listas de paquetes..." +msgstr "Copiando as listas de paquetes..." #: apt-pkg/cdrom.cc:778 msgid "Writing new source list\n" -msgstr "A gravar a nova lista de fontes\n" +msgstr "Escribindo a nova lista de orixes\n" #: apt-pkg/cdrom.cc:787 msgid "Source list entries for this disc are:\n" -msgstr "As entradas da lista de fontes deste disco son:\n" +msgstr "As entradas da lista de orixes deste disco son:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:908 #, c-format msgid "Wrote %i records.\n" -msgstr "Graváronse %i rexistros.\n" +msgstr "Escribíronse %i rexistros.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:910 #, c-format msgid "Wrote %i records with %i missing files.\n" -msgstr "Graváronse %i rexistros con %i ficheiros que fallan.\n" +msgstr "Escribíronse %i rexistros con %i ficheiros que faltan.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:913 #, c-format msgid "Wrote %i records with %i mismatched files\n" -msgstr "Graváronse %i rexistros con %i ficheiros que non coinciden\n" +msgstr "Escribíronse %i rexistros con %i ficheiros que non coinciden\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:916 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" -"Graváronse %i rexistros con %i ficheiros que fallan e %i ficheiros que non " +"Escribíronse %i rexistros con %i ficheiros que faltan e %i ficheiros que non " "coinciden\n" #: apt-pkg/indexcopy.cc:537 -#, fuzzy, c-format +#, c-format msgid "Skipping nonexistent file %s" -msgstr "A abrir o ficheiro de configuración %s" +msgstr "Omitindo o ficheiro inexistente %s" #: apt-pkg/indexcopy.cc:543 #, c-format msgid "Can't find authentication record for: %s" -msgstr "" +msgstr "Non é posíbel atopar un rexistro de autenticación para: %s" #: apt-pkg/indexcopy.cc:549 -#, fuzzy, c-format +#, c-format msgid "Hash mismatch for: %s" -msgstr "Os \"hashes\" non coinciden" +msgstr "Valor de hash non coincidente para: %s" #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" -msgstr "Non se atopou a versión \"%s\" de \"%s\"" +msgstr "Non se atopou a publicación «%s» de «%s»" #: apt-pkg/cacheset.cc:340 #, c-format msgid "Version '%s' for '%s' was not found" -msgstr "Non se atopou a versión \"%s\" de \"%s\"" +msgstr "Non se atopou a versión «%s» de «%s»" #: apt-pkg/cacheset.cc:447 -#, fuzzy, c-format +#, c-format msgid "Couldn't find task '%s'" -msgstr "Non se puido atopar a tarefa %s" +msgstr "Non foi posíbel atopar a tarefa «%s»" #: apt-pkg/cacheset.cc:454 -#, fuzzy, c-format +#, c-format msgid "Couldn't find any package by regex '%s'" -msgstr "Non se puido atopar o paquete %s" +msgstr "Non foi posíbel atopar ningún paquete pola expresión de rexistro «%s»" #: apt-pkg/cacheset.cc:467 #, c-format msgid "Can't select versions from package '%s' as it is purely virtual" msgstr "" +"Non é posíbel seleccionar distintas versións do paquete «%s» xa que é " +"puramente virtual" #: apt-pkg/cacheset.cc:475 apt-pkg/cacheset.cc:483 #, c-format @@ -3215,144 +3300,162 @@ msgid "" "Can't select installed nor candidate version from package '%s' as it has " "neither of them" msgstr "" +"Non é posíbel seleccionar nin a versión instalada nin a candidata do paquete " +"«%s» xa que non ten ningunha delas" #: apt-pkg/cacheset.cc:491 #, c-format msgid "Can't select newest version from package '%s' as it is purely virtual" msgstr "" +"Non é posíbel seleccionar a versión máis recente do paquete «%s» xa que é " +"puramente virtual" #: apt-pkg/cacheset.cc:499 #, c-format msgid "Can't select candidate version from package %s as it has no candidate" msgstr "" +"Non é posíbel seleccionar a versión candidata do paquete %s xa que non ten " +"candidata" #: apt-pkg/cacheset.cc:507 #, c-format msgid "Can't select installed version from package %s as it is not installed" msgstr "" +"Non é posíbel seleccionar a versión instalada do paquete %s xa que non está " +"instalado" #: apt-pkg/deb/dpkgpm.cc:52 #, c-format msgid "Installing %s" -msgstr "A instalar %s" +msgstr "Instalando %s" -#: apt-pkg/deb/dpkgpm.cc:53 apt-pkg/deb/dpkgpm.cc:819 +#: apt-pkg/deb/dpkgpm.cc:53 apt-pkg/deb/dpkgpm.cc:823 #, c-format msgid "Configuring %s" -msgstr "A configurar %s" +msgstr "Configurando %s" -#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:826 +#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:830 #, c-format msgid "Removing %s" -msgstr "A eliminar %s" +msgstr "Retirando %s" #: apt-pkg/deb/dpkgpm.cc:55 -#, fuzzy, c-format +#, c-format msgid "Completely removing %s" -msgstr "Eliminouse %s completamente" +msgstr "%s completamente retirado" #: apt-pkg/deb/dpkgpm.cc:56 #, c-format msgid "Noting disappearance of %s" -msgstr "" +msgstr "Tomando nota da desaparición de %s" #: apt-pkg/deb/dpkgpm.cc:57 #, c-format msgid "Running post-installation trigger %s" -msgstr "A executar o disparador de post-instalación %s" +msgstr "Executando o disparador de post-instalación %s" #. FIXME: use a better string after freeze -#: apt-pkg/deb/dpkgpm.cc:642 +#: apt-pkg/deb/dpkgpm.cc:646 #, c-format msgid "Directory '%s' missing" -msgstr "O directorio \"%s\" falla" +msgstr "Falta o directorio «%s»" -#: apt-pkg/deb/dpkgpm.cc:657 apt-pkg/deb/dpkgpm.cc:671 -#, fuzzy, c-format +#: apt-pkg/deb/dpkgpm.cc:661 apt-pkg/deb/dpkgpm.cc:675 +#, c-format msgid "Could not open file '%s'" -msgstr "Non se puido abrir o ficheiro %s" +msgstr "Non foi posíbel abrir o ficheiro «%s»" -#: apt-pkg/deb/dpkgpm.cc:812 +#: apt-pkg/deb/dpkgpm.cc:816 #, c-format msgid "Preparing %s" -msgstr "A preparar %s" +msgstr "Preparando %s" -#: apt-pkg/deb/dpkgpm.cc:813 +#: apt-pkg/deb/dpkgpm.cc:817 #, c-format msgid "Unpacking %s" -msgstr "A desempaquetar %s" +msgstr "Desempaquetando %s" -#: apt-pkg/deb/dpkgpm.cc:818 +#: apt-pkg/deb/dpkgpm.cc:822 #, c-format msgid "Preparing to configure %s" -msgstr "A se preparar para configurar %s" +msgstr "Preparandose para configurar %s" -#: apt-pkg/deb/dpkgpm.cc:820 +#: apt-pkg/deb/dpkgpm.cc:824 #, c-format msgid "Installed %s" msgstr "Instalouse %s" -#: apt-pkg/deb/dpkgpm.cc:825 +#: apt-pkg/deb/dpkgpm.cc:829 #, c-format msgid "Preparing for removal of %s" -msgstr "A se preparar para a eliminación de %s" +msgstr "Preparándose para o retirado de %s" -#: apt-pkg/deb/dpkgpm.cc:827 +#: apt-pkg/deb/dpkgpm.cc:831 #, c-format msgid "Removed %s" -msgstr "Eliminouse %s" +msgstr "Retirouse %s" -#: apt-pkg/deb/dpkgpm.cc:832 +#: apt-pkg/deb/dpkgpm.cc:836 #, c-format msgid "Preparing to completely remove %s" -msgstr "A se preparar para eliminar %s completamente" +msgstr "Preparándose para retirar %s completamente" -#: apt-pkg/deb/dpkgpm.cc:833 +#: apt-pkg/deb/dpkgpm.cc:837 #, c-format msgid "Completely removed %s" -msgstr "Eliminouse %s completamente" +msgstr "Retirouse %s completamente" -#: apt-pkg/deb/dpkgpm.cc:1039 +#: apt-pkg/deb/dpkgpm.cc:1043 msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" msgstr "" -"Non se puido escribir no rexistro, a chamada a openpty() fallou (¿/dev/pts " +"Non foi posíbel escribir no rexistro, a chamada a openpty() fallou (/dev/pts " "non estaba montado?)\n" -#: apt-pkg/deb/dpkgpm.cc:1070 +#: apt-pkg/deb/dpkgpm.cc:1074 msgid "Running dpkg" -msgstr "" +msgstr "Executando dpkg" -#: apt-pkg/deb/dpkgpm.cc:1273 +#: apt-pkg/deb/dpkgpm.cc:1277 msgid "No apport report written because MaxReports is reached already" msgstr "" +"Non se escribiu ningún informe de Apport porque xa se acadou o nivel " +"MaxReports" #. check if its not a follow up error -#: apt-pkg/deb/dpkgpm.cc:1278 +#: apt-pkg/deb/dpkgpm.cc:1282 msgid "dependency problems - leaving unconfigured" -msgstr "" +msgstr "problemas de dependencias - déixase sen configurar" -#: apt-pkg/deb/dpkgpm.cc:1280 +#: apt-pkg/deb/dpkgpm.cc:1284 msgid "" "No apport report written because the error message indicates its a followup " "error from a previous failure." msgstr "" +"Non se escribiu ningún informe de Apport porque a mensaxe de erro indica que " +"é un error provinte dun fallo anterior." -#: apt-pkg/deb/dpkgpm.cc:1286 +#: apt-pkg/deb/dpkgpm.cc:1290 msgid "" "No apport report written because the error message indicates a disk full " "error" msgstr "" +"Non se escribiu ningún informe de Apport porque a mensaxe de erro indica un " +"erro de disco cheo." -#: apt-pkg/deb/dpkgpm.cc:1292 +#: apt-pkg/deb/dpkgpm.cc:1296 msgid "" "No apport report written because the error message indicates a out of memory " "error" msgstr "" +"Non se escribiu un informe de contribución porque a mensaxe de erro indica " +"un erro de falta de memoria" -#: apt-pkg/deb/dpkgpm.cc:1299 +#: apt-pkg/deb/dpkgpm.cc:1303 msgid "" "No apport report written because the error message indicates a dpkg I/O error" msgstr "" +"Non se escribiu ningún informe de Apport porque a mensaxe de erro indica un " +"erro de E/S en dpkg" #: apt-pkg/deb/debsystem.cc:69 #, c-format @@ -3360,11 +3463,15 @@ msgid "" "Unable to lock the administration directory (%s), is another process using " "it?" msgstr "" +"Non é posíbel bloquear o directorio de administración (%s). Esta usandoo " +"algún outro proceso?" #: apt-pkg/deb/debsystem.cc:72 -#, fuzzy, c-format +#, c-format msgid "Unable to lock the administration directory (%s), are you root?" -msgstr "Non se puido bloquear o directorio de listas" +msgstr "" +"Non é posíbel bloquear o directorio de administración (%s). É o " +"administrador?" #. TRANSLATORS: the %s contains the recovery command, usually #. dpkg --configure -a @@ -3373,65 +3480,87 @@ msgstr "Non se puido bloquear o directorio de listas" msgid "" "dpkg was interrupted, you must manually run '%s' to correct the problem. " msgstr "" +"dpkg interrompeuse, debe executar manualmente «%s» para corrixir o problema. " #: apt-pkg/deb/debsystem.cc:106 msgid "Not locked" -msgstr "" +msgstr "Non está bloqueado" #. FIXME: fallback to a default mirror here instead #. and provide a config option to define that default #: methods/mirror.cc:200 #, c-format msgid "No mirror file '%s' found " -msgstr "" +msgstr "Non se atopou ningún ficheiro de replica «%s» " #: methods/mirror.cc:343 #, c-format msgid "[Mirror: %s]" -msgstr "" +msgstr "[Replica: %s]" -#: methods/rred.cc:503 +#: methods/rred.cc:465 #, c-format msgid "" "Could not patch %s with mmap and with file operation usage - the patch seems " "to be corrupt." msgstr "" +"Non foi posíbel actualizar %s con mmap e co ficheiro usado na operación - a " +"actualización semella estar danada." -#: methods/rred.cc:508 +#: methods/rred.cc:470 #, c-format msgid "" "Could not patch %s with mmap (but no mmap specific fail) - the patch seems " "to be corrupt." msgstr "" +"Non foi posíbel actualizar %s con mmap e (mais non hai un fallo específico " +"de mmap) - a actualización semella estar danada." #: methods/rsh.cc:329 msgid "Connection closed prematurely" msgstr "A conexión pechouse prematuramente" -#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." +#~ msgid "Downloading %s %s" +#~ msgstr "Descargando %s %s" + +#~ msgid "Changelog for %s (%s)" +#~ msgstr "Rexistro de cambios de %s (%s)" + +#~ msgid "Empty files can't be valid archives" +#~ msgstr "Os ficheiros baleiros non poden ser arquivadores válidos" + +#~ msgid "Ignoring '%s' in directory '%s' as it is not a regular file" +#~ msgstr "Ignorando «%s» no directorio «%s» xa que non é un ficheiro regular" + +#~ msgid "Ignoring file '%s' in directory '%s' as it has no filename extension" #~ msgstr "" -#~ "E: A lista de argumentos de Acquire:gpgv::Options é longa de máis. Sáese." +#~ "Ignorando o ficheiro «%s» no directorio «%s» xa que non ten extensión de " +#~ "nome" -#~ msgid "Error occurred while processing %s (NewVersion2)" -#~ msgstr "Ocorreu un erro ao procesar %s (NewVersion2)" +#~ msgid "" +#~ "Ignoring file '%s' in directory '%s' as it has an invalid filename " +#~ "extension" +#~ msgstr "" +#~ "Ignorando o ficheiro «%s» no directorio «%s» xa que ten unha extensión " +#~ "de nome incorrecta" -#~ msgid "Malformed line %u in source list %s (vendor id)" -#~ msgstr "Liña %u mal formada na lista de fontes %s (id de provedor)" +#~ msgid "" +#~ "Unable to find expected entry '%s' in Release file (Wrong sources.list " +#~ "entry or malformed file)" +#~ msgstr "" +#~ "Non é posíbel atopar a entrada agardada «%s» no ficheiro de publicación " +#~ "(entrada sources.list incorrecta ou ficheiro con formato incorrecto)" -#~ msgid "Couldn't access keyring: '%s'" -#~ msgstr "Non se puido acceder ao chaveiro: \"%s\"" +#~ msgid "Unable to find hash sum for '%s' in Release file" +#~ msgstr "" +#~ "Non é posíbel ler a suma de comprobación para «%s» no ficheiro de " +#~ "publicación" -#~ msgid "Could not patch file" -#~ msgstr "Non se puido parchear o ficheiro" +#~ msgid "Can not read mirror file '%s'" +#~ msgstr "Non é posíbel ler o ficheiro de replica «%s»" #~ msgid " %4i %s\n" -#~ msgstr " %4i %s\n" +#~ msgstr "\n" #~ msgid "%4i %s\n" -#~ msgstr "%4i %s\n" - -#~ msgid "Processing triggers for %s" -#~ msgstr "A procesar os disparadores de %s" - -#~ msgid "Dynamic MMap ran out of room" -#~ msgstr "O MMap Dinámico esgotou o espazo" +#~ msgstr "\n" @@ -2562,8 +2562,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1275 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" #: apt-pkg/acquire-item.cc:1316 @@ -2983,8 +2983,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Nem találtam egy fájlt a(z) %s csomaghoz. Ez azt jelentheti, hogy kézzel " "kell kijavítani a csomagot." @@ -9,14 +9,16 @@ msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-01-12 17:42+0100\n" -"PO-Revision-Date: 2011-02-21 18:35+0100\n" +"PO-Revision-Date: 2011-05-16 21:38+0200\n" "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2011-02-21 18:00+0000\n" +"X-Generator: Launchpad (build 12406)\n" #: cmdline/apt-cache.cc:156 #, c-format @@ -1907,8 +1909,10 @@ msgid "Couldn't change to %s" msgstr "Impossibile passare a %s" #: apt-inst/deb/debfile.cc:140 +#, fuzzy +#| msgid "Internal error, could not locate member %s" msgid "Internal error, could not locate member" -msgstr "Errore interno, impossibile localizzare il membro" +msgstr "Errore interno, impossibile trovare il membro %s" #: apt-inst/deb/debfile.cc:173 msgid "Failed to locate a valid control file" @@ -2710,7 +2714,6 @@ msgstr "Scrittura del file temporaneo di stato %s non riuscita" #, c-format msgid "Internal error, group '%s' has no installable pseudo package" msgstr "" -"Errore interno, il gruppo \"%s\" non ha uno pseudo pacchetto installabile" #: apt-pkg/tagfile.cc:102 #, c-format @@ -3113,10 +3116,13 @@ msgstr "" "sistemare manualmente questo pacchetto (a causa dell'architettura mancante)." #: apt-pkg/acquire-item.cc:1424 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "I wasn't able to locate file for the %s package. This might mean you need " +#| "to manually fix this package." msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Impossibile trovare un file per il pacchetto %s. Potrebbe essere necessario " "sistemare manualmente questo pacchetto." @@ -3581,3 +3587,6 @@ msgstr "Connessione chiusa prematuramente" #~ msgid "Unable to find hash sum for '%s' in Release file" #~ msgstr "Impossibile trovare la somma hash per \"%s\" nel file Release" + +#~ msgid "Can not read mirror file '%s'" +#~ msgstr "Impossibile leggere il file mirror \"%s\"" @@ -3035,8 +3035,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "パッケージ %s のファイルの位置を特定できません。おそらくこのパッケージを手動" "で修正する必要があります。" @@ -2964,8 +2964,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "ខ្ញុំមិនអាចរកទីតាំងឯកសារសម្រាប់កញ្ចប់ %s បានទេ ។ មានន័យថាអ្នកត្រូវការជួសជុលកញ្ចប់នេះដោយដៃ ។" @@ -2986,8 +2986,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "%s 패키지의 파일을 찾을 수 없습니다. 수동으로 이 패키지를 고쳐야 할 수도 있습" "니다." @@ -2792,8 +2792,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" #: apt-pkg/acquire-item.cc:1686 @@ -2889,8 +2889,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" #: apt-pkg/acquire-item.cc:1686 @@ -2972,8 +2972,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "मी %s पॅकेजकरीता संचिका शोधण्यास समर्थ नव्हतो. याचा अर्थ असाकी तुम्हालाहे पॅकेज स्वहस्ते " "स्थिर/निश्चित करण्याची गरज आहे." @@ -3013,8 +3013,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Klarte ikke å finne en fil for pakken %s. Det kan bety at du må ordne denne " "pakken selv." @@ -2967,8 +2967,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "%s प्याकेजको लागि मैले फाइल स्थित गर्न सकिन । यसको मतलब तपाईँले म्यानुल्ली यो प्याकेज " "निश्चित गर्नुहोस् ।" @@ -3047,8 +3047,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Er kon geen bestand gevonden worden voor pakket %s. Dit kan betekenen dat u " "dit pakket handmatig moet repareren." @@ -2988,8 +2988,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Fann ikkje fila for pakken %s. Det kan henda du m fiksa denne pakken sjlv." @@ -3018,8 +3018,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Nie udało się odnaleźć pliku dla pakietu %s. Może to oznaczać, że trzeba " "będzie ręcznie naprawić ten pakiet." @@ -3046,8 +3046,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Não foi possível localizar arquivo para o pacote %s. Isto pode significar " "que você precisa consertar manualmente este pacote." diff --git a/po/pt_BR.po b/po/pt_BR.po index 3c883ea92..b94038fdb 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -3025,8 +3025,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Não foi possível localizar arquivo para o pacote %s. Isto pode significar " "que você precisa consertar manualmente este pacote." @@ -3034,8 +3034,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "N-am putut localiza un fișier pentru pachetul %s. Aceasta ar putea însemna " "că aveți nevoie să depanați manual acest pachet." @@ -3056,8 +3056,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Не удалось обнаружить файл пакета %s. Это может означать, что вам придётся " "вручную исправить этот пакет." @@ -3008,8 +3008,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Nedá sa nájsť súbor s balíkom %s. Asi budete musieť opraviť tento balík " "manuálne." @@ -3023,8 +3023,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Ni bilo mogoče najti datoteke za paket %s. Morda boste morali ročno " "popraviti ta paket." @@ -3038,8 +3038,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Jag kunde inte hitta någon fil för paketet %s. Detta kan betyda att du " "manuellt måste reparera detta paket." @@ -2946,8 +2946,8 @@ msgstr "ไม่พบแฟ้มสำหรับแพกเกจ %s ค #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "ไม่พบแฟ้มสำหรับแพกเกจ %s คุณอาจต้องแก้ปัญหาแพกเกจนี้เอง" #: apt-pkg/acquire-item.cc:1686 @@ -3016,8 +3016,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Hindi ko mahanap ang talaksan para sa paketeng %s. Maaaring kailanganin " "niyong ayusin ng de kamay ang paketeng ito." @@ -3035,8 +3035,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Я не можу знайти файл для пакунку %s. Можливо, Ви захочете власноруч " "виправити цей пакунок." @@ -3053,8 +3053,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "Không tìm thấy tập tin liên quan đến gói %s. Có lẽ bạn cần phải tự sửa gói " "này." diff --git a/po/zh_CN.po b/po/zh_CN.po index 72caa48cb..fa88993dd 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -2961,8 +2961,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "" "我无法找到对应 %s 软件包的文件。在这种情况下您可能需要手动修正这个软件包。" diff --git a/po/zh_TW.po b/po/zh_TW.po index c0ef69f76..1dcaf49ce 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -2949,8 +2949,8 @@ msgstr "" #: apt-pkg/acquire-item.cc:1631 #, c-format msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package." msgstr "找不到 %s 套件的某個檔案。這意味著您可能要手動修復這個套件。" #: apt-pkg/acquire-item.cc:1686 diff --git a/test/integration/framework b/test/integration/framework index 013a71ec0..cc5af798c 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -145,6 +145,7 @@ setupenvironment() { echo "DPKG::options:: \"--log=${TMPWORKINGDIRECTORY}/rootdir/var/log/dpkg.log\";" >> aptconfig.conf echo 'quiet::NoUpdate "true";' >> aptconfig.conf export LC_ALL=C + export PATH="${PATH}:/usr/local/sbin:/usr/sbin:/sbin" msgdone "info" } @@ -218,6 +219,7 @@ buildsimplenativepackage() { local DEPENDENCIES="$5" local DESCRIPTION="$6" local SECTION="${7:-others}" + local PRIORITY="${8:-optional}" local DISTSECTION if [ "$SECTION" = "$(echo "$SECTION" | cut -d'/' -f 2)" ]; then DISTSECTION="main" @@ -240,7 +242,7 @@ echo '$NAME says \"Hello!\"'" > ${BUILDDIR}/${NAME} -- Joe Sixpack <joe@example.org> $(date -R)" > ${BUILDDIR}/debian/changelog echo "Source: $NAME Section: $SECTION -Priority: optional +Priority: $PRIORITY Maintainer: Joe Sixpack <joe@example.org> Standards-Version: 3.9.1 @@ -396,29 +398,34 @@ insertpackage() { local ARCH="$3" local VERSION="$4" local DEPENDENCIES="$5" - local ARCHS="$ARCH" - if [ "$ARCHS" = "all" ]; then - ARCHS="$(aptconfig dump | grep APT::Architecture | cut -d'"' -f 2 | sed '/^$/ d' | sort | uniq | tr '\n' ' ')" - fi - for BUILDARCH in $ARCHS; do - local PPATH="aptarchive/dists/${RELEASE}/main/binary-${BUILDARCH}" - mkdir -p $PPATH aptarchive/dists/${RELEASE}/main/source - touch aptarchive/dists/${RELEASE}/main/source/Sources - local FILE="${PPATH}/Packages" - echo "Package: $NAME -Priority: optional + local PRIORITY="${6:-optional}" + local ARCHS="" + for arch in $(echo "$ARCH" | sed -e 's#,#\n#g'); do + if [ "$arch" = "all" ]; then + ARCHS="$(aptconfig dump | grep APT::Architecture | cut -d'"' -f 2 | sed '/^$/ d' | sort | uniq | tr '\n' ' ')" + else + ARCHS="$arch" + fi + for BUILDARCH in $ARCHS; do + local PPATH="aptarchive/dists/${RELEASE}/main/binary-${BUILDARCH}" + mkdir -p $PPATH aptarchive/dists/${RELEASE}/main/source + touch aptarchive/dists/${RELEASE}/main/source/Sources + local FILE="${PPATH}/Packages" + echo "Package: $NAME +Priority: $PRIORITY Section: other Installed-Size: 42 Maintainer: Joe Sixpack <joe@example.org> -Architecture: $ARCH +Architecture: $arch Version: $VERSION -Filename: pool/main/${NAME}/${NAME}_${VERSION}_${ARCH}.deb" >> $FILE - test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE - echo "Description: an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} +Filename: pool/main/${NAME}/${NAME}_${VERSION}_${arch}.deb" >> $FILE + test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE + echo "Description: an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} If you find such a package installed on your system, YOU did something horribly wrong! They are autogenerated und used only by testcases for APT and surf no other propose… " >> $FILE + done done } @@ -427,21 +434,24 @@ insertinstalledpackage() { local ARCH="$2" local VERSION="$3" local DEPENDENCIES="$4" + local PRIORITY="${5:-optional}" local FILE="rootdir/var/lib/dpkg/status" - echo "Package: $NAME + for arch in $(echo "$ARCH" | sed -e 's#,#\n#g'); do + echo "Package: $NAME Status: install ok installed -Priority: optional +Priority: $PRIORITY Section: other Installed-Size: 42 Maintainer: Joe Sixpack <joe@example.org> -Architecture: $ARCH +Architecture: $arch Version: $VERSION" >> $FILE - test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE - echo "Description: an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} + test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE + echo "Description: an autogenerated dummy ${NAME}=${VERSION}/installed If you find such a package installed on your system, YOU did something horribly wrong! They are autogenerated und used only by testcases for APT and surf no other propose… " >> $FILE + done } @@ -563,13 +573,22 @@ changetowebserver() { if which weborf > /dev/null; then weborf -xb aptarchive/ 2>&1 > /dev/null & addtrap "kill $!;" - local APTARCHIVE="file://$(readlink -f ./aptarchive)" - for LIST in $(find rootdir/etc/apt/sources.list.d/ -name 'apt-test-*.list'); do - sed -i $LIST -e "s#$APTARCHIVE#http://localhost:8080/#" - done - return 0 + elif which lighttpd > /dev/null; then + echo "server.document-root = \"$(readlink -f ./aptarchive)\" +server.port = 8080 +server.stat-cache-engine = \"disable\"" > lighttpd.conf + lighttpd -t -f lighttpd.conf >/dev/null || msgdie 'Can not change to webserver: our lighttpd config is invalid' + lighttpd -D -f lighttpd.conf 2>/dev/null >/dev/null & + addtrap "kill $!;" + else + msgdie 'You have to install weborf or lighttpd first' + return 1 fi - return 1 + local APTARCHIVE="file://$(readlink -f ./aptarchive)" + for LIST in $(find rootdir/etc/apt/sources.list.d/ -name 'apt-test-*.list'); do + sed -i $LIST -e "s#$APTARCHIVE#http://localhost:8080/#" + done + return 0 } checkdiff() { @@ -685,7 +704,7 @@ testmarkedauto() { while [ -n "$1" ]; do echo "$1"; shift; done | sort > $COMPAREFILE else msgtest 'Test for correctly marked as auto-installed' 'no package' - echo > $COMPAREFILE + echo -n > $COMPAREFILE fi aptmark showauto 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail } diff --git a/test/integration/skip-bug-602412-dequote-redirect b/test/integration/skip-bug-602412-dequote-redirect new file mode 100755 index 000000000..a63d36246 --- /dev/null +++ b/test/integration/skip-bug-602412-dequote-redirect @@ -0,0 +1,36 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +if ! which lighttpd > /dev/null; then + msgdie 'You need lighttpd for this testcase, sorry…' + exit 1 +fi + +buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' + +setupaptarchive + +echo "server.modules = ( \"mod_redirect\" ) +server.document-root = \"$(readlink -f ./aptarchive)\" +server.port = 8080 +server.stat-cache-engine = \"disable\" +url.redirect = ( \"^/pool/(.*)$\" => \"/newpool/\$1\" )" > lighttpd.conf + +mv aptarchive/pool aptarchive/newpool +lighttpd -t -f lighttpd.conf >/dev/null || msgdie 'Can not change to webserver: our lighttpd config is invalid' +lighttpd -D -f lighttpd.conf 2>/dev/null >/dev/null & +addtrap "kill $!;" + +local APTARCHIVE="file://$(readlink -f ./aptarchive)" +for LIST in $(find rootdir/etc/apt/sources.list.d/ -name 'apt-test-*.list'); do + sed -i $LIST -e "s#$APTARCHIVE#http://localhost:8080/#" +done + +aptget update -qq || msgdie 'apt-get update failed' +aptget install unrelated --download-only -qq || msgdie 'downloading package failed' + diff --git a/test/integration/test-bug-470115-new-and-tighten-recommends b/test/integration/test-bug-470115-new-and-tighten-recommends new file mode 100755 index 000000000..6bc22ea7b --- /dev/null +++ b/test/integration/test-bug-470115-new-and-tighten-recommends @@ -0,0 +1,172 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +insertinstalledpackage 'cool' 'all' '1' +insertinstalledpackage 'stuff' 'all' '1' +insertinstalledpackage 'coolstuff' 'all' '1' + +insertpackage 'unstable' 'cool' 'all' '2' +insertpackage 'unstable' 'stuff' 'all' '2' +insertpackage 'unstable' 'coolstuff' 'all' '2' +insertpackage 'unstable' 'super' 'all' '2' + +insertinstalledpackage 'tighten-cool' 'all' '1' 'Recommends: cool (>= 1)' +insertpackage 'unstable' 'tighten-cool' 'all' '2' 'Recommends: cool (>= 2)' + +insertinstalledpackage 'tighten-coolorstuff' 'all' '1' 'Recommends: cool (>= 1) | stuff (>= 1)' +insertpackage 'unstable' 'tighten-coolorstuff' 'all' '2' 'Recommends: stuff (>= 2) | cool (>= 2)' + +insertinstalledpackage 'tighten-coolorstuff2' 'all' '1' 'Recommends: cool (>= 1) | stuff (>= 1)' +insertpackage 'unstable' 'tighten-coolorstuff2' 'all' '2' 'Recommends: stuff2 (>= 2) | cool (>= 2)' + +insertinstalledpackage 'newrec-cool' 'all' '1' +insertpackage 'unstable' 'newrec-cool' 'all' '2' 'Recommends: cool (>= 2)' + +insertinstalledpackage 'newrec-super' 'all' '1' +insertpackage 'unstable' 'newrec-super' 'all' '2' 'Recommends: super' + +insertinstalledpackage 'newrec-coolorstuff' 'all' '1' +insertpackage 'unstable' 'newrec-coolorstuff' 'all' '2' 'Recommends: cool (>= 2) | stuff (>= 2)' + +insertinstalledpackage 'cool-gone' 'all' '1' 'Recommends: cool (>= 1) | stuff (>= 2)' +insertpackage 'unstable' 'cool-gone' 'all' '2' 'Recommends: stuff (>= 2)' + +insertinstalledpackage 'super-overtake' 'all' '1' 'Recommends: cool | super, stuff | super' +insertpackage 'unstable' 'super-overtake' 'all' '2' 'Recommends: stuff (>= 3) | super, super | cool (>= 2)' + +insertinstalledpackage 'upgrade-over-new' 'all' '1' 'Recommends: cool' +insertpackage 'unstable' 'upgrade-over-new' 'all' '2' 'Recommends: cool (>= 2) | super' + +insertinstalledpackage 'now-satisfiable' 'all' '1' 'Recommends: cool (>= 3)' +insertpackage 'unstable' 'now-satisfiable' 'all' '2' 'Recommends: cool (>= 2)' + +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + cool +The following packages will be upgraded: + cool tighten-cool +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst tighten-cool [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf tighten-cool (2 unstable [all])' aptget install tighten-cool -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + stuff +The following packages will be upgraded: + stuff tighten-coolorstuff +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst stuff [1] (2 unstable [all]) +Inst tighten-coolorstuff [1] (2 unstable [all]) +Conf stuff (2 unstable [all]) +Conf tighten-coolorstuff (2 unstable [all])' aptget install tighten-coolorstuff -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + cool +The following packages will be upgraded: + cool tighten-coolorstuff2 +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst tighten-coolorstuff2 [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf tighten-coolorstuff2 (2 unstable [all])' aptget install tighten-coolorstuff2 -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + cool +The following packages will be upgraded: + cool newrec-cool +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst newrec-cool [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf newrec-cool (2 unstable [all])' aptget install newrec-cool -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + super +The following NEW packages will be installed: + super +The following packages will be upgraded: + newrec-super +1 upgraded, 1 newly installed, 0 to remove and 12 not upgraded. +Inst newrec-super [1] (2 unstable [all]) +Inst super (2 unstable [all]) +Conf newrec-super (2 unstable [all]) +Conf super (2 unstable [all])' aptget install newrec-super -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + cool +The following packages will be upgraded: + cool newrec-coolorstuff +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst newrec-coolorstuff [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf newrec-coolorstuff (2 unstable [all])' aptget install newrec-coolorstuff -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + stuff +The following packages will be upgraded: + cool-gone stuff +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool-gone [1] (2 unstable [all]) +Inst stuff [1] (2 unstable [all]) +Conf cool-gone (2 unstable [all]) +Conf stuff (2 unstable [all])' aptget install cool-gone -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + super +The following NEW packages will be installed: + super +The following packages will be upgraded: + super-overtake +1 upgraded, 1 newly installed, 0 to remove and 12 not upgraded. +Inst super (2 unstable [all]) +Inst super-overtake [1] (2 unstable [all]) +Conf super (2 unstable [all]) +Conf super-overtake (2 unstable [all])' aptget install super-overtake -s + +# if super would be in front, we would get a new here as it is new and +# the first option in an or-group should be the preferred one… +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + cool +The following packages will be upgraded: + cool upgrade-over-new +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst upgrade-over-new [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf upgrade-over-new (2 unstable [all])' aptget install upgrade-over-new -s + +# the recommends wasn't used before so while we could do it now, +# the user doesn't seem to need it so avoid upgrading it +testequal 'Reading package lists... +Building dependency tree... +The following packages will be upgraded: + now-satisfiable +1 upgraded, 0 newly installed, 0 to remove and 12 not upgraded. +Inst now-satisfiable [1] (2 unstable [all]) +Conf now-satisfiable (2 unstable [all])' aptget install now-satisfiable -s diff --git a/test/integration/test-bug-611729-mark-as-manual b/test/integration/test-bug-611729-mark-as-manual index 4e3e2fa0b..9cf01610c 100755 --- a/test/integration/test-bug-611729-mark-as-manual +++ b/test/integration/test-bug-611729-mark-as-manual @@ -48,11 +48,17 @@ b is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b -d testmarkedauto 'b' +rm rootdir/var/log/apt/history.log + aptget install b --reinstall -y -qq 2>&1 > /dev/null testdpkgnotinstalled a testdpkginstalled b c testmarkedauto 'b' +sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d' +testfileequal 'rootdir/var/log/apt/history.log' ' +Reinstall: b:i386 (1.0)' + testequal 'Reading package lists... Building dependency tree... Reading state information... diff --git a/test/integration/test-bug-612557-garbage-upgrade b/test/integration/test-bug-612557-garbage-upgrade index 3112e618c..8efd1687a 100755 --- a/test/integration/test-bug-612557-garbage-upgrade +++ b/test/integration/test-bug-612557-garbage-upgrade @@ -13,9 +13,9 @@ insertpackage 'unstable' 'libreoffice-common' 'all' '1:3.3.0-2' 'Conflicts: open setupaptarchive touch rootdir/var/lib/apt/extended_states -aptmark markauto python-uno ure uno-libs3 openoffice.org-common openoffice.org-style-galaxy +aptmark markauto python-uno openoffice.org-common #aptmark unmarkauto openoffice.org-emailmerge -testmarkedauto python-uno ure uno-libs3 openoffice.org-common openoffice.org-style-galaxy +testmarkedauto python-uno openoffice.org-common testequal 'Reading package lists... Building dependency tree... @@ -33,7 +33,7 @@ After this operation, 53.2 MB disk space will be freed. E: Trivial Only specified but this is not a trivial operation.' aptget --trivial-only install python-uno aptmark markauto openoffice.org-emailmerge -testmarkedauto python-uno ure uno-libs3 openoffice.org-common openoffice.org-style-galaxy openoffice.org-emailmerge +testmarkedauto python-uno openoffice.org-common openoffice.org-emailmerge testequal 'Reading package lists... Building dependency tree... diff --git a/test/integration/test-bug-618288-multiarch-same-lockstep b/test/integration/test-bug-618288-multiarch-same-lockstep new file mode 100755 index 000000000..7e384e428 --- /dev/null +++ b/test/integration/test-bug-618288-multiarch-same-lockstep @@ -0,0 +1,32 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'libsame' 'i386,amd64' '1' 'Multi-Arch: same' 'required' +insertinstalledpackage 'apt' 'i386' '1' 'Depends: libsame (= 1) +Essential: yes' 'required' +insertinstalledpackage 'apt2' 'amd64' '1' 'Depends: libsame (= 1) +Essential: yes' 'required' +buildsimplenativepackage 'libsame' 'i386,amd64' '2' 'unstable' 'Multi-Arch: same' '' 'required' +buildsimplenativepackage 'apt' 'i386' '2' 'unstable' 'Depends: libsame (= 2)' '' 'required' +buildsimplenativepackage 'apt2' 'amd64' '2' 'unstable' 'Depends: libsame (= 2)' '' 'required' + +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following packages will be upgraded: + apt:i386 apt2 libsame libsame:i386 +4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libsame [1] (2 unstable [amd64]) [libsame:amd64 on libsame:i386] [libsame:i386 on libsame:amd64] [libsame:i386 apt2:amd64 ] +Inst libsame:i386 [1] (2 unstable [i386]) [apt2:amd64 apt:i386 ] +Conf libsame:i386 (2 unstable [i386]) [apt2:amd64 apt:i386 ] +Conf libsame (2 unstable [amd64]) [apt2:amd64 apt:i386 ] +Inst apt2 [1] (2 unstable [amd64]) [apt:i386 ] +Conf apt2 (2 unstable [amd64]) [apt:i386 ] +Inst apt:i386 [1] (2 unstable [i386]) +Conf apt:i386 (2 unstable [i386])' aptget dist-upgrade -s diff --git a/test/integration/test-handling-broken-orgroups b/test/integration/test-handling-broken-orgroups new file mode 100755 index 000000000..d88ad0000 --- /dev/null +++ b/test/integration/test-handling-broken-orgroups @@ -0,0 +1,108 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'cool' 'all' '1.0-1' +insertpackage 'unstable' 'stuff' 'all' '1.0-1' +insertpackage 'unstable' 'coolstuff' 'all' '1.0-1' 'Depends: cool | stuff' +insertpackage 'unstable' 'coolstuff2' 'all' '1.0-1' 'Depends: cool2 | stuff' +insertpackage 'unstable' 'coolstuff-broken' 'all' '1.0-1' 'Depends: cool2 | stuff2' +insertpackage 'unstable' 'coolstuff-brokenrec' 'all' '1.0-1' 'Recommends: cool2 | stuff2' +insertpackage 'unstable' 'coolstuff-conflict' 'all' '1.0-1' 'Depends: cool | stuff +Conflicts: cool' +insertpackage 'unstable' 'coolstuff-provided' 'all' '1.0-1' 'Depends: cool2 | stuff-abi' +insertpackage 'unstable' 'extrastuff' 'all' '1.0-1' 'Provides: stuff-abi' + +insertpackage 'unstable' 'coolstuff-provided-broken' 'all' '1.0-1' 'Depends: cool2 | stuff-abi-2' +insertpackage 'unstable' 'extrastuff' 'all' '1.0-1' 'Depends: stuff2 +Provides: stuff-abi-2' + +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + cool +The following NEW packages will be installed: + cool coolstuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst cool (1.0-1 unstable [all]) +Inst coolstuff (1.0-1 unstable [all]) +Conf cool (1.0-1 unstable [all]) +Conf coolstuff (1.0-1 unstable [all])' aptget install coolstuff -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + stuff +The following NEW packages will be installed: + coolstuff2 stuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst stuff (1.0-1 unstable [all]) +Inst coolstuff2 (1.0-1 unstable [all]) +Conf stuff (1.0-1 unstable [all]) +Conf coolstuff2 (1.0-1 unstable [all])' aptget install coolstuff2 -s + +testequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + coolstuff-broken : Depends: cool2 but it is not installable or + stuff2 but it is not installable +E: Broken packages' aptget install coolstuff-broken -s + +testequal 'Reading package lists... +Building dependency tree... +Recommended packages: + cool2 stuff2 +The following NEW packages will be installed: + coolstuff-brokenrec +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst coolstuff-brokenrec (1.0-1 unstable [all]) +Conf coolstuff-brokenrec (1.0-1 unstable [all])' aptget install coolstuff-brokenrec -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + stuff +The following NEW packages will be installed: + coolstuff-conflict stuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst stuff (1.0-1 unstable [all]) +Inst coolstuff-conflict (1.0-1 unstable [all]) +Conf stuff (1.0-1 unstable [all]) +Conf coolstuff-conflict (1.0-1 unstable [all])' aptget install coolstuff-conflict -s + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + extrastuff +The following NEW packages will be installed: + coolstuff-provided extrastuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst extrastuff (1.0-1 unstable [all]) +Inst coolstuff-provided (1.0-1 unstable [all]) +Conf extrastuff (1.0-1 unstable [all]) +Conf coolstuff-provided (1.0-1 unstable [all])' aptget install coolstuff-provided -s + +testequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + coolstuff-provided-broken : Depends: cool2 but it is not installable or + stuff-abi-2 +E: Broken packages' aptget install coolstuff-provided-broken -s diff --git a/test/integration/test-ubuntu-bug-761175-remove-purge b/test/integration/test-ubuntu-bug-761175-remove-purge new file mode 100755 index 000000000..93b67fc02 --- /dev/null +++ b/test/integration/test-ubuntu-bug-761175-remove-purge @@ -0,0 +1,38 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +setupsimplenativepackage 'compiz-core' 'i386' '1.0' 'unstable' +BUILDDIR='incoming/compiz-core-1.0' +mkdir -p ${BUILDDIR}/debian/compiz-core/etc +echo 'foo=bar;' > ${BUILDDIR}/compiz.conf +echo 'compiz.conf /etc/compiz.conf' >> ${BUILDDIR}/debian/install +buildpackage "$BUILDDIR" 'unstable' 'main' +rm -rf "$BUILDDIR" + +setupaptarchive + + +testdpkgnotinstalled compiz-core +msgtest 'Install package' 'compiz-core' +aptget install compiz-core -qq 2>&1 >/dev/null && msgpass || msgfail +testdpkginstalled compiz-core + +msgtest 'Remove package' 'compiz-core' +aptget remove compiz-core -y -qq 2>&1 >/dev/null && msgpass || msgfail +testdpkgnotinstalled compiz-core + +msgtest 'Check that conffiles are still around for' 'compiz-core' +dpkg -l compiz-core | grep '^rc' 2>&1 >/dev/null && msgpass || msgfail + +testequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + compiz-core* +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Purg compiz-core' aptget purge compiz-core -s diff --git a/test/testextract.cc b/test/testextract.cc index 1c738aab9..b790df618 100644 --- a/test/testextract.cc +++ b/test/testextract.cc @@ -71,9 +71,12 @@ bool Go(int argc,char *argv[]) Itm.Type = pkgDirStream::Item::Directory; int Fd; - if (Extract.DoItem(Itm,Fd) == false) + if (Extract.DoItem(Itm,Fd) == false) { + fclose(F); return false; - } + } + } + fclose(F); } else if (Deb.ExtractArchive(Extract) == false) diff --git a/test/versions.lst b/test/versions.lst index 2d0967645..8dd8ebdc9 100644 --- a/test/versions.lst +++ b/test/versions.lst @@ -10,13 +10,16 @@ 1.3 1.2.2 1 # Important attributes -# disabled as dpkg --compare-versions doesn't like them… +# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number) #- . -1 #p - -1 #a - -1 #z - -1 -a . -1 -z . -1 +#a . -1 +#z . -1 + +# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number) +#III-alpha9.8 III-alpha9.8-1.5 -1 # Epochs 1:0.4 10.3 1 @@ -49,9 +52,6 @@ z . -1 1:3.0.5-2 1:3.0.5.1 -1 -# #194327 -III-alpha9.8 III-alpha9.8-1.5 -1 - # #205960 3.0~rc1-1 3.0-1 -1 |