From: Michael Vogt Date: Thu, 7 Dec 2006 10:45:13 +0000 (+0100) Subject: merged with apt--mvo X-Git-Tag: 0.7.21~284^2~9^2~1 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/207825063be51d68768e242f06b26ee6fccd3aaf?hp=1c05ebd6da9491d316997a98db1451f7b0526603 merged with apt--mvo --- diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 8ec4ba2c0..46c9d6c2c 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include @@ -31,6 +33,7 @@ #include #include #include +#include #include /*}}}*/ @@ -100,7 +103,8 @@ void pkgAcquire::Item::Done(string Message,unsigned long Size,string, { // We just downloaded something.. string FileName = LookupTag(Message,"Filename"); - if (Complete == false && FileName == DestFile) + // we only inform the Log class if it was actually not a local thing + if (Complete == false && !Local && FileName == DestFile) { if (Owner->Log != 0) Owner->Log->Fetched(Size,atoi(LookupTag(Message,"Resume-Point","0").c_str())); @@ -131,14 +135,430 @@ void pkgAcquire::Item::Rename(string From,string To) } /*}}}*/ + +// AcqDiffIndex::AcqDiffIndex - Constructor +// --------------------------------------------------------------------- +/* Get the DiffIndex file first and see if there are patches availabe + * If so, create a pkgAcqIndexDiffs fetcher that will get and apply the + * patches. If anything goes wrong in that process, it will fall back to + * the original packages file + */ +pkgAcqDiffIndex::pkgAcqDiffIndex(pkgAcquire *Owner, + string URI,string URIDesc,string ShortDesc, + string ExpectedMD5) + : Item(Owner), RealURI(URI), ExpectedMD5(ExpectedMD5), Description(URIDesc) +{ + + Debug = _config->FindB("Debug::pkgAcquire::Diffs",false); + + Desc.Description = URIDesc + "/DiffIndex"; + Desc.Owner = this; + Desc.ShortDesc = ShortDesc; + Desc.URI = URI + ".diff/Index"; + + DestFile = _config->FindDir("Dir::State::lists") + "partial/"; + DestFile += URItoFileName(URI) + string(".DiffIndex"); + + if(Debug) + std::clog << "pkgAcqDiffIndex: " << Desc.URI << std::endl; + + // look for the current package file + CurrentPackagesFile = _config->FindDir("Dir::State::lists"); + CurrentPackagesFile += URItoFileName(RealURI); + + // FIXME: this file:/ check is a hack to prevent fetching + // from local sources. this is really silly, and + // should be fixed cleanly as soon as possible + if(!FileExists(CurrentPackagesFile) || + Desc.URI.substr(0,strlen("file:/")) == "file:/") + { + // we don't have a pkg file or we don't want to queue + if(Debug) + std::clog << "No index file, local or canceld by user" << std::endl; + Failed("", NULL); + return; + } + + if(Debug) + std::clog << "pkgAcqIndexDiffs::pkgAcqIndexDiffs(): " + << CurrentPackagesFile << std::endl; + + QueueURI(Desc); + +} + +// AcqIndex::Custom600Headers - Insert custom request headers /*{{{*/ +// --------------------------------------------------------------------- +/* The only header we use is the last-modified header. */ +string pkgAcqDiffIndex::Custom600Headers() +{ + string Final = _config->FindDir("Dir::State::lists"); + Final += URItoFileName(RealURI) + string(".IndexDiff"); + + if(Debug) + std::clog << "Custom600Header-IMS: " << Final << std::endl; + + struct stat Buf; + if (stat(Final.c_str(),&Buf) != 0) + return "\nIndex-File: true"; + + return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); +} + + +bool pkgAcqDiffIndex::ParseDiffIndex(string IndexDiffFile) +{ + if(Debug) + std::clog << "pkgAcqIndexDiffs::ParseIndexDiff() " << IndexDiffFile + << std::endl; + + pkgTagSection Tags; + string ServerSha1; + vector available_patches; + + FileFd Fd(IndexDiffFile,FileFd::ReadOnly); + pkgTagFile TF(&Fd); + if (_error->PendingError() == true) + return false; + + if(TF.Step(Tags) == true) + { + string local_sha1; + bool found = false; + DiffInfo d; + string size; + + string tmp = Tags.FindS("SHA1-Current"); + std::stringstream ss(tmp); + ss >> ServerSha1; + + FileFd fd(CurrentPackagesFile, FileFd::ReadOnly); + SHA1Summation SHA1; + SHA1.AddFD(fd.Fd(), fd.Size()); + local_sha1 = string(SHA1.Result()); + + if(local_sha1 == ServerSha1) + { + // we have the same sha1 as the server + if(Debug) + std::clog << "Package file is up-to-date" << std::endl; + // set found to true, this will queue a pkgAcqIndexDiffs with + // a empty availabe_patches + found = true; + } + else + { + if(Debug) + std::clog << "SHA1-Current: " << ServerSha1 << std::endl; + + // check the historie and see what patches we need + string history = Tags.FindS("SHA1-History"); + std::stringstream hist(history); + while(hist >> d.sha1 >> size >> d.file) + { + d.size = atoi(size.c_str()); + // read until the first match is found + if(d.sha1 == local_sha1) + found=true; + // from that point on, we probably need all diffs + if(found) + { + if(Debug) + std::clog << "Need to get diff: " << d.file << std::endl; + available_patches.push_back(d); + } + } + } + + // we have something, queue the next diff + if(found) + { + // queue the diffs + new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc, + ExpectedMD5, available_patches); + Complete = false; + Status = StatDone; + Dequeue(); + return true; + } + } + + // Nothing found, report and return false + // Failing here is ok, if we return false later, the full + // IndexFile is queued + if(Debug) + std::clog << "Can't find a patch in the index file" << std::endl; + return false; +} + +void pkgAcqDiffIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) +{ + if(Debug) + std::clog << "pkgAcqDiffIndex failed: " << Desc.URI << std::endl + << "Falling back to normal index file aquire" << std::endl; + + new pkgAcqIndex(Owner, RealURI, Description, Desc.ShortDesc, + ExpectedMD5); + + Complete = false; + Status = StatDone; + Dequeue(); +} + +void pkgAcqDiffIndex::Done(string Message,unsigned long Size,string Md5Hash, + pkgAcquire::MethodConfig *Cnf) +{ + if(Debug) + std::clog << "pkgAcqDiffIndex::Done(): " << Desc.URI << std::endl; + + Item::Done(Message,Size,Md5Hash,Cnf); + + string FinalFile; + FinalFile = _config->FindDir("Dir::State::lists")+URItoFileName(RealURI); + + // sucess in downloading the index + // rename the index + FinalFile += string(".IndexDiff"); + if(Debug) + std::clog << "Renaming: " << DestFile << " -> " << FinalFile + << std::endl; + Rename(DestFile,FinalFile); + chmod(FinalFile.c_str(),0644); + DestFile = FinalFile; + + if(!ParseDiffIndex(DestFile)) + return Failed("", NULL); + + Complete = true; + Status = StatDone; + Dequeue(); + return; +} + + + +// AcqIndexDiffs::AcqIndexDiffs - Constructor +// --------------------------------------------------------------------- +/* The package diff is added to the queue. one object is constructed + * for each diff and the index + */ +pkgAcqIndexDiffs::pkgAcqIndexDiffs(pkgAcquire *Owner, + string URI,string URIDesc,string ShortDesc, + string ExpectedMD5, vector diffs) + : Item(Owner), RealURI(URI), ExpectedMD5(ExpectedMD5), + available_patches(diffs) +{ + + DestFile = _config->FindDir("Dir::State::lists") + "partial/"; + DestFile += URItoFileName(URI); + + Debug = _config->FindB("Debug::pkgAcquire::Diffs",false); + + Desc.Description = URIDesc; + Desc.Owner = this; + Desc.ShortDesc = ShortDesc; + + if(available_patches.size() == 0) + { + // we are done (yeah!) + Finish(true); + } + else + { + // get the next diff + State = StateFetchDiff; + QueueNextDiff(); + } +} + + +void pkgAcqIndexDiffs::Failed(string Message,pkgAcquire::MethodConfig *Cnf) +{ + if(Debug) + std::clog << "pkgAcqIndexDiffs failed: " << Desc.URI << std::endl + << "Falling back to normal index file aquire" << std::endl; + new pkgAcqIndex(Owner, RealURI, Description,Desc.ShortDesc, + ExpectedMD5); + Finish(); +} + + +// helper that cleans the item out of the fetcher queue +void pkgAcqIndexDiffs::Finish(bool allDone) +{ + // we restore the original name, this is required, otherwise + // the file will be cleaned + if(allDone) + { + DestFile = _config->FindDir("Dir::State::lists"); + DestFile += URItoFileName(RealURI); + + // do the final md5sum checking + MD5Summation sum; + FileFd Fd(DestFile, FileFd::ReadOnly); + sum.AddFD(Fd.Fd(), Fd.Size()); + Fd.Close(); + string MD5 = (string)sum.Result(); + + if (!ExpectedMD5.empty() && MD5 != ExpectedMD5) + { + Status = StatAuthError; + ErrorText = _("MD5Sum mismatch"); + Rename(DestFile,DestFile + ".FAILED"); + Dequeue(); + return; + } + + // this is for the "real" finish + Complete = true; + Status = StatDone; + Dequeue(); + if(Debug) + std::clog << "\n\nallDone: " << DestFile << "\n" << std::endl; + return; + } + + if(Debug) + std::clog << "Finishing: " << Desc.URI << std::endl; + Complete = false; + Status = StatDone; + Dequeue(); + return; +} + + + +bool pkgAcqIndexDiffs::QueueNextDiff() +{ + + // calc sha1 of the just patched file + string FinalFile = _config->FindDir("Dir::State::lists"); + FinalFile += URItoFileName(RealURI); + + FileFd fd(FinalFile, FileFd::ReadOnly); + SHA1Summation SHA1; + SHA1.AddFD(fd.Fd(), fd.Size()); + string local_sha1 = string(SHA1.Result()); + if(Debug) + std::clog << "QueueNextDiff: " + << FinalFile << " (" << local_sha1 << ")"<::iterator I=available_patches.begin(); + available_patches.size() > 0 && + I != available_patches.end() && + (*I).sha1 != local_sha1; + I++) + { + available_patches.erase(I); + } + + // error checking and falling back if no patch was found + if(available_patches.size() == 0) + { + Failed("", NULL); + return false; + } + + // queue the right diff + Desc.URI = string(RealURI) + ".diff/" + available_patches[0].file + ".gz"; + Desc.Description = available_patches[0].file + string(".pdiff"); + + DestFile = _config->FindDir("Dir::State::lists") + "partial/"; + DestFile += URItoFileName(RealURI + ".diff/" + available_patches[0].file); + + if(Debug) + std::clog << "pkgAcqIndexDiffs::QueueNextDiff(): " << Desc.URI << std::endl; + + QueueURI(Desc); + + return true; +} + + + +void pkgAcqIndexDiffs::Done(string Message,unsigned long Size,string Md5Hash, + pkgAcquire::MethodConfig *Cnf) +{ + if(Debug) + std::clog << "pkgAcqIndexDiffs::Done(): " << Desc.URI << std::endl; + + Item::Done(Message,Size,Md5Hash,Cnf); + + string FinalFile; + FinalFile = _config->FindDir("Dir::State::lists")+URItoFileName(RealURI); + + // sucess in downloading a diff, enter ApplyDiff state + if(State == StateFetchDiff) + { + + if(Debug) + std::clog << "Sending to gzip method: " << FinalFile << std::endl; + + string FileName = LookupTag(Message,"Filename"); + State = StateUnzipDiff; + Local = true; + Desc.URI = "gzip:" + FileName; + DestFile += ".decomp"; + QueueURI(Desc); + Mode = "gzip"; + return; + } + + // sucess in downloading a diff, enter ApplyDiff state + if(State == StateUnzipDiff) + { + + // rred excepts the patch as $FinalFile.ed + Rename(DestFile,FinalFile+".ed"); + + if(Debug) + std::clog << "Sending to rred method: " << FinalFile << std::endl; + + State = StateApplyDiff; + Local = true; + Desc.URI = "rred:" + FinalFile; + QueueURI(Desc); + Mode = "rred"; + return; + } + + + // success in download/apply a diff, queue next (if needed) + if(State == StateApplyDiff) + { + // remove the just applied patch + available_patches.erase(available_patches.begin()); + + // move into place + if(Debug) + { + std::clog << "Moving patched file in place: " << std::endl + << DestFile << " -> " << FinalFile << std::endl; + } + Rename(DestFile,FinalFile); + chmod(FinalFile.c_str(),0644); + + // see if there is more to download + if(available_patches.size() > 0) { + new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc, + ExpectedMD5, available_patches); + return Finish(); + } else + return Finish(true); + } +} + + // AcqIndex::AcqIndex - Constructor /*{{{*/ // --------------------------------------------------------------------- /* The package file is added to the queue and a second class is instantiated to fetch the revision file */ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner, string URI,string URIDesc,string ShortDesc, - string ExpectedMD5, string comprExt) : - Item(Owner), RealURI(URI), ExpectedMD5(ExpectedMD5) + string ExpectedMD5, string comprExt) + : Item(Owner), RealURI(URI), ExpectedMD5(ExpectedMD5) { Decompression = false; Erase = false; @@ -532,6 +952,7 @@ void pkgAcqMetaIndex::RetrievalDone(string Message) // Move it into position Rename(DestFile,FinalFile); } + chmod(FinalFile.c_str(),0644); DestFile = FinalFile; } @@ -601,9 +1022,14 @@ void pkgAcqMetaIndex::QueueIndexes(bool verify) } } - // Queue Packages file - new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description, - (*Target)->ShortDesc, ExpectedIndexMD5); + // Queue Packages file (either diff or full packages files, depending + // on the users option) + if(_config->FindB("Acquire::PDiffs",true) == true) + new pkgAcqDiffIndex(Owner, (*Target)->URI, (*Target)->Description, + (*Target)->ShortDesc, ExpectedIndexMD5); + else + new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description, + (*Target)->ShortDesc, ExpectedIndexMD5); } } diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h index da1bea801..3649d7a03 100644 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@ -82,6 +82,70 @@ class pkgAcquire::Item virtual ~Item(); }; +// item for index diffs + +struct DiffInfo { + string file; + string sha1; + unsigned long size; +}; + +class pkgAcqDiffIndex : public pkgAcquire::Item +{ + protected: + bool Debug; + pkgAcquire::ItemDesc Desc; + string RealURI; + string ExpectedMD5; + string CurrentPackagesFile; + string Description; + + public: + // Specialized action members + virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); + virtual void Done(string Message,unsigned long Size,string Md5Hash, + pkgAcquire::MethodConfig *Cnf); + virtual string DescURI() {return RealURI + "Index";}; + virtual string Custom600Headers(); + + // helpers + bool ParseDiffIndex(string IndexDiffFile); + + pkgAcqDiffIndex(pkgAcquire *Owner,string URI,string URIDesc, + string ShortDesct, string ExpectedMD5); +}; + +class pkgAcqIndexDiffs : public pkgAcquire::Item +{ + protected: + bool Debug; + pkgAcquire::ItemDesc Desc; + string RealURI; + string ExpectedMD5; + + // this is the SHA-1 sum we expect after the patching + string Description; + vector available_patches; + enum {StateFetchIndex,StateFetchDiff,StateUnzipDiff,StateApplyDiff} State; + + public: + + // Specialized action members + virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); + virtual void Done(string Message,unsigned long Size,string Md5Hash, + pkgAcquire::MethodConfig *Cnf); + virtual string DescURI() {return RealURI + "Index";}; + + // various helpers + bool QueueNextDiff(); + bool ApplyDiff(string PatchFile); + void Finish(bool allDone=false); + + pkgAcqIndexDiffs(pkgAcquire *Owner,string URI,string URIDesc, + string ShortDesct, string ExpectedMD5, + vector diffs=vector()); +}; + // Item class for index files class pkgAcqIndex : public pkgAcquire::Item { diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 73e20aa43..e58ba7b87 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -104,6 +104,8 @@ Acquire Queue-Mode "host"; // host|access Retries "0"; Source-Symlinks "true"; + + PDiffs "true"; // try to get the IndexFile diffs // HTTP method configuration http diff --git a/methods/makefile b/methods/makefile index 1e3b1ef85..d0b5a28c0 100644 --- a/methods/makefile +++ b/methods/makefile @@ -59,6 +59,13 @@ LIB_MAKES = apt-pkg/makefile SOURCE = ftp.cc rfc2553emu.cc connect.cc include $(PROGRAM_H) +# The rred method +PROGRAM=rred +SLIBS = -lapt-pkg $(SOCKETLIBS) +LIB_MAKES = apt-pkg/makefile +SOURCE = rred.cc +include $(PROGRAM_H) + # The rsh method PROGRAM=rsh SLIBS = -lapt-pkg diff --git a/methods/rred.cc b/methods/rred.cc new file mode 100644 index 000000000..6fa57f3a6 --- /dev/null +++ b/methods/rred.cc @@ -0,0 +1,262 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +/* this method implements a patch functionality similar to "patch --ed" that is + * used by the "tiffany" incremental packages download stuff. it differs from + * "ed" insofar that it is way more restricted (and therefore secure). in the + * moment only the "c", "a" and "d" commands of ed are implemented (diff + * doesn't output any other). additionally the records must be reverse sorted + * by line number and may not overlap (diff *seems* to produce this kind of + * output). + * */ + +const char *Prog; + +class RredMethod : public pkgAcqMethod +{ + bool Debug; + // the size of this doesn't really matter (except for performance) + const static int BUF_SIZE = 1024; + // the ed commands + enum Mode {MODE_CHANGED, MODE_DELETED, MODE_ADDED}; + // return values + enum State {ED_OK, ED_ORDERING, ED_PARSER, ED_FAILURE}; + // this applies a single hunk, it uses a tail recursion to + // reverse the hunks in the file + int ed_rec(FILE *ed_cmds, FILE *in_file, FILE *out_file, int line, + char *buffer, unsigned int bufsize, Hashes *hash); + // apply a patch file + int ed_file(FILE *ed_cmds, FILE *in_file, FILE *out_file, Hashes *hash); + // the methods main method + virtual bool Fetch(FetchItem *Itm); + + public: + + RredMethod() : pkgAcqMethod("1.1",SingleInstance | SendConfig) {}; +}; + +int RredMethod::ed_rec(FILE *ed_cmds, FILE *in_file, FILE *out_file, int line, + char *buffer, unsigned int bufsize, Hashes *hash) { + int pos; + int startline; + int stopline; + int mode; + int written; + char *idx; + + /* get the current command and parse it*/ + if (fgets(buffer, bufsize, ed_cmds) == NULL) { + return line; + } + startline = strtol(buffer, &idx, 10); + if (startline < line) { + return ED_ORDERING; + } + if (*idx == ',') { + idx++; + stopline = strtol(idx, &idx, 10); + } + else { + stopline = startline; + } + if (*idx == 'c') { + mode = MODE_CHANGED; + if (Debug == true) { + std::clog << "changing from line " << startline + << " to " << stopline << std::endl; + } + } + else if (*idx == 'a') { + mode = MODE_ADDED; + if (Debug == true) { + std::clog << "adding after line " << startline << std::endl; + } + } + else if (*idx == 'd') { + mode = MODE_DELETED; + if (Debug == true) { + std::clog << "deleting from line " << startline + << " to " << stopline << std::endl; + } + } + else { + return ED_PARSER; + } + /* get the current position */ + pos = ftell(ed_cmds); + /* if this is add or change then go to the next full stop */ + if ((mode == MODE_CHANGED) || (mode == MODE_ADDED)) { + do { + fgets(buffer, bufsize, ed_cmds); + while ((strlen(buffer) == (bufsize - 1)) + && (buffer[bufsize - 2] != '\n')) { + fgets(buffer, bufsize, ed_cmds); + buffer[0] = ' '; + } + } while (strncmp(buffer, ".", 1) != 0); + } + /* do the recursive call */ + line = ed_rec(ed_cmds, in_file, out_file, line, buffer, bufsize, + hash); + /* pass on errors */ + if (line < 0) { + return line; + } + /* apply our hunk */ + fseek(ed_cmds, pos, SEEK_SET); + /* first wind to the current position */ + if (mode != MODE_ADDED) { + startline -= 1; + } + while (line < startline) { + fgets(buffer, bufsize, in_file); + written = fwrite(buffer, 1, strlen(buffer), out_file); + hash->Add((unsigned char*)buffer, written); + while ((strlen(buffer) == (bufsize - 1)) + && (buffer[bufsize - 2] != '\n')) { + fgets(buffer, bufsize, in_file); + written = fwrite(buffer, 1, strlen(buffer), out_file); + hash->Add((unsigned char*)buffer, written); + } + line++; + } + /* include from ed script */ + if ((mode == MODE_ADDED) || (mode == MODE_CHANGED)) { + do { + fgets(buffer, bufsize, ed_cmds); + if (strncmp(buffer, ".", 1) != 0) { + written = fwrite(buffer, 1, strlen(buffer), out_file); + hash->Add((unsigned char*)buffer, written); + while ((strlen(buffer) == (bufsize - 1)) + && (buffer[bufsize - 2] != '\n')) { + fgets(buffer, bufsize, ed_cmds); + written = fwrite(buffer, 1, strlen(buffer), out_file); + hash->Add((unsigned char*)buffer, written); + } + } + else { + break; + } + } while (1); + } + /* ignore the corresponding number of lines from input */ + if ((mode == MODE_DELETED) || (mode == MODE_CHANGED)) { + while (line < stopline) { + fgets(buffer, bufsize, in_file); + while ((strlen(buffer) == (bufsize - 1)) + && (buffer[bufsize - 2] != '\n')) { + fgets(buffer, bufsize, in_file); + } + line++; + } + } + return line; +} + +int RredMethod::ed_file(FILE *ed_cmds, FILE *in_file, FILE *out_file, + Hashes *hash) { + char buffer[BUF_SIZE]; + int result; + int written; + + /* we do a tail recursion to read the commands in the right order */ + result = ed_rec(ed_cmds, in_file, out_file, 0, buffer, BUF_SIZE, + hash); + + /* read the rest from infile */ + if (result > 0) { + while (fgets(buffer, BUF_SIZE, in_file) != NULL) { + written = fwrite(buffer, 1, strlen(buffer), out_file); + hash->Add((unsigned char*)buffer, written); + } + } + else { + return ED_FAILURE; + } + return ED_OK; +} + + +bool RredMethod::Fetch(FetchItem *Itm) +{ + Debug = _config->FindB("Debug::pkgAcquire::RRed",false); + URI Get = Itm->Uri; + string Path = Get.Host + Get.Path; // To account for relative paths + // Path contains the filename to patch + FetchResult Res; + Res.Filename = Itm->DestFile; + URIStart(Res); + // Res.Filename the destination filename + + if (Debug == true) + std::clog << "Patching " << Path << " with " << Path + << ".ed and putting result into " << Itm->DestFile << std::endl; + // Open the source and destination files (the d'tor of FileFd will do + // the cleanup/closing of the fds) + FileFd From(Path,FileFd::ReadOnly); + FileFd Patch(Path+".ed",FileFd::ReadOnly); + FileFd To(Itm->DestFile,FileFd::WriteEmpty); + To.EraseOnFailure(); + if (_error->PendingError() == true) + return false; + + Hashes Hash; + FILE* fFrom = fdopen(From.Fd(), "r"); + FILE* fPatch = fdopen(Patch.Fd(), "r"); + FILE* fTo = fdopen(To.Fd(), "w"); + // now do the actual patching + if (ed_file(fPatch, fFrom, fTo, &Hash) != ED_OK) { + _error->Errno("rred", _("Could not patch file")); + return false; + } + + // write out the result + fflush(fFrom); + fflush(fPatch); + fflush(fTo); + From.Close(); + Patch.Close(); + To.Close(); + + // Transfer the modification times + struct stat Buf; + if (stat(Path.c_str(),&Buf) != 0) + return _error->Errno("stat",_("Failed to stat")); + + struct utimbuf TimeBuf; + TimeBuf.actime = Buf.st_atime; + TimeBuf.modtime = Buf.st_mtime; + if (utime(Itm->DestFile.c_str(),&TimeBuf) != 0) + return _error->Errno("utime",_("Failed to set modification time")); + + if (stat(Itm->DestFile.c_str(),&Buf) != 0) + return _error->Errno("stat",_("Failed to stat")); + + // return done + Res.LastModified = Buf.st_mtime; + Res.Size = Buf.st_size; + Res.TakeHashes(Hash); + URIDone(Res); + + return true; +} + +int main(int argc, char *argv[]) +{ + RredMethod Mth; + + Prog = strrchr(argv[0],'/'); + Prog++; + + return Mth.Run(); +} diff --git a/po/apt-all.pot b/po/apt-all.pot index 6f84389e4..46672e159 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-10-11 20:34+0200\n" +"POT-Creation-Date: 2005-08-19 11:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -146,14 +146,14 @@ msgstr "" msgid " %4i %s\n" msgstr "" -#: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 -#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550 -#: cmdline/apt-get.cc:2387 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-cache.cc:1651 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 +#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:545 +#: cmdline/apt-get.cc:2322 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s %s compiled on %s %s\n" msgstr "" -#: cmdline/apt-cache.cc:1659 +#: cmdline/apt-cache.cc:1658 msgid "" "Usage: apt-cache [options] command\n" " apt-cache [options] add file1 [file2 ...]\n" @@ -192,18 +192,6 @@ msgid "" "See the apt-cache(8) and apt.conf(5) manual pages for more information.\n" msgstr "" -#: cmdline/apt-cdrom.cc:78 -msgid "Please provide a name for this Disc, such as 'Debian 2.1r1 Disk 1'" -msgstr "" - -#: cmdline/apt-cdrom.cc:93 -msgid "Please insert a Disc in the drive and press enter" -msgstr "" - -#: cmdline/apt-cdrom.cc:117 -msgid "Repeat this process for the rest of the CDs in your set." -msgstr "" - #: cmdline/apt-config.cc:41 msgid "Arguments not in pairs" msgstr "" @@ -252,31 +240,31 @@ msgstr "" msgid "Cannot get debconf version. Is debconf installed?" msgstr "" -#: ftparchive/apt-ftparchive.cc:167 ftparchive/apt-ftparchive.cc:341 +#: ftparchive/apt-ftparchive.cc:163 ftparchive/apt-ftparchive.cc:337 msgid "Package extension list is too long" msgstr "" -#: ftparchive/apt-ftparchive.cc:169 ftparchive/apt-ftparchive.cc:183 -#: ftparchive/apt-ftparchive.cc:206 ftparchive/apt-ftparchive.cc:256 -#: ftparchive/apt-ftparchive.cc:270 ftparchive/apt-ftparchive.cc:292 +#: ftparchive/apt-ftparchive.cc:165 ftparchive/apt-ftparchive.cc:179 +#: ftparchive/apt-ftparchive.cc:202 ftparchive/apt-ftparchive.cc:252 +#: ftparchive/apt-ftparchive.cc:266 ftparchive/apt-ftparchive.cc:288 #, c-format msgid "Error processing directory %s" msgstr "" -#: ftparchive/apt-ftparchive.cc:254 +#: ftparchive/apt-ftparchive.cc:250 msgid "Source extension list is too long" msgstr "" -#: ftparchive/apt-ftparchive.cc:371 +#: ftparchive/apt-ftparchive.cc:367 msgid "Error writing header to contents file" msgstr "" -#: ftparchive/apt-ftparchive.cc:401 +#: ftparchive/apt-ftparchive.cc:397 #, c-format msgid "Error processing contents %s" msgstr "" -#: ftparchive/apt-ftparchive.cc:556 +#: ftparchive/apt-ftparchive.cc:551 msgid "" "Usage: apt-ftparchive [options] command\n" "Commands: packages binarypath [overridefile [pathprefix]]\n" @@ -318,47 +306,40 @@ msgid "" " -o=? Set an arbitrary configuration option" msgstr "" -#: ftparchive/apt-ftparchive.cc:762 +#: ftparchive/apt-ftparchive.cc:757 msgid "No selections matched" msgstr "" -#: ftparchive/apt-ftparchive.cc:835 +#: ftparchive/apt-ftparchive.cc:830 #, c-format msgid "Some files are missing in the package file group `%s'" msgstr "" -#: ftparchive/cachedb.cc:47 +#: ftparchive/cachedb.cc:45 #, c-format msgid "DB was corrupted, file renamed to %s.old" msgstr "" -#: ftparchive/cachedb.cc:65 +#: ftparchive/cachedb.cc:63 #, c-format msgid "DB is old, attempting to upgrade %s" msgstr "" -#: ftparchive/cachedb.cc:76 -msgid "" -"DB format is invalid. If you upgraded from a older version of apt, please " -"remove and re-create the database." -msgstr "" - -#: ftparchive/cachedb.cc:81 +#: ftparchive/cachedb.cc:73 #, c-format msgid "Unable to open DB file %s: %s" msgstr "" -#: ftparchive/cachedb.cc:127 apt-inst/extract.cc:181 apt-inst/extract.cc:193 -#: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:272 +#: ftparchive/cachedb.cc:114 #, c-format -msgid "Failed to stat %s" +msgid "File date has changed %s" msgstr "" -#: ftparchive/cachedb.cc:242 +#: ftparchive/cachedb.cc:155 msgid "Archive has no control record" msgstr "" -#: ftparchive/cachedb.cc:448 +#: ftparchive/cachedb.cc:267 msgid "Unable to get a cursor" msgstr "" @@ -372,79 +353,75 @@ msgstr "" msgid "W: Unable to stat %s\n" msgstr "" -#: ftparchive/writer.cc:135 +#: ftparchive/writer.cc:126 msgid "E: " msgstr "" -#: ftparchive/writer.cc:137 +#: ftparchive/writer.cc:128 msgid "W: " msgstr "" -#: ftparchive/writer.cc:144 +#: ftparchive/writer.cc:135 msgid "E: Errors apply to file " msgstr "" -#: ftparchive/writer.cc:161 ftparchive/writer.cc:191 +#: ftparchive/writer.cc:152 ftparchive/writer.cc:182 #, c-format msgid "Failed to resolve %s" msgstr "" -#: ftparchive/writer.cc:173 +#: ftparchive/writer.cc:164 msgid "Tree walking failed" msgstr "" -#: ftparchive/writer.cc:198 +#: ftparchive/writer.cc:189 #, c-format msgid "Failed to open %s" msgstr "" -#: ftparchive/writer.cc:257 +#: ftparchive/writer.cc:246 #, c-format msgid " DeLink %s [%s]\n" msgstr "" -#: ftparchive/writer.cc:265 +#: ftparchive/writer.cc:254 #, c-format msgid "Failed to readlink %s" msgstr "" -#: ftparchive/writer.cc:269 +#: ftparchive/writer.cc:258 #, c-format msgid "Failed to unlink %s" msgstr "" -#: ftparchive/writer.cc:276 +#: ftparchive/writer.cc:265 #, c-format msgid "*** Failed to link %s to %s" msgstr "" -#: ftparchive/writer.cc:286 +#: ftparchive/writer.cc:275 #, c-format msgid " DeLink limit of %sB hit.\n" msgstr "" -#: ftparchive/writer.cc:390 -msgid "Archive had no package field" -msgstr "" - -#: ftparchive/writer.cc:398 ftparchive/writer.cc:613 +#: ftparchive/writer.cc:358 apt-inst/extract.cc:181 apt-inst/extract.cc:193 +#: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:256 #, c-format -msgid " %s has no override entry\n" +msgid "Failed to stat %s" msgstr "" -#: ftparchive/writer.cc:443 ftparchive/writer.cc:701 -#, c-format -msgid " %s maintainer is %s not %s\n" +#: ftparchive/writer.cc:378 +msgid "Archive had no package field" msgstr "" -#: ftparchive/writer.cc:623 +#: ftparchive/writer.cc:386 ftparchive/writer.cc:595 #, c-format -msgid " %s has no source override entry\n" +msgid " %s has no override entry\n" msgstr "" -#: ftparchive/writer.cc:627 +#: ftparchive/writer.cc:429 ftparchive/writer.cc:677 #, c-format -msgid " %s has no binary override entry either\n" +msgid " %s maintainer is %s not %s\n" msgstr "" #: ftparchive/contents.cc:317 @@ -542,221 +519,200 @@ msgstr "" msgid "Failed to rename %s to %s" msgstr "" -#: cmdline/apt-get.cc:120 +#: cmdline/apt-get.cc:118 msgid "Y" msgstr "" -#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1506 +#: cmdline/apt-get.cc:140 cmdline/apt-get.cc:1484 #, c-format msgid "Regex compilation error - %s" msgstr "" -#: cmdline/apt-get.cc:237 +#: cmdline/apt-get.cc:235 msgid "The following packages have unmet dependencies:" msgstr "" -#: cmdline/apt-get.cc:327 +#: cmdline/apt-get.cc:325 #, c-format msgid "but %s is installed" msgstr "" -#: cmdline/apt-get.cc:329 +#: cmdline/apt-get.cc:327 #, c-format msgid "but %s is to be installed" msgstr "" -#: cmdline/apt-get.cc:336 +#: cmdline/apt-get.cc:334 msgid "but it is not installable" msgstr "" -#: cmdline/apt-get.cc:338 +#: cmdline/apt-get.cc:336 msgid "but it is a virtual package" msgstr "" -#: cmdline/apt-get.cc:341 +#: cmdline/apt-get.cc:339 msgid "but it is not installed" msgstr "" -#: cmdline/apt-get.cc:341 +#: cmdline/apt-get.cc:339 msgid "but it is not going to be installed" msgstr "" -#: cmdline/apt-get.cc:346 +#: cmdline/apt-get.cc:344 msgid " or" msgstr "" -#: cmdline/apt-get.cc:375 +#: cmdline/apt-get.cc:373 msgid "The following NEW packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:401 +#: cmdline/apt-get.cc:399 msgid "The following packages will be REMOVED:" msgstr "" -#: cmdline/apt-get.cc:423 +#: cmdline/apt-get.cc:421 msgid "The following packages have been kept back:" msgstr "" -#: cmdline/apt-get.cc:444 +#: cmdline/apt-get.cc:442 msgid "The following packages will be upgraded:" msgstr "" -#: cmdline/apt-get.cc:465 +#: cmdline/apt-get.cc:463 msgid "The following packages will be DOWNGRADED:" msgstr "" -#: cmdline/apt-get.cc:485 +#: cmdline/apt-get.cc:483 msgid "The following held packages will be changed:" msgstr "" -#: cmdline/apt-get.cc:538 +#: cmdline/apt-get.cc:536 #, c-format msgid "%s (due to %s) " msgstr "" -#: cmdline/apt-get.cc:546 +#: cmdline/apt-get.cc:544 msgid "" "WARNING: The following essential packages will be removed.\n" "This should NOT be done unless you know exactly what you are doing!" msgstr "" -#: cmdline/apt-get.cc:577 +#: cmdline/apt-get.cc:575 #, c-format msgid "%lu upgraded, %lu newly installed, " msgstr "" -#: cmdline/apt-get.cc:581 +#: cmdline/apt-get.cc:579 #, c-format msgid "%lu reinstalled, " msgstr "" -#: cmdline/apt-get.cc:583 +#: cmdline/apt-get.cc:581 #, c-format msgid "%lu downgraded, " msgstr "" -#: cmdline/apt-get.cc:585 +#: cmdline/apt-get.cc:583 #, c-format msgid "%lu to remove and %lu not upgraded.\n" msgstr "" -#: cmdline/apt-get.cc:589 +#: cmdline/apt-get.cc:587 #, c-format msgid "%lu not fully installed or removed.\n" msgstr "" -#: cmdline/apt-get.cc:649 +#: cmdline/apt-get.cc:647 msgid "Correcting dependencies..." msgstr "" -#: cmdline/apt-get.cc:652 +#: cmdline/apt-get.cc:650 msgid " failed." msgstr "" -#: cmdline/apt-get.cc:655 +#: cmdline/apt-get.cc:653 msgid "Unable to correct dependencies" msgstr "" -#: cmdline/apt-get.cc:658 +#: cmdline/apt-get.cc:656 msgid "Unable to minimize the upgrade set" msgstr "" -#: cmdline/apt-get.cc:660 +#: cmdline/apt-get.cc:658 msgid " Done" msgstr "" -#: cmdline/apt-get.cc:664 +#: cmdline/apt-get.cc:662 msgid "You might want to run `apt-get -f install' to correct these." msgstr "" -#: cmdline/apt-get.cc:667 +#: cmdline/apt-get.cc:665 msgid "Unmet dependencies. Try using -f." msgstr "" -#: cmdline/apt-get.cc:689 +#: cmdline/apt-get.cc:687 msgid "WARNING: The following packages cannot be authenticated!" msgstr "" -#: cmdline/apt-get.cc:693 -msgid "Authentication warning overridden.\n" -msgstr "" - -#: cmdline/apt-get.cc:700 +#: cmdline/apt-get.cc:698 msgid "Install these packages without verification [y/N]? " msgstr "" -#: cmdline/apt-get.cc:702 +#: cmdline/apt-get.cc:700 msgid "Some packages could not be authenticated" msgstr "" -#: cmdline/apt-get.cc:711 cmdline/apt-get.cc:858 +#: cmdline/apt-get.cc:709 cmdline/apt-get.cc:855 msgid "There are problems and -y was used without --force-yes" msgstr "" -#: cmdline/apt-get.cc:755 -msgid "Internal error, InstallPackages was called with broken packages!" -msgstr "" - -#: cmdline/apt-get.cc:764 +#: cmdline/apt-get.cc:762 msgid "Packages need to be removed but remove is disabled." msgstr "" -#: cmdline/apt-get.cc:775 -msgid "Internal error, Ordering didn't finish" -msgstr "" - -#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1818 cmdline/apt-get.cc:1851 +#: cmdline/apt-get.cc:788 cmdline/apt-get.cc:1778 cmdline/apt-get.cc:1811 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1899 cmdline/apt-get.cc:2135 +#: cmdline/apt-get.cc:798 cmdline/apt-get.cc:1859 cmdline/apt-get.cc:2070 #: apt-pkg/cachefile.cc:67 msgid "The list of sources could not be read." msgstr "" -#: cmdline/apt-get.cc:816 -msgid "How odd.. The sizes didn't match, email apt@packages.debian.org" -msgstr "" - -#: cmdline/apt-get.cc:821 +#: cmdline/apt-get.cc:818 #, c-format msgid "Need to get %sB/%sB of archives.\n" msgstr "" -#: cmdline/apt-get.cc:824 +#: cmdline/apt-get.cc:821 #, c-format msgid "Need to get %sB of archives.\n" msgstr "" -#: cmdline/apt-get.cc:829 +#: cmdline/apt-get.cc:826 #, c-format msgid "After unpacking %sB of additional disk space will be used.\n" msgstr "" -#: cmdline/apt-get.cc:832 +#: cmdline/apt-get.cc:829 #, c-format msgid "After unpacking %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1989 -#, c-format -msgid "Couldn't determine free space in %s" -msgstr "" - -#: cmdline/apt-get.cc:849 +#: cmdline/apt-get.cc:846 #, c-format msgid "You don't have enough free space in %s." msgstr "" -#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:884 +#: cmdline/apt-get.cc:861 cmdline/apt-get.cc:881 msgid "Trivial Only specified but this is not a trivial operation." msgstr "" -#: cmdline/apt-get.cc:866 +#: cmdline/apt-get.cc:863 msgid "Yes, do as I say!" msgstr "" -#: cmdline/apt-get.cc:868 +#: cmdline/apt-get.cc:865 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@ -764,74 +720,74 @@ msgid "" " ?] " msgstr "" -#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:893 +#: cmdline/apt-get.cc:871 cmdline/apt-get.cc:890 msgid "Abort." msgstr "" -#: cmdline/apt-get.cc:889 +#: cmdline/apt-get.cc:886 msgid "Do you want to continue [Y/n]? " msgstr "" -#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:958 cmdline/apt-get.cc:1334 cmdline/apt-get.cc:1968 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" -#: cmdline/apt-get.cc:979 +#: cmdline/apt-get.cc:976 msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2041 +#: cmdline/apt-get.cc:977 cmdline/apt-get.cc:1977 msgid "Download complete and in download only mode" msgstr "" -#: cmdline/apt-get.cc:986 +#: cmdline/apt-get.cc:983 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" msgstr "" -#: cmdline/apt-get.cc:990 +#: cmdline/apt-get.cc:987 msgid "--fix-missing and media swapping is not currently supported" msgstr "" -#: cmdline/apt-get.cc:995 +#: cmdline/apt-get.cc:992 msgid "Unable to correct missing packages." msgstr "" -#: cmdline/apt-get.cc:996 +#: cmdline/apt-get.cc:993 msgid "Aborting install." msgstr "" -#: cmdline/apt-get.cc:1030 +#: cmdline/apt-get.cc:1026 #, c-format msgid "Note, selecting %s instead of %s\n" msgstr "" -#: cmdline/apt-get.cc:1040 +#: cmdline/apt-get.cc:1036 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" msgstr "" -#: cmdline/apt-get.cc:1058 +#: cmdline/apt-get.cc:1054 #, c-format msgid "Package %s is not installed, so not removed\n" msgstr "" -#: cmdline/apt-get.cc:1069 +#: cmdline/apt-get.cc:1065 #, c-format msgid "Package %s is a virtual package provided by:\n" msgstr "" -#: cmdline/apt-get.cc:1081 +#: cmdline/apt-get.cc:1077 msgid " [Installed]" msgstr "" -#: cmdline/apt-get.cc:1086 +#: cmdline/apt-get.cc:1082 msgid "You should explicitly select one to install." msgstr "" -#: cmdline/apt-get.cc:1091 +#: cmdline/apt-get.cc:1087 #, c-format msgid "" "Package %s is not available, but is referred to by another package.\n" @@ -839,79 +795,79 @@ msgid "" "is only available from another source\n" msgstr "" -#: cmdline/apt-get.cc:1110 +#: cmdline/apt-get.cc:1106 msgid "However the following packages replace it:" msgstr "" -#: cmdline/apt-get.cc:1113 +#: cmdline/apt-get.cc:1109 #, c-format msgid "Package %s has no installation candidate" msgstr "" -#: cmdline/apt-get.cc:1133 +#: cmdline/apt-get.cc:1129 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" msgstr "" -#: cmdline/apt-get.cc:1141 +#: cmdline/apt-get.cc:1137 #, c-format msgid "%s is already the newest version.\n" msgstr "" -#: cmdline/apt-get.cc:1168 +#: cmdline/apt-get.cc:1164 #, c-format msgid "Release '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1170 +#: cmdline/apt-get.cc:1166 #, c-format msgid "Version '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1176 +#: cmdline/apt-get.cc:1172 #, c-format msgid "Selected version %s (%s) for %s\n" msgstr "" -#: cmdline/apt-get.cc:1313 +#: cmdline/apt-get.cc:1282 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1326 +#: cmdline/apt-get.cc:1295 cmdline/apt-get.cc:1389 msgid "Unable to lock the list directory" msgstr "" -#: cmdline/apt-get.cc:1384 +#: cmdline/apt-get.cc:1353 msgid "" "Some index files failed to download, they have been ignored, or old ones " "used instead." msgstr "" -#: cmdline/apt-get.cc:1403 +#: cmdline/apt-get.cc:1372 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1493 cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1471 cmdline/apt-get.cc:1507 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:1516 +#: cmdline/apt-get.cc:1494 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "" -#: cmdline/apt-get.cc:1546 +#: cmdline/apt-get.cc:1524 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1549 +#: cmdline/apt-get.cc:1527 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1561 +#: cmdline/apt-get.cc:1539 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" @@ -919,163 +875,149 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1569 +#: cmdline/apt-get.cc:1547 msgid "" "Since you only requested a single operation it is extremely likely that\n" "the package is simply not installable and a bug report against\n" "that package should be filed." msgstr "" -#: cmdline/apt-get.cc:1574 +#: cmdline/apt-get.cc:1552 msgid "The following information may help to resolve the situation:" msgstr "" -#: cmdline/apt-get.cc:1577 +#: cmdline/apt-get.cc:1555 msgid "Broken packages" msgstr "" -#: cmdline/apt-get.cc:1603 +#: cmdline/apt-get.cc:1581 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:1692 +#: cmdline/apt-get.cc:1652 msgid "Suggested packages:" msgstr "" -#: cmdline/apt-get.cc:1693 +#: cmdline/apt-get.cc:1653 msgid "Recommended packages:" msgstr "" -#: cmdline/apt-get.cc:1713 +#: cmdline/apt-get.cc:1673 msgid "Calculating upgrade... " msgstr "" -#: cmdline/apt-get.cc:1716 methods/ftp.cc:702 methods/connect.cc:101 +#: cmdline/apt-get.cc:1676 methods/ftp.cc:702 methods/connect.cc:99 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:1721 +#: cmdline/apt-get.cc:1681 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:1786 cmdline/apt-get.cc:1794 -msgid "Internal error, problem resolver broke stuff" -msgstr "" - -#: cmdline/apt-get.cc:1894 +#: cmdline/apt-get.cc:1854 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:1924 cmdline/apt-get.cc:2153 +#: cmdline/apt-get.cc:1881 cmdline/apt-get.cc:2088 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:1968 -#, c-format -msgid "Skipping already downloaded file '%s'\n" -msgstr "" - -#: cmdline/apt-get.cc:1992 +#: cmdline/apt-get.cc:1928 #, c-format msgid "You don't have enough free space in %s" msgstr "" -#: cmdline/apt-get.cc:1997 +#: cmdline/apt-get.cc:1933 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2000 +#: cmdline/apt-get.cc:1936 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2006 +#: cmdline/apt-get.cc:1942 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2037 +#: cmdline/apt-get.cc:1973 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2065 +#: cmdline/apt-get.cc:2001 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2077 +#: cmdline/apt-get.cc:2013 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2078 -#, c-format -msgid "Check if the 'dpkg-dev' package is installed.\n" -msgstr "" - -#: cmdline/apt-get.cc:2095 +#: cmdline/apt-get.cc:2030 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2049 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2130 +#: cmdline/apt-get.cc:2065 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2158 +#: cmdline/apt-get.cc:2093 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2178 +#: cmdline/apt-get.cc:2113 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2230 +#: cmdline/apt-get.cc:2165 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2282 +#: cmdline/apt-get.cc:2217 #, c-format msgid "" "%s dependency for %s cannot be satisfied because no available versions of " "package %s can satisfy version requirements" msgstr "" -#: cmdline/apt-get.cc:2317 +#: cmdline/apt-get.cc:2252 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2342 +#: cmdline/apt-get.cc:2277 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2356 +#: cmdline/apt-get.cc:2291 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2360 +#: cmdline/apt-get.cc:2295 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2392 +#: cmdline/apt-get.cc:2327 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:2433 +#: cmdline/apt-get.cc:2368 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1203,19 +1145,19 @@ msgstr "" msgid "Failed to create pipes" msgstr "" -#: apt-inst/contrib/extracttar.cc:144 +#: apt-inst/contrib/extracttar.cc:143 msgid "Failed to exec gzip " msgstr "" -#: apt-inst/contrib/extracttar.cc:181 apt-inst/contrib/extracttar.cc:207 +#: apt-inst/contrib/extracttar.cc:180 apt-inst/contrib/extracttar.cc:206 msgid "Corrupted archive" msgstr "" -#: apt-inst/contrib/extracttar.cc:196 +#: apt-inst/contrib/extracttar.cc:195 msgid "Tar checksum failed, archive corrupted" msgstr "" -#: apt-inst/contrib/extracttar.cc:299 +#: apt-inst/contrib/extracttar.cc:298 #, c-format msgid "Unknown TAR header type %u, member %s" msgstr "" @@ -1276,7 +1218,7 @@ msgstr "" msgid "Failed to write file %s" msgstr "" -#: apt-inst/dirstream.cc:96 apt-inst/dirstream.cc:104 +#: apt-inst/dirstream.cc:80 apt-inst/dirstream.cc:88 #, c-format msgid "Failed to close file %s" msgstr "" @@ -1329,8 +1271,7 @@ msgid "File %s/%s overwrites the one in the package %s" msgstr "" #: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:750 -#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/sourcelist.cc:324 -#: apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38 +#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38 #, c-format msgid "Unable to read %s" msgstr "" @@ -1376,7 +1317,7 @@ msgstr "" msgid "Internal error getting a package name" msgstr "" -#: apt-inst/deb/dpkgdb.cc:205 apt-inst/deb/dpkgdb.cc:386 +#: apt-inst/deb/dpkgdb.cc:205 msgid "Reading file listing" msgstr "" @@ -1420,6 +1361,10 @@ msgstr "" msgid "The pkg cache must be initialized first" msgstr "" +#: apt-inst/deb/dpkgdb.cc:386 +msgid "Reading file list" +msgstr "" + #: apt-inst/deb/dpkgdb.cc:443 #, c-format msgid "Failed to find a Package: header, offset %lu" @@ -1462,1080 +1407,1066 @@ msgstr "" msgid "Unparsable control file" msgstr "" -#: methods/cdrom.cc:114 +#: apt-pkg/contrib/mmap.cc:82 +msgid "Can't mmap an empty file" +msgstr "" + +#: apt-pkg/contrib/mmap.cc:87 #, c-format -msgid "Unable to read the cdrom database %s" +msgid "Couldn't make mmap of %lu bytes" msgstr "" -#: methods/cdrom.cc:123 -msgid "" -"Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update " -"cannot be used to add new CD-ROMs" +#: apt-pkg/contrib/strutl.cc:941 +#, c-format +msgid "Selection %s not found" msgstr "" -#: methods/cdrom.cc:131 -msgid "Wrong CD-ROM" +#: apt-pkg/contrib/configuration.cc:436 +#, c-format +msgid "Unrecognized type abbreviation: '%c'" msgstr "" -#: methods/cdrom.cc:164 +#: apt-pkg/contrib/configuration.cc:494 #, c-format -msgid "Unable to unmount the CD-ROM in %s, it may still be in use." +msgid "Opening configuration file %s" msgstr "" -#: methods/cdrom.cc:169 -msgid "Disk not found." +#: apt-pkg/contrib/configuration.cc:512 +#, c-format +msgid "Line %d too long (max %d)" msgstr "" -#: methods/cdrom.cc:177 methods/file.cc:79 methods/rsh.cc:264 -msgid "File not found" +#: apt-pkg/contrib/configuration.cc:608 +#, c-format +msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:141 -#: methods/gzip.cc:150 -msgid "Failed to stat" +#: apt-pkg/contrib/configuration.cc:627 +#, c-format +msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:147 -msgid "Failed to set modification time" +#: apt-pkg/contrib/configuration.cc:644 +#, c-format +msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: methods/file.cc:44 -msgid "Invalid URI, local URIS must not start with //" +#: apt-pkg/contrib/configuration.cc:684 +#, c-format +msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#. Login must be before getpeername otherwise dante won't work. -#: methods/ftp.cc:162 -msgid "Logging in" +#: apt-pkg/contrib/configuration.cc:691 +#, c-format +msgid "Syntax error %s:%u: Too many nested includes" msgstr "" -#: methods/ftp.cc:168 -msgid "Unable to determine the peer name" +#: apt-pkg/contrib/configuration.cc:695 apt-pkg/contrib/configuration.cc:700 +#, c-format +msgid "Syntax error %s:%u: Included from here" msgstr "" -#: methods/ftp.cc:173 -msgid "Unable to determine the local name" +#: apt-pkg/contrib/configuration.cc:704 +#, c-format +msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: methods/ftp.cc:204 methods/ftp.cc:232 +#: apt-pkg/contrib/configuration.cc:738 #, c-format -msgid "The server refused the connection and said: %s" +msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" -#: methods/ftp.cc:210 +#: apt-pkg/contrib/progress.cc:154 #, c-format -msgid "USER failed, server said: %s" +msgid "%c%s... Error!" msgstr "" -#: methods/ftp.cc:217 +#: apt-pkg/contrib/progress.cc:156 #, c-format -msgid "PASS failed, server said: %s" +msgid "%c%s... Done" msgstr "" -#: methods/ftp.cc:237 -msgid "" -"A proxy server was specified but no login script, Acquire::ftp::ProxyLogin " -"is empty." +#: apt-pkg/contrib/cmndline.cc:80 +#, c-format +msgid "Command line option '%c' [from %s] is not known." msgstr "" -#: methods/ftp.cc:265 +#: apt-pkg/contrib/cmndline.cc:106 apt-pkg/contrib/cmndline.cc:114 +#: apt-pkg/contrib/cmndline.cc:122 #, c-format -msgid "Login script command '%s' failed, server said: %s" +msgid "Command line option %s is not understood" msgstr "" -#: methods/ftp.cc:291 +#: apt-pkg/contrib/cmndline.cc:127 #, c-format -msgid "TYPE failed, server said: %s" +msgid "Command line option %s is not boolean" msgstr "" -#: methods/ftp.cc:329 methods/ftp.cc:440 methods/rsh.cc:183 methods/rsh.cc:226 -msgid "Connection timeout" +#: apt-pkg/contrib/cmndline.cc:166 apt-pkg/contrib/cmndline.cc:187 +#, c-format +msgid "Option %s requires an argument." msgstr "" -#: methods/ftp.cc:335 -msgid "Server closed the connection" +#: apt-pkg/contrib/cmndline.cc:201 apt-pkg/contrib/cmndline.cc:207 +#, c-format +msgid "Option %s: Configuration item specification must have an =." msgstr "" -#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:471 methods/rsh.cc:190 -msgid "Read error" +#: apt-pkg/contrib/cmndline.cc:237 +#, c-format +msgid "Option %s requires an integer argument, not '%s'" msgstr "" -#: methods/ftp.cc:345 methods/rsh.cc:197 -msgid "A response overflowed the buffer." +#: apt-pkg/contrib/cmndline.cc:268 +#, c-format +msgid "Option '%s' is too long" msgstr "" -#: methods/ftp.cc:362 methods/ftp.cc:374 -msgid "Protocol corruption" +#: apt-pkg/contrib/cmndline.cc:301 +#, c-format +msgid "Sense %s is not understood, try true or false." msgstr "" -#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:510 methods/rsh.cc:232 -msgid "Write error" +#: apt-pkg/contrib/cmndline.cc:351 +#, c-format +msgid "Invalid operation %s" msgstr "" -#: methods/ftp.cc:687 methods/ftp.cc:693 methods/ftp.cc:729 -msgid "Could not create a socket" +#: apt-pkg/contrib/cdromutl.cc:55 +#, c-format +msgid "Unable to stat the mount point %s" msgstr "" -#: methods/ftp.cc:698 -msgid "Could not connect data socket, connection timed out" +#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:427 apt-pkg/clean.cc:44 +#, c-format +msgid "Unable to change to %s" msgstr "" -#: methods/ftp.cc:704 -msgid "Could not connect passive socket." +#: apt-pkg/contrib/cdromutl.cc:190 +msgid "Failed to stat the cdrom" msgstr "" -#: methods/ftp.cc:722 -msgid "getaddrinfo was unable to get a listening socket" +#: apt-pkg/contrib/fileutl.cc:82 +#, c-format +msgid "Not using locking for read only lock file %s" msgstr "" -#: methods/ftp.cc:736 -msgid "Could not bind a socket" +#: apt-pkg/contrib/fileutl.cc:87 +#, c-format +msgid "Could not open lock file %s" msgstr "" -#: methods/ftp.cc:740 -msgid "Could not listen on the socket" +#: apt-pkg/contrib/fileutl.cc:105 +#, c-format +msgid "Not using locking for nfs mounted lock file %s" msgstr "" -#: methods/ftp.cc:747 -msgid "Could not determine the socket's name" +#: apt-pkg/contrib/fileutl.cc:109 +#, c-format +msgid "Could not get lock %s" msgstr "" -#: methods/ftp.cc:779 -msgid "Unable to send PORT command" +#: apt-pkg/contrib/fileutl.cc:377 +#, c-format +msgid "Waited for %s but it wasn't there" msgstr "" -#: methods/ftp.cc:789 +#: apt-pkg/contrib/fileutl.cc:387 #, c-format -msgid "Unknown address family %u (AF_*)" +msgid "Sub-process %s received a segmentation fault." msgstr "" -#: methods/ftp.cc:798 +#: apt-pkg/contrib/fileutl.cc:390 #, c-format -msgid "EPRT failed, server said: %s" +msgid "Sub-process %s returned an error code (%u)" msgstr "" -#: methods/ftp.cc:818 -msgid "Data socket connect timed out" +#: apt-pkg/contrib/fileutl.cc:392 +#, c-format +msgid "Sub-process %s exited unexpectedly" msgstr "" -#: methods/ftp.cc:825 -msgid "Unable to accept connection" +#: apt-pkg/contrib/fileutl.cc:436 +#, c-format +msgid "Could not open file %s" msgstr "" -#: methods/ftp.cc:864 methods/http.cc:958 methods/rsh.cc:303 -msgid "Problem hashing file" +#: apt-pkg/contrib/fileutl.cc:471 methods/ftp.cc:338 methods/rsh.cc:190 +msgid "Read error" msgstr "" -#: methods/ftp.cc:877 +#: apt-pkg/contrib/fileutl.cc:492 #, c-format -msgid "Unable to fetch file, server said '%s'" +msgid "read, still have %lu to read but none left" msgstr "" -#: methods/ftp.cc:892 methods/rsh.cc:322 -msgid "Data socket timed out" +#: apt-pkg/contrib/fileutl.cc:510 methods/ftp.cc:446 methods/rsh.cc:232 +msgid "Write error" msgstr "" -#: methods/ftp.cc:922 +#: apt-pkg/contrib/fileutl.cc:522 #, c-format -msgid "Data transfer failed, server said '%s'" +msgid "write, still have %lu to write but couldn't" msgstr "" -#. Get the files information -#: methods/ftp.cc:997 -msgid "Query" +#: apt-pkg/contrib/fileutl.cc:597 +msgid "Problem closing the file" msgstr "" -#: methods/ftp.cc:1109 -msgid "Unable to invoke " +#: apt-pkg/contrib/fileutl.cc:603 +msgid "Problem unlinking the file" msgstr "" -#: methods/connect.cc:64 -#, c-format -msgid "Connecting to %s (%s)" +#: apt-pkg/contrib/fileutl.cc:614 +msgid "Problem syncing the file" msgstr "" -#: methods/connect.cc:71 -#, c-format -msgid "[IP: %s %s]" -msgstr "" - -#: methods/connect.cc:80 -#, c-format -msgid "Could not create a socket for %s (f=%u t=%u p=%u)" +#: apt-pkg/pkgcache.cc:126 +msgid "Empty package cache" msgstr "" -#: methods/connect.cc:86 -#, c-format -msgid "Cannot initiate the connection to %s:%s (%s)." +#: apt-pkg/pkgcache.cc:132 +msgid "The package cache file is corrupted" msgstr "" -#: methods/connect.cc:93 -#, c-format -msgid "Could not connect to %s:%s (%s), connection timed out" +#: apt-pkg/pkgcache.cc:137 +msgid "The package cache file is an incompatible version" msgstr "" -#: methods/connect.cc:108 +#: apt-pkg/pkgcache.cc:142 #, c-format -msgid "Could not connect to %s:%s (%s)." +msgid "This APT does not support the versioning system '%s'" msgstr "" -#. We say this mainly because the pause here is for the -#. ssh connection that is still going -#: methods/connect.cc:136 methods/rsh.cc:425 -#, c-format -msgid "Connecting to %s" +#: apt-pkg/pkgcache.cc:147 +msgid "The package cache was built for a different architecture" msgstr "" -#: methods/connect.cc:167 -#, c-format -msgid "Could not resolve '%s'" +#: apt-pkg/pkgcache.cc:218 +msgid "Depends" msgstr "" -#: methods/connect.cc:173 -#, c-format -msgid "Temporary failure resolving '%s'" +#: apt-pkg/pkgcache.cc:218 +msgid "PreDepends" msgstr "" -#: methods/connect.cc:176 -#, c-format -msgid "Something wicked happened resolving '%s:%s' (%i)" +#: apt-pkg/pkgcache.cc:218 +msgid "Suggests" msgstr "" -#: methods/connect.cc:223 -#, c-format -msgid "Unable to connect to %s %s:" +#: apt-pkg/pkgcache.cc:219 +msgid "Recommends" msgstr "" -#: methods/gpgv.cc:65 -#, c-format -msgid "Couldn't access keyring: '%s'" +#: apt-pkg/pkgcache.cc:219 +msgid "Conflicts" msgstr "" -#: methods/gpgv.cc:100 -msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." +#: apt-pkg/pkgcache.cc:219 +msgid "Replaces" msgstr "" -#: methods/gpgv.cc:204 -msgid "" -"Internal error: Good signature, but could not determine key fingerprint?!" +#: apt-pkg/pkgcache.cc:220 +msgid "Obsoletes" msgstr "" -#: methods/gpgv.cc:209 -msgid "At least one invalid signature was encountered." +#: apt-pkg/pkgcache.cc:231 +msgid "important" msgstr "" -#: methods/gpgv.cc:213 -#, c-format -msgid "Could not execute '%s' to verify signature (is gnupg installed?)" +#: apt-pkg/pkgcache.cc:231 +msgid "required" msgstr "" -#: methods/gpgv.cc:218 -msgid "Unknown error executing gpgv" +#: apt-pkg/pkgcache.cc:231 +msgid "standard" msgstr "" -#: methods/gpgv.cc:249 -msgid "The following signatures were invalid:\n" +#: apt-pkg/pkgcache.cc:232 +msgid "optional" msgstr "" -#: methods/gpgv.cc:256 -msgid "" -"The following signatures couldn't be verified because the public key is not " -"available:\n" +#: apt-pkg/pkgcache.cc:232 +msgid "extra" msgstr "" -#: methods/gzip.cc:64 -#, c-format -msgid "Couldn't open pipe for %s" +#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89 +msgid "Building dependency tree" msgstr "" -#: methods/gzip.cc:109 -#, c-format -msgid "Read error from %s process" +#: apt-pkg/depcache.cc:61 +msgid "Candidate versions" msgstr "" -#: methods/http.cc:376 -msgid "Waiting for headers" +#: apt-pkg/depcache.cc:90 +msgid "Dependency generation" msgstr "" -#: methods/http.cc:522 +#: apt-pkg/tagfile.cc:73 #, c-format -msgid "Got a single header line over %u chars" -msgstr "" - -#: methods/http.cc:530 -msgid "Bad header line" -msgstr "" - -#: methods/http.cc:549 methods/http.cc:556 -msgid "The HTTP server sent an invalid reply header" +msgid "Unable to parse package file %s (1)" msgstr "" -#: methods/http.cc:585 -msgid "The HTTP server sent an invalid Content-Length header" +#: apt-pkg/tagfile.cc:160 +#, c-format +msgid "Unable to parse package file %s (2)" msgstr "" -#: methods/http.cc:600 -msgid "The HTTP server sent an invalid Content-Range header" +#: apt-pkg/sourcelist.cc:87 +#, c-format +msgid "Malformed line %lu in source list %s (URI)" msgstr "" -#: methods/http.cc:602 -msgid "This HTTP server has broken range support" +#: apt-pkg/sourcelist.cc:89 +#, c-format +msgid "Malformed line %lu in source list %s (dist)" msgstr "" -#: methods/http.cc:626 -msgid "Unknown date format" +#: apt-pkg/sourcelist.cc:92 +#, c-format +msgid "Malformed line %lu in source list %s (URI parse)" msgstr "" -#: methods/http.cc:773 -msgid "Select failed" +#: apt-pkg/sourcelist.cc:98 +#, c-format +msgid "Malformed line %lu in source list %s (absolute dist)" msgstr "" -#: methods/http.cc:778 -msgid "Connection timed out" +#: apt-pkg/sourcelist.cc:105 +#, c-format +msgid "Malformed line %lu in source list %s (dist parse)" msgstr "" -#: methods/http.cc:801 -msgid "Error writing to output file" +#: apt-pkg/sourcelist.cc:156 +#, c-format +msgid "Opening %s" msgstr "" -#: methods/http.cc:832 -msgid "Error writing to file" +#: apt-pkg/sourcelist.cc:170 apt-pkg/cdrom.cc:426 +#, c-format +msgid "Line %u too long in source list %s." msgstr "" -#: methods/http.cc:860 -msgid "Error writing to the file" +#: apt-pkg/sourcelist.cc:187 +#, c-format +msgid "Malformed line %u in source list %s (type)" msgstr "" -#: methods/http.cc:874 -msgid "Error reading from server. Remote end closed connection" +#: apt-pkg/sourcelist.cc:191 +#, c-format +msgid "Type '%s' is not known on line %u in source list %s" msgstr "" -#: methods/http.cc:876 -msgid "Error reading from server" +#: apt-pkg/sourcelist.cc:199 apt-pkg/sourcelist.cc:202 +#, c-format +msgid "Malformed line %u in source list %s (vendor id)" msgstr "" -#: methods/http.cc:1107 -msgid "Bad header data" +#: apt-pkg/packagemanager.cc:402 +#, c-format +msgid "" +"This installation run will require temporarily removing the essential " +"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 "" -#: methods/http.cc:1124 -msgid "Connection failed" +#: apt-pkg/pkgrecords.cc:37 +#, c-format +msgid "Index file type '%s' is not supported" msgstr "" -#: methods/http.cc:1215 -msgid "Internal error" +#: apt-pkg/algorithms.cc:241 +#, c-format +msgid "" +"The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" -#: apt-pkg/contrib/mmap.cc:82 -msgid "Can't mmap an empty file" +#: apt-pkg/algorithms.cc:1059 +msgid "" +"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " +"held packages." msgstr "" -#: apt-pkg/contrib/mmap.cc:87 -#, c-format -msgid "Couldn't make mmap of %lu bytes" +#: apt-pkg/algorithms.cc:1061 +msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/contrib/strutl.cc:938 +#: apt-pkg/acquire.cc:62 #, c-format -msgid "Selection %s not found" +msgid "Lists directory %spartial is missing." msgstr "" -#: apt-pkg/contrib/configuration.cc:436 +#: apt-pkg/acquire.cc:66 #, c-format -msgid "Unrecognized type abbreviation: '%c'" +msgid "Archive directory %spartial is missing." msgstr "" -#: apt-pkg/contrib/configuration.cc:494 +#: apt-pkg/acquire.cc:821 #, c-format -msgid "Opening configuration file %s" +msgid "Downloading file %li of %li (%s remaining)" msgstr "" -#: apt-pkg/contrib/configuration.cc:512 +#: apt-pkg/acquire-worker.cc:113 apt-pkg/acquire-worker.cc:112 #, c-format -msgid "Line %d too long (max %d)" +msgid "The method driver %s could not be found." msgstr "" -#: apt-pkg/contrib/configuration.cc:608 +#: apt-pkg/acquire-worker.cc:162 apt-pkg/acquire-worker.cc:161 #, c-format -msgid "Syntax error %s:%u: Block starts with no name." +msgid "Method %s did not start correctly" msgstr "" -#: apt-pkg/contrib/configuration.cc:627 +#: apt-pkg/acquire-worker.cc:377 #, c-format -msgid "Syntax error %s:%u: Malformed tag" +msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" -#: apt-pkg/contrib/configuration.cc:644 +#: apt-pkg/init.cc:119 #, c-format -msgid "Syntax error %s:%u: Extra junk after value" +msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/contrib/configuration.cc:684 -#, c-format -msgid "Syntax error %s:%u: Directives can only be done at the top level" +#: apt-pkg/init.cc:135 +msgid "Unable to determine a suitable packaging system type" msgstr "" -#: apt-pkg/contrib/configuration.cc:691 +#: apt-pkg/clean.cc:61 #, c-format -msgid "Syntax error %s:%u: Too many nested includes" +msgid "Unable to stat %s." msgstr "" -#: apt-pkg/contrib/configuration.cc:695 apt-pkg/contrib/configuration.cc:700 -#, c-format -msgid "Syntax error %s:%u: Included from here" +#: apt-pkg/srcrecords.cc:48 +msgid "You must put some 'source' URIs in your sources.list" msgstr "" -#: apt-pkg/contrib/configuration.cc:704 -#, c-format -msgid "Syntax error %s:%u: Unsupported directive '%s'" +#: apt-pkg/cachefile.cc:73 +msgid "The package lists or status file could not be parsed or opened." msgstr "" -#: apt-pkg/contrib/configuration.cc:738 -#, c-format -msgid "Syntax error %s:%u: Extra junk at end of file" +#: apt-pkg/cachefile.cc:77 +msgid "You may want to run apt-get update to correct these problems" msgstr "" -#: apt-pkg/contrib/progress.cc:154 -#, c-format -msgid "%c%s... Error!" +#: apt-pkg/policy.cc:269 +msgid "Invalid record in the preferences file, no Package header" msgstr "" -#: apt-pkg/contrib/progress.cc:156 +#: apt-pkg/policy.cc:291 #, c-format -msgid "%c%s... Done" +msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/contrib/cmndline.cc:80 -#, c-format -msgid "Command line option '%c' [from %s] is not known." +#: apt-pkg/policy.cc:299 +msgid "No priority (or zero) specified for pin" msgstr "" -#: apt-pkg/contrib/cmndline.cc:106 apt-pkg/contrib/cmndline.cc:114 -#: apt-pkg/contrib/cmndline.cc:122 -#, c-format -msgid "Command line option %s is not understood" +#: apt-pkg/pkgcachegen.cc:74 +msgid "Cache has an incompatible versioning system" msgstr "" -#: apt-pkg/contrib/cmndline.cc:127 +#: apt-pkg/pkgcachegen.cc:117 #, c-format -msgid "Command line option %s is not boolean" +msgid "Error occurred while processing %s (NewPackage)" msgstr "" -#: apt-pkg/contrib/cmndline.cc:166 apt-pkg/contrib/cmndline.cc:187 +#: apt-pkg/pkgcachegen.cc:129 #, c-format -msgid "Option %s requires an argument." +msgid "Error occurred while processing %s (UsePackage1)" msgstr "" -#: apt-pkg/contrib/cmndline.cc:201 apt-pkg/contrib/cmndline.cc:207 +#: apt-pkg/pkgcachegen.cc:150 #, c-format -msgid "Option %s: Configuration item specification must have an =." +msgid "Error occurred while processing %s (UsePackage2)" msgstr "" -#: apt-pkg/contrib/cmndline.cc:237 +#: apt-pkg/pkgcachegen.cc:154 #, c-format -msgid "Option %s requires an integer argument, not '%s'" +msgid "Error occurred while processing %s (NewFileVer1)" msgstr "" -#: apt-pkg/contrib/cmndline.cc:268 +#: apt-pkg/pkgcachegen.cc:184 #, c-format -msgid "Option '%s' is too long" +msgid "Error occurred while processing %s (NewVersion1)" msgstr "" -#: apt-pkg/contrib/cmndline.cc:301 +#: apt-pkg/pkgcachegen.cc:188 #, c-format -msgid "Sense %s is not understood, try true or false." +msgid "Error occurred while processing %s (UsePackage3)" msgstr "" -#: apt-pkg/contrib/cmndline.cc:351 +#: apt-pkg/pkgcachegen.cc:192 #, c-format -msgid "Invalid operation %s" +msgid "Error occurred while processing %s (NewVersion2)" msgstr "" -#: apt-pkg/contrib/cdromutl.cc:55 -#, c-format -msgid "Unable to stat the mount point %s" +#: apt-pkg/pkgcachegen.cc:207 +msgid "Wow, you exceeded the number of package names this APT is capable of." msgstr "" -#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:427 apt-pkg/clean.cc:44 -#, c-format -msgid "Unable to change to %s" +#: apt-pkg/pkgcachegen.cc:210 +msgid "Wow, you exceeded the number of versions this APT is capable of." msgstr "" -#: apt-pkg/contrib/cdromutl.cc:190 -msgid "Failed to stat the cdrom" +#: apt-pkg/pkgcachegen.cc:213 +msgid "Wow, you exceeded the number of dependencies this APT is capable of." msgstr "" -#: apt-pkg/contrib/fileutl.cc:82 +#: apt-pkg/pkgcachegen.cc:241 #, c-format -msgid "Not using locking for read only lock file %s" +msgid "Error occurred while processing %s (FindPkg)" msgstr "" -#: apt-pkg/contrib/fileutl.cc:87 +#: apt-pkg/pkgcachegen.cc:254 #, c-format -msgid "Could not open lock file %s" +msgid "Error occurred while processing %s (CollectFileProvides)" msgstr "" -#: apt-pkg/contrib/fileutl.cc:105 +#: apt-pkg/pkgcachegen.cc:260 #, c-format -msgid "Not using locking for nfs mounted lock file %s" +msgid "Package %s %s was not found while processing file dependencies" msgstr "" -#: apt-pkg/contrib/fileutl.cc:109 +#: apt-pkg/pkgcachegen.cc:574 #, c-format -msgid "Could not get lock %s" +msgid "Couldn't stat source package list %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:377 -#, c-format -msgid "Waited for %s but it wasn't there" +#: apt-pkg/pkgcachegen.cc:658 +msgid "Collecting File Provides" msgstr "" -#: apt-pkg/contrib/fileutl.cc:387 -#, c-format -msgid "Sub-process %s received a segmentation fault." +#: apt-pkg/pkgcachegen.cc:785 apt-pkg/pkgcachegen.cc:792 +msgid "IO Error saving source cache" msgstr "" -#: apt-pkg/contrib/fileutl.cc:390 +#: apt-pkg/acquire-item.cc:129 #, c-format -msgid "Sub-process %s returned an error code (%u)" +msgid "rename failed, %s (%s -> %s)." msgstr "" -#: apt-pkg/contrib/fileutl.cc:392 -#, c-format -msgid "Sub-process %s exited unexpectedly" +#: apt-pkg/acquire-item.cc:618 apt-pkg/acquire-item.cc:1290 +#: apt-pkg/acquire-item.cc:553 apt-pkg/acquire-item.cc:1218 +msgid "MD5Sum mismatch" msgstr "" -#: apt-pkg/contrib/fileutl.cc:436 +#: apt-pkg/acquire-item.cc:1104 apt-pkg/acquire-item.cc:1032 #, c-format -msgid "Could not open file %s" +msgid "" +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package. (due to missing arch)" msgstr "" -#: apt-pkg/contrib/fileutl.cc:492 +#: apt-pkg/acquire-item.cc:1157 apt-pkg/acquire-item.cc:1085 #, c-format -msgid "read, still have %lu to read but none left" +msgid "" +"I wasn't able to locate file for the %s package. This might mean you need to " +"manually fix this package." msgstr "" -#: apt-pkg/contrib/fileutl.cc:522 +#: apt-pkg/acquire-item.cc:1193 apt-pkg/acquire-item.cc:1121 #, c-format -msgid "write, still have %lu to write but couldn't" -msgstr "" - -#: apt-pkg/contrib/fileutl.cc:597 -msgid "Problem closing the file" +msgid "" +"The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/contrib/fileutl.cc:603 -msgid "Problem unlinking the file" +#: apt-pkg/acquire-item.cc:1280 apt-pkg/acquire-item.cc:1208 +msgid "Size mismatch" msgstr "" -#: apt-pkg/contrib/fileutl.cc:614 -msgid "Problem syncing the file" +#: apt-pkg/vendorlist.cc:66 +#, c-format +msgid "Vendor block %s contains no fingerprint" msgstr "" -#: apt-pkg/pkgcache.cc:126 -msgid "Empty package cache" +#: apt-pkg/cdrom.cc:507 apt-pkg/cdrom.cc:504 +#, c-format +msgid "" +"Using CD-ROM mount point %s\n" +"Mounting CD-ROM\n" msgstr "" -#: apt-pkg/pkgcache.cc:132 -msgid "The package cache file is corrupted" +#: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598 apt-pkg/cdrom.cc:513 +#: apt-pkg/cdrom.cc:595 +msgid "Identifying.. " msgstr "" -#: apt-pkg/pkgcache.cc:137 -msgid "The package cache file is an incompatible version" +#: apt-pkg/cdrom.cc:541 apt-pkg/cdrom.cc:538 +#, c-format +msgid "Stored label: %s \n" msgstr "" -#: apt-pkg/pkgcache.cc:142 +#: apt-pkg/cdrom.cc:561 apt-pkg/cdrom.cc:558 #, c-format -msgid "This APT does not support the versioning system '%s'" +msgid "Using CD-ROM mount point %s\n" msgstr "" -#: apt-pkg/pkgcache.cc:147 -msgid "The package cache was built for a different architecture" +#: apt-pkg/cdrom.cc:579 apt-pkg/cdrom.cc:576 +msgid "Unmounting CD-ROM\n" msgstr "" -#: apt-pkg/pkgcache.cc:218 -msgid "Depends" +#: apt-pkg/cdrom.cc:583 apt-pkg/cdrom.cc:580 +msgid "Waiting for disc...\n" msgstr "" -#: apt-pkg/pkgcache.cc:218 -msgid "PreDepends" +#. Mount the new CDROM +#: apt-pkg/cdrom.cc:591 apt-pkg/cdrom.cc:588 +msgid "Mounting CD-ROM...\n" msgstr "" -#: apt-pkg/pkgcache.cc:218 -msgid "Suggests" +#: apt-pkg/cdrom.cc:609 apt-pkg/cdrom.cc:606 +msgid "Scanning disc for index files..\n" msgstr "" -#: apt-pkg/pkgcache.cc:219 -msgid "Recommends" +#: apt-pkg/cdrom.cc:647 apt-pkg/cdrom.cc:644 +#, c-format +msgid "Found %i package indexes, %i source indexes and %i signatures\n" msgstr "" -#: apt-pkg/pkgcache.cc:219 -msgid "Conflicts" +#: apt-pkg/cdrom.cc:704 apt-pkg/cdrom.cc:701 +msgid "That is not a valid name, try again.\n" msgstr "" -#: apt-pkg/pkgcache.cc:219 -msgid "Replaces" +#: apt-pkg/cdrom.cc:720 apt-pkg/cdrom.cc:717 +#, c-format +msgid "" +"This disc is called: \n" +"'%s'\n" msgstr "" -#: apt-pkg/pkgcache.cc:220 -msgid "Obsoletes" +#: apt-pkg/cdrom.cc:724 apt-pkg/cdrom.cc:721 +msgid "Copying package lists..." msgstr "" -#: apt-pkg/pkgcache.cc:231 -msgid "important" +#: apt-pkg/cdrom.cc:748 apt-pkg/cdrom.cc:745 +msgid "Writing new source list\n" msgstr "" -#: apt-pkg/pkgcache.cc:231 -msgid "required" +#: apt-pkg/cdrom.cc:757 apt-pkg/cdrom.cc:754 +msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/pkgcache.cc:231 -msgid "standard" +#: apt-pkg/cdrom.cc:791 apt-pkg/cdrom.cc:788 +msgid "Unmounting CD-ROM..." msgstr "" -#: apt-pkg/pkgcache.cc:232 -msgid "optional" +#: apt-pkg/indexcopy.cc:261 +#, c-format +msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/pkgcache.cc:232 -msgid "extra" +#: apt-pkg/indexcopy.cc:263 +#, c-format +msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90 -msgid "Building dependency tree" +#: apt-pkg/indexcopy.cc:266 +#, c-format +msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/depcache.cc:62 -msgid "Candidate versions" +#: apt-pkg/indexcopy.cc:269 +#, c-format +msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" -#: apt-pkg/depcache.cc:91 -msgid "Dependency generation" +#: apt-pkg/deb/dpkgpm.cc:358 +#, c-format +msgid "Preparing %s" msgstr "" -#: apt-pkg/tagfile.cc:106 +#: apt-pkg/deb/dpkgpm.cc:359 #, c-format -msgid "Unable to parse package file %s (1)" +msgid "Unpacking %s" msgstr "" -#: apt-pkg/tagfile.cc:193 +#: apt-pkg/deb/dpkgpm.cc:364 #, c-format -msgid "Unable to parse package file %s (2)" +msgid "Preparing to configure %s" msgstr "" -#: apt-pkg/sourcelist.cc:94 +#: apt-pkg/deb/dpkgpm.cc:365 #, c-format -msgid "Malformed line %lu in source list %s (URI)" +msgid "Configuring %s" msgstr "" -#: apt-pkg/sourcelist.cc:96 +#: apt-pkg/deb/dpkgpm.cc:366 #, c-format -msgid "Malformed line %lu in source list %s (dist)" +msgid "Installed %s" msgstr "" -#: apt-pkg/sourcelist.cc:99 +#: apt-pkg/deb/dpkgpm.cc:371 #, c-format -msgid "Malformed line %lu in source list %s (URI parse)" +msgid "Preparing for removal of %s" msgstr "" -#: apt-pkg/sourcelist.cc:105 +#: apt-pkg/deb/dpkgpm.cc:372 #, c-format -msgid "Malformed line %lu in source list %s (absolute dist)" +msgid "Removing %s" msgstr "" -#: apt-pkg/sourcelist.cc:112 +#: apt-pkg/deb/dpkgpm.cc:373 #, c-format -msgid "Malformed line %lu in source list %s (dist parse)" +msgid "Removed %s" msgstr "" -#: apt-pkg/sourcelist.cc:203 +#: apt-pkg/deb/dpkgpm.cc:378 #, c-format -msgid "Opening %s" +msgid "Preparing for remove with config %s" msgstr "" -#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426 +#: apt-pkg/deb/dpkgpm.cc:379 #, c-format -msgid "Line %u too long in source list %s." +msgid "Removed with config %s" msgstr "" -#: apt-pkg/sourcelist.cc:240 +#: methods/cdrom.cc:113 #, c-format -msgid "Malformed line %u in source list %s (type)" +msgid "Unable to read the cdrom database %s" msgstr "" -#: apt-pkg/sourcelist.cc:244 -#, c-format -msgid "Type '%s' is not known on line %u in source list %s" +#: methods/cdrom.cc:122 +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 "" -#: apt-pkg/sourcelist.cc:252 apt-pkg/sourcelist.cc:255 -#, c-format -msgid "Malformed line %u in source list %s (vendor id)" +#: methods/cdrom.cc:130 methods/cdrom.cc:168 +msgid "Wrong CD-ROM" msgstr "" -#: apt-pkg/packagemanager.cc:402 +#: methods/cdrom.cc:163 #, c-format -msgid "" -"This installation run will require temporarily removing the essential " -"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." +msgid "Unable to unmount the CD-ROM in %s, it may still be in use." msgstr "" -#: apt-pkg/pkgrecords.cc:37 -#, c-format -msgid "Index file type '%s' is not supported" +#: methods/cdrom.cc:177 methods/file.cc:77 methods/rsh.cc:264 +msgid "File not found" msgstr "" -#: apt-pkg/algorithms.cc:241 -#, c-format -msgid "" -"The package %s needs to be reinstalled, but I can't find an archive for it." +#: methods/copy.cc:42 methods/gpgv.cc:265 methods/gzip.cc:133 +#: methods/gzip.cc:142 +msgid "Failed to stat" msgstr "" -#: apt-pkg/algorithms.cc:1059 -msgid "" -"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " -"held packages." +#: methods/copy.cc:79 methods/gpgv.cc:262 methods/gzip.cc:139 +msgid "Failed to set modification time" msgstr "" -#: apt-pkg/algorithms.cc:1061 -msgid "Unable to correct problems, you have held broken packages." +#: methods/file.cc:42 +msgid "Invalid URI, local URIS must not start with //" msgstr "" -#: apt-pkg/acquire.cc:62 -#, c-format -msgid "Lists directory %spartial is missing." +#. Login must be before getpeername otherwise dante won't work. +#: methods/ftp.cc:162 +msgid "Logging in" msgstr "" -#: apt-pkg/acquire.cc:66 -#, c-format -msgid "Archive directory %spartial is missing." +#: methods/ftp.cc:168 +msgid "Unable to determine the peer name" +msgstr "" + +#: methods/ftp.cc:173 +msgid "Unable to determine the local name" msgstr "" -#. only show the ETA if it makes sense -#. two days -#: apt-pkg/acquire.cc:823 +#: methods/ftp.cc:204 methods/ftp.cc:232 #, c-format -msgid "Retrieving file %li of %li (%s remaining)" +msgid "The server refused the connection and said: %s" msgstr "" -#: apt-pkg/acquire.cc:825 +#: methods/ftp.cc:210 #, c-format -msgid "Retrieving file %li of %li" +msgid "USER failed, server said: %s" msgstr "" -#: apt-pkg/acquire-worker.cc:113 +#: methods/ftp.cc:217 #, c-format -msgid "The method driver %s could not be found." +msgid "PASS failed, server said: %s" msgstr "" -#: apt-pkg/acquire-worker.cc:162 -#, c-format -msgid "Method %s did not start correctly" +#: methods/ftp.cc:237 +msgid "" +"A proxy server was specified but no login script, Acquire::ftp::ProxyLogin " +"is empty." msgstr "" -#: apt-pkg/acquire-worker.cc:377 +#: methods/ftp.cc:265 #, c-format -msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." +msgid "Login script command '%s' failed, server said: %s" msgstr "" -#: apt-pkg/init.cc:120 +#: methods/ftp.cc:291 #, c-format -msgid "Packaging system '%s' is not supported" +msgid "TYPE failed, server said: %s" msgstr "" -#: apt-pkg/init.cc:136 -msgid "Unable to determine a suitable packaging system type" +#: methods/ftp.cc:329 methods/ftp.cc:440 methods/rsh.cc:183 methods/rsh.cc:226 +msgid "Connection timeout" msgstr "" -#: apt-pkg/clean.cc:61 -#, c-format -msgid "Unable to stat %s." +#: methods/ftp.cc:335 +msgid "Server closed the connection" msgstr "" -#: apt-pkg/srcrecords.cc:48 -msgid "You must put some 'source' URIs in your sources.list" +#: methods/ftp.cc:345 methods/rsh.cc:197 +msgid "A response overflowed the buffer." msgstr "" -#: apt-pkg/cachefile.cc:73 -msgid "The package lists or status file could not be parsed or opened." +#: methods/ftp.cc:362 methods/ftp.cc:374 +msgid "Protocol corruption" msgstr "" -#: apt-pkg/cachefile.cc:77 -msgid "You may want to run apt-get update to correct these problems" +#: methods/ftp.cc:687 methods/ftp.cc:693 methods/ftp.cc:729 +msgid "Could not create a socket" msgstr "" -#: apt-pkg/policy.cc:269 -msgid "Invalid record in the preferences file, no Package header" +#: methods/ftp.cc:698 +msgid "Could not connect data socket, connection timed out" msgstr "" -#: apt-pkg/policy.cc:291 -#, c-format -msgid "Did not understand pin type %s" +#: methods/ftp.cc:704 +msgid "Could not connect passive socket." msgstr "" -#: apt-pkg/policy.cc:299 -msgid "No priority (or zero) specified for pin" +#: methods/ftp.cc:722 +msgid "getaddrinfo was unable to get a listening socket" msgstr "" -#: apt-pkg/pkgcachegen.cc:74 -msgid "Cache has an incompatible versioning system" +#: methods/ftp.cc:736 +msgid "Could not bind a socket" msgstr "" -#: apt-pkg/pkgcachegen.cc:117 -#, c-format -msgid "Error occurred while processing %s (NewPackage)" +#: methods/ftp.cc:740 +msgid "Could not listen on the socket" msgstr "" -#: apt-pkg/pkgcachegen.cc:129 -#, c-format -msgid "Error occurred while processing %s (UsePackage1)" +#: methods/ftp.cc:747 +msgid "Could not determine the socket's name" msgstr "" -#: apt-pkg/pkgcachegen.cc:150 -#, c-format -msgid "Error occurred while processing %s (UsePackage2)" +#: methods/ftp.cc:779 +msgid "Unable to send PORT command" msgstr "" -#: apt-pkg/pkgcachegen.cc:154 +#: methods/ftp.cc:789 #, c-format -msgid "Error occurred while processing %s (NewFileVer1)" +msgid "Unknown address family %u (AF_*)" msgstr "" -#: apt-pkg/pkgcachegen.cc:184 +#: methods/ftp.cc:798 #, c-format -msgid "Error occurred while processing %s (NewVersion1)" +msgid "EPRT failed, server said: %s" msgstr "" -#: apt-pkg/pkgcachegen.cc:188 -#, c-format -msgid "Error occurred while processing %s (UsePackage3)" +#: methods/ftp.cc:818 +msgid "Data socket connect timed out" msgstr "" -#: apt-pkg/pkgcachegen.cc:192 -#, c-format -msgid "Error occurred while processing %s (NewVersion2)" +#: methods/ftp.cc:825 +msgid "Unable to accept connection" msgstr "" -#: apt-pkg/pkgcachegen.cc:207 -msgid "Wow, you exceeded the number of package names this APT is capable of." +#: methods/ftp.cc:864 methods/http.cc:957 methods/rsh.cc:303 +msgid "Problem hashing file" msgstr "" -#: apt-pkg/pkgcachegen.cc:210 -msgid "Wow, you exceeded the number of versions this APT is capable of." +#: methods/ftp.cc:877 +#, c-format +msgid "Unable to fetch file, server said '%s'" msgstr "" -#: apt-pkg/pkgcachegen.cc:213 -msgid "Wow, you exceeded the number of dependencies this APT is capable of." +#: methods/ftp.cc:892 methods/rsh.cc:322 +msgid "Data socket timed out" msgstr "" -#: apt-pkg/pkgcachegen.cc:241 +#: methods/ftp.cc:922 #, c-format -msgid "Error occurred while processing %s (FindPkg)" +msgid "Data transfer failed, server said '%s'" msgstr "" -#: apt-pkg/pkgcachegen.cc:254 -#, c-format -msgid "Error occurred while processing %s (CollectFileProvides)" +#. Get the files information +#: methods/ftp.cc:997 +msgid "Query" msgstr "" -#: apt-pkg/pkgcachegen.cc:260 -#, c-format -msgid "Package %s %s was not found while processing file dependencies" +#: methods/ftp.cc:1106 +msgid "Unable to invoke " msgstr "" -#: apt-pkg/pkgcachegen.cc:574 +#: methods/connect.cc:64 #, c-format -msgid "Couldn't stat source package list %s" -msgstr "" - -#: apt-pkg/pkgcachegen.cc:658 -msgid "Collecting File Provides" +msgid "Connecting to %s (%s)" msgstr "" -#: apt-pkg/pkgcachegen.cc:785 apt-pkg/pkgcachegen.cc:792 -msgid "IO Error saving source cache" +#: methods/connect.cc:71 +#, c-format +msgid "[IP: %s %s]" msgstr "" -#: apt-pkg/acquire-item.cc:126 +#: methods/connect.cc:80 #, c-format -msgid "rename failed, %s (%s -> %s)." +msgid "Could not create a socket for %s (f=%u t=%u p=%u)" msgstr "" -#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:945 -msgid "MD5Sum mismatch" +#: methods/connect.cc:86 +#, c-format +msgid "Cannot initiate the connection to %s:%s (%s)." msgstr "" -#: apt-pkg/acquire-item.cc:640 -msgid "There is no public key available for the following key IDs:\n" +#: methods/connect.cc:92 +#, c-format +msgid "Could not connect to %s:%s (%s), connection timed out" msgstr "" -#: apt-pkg/acquire-item.cc:753 +#: methods/connect.cc:104 #, 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)" +msgid "Could not connect to %s:%s (%s)." msgstr "" -#: apt-pkg/acquire-item.cc:812 +#. We say this mainly because the pause here is for the +#. ssh connection that is still going +#: methods/connect.cc:132 methods/rsh.cc:425 #, 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 "Connecting to %s" msgstr "" -#: apt-pkg/acquire-item.cc:848 +#: methods/connect.cc:163 #, c-format -msgid "" -"The package index files are corrupted. No Filename: field for package %s." +msgid "Could not resolve '%s'" msgstr "" -#: apt-pkg/acquire-item.cc:935 -msgid "Size mismatch" +#: methods/connect.cc:167 +#, c-format +msgid "Temporary failure resolving '%s'" msgstr "" -#: apt-pkg/vendorlist.cc:66 +#: methods/connect.cc:169 #, c-format -msgid "Vendor block %s contains no fingerprint" +msgid "Something wicked happened resolving '%s:%s' (%i)" msgstr "" -#: apt-pkg/cdrom.cc:507 +#: methods/connect.cc:216 #, c-format -msgid "" -"Using CD-ROM mount point %s\n" -"Mounting CD-ROM\n" +msgid "Unable to connect to %s %s:" msgstr "" -#: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598 -msgid "Identifying.. " +#: methods/gpgv.cc:92 +msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." msgstr "" -#: apt-pkg/cdrom.cc:541 -#, c-format -msgid "Stored label: %s \n" +#: methods/gpgv.cc:191 +msgid "" +"Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: apt-pkg/cdrom.cc:561 -#, c-format -msgid "Using CD-ROM mount point %s\n" +#: methods/gpgv.cc:196 +msgid "At least one invalid signature was encountered." msgstr "" -#: apt-pkg/cdrom.cc:579 -msgid "Unmounting CD-ROM\n" +#. FIXME String concatenation considered harmful. +#: methods/gpgv.cc:201 +msgid "Could not execute " msgstr "" -#: apt-pkg/cdrom.cc:583 -msgid "Waiting for disc...\n" +#: methods/gpgv.cc:202 +msgid " to verify signature (is gnupg installed?)" msgstr "" -#. Mount the new CDROM -#: apt-pkg/cdrom.cc:591 -msgid "Mounting CD-ROM...\n" +#: methods/gpgv.cc:206 +msgid "Unknown error executing gpgv" msgstr "" -#: apt-pkg/cdrom.cc:609 -msgid "Scanning disc for index files..\n" +#: methods/gpgv.cc:237 +msgid "The following signatures were invalid:\n" msgstr "" -#: apt-pkg/cdrom.cc:647 -#, c-format -msgid "Found %i package indexes, %i source indexes and %i signatures\n" +#: methods/gpgv.cc:244 +msgid "" +"The following signatures couldn't be verified because the public key is not " +"available:\n" msgstr "" -#: apt-pkg/cdrom.cc:710 -msgid "That is not a valid name, try again.\n" +#: methods/gzip.cc:57 +#, c-format +msgid "Couldn't open pipe for %s" msgstr "" -#: apt-pkg/cdrom.cc:726 +#: methods/gzip.cc:102 #, c-format -msgid "" -"This disc is called: \n" -"'%s'\n" +msgid "Read error from %s process" msgstr "" -#: apt-pkg/cdrom.cc:730 -msgid "Copying package lists..." +#: methods/http.cc:381 +msgid "Waiting for headers" msgstr "" -#: apt-pkg/cdrom.cc:754 -msgid "Writing new source list\n" +#: methods/http.cc:527 +#, c-format +msgid "Got a single header line over %u chars" msgstr "" -#: apt-pkg/cdrom.cc:763 -msgid "Source list entries for this disc are:\n" +#: methods/http.cc:535 +msgid "Bad header line" msgstr "" -#: apt-pkg/cdrom.cc:803 -msgid "Unmounting CD-ROM..." +#: methods/http.cc:554 methods/http.cc:561 +msgid "The HTTP server sent an invalid reply header" msgstr "" -#: apt-pkg/indexcopy.cc:261 -#, c-format -msgid "Wrote %i records.\n" +#: methods/http.cc:590 +msgid "The HTTP server sent an invalid Content-Length header" msgstr "" -#: apt-pkg/indexcopy.cc:263 -#, c-format -msgid "Wrote %i records with %i missing files.\n" +#: methods/http.cc:605 +msgid "The HTTP server sent an invalid Content-Range header" msgstr "" -#: apt-pkg/indexcopy.cc:266 -#, c-format -msgid "Wrote %i records with %i mismatched files\n" +#: methods/http.cc:607 +msgid "This HTTP server has broken range support" msgstr "" -#: apt-pkg/indexcopy.cc:269 -#, c-format -msgid "Wrote %i records with %i missing files and %i mismatched files\n" +#: methods/http.cc:631 +msgid "Unknown date format" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:358 -#, c-format -msgid "Preparing %s" +#: methods/http.cc:778 +msgid "Select failed" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:359 -#, c-format -msgid "Unpacking %s" +#: methods/http.cc:783 +msgid "Connection timed out" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:364 -#, c-format -msgid "Preparing to configure %s" +#: methods/http.cc:806 +msgid "Error writing to output file" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:365 -#, c-format -msgid "Configuring %s" +#: methods/http.cc:834 +msgid "Error writing to file" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:366 -#, c-format -msgid "Installed %s" +#: methods/http.cc:859 +msgid "Error writing to the file" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:371 -#, c-format -msgid "Preparing for removal of %s" +#: methods/http.cc:873 +msgid "Error reading from server. Remote end closed connection" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:372 -#, c-format -msgid "Removing %s" +#: methods/http.cc:875 +msgid "Error reading from server" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:373 -#, c-format -msgid "Removed %s" +#: methods/http.cc:1106 +msgid "Bad header data" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:378 -#, c-format -msgid "Preparing to completely remove %s" +#: methods/http.cc:1123 +msgid "Connection failed" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:379 -#, c-format -msgid "Completely removed %s" +#: methods/http.cc:1214 +msgid "Internal error" msgstr "" #: methods/rsh.cc:330