From 1d52ce01e449db043e0c8343e838cb686ed6250e Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 5 Oct 2006 13:41:09 +0200 Subject: * merged i18n fixes from apt--mvo --- apt-pkg/deb/dpkgpm.cc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 93dff390d..f66962387 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -355,28 +355,28 @@ bool pkgDPkgPM::Go(int OutStatusFd) static const struct DpkgState DpkgStatesOpMap[][5] = { // Install operation { - {"half-installed", _("Preparing %s")}, - {"unpacked", _("Unpacking %s") }, + {"half-installed", N_("Preparing %s")}, + {"unpacked", N_("Unpacking %s") }, {NULL, NULL} }, // Configure operation { - {"unpacked",_("Preparing to configure %s") }, - {"half-configured", _("Configuring %s") }, - { "installed", _("Installed %s")}, + {"unpacked",N_("Preparing to configure %s") }, + {"half-configured", N_("Configuring %s") }, + { "installed", N_("Installed %s")}, {NULL, NULL} }, // Remove operation { - {"half-configured", _("Preparing for removal of %s")}, - {"half-installed", _("Removing %s")}, - {"config-files", _("Removed %s")}, + {"half-configured", N_("Preparing for removal of %s")}, + {"half-installed", N_("Removing %s")}, + {"config-files", N_("Removed %s")}, {NULL, NULL} }, // Purge operation { - {"config-files", _("Preparing to completely remove %s")}, - {"not-installed", _("Completely removed %s")}, + {"config-files", N_("Preparing to completely remove %s")}, + {"not-installed", N_("Completely removed %s")}, {NULL, NULL} }, }; @@ -672,7 +672,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) { // only read the translation if there is actually a next // action - const char *translation = states[PackageOpsDone[pkg]].str; + const char *translation = _(states[PackageOpsDone[pkg]].str); char s[200]; snprintf(s, sizeof(s), translation, pkg); -- cgit v1.2.3-70-g09d2 From 5e457a9336967e4851e094a84f9f94f4141ee393 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 5 Jun 2007 16:14:08 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - apport integration added, this means that a apport report is written on dpkg failures --- apt-pkg/deb/dpkgpm.cc | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++- apt-pkg/deb/dpkgpm.h | 4 +++ debian/changelog | 3 ++ 3 files changed, 103 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index cebdafe7d..5c069458e 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -37,7 +38,8 @@ using namespace std; // DPkgPM::pkgDPkgPM - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ -pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) : pkgPackageManager(Cache) +pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) + : pkgPackageManager(Cache), pkgFailures(0) { } /*}}}*/ @@ -654,6 +656,8 @@ bool pkgDPkgPM::Go(int OutStatusFd) line[0]=0; if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true) std::clog << "send: '" << status.str() << "'" << endl; + pkgFailures++; + WriteApportReport(list[1], list[3]); continue; } if(strncmp(action,"conffile",strlen("conffile")) == 0) @@ -746,3 +750,94 @@ void pkgDPkgPM::Reset() List.erase(List.begin(),List.end()); } /*}}}*/ +// pkgDpkgPM::WriteApportReport - write out error report pkg failure /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) +{ + string pkgname, reportfile, srcpkgname, pkgver, arch; + string::size_type pos; + FILE *report; + + if (_config->FindB("Dpkg::ApportFailureReport",true) == false) + return; + + // only report the first error if we are in StopOnError=false mode + // to prevent bogus reports + if((_config->FindB("Dpkg::StopOnError",true) == false) && pkgFailures > 1) + return; + + // get the pkgname and reportfile + pkgname = flNotDir(pkgpath); + pos = pkgname.rfind('_'); + if(pos != string::npos) + pkgname = string(pkgname, 0, pos); + + // find the package versin and source package name + pkgCache::PkgIterator Pkg = Cache.FindPkg(pkgname); + if (Pkg.end() == true) + return; + pkgCache::VerIterator Ver = Cache.GetCandidateVer(Pkg); + pkgver = Ver.VerStr(); + if (Ver.end() == true) + return; + pkgRecords Recs(Cache); + pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList()); + srcpkgname = Parse.SourcePkg(); + if(srcpkgname.empty()) + srcpkgname = pkgname; + + // if the file exists already, we check: + // - if it was reported already (touched by apport). + // If not, we do nothing, otherwise + // we overwrite it. This is the same behaviour as apport + // - if we have a report with the same pkgversion already + // then we skip it + reportfile = flCombine("/var/crash",pkgname+".0.crash"); + if(FileExists(reportfile)) + { + struct stat buf; + char strbuf[255]; + + // check atime/mtime + stat(reportfile.c_str(), &buf); + if(buf.st_mtime > buf.st_atime) + return; + + // check if the existing report is the same version + report = fopen(reportfile.c_str(),"r"); + while(fgets(strbuf, sizeof(strbuf), report) != NULL) + { + if(strstr(strbuf,"Package:") == strbuf) + { + char pkgname[255], version[255]; + if(sscanf(strbuf, "Package: %s %s", pkgname, version) == 2) + if(strcmp(pkgver.c_str(), version) == 0) + { + fclose(report); + return; + } + } + } + fclose(report); + } + + // now write the report + arch = _config->Find("APT::Architecture"); + report = fopen(reportfile.c_str(),"w"); + if(report == NULL) + return; + if(_config->FindB("DPkgPM::InitialReportOnly",false) == true) + chmod(reportfile.c_str(), 0); + else + chmod(reportfile.c_str(), 0600); + fprintf(report, "ProblemType: Package\n"); + fprintf(report, "Architecture: %s\n", arch.c_str()); + time_t now = time(NULL); + fprintf(report, "Date: %s" , ctime(&now)); + fprintf(report, "Package: %s %s\n", pkgname.c_str(), pkgver.c_str()); + fprintf(report, "SourcePackage: %s\n", srcpkgname.c_str()); + fprintf(report, "ErrorMessage:\n %s\n", errormsg); + fclose(report); +} + /*}}}*/ diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index 0b181dc43..1a1fdc191 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -23,6 +23,7 @@ using std::vector; class pkgDPkgPM : public pkgPackageManager { protected: + int pkgFailures; // used for progress reporting struct DpkgState @@ -48,6 +49,9 @@ class pkgDPkgPM : public pkgPackageManager bool RunScriptsWithPkgs(const char *Cnf); bool SendV2Pkgs(FILE *F); + // apport integration + void WriteApportReport(const char *pkgpath, const char *errormsg); + // The Actuall installation implementation virtual bool Install(PkgIterator Pkg,string File); virtual bool Configure(PkgIterator Pkg); diff --git a/debian/changelog b/debian/changelog index e0a735e2f..32f2ac68a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,6 +25,9 @@ apt (0.6.46.4ubuntu11) UNRELEASED; urgency=low * *.po: Unfuzzy after upstream typo corrections * apt-pkg/policy.cc: - allow multiple packages (thanks to David Foerster) + * apt-pkg/deb/dpkgpm.cc: + - apport integration added, this means that a apport + report is written on dpkg failures -- Michael Vogt Tue, 17 Apr 2007 15:53:37 +0200 -- cgit v1.2.3-70-g09d2 From b3aac1bb35d4f8e11ffc45462f450632de9a571f Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 3 Aug 2007 15:01:18 +0200 Subject: * debian/changelog: updated credits * apt-pkg/deb/dpkgpm.cc: merged from dpkg-log branch --- apt-pkg/deb/dpkgpm.cc | 6 ++++-- debian/changelog | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index befd9124c..08c95b7a4 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -846,12 +846,14 @@ bool pkgDPkgPM::Go(int OutStatusFd) if(stopOnError) { - fclose(term_out); + if(term_out) + fclose(term_out); return false; } } } - fclose(term_out); + if(term_out) + fclose(term_out); if (RunScripts("DPkg::Post-Invoke") == false) return false; diff --git a/debian/changelog b/debian/changelog index 02b637553..a2dafbaea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,10 +9,11 @@ apt (0.7.6ubuntu1) gutsy; urgency=low - only send LastModified if we actually have one - send range request with if-range - delete failed downloads + (thanks to Thom May for his help here) * apt-pkg/deb/dpkgpm.{cc,h}: - merged dpkg-log branch, this lets you specify a Dir::Log::Terminal file to log dpkg output to - (ABI break) + (ABI break) * merged apt--sha256 branch to fully support the new sha256 checksums in the Packages and Release files (ABI break) -- cgit v1.2.3-70-g09d2 From 8ecd1fedeace0e22f96259e250094006c673d065 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 3 Aug 2007 18:43:46 +0200 Subject: - when writting apport reports, attach the dpkg terminal log too --- apt-pkg/deb/dpkgpm.cc | 29 +++++++++++++++++++++++++---- apt-pkg/deb/dpkgpm.h | 5 +++-- debian/changelog | 2 ++ 3 files changed, 30 insertions(+), 6 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 08c95b7a4..6cb444ef1 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -44,7 +44,8 @@ using namespace std; // --------------------------------------------------------------------- /* */ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) - : pkgPackageManager(Cache), dpkgbuf_pos(0), PackagesTotal(0), PackagesDone(0) + : pkgPackageManager(Cache), dpkgbuf_pos(0), PackagesTotal(0), + PackagesDone(0), term_out(NULL) { } /*}}}*/ @@ -351,7 +352,7 @@ void pkgDPkgPM::DoStdin(int master) /* * read the terminal pty and write log */ -void pkgDPkgPM::DoTerminalPty(int master, FILE *term_out) +void pkgDPkgPM::DoTerminalPty(int master) { char term_buf[1024] = {0,}; @@ -569,7 +570,6 @@ bool pkgDPkgPM::Go(int OutStatusFd) return _error->Error(_("Directory '%s' missing"), logdir.c_str()); string logfile_name = flCombine(logdir, _config->Find("Dir::Log::Terminal")); - FILE *term_out = NULL; if (!logfile_name.empty()) { term_out = fopen(logfile_name.c_str(),"a"); @@ -812,7 +812,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) continue; if(FD_ISSET(master, &rfds)) - DoTerminalPty(master, term_out); + DoTerminalPty(master); if(FD_ISSET(0, &rfds)) DoStdin(master); if(FD_ISSET(_dpkgin, &rfds)) @@ -956,6 +956,27 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) fprintf(report, "Package: %s %s\n", pkgname.c_str(), pkgver.c_str()); fprintf(report, "SourcePackage: %s\n", srcpkgname.c_str()); fprintf(report, "ErrorMessage:\n %s\n", errormsg); + + // ensure that the log is flushed + if(term_out) + fflush(term_out); + + // attach terminal log it if we have it + string logfile_name = _config->FindFile("Dir::Log::Terminal"); + if (!logfile_name.empty()) + { + FILE *log = NULL; + char buf[1024]; + + fprintf(report, "DpkgTerminalLog:\n"); + log = fopen(logfile_name.c_str(),"r"); + if(log != NULL) + { + while( fgets(buf, sizeof(buf), log) != NULL) + fprintf(report, " %s", buf); + fclose(log); + } + } fclose(report); } /*}}}*/ diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index f8e9e44a8..222add98f 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -26,7 +26,8 @@ class pkgDPkgPM : public pkgPackageManager // the buffer we use for the dpkg status-fd reading char dpkgbuf[1024]; int dpkgbuf_pos; - + FILE *term_out; + protected: int pkgFailures; @@ -71,7 +72,7 @@ class pkgDPkgPM : public pkgPackageManager // input processing void DoStdin(int master); - void DoTerminalPty(int master, FILE *out); + void DoTerminalPty(int master); void DoDpkgStatusFd(int statusfd, int OutStatusFd); void ProcessDpkgStatusLine(int OutStatusFd, char *line); diff --git a/debian/changelog b/debian/changelog index a2dafbaea..1e9511875 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,8 @@ apt (0.7.6ubuntu1) gutsy; urgency=low - merged dpkg-log branch, this lets you specify a Dir::Log::Terminal file to log dpkg output to (ABI break) + - when writting apport reports, attach the dpkg + terminal log too * merged apt--sha256 branch to fully support the new sha256 checksums in the Packages and Release files (ABI break) -- cgit v1.2.3-70-g09d2 From 25ffa4e814c5e8cceae339476787291d3ee584cf Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 6 Aug 2007 16:48:55 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - fix packagename extraction when writting apport reports --- apt-pkg/deb/dpkgpm.cc | 4 ++-- debian/changelog | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index a65f6eb0a..dad8da9ed 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -895,9 +895,9 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) // get the pkgname and reportfile pkgname = flNotDir(pkgpath); - pos = pkgname.rfind('_'); + pos = pkgname.find('_'); if(pos != string::npos) - pkgname = string(pkgname, 0, pos); + pkgname = pkgname.substr(0, pos); // find the package versin and source package name pkgCache::PkgIterator Pkg = Cache.FindPkg(pkgname); diff --git a/debian/changelog b/debian/changelog index fbee91ee2..8dbe214ea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.7.6ubuntu3) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix packagename extraction when writting apport reports + + -- + apt (0.7.6ubuntu2) gutsy; urgency=low * doc/examples/sources.list: -- cgit v1.2.3-70-g09d2 From fb7bf91ccc01c6fa16ea2eb2b714d5a1b808c1ea Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 16 Aug 2007 01:10:35 +0100 Subject: dpkg-triggers: deal properly with new package states; 0.7.6ubuntu6 --- apt-pkg/algorithms.cc | 2 ++ apt-pkg/deb/deblistparser.cc | 2 ++ apt-pkg/deb/dpkgpm.cc | 7 ++++++- apt-pkg/pkgcache.cc | 6 ++++-- apt-pkg/pkgcache.h | 3 ++- debian/changelog | 6 ++++++ doc/cache.sgml | 2 ++ 7 files changed, 24 insertions(+), 4 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index b21fcbb2f..62727a852 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -257,6 +257,8 @@ bool pkgApplyStatus(pkgDepCache &Cache) re-unpacked (probably) */ case pkgCache::State::UnPacked: case pkgCache::State::HalfConfigured: + case pkgCache::State::TriggersAwaited: + case pkgCache::State::TriggersPending: if ((I->CurrentVer != 0 && I.CurrentVer().Downloadable() == true) || I.State() != pkgCache::PkgIterator::NeedsUnpack) Cache.MarkKeep(I, false, false); diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index 074abea6d..896d4d6d8 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -293,6 +293,8 @@ bool debListParser::ParseStatus(pkgCache::PkgIterator Pkg, {"installed",pkgCache::State::Installed}, {"half-installed",pkgCache::State::HalfInstalled}, {"config-files",pkgCache::State::ConfigFiles}, + {"triggers-awaited",pkgCache::State::TriggersAwaited}, + {"triggers-pending",pkgCache::State::TriggersPending}, {"post-inst-failed",pkgCache::State::HalfConfigured}, {"removal-failed",pkgCache::State::HalfInstalled}, {}}; diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index dad8da9ed..c386e4b24 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -521,7 +521,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) // map the dpkg states to the operations that are performed // (this is sorted in the same way as Item::Ops) - static const struct DpkgState DpkgStatesOpMap[][5] = { + static const struct DpkgState DpkgStatesOpMap[][7] = { // Install operation { {"half-installed", N_("Preparing %s")}, @@ -532,12 +532,17 @@ bool pkgDPkgPM::Go(int OutStatusFd) { {"unpacked",N_("Preparing to configure %s") }, {"half-configured", N_("Configuring %s") }, + {"triggers-awaited", N_("Processing triggers for %s") }, + {"triggers-pending", N_("Processing triggers for %s") }, + {"half-configured", N_("Configuring %s") }, { "installed", N_("Installed %s")}, {NULL, NULL} }, // Remove operation { {"half-configured", N_("Preparing for removal of %s")}, + {"triggers-awaited", N_("Preparing for removal of %s")}, + {"triggers-pending", N_("Preparing for removal of %s")}, {"half-installed", N_("Removing %s")}, {"config-files", N_("Removed %s")}, {NULL, NULL} diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index 7e3b9d78c..133899a27 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -49,7 +49,7 @@ pkgCache::Header::Header() /* Whenever the structures change the major version should be bumped, whenever the generator changes the minor version should be bumped. */ - MajorVersion = 6; + MajorVersion = 7; MinorVersion = 0; Dirty = false; @@ -274,7 +274,9 @@ pkgCache::PkgIterator::OkState pkgCache::PkgIterator::State() const return NeedsUnpack; if (Pkg->CurrentState == pkgCache::State::UnPacked || - Pkg->CurrentState == pkgCache::State::HalfConfigured) + Pkg->CurrentState == pkgCache::State::HalfConfigured || + Pkg->CurrentState == pkgCache::State::TriggersPending || + Pkg->CurrentState == pkgCache::State::TriggersAwaited) return NeedsConfigure; if (Pkg->CurrentState == pkgCache::State::HalfInstalled || diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index 83b7548a3..59d5003bb 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -81,7 +81,8 @@ class pkgCache enum PkgSelectedState {Unknown=0,Install=1,Hold=2,DeInstall=3,Purge=4}; enum PkgInstState {Ok=0,ReInstReq=1,HoldInst=2,HoldReInstReq=3}; enum PkgCurrentState {NotInstalled=0,UnPacked=1,HalfConfigured=2, - HalfInstalled=4,ConfigFiles=5,Installed=6}; + HalfInstalled=4,ConfigFiles=5,Installed=6, + TriggersAwaited=7,TriggersPending=8}; }; struct Flag diff --git a/debian/changelog b/debian/changelog index 7b71c3608..e526bc756 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +apt (0.7.6ubuntu6) gutsy; urgency=low + + * dpkg-triggers: Deal properly with new package states. + + -- Ian Jackson Wed, 15 Aug 2007 20:44:37 +0100 + apt (0.7.6ubuntu5) UNRELEASED; urgency=low * apt-pkg/acquire-item.cc: diff --git a/doc/cache.sgml b/doc/cache.sgml index e257dcd81..aea5a45c3 100644 --- a/doc/cache.sgml +++ b/doc/cache.sgml @@ -721,6 +721,8 @@ or'd with the current package. #define pkgSTATE_HalfInstalled 4 #define pkgSTATE_ConfigFiles 5 #define pkgSTATE_Installed 6 +#define pkgSTATE_TriggersAwaited 7 +#define pkgSTATE_TriggersPending 8 -- cgit v1.2.3-70-g09d2 From 5d053270a275d1c825c793151f50bf3b680f55ec Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 5 Sep 2007 15:10:55 +0200 Subject: * apt-pkg/deb/dpkgpm.{cc,h}: - fix bug in dpkg log writing when a signal is caught during select() (LP: #134858) - write end marker in the log as well --- apt-pkg/deb/dpkgpm.cc | 78 ++++++++++++++++++++++++++++++++++----------------- apt-pkg/deb/dpkgpm.h | 4 +++ debian/changelog | 9 ++++++ 3 files changed, 65 insertions(+), 26 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index c386e4b24..90ae413f4 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -498,6 +498,46 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) } /*}}}*/ +bool pkgDPkgPM::OpenLog() +{ + string logdir = _config->FindDir("Dir::Log"); + if(not FileExists(logdir)) + return _error->Error(_("Directory '%s' missing"), logdir.c_str()); + string logfile_name = flCombine(logdir, + _config->Find("Dir::Log::Terminal")); + if (!logfile_name.empty()) + { + term_out = fopen(logfile_name.c_str(),"a"); + chmod(logfile_name.c_str(), 0600); + // output current time + char outstr[200]; + time_t t = time(NULL); + struct tm *tmp = localtime(&t); + strftime(outstr, sizeof(outstr), "%F %T", tmp); + fprintf(term_out, "\nLog started: "); + fprintf(term_out, outstr); + fprintf(term_out, "\n"); + } + return true; +} + +bool pkgDPkgPM::CloseLog() +{ + if(term_out) + { + char outstr[200]; + time_t t = time(NULL); + struct tm *tmp = localtime(&t); + strftime(outstr, sizeof(outstr), "%F %T", tmp); + fprintf(term_out, "Log ended: "); + fprintf(term_out, outstr); + fprintf(term_out, "\n"); + fclose(term_out); + } + term_out = NULL; + return true; +} + // DPkgPM::Go - Run the sequence /*{{{*/ // --------------------------------------------------------------------- @@ -571,24 +611,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) } // create log - string logdir = _config->FindDir("Dir::Log"); - if(not FileExists(logdir)) - return _error->Error(_("Directory '%s' missing"), logdir.c_str()); - string logfile_name = flCombine(logdir, - _config->Find("Dir::Log::Terminal")); - if (!logfile_name.empty()) - { - term_out = fopen(logfile_name.c_str(),"a"); - chmod(logfile_name.c_str(), 0600); - // output current time - char outstr[200]; - time_t t = time(NULL); - struct tm *tmp = localtime(&t); - strftime(outstr, sizeof(outstr), "%F %T", tmp); - fprintf(term_out, "\nLog started: "); - fprintf(term_out, outstr); - fprintf(term_out, "\n"); - } + OpenLog(); // this loop is runs once per operation for (vector::iterator I = List.begin(); I != List.end();) @@ -818,10 +841,15 @@ bool pkgDPkgPM::Go(int OutStatusFd) tv.tv_sec = 1; tv.tv_usec = 0; select_ret = select(max(master, _dpkgin)+1, &rfds, NULL, NULL, &tv); - if (select_ret < 0) - std::cerr << "Error in select()" << std::endl; - else if (select_ret == 0) - continue; + if (select_ret == 0) + continue; + else if (select_ret < 0 && errno == EINTR) + continue; + else if (select_ret < 0) + { + perror("select() returned error"); + continue; + } if(master >= 0 && FD_ISSET(master, &rfds)) DoTerminalPty(master); @@ -859,14 +887,12 @@ bool pkgDPkgPM::Go(int OutStatusFd) if(stopOnError) { - if(term_out) - fclose(term_out); + CloseLog(); return false; } } } - if(term_out) - fclose(term_out); + CloseLog(); if (RunScripts("DPkg::Post-Invoke") == false) return false; diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index debde36a3..e5f197405 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -70,6 +70,10 @@ class pkgDPkgPM : public pkgPackageManager // apport integration void WriteApportReport(const char *pkgpath, const char *errormsg); + // dpkg log + bool OpenLog(); + bool CloseLog(); + // input processing void DoStdin(int master); void DoTerminalPty(int master); diff --git a/debian/changelog b/debian/changelog index 304588fab..b0f414126 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +apt (0.7.6ubuntu8) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.{cc,h}: + - fix bug in dpkg log writing when a signal is caught during + select() (LP: #134858) + - write end marker in the log as well + + -- Michael Vogt Wed, 05 Sep 2007 15:03:46 +0200 + apt (0.7.6ubuntu7) gutsy; urgency=low * reupload to fix FTBFS -- cgit v1.2.3-70-g09d2 From a44aeb52f0476ed56feff82b1cfd2fa84e7a1223 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 10 Sep 2007 15:09:28 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - fix progress reporting precent calculation (LP: #137798) --- apt-pkg/deb/dpkgpm.cc | 5 ++++- debian/changelog | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 90ae413f4..8b4e6701a 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -572,17 +572,20 @@ bool pkgDPkgPM::Go(int OutStatusFd) { {"unpacked",N_("Preparing to configure %s") }, {"half-configured", N_("Configuring %s") }, +#if 0 {"triggers-awaited", N_("Processing triggers for %s") }, {"triggers-pending", N_("Processing triggers for %s") }, - {"half-configured", N_("Configuring %s") }, +#endif { "installed", N_("Installed %s")}, {NULL, NULL} }, // Remove operation { {"half-configured", N_("Preparing for removal of %s")}, +#if 0 {"triggers-awaited", N_("Preparing for removal of %s")}, {"triggers-pending", N_("Preparing for removal of %s")}, +#endif {"half-installed", N_("Removing %s")}, {"config-files", N_("Removed %s")}, {NULL, NULL} diff --git a/debian/changelog b/debian/changelog index b0f414126..e34dc385b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.7.6ubuntu9) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix progress reporting precent calculation (LP: #137798) + + -- Michael Vogt Mon, 10 Sep 2007 14:57:53 +0200 + apt (0.7.6ubuntu8) gutsy; urgency=low * apt-pkg/deb/dpkgpm.{cc,h}: -- cgit v1.2.3-70-g09d2 From a60beec6cffa558221d845a05db63bdfff101e5c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 3 Oct 2007 02:19:54 +0200 Subject: * apt-pkg/deb/debmetaindex.cc: comparison with string literal results in unspecified behaviour; --- apt-pkg/deb/debmetaindex.cc | 2 +- debian/changelog | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index 94995798f..c700f8d58 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -224,7 +224,7 @@ class debSLTypeDebian : public pkgSourceList::Type // This check insures that there will be only one Release file // queued for all the Packages files and Sources files it // corresponds to. - if ((*I)->GetType() == "deb") + if (strcmp((*I)->GetType(), "deb") == 0) { debReleaseIndex *Deb = (debReleaseIndex *) (*I); // This check insures that there will be only one Release file diff --git a/debian/changelog b/debian/changelog index 3f1641ee2..87b9dd024 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,15 +1,17 @@ apt (0.7.6ubuntu12) gutsy; urgency=low + [ Michael Vogt ] * cmdline/apt-mark: - Fix chmoding after have renamed the extended-states file (LP: #140019) (thanks to Laurent Bigonville, LP: #140019) + * apt-pkg/deb/debmetaindex.cc: comparison with string literal results + in unspecified behaviour; [Paul Sladen] - * Have 'cron.daily/apt' send D-Bus doesn't exist error messages to the bit bucket. Thanks to 'dasdda'. (LP: #115397) - -- + -- Michael Vogt Wed, 03 Oct 2007 02:17:45 +0200 apt (0.7.6ubuntu11) gutsy; urgency=low -- cgit v1.2.3-70-g09d2 From 986d97bb0d62d7529a6a0328c39ddbd47be879a1 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 4 Oct 2007 19:35:59 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - fix crash in WriteApportReport (LP: #144537) --- apt-pkg/deb/dpkgpm.cc | 2 +- debian/changelog | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index e1e26e903..466d3628b 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -938,9 +938,9 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) if (Pkg.end() == true) return; pkgCache::VerIterator Ver = Cache.GetCandidateVer(Pkg); - pkgver = Ver.VerStr(); if (Ver.end() == true) return; + pkgver = Ver.VerStr() == NULL ? "unknown" : Ver.VerStr(); pkgRecords Recs(Cache); pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList()); srcpkgname = Parse.SourcePkg(); diff --git a/debian/changelog b/debian/changelog index 375a6bb1e..a7cc0a5dd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.7.6ubuntu13) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix crash in WriteApportReport (LP: #144537) + + -- + apt (0.7.6ubuntu12) gutsy; urgency=low [ Michael Vogt ] -- cgit v1.2.3-70-g09d2 From c771f6d9c30f94e37050af49e887f20767822dbb Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 15 Oct 2007 21:08:06 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - fix resource leak (LP: #148806) --- apt-pkg/deb/dpkgpm.cc | 5 ++++- debian/changelog | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 466d3628b..ff0a3c443 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -867,8 +867,11 @@ bool pkgDPkgPM::Go(int OutStatusFd) signal(SIGQUIT,old_SIGQUIT); signal(SIGINT,old_SIGINT); - if(master >= 0 && slave >= 0) + if(master >= 0) + { tcsetattr(0, TCSAFLUSH, &tt); + close(master); + } // Check for an error code. if (WIFEXITED(Status) == 0 || WEXITSTATUS(Status) != 0) diff --git a/debian/changelog b/debian/changelog index 066234451..ddcc6895d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,7 @@ apt (0.7.6ubuntu14) gutsy; urgency=low + * apt-pkg/deb/dpkgpm.cc: + - fix resource leak (LP: #148806) * debian/apt.cron.daily: - only run the cron job if apt-get check succeeds (LP: #131719) -- cgit v1.2.3-70-g09d2 From 1fc825bf7be1e9842a0560261d684264c565589e Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 24 Oct 2007 15:08:08 +0200 Subject: * apt-pkg/deb/dpkgpm.{cc,h}: - give up timeslice on EIO error in read from master terminal * apt-pkg/deb/dpkgpm.{cc,h}: - rewrite dpkgpm.cc to use pselect() instead of select() to block signals during select() (LP: #134858) --- apt-pkg/deb/dpkgpm.cc | 22 ++++++++++++++++++---- configure.in | 2 +- debian/changelog | 10 +++++++++- 3 files changed, 28 insertions(+), 6 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index ff0a3c443..7a6b222f6 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -358,7 +358,15 @@ void pkgDPkgPM::DoTerminalPty(int master) char term_buf[1024] = {0,}; int len=read(master, term_buf, sizeof(term_buf)); - if(len <= 0) + if(len == -1 && errno == EIO) + { + // this happens when the child is about to exit, we + // give it time to actually exit, otherwise we run + // into a race + usleep(500000); + return; + } + if(len <= 0) return; write(1, term_buf, len); if(term_out) @@ -819,7 +827,12 @@ bool pkgDPkgPM::Go(int OutStatusFd) // setups fds fd_set rfds; - struct timeval tv; + struct timespec tv; + sigset_t sigmask; + sigset_t original_sigmask; + sigemptyset(&sigmask); + sigprocmask(SIG_BLOCK,&sigmask,&original_sigmask); + int select_ret; while ((res=waitpid(Child,&Status, WNOHANG)) != Child) { if(res < 0) { @@ -842,8 +855,9 @@ bool pkgDPkgPM::Go(int OutStatusFd) if(master >= 0) FD_SET(master, &rfds); tv.tv_sec = 1; - tv.tv_usec = 0; - select_ret = select(max(master, _dpkgin)+1, &rfds, NULL, NULL, &tv); + tv.tv_nsec = 0; + select_ret = pselect(max(master, _dpkgin)+1, &rfds, NULL, NULL, + &tv, &original_sigmask); if (select_ret == 0) continue; else if (select_ret < 0 && errno == EINTR) diff --git a/configure.in b/configure.in index 8683773c8..e6757c7a6 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.7.6ubuntu14") +AC_DEFINE_UNQUOTED(VERSION,"0.7.6ubuntu14.1") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) diff --git a/debian/changelog b/debian/changelog index 1bf5b95af..572c93ee0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,17 @@ apt (0.7.6ubuntu14.1) gutsy-proposed; urgency=low + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.{cc,h}: + - give up timeslice on EIO error in read from master terminal * debian/apt.cron.daily: - only run the cron job if apt-get check succeeds (LP: #131719) + + [ Martin Emrich ] + * apt-pkg/deb/dpkgpm.{cc,h}: + - rewrite dpkgpm.cc to use pselect() instead of select() + to block signals during select() (LP: #134858) - -- Michael Vogt Mo, 15 Oct 2007 22:56:22 +0200 + -- Michael Vogt Sat, 20 Oct 2007 07:51:12 +0200 apt (0.7.6ubuntu14) gutsy; urgency=low -- cgit v1.2.3-70-g09d2 From 5273f1bf4da222c54e7abe9f3c6482496f8e09fd Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 1 Feb 2008 15:46:07 +0100 Subject: * apt-pkg/deb/dpkgpm.cc: - add APT::Apport::MaxReports to limit the maximum number of reports generated in a single run (default to 3) --- apt-pkg/deb/dpkgpm.cc | 5 ++--- debian/changelog | 8 ++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 8123a7aba..5ed6482fa 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -906,9 +906,8 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) if (_config->FindB("Dpkg::ApportFailureReport",true) == false) return; - // only report the first error if we are in StopOnError=false mode - // to prevent bogus reports - if((_config->FindB("Dpkg::StopOnError",true) == false) && pkgFailures > 1) + // only report the first error + if(pkgFailures > _config->FindI("APT::Apport::MaxReports", 3)) return; // get the pkgname and reportfile diff --git a/debian/changelog b/debian/changelog index 5bd5222cc..12b3b5ddc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +apt (0.7.9ubuntu6) hardy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - add APT::Apport::MaxReports to limit the maximum number + of reports generated in a single run (default to 3) + + -- + apt (0.7.9ubuntu5) hardy; urgency=low * Merged apt-authentication-reliabilty branch. This means -- cgit v1.2.3-70-g09d2 From ff38d63b19c0be1fb4be9a692fed2702d935d5e5 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 5 Aug 2008 10:09:42 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - fix uninitialized variable that caused no apport reports to be written sometimes (thanks to Matt Zimmerman) --- apt-pkg/deb/dpkgpm.cc | 8 +++++++- debian/changelog | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 74f672dd9..ede1673bc 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -47,7 +47,7 @@ using namespace std; /* */ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) : pkgPackageManager(Cache), dpkgbuf_pos(0), - term_out(NULL), PackagesDone(0), PackagesTotal(0) + term_out(NULL), PackagesDone(0), PackagesTotal(0), pkgFailures(0) { } /*}}}*/ @@ -946,11 +946,17 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) FILE *report; if (_config->FindB("Dpkg::ApportFailureReport",true) == false) + { + std::clog << "configured to not write apport reports" << std::endl; return; + } // only report the first error if(pkgFailures > _config->FindI("APT::Apport::MaxReports", 3)) + { + std::clog << _("No apport report written because MaxReports is reached already") << std::endl; return; + } // get the pkgname and reportfile pkgname = flNotDir(pkgpath); diff --git a/debian/changelog b/debian/changelog index e21260ffb..fb5fc9f77 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +apt (0.7.14ubuntu4) intrepid; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix uninitialized variable that caused no apport reports + to be written sometimes (thanks to Matt Zimmerman) + + -- + apt (0.7.14ubuntu3) intrepid; urgency=low [ Otavio Salvador ] -- cgit v1.2.3-70-g09d2 From d6a4afcb1b937e07aaf186346f064833f65acfbd Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 11 Aug 2008 18:21:37 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - improve the filtering for duplicated apport reports (thanks to seb128 for pointing that problem out) --- apt-pkg/deb/dpkgpm.cc | 17 ++++++++++++++++- debian/changelog | 3 +++ 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index e1b3c6bc0..08291854f 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -387,6 +387,14 @@ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line) if(strncmp(action,"error",strlen("error")) == 0) { + // urgs, sometime has ":" in its error string so that we + // end up with the error message split between list[3] + // and list[4], e.g. the message: + // failed in buffer_write(fd) (10, ret=-1): backend dpkg-deb ... + // concat them again + if( list[4] != NULL) + list[4][-1] = ':'; + status << "pmerror:" << list[1] << ":" << (PackagesDone/float(PackagesTotal)*100.0) << ":" << list[3] @@ -954,13 +962,20 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) return; } - // only report the first error + // only report the first errors if(pkgFailures > _config->FindI("APT::Apport::MaxReports", 3)) { std::clog << _("No apport report written because MaxReports is reached already") << std::endl; return; } + // check if its not a follow up error + const char *needle = dgettext("dpkg", "dependency problems - leaving unconfigured"); + if(strstr(errormsg, needle) != NULL) { + std::clog << _("No apport report written because the error message indicates its a followup error from a previous failure.") << std::endl; + return; + } + // get the pkgname and reportfile pkgname = flNotDir(pkgpath); pos = pkgname.find('_'); diff --git a/debian/changelog b/debian/changelog index 5df4cc26b..e7a3ea9ad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,9 @@ apt (0.7.14ubuntu6) UNRELEASED; urgency=low - support having CDs with no Packages file (just a Packages.gz) by not forcing a verification on non-existing files (LP: #255545) + * apt-pkg/deb/dpkgpm.cc: + - improve the filtering for duplicated apport reports (thanks + to seb128 for pointing that problem out) -- Michael Vogt Thu, 07 Aug 2008 16:28:05 +0200 -- cgit v1.2.3-70-g09d2 From 5279f566ec5bba9f5003440ecc575dc4d32b756b Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 11 Aug 2008 19:40:57 +0200 Subject: support a ":" in the dpkg error output --- apt-pkg/deb/dpkgpm.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 08291854f..8c353a9d9 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -341,7 +341,7 @@ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line) 'processing: trigproc: trigger' */ - char* list[5]; + char* list[6]; // dpkg sends multiline error messages sometimes (see // #374195 for a example. we should support this by // either patching dpkg to not send multiline over the @@ -390,10 +390,10 @@ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line) // urgs, sometime has ":" in its error string so that we // end up with the error message split between list[3] // and list[4], e.g. the message: - // failed in buffer_write(fd) (10, ret=-1): backend dpkg-deb ... + // "failed in buffer_write(fd) (10, ret=-1): backend dpkg-deb ..." // concat them again - if( list[4] != NULL) - list[4][-1] = ':'; + if( list[4] != NULL ) + list[3][strlen(list[3])] = ':'; status << "pmerror:" << list[1] << ":" << (PackagesDone/float(PackagesTotal)*100.0) -- cgit v1.2.3-70-g09d2 From 2f0d5deabcd1d75400d302bdbb330184d4fe97ba Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 11 Aug 2008 19:44:23 +0200 Subject: do not report disk full errors from dpkg via apport --- apt-pkg/deb/dpkgpm.cc | 7 +++++++ debian/changelog | 1 + 2 files changed, 8 insertions(+) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 8c353a9d9..2e9dedefa 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -976,6 +977,12 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) return; } + // do not report disk-full failures + if(strstr(errormsg, strerror(ENOSPC)) != NULL) { + std::clog << _("No apport report written because the error message indicates a disk full error") << std::endl; + return; + } + // get the pkgname and reportfile pkgname = flNotDir(pkgpath); pos = pkgname.find('_'); diff --git a/debian/changelog b/debian/changelog index e7a3ea9ad..7c5ef5b0e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,7 @@ apt (0.7.14ubuntu6) UNRELEASED; urgency=low * apt-pkg/deb/dpkgpm.cc: - improve the filtering for duplicated apport reports (thanks to seb128 for pointing that problem out) + - do not report disk full errors from dpkg via apport -- Michael Vogt Thu, 07 Aug 2008 16:28:05 +0200 -- cgit v1.2.3-70-g09d2 From 07dd557b6fd80ce2df235f1697189b6a8f190ff4 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 24 Nov 2008 10:44:46 +0100 Subject: * apt-pkg/deb/dpkgpm.cc: - fix potential hang when in a backgroud process group --- apt-pkg/deb/dpkgpm.cc | 16 ++++++++++++---- configure.in | 2 +- debian/changelog | 7 ++++--- 3 files changed, 17 insertions(+), 8 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 2e9dedefa..a88e23081 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -563,6 +563,11 @@ static int racy_pselect(int nfds, fd_set *readfds, fd_set *writefds, */ bool pkgDPkgPM::Go(int OutStatusFd) { + fd_set rfds; + struct timespec tv; + sigset_t sigmask; + sigset_t original_sigmask; + unsigned int MaxArgs = _config->FindI("Dpkg::MaxArgs",8*1024); unsigned int MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes",32*1024); bool NoTriggers = _config->FindB("DPkg::NoTriggers",false); @@ -777,7 +782,14 @@ bool pkgDPkgPM::Go(int OutStatusFd) rtt = tt; cfmakeraw(&rtt); rtt.c_lflag &= ~ECHO; + // block SIGTTOU during tcsetattr to prevent a hang if + // the process is a member of the background process group + // http://www.opengroup.org/onlinepubs/000095399/functions/tcsetattr.html + sigemptyset(&sigmask); + sigaddset(&sigmask, SIGTTOU); + sigprocmask(SIG_BLOCK,&sigmask, &original_sigmask); tcsetattr(0, TCSAFLUSH, &rtt); + sigprocmask(SIG_SETMASK, &original_sigmask, 0); } // Fork dpkg @@ -844,10 +856,6 @@ bool pkgDPkgPM::Go(int OutStatusFd) close(slave); // setups fds - fd_set rfds; - struct timespec tv; - sigset_t sigmask; - sigset_t original_sigmask; sigemptyset(&sigmask); sigprocmask(SIG_BLOCK,&sigmask,&original_sigmask); diff --git a/configure.in b/configure.in index 679e601a3..aaaa44f43 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.7.14ubuntu6") +AC_DEFINE_UNQUOTED(VERSION,"0.7.14ubuntu7") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) diff --git a/debian/changelog b/debian/changelog index 0c7e07c9b..042603ae6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,12 @@ -apt (0.7.14ubuntu7) intrepid; urgency=low +apt (0.7.14ubuntu7) jaunty; urgency=low * cmdline/apt-cache.cc: - remove the gettext from a string that consists entirely of variables (LP: #56792) - * + * apt-pkg/deb/dpkgpm.cc: + - fix potential hang when in a backgroud process group - -- + -- Michael Vogt Tue, 28 Oct 2008 21:09:12 +0100 apt (0.7.14ubuntu6) intrepid; urgency=low -- cgit v1.2.3-70-g09d2 From 3024a85e0ce1b732338cdb23c86a2111a9846c38 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 26 Nov 2008 11:19:11 +0100 Subject: * apt-pkg/deb/dpkgpm.cc: - filter "ENOMEM" errors when creating apport reports --- apt-pkg/deb/dpkgpm.cc | 6 ++++++ debian/changelog | 7 +++++++ 2 files changed, 13 insertions(+) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index ae99e4324..a54c20330 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1027,6 +1027,12 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) return; } + // do not report out-of-memory failures + if(strstr(errormsg, strerror(ENOMEM)) != NULL) { + std::clog << _("No apport report written because the error message indicates a out of memory error") << std::endl; + return; + } + // get the pkgname and reportfile pkgname = flNotDir(pkgpath); pos = pkgname.find('_'); diff --git a/debian/changelog b/debian/changelog index acc413bea..0a8771b92 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.7.19ubuntu2) jaunty; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - filter "ENOMEM" errors when creating apport reports + + -- + apt (0.7.19ubuntu1) jaunty; urgency=low * merge from debian -- cgit v1.2.3-70-g09d2 From ed3524975b9e07d3555509294ba13b81bff3c187 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 26 Nov 2008 17:38:31 +0100 Subject: * /apt-pkg/deb/debsystem.cc: - add 'sudo' to the error message to "run 'dpkg --configure -a'" (LP: #52697) --- apt-pkg/deb/debsystem.cc | 2 +- debian/changelog | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index 11a84f1c6..7fa98f29d 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -79,7 +79,7 @@ bool debSystem::Lock() close(LockFD); LockFD = -1; return _error->Error("dpkg was interrupted, you must manually " - "run 'dpkg --configure -a' to correct the problem. "); + "run 'sudo dpkg --configure -a' to correct the problem. "); } LockCount++; diff --git a/debian/changelog b/debian/changelog index 0a8771b92..384abf64e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ apt (0.7.19ubuntu2) jaunty; urgency=low + [ Michael Vogt ] * apt-pkg/deb/dpkgpm.cc: - filter "ENOMEM" errors when creating apport reports + [ Ian Weisser ] + * /apt-pkg/deb/debsystem.cc: + - add 'sudo' to the error message to "run 'dpkg --configure -a'" + (LP: #52697) + -- apt (0.7.19ubuntu1) jaunty; urgency=low -- cgit v1.2.3-70-g09d2 From 12ede3486283262ee8c50506cf96dd2b266d713c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 26 Nov 2008 19:50:49 +0100 Subject: make dpkg string translatable --- apt-pkg/deb/debsystem.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index 7fa98f29d..f2340a4ad 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -78,8 +78,8 @@ bool debSystem::Lock() { close(LockFD); LockFD = -1; - return _error->Error("dpkg was interrupted, you must manually " - "run 'sudo dpkg --configure -a' to correct the problem. "); + return _error->Error(_("dpkg was interrupted, you must manually " + "run 'sudo dpkg --configure -a' to correct the problem. ")); } LockCount++; -- cgit v1.2.3-70-g09d2 From bb3ac2f648764e7ee2a8cdc7739d56de6311c88f Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 8 Dec 2008 10:50:59 -0800 Subject: apt-pkg/deb/debsystem.cc: add missing apti18n.h header --- apt-pkg/deb/debsystem.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index f2340a4ad..e1aacdbdb 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -17,6 +17,7 @@ #include #include #include +#include #include #include -- cgit v1.2.3-70-g09d2 From 236527f0fffe30fc8988e17d926778c23ac1f902 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 28 Jan 2009 17:39:37 +0100 Subject: LP: #263089 --- apt-pkg/deb/debsystem.cc | 10 +++++----- cmdline/apt-get.cc | 2 +- debian/changelog | 2 ++ methods/gpgv.cc | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index e1aacdbdb..ee2039c75 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -18,7 +18,7 @@ #include #include #include - + #include #include #include @@ -67,11 +67,11 @@ bool debSystem::Lock() if (LockFD == -1) { if (errno == EACCES || errno == EAGAIN) - return _error->Error("Unable to lock the administration directory (%s), " - "is another process using it?",AdminDir.c_str()); + return _error->Error(_("Unable to lock the administration directory (%s), " + "is another process using it?"),AdminDir.c_str()); else - return _error->Error("Unable to lock the administration directory (%s), " - "are you root?",AdminDir.c_str()); + return _error->Error(_("Unable to lock the administration directory (%s), " + "are you root?"),AdminDir.c_str()); } // See if we need to abort with a dirty journal diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index d5869da43..38775f70d 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1297,7 +1297,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, // show name mismatches if (IsMatch == true && Parse->Package() != Src) - ioprintf(c1out, _("No source package '%s' picking '%s' instead"), Parse->Package(), Src); + ioprintf(c1out, _("No source package '%s' picking '%s' instead"), Parse->Package().c_str(), Src.c_str()); if (VerTag.empty() == false) { diff --git a/debian/changelog b/debian/changelog index 2c4802e3b..478638a63 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,8 @@ apt (0.7.19ubuntu3) jaunty; urgency=low * debian/apt.conf.autoremove: - readd "linux-image" (and friends) to the auto-remove blacklist + * fix some i18n issues (thanks to Gabor Kelemen) + LP: #263089 [ Christian Perrier ] * Translations: diff --git a/methods/gpgv.cc b/methods/gpgv.cc index 9f4683e6e..f3277b300 100644 --- a/methods/gpgv.cc +++ b/methods/gpgv.cc @@ -264,7 +264,7 @@ bool GPGVMethod::Fetch(FetchItem *Itm) // least one bad signature. good signatures and NoPubKey signatures // happen easily when a file is signed with multiple signatures if(GoodSigners.empty() or !BadSigners.empty()) - return _error->Error(errmsg.c_str()); + return _error->Error("%s", errmsg.c_str()); } // Just pass the raw output up, because passing it as a real data -- cgit v1.2.3-70-g09d2 From d043faa8dfcfa4c432558f3f1b4ec149e33f9d8e Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 28 Jan 2009 17:40:42 +0100 Subject: merged from the mvo branch --- apt-pkg/deb/debsystem.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index ee2039c75..186918d25 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -97,7 +97,7 @@ bool debSystem::UnLock(bool NoErrors) return false; if (LockCount < 1) - return _error->Error("Not locked"); + return _error->Error(_("Not locked")); if (--LockCount == 0) { close(LockFD); -- cgit v1.2.3-70-g09d2 From 494c293c524e66bdbed117954db9d0bff38c82b4 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 6 Mar 2009 10:15:28 +0100 Subject: * apt-pkg/deb/dpkgpm.cc: - revert termios patch (LP: #338514) --- apt-pkg/deb/dpkgpm.cc | 4 +--- debian/changelog | 7 +++++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index a54c20330..d8c38427f 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -793,16 +793,14 @@ bool pkgDPkgPM::Go(int OutStatusFd) sighandler_t old_SIGHUP = signal(SIGHUP,SIG_IGN); struct termios tt; - struct termios tt_out; struct winsize win; int master; int slave; // FIXME: setup sensible signal handling (*ick*) tcgetattr(0, &tt); - tcgetattr(1, &tt_out); ioctl(0, TIOCGWINSZ, (char *)&win); - if (openpty(&master, &slave, NULL, &tt_out, &win) < 0) + if (openpty(&master, &slave, NULL, &tt, &win) < 0) { const char *s = _("Can not write log, openpty() " "failed (/dev/pts not mounted?)\n"); diff --git a/debian/changelog b/debian/changelog index 480b42bf0..b485c36aa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.7.20.2ubuntu2) UNRELEASED; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - revert termios patch (LP: #338514) + + -- Michael Vogt Fri, 06 Mar 2009 10:15:15 +0100 + apt (0.7.20.2ubuntu1) jaunty; urgency=low [ Christian Perrier ] -- cgit v1.2.3-70-g09d2 From 76dbdfc7f02096758f63bcb6d306b54d5a2d0d02 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 24 Apr 2009 19:53:19 +0200 Subject: * fix problematic use of tolower() when calculating the version hash by using locale independant tolower_ascii() function. Thanks to M. Vefa Bicakci (LP: #80248) * build fixes for g++-4.4 * include dmesg output in apport package failures --- apt-pkg/acquire.cc | 3 +- apt-pkg/contrib/sha256.h | 1 + apt-pkg/contrib/strutl.cc | 11 + apt-pkg/contrib/strutl.h | 1 + apt-pkg/deb/deblistparser.cc | 2 +- apt-pkg/deb/dpkgpm.cc | 17 + apt-pkg/pkgcache.cc | 4 +- debian/changelog | 10 + po/apt-all.pot | 388 ++++++++++++----- po/ar.po | 994 ++++++++++++++++++++++++------------------- 10 files changed, 885 insertions(+), 546 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index 38944bbac..2e6bd3401 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -24,7 +24,8 @@ #include #include - +#include + #include #include #include diff --git a/apt-pkg/contrib/sha256.h b/apt-pkg/contrib/sha256.h index 1951f053b..5934b5641 100644 --- a/apt-pkg/contrib/sha256.h +++ b/apt-pkg/contrib/sha256.h @@ -17,6 +17,7 @@ #include #include #include +#include using std::string; using std::min; diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc index fe9082f63..3b7a67db0 100644 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@ -1074,6 +1074,17 @@ char *safe_snprintf(char *Buffer,char *End,const char *Format,...) } /*}}}*/ +// tolower_ascii - tolower() function that ignores the locale /*{{{*/ +// --------------------------------------------------------------------- +/* */ +int tolower_ascii(int c) +{ + if (c >= 'A' and c <= 'Z') + return c + 32; + return c; +} + /*}}}*/ + // CheckDomainList - See if Host is in a , seperate list /*{{{*/ // --------------------------------------------------------------------- /* The domain list is a comma seperate list of domains that are suffix diff --git a/apt-pkg/contrib/strutl.h b/apt-pkg/contrib/strutl.h index d9972abf4..51416a24a 100644 --- a/apt-pkg/contrib/strutl.h +++ b/apt-pkg/contrib/strutl.h @@ -62,6 +62,7 @@ void ioprintf(ostream &out,const char *format,...) APT_FORMAT2; void strprintf(string &out,const char *format,...) APT_FORMAT2; char *safe_snprintf(char *Buffer,char *End,const char *Format,...) APT_FORMAT3; bool CheckDomainList(const string &Host, const string &List); +int tolower_ascii(int c); #define APT_MKSTRCMP(name,func) \ inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));}; \ diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index 896d4d6d8..55ba1f8c4 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -213,7 +213,7 @@ unsigned short debListParser::VersionHash() for (; Start != End; Start++) { if (isspace(*Start) == 0) - *I++ = tolower(*Start); + *I++ = tolower_ascii(*Start); if (*Start == '<' && Start[1] != '<' && Start[1] != '=') *I++ = '='; if (*Start == '>' && Start[1] != '>' && Start[1] != '=') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index d8c38427f..f57bff32c 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1123,6 +1123,23 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) fclose(log); } } + + // attach dmesg log (to learn about segfaults) + if (FileExists("/bin/dmesg")) + { + FILE *log = NULL; + char buf[1024]; + + fprintf(report, "Dmesg:\n"); + log = popen("/bin/dmesg","r"); + if(log != NULL) + { + while( fgets(buf, sizeof(buf), log) != NULL) + fprintf(report, " %s", buf); + fclose(log); + } + } fclose(report); + } /*}}}*/ diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index 4fbf42c4b..6687864ee 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -163,7 +163,7 @@ unsigned long pkgCache::sHash(const string &Str) const { unsigned long Hash = 0; for (string::const_iterator I = Str.begin(); I != Str.end(); I++) - Hash = 5*Hash + tolower(*I); + Hash = 5*Hash + tolower_ascii(*I); return Hash % _count(HeaderP->HashTable); } @@ -171,7 +171,7 @@ unsigned long pkgCache::sHash(const char *Str) const { unsigned long Hash = 0; for (const char *I = Str; *I != 0; I++) - Hash = 5*Hash + tolower(*I); + Hash = 5*Hash + tolower_ascii(*I); return Hash % _count(HeaderP->HashTable); } diff --git a/debian/changelog b/debian/changelog index 07e25051e..a62e13bad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +apt (0.7.20.2ubuntu7) karmic; urgency=low + + * fix problematic use of tolower() when calculating the version + hash by using locale independant tolower_ascii() function. + Thanks to M. Vefa Bicakci (LP: #80248) + * build fixes for g++-4.4 + * include dmesg output in apport package failures + + -- Michael Vogt Fri, 24 Apr 2009 10:14:01 +0200 + apt (0.7.20.2ubuntu6) jaunty; urgency=low [ Jamie Strandboge ] diff --git a/po/apt-all.pot b/po/apt-all.pot index 804c23b48..55f35cafa 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -252,6 +252,7 @@ msgid "" msgstr "" #: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:815 +#: apt-pkg/pkgcachegen.cc:827 #, c-format msgid "Unable to write to %s" msgstr "" @@ -718,7 +719,7 @@ msgid "Unable to lock the download directory" msgstr "" #: cmdline/apt-get.cc:816 cmdline/apt-get.cc:2076 cmdline/apt-get.cc:2312 -#: apt-pkg/cachefile.cc:63 +#: apt-pkg/cachefile.cc:63 apt-pkg/cachefile.cc:65 msgid "The list of sources could not be read." msgstr "" @@ -781,6 +782,7 @@ msgid "Do you want to continue [Y/n]? " msgstr "" #: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1383 cmdline/apt-get.cc:2209 +#: apt-pkg/algorithms.cc:1348 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" @@ -889,7 +891,8 @@ msgstr "" msgid "Unable to lock the list directory" msgstr "" -#: cmdline/apt-get.cc:1410 cmdline/apt-get.cc:1412 +#: cmdline/apt-get.cc:1410 cmdline/apt-get.cc:1412 apt-pkg/algorithms.cc:1374 +#: apt-pkg/algorithms.cc:1376 msgid "" "Some index files failed to download, they have been ignored, or old ones " "used instead." @@ -993,6 +996,7 @@ msgid "Calculating upgrade... " msgstr "" #: cmdline/apt-get.cc:1891 methods/ftp.cc:702 methods/connect.cc:101 +#: methods/connect.cc:111 msgid "Failed" msgstr "" @@ -1373,6 +1377,8 @@ msgstr "" #: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:753 #: apt-pkg/contrib/cdromutl.cc:150 apt-pkg/sourcelist.cc:320 #: apt-pkg/acquire.cc:418 apt-pkg/clean.cc:34 +#: apt-pkg/contrib/configuration.cc:821 apt-pkg/acquire.cc:419 +#: methods/mirror.cc:85 #, c-format msgid "Unable to read %s" msgstr "" @@ -1404,7 +1410,9 @@ msgstr "" #. Build the status cache #: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:748 #: apt-pkg/pkgcachegen.cc:817 apt-pkg/pkgcachegen.cc:822 -#: apt-pkg/pkgcachegen.cc:945 +#: apt-pkg/pkgcachegen.cc:945 apt-pkg/pkgcachegen.cc:760 +#: apt-pkg/pkgcachegen.cc:829 apt-pkg/pkgcachegen.cc:834 +#: apt-pkg/pkgcachegen.cc:957 msgid "Reading package lists" msgstr "" @@ -1598,6 +1606,7 @@ msgid "Server closed the connection" msgstr "" #: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:471 methods/rsh.cc:190 +#: apt-pkg/contrib/fileutl.cc:538 msgid "Read error" msgstr "" @@ -1610,6 +1619,7 @@ msgid "Protocol corruption" msgstr "" #: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:510 methods/rsh.cc:232 +#: apt-pkg/contrib/fileutl.cc:577 msgid "Write error" msgstr "" @@ -1664,6 +1674,7 @@ msgid "Unable to accept connection" msgstr "" #: methods/ftp.cc:864 methods/http.cc:959 methods/rsh.cc:303 +#: methods/http.cc:993 msgid "Problem hashing file" msgstr "" @@ -1690,78 +1701,78 @@ msgstr "" msgid "Unable to invoke " msgstr "" -#: methods/connect.cc:64 +#: methods/connect.cc:64 methods/connect.cc:71 #, c-format msgid "Connecting to %s (%s)" msgstr "" -#: methods/connect.cc:71 +#: methods/connect.cc:71 methods/connect.cc:82 #, c-format msgid "[IP: %s %s]" msgstr "" -#: methods/connect.cc:80 +#: methods/connect.cc:80 methods/connect.cc:89 #, c-format msgid "Could not create a socket for %s (f=%u t=%u p=%u)" msgstr "" -#: methods/connect.cc:86 +#: methods/connect.cc:86 methods/connect.cc:95 #, c-format msgid "Cannot initiate the connection to %s:%s (%s)." msgstr "" -#: methods/connect.cc:93 +#: methods/connect.cc:93 methods/connect.cc:103 #, c-format msgid "Could not connect to %s:%s (%s), connection timed out" msgstr "" -#: methods/connect.cc:108 +#: methods/connect.cc:108 methods/connect.cc:118 #, c-format msgid "Could not connect to %s:%s (%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 +#: methods/connect.cc:136 methods/rsh.cc:425 methods/connect.cc:146 #, c-format msgid "Connecting to %s" msgstr "" -#: methods/connect.cc:167 +#: methods/connect.cc:167 methods/connect.cc:164 methods/connect.cc:183 #, c-format msgid "Could not resolve '%s'" msgstr "" -#: methods/connect.cc:173 +#: methods/connect.cc:173 methods/connect.cc:189 #, c-format msgid "Temporary failure resolving '%s'" msgstr "" -#: methods/connect.cc:176 +#: methods/connect.cc:176 methods/connect.cc:192 #, c-format msgid "Something wicked happened resolving '%s:%s' (%i)" msgstr "" -#: methods/connect.cc:223 +#: methods/connect.cc:223 methods/connect.cc:239 #, c-format msgid "Unable to connect to %s %s:" msgstr "" -#: methods/gpgv.cc:65 +#: methods/gpgv.cc:65 methods/gpgv.cc:71 #, c-format msgid "Couldn't access keyring: '%s'" msgstr "" -#: methods/gpgv.cc:101 +#: methods/gpgv.cc:101 methods/gpgv.cc:107 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." msgstr "" -#: methods/gpgv.cc:205 +#: methods/gpgv.cc:205 methods/gpgv.cc:223 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:210 +#: methods/gpgv.cc:210 methods/gpgv.cc:228 msgid "At least one invalid signature was encountered." msgstr "" @@ -1770,15 +1781,15 @@ msgstr "" msgid "Could not execute '%s' to verify signature (is gnupg installed?)" msgstr "" -#: methods/gpgv.cc:219 +#: methods/gpgv.cc:219 methods/gpgv.cc:237 msgid "Unknown error executing gpgv" msgstr "" -#: methods/gpgv.cc:250 +#: methods/gpgv.cc:250 methods/gpgv.cc:271 methods/gpgv.cc:278 msgid "The following signatures were invalid:\n" msgstr "" -#: methods/gpgv.cc:257 +#: methods/gpgv.cc:257 methods/gpgv.cc:285 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -1794,76 +1805,78 @@ msgstr "" msgid "Read error from %s process" msgstr "" -#: methods/http.cc:377 +#: methods/http.cc:377 methods/http.cc:378 msgid "Waiting for headers" msgstr "" -#: methods/http.cc:523 +#: methods/http.cc:523 methods/http.cc:524 #, c-format msgid "Got a single header line over %u chars" msgstr "" -#: methods/http.cc:531 +#: methods/http.cc:531 methods/http.cc:532 msgid "Bad header line" msgstr "" -#: methods/http.cc:550 methods/http.cc:557 +#: methods/http.cc:550 methods/http.cc:557 methods/http.cc:551 +#: methods/http.cc:558 msgid "The HTTP server sent an invalid reply header" msgstr "" -#: methods/http.cc:586 +#: methods/http.cc:586 methods/http.cc:587 msgid "The HTTP server sent an invalid Content-Length header" msgstr "" -#: methods/http.cc:601 +#: methods/http.cc:601 methods/http.cc:602 msgid "The HTTP server sent an invalid Content-Range header" msgstr "" -#: methods/http.cc:603 +#: methods/http.cc:603 methods/http.cc:604 msgid "This HTTP server has broken range support" msgstr "" -#: methods/http.cc:627 +#: methods/http.cc:627 methods/http.cc:628 msgid "Unknown date format" msgstr "" -#: methods/http.cc:774 +#: methods/http.cc:774 methods/http.cc:781 msgid "Select failed" msgstr "" -#: methods/http.cc:779 +#: methods/http.cc:779 methods/http.cc:786 msgid "Connection timed out" msgstr "" -#: methods/http.cc:802 +#: methods/http.cc:802 methods/http.cc:809 msgid "Error writing to output file" msgstr "" -#: methods/http.cc:833 +#: methods/http.cc:833 methods/http.cc:840 msgid "Error writing to file" msgstr "" -#: methods/http.cc:861 +#: methods/http.cc:861 methods/http.cc:868 msgid "Error writing to the file" msgstr "" -#: methods/http.cc:875 +#: methods/http.cc:875 methods/http.cc:882 msgid "Error reading from server. Remote end closed connection" msgstr "" -#: methods/http.cc:877 +#: methods/http.cc:877 methods/http.cc:884 msgid "Error reading from server" msgstr "" -#: methods/http.cc:1104 +#: methods/http.cc:1104 methods/http.cc:1143 msgid "Bad header data" msgstr "" -#: methods/http.cc:1121 methods/http.cc:1176 +#: methods/http.cc:1121 methods/http.cc:1176 methods/http.cc:1160 +#: methods/http.cc:1215 msgid "Connection failed" msgstr "" -#: methods/http.cc:1228 +#: methods/http.cc:1228 methods/http.cc:1307 msgid "Internal error" msgstr "" @@ -1876,7 +1889,7 @@ msgstr "" msgid "Couldn't make mmap of %lu bytes" msgstr "" -#: apt-pkg/contrib/strutl.cc:978 +#: apt-pkg/contrib/strutl.cc:978 apt-pkg/contrib/strutl.cc:1018 #, c-format msgid "Selection %s not found" msgstr "" @@ -1896,42 +1909,43 @@ msgstr "" msgid "Line %d too long (max %u)" msgstr "" -#: apt-pkg/contrib/configuration.cc:611 +#: apt-pkg/contrib/configuration.cc:611 apt-pkg/contrib/configuration.cc:662 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: apt-pkg/contrib/configuration.cc:630 +#: apt-pkg/contrib/configuration.cc:630 apt-pkg/contrib/configuration.cc:681 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: apt-pkg/contrib/configuration.cc:647 +#: apt-pkg/contrib/configuration.cc:647 apt-pkg/contrib/configuration.cc:698 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: apt-pkg/contrib/configuration.cc:687 +#: apt-pkg/contrib/configuration.cc:687 apt-pkg/contrib/configuration.cc:738 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#: apt-pkg/contrib/configuration.cc:694 +#: apt-pkg/contrib/configuration.cc:694 apt-pkg/contrib/configuration.cc:745 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "" #: apt-pkg/contrib/configuration.cc:698 apt-pkg/contrib/configuration.cc:703 +#: apt-pkg/contrib/configuration.cc:749 apt-pkg/contrib/configuration.cc:754 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "" -#: apt-pkg/contrib/configuration.cc:707 +#: apt-pkg/contrib/configuration.cc:707 apt-pkg/contrib/configuration.cc:758 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: apt-pkg/contrib/configuration.cc:741 +#: apt-pkg/contrib/configuration.cc:741 apt-pkg/contrib/configuration.cc:809 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" @@ -1998,78 +2012,80 @@ msgid "Unable to stat the mount point %s" msgstr "" #: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/acquire.cc:424 apt-pkg/clean.cc:40 +#: apt-pkg/contrib/cdromutl.cc:180 apt-pkg/acquire.cc:425 +#: apt-pkg/acquire.cc:450 methods/mirror.cc:91 #, c-format msgid "Unable to change to %s" msgstr "" -#: apt-pkg/contrib/cdromutl.cc:187 +#: apt-pkg/contrib/cdromutl.cc:187 apt-pkg/contrib/cdromutl.cc:188 msgid "Failed to stat the cdrom" msgstr "" -#: apt-pkg/contrib/fileutl.cc:82 +#: apt-pkg/contrib/fileutl.cc:82 apt-pkg/contrib/fileutl.cc:149 #, c-format msgid "Not using locking for read only lock file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:87 +#: apt-pkg/contrib/fileutl.cc:87 apt-pkg/contrib/fileutl.cc:154 #, c-format msgid "Could not open lock file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:105 +#: apt-pkg/contrib/fileutl.cc:105 apt-pkg/contrib/fileutl.cc:172 #, c-format msgid "Not using locking for nfs mounted lock file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:109 +#: apt-pkg/contrib/fileutl.cc:109 apt-pkg/contrib/fileutl.cc:176 #, c-format msgid "Could not get lock %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:377 +#: apt-pkg/contrib/fileutl.cc:377 apt-pkg/contrib/fileutl.cc:444 #, c-format msgid "Waited for %s but it wasn't there" msgstr "" -#: apt-pkg/contrib/fileutl.cc:387 +#: apt-pkg/contrib/fileutl.cc:387 apt-pkg/contrib/fileutl.cc:454 #, c-format msgid "Sub-process %s received a segmentation fault." msgstr "" -#: apt-pkg/contrib/fileutl.cc:390 +#: apt-pkg/contrib/fileutl.cc:390 apt-pkg/contrib/fileutl.cc:457 #, c-format msgid "Sub-process %s returned an error code (%u)" msgstr "" -#: apt-pkg/contrib/fileutl.cc:392 +#: apt-pkg/contrib/fileutl.cc:392 apt-pkg/contrib/fileutl.cc:459 #, c-format msgid "Sub-process %s exited unexpectedly" msgstr "" -#: apt-pkg/contrib/fileutl.cc:436 +#: apt-pkg/contrib/fileutl.cc:436 apt-pkg/contrib/fileutl.cc:503 #, c-format msgid "Could not open file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:492 +#: apt-pkg/contrib/fileutl.cc:492 apt-pkg/contrib/fileutl.cc:559 #, c-format msgid "read, still have %lu to read but none left" msgstr "" -#: apt-pkg/contrib/fileutl.cc:522 +#: apt-pkg/contrib/fileutl.cc:522 apt-pkg/contrib/fileutl.cc:589 #, c-format msgid "write, still have %lu to write but couldn't" msgstr "" -#: apt-pkg/contrib/fileutl.cc:597 +#: apt-pkg/contrib/fileutl.cc:597 apt-pkg/contrib/fileutl.cc:664 msgid "Problem closing the file" msgstr "" -#: apt-pkg/contrib/fileutl.cc:603 +#: apt-pkg/contrib/fileutl.cc:603 apt-pkg/contrib/fileutl.cc:670 msgid "Problem unlinking the file" msgstr "" -#: apt-pkg/contrib/fileutl.cc:614 +#: apt-pkg/contrib/fileutl.cc:614 apt-pkg/contrib/fileutl.cc:681 msgid "Problem syncing the file" msgstr "" @@ -2245,40 +2261,40 @@ msgstr "" msgid "Index file type '%s' is not supported" msgstr "" -#: apt-pkg/algorithms.cc:247 +#: apt-pkg/algorithms.cc:247 apt-pkg/algorithms.cc:248 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" -#: apt-pkg/algorithms.cc:1105 +#: apt-pkg/algorithms.cc:1105 apt-pkg/algorithms.cc:1107 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." msgstr "" -#: apt-pkg/algorithms.cc:1107 +#: apt-pkg/algorithms.cc:1107 apt-pkg/algorithms.cc:1109 msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/acquire.cc:59 +#: apt-pkg/acquire.cc:59 apt-pkg/acquire.cc:60 #, c-format msgid "Lists directory %spartial is missing." msgstr "" -#: apt-pkg/acquire.cc:63 +#: apt-pkg/acquire.cc:63 apt-pkg/acquire.cc:64 #, c-format msgid "Archive directory %spartial is missing." msgstr "" #. only show the ETA if it makes sense #. two days -#: apt-pkg/acquire.cc:827 +#: apt-pkg/acquire.cc:827 apt-pkg/acquire.cc:829 #, c-format msgid "Retrieving file %li of %li (%s remaining)" msgstr "" -#: apt-pkg/acquire.cc:829 +#: apt-pkg/acquire.cc:829 apt-pkg/acquire.cc:831 #, c-format msgid "Retrieving file %li of %li" msgstr "" @@ -2293,17 +2309,17 @@ msgstr "" msgid "Method %s did not start correctly" msgstr "" -#: apt-pkg/acquire-worker.cc:398 +#: apt-pkg/acquire-worker.cc:398 apt-pkg/acquire-worker.cc:413 #, c-format msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" -#: apt-pkg/init.cc:124 +#: apt-pkg/init.cc:124 apt-pkg/init.cc:125 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/init.cc:140 +#: apt-pkg/init.cc:140 apt-pkg/init.cc:141 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2316,11 +2332,11 @@ msgstr "" msgid "You must put some 'source' URIs in your sources.list" msgstr "" -#: apt-pkg/cachefile.cc:69 +#: apt-pkg/cachefile.cc:69 apt-pkg/cachefile.cc:71 msgid "The package lists or status file could not be parsed or opened." msgstr "" -#: apt-pkg/cachefile.cc:73 +#: apt-pkg/cachefile.cc:73 apt-pkg/cachefile.cc:75 msgid "You may want to run apt-get update to correct these problems" msgstr "" @@ -2351,123 +2367,125 @@ msgstr "" msgid "Error occurred while processing %s (UsePackage1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:153 +#: apt-pkg/pkgcachegen.cc:153 apt-pkg/pkgcachegen.cc:164 #, c-format msgid "Error occurred while processing %s (NewFileDesc1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:178 +#: apt-pkg/pkgcachegen.cc:178 apt-pkg/pkgcachegen.cc:189 #, c-format msgid "Error occurred while processing %s (UsePackage2)" msgstr "" -#: apt-pkg/pkgcachegen.cc:182 +#: apt-pkg/pkgcachegen.cc:182 apt-pkg/pkgcachegen.cc:193 #, c-format msgid "Error occurred while processing %s (NewFileVer1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:213 +#: apt-pkg/pkgcachegen.cc:213 apt-pkg/pkgcachegen.cc:224 #, c-format msgid "Error occurred while processing %s (NewVersion1)" msgstr "" -#: apt-pkg/pkgcachegen.cc:217 +#: apt-pkg/pkgcachegen.cc:217 apt-pkg/pkgcachegen.cc:228 #, c-format msgid "Error occurred while processing %s (UsePackage3)" msgstr "" -#: apt-pkg/pkgcachegen.cc:221 +#: apt-pkg/pkgcachegen.cc:221 apt-pkg/pkgcachegen.cc:232 #, c-format msgid "Error occurred while processing %s (NewVersion2)" msgstr "" -#: apt-pkg/pkgcachegen.cc:245 +#: apt-pkg/pkgcachegen.cc:245 apt-pkg/pkgcachegen.cc:256 #, c-format msgid "Error occurred while processing %s (NewFileDesc2)" msgstr "" -#: apt-pkg/pkgcachegen.cc:251 +#: apt-pkg/pkgcachegen.cc:251 apt-pkg/pkgcachegen.cc:262 msgid "Wow, you exceeded the number of package names this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:254 +#: apt-pkg/pkgcachegen.cc:254 apt-pkg/pkgcachegen.cc:265 msgid "Wow, you exceeded the number of versions this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:257 +#: apt-pkg/pkgcachegen.cc:257 apt-pkg/pkgcachegen.cc:268 msgid "Wow, you exceeded the number of descriptions this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:260 +#: apt-pkg/pkgcachegen.cc:260 apt-pkg/pkgcachegen.cc:271 msgid "Wow, you exceeded the number of dependencies this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:288 +#: apt-pkg/pkgcachegen.cc:288 apt-pkg/pkgcachegen.cc:299 #, c-format msgid "Error occurred while processing %s (FindPkg)" msgstr "" -#: apt-pkg/pkgcachegen.cc:301 +#: apt-pkg/pkgcachegen.cc:301 apt-pkg/pkgcachegen.cc:312 #, c-format msgid "Error occurred while processing %s (CollectFileProvides)" msgstr "" -#: apt-pkg/pkgcachegen.cc:307 +#: apt-pkg/pkgcachegen.cc:307 apt-pkg/pkgcachegen.cc:318 #, c-format msgid "Package %s %s was not found while processing file dependencies" msgstr "" -#: apt-pkg/pkgcachegen.cc:678 +#: apt-pkg/pkgcachegen.cc:678 apt-pkg/pkgcachegen.cc:690 #, c-format msgid "Couldn't stat source package list %s" msgstr "" -#: apt-pkg/pkgcachegen.cc:763 +#: apt-pkg/pkgcachegen.cc:763 apt-pkg/pkgcachegen.cc:775 msgid "Collecting File Provides" msgstr "" #: apt-pkg/pkgcachegen.cc:890 apt-pkg/pkgcachegen.cc:897 +#: apt-pkg/pkgcachegen.cc:902 apt-pkg/pkgcachegen.cc:909 msgid "IO Error saving source cache" msgstr "" -#: apt-pkg/acquire-item.cc:127 +#: apt-pkg/acquire-item.cc:127 apt-pkg/acquire-item.cc:134 #, c-format msgid "rename failed, %s (%s -> %s)." msgstr "" -#: apt-pkg/acquire-item.cc:401 +#: apt-pkg/acquire-item.cc:401 apt-pkg/acquire-item.cc:451 msgid "MD5Sum mismatch" msgstr "" #: apt-pkg/acquire-item.cc:647 apt-pkg/acquire-item.cc:1408 +#: apt-pkg/acquire-item.cc:707 apt-pkg/acquire-item.cc:1478 msgid "Hash Sum mismatch" msgstr "" -#: apt-pkg/acquire-item.cc:1100 +#: apt-pkg/acquire-item.cc:1100 apt-pkg/acquire-item.cc:1170 msgid "There is no public key available for the following key IDs:\n" msgstr "" -#: apt-pkg/acquire-item.cc:1213 +#: apt-pkg/acquire-item.cc:1213 apt-pkg/acquire-item.cc:1283 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "" -#: apt-pkg/acquire-item.cc:1272 +#: apt-pkg/acquire-item.cc:1272 apt-pkg/acquire-item.cc:1342 #, c-format msgid "" "I wasn't able to locate file for the %s package. This might mean you need to " "manually fix this package." msgstr "" -#: apt-pkg/acquire-item.cc:1313 +#: apt-pkg/acquire-item.cc:1313 apt-pkg/acquire-item.cc:1383 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:1400 +#: apt-pkg/acquire-item.cc:1400 apt-pkg/acquire-item.cc:1470 msgid "Size mismatch" msgstr "" @@ -2553,88 +2571,92 @@ msgstr "" msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:823 +#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:823 apt-pkg/indexcopy.cc:832 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:825 +#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:825 apt-pkg/indexcopy.cc:834 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:828 +#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:828 apt-pkg/indexcopy.cc:837 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:831 +#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:831 apt-pkg/indexcopy.cc:840 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:513 +#: apt-pkg/deb/dpkgpm.cc:513 apt-pkg/deb/dpkgpm.cc:532 #, c-format msgid "Directory '%s' missing" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:596 +#: apt-pkg/deb/dpkgpm.cc:596 apt-pkg/deb/dpkgpm.cc:621 #, c-format msgid "Preparing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:597 +#: apt-pkg/deb/dpkgpm.cc:597 apt-pkg/deb/dpkgpm.cc:622 #, c-format msgid "Unpacking %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:602 +#: apt-pkg/deb/dpkgpm.cc:602 apt-pkg/deb/dpkgpm.cc:627 #, c-format msgid "Preparing to configure %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:603 +#: apt-pkg/deb/dpkgpm.cc:603 apt-pkg/deb/dpkgpm.cc:52 +#: apt-pkg/deb/dpkgpm.cc:628 #, c-format msgid "Configuring %s" msgstr "" #: apt-pkg/deb/dpkgpm.cc:605 apt-pkg/deb/dpkgpm.cc:606 +#: apt-pkg/deb/dpkgpm.cc:630 apt-pkg/deb/dpkgpm.cc:631 #, c-format msgid "Processing triggers for %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:608 +#: apt-pkg/deb/dpkgpm.cc:608 apt-pkg/deb/dpkgpm.cc:633 #, c-format msgid "Installed %s" msgstr "" #: apt-pkg/deb/dpkgpm.cc:613 apt-pkg/deb/dpkgpm.cc:615 -#: apt-pkg/deb/dpkgpm.cc:616 +#: apt-pkg/deb/dpkgpm.cc:616 apt-pkg/deb/dpkgpm.cc:638 +#: apt-pkg/deb/dpkgpm.cc:640 apt-pkg/deb/dpkgpm.cc:641 #, c-format msgid "Preparing for removal of %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:618 +#: apt-pkg/deb/dpkgpm.cc:618 apt-pkg/deb/dpkgpm.cc:53 +#: apt-pkg/deb/dpkgpm.cc:643 #, c-format msgid "Removing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:619 +#: apt-pkg/deb/dpkgpm.cc:619 apt-pkg/deb/dpkgpm.cc:644 #, c-format msgid "Removed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:624 +#: apt-pkg/deb/dpkgpm.cc:624 apt-pkg/deb/dpkgpm.cc:649 #, c-format msgid "Preparing to completely remove %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:625 +#: apt-pkg/deb/dpkgpm.cc:625 apt-pkg/deb/dpkgpm.cc:650 #, c-format msgid "Completely removed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:775 +#: apt-pkg/deb/dpkgpm.cc:775 apt-pkg/deb/dpkgpm.cc:805 msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" msgstr "" @@ -2645,3 +2667,143 @@ msgstr "" #: methods/rsh.cc:330 msgid "Connection closed prematurely" msgstr "" + +#: methods/gpgv.cc:232 +#, c-format +msgid "Could not execute '%s' to verify signature (is gpgv installed?)" +msgstr "" + +#: methods/http.cc:978 apt-pkg/contrib/mmap.cc:196 +msgid "Failed to truncate file" +msgstr "" + +#: apt-pkg/contrib/mmap.cc:213 apt-pkg/contrib/mmap.cc:276 +#, 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 "" + +#. d means days, h means hours, min means minutes, s means seconds +#: apt-pkg/contrib/strutl.cc:335 +#, c-format +msgid "%lid %lih %limin %lis" +msgstr "" + +#. h means hours, min means minutes, s means seconds +#: apt-pkg/contrib/strutl.cc:342 +#, c-format +msgid "%lih %limin %lis" +msgstr "" + +#. min means minutes, s means seconds +#: apt-pkg/contrib/strutl.cc:349 +#, c-format +msgid "%limin %lis" +msgstr "" + +#. s means seconds +#: apt-pkg/contrib/strutl.cc:354 +#, c-format +msgid "%lis" +msgstr "" + +#: apt-pkg/acquire-item.cc:1244 +#, 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 "" + +#: apt-pkg/acquire-item.cc:1253 +#, c-format +msgid "GPG error: %s: %s" +msgstr "" + +#: apt-pkg/indexrecords.cc:40 +#, c-format +msgid "Unable to parse Release file %s" +msgstr "" + +#: apt-pkg/indexrecords.cc:47 +#, c-format +msgid "No sections in Release file %s" +msgstr "" + +#: apt-pkg/indexrecords.cc:81 +#, c-format +msgid "No Hash entry in Release file %s" +msgstr "" + +#: apt-pkg/cdrom.cc:678 +#, c-format +msgid "" +"Found %zu package indexes, %zu source indexes, %zu translation indexes and %" +"zu signatures\n" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:51 +#, c-format +msgid "Installing %s" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:54 +#, c-format +msgid "Running post-installation trigger %s" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1011 +msgid "No apport report written because MaxReports is reached already" +msgstr "" + +#. check if its not a follow up error +#: apt-pkg/deb/dpkgpm.cc:1016 +msgid "dependency problems - leaving unconfigured" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1018 +msgid "" +"No apport report written because the error message indicates its a followup " +"error from a previous failure." +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1024 +msgid "" +"No apport report written because the error message indicates a disk full " +"error" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1030 +msgid "" +"No apport report written because the error message indicates a out of memory " +"error" +msgstr "" + +#: apt-pkg/deb/debsystem.cc:70 +#, c-format +msgid "" +"Unable to lock the administration directory (%s), is another process using " +"it?" +msgstr "" + +#: apt-pkg/deb/debsystem.cc:73 +#, c-format +msgid "Unable to lock the administration directory (%s), are you root?" +msgstr "" + +#: apt-pkg/deb/debsystem.cc:82 +msgid "" +"dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to " +"correct the problem. " +msgstr "" + +#: apt-pkg/deb/debsystem.cc:100 +msgid "Not locked" +msgstr "" + +#. FIXME: fallback to a default mirror here instead +#. and provide a config option to define that default +#: methods/mirror.cc:172 +#, c-format +msgid "No mirror file '%s' found " +msgstr "" diff --git a/po/ar.po b/po/ar.po index 22cb495cb..afc52c7a8 100644 --- a/po/ar.po +++ b/po/ar.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-12 22:07+0100\n" +"POT-Creation-Date: 2007-06-07 00:57+0200\n" "PO-Revision-Date: 2006-10-20 21:28+0300\n" "Last-Translator: Ossama M. Khayat \n" "Language-Team: Arabic \n" @@ -31,7 +31,8 @@ msgid "Unable to locate package %s" msgstr "تعذر العثور على الحزمة %s" #: cmdline/apt-cache.cc:247 -msgid "Total package names: " +#, fuzzy +msgid "Total package names : " msgstr "أسماء الحزم الكلية :" #: cmdline/apt-cache.cc:287 @@ -60,7 +61,7 @@ msgstr "مجموع النسخ الفريدة:" #: cmdline/apt-cache.cc:295 #, fuzzy -msgid "Total distinct descriptions: " +msgid "Total Distinct Descriptions: " msgstr "مجموع النسخ الفريدة:" #: cmdline/apt-cache.cc:297 @@ -160,10 +161,10 @@ msgid " %4i %s\n" msgstr " %4i %s\n" #: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 -#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547 -#: cmdline/apt-get.cc:2573 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550 +#: cmdline/apt-get.cc:2564 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format -msgid "%s %s for %s compiled on %s %s\n" +msgid "%s %s for %s %s compiled on %s %s\n" msgstr "%s %s لـ%s %s مُجمّع على %s %s\n" #: cmdline/apt-cache.cc:1721 @@ -189,8 +190,8 @@ msgid "" " 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" +" pkgnames - List the names of all packages\n" +" dotty - Generate package graphs for GraphVis\n" " xvcg - Generate package graphs for xvcg\n" " policy - Show policy settings\n" "\n" @@ -256,7 +257,8 @@ msgid "" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:827 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:815 +#: apt-pkg/pkgcachegen.cc:827 #, c-format msgid "Unable to write to %s" msgstr "تعذرت الكتابة إلى %s" @@ -265,31 +267,31 @@ msgstr "تعذرت الكتابة إلى %s" msgid "Cannot get debconf version. Is debconf installed?" msgstr "تعذر الحصول على نسخة debconf. هل هي مثبتة؟" -#: ftparchive/apt-ftparchive.cc:164 ftparchive/apt-ftparchive.cc:338 +#: ftparchive/apt-ftparchive.cc:167 ftparchive/apt-ftparchive.cc:341 msgid "Package extension list is too long" msgstr "قائمة توسيعات الحزمة طويلة جداً" -#: ftparchive/apt-ftparchive.cc:166 ftparchive/apt-ftparchive.cc:180 -#: ftparchive/apt-ftparchive.cc:203 ftparchive/apt-ftparchive.cc:253 -#: ftparchive/apt-ftparchive.cc:267 ftparchive/apt-ftparchive.cc:289 +#: 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 #, c-format msgid "Error processing directory %s" msgstr "خطأ في معالجة الدليل %s" -#: ftparchive/apt-ftparchive.cc:251 +#: ftparchive/apt-ftparchive.cc:254 msgid "Source extension list is too long" msgstr "قائمة توسيعات المصدر طويلة جداً" -#: ftparchive/apt-ftparchive.cc:368 +#: ftparchive/apt-ftparchive.cc:371 msgid "Error writing header to contents file" msgstr "خطأ في كتابة الترويسة إلى ملف المحتويات" -#: ftparchive/apt-ftparchive.cc:398 +#: ftparchive/apt-ftparchive.cc:401 #, c-format msgid "Error processing contents %s" msgstr "خطأ في معالجة المحتويات %s" -#: ftparchive/apt-ftparchive.cc:553 +#: ftparchive/apt-ftparchive.cc:556 msgid "" "Usage: apt-ftparchive [options] command\n" "Commands: packages binarypath [overridefile [pathprefix]]\n" @@ -331,303 +333,303 @@ msgid "" " -o=? Set an arbitrary configuration option" msgstr "" -#: ftparchive/apt-ftparchive.cc:759 +#: ftparchive/apt-ftparchive.cc:762 msgid "No selections matched" msgstr "لم تُطابق أية تحديدات" -#: ftparchive/apt-ftparchive.cc:832 +#: ftparchive/apt-ftparchive.cc:835 #, c-format msgid "Some files are missing in the package file group `%s'" msgstr "بعض الملفات مفقودة في مجموعة ملف الحزمة `%s'" -#: ftparchive/cachedb.cc:43 +#: ftparchive/cachedb.cc:47 #, c-format msgid "DB was corrupted, file renamed to %s.old" msgstr "قاعدة البيانات كانت فاسدة، فتم تغيير اسمها إلى %s.old" -#: ftparchive/cachedb.cc:61 +#: ftparchive/cachedb.cc:65 #, c-format msgid "DB is old, attempting to upgrade %s" msgstr "قاعدة البيانات قديمة، محاولة ترقية %s" -#: ftparchive/cachedb.cc:72 +#: 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:77 +#: ftparchive/cachedb.cc:81 #, c-format msgid "Unable to open DB file %s: %s" msgstr "تعذر فتح ملف قاعدة البيانات %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 +#: 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 #, c-format msgid "Failed to stat %s" msgstr "" -#: ftparchive/cachedb.cc:238 +#: ftparchive/cachedb.cc:242 msgid "Archive has no control record" msgstr "" -#: ftparchive/cachedb.cc:444 +#: ftparchive/cachedb.cc:448 msgid "Unable to get a cursor" msgstr "" -#: ftparchive/writer.cc:76 +#: ftparchive/writer.cc:79 #, c-format msgid "W: Unable to read directory %s\n" msgstr "W: تعذرت قراءة الدليل %s\n" -#: ftparchive/writer.cc:81 +#: ftparchive/writer.cc:84 #, c-format msgid "W: Unable to stat %s\n" msgstr "" -#: ftparchive/writer.cc:132 +#: ftparchive/writer.cc:135 msgid "E: " msgstr "E: " -#: ftparchive/writer.cc:134 +#: ftparchive/writer.cc:137 msgid "W: " msgstr "W: " -#: ftparchive/writer.cc:141 +#: ftparchive/writer.cc:144 msgid "E: Errors apply to file " msgstr "" -#: ftparchive/writer.cc:158 ftparchive/writer.cc:188 +#: ftparchive/writer.cc:161 ftparchive/writer.cc:191 #, c-format msgid "Failed to resolve %s" msgstr "" -#: ftparchive/writer.cc:170 +#: ftparchive/writer.cc:173 msgid "Tree walking failed" msgstr "" -#: ftparchive/writer.cc:195 +#: ftparchive/writer.cc:198 #, c-format msgid "Failed to open %s" msgstr "فشل فتح %s" -#: ftparchive/writer.cc:254 +#: ftparchive/writer.cc:257 #, c-format msgid " DeLink %s [%s]\n" msgstr " DeLink %s [%s]\n" -#: ftparchive/writer.cc:262 +#: ftparchive/writer.cc:265 #, c-format msgid "Failed to readlink %s" msgstr "" -#: ftparchive/writer.cc:266 +#: ftparchive/writer.cc:269 #, c-format msgid "Failed to unlink %s" msgstr "" -#: ftparchive/writer.cc:273 +#: ftparchive/writer.cc:276 #, c-format msgid "*** Failed to link %s to %s" msgstr "*** فشل ربط %s بـ%s" -#: ftparchive/writer.cc:283 +#: ftparchive/writer.cc:286 #, c-format msgid " DeLink limit of %sB hit.\n" msgstr "" -#: ftparchive/writer.cc:387 +#: ftparchive/writer.cc:390 msgid "Archive had no package field" msgstr "" -#: ftparchive/writer.cc:395 ftparchive/writer.cc:610 +#: ftparchive/writer.cc:398 ftparchive/writer.cc:613 #, c-format msgid " %s has no override entry\n" msgstr "" -#: ftparchive/writer.cc:440 ftparchive/writer.cc:698 +#: ftparchive/writer.cc:443 ftparchive/writer.cc:701 #, c-format msgid " %s maintainer is %s not %s\n" msgstr "" -#: ftparchive/writer.cc:620 +#: ftparchive/writer.cc:623 #, c-format msgid " %s has no source override entry\n" msgstr "" -#: ftparchive/writer.cc:624 +#: ftparchive/writer.cc:627 #, c-format msgid " %s has no binary override entry either\n" msgstr "" -#: ftparchive/contents.cc:321 +#: ftparchive/contents.cc:317 #, c-format msgid "Internal error, could not locate member %s" msgstr "خطأ داخلي، تعذر العثور على العضو %s" -#: ftparchive/contents.cc:358 ftparchive/contents.cc:389 +#: ftparchive/contents.cc:353 ftparchive/contents.cc:384 msgid "realloc - Failed to allocate memory" msgstr "realloc - فشل تعيين الذاكرة" -#: ftparchive/override.cc:34 ftparchive/override.cc:142 +#: ftparchive/override.cc:38 ftparchive/override.cc:146 #, c-format msgid "Unable to open %s" msgstr "تعذر فتح %s" -#: ftparchive/override.cc:60 ftparchive/override.cc:166 +#: ftparchive/override.cc:64 ftparchive/override.cc:170 #, c-format msgid "Malformed override %s line %lu #1" msgstr "" -#: ftparchive/override.cc:74 ftparchive/override.cc:178 +#: ftparchive/override.cc:78 ftparchive/override.cc:182 #, c-format msgid "Malformed override %s line %lu #2" msgstr "" -#: ftparchive/override.cc:88 ftparchive/override.cc:191 +#: ftparchive/override.cc:92 ftparchive/override.cc:195 #, c-format msgid "Malformed override %s line %lu #3" msgstr "" -#: ftparchive/override.cc:127 ftparchive/override.cc:201 +#: ftparchive/override.cc:131 ftparchive/override.cc:205 #, c-format msgid "Failed to read the override file %s" msgstr "" -#: ftparchive/multicompress.cc:72 +#: ftparchive/multicompress.cc:75 #, c-format msgid "Unknown compression algorithm '%s'" msgstr "" -#: ftparchive/multicompress.cc:102 +#: ftparchive/multicompress.cc:105 #, c-format msgid "Compressed output %s needs a compression set" msgstr "" -#: ftparchive/multicompress.cc:169 methods/rsh.cc:91 +#: ftparchive/multicompress.cc:172 methods/rsh.cc:91 msgid "Failed to create IPC pipe to subprocess" msgstr "" -#: ftparchive/multicompress.cc:195 +#: ftparchive/multicompress.cc:198 msgid "Failed to create FILE*" msgstr "" -#: ftparchive/multicompress.cc:198 +#: ftparchive/multicompress.cc:201 msgid "Failed to fork" msgstr "" -#: ftparchive/multicompress.cc:212 +#: ftparchive/multicompress.cc:215 msgid "Compress child" msgstr "" -#: ftparchive/multicompress.cc:235 +#: ftparchive/multicompress.cc:238 #, c-format msgid "Internal error, failed to create %s" msgstr "خطأ داخلي، تعذر إنشاء %s" -#: ftparchive/multicompress.cc:286 +#: ftparchive/multicompress.cc:289 msgid "Failed to create subprocess IPC" msgstr "" -#: ftparchive/multicompress.cc:321 +#: ftparchive/multicompress.cc:324 msgid "Failed to exec compressor " msgstr "" -#: ftparchive/multicompress.cc:360 +#: ftparchive/multicompress.cc:363 msgid "decompressor" msgstr "" -#: ftparchive/multicompress.cc:403 +#: ftparchive/multicompress.cc:406 msgid "IO to subprocess/file failed" msgstr "" -#: ftparchive/multicompress.cc:455 +#: ftparchive/multicompress.cc:458 msgid "Failed to read while computing MD5" msgstr "" -#: ftparchive/multicompress.cc:472 +#: ftparchive/multicompress.cc:475 #, c-format msgid "Problem unlinking %s" msgstr "" -#: ftparchive/multicompress.cc:487 apt-inst/extract.cc:185 +#: ftparchive/multicompress.cc:490 apt-inst/extract.cc:188 #, c-format msgid "Failed to rename %s to %s" msgstr "فشل تغيير اسم %s إلى %s" -#: cmdline/apt-get.cc:124 +#: cmdline/apt-get.cc:121 msgid "Y" msgstr "Y" -#: cmdline/apt-get.cc:146 cmdline/apt-get.cc:1651 +#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1655 #, c-format msgid "Regex compilation error - %s" msgstr "" -#: cmdline/apt-get.cc:241 +#: cmdline/apt-get.cc:238 msgid "The following packages have unmet dependencies:" msgstr "" -#: cmdline/apt-get.cc:331 +#: cmdline/apt-get.cc:328 #, c-format msgid "but %s is installed" msgstr "إلا أن %s مثبت" -#: cmdline/apt-get.cc:333 +#: cmdline/apt-get.cc:330 #, c-format msgid "but %s is to be installed" msgstr "إلا أنه سيتم تثبيت %s" -#: cmdline/apt-get.cc:340 +#: cmdline/apt-get.cc:337 msgid "but it is not installable" msgstr "إلا أنه غير قابل للتثبيت" -#: cmdline/apt-get.cc:342 +#: cmdline/apt-get.cc:339 msgid "but it is a virtual package" msgstr "إلا أنها حزمة وهمية" -#: cmdline/apt-get.cc:345 +#: cmdline/apt-get.cc:342 msgid "but it is not installed" msgstr "إلا أنها غير مثبتة" -#: cmdline/apt-get.cc:345 +#: cmdline/apt-get.cc:342 msgid "but it is not going to be installed" msgstr "إلا أنه لن يتم تثبيتها" -#: cmdline/apt-get.cc:350 +#: cmdline/apt-get.cc:347 msgid " or" msgstr " أو" -#: cmdline/apt-get.cc:379 +#: cmdline/apt-get.cc:376 msgid "The following NEW packages will be installed:" msgstr "سيتم تثبيت الحزم الجديدة التالية:" -#: cmdline/apt-get.cc:405 +#: cmdline/apt-get.cc:402 msgid "The following packages will be REMOVED:" msgstr "سيتم إزالة الحزم التالية:" -#: cmdline/apt-get.cc:427 +#: cmdline/apt-get.cc:424 msgid "The following packages have been kept back:" msgstr "سيتم الإبقاء على الحزم التالية:" -#: cmdline/apt-get.cc:448 +#: cmdline/apt-get.cc:445 msgid "The following packages will be upgraded:" msgstr "ستتم ترقية الحزم التالية:" -#: cmdline/apt-get.cc:469 +#: cmdline/apt-get.cc:466 msgid "The following packages will be DOWNGRADED:" msgstr "سيتم تثبيط الحزم التالية:" -#: cmdline/apt-get.cc:489 +#: cmdline/apt-get.cc:486 msgid "The following held packages will be changed:" msgstr "سيتم تغيير الحزم المبقاة التالية:" -#: cmdline/apt-get.cc:542 +#: cmdline/apt-get.cc:539 #, c-format msgid "%s (due to %s) " msgstr "%s (بسبب %s) " -#: cmdline/apt-get.cc:550 +#: cmdline/apt-get.cc:547 msgid "" "WARNING: The following essential packages will be removed.\n" "This should NOT be done unless you know exactly what you are doing!" @@ -635,143 +637,143 @@ msgstr "" "تحذير: ستتم إزالة الحزم الأساسية التالية.\n" "لا يجب أن تقوم بهذا إلى إن كنت تعرف تماماً ما تقوم به!" -#: cmdline/apt-get.cc:581 +#: cmdline/apt-get.cc:578 #, c-format msgid "%lu upgraded, %lu newly installed, " msgstr "%lu سيتم ترقيتها، %lu مثبتة حديثاً، " -#: cmdline/apt-get.cc:585 +#: cmdline/apt-get.cc:582 #, c-format msgid "%lu reinstalled, " msgstr "%lu أعيد تثبيتها، " -#: cmdline/apt-get.cc:587 +#: cmdline/apt-get.cc:584 #, c-format msgid "%lu downgraded, " msgstr "%lu مثبطة، " -#: cmdline/apt-get.cc:589 +#: cmdline/apt-get.cc:586 #, c-format msgid "%lu to remove and %lu not upgraded.\n" msgstr "%lu لإزالتها و %lu لم يتم ترقيتها.\n" -#: cmdline/apt-get.cc:593 +#: cmdline/apt-get.cc:590 #, c-format msgid "%lu not fully installed or removed.\n" msgstr "%lu غير مثبتة بالكامل أو مزالة.\n" -#: cmdline/apt-get.cc:667 +#: cmdline/apt-get.cc:664 msgid "Correcting dependencies..." msgstr "تصحيح المعتمدات..." -#: cmdline/apt-get.cc:670 +#: cmdline/apt-get.cc:667 msgid " failed." msgstr " فشل." -#: cmdline/apt-get.cc:673 +#: cmdline/apt-get.cc:670 msgid "Unable to correct dependencies" msgstr "لم يمكن تصحيح المعتمدات" -#: cmdline/apt-get.cc:676 +#: cmdline/apt-get.cc:673 msgid "Unable to minimize the upgrade set" msgstr "لم يمكن تقليص مجموعة الترقية" -#: cmdline/apt-get.cc:678 +#: cmdline/apt-get.cc:675 msgid " Done" msgstr " تم" -#: cmdline/apt-get.cc:682 +#: cmdline/apt-get.cc:679 msgid "You might want to run `apt-get -f install' to correct these." msgstr "قد ترغب بتنفيذ الأمر `apt-get -f install' لتصحيح هذه." -#: cmdline/apt-get.cc:685 +#: cmdline/apt-get.cc:682 msgid "Unmet dependencies. Try using -f." msgstr "مُعتمدات غير مستوفاة. حاول استخدام -f." -#: cmdline/apt-get.cc:707 +#: cmdline/apt-get.cc:704 msgid "WARNING: The following packages cannot be authenticated!" msgstr "تحذير: تعذرت المصادقة على الحزم التالية!" -#: cmdline/apt-get.cc:711 +#: cmdline/apt-get.cc:708 msgid "Authentication warning overridden.\n" msgstr "تم غض النظر عن تحذير المصادقة.\n" -#: cmdline/apt-get.cc:718 +#: cmdline/apt-get.cc:715 msgid "Install these packages without verification [y/N]? " msgstr "تثبيت هذه الحزم دون التحقق منها [y/N]؟ " -#: cmdline/apt-get.cc:720 +#: cmdline/apt-get.cc:717 msgid "Some packages could not be authenticated" msgstr "تعذرت المصادقة على بعض الحزم" -#: cmdline/apt-get.cc:729 cmdline/apt-get.cc:881 +#: cmdline/apt-get.cc:726 cmdline/apt-get.cc:873 msgid "There are problems and -y was used without --force-yes" msgstr "هناك مشاكل وتم استخدام -y دون --force-yes" -#: cmdline/apt-get.cc:773 +#: cmdline/apt-get.cc:770 msgid "Internal error, InstallPackages was called with broken packages!" msgstr "خطأ داخلي، تم طلب InstallPackages مع وجود حزم معطوبة!" -#: cmdline/apt-get.cc:782 +#: cmdline/apt-get.cc:779 msgid "Packages need to be removed but remove is disabled." msgstr "حزم بحاجة للإزالة لكن الإزالة مُعطّلة." -#: cmdline/apt-get.cc:793 +#: cmdline/apt-get.cc:790 msgid "Internal error, Ordering didn't finish" msgstr "خطأ داخلي، لم تنته عملية الترتيب" -#: cmdline/apt-get.cc:809 cmdline/apt-get.cc:1992 cmdline/apt-get.cc:2025 +#: cmdline/apt-get.cc:806 cmdline/apt-get.cc:1995 cmdline/apt-get.cc:2028 msgid "Unable to lock the download directory" msgstr "تعذر قَفْل دليل التنزيل" -#: cmdline/apt-get.cc:819 cmdline/apt-get.cc:2073 cmdline/apt-get.cc:2319 -#: apt-pkg/cachefile.cc:65 +#: cmdline/apt-get.cc:816 cmdline/apt-get.cc:2076 cmdline/apt-get.cc:2312 +#: apt-pkg/cachefile.cc:63 apt-pkg/cachefile.cc:65 msgid "The list of sources could not be read." msgstr "تعذرت قراءة قائمة المصادر." -#: cmdline/apt-get.cc:834 +#: cmdline/apt-get.cc:831 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org" msgstr "يا للغرابة.. لم تتطابق الأحجام، الرجاء مراسلة apt@packages.debian.org" -#: cmdline/apt-get.cc:839 +#: cmdline/apt-get.cc:836 #, c-format msgid "Need to get %sB/%sB of archives.\n" msgstr "بحاجة إلى جلب %sب/%sب من الأرشيف.\n" -#: cmdline/apt-get.cc:842 +#: cmdline/apt-get.cc:839 #, c-format msgid "Need to get %sB of archives.\n" msgstr "بحاجة إلى جلب %sب من الأرشيف.\n" -#: cmdline/apt-get.cc:847 +#: cmdline/apt-get.cc:844 #, fuzzy, c-format -msgid "After this operation, %sB of additional disk space will be used.\n" +msgid "After unpacking %sB of additional disk space will be used.\n" msgstr "بعد الاستخراج %sب من المساحة الإضافيّة سيتمّ استخدامها.\n" -#: cmdline/apt-get.cc:850 +#: cmdline/apt-get.cc:847 #, fuzzy, c-format -msgid "After this operation, %sB disk space will be freed.\n" +msgid "After unpacking %sB disk space will be freed.\n" msgstr "بعد الاستخراج %sب من المساحة ستفرّغ.\n" -#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:2168 +#: cmdline/apt-get.cc:861 cmdline/apt-get.cc:2166 #, c-format msgid "Couldn't determine free space in %s" msgstr "تعذر حساب المساحة الحرة في %s" -#: cmdline/apt-get.cc:871 +#: cmdline/apt-get.cc:864 #, c-format msgid "You don't have enough free space in %s." msgstr "ليس هناك مساحة كافية في %s." -#: cmdline/apt-get.cc:887 cmdline/apt-get.cc:907 +#: cmdline/apt-get.cc:879 cmdline/apt-get.cc:899 msgid "Trivial Only specified but this is not a trivial operation." msgstr "" -#: cmdline/apt-get.cc:889 +#: cmdline/apt-get.cc:881 msgid "Yes, do as I say!" msgstr "نعم، افعل ما أقوله!" -#: cmdline/apt-get.cc:891 +#: cmdline/apt-get.cc:883 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@ -782,28 +784,29 @@ msgstr "" "كي تستمر اكتب العبارة '%s'\n" " ؟] " -#: cmdline/apt-get.cc:897 cmdline/apt-get.cc:916 +#: cmdline/apt-get.cc:889 cmdline/apt-get.cc:908 msgid "Abort." msgstr "إجهاض." -#: cmdline/apt-get.cc:912 +#: cmdline/apt-get.cc:904 msgid "Do you want to continue [Y/n]? " msgstr "هل تريد الاستمرار [Y/n]؟" -#: cmdline/apt-get.cc:984 cmdline/apt-get.cc:2216 apt-pkg/algorithms.cc:1349 +#: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1383 cmdline/apt-get.cc:2209 +#: apt-pkg/algorithms.cc:1348 #, c-format msgid "Failed to fetch %s %s\n" msgstr "فشل إحضار %s %s\n" -#: cmdline/apt-get.cc:1002 +#: cmdline/apt-get.cc:994 msgid "Some files failed to download" msgstr "فشل تنزيل بعض الملفات" -#: cmdline/apt-get.cc:1003 cmdline/apt-get.cc:2225 +#: cmdline/apt-get.cc:995 cmdline/apt-get.cc:2218 msgid "Download complete and in download only mode" msgstr "اكتمل التنزيل وفي وضع التنزيل فقط" -#: cmdline/apt-get.cc:1009 +#: cmdline/apt-get.cc:1001 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" @@ -811,47 +814,47 @@ msgstr "" "تعذر إحضار بعض الأرشيف، ربما يمكنك محاولة تنفيذ apt-get update أو إضافة --" "fix-missing؟" -#: cmdline/apt-get.cc:1013 +#: cmdline/apt-get.cc:1005 msgid "--fix-missing and media swapping is not currently supported" msgstr "--fix-missing وتبديل الأوساط غير مدعومة حالياً" -#: cmdline/apt-get.cc:1018 +#: cmdline/apt-get.cc:1010 msgid "Unable to correct missing packages." msgstr "تعذر تصحيح الحزم المفقودة." -#: cmdline/apt-get.cc:1019 +#: cmdline/apt-get.cc:1011 msgid "Aborting install." msgstr "إجهاض التثبيت." -#: cmdline/apt-get.cc:1053 +#: cmdline/apt-get.cc:1045 #, c-format msgid "Note, selecting %s instead of %s\n" msgstr "لاحظ، تحديد %s بدلاً من %s\n" -#: cmdline/apt-get.cc:1063 +#: cmdline/apt-get.cc:1055 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" msgstr "تخطّي %s، حيث أنها مثبتة ولم يتمّ تعيين الترقية.\n" -#: cmdline/apt-get.cc:1081 +#: cmdline/apt-get.cc:1073 #, c-format msgid "Package %s is not installed, so not removed\n" msgstr "الحزمة %s غير مُثبّتة، لذلك لن تُزال\n" -#: cmdline/apt-get.cc:1092 +#: cmdline/apt-get.cc:1084 #, c-format msgid "Package %s is a virtual package provided by:\n" msgstr "الحزمة %s وهميّة وتوفّرها:\n" -#: cmdline/apt-get.cc:1104 +#: cmdline/apt-get.cc:1096 msgid " [Installed]" msgstr " [مُثبّتة]" -#: cmdline/apt-get.cc:1109 +#: cmdline/apt-get.cc:1101 msgid "You should explicitly select one to install." msgstr "يجب اختيار واحدة بالتحديد لتثبيتها." -#: cmdline/apt-get.cc:1114 +#: cmdline/apt-get.cc:1106 #, c-format msgid "" "Package %s is not available, but is referred to by another package.\n" @@ -859,124 +862,121 @@ msgid "" "is only available from another source\n" msgstr "" -#: cmdline/apt-get.cc:1133 +#: cmdline/apt-get.cc:1125 msgid "However the following packages replace it:" msgstr "على أيّ فإن الحزم التالية تحلّ مكانها:" -#: cmdline/apt-get.cc:1136 +#: cmdline/apt-get.cc:1128 #, c-format msgid "Package %s has no installation candidate" msgstr "الحزمة %s ليس لها مرشح تثبيت" -#: cmdline/apt-get.cc:1156 +#: cmdline/apt-get.cc:1148 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" msgstr "إعادة تثبيت %s غير ممكنة، حيث أنّه لا يمكن تنزيلها.\n" -#: cmdline/apt-get.cc:1164 +#: cmdline/apt-get.cc:1156 #, c-format msgid "%s is already the newest version.\n" msgstr "%s هي النسخة الأحدث.\n" -#: cmdline/apt-get.cc:1193 +#: cmdline/apt-get.cc:1185 #, c-format msgid "Release '%s' for '%s' was not found" msgstr "تعذر العثور على الإصدارة '%s' للحزمة '%s'" -#: cmdline/apt-get.cc:1195 +#: cmdline/apt-get.cc:1187 #, c-format msgid "Version '%s' for '%s' was not found" msgstr "تعذر العثور على النسخة '%s' للحزمة '%s'" -#: cmdline/apt-get.cc:1201 +#: cmdline/apt-get.cc:1193 #, c-format msgid "Selected version %s (%s) for %s\n" msgstr "النسخة المحددة %s (%s) للإصدارة %s\n" -#: cmdline/apt-get.cc:1338 +#: cmdline/apt-get.cc:1330 msgid "The update command takes no arguments" msgstr "لا يقبل الأمر update أية مُعطيات" -#: cmdline/apt-get.cc:1351 +#: cmdline/apt-get.cc:1343 msgid "Unable to lock the list directory" msgstr "تعذر قفل دليل القائمة" -#: cmdline/apt-get.cc:1403 +#: cmdline/apt-get.cc:1410 cmdline/apt-get.cc:1412 apt-pkg/algorithms.cc:1374 +#: apt-pkg/algorithms.cc:1376 +msgid "" +"Some index files failed to download, they have been ignored, or old ones " +"used instead." +msgstr "" + +#: cmdline/apt-get.cc:1433 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1435 +#: cmdline/apt-get.cc:1465 #, fuzzy msgid "" "The following packages were automatically installed and are no longer " "required:" msgstr "سيتم تثبيت الحزم الجديدة التالية:" -#: cmdline/apt-get.cc:1437 +#: cmdline/apt-get.cc:1467 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1442 +#: cmdline/apt-get.cc:1472 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." msgstr "" -#. -#. if (Packages == 1) -#. { -#. c1out << endl; -#. c1out << -#. _("Since you only requested a single operation it is extremely likely that\n" -#. "the package is simply not installable and a bug report against\n" -#. "that package should be filed.") << endl; -#. } -#. -#: cmdline/apt-get.cc:1445 cmdline/apt-get.cc:1735 +#: cmdline/apt-get.cc:1475 cmdline/apt-get.cc:1736 msgid "The following information may help to resolve the situation:" msgstr "قد تساعد المعلومات التالية في حل المشكلة:" -#: cmdline/apt-get.cc:1449 +#: cmdline/apt-get.cc:1479 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء" -#: cmdline/apt-get.cc:1468 +#: cmdline/apt-get.cc:1498 msgid "Internal error, AllUpgrade broke stuff" msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء" -#: cmdline/apt-get.cc:1523 +#: cmdline/apt-get.cc:1543 #, fuzzy, c-format msgid "Couldn't find task %s" msgstr "تعذر العثور على الحزمة %s" -#: cmdline/apt-get.cc:1638 cmdline/apt-get.cc:1674 +#: cmdline/apt-get.cc:1642 cmdline/apt-get.cc:1678 #, c-format msgid "Couldn't find package %s" msgstr "تعذر العثور على الحزمة %s" -#: cmdline/apt-get.cc:1661 +#: cmdline/apt-get.cc:1665 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "لاحظ، تحديد %s بسبب صيغة regex '%s'\n" -#: cmdline/apt-get.cc:1692 +#: cmdline/apt-get.cc:1695 #, fuzzy, c-format -msgid "%s set to manually installed.\n" +msgid "%s set to manual installed.\n" msgstr "إلا أنه سيتم تثبيت %s" -#: cmdline/apt-get.cc:1705 +#: cmdline/apt-get.cc:1708 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "قد ترغب بتشغيل `apt-get -f install' لتصحيح هذه:" -#: cmdline/apt-get.cc:1708 +#: cmdline/apt-get.cc:1711 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" "مُعتمدات غير مستوفاة. جرب 'apt-get -f install' بدون أسماء حزم (أو حدّد حلاً)." -#: cmdline/apt-get.cc:1720 +#: cmdline/apt-get.cc:1723 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" @@ -984,152 +984,160 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1738 +#: cmdline/apt-get.cc:1731 +msgid "" +"Since you only requested a single operation it is extremely likely that\n" +"the package is simply not installable and a bug report against\n" +"that package should be filed." +msgstr "" + +#: cmdline/apt-get.cc:1739 msgid "Broken packages" msgstr "حزم معطوبة" -#: cmdline/apt-get.cc:1767 +#: cmdline/apt-get.cc:1770 msgid "The following extra packages will be installed:" msgstr "سيتم تثبيت الحزم الإضافيّة التالية:" -#: cmdline/apt-get.cc:1856 +#: cmdline/apt-get.cc:1859 msgid "Suggested packages:" msgstr "الحزم المقترحة:" -#: cmdline/apt-get.cc:1857 +#: cmdline/apt-get.cc:1860 msgid "Recommended packages:" msgstr "الحزم المستحسنة:" -#: cmdline/apt-get.cc:1885 +#: cmdline/apt-get.cc:1888 msgid "Calculating upgrade... " msgstr "حساب الترقية..." -#: cmdline/apt-get.cc:1888 methods/ftp.cc:702 methods/connect.cc:112 +#: cmdline/apt-get.cc:1891 methods/ftp.cc:702 methods/connect.cc:101 +#: methods/connect.cc:111 msgid "Failed" msgstr "فشل" -#: cmdline/apt-get.cc:1893 +#: cmdline/apt-get.cc:1896 msgid "Done" msgstr "تمّ" -#: cmdline/apt-get.cc:1960 cmdline/apt-get.cc:1968 +#: cmdline/apt-get.cc:1963 cmdline/apt-get.cc:1971 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2068 +#: cmdline/apt-get.cc:2071 msgid "Must specify at least one package to fetch source for" msgstr "يجب تحديد حزمة واحدة على الأقل لجلب مصدرها" -#: cmdline/apt-get.cc:2098 cmdline/apt-get.cc:2337 +#: cmdline/apt-get.cc:2101 cmdline/apt-get.cc:2330 #, c-format msgid "Unable to find a source package for %s" msgstr "تعذر العثور على مصدر الحزمة %s" -#: cmdline/apt-get.cc:2147 +#: cmdline/apt-get.cc:2145 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "تخطي الملف '%s' المنزل مسبقاً\n" -#: cmdline/apt-get.cc:2175 +#: cmdline/apt-get.cc:2169 #, c-format msgid "You don't have enough free space in %s" msgstr "ليس هناك مساحة كافية في %s" -#: cmdline/apt-get.cc:2181 +#: cmdline/apt-get.cc:2174 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "يجب جلب %sب/%sب من الأرشيفات المصدرية.\n" -#: cmdline/apt-get.cc:2184 +#: cmdline/apt-get.cc:2177 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "يجب جلب %sب من الأرشيفات المصدريّة.\n" -#: cmdline/apt-get.cc:2190 +#: cmdline/apt-get.cc:2183 #, c-format msgid "Fetch source %s\n" msgstr "إحضار المصدر %s\n" -#: cmdline/apt-get.cc:2221 +#: cmdline/apt-get.cc:2214 msgid "Failed to fetch some archives." msgstr "فشل إحضار بعض الأرشيفات." -#: cmdline/apt-get.cc:2249 +#: cmdline/apt-get.cc:2242 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2261 +#: cmdline/apt-get.cc:2254 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "أمر فك الحزمة '%s' فشل.\n" -#: cmdline/apt-get.cc:2262 +#: cmdline/apt-get.cc:2255 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2279 +#: cmdline/apt-get.cc:2272 #, c-format msgid "Build command '%s' failed.\n" msgstr "أمر البناء '%s' فشل.\n" -#: cmdline/apt-get.cc:2298 +#: cmdline/apt-get.cc:2291 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2314 +#: cmdline/apt-get.cc:2307 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2342 +#: cmdline/apt-get.cc:2335 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2362 +#: cmdline/apt-get.cc:2355 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2414 +#: cmdline/apt-get.cc:2407 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2467 +#: cmdline/apt-get.cc:2459 #, 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:2503 +#: cmdline/apt-get.cc:2494 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2528 +#: cmdline/apt-get.cc:2519 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2542 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2546 +#: cmdline/apt-get.cc:2537 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2578 +#: cmdline/apt-get.cc:2569 msgid "Supported modules:" msgstr "الوحدات المدعومة:" -#: cmdline/apt-get.cc:2619 +#: cmdline/apt-get.cc:2610 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1144,8 +1152,6 @@ msgid "" " 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 and purge packages\n" " source - Download source archives\n" " build-dep - Configure build-dependencies for source packages\n" " dist-upgrade - Distribution upgrade, see apt-get(8)\n" @@ -1161,7 +1167,7 @@ msgid "" " -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" +" -f Attempt to continue if the integrity check fails\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" @@ -1232,28 +1238,24 @@ msgstr "" msgid "Bad default setting!" msgstr "إعداد افتراضيّ سيّء!" -#: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:94 -#: dselect/install:105 dselect/update:45 +#: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:93 +#: dselect/install:104 dselect/update:45 msgid "Press enter to continue." msgstr "اضغط مفتاح الإدخال للاستمرار." -#: dselect/install:91 -msgid "Do you want to erase any previously downloaded .deb files?" -msgstr "" - -#: dselect/install:101 +#: dselect/install:100 msgid "Some errors occurred while unpacking. I'm going to configure the" msgstr "حدثت بعض الأخطاء أثناء فك الحزمة. سأقوم بتهيئة " -#: dselect/install:102 +#: dselect/install:101 msgid "packages that were installed. This may result in duplicate errors" msgstr "الحزم التي تم تثبيتها. قد يتسبب هذا بظهر أخطاء متكررة" -#: dselect/install:103 +#: dselect/install:102 msgid "or errors caused by missing dependencies. This is OK, only the errors" msgstr "أو أخطاء سبّبتها المُعتمدات المفقودة. لا بأس بهذا، فقط الأخطاء" -#: dselect/install:104 +#: dselect/install:103 msgid "" "above this message are important. Please fix them and run [I]nstall again" msgstr "أعلى هذه الرسالة مهمّة. الرجاء تصحيحها وتشغيل التثبيت مجدداً" @@ -1262,188 +1264,192 @@ msgstr "أعلى هذه الرسالة مهمّة. الرجاء تصحيحها msgid "Merging available information" msgstr "دمج المعلومات المتوفرة" -#: apt-inst/contrib/extracttar.cc:114 +#: apt-inst/contrib/extracttar.cc:117 msgid "Failed to create pipes" msgstr "" -#: apt-inst/contrib/extracttar.cc:141 +#: apt-inst/contrib/extracttar.cc:144 msgid "Failed to exec gzip " msgstr "فشل تنفيذ gzip" -#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:204 +#: apt-inst/contrib/extracttar.cc:181 apt-inst/contrib/extracttar.cc:207 msgid "Corrupted archive" msgstr "أرشيف فاسد" -#: apt-inst/contrib/extracttar.cc:193 +#: apt-inst/contrib/extracttar.cc:196 msgid "Tar checksum failed, archive corrupted" msgstr "فشل تحقّق Checksum لملف Tar، الأرشيف فاسد" -#: apt-inst/contrib/extracttar.cc:296 +#: apt-inst/contrib/extracttar.cc:299 #, c-format msgid "Unknown TAR header type %u, member %s" msgstr "" -#: apt-inst/contrib/arfile.cc:70 +#: apt-inst/contrib/arfile.cc:73 msgid "Invalid archive signature" msgstr "توقيع الأرشيف غير صالح" -#: apt-inst/contrib/arfile.cc:78 +#: apt-inst/contrib/arfile.cc:81 msgid "Error reading archive member header" msgstr "" -#: apt-inst/contrib/arfile.cc:90 apt-inst/contrib/arfile.cc:102 +#: apt-inst/contrib/arfile.cc:93 apt-inst/contrib/arfile.cc:105 msgid "Invalid archive member header" msgstr "" -#: apt-inst/contrib/arfile.cc:128 +#: apt-inst/contrib/arfile.cc:131 msgid "Archive is too short" msgstr "الأرشيف قصير جداً" -#: apt-inst/contrib/arfile.cc:132 +#: apt-inst/contrib/arfile.cc:135 msgid "Failed to read the archive headers" msgstr "فشلت قراءة ترويسات الأرشيف" -#: apt-inst/filelist.cc:380 +#: apt-inst/filelist.cc:384 msgid "DropNode called on still linked node" msgstr "" -#: apt-inst/filelist.cc:412 +#: apt-inst/filelist.cc:416 msgid "Failed to locate the hash element!" msgstr "" -#: apt-inst/filelist.cc:459 +#: apt-inst/filelist.cc:463 msgid "Failed to allocate diversion" msgstr "" -#: apt-inst/filelist.cc:464 +#: apt-inst/filelist.cc:468 msgid "Internal error in AddDiversion" msgstr "خطأ داخلي في AddDiversion" -#: apt-inst/filelist.cc:477 +#: apt-inst/filelist.cc:481 #, c-format msgid "Trying to overwrite a diversion, %s -> %s and %s/%s" msgstr "" -#: apt-inst/filelist.cc:506 +#: apt-inst/filelist.cc:510 #, c-format msgid "Double add of diversion %s -> %s" msgstr "" -#: apt-inst/filelist.cc:549 +#: apt-inst/filelist.cc:553 #, c-format msgid "Duplicate conf file %s/%s" msgstr "ملف تهيئة مُزدوج %s/%s" -#: apt-inst/dirstream.cc:41 apt-inst/dirstream.cc:46 apt-inst/dirstream.cc:49 +#: apt-inst/dirstream.cc:45 apt-inst/dirstream.cc:50 apt-inst/dirstream.cc:53 #, c-format msgid "Failed to write file %s" msgstr "فشلت كتابة الملف %s" -#: apt-inst/dirstream.cc:92 apt-inst/dirstream.cc:100 +#: apt-inst/dirstream.cc:96 apt-inst/dirstream.cc:104 #, c-format msgid "Failed to close file %s" msgstr "فشل إغلاق الملف %s" -#: apt-inst/extract.cc:93 apt-inst/extract.cc:164 +#: apt-inst/extract.cc:96 apt-inst/extract.cc:167 #, c-format msgid "The path %s is too long" msgstr "المسار %s طويل جداً" -#: apt-inst/extract.cc:124 +#: apt-inst/extract.cc:127 #, c-format msgid "Unpacking %s more than once" msgstr "فكّ تحزيم %s أكثر من مرّة" -#: apt-inst/extract.cc:134 +#: apt-inst/extract.cc:137 #, c-format msgid "The directory %s is diverted" msgstr "" -#: apt-inst/extract.cc:144 +#: apt-inst/extract.cc:147 #, c-format msgid "The package is trying to write to the diversion target %s/%s" msgstr "" -#: apt-inst/extract.cc:154 apt-inst/extract.cc:297 +#: apt-inst/extract.cc:157 apt-inst/extract.cc:300 msgid "The diversion path is too long" msgstr "" -#: apt-inst/extract.cc:240 +#: apt-inst/extract.cc:243 #, c-format msgid "The directory %s is being replaced by a non-directory" msgstr "" -#: apt-inst/extract.cc:280 +#: apt-inst/extract.cc:283 msgid "Failed to locate node in its hash bucket" msgstr "" -#: apt-inst/extract.cc:284 +#: apt-inst/extract.cc:287 msgid "The path is too long" msgstr "المسار طويل جداً" -#: apt-inst/extract.cc:414 +#: apt-inst/extract.cc:417 #, c-format msgid "Overwrite package match with no version for %s" msgstr "" -#: apt-inst/extract.cc:431 +#: apt-inst/extract.cc:434 #, c-format msgid "File %s/%s overwrites the one in the package %s" msgstr "" -#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:821 +#: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:753 #: apt-pkg/contrib/cdromutl.cc:150 apt-pkg/sourcelist.cc:320 #: apt-pkg/acquire.cc:418 apt-pkg/clean.cc:34 +#: apt-pkg/contrib/configuration.cc:821 apt-pkg/acquire.cc:419 +#: methods/mirror.cc:85 #, c-format msgid "Unable to read %s" msgstr "تعذرت قراءة %s" -#: apt-inst/extract.cc:491 +#: apt-inst/extract.cc:494 #, c-format msgid "Unable to stat %s" msgstr "" -#: apt-inst/deb/dpkgdb.cc:51 apt-inst/deb/dpkgdb.cc:57 +#: apt-inst/deb/dpkgdb.cc:55 apt-inst/deb/dpkgdb.cc:61 #, c-format msgid "Failed to remove %s" msgstr "تعذرت إزالة %s" -#: apt-inst/deb/dpkgdb.cc:106 apt-inst/deb/dpkgdb.cc:108 +#: apt-inst/deb/dpkgdb.cc:110 apt-inst/deb/dpkgdb.cc:112 #, c-format msgid "Unable to create %s" msgstr "تعذر إنشاء %s" -#: apt-inst/deb/dpkgdb.cc:114 +#: apt-inst/deb/dpkgdb.cc:118 #, c-format msgid "Failed to stat %sinfo" msgstr "" -#: apt-inst/deb/dpkgdb.cc:119 +#: apt-inst/deb/dpkgdb.cc:123 msgid "The info and temp directories need to be on the same filesystem" msgstr "" #. Build the status cache -#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:760 +#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:748 +#: apt-pkg/pkgcachegen.cc:817 apt-pkg/pkgcachegen.cc:822 +#: apt-pkg/pkgcachegen.cc:945 apt-pkg/pkgcachegen.cc:760 #: apt-pkg/pkgcachegen.cc:829 apt-pkg/pkgcachegen.cc:834 #: apt-pkg/pkgcachegen.cc:957 msgid "Reading package lists" msgstr "قراءة قوائم الحزم" -#: apt-inst/deb/dpkgdb.cc:176 +#: apt-inst/deb/dpkgdb.cc:180 #, c-format msgid "Failed to change to the admin dir %sinfo" msgstr "فشل تغيير دليل الإدارة إلى %sinfo" -#: apt-inst/deb/dpkgdb.cc:197 apt-inst/deb/dpkgdb.cc:351 -#: apt-inst/deb/dpkgdb.cc:444 +#: apt-inst/deb/dpkgdb.cc:201 apt-inst/deb/dpkgdb.cc:355 +#: apt-inst/deb/dpkgdb.cc:448 msgid "Internal error getting a package name" msgstr "خطأ داخلي أثناء الحصول على اسم الحزمة" -#: apt-inst/deb/dpkgdb.cc:201 apt-inst/deb/dpkgdb.cc:382 +#: apt-inst/deb/dpkgdb.cc:205 apt-inst/deb/dpkgdb.cc:386 msgid "Reading file listing" msgstr "قراءة سرد الملفات" -#: apt-inst/deb/dpkgdb.cc:212 +#: apt-inst/deb/dpkgdb.cc:216 #, c-format msgid "" "Failed to open the list file '%sinfo/%s'. If you cannot restore this file " @@ -1451,77 +1457,77 @@ msgid "" "package!" msgstr "" -#: apt-inst/deb/dpkgdb.cc:225 apt-inst/deb/dpkgdb.cc:238 +#: apt-inst/deb/dpkgdb.cc:229 apt-inst/deb/dpkgdb.cc:242 #, c-format msgid "Failed reading the list file %sinfo/%s" msgstr "فشلت قراءة ملف القائمة %sinfo/%s" -#: apt-inst/deb/dpkgdb.cc:262 +#: apt-inst/deb/dpkgdb.cc:266 msgid "Internal error getting a node" msgstr "خطأ داخلي أثناء الحصول على node" -#: apt-inst/deb/dpkgdb.cc:305 +#: apt-inst/deb/dpkgdb.cc:309 #, c-format msgid "Failed to open the diversions file %sdiversions" msgstr "" -#: apt-inst/deb/dpkgdb.cc:320 +#: apt-inst/deb/dpkgdb.cc:324 msgid "The diversion file is corrupted" msgstr "" -#: apt-inst/deb/dpkgdb.cc:327 apt-inst/deb/dpkgdb.cc:332 -#: apt-inst/deb/dpkgdb.cc:337 +#: apt-inst/deb/dpkgdb.cc:331 apt-inst/deb/dpkgdb.cc:336 +#: apt-inst/deb/dpkgdb.cc:341 #, c-format msgid "Invalid line in the diversion file: %s" msgstr "" -#: apt-inst/deb/dpkgdb.cc:358 +#: apt-inst/deb/dpkgdb.cc:362 msgid "Internal error adding a diversion" msgstr "" -#: apt-inst/deb/dpkgdb.cc:379 +#: apt-inst/deb/dpkgdb.cc:383 msgid "The pkg cache must be initialized first" msgstr "" -#: apt-inst/deb/dpkgdb.cc:439 +#: apt-inst/deb/dpkgdb.cc:443 #, c-format msgid "Failed to find a Package: header, offset %lu" msgstr "" -#: apt-inst/deb/dpkgdb.cc:461 +#: apt-inst/deb/dpkgdb.cc:465 #, c-format msgid "Bad ConfFile section in the status file. Offset %lu" msgstr "" -#: apt-inst/deb/dpkgdb.cc:466 +#: apt-inst/deb/dpkgdb.cc:470 #, c-format msgid "Error parsing MD5. Offset %lu" msgstr "" -#: apt-inst/deb/debfile.cc:38 apt-inst/deb/debfile.cc:43 +#: apt-inst/deb/debfile.cc:42 apt-inst/deb/debfile.cc:47 #, c-format msgid "This is not a valid DEB archive, missing '%s' member" msgstr "" -#: apt-inst/deb/debfile.cc:50 +#: apt-inst/deb/debfile.cc:52 #, c-format -msgid "This is not a valid DEB archive, it has no '%s', '%s' or '%s' member" +msgid "This is not a valid DEB archive, it has no '%s' or '%s' member" msgstr "" -#: apt-inst/deb/debfile.cc:110 +#: apt-inst/deb/debfile.cc:112 #, c-format msgid "Couldn't change to %s" msgstr "تعذر التغيير إلى %s" -#: apt-inst/deb/debfile.cc:140 +#: apt-inst/deb/debfile.cc:138 msgid "Internal error, could not locate member" msgstr "خطأ داخلي، تعذر العثور على العضو" -#: apt-inst/deb/debfile.cc:173 +#: apt-inst/deb/debfile.cc:171 msgid "Failed to locate a valid control file" msgstr "فشل العثور على ملف تحكّم صالح" -#: apt-inst/deb/debfile.cc:258 +#: apt-inst/deb/debfile.cc:256 msgid "Unparsable control file" msgstr "" @@ -1622,7 +1628,8 @@ msgstr "انتهى وقت الاتصال" msgid "Server closed the connection" msgstr "أغلق الخادم الاتصال" -#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:538 methods/rsh.cc:190 +#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:471 methods/rsh.cc:190 +#: apt-pkg/contrib/fileutl.cc:538 msgid "Read error" msgstr "خطأ في القراءة" @@ -1634,7 +1641,8 @@ msgstr "" msgid "Protocol corruption" msgstr "" -#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:577 methods/rsh.cc:232 +#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:510 methods/rsh.cc:232 +#: apt-pkg/contrib/fileutl.cc:577 msgid "Write error" msgstr "خطأ في الكتابة" @@ -1688,7 +1696,8 @@ msgstr "" msgid "Unable to accept connection" msgstr "تعذر قبول الاتصال" -#: methods/ftp.cc:864 methods/http.cc:960 methods/rsh.cc:303 +#: methods/ftp.cc:864 methods/http.cc:959 methods/rsh.cc:303 +#: methods/http.cc:993 msgid "Problem hashing file" msgstr "" @@ -1715,95 +1724,95 @@ msgstr "استعلام" msgid "Unable to invoke " msgstr "" -#: methods/connect.cc:70 +#: methods/connect.cc:64 methods/connect.cc:71 #, c-format msgid "Connecting to %s (%s)" msgstr "الاتصال بـ%s (%s)" -#: methods/connect.cc:81 +#: methods/connect.cc:71 methods/connect.cc:82 #, c-format msgid "[IP: %s %s]" msgstr "[IP: %s %s]" -#: methods/connect.cc:90 +#: methods/connect.cc:80 methods/connect.cc:89 #, c-format msgid "Could not create a socket for %s (f=%u t=%u p=%u)" msgstr "" -#: methods/connect.cc:96 +#: methods/connect.cc:86 methods/connect.cc:95 #, c-format msgid "Cannot initiate the connection to %s:%s (%s)." msgstr "تعذر تمهيد الاتصال بـ%s:%s (%s)." -#: methods/connect.cc:104 +#: methods/connect.cc:93 methods/connect.cc:103 #, c-format msgid "Could not connect to %s:%s (%s), connection timed out" msgstr "تعذر الاتصال بـ%s:%s (%s)، انتهى وقت الاتصال" -#: methods/connect.cc:119 +#: methods/connect.cc:108 methods/connect.cc:118 #, c-format msgid "Could not connect to %s:%s (%s)." msgstr "تعذر الاتصال بـ%s:%s (%s)." #. We say this mainly because the pause here is for the #. ssh connection that is still going -#: methods/connect.cc:147 methods/rsh.cc:425 +#: methods/connect.cc:136 methods/rsh.cc:425 methods/connect.cc:146 #, c-format msgid "Connecting to %s" msgstr "الاتصال بـ%s" -#: methods/connect.cc:165 methods/connect.cc:184 +#: methods/connect.cc:167 methods/connect.cc:164 methods/connect.cc:183 #, c-format msgid "Could not resolve '%s'" msgstr "" -#: methods/connect.cc:190 +#: methods/connect.cc:173 methods/connect.cc:189 #, c-format msgid "Temporary failure resolving '%s'" msgstr "" -#: methods/connect.cc:193 +#: methods/connect.cc:176 methods/connect.cc:192 #, c-format msgid "Something wicked happened resolving '%s:%s' (%i)" msgstr "" -#: methods/connect.cc:240 +#: methods/connect.cc:223 methods/connect.cc:239 #, c-format msgid "Unable to connect to %s %s:" msgstr "تعذر الاتصال بـ%s %s:" -#: methods/gpgv.cc:65 +#: methods/gpgv.cc:65 methods/gpgv.cc:71 #, c-format msgid "Couldn't access keyring: '%s'" msgstr "" -#: methods/gpgv.cc:101 +#: methods/gpgv.cc:101 methods/gpgv.cc:107 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." msgstr "" -#: methods/gpgv.cc:205 +#: methods/gpgv.cc:205 methods/gpgv.cc:223 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:210 +#: methods/gpgv.cc:210 methods/gpgv.cc:228 msgid "At least one invalid signature was encountered." msgstr "" #: methods/gpgv.cc:214 #, c-format -msgid "Could not execute '%s' to verify signature (is gpgv installed?)" +msgid "Could not execute '%s' to verify signature (is gnupg installed?)" msgstr "" -#: methods/gpgv.cc:219 +#: methods/gpgv.cc:219 methods/gpgv.cc:237 msgid "Unknown error executing gpgv" msgstr "" -#: methods/gpgv.cc:250 +#: methods/gpgv.cc:250 methods/gpgv.cc:271 methods/gpgv.cc:278 msgid "The following signatures were invalid:\n" msgstr "" -#: methods/gpgv.cc:257 +#: methods/gpgv.cc:257 methods/gpgv.cc:285 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -1819,81 +1828,78 @@ msgstr "" msgid "Read error from %s process" msgstr "" -#: methods/http.cc:377 +#: methods/http.cc:377 methods/http.cc:378 msgid "Waiting for headers" msgstr "بانتظار الترويسات" -#: methods/http.cc:523 +#: methods/http.cc:523 methods/http.cc:524 #, c-format msgid "Got a single header line over %u chars" msgstr "" -#: methods/http.cc:531 +#: methods/http.cc:531 methods/http.cc:532 msgid "Bad header line" msgstr "سطر ترويسة سيء" -#: methods/http.cc:550 methods/http.cc:557 +#: methods/http.cc:550 methods/http.cc:557 methods/http.cc:551 +#: methods/http.cc:558 msgid "The HTTP server sent an invalid reply header" msgstr "أرسل خادم http ترويسة ردّ غير صالحة" -#: methods/http.cc:586 +#: methods/http.cc:586 methods/http.cc:587 msgid "The HTTP server sent an invalid Content-Length header" msgstr "أرسل خادم http ترويسة طول محتويات (ِContent-Length) غير صالحة" -#: methods/http.cc:601 +#: methods/http.cc:601 methods/http.cc:602 msgid "The HTTP server sent an invalid Content-Range header" msgstr "أرسل خادم http ترويسة مدى محتويات (ِContent-Range) غير صالحة" -#: methods/http.cc:603 +#: methods/http.cc:603 methods/http.cc:604 msgid "This HTTP server has broken range support" msgstr "خادم http له دعم مدى معطوب" -#: methods/http.cc:627 +#: methods/http.cc:627 methods/http.cc:628 msgid "Unknown date format" msgstr "نسق تاريخ مجهول" -#: methods/http.cc:774 +#: methods/http.cc:774 methods/http.cc:781 msgid "Select failed" msgstr "فشل التحديد" -#: methods/http.cc:779 +#: methods/http.cc:779 methods/http.cc:786 msgid "Connection timed out" msgstr "انتهى وقت الاتصال" -#: methods/http.cc:802 +#: methods/http.cc:802 methods/http.cc:809 msgid "Error writing to output file" msgstr "خطأ في الكتابة إلى ملف المُخرجات" -#: methods/http.cc:833 +#: methods/http.cc:833 methods/http.cc:840 msgid "Error writing to file" msgstr "خطأ في الكتابة إلى الملف" -#: methods/http.cc:861 +#: methods/http.cc:861 methods/http.cc:868 msgid "Error writing to the file" msgstr "خطأ في الكتابة إلى الملف" -#: methods/http.cc:875 +#: methods/http.cc:875 methods/http.cc:882 msgid "Error reading from server. Remote end closed connection" msgstr "خطأ في القراءة من الخادم. أقفل الطرف الآخر الاتصال" -#: methods/http.cc:877 +#: methods/http.cc:877 methods/http.cc:884 msgid "Error reading from server" msgstr "خطأ في القراءة من الخادم" -#: methods/http.cc:945 apt-pkg/contrib/mmap.cc:196 -#, fuzzy -msgid "Failed to truncate file" -msgstr "فشلت كتابة الملف %s" - -#: methods/http.cc:1105 +#: methods/http.cc:1104 methods/http.cc:1143 msgid "Bad header data" msgstr "بيانات ترويسة سيئة" -#: methods/http.cc:1122 methods/http.cc:1177 +#: methods/http.cc:1121 methods/http.cc:1176 methods/http.cc:1160 +#: methods/http.cc:1215 msgid "Connection failed" msgstr "فشل الاتصال" -#: methods/http.cc:1229 +#: methods/http.cc:1228 methods/http.cc:1307 msgid "Internal error" msgstr "خطأ داخلي" @@ -1906,11 +1912,7 @@ msgstr "" msgid "Couldn't make mmap of %lu bytes" msgstr "" -#: apt-pkg/contrib/mmap.cc:213 -msgid "Dynamic MMap ran out of room" -msgstr "" - -#: apt-pkg/contrib/strutl.cc:1014 +#: apt-pkg/contrib/strutl.cc:978 apt-pkg/contrib/strutl.cc:1018 #, c-format msgid "Selection %s not found" msgstr "تعذر العثور على التحديد %s" @@ -1925,42 +1927,48 @@ msgstr "اختصار نوع مجهول: '%c'" msgid "Opening configuration file %s" msgstr "فتح ملف التهيئة %s" -#: apt-pkg/contrib/configuration.cc:662 +#: apt-pkg/contrib/configuration.cc:515 +#, fuzzy, c-format +msgid "Line %d too long (max %u)" +msgstr "السطر %d طويل جداً (أقصاه %d)" + +#: apt-pkg/contrib/configuration.cc:611 apt-pkg/contrib/configuration.cc:662 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: apt-pkg/contrib/configuration.cc:681 +#: apt-pkg/contrib/configuration.cc:630 apt-pkg/contrib/configuration.cc:681 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: apt-pkg/contrib/configuration.cc:698 +#: apt-pkg/contrib/configuration.cc:647 apt-pkg/contrib/configuration.cc:698 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: apt-pkg/contrib/configuration.cc:738 +#: apt-pkg/contrib/configuration.cc:687 apt-pkg/contrib/configuration.cc:738 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#: apt-pkg/contrib/configuration.cc:745 +#: apt-pkg/contrib/configuration.cc:694 apt-pkg/contrib/configuration.cc:745 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "" +#: apt-pkg/contrib/configuration.cc:698 apt-pkg/contrib/configuration.cc:703 #: apt-pkg/contrib/configuration.cc:749 apt-pkg/contrib/configuration.cc:754 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "" -#: apt-pkg/contrib/configuration.cc:758 +#: apt-pkg/contrib/configuration.cc:707 apt-pkg/contrib/configuration.cc:758 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: apt-pkg/contrib/configuration.cc:809 +#: apt-pkg/contrib/configuration.cc:741 apt-pkg/contrib/configuration.cc:809 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" @@ -2026,80 +2034,81 @@ msgstr "عمليّة غير صالحة %s" msgid "Unable to stat the mount point %s" msgstr "" -#: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/contrib/cdromutl.cc:180 -#: apt-pkg/acquire.cc:424 apt-pkg/acquire.cc:449 apt-pkg/clean.cc:40 +#: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/acquire.cc:424 apt-pkg/clean.cc:40 +#: apt-pkg/contrib/cdromutl.cc:180 apt-pkg/acquire.cc:425 +#: apt-pkg/acquire.cc:450 methods/mirror.cc:91 #, c-format msgid "Unable to change to %s" msgstr "" -#: apt-pkg/contrib/cdromutl.cc:188 +#: apt-pkg/contrib/cdromutl.cc:187 apt-pkg/contrib/cdromutl.cc:188 msgid "Failed to stat the cdrom" msgstr "" -#: apt-pkg/contrib/fileutl.cc:149 +#: apt-pkg/contrib/fileutl.cc:82 apt-pkg/contrib/fileutl.cc:149 #, c-format msgid "Not using locking for read only lock file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:154 +#: apt-pkg/contrib/fileutl.cc:87 apt-pkg/contrib/fileutl.cc:154 #, c-format msgid "Could not open lock file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:172 +#: apt-pkg/contrib/fileutl.cc:105 apt-pkg/contrib/fileutl.cc:172 #, c-format msgid "Not using locking for nfs mounted lock file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:176 +#: apt-pkg/contrib/fileutl.cc:109 apt-pkg/contrib/fileutl.cc:176 #, c-format msgid "Could not get lock %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:444 +#: apt-pkg/contrib/fileutl.cc:377 apt-pkg/contrib/fileutl.cc:444 #, c-format msgid "Waited for %s but it wasn't there" msgstr "" -#: apt-pkg/contrib/fileutl.cc:454 +#: apt-pkg/contrib/fileutl.cc:387 apt-pkg/contrib/fileutl.cc:454 #, c-format msgid "Sub-process %s received a segmentation fault." msgstr "" -#: apt-pkg/contrib/fileutl.cc:457 +#: apt-pkg/contrib/fileutl.cc:390 apt-pkg/contrib/fileutl.cc:457 #, c-format msgid "Sub-process %s returned an error code (%u)" msgstr "" -#: apt-pkg/contrib/fileutl.cc:459 +#: apt-pkg/contrib/fileutl.cc:392 apt-pkg/contrib/fileutl.cc:459 #, c-format msgid "Sub-process %s exited unexpectedly" msgstr "" -#: apt-pkg/contrib/fileutl.cc:503 +#: apt-pkg/contrib/fileutl.cc:436 apt-pkg/contrib/fileutl.cc:503 #, c-format msgid "Could not open file %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc:559 +#: apt-pkg/contrib/fileutl.cc:492 apt-pkg/contrib/fileutl.cc:559 #, c-format msgid "read, still have %lu to read but none left" msgstr "" -#: apt-pkg/contrib/fileutl.cc:589 +#: apt-pkg/contrib/fileutl.cc:522 apt-pkg/contrib/fileutl.cc:589 #, c-format msgid "write, still have %lu to write but couldn't" msgstr "" -#: apt-pkg/contrib/fileutl.cc:664 +#: apt-pkg/contrib/fileutl.cc:597 apt-pkg/contrib/fileutl.cc:664 msgid "Problem closing the file" msgstr "مشكلة في إغلاق الملف" -#: apt-pkg/contrib/fileutl.cc:670 +#: apt-pkg/contrib/fileutl.cc:603 apt-pkg/contrib/fileutl.cc:670 msgid "Problem unlinking the file" msgstr "" -#: apt-pkg/contrib/fileutl.cc:681 +#: apt-pkg/contrib/fileutl.cc:614 apt-pkg/contrib/fileutl.cc:681 msgid "Problem syncing the file" msgstr "مشكلة في مزامنة الملف" @@ -2276,46 +2285,40 @@ msgstr "" msgid "Index file type '%s' is not supported" msgstr "" -#: apt-pkg/algorithms.cc:248 +#: apt-pkg/algorithms.cc:247 apt-pkg/algorithms.cc:248 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" -#: apt-pkg/algorithms.cc:1107 +#: apt-pkg/algorithms.cc:1105 apt-pkg/algorithms.cc:1107 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." msgstr "" -#: apt-pkg/algorithms.cc:1109 +#: apt-pkg/algorithms.cc:1107 apt-pkg/algorithms.cc:1109 msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/algorithms.cc:1375 apt-pkg/algorithms.cc:1377 -msgid "" -"Some index files failed to download, they have been ignored, or old ones " -"used instead." -msgstr "" - -#: apt-pkg/acquire.cc:59 +#: apt-pkg/acquire.cc:59 apt-pkg/acquire.cc:60 #, c-format msgid "Lists directory %spartial is missing." msgstr "" -#: apt-pkg/acquire.cc:63 +#: apt-pkg/acquire.cc:63 apt-pkg/acquire.cc:64 #, c-format msgid "Archive directory %spartial is missing." msgstr "" #. only show the ETA if it makes sense #. two days -#: apt-pkg/acquire.cc:828 +#: apt-pkg/acquire.cc:827 apt-pkg/acquire.cc:829 #, c-format msgid "Retrieving file %li of %li (%s remaining)" msgstr "" -#: apt-pkg/acquire.cc:830 +#: apt-pkg/acquire.cc:829 apt-pkg/acquire.cc:831 #, c-format msgid "Retrieving file %li of %li" msgstr "" @@ -2330,17 +2333,17 @@ msgstr "" msgid "Method %s did not start correctly" msgstr "" -#: apt-pkg/acquire-worker.cc:399 +#: apt-pkg/acquire-worker.cc:398 apt-pkg/acquire-worker.cc:413 #, c-format msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "الرجاء إدخال القرص المُسمّى '%s' في السوّاقة '%s' وضغط مفتاح الإدخال." -#: apt-pkg/init.cc:124 +#: apt-pkg/init.cc:124 apt-pkg/init.cc:125 #, c-format msgid "Packaging system '%s' is not supported" msgstr "نظام الحزم '%s' غير مدعوم" -#: apt-pkg/init.cc:140 +#: apt-pkg/init.cc:140 apt-pkg/init.cc:141 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2353,11 +2356,11 @@ msgstr "" msgid "You must put some 'source' URIs in your sources.list" msgstr "" -#: apt-pkg/cachefile.cc:71 +#: apt-pkg/cachefile.cc:69 apt-pkg/cachefile.cc:71 msgid "The package lists or status file could not be parsed or opened." msgstr "" -#: apt-pkg/cachefile.cc:75 +#: apt-pkg/cachefile.cc:73 apt-pkg/cachefile.cc:75 msgid "You may want to run apt-get update to correct these problems" msgstr "قد يساعدك تنفيذ الأمر apt-get update في تصحيح هذه المشاكل" @@ -2388,124 +2391,126 @@ msgstr "حدث خطأ أثناء معالجة %s (NewPackage)" msgid "Error occurred while processing %s (UsePackage1)" msgstr "حدث خطأ أثناء معالجة %s (UserPackage1)" -#: apt-pkg/pkgcachegen.cc:164 +#: apt-pkg/pkgcachegen.cc:153 apt-pkg/pkgcachegen.cc:164 #, fuzzy, c-format msgid "Error occurred while processing %s (NewFileDesc1)" msgstr "حدث خطأ أثناء معالجة %s (NewFileVer1)" -#: apt-pkg/pkgcachegen.cc:189 +#: apt-pkg/pkgcachegen.cc:178 apt-pkg/pkgcachegen.cc:189 #, c-format msgid "Error occurred while processing %s (UsePackage2)" msgstr "حدث خطأ أثناء معالجة %s (UserPackage2)" -#: apt-pkg/pkgcachegen.cc:193 +#: apt-pkg/pkgcachegen.cc:182 apt-pkg/pkgcachegen.cc:193 #, c-format msgid "Error occurred while processing %s (NewFileVer1)" msgstr "حدث خطأ أثناء معالجة %s (NewFileVer1)" -#: apt-pkg/pkgcachegen.cc:224 +#: apt-pkg/pkgcachegen.cc:213 apt-pkg/pkgcachegen.cc:224 #, c-format msgid "Error occurred while processing %s (NewVersion1)" msgstr "حدث خطأ أثناء معالجة %s (NewVersion1)" -#: apt-pkg/pkgcachegen.cc:228 +#: apt-pkg/pkgcachegen.cc:217 apt-pkg/pkgcachegen.cc:228 #, c-format msgid "Error occurred while processing %s (UsePackage3)" msgstr "حدث خطأ أثناء معالجة %s (UsePackage3)" -#: apt-pkg/pkgcachegen.cc:232 +#: apt-pkg/pkgcachegen.cc:221 apt-pkg/pkgcachegen.cc:232 #, c-format msgid "Error occurred while processing %s (NewVersion2)" msgstr "حدث خطأ أثناء معالجة %s (NewVersion2)" -#: apt-pkg/pkgcachegen.cc:256 +#: apt-pkg/pkgcachegen.cc:245 apt-pkg/pkgcachegen.cc:256 #, fuzzy, c-format msgid "Error occurred while processing %s (NewFileDesc2)" msgstr "حدث خطأ أثناء معالجة %s (NewFileVer1)" -#: apt-pkg/pkgcachegen.cc:262 +#: apt-pkg/pkgcachegen.cc:251 apt-pkg/pkgcachegen.cc:262 msgid "Wow, you exceeded the number of package names this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:265 +#: apt-pkg/pkgcachegen.cc:254 apt-pkg/pkgcachegen.cc:265 msgid "Wow, you exceeded the number of versions this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:268 +#: apt-pkg/pkgcachegen.cc:257 apt-pkg/pkgcachegen.cc:268 msgid "Wow, you exceeded the number of descriptions this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:271 +#: apt-pkg/pkgcachegen.cc:260 apt-pkg/pkgcachegen.cc:271 msgid "Wow, you exceeded the number of dependencies this APT is capable of." msgstr "" -#: apt-pkg/pkgcachegen.cc:299 +#: apt-pkg/pkgcachegen.cc:288 apt-pkg/pkgcachegen.cc:299 #, c-format msgid "Error occurred while processing %s (FindPkg)" msgstr "" -#: apt-pkg/pkgcachegen.cc:312 +#: apt-pkg/pkgcachegen.cc:301 apt-pkg/pkgcachegen.cc:312 #, c-format msgid "Error occurred while processing %s (CollectFileProvides)" msgstr "" -#: apt-pkg/pkgcachegen.cc:318 +#: apt-pkg/pkgcachegen.cc:307 apt-pkg/pkgcachegen.cc:318 #, c-format msgid "Package %s %s was not found while processing file dependencies" msgstr "" -#: apt-pkg/pkgcachegen.cc:690 +#: apt-pkg/pkgcachegen.cc:678 apt-pkg/pkgcachegen.cc:690 #, c-format msgid "Couldn't stat source package list %s" msgstr "" -#: apt-pkg/pkgcachegen.cc:775 +#: apt-pkg/pkgcachegen.cc:763 apt-pkg/pkgcachegen.cc:775 msgid "Collecting File Provides" msgstr "" +#: apt-pkg/pkgcachegen.cc:890 apt-pkg/pkgcachegen.cc:897 #: apt-pkg/pkgcachegen.cc:902 apt-pkg/pkgcachegen.cc:909 msgid "IO Error saving source cache" msgstr "" -#: apt-pkg/acquire-item.cc:127 +#: apt-pkg/acquire-item.cc:127 apt-pkg/acquire-item.cc:134 #, c-format msgid "rename failed, %s (%s -> %s)." msgstr "فشل إعادة التسمية ، %s (%s -> %s)." -#: apt-pkg/acquire-item.cc:401 +#: apt-pkg/acquire-item.cc:401 apt-pkg/acquire-item.cc:451 msgid "MD5Sum mismatch" msgstr "MD5Sum غير متطابقة" -#: apt-pkg/acquire-item.cc:658 apt-pkg/acquire-item.cc:1426 +#: apt-pkg/acquire-item.cc:647 apt-pkg/acquire-item.cc:1408 +#: apt-pkg/acquire-item.cc:707 apt-pkg/acquire-item.cc:1478 #, fuzzy msgid "Hash Sum mismatch" msgstr "MD5Sum غير متطابقة" -#: apt-pkg/acquire-item.cc:1118 +#: apt-pkg/acquire-item.cc:1100 apt-pkg/acquire-item.cc:1170 msgid "There is no public key available for the following key IDs:\n" msgstr "" -#: apt-pkg/acquire-item.cc:1231 +#: apt-pkg/acquire-item.cc:1213 apt-pkg/acquire-item.cc:1283 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "" -#: apt-pkg/acquire-item.cc:1290 +#: apt-pkg/acquire-item.cc:1272 apt-pkg/acquire-item.cc:1342 #, c-format msgid "" "I wasn't able to locate file for the %s package. This might mean you need to " "manually fix this package." msgstr "" -#: apt-pkg/acquire-item.cc:1331 +#: apt-pkg/acquire-item.cc:1313 apt-pkg/acquire-item.cc:1383 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:1418 +#: apt-pkg/acquire-item.cc:1400 apt-pkg/acquire-item.cc:1470 msgid "Size mismatch" msgstr "الحجم غير متطابق" @@ -2560,8 +2565,8 @@ msgstr "" #: apt-pkg/cdrom.cc:678 #, c-format msgid "" -"Found %zu package indexes, %zu source indexes, %zu translation indexes and %" -"zu signatures\n" +"Found %u package indexes, %u source indexes, %u translation indexes and %u " +"signatures\n" msgstr "" #: apt-pkg/cdrom.cc:715 @@ -2594,98 +2599,92 @@ msgstr "كتابة لائحة المصادر الجديدة\n" msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:823 +#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:823 apt-pkg/indexcopy.cc:832 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:825 +#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:825 apt-pkg/indexcopy.cc:834 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:828 +#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:828 apt-pkg/indexcopy.cc:837 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:831 +#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:831 apt-pkg/indexcopy.cc:840 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:49 -#, fuzzy, c-format -msgid "Installing %s" -msgstr "تم تثبيت %s" - -#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:612 -#, c-format -msgid "Configuring %s" -msgstr "تهيئة %s" - -#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:627 -#, c-format -msgid "Removing %s" -msgstr "إزالة %s" - -#: apt-pkg/deb/dpkgpm.cc:52 -#, c-format -msgid "Running post-installation trigger %s" -msgstr "" - -#: apt-pkg/deb/dpkgpm.cc:521 +#: apt-pkg/deb/dpkgpm.cc:513 apt-pkg/deb/dpkgpm.cc:532 #, c-format msgid "Directory '%s' missing" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:605 +#: apt-pkg/deb/dpkgpm.cc:596 apt-pkg/deb/dpkgpm.cc:621 #, c-format msgid "Preparing %s" msgstr "تحضير %s" -#: apt-pkg/deb/dpkgpm.cc:606 +#: apt-pkg/deb/dpkgpm.cc:597 apt-pkg/deb/dpkgpm.cc:622 #, c-format msgid "Unpacking %s" msgstr "فتح %s" -#: apt-pkg/deb/dpkgpm.cc:611 +#: apt-pkg/deb/dpkgpm.cc:602 apt-pkg/deb/dpkgpm.cc:627 #, c-format msgid "Preparing to configure %s" msgstr "التحضير لتهيئة %s" -#: apt-pkg/deb/dpkgpm.cc:614 apt-pkg/deb/dpkgpm.cc:615 +#: apt-pkg/deb/dpkgpm.cc:603 apt-pkg/deb/dpkgpm.cc:52 +#: apt-pkg/deb/dpkgpm.cc:628 +#, c-format +msgid "Configuring %s" +msgstr "تهيئة %s" + +#: apt-pkg/deb/dpkgpm.cc:605 apt-pkg/deb/dpkgpm.cc:606 +#: apt-pkg/deb/dpkgpm.cc:630 apt-pkg/deb/dpkgpm.cc:631 #, fuzzy, c-format msgid "Processing triggers for %s" msgstr "خطأ في معالجة الدليل %s" -#: apt-pkg/deb/dpkgpm.cc:617 +#: apt-pkg/deb/dpkgpm.cc:608 apt-pkg/deb/dpkgpm.cc:633 #, c-format msgid "Installed %s" msgstr "تم تثبيت %s" -#: apt-pkg/deb/dpkgpm.cc:622 apt-pkg/deb/dpkgpm.cc:624 -#: apt-pkg/deb/dpkgpm.cc:625 +#: apt-pkg/deb/dpkgpm.cc:613 apt-pkg/deb/dpkgpm.cc:615 +#: apt-pkg/deb/dpkgpm.cc:616 apt-pkg/deb/dpkgpm.cc:638 +#: apt-pkg/deb/dpkgpm.cc:640 apt-pkg/deb/dpkgpm.cc:641 #, c-format msgid "Preparing for removal of %s" msgstr "التحضير لإزالة %s" -#: apt-pkg/deb/dpkgpm.cc:628 +#: apt-pkg/deb/dpkgpm.cc:618 apt-pkg/deb/dpkgpm.cc:53 +#: apt-pkg/deb/dpkgpm.cc:643 +#, c-format +msgid "Removing %s" +msgstr "إزالة %s" + +#: apt-pkg/deb/dpkgpm.cc:619 apt-pkg/deb/dpkgpm.cc:644 #, c-format msgid "Removed %s" msgstr "تم إزالة %s" -#: apt-pkg/deb/dpkgpm.cc:633 +#: apt-pkg/deb/dpkgpm.cc:624 apt-pkg/deb/dpkgpm.cc:649 #, c-format msgid "Preparing to completely remove %s" msgstr "التحضير لإزالة %s بالكامل" -#: apt-pkg/deb/dpkgpm.cc:634 +#: apt-pkg/deb/dpkgpm.cc:625 apt-pkg/deb/dpkgpm.cc:650 #, c-format msgid "Completely removed %s" msgstr "تمت إزالة %s بالكامل" -#: apt-pkg/deb/dpkgpm.cc:791 +#: apt-pkg/deb/dpkgpm.cc:775 apt-pkg/deb/dpkgpm.cc:805 msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" msgstr "" @@ -2697,9 +2696,146 @@ msgstr "" msgid "Connection closed prematurely" msgstr "" +#: methods/gpgv.cc:232 +#, c-format +msgid "Could not execute '%s' to verify signature (is gpgv installed?)" +msgstr "" + +#: methods/http.cc:978 apt-pkg/contrib/mmap.cc:196 #, fuzzy -#~ msgid "Line %d too long (max %lu)" -#~ msgstr "السطر %d طويل جداً (أقصاه %d)" +msgid "Failed to truncate file" +msgstr "فشلت كتابة الملف %s" + +#: apt-pkg/contrib/mmap.cc:213 apt-pkg/contrib/mmap.cc:276 +#, 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 "" + +#. d means days, h means hours, min means minutes, s means seconds +#: apt-pkg/contrib/strutl.cc:335 +#, c-format +msgid "%lid %lih %limin %lis" +msgstr "" + +#. h means hours, min means minutes, s means seconds +#: apt-pkg/contrib/strutl.cc:342 +#, c-format +msgid "%lih %limin %lis" +msgstr "" + +#. min means minutes, s means seconds +#: apt-pkg/contrib/strutl.cc:349 +#, c-format +msgid "%limin %lis" +msgstr "" + +#. s means seconds +#: apt-pkg/contrib/strutl.cc:354 +#, c-format +msgid "%lis" +msgstr "" + +#: apt-pkg/acquire-item.cc:1244 +#, 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 "" + +#: apt-pkg/acquire-item.cc:1253 +#, c-format +msgid "GPG error: %s: %s" +msgstr "" + +#: apt-pkg/indexrecords.cc:40 +#, fuzzy, c-format +msgid "Unable to parse Release file %s" +msgstr "تعذر فتح ملف قاعدة البيانات %s: %s" + +#: apt-pkg/indexrecords.cc:47 +#, fuzzy, c-format +msgid "No sections in Release file %s" +msgstr "لاحظ، تحديد %s بدلاً من %s\n" + +#: apt-pkg/indexrecords.cc:81 +#, c-format +msgid "No Hash entry in Release file %s" +msgstr "" + +#: apt-pkg/cdrom.cc:678 +#, c-format +msgid "" +"Found %zu package indexes, %zu source indexes, %zu translation indexes and %" +"zu signatures\n" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:51 +#, fuzzy, c-format +msgid "Installing %s" +msgstr "تم تثبيت %s" + +#: apt-pkg/deb/dpkgpm.cc:54 +#, c-format +msgid "Running post-installation trigger %s" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1011 +msgid "No apport report written because MaxReports is reached already" +msgstr "" + +#. check if its not a follow up error +#: apt-pkg/deb/dpkgpm.cc:1016 +msgid "dependency problems - leaving unconfigured" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1018 +msgid "" +"No apport report written because the error message indicates its a followup " +"error from a previous failure." +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1024 +msgid "" +"No apport report written because the error message indicates a disk full " +"error" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1030 +msgid "" +"No apport report written because the error message indicates a out of memory " +"error" +msgstr "" + +#: apt-pkg/deb/debsystem.cc:70 +#, c-format +msgid "" +"Unable to lock the administration directory (%s), is another process using " +"it?" +msgstr "" + +#: apt-pkg/deb/debsystem.cc:73 +#, fuzzy, c-format +msgid "Unable to lock the administration directory (%s), are you root?" +msgstr "تعذر قفل دليل القائمة" + +#: apt-pkg/deb/debsystem.cc:82 +msgid "" +"dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to " +"correct the problem. " +msgstr "" + +#: apt-pkg/deb/debsystem.cc:100 +msgid "Not locked" +msgstr "" + +#. FIXME: fallback to a default mirror here instead +#. and provide a config option to define that default +#: methods/mirror.cc:172 +#, c-format +msgid "No mirror file '%s' found " +msgstr "" #, fuzzy #~ msgid "Line %d too long (max %d)" -- cgit v1.2.3-70-g09d2 From 5c8a2aa8d5fa2f5e3342e9abd2b750f1615a226a Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 28 Apr 2009 16:55:10 +0200 Subject: include apt ordering into apport package failures --- apt-pkg/deb/dpkgpm.cc | 6 ++++++ debian/changelog | 1 + 2 files changed, 7 insertions(+) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index f57bff32c..b41b38bd5 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1124,6 +1124,12 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) } } + // log the ordering + const char *ops_str[] = {"Install", "Configure","Remove","Purge"}; + fprintf(report, "AptOrdering:\n"); + for (vector::iterator I = List.begin(); I != List.end(); I++) + fprintf(report, " %s: %s\n", (*I).Pkg.Name(), ops_str[(*I).Op]); + // attach dmesg log (to learn about segfaults) if (FileExists("/bin/dmesg")) { diff --git a/debian/changelog b/debian/changelog index a62e13bad..d3d28d0dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ apt (0.7.20.2ubuntu7) karmic; urgency=low Thanks to M. Vefa Bicakci (LP: #80248) * build fixes for g++-4.4 * include dmesg output in apport package failures + * include apt ordering into apport package failures -- Michael Vogt Fri, 24 Apr 2009 10:14:01 +0200 -- cgit v1.2.3-70-g09d2 From 076c46e5fe4a0ec150952017650c4cc778dc2fd2 Mon Sep 17 00:00:00 2001 From: Matt Zimmerman Date: Thu, 6 Aug 2009 17:44:51 +0100 Subject: * apt-pkg/deb/dpkgpm.cc: - Suppress apport reports on dpkg short reads (these I/O errors are not generally indicative of a bug in the packaging) --- apt-pkg/deb/dpkgpm.cc | 7 +++++++ debian/changelog | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 4403eaefe..3e23720e0 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1078,6 +1078,13 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) return; } + // do not report dpkg I/O errors + // XXX - this message is localized, but this only matches the English version. This is better than nothing. + if(strstr(errormsg, "short read in buffer_copy (")) { + std::clog << _("No apport report written because the error message indicates a dpkg I/O error") << std::endl; + return; + } + // get the pkgname and reportfile pkgname = flNotDir(pkgpath); pos = pkgname.find('_'); diff --git a/debian/changelog b/debian/changelog index f6c282f42..3d5db8114 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,18 @@ apt (0.7.23ubuntu1) karmic; urgency=low + [ Michael Vogt ] * merged from the debian-sid bzr branch * cmdline/apt-get.cc: - honor APT::Get::Only-Source properly in FindSrc() (thanks to Martin Pitt for reporting the problem) - -- Michael Vogt Thu, 30 Jul 2009 15:27:30 +0200 + [ Matt Zimmerman ] + * apt-pkg/deb/dpkgpm.cc: + - Suppress apport reports on dpkg short reads (these I/O errors are not + generally indicative of a bug in the packaging) + + -- Matt Zimmerman Thu, 06 Aug 2009 16:37:04 +0100 apt (0.7.22) unstable; urgency=low -- cgit v1.2.3-70-g09d2 From 2183a0862311cf2fbb82f61ecdcdf3816ce90040 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 3 Dec 2009 10:40:37 +0100 Subject: * apt-pkg/deb/dpkgpm.cc: - include df -l output in the apport log as well (thanks to tjaalton) --- apt-pkg/deb/dpkgpm.cc | 17 +++++++++++++++++ debian/changelog | 3 +++ 2 files changed, 20 insertions(+) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 7daa55a58..500d4a260 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1243,6 +1243,23 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) fclose(log); } } + + // attach df -l log (to learn about filesystem status) + if (FileExists("/bin/df")) + { + FILE *log = NULL; + char buf[1024]; + + fprintf(report, "Df:\n"); + log = popen("/bin/df -l","r"); + if(log != NULL) + { + while( fgets(buf, sizeof(buf), log) != NULL) + fprintf(report, " %s", buf); + fclose(log); + } + } + fclose(report); } diff --git a/debian/changelog b/debian/changelog index 20bcf9bb9..0113fb95a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ apt (0.7.24ubuntu1) UNRELEASED; urgency=low triggers-pending state. dpkg will deal with the trigger and it if does it before we trigger it, dpkg will error out (LP: #414631) + * apt-pkg/deb/dpkgpm.cc: + - include df -l output in the apport log as well (thanks to + tjaalton) [ Matt Zimmerman ] * apt-pkg/deb/dpkgpm.cc: -- cgit v1.2.3-70-g09d2 From a29b2c0b9c4e7b1c36433c9c6dd5d24697f9c4b6 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 26 Jan 2010 11:57:29 +0100 Subject: Change history branch so that it does not break the apt ABI for the pkgPackageManager interface (can be reverted on the next ABI break) --- apt-pkg/deb/dpkgpm.cc | 34 +++++++++++++++++++++++----------- apt-pkg/deb/dpkgpm.h | 4 +--- apt-pkg/packagemanager.h | 6 +++++- debian/changelog | 8 ++++++++ 4 files changed, 37 insertions(+), 15 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 2f84a5a87..e928776af 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -562,7 +562,7 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) } /*}}}*/ // DPkgPM::WriteHistoryTag /*{{{*/ -void pkgDPkgPM::WriteHistoryTag(string tag, string value) +void pkgDPkgPM::WriteHistoryTag(FILE *history_out, string tag, string value) { if (value.size() > 0) { @@ -602,7 +602,7 @@ bool pkgDPkgPM::OpenLog() _config->Find("Dir::Log::History")); if (!history_name.empty()) { - history_out = fopen(history_name.c_str(),"a"); + FILE *history_out = fopen(history_name.c_str(),"a"); chmod(history_name.c_str(), 0644); fprintf(history_out, "\nStart-Date: %s\n", timestr); string remove, purge, install, upgrade, downgrade; @@ -622,12 +622,12 @@ bool pkgDPkgPM::OpenLog() remove += I.Name() + string(" (") + Cache[I].CurVersion + string("), "); } } - WriteHistoryTag("Install", install); - WriteHistoryTag("Upgrade", upgrade); - WriteHistoryTag("Downgrade",downgrade); - WriteHistoryTag("Remove",remove); - WriteHistoryTag("Purge",purge); - fflush(history_out); + WriteHistoryTag(history_out, "Install", install); + WriteHistoryTag(history_out, "Upgrade", upgrade); + WriteHistoryTag(history_out, "Downgrade",downgrade); + WriteHistoryTag(history_out, "Remove",remove); + WriteHistoryTag(history_out, "Purge",purge); + fclose(history_out); } return true; @@ -650,10 +650,11 @@ bool pkgDPkgPM::CloseLog() } term_out = NULL; - if(history_out) + string history_name = flCombine(_config->FindDir("Dir::Log"), + _config->Find("Dir::Log::History")); + if (!history_name.empty()) { - if (dpkg_error.size() > 0) - fprintf(history_out, "Error: %s\n", dpkg_error.c_str()); + FILE *history_out = fopen(history_name.c_str(),"a"); fprintf(history_out, "End-Date: %s\n", timestr); fclose(history_out); } @@ -1125,6 +1126,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) if(stopOnError) RunScripts("DPkg::Post-Invoke"); + string dpkg_error; if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV) strprintf(dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]); else if (WIFEXITED(Status) != 0) @@ -1133,7 +1135,17 @@ bool pkgDPkgPM::Go(int OutStatusFd) strprintf(dpkg_error, "Sub-process %s exited unexpectedly",Args[0]); if(dpkg_error.size() > 0) + { _error->Error(dpkg_error.c_str()); + string history_name = flCombine(_config->FindDir("Dir::Log"), + _config->Find("Dir::Log::History")); + if (!history_name.empty()) + { + FILE *history_out = fopen(history_name.c_str(),"a"); + fprintf(history_out, "Error: %s\n", dpkg_error.c_str()); + fclose(history_out); + } + } if(stopOnError) { diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index ce3e20f2e..160486bf9 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -29,8 +29,6 @@ class pkgDPkgPM : public pkgPackageManager char dpkgbuf[1024]; int dpkgbuf_pos; FILE *term_out; - FILE *history_out; - string dpkg_error; protected: int pkgFailures; @@ -70,7 +68,7 @@ class pkgDPkgPM : public pkgPackageManager // Helpers bool RunScriptsWithPkgs(const char *Cnf); bool SendV2Pkgs(FILE *F); - void WriteHistoryTag(string tag, string value); + void WriteHistoryTag(FILE* history_out, string tag, string value); // apport integration void WriteApportReport(const char *pkgpath, const char *errormsg); diff --git a/apt-pkg/packagemanager.h b/apt-pkg/packagemanager.h index af1476b7a..44f5d5ef7 100644 --- a/apt-pkg/packagemanager.h +++ b/apt-pkg/packagemanager.h @@ -49,7 +49,11 @@ class pkgPackageManager : protected pkgCache::Namespace bool Debug; bool DepAdd(pkgOrderList &Order,PkgIterator P,int Depth = 0); - void ImmediateAdd(PkgIterator P, bool UseInstallVer, unsigned const int &Depth = 0); + // binary-compat change, fix on next abi break + void ImmediateAdd(PkgIterator P, bool UseInstallVer) { + ImmediateAdd(P, UseInstallVer, 0); + } + void ImmediateAdd(PkgIterator P, bool UseInstallVer, unsigned const int &Depth); virtual OrderResult OrderInstall(); bool CheckRConflicts(PkgIterator Pkg,DepIterator Dep,const char *Ver); bool CreateOrderList(); diff --git a/debian/changelog b/debian/changelog index e6afafe99..9615201b2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +apt (0.7.25ubuntu2) lucid; urgency=low + + * Change history branch so that it does not break the + apt ABI for the pkgPackageManager interface + (can be reverted on the next ABI break) + + -- Michael Vogt Wed, 23 Dec 2009 10:14:16 +0100 + apt (0.7.25ubuntu1) lucid; urgency=low * Merged from the mvo branch -- cgit v1.2.3-70-g09d2 From 1c56c17a3c5548a3bb86c0d7967c0f790c7c2cca Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 26 Mar 2010 17:02:27 +0100 Subject: cherry pick -r 1956..1957 lp:~donkult/apt/sid --- apt-pkg/deb/debversion.cc | 18 ++++++++++++++++-- debian/changelog | 9 +++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debversion.cc b/apt-pkg/deb/debversion.cc index ad45e9a44..755ffbe96 100644 --- a/apt-pkg/deb/debversion.cc +++ b/apt-pkg/deb/debversion.cc @@ -190,8 +190,22 @@ int debVersioningSystem::DoCmpVersion(const char *A,const char *AEnd, dlhs++; if (drhs != rhs) drhs++; - - return CmpFragment(dlhs,AEnd,drhs,BEnd); + + // no debian revision need to be treated like -0 + if (*(dlhs-1) == '-' && *(drhs-1) == '-') + return CmpFragment(dlhs,AEnd,drhs,BEnd); + else if (*(dlhs-1) == '-') + { + const char* null = "0"; + return CmpFragment(dlhs,AEnd,null, null+1); + } + else if (*(drhs-1) == '-') + { + const char* null = "0"; + return CmpFragment(null, null+1, drhs, BEnd); + } + else + return 0; } /*}}}*/ // debVS::CheckDep - Check a single dependency /*{{{*/ diff --git a/debian/changelog b/debian/changelog index 4164fd726..bf07b9f30 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +apt (0.7.25.3ubuntu4) UNRELEASED; urgency=low + + [ David Kalnischkies ] + * apt-pkg/deb/debversion.cc: + - consider absent of debian revision equivalent to 0 (Closes: #573592) + LP: #540228 + + -- Michael Vogt Fri, 26 Mar 2010 16:57:49 +0100 + apt (0.7.25.3ubuntu3) lucid; urgency=low * apt-pkg/indexfile.cc: -- cgit v1.2.3-70-g09d2 From c5a4be87d94e3f48aad955107bbaf17b0a7c93cc Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 26 Mar 2010 17:27:47 +0100 Subject: cherry pick -r 1954..1955 lp:~donkult/apt/sid --- apt-pkg/deb/dpkgpm.cc | 16 +++++++++------- debian/changelog | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 8ecb683d4..18c731788 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -575,35 +575,37 @@ void pkgDPkgPM::WriteHistoryTag(FILE *history_out, string tag, string value) // DPkgPM::OpenLog /*{{{*/ bool pkgDPkgPM::OpenLog() { - string logdir = _config->FindDir("Dir::Log"); + string const logdir = _config->FindDir("Dir::Log"); if(not FileExists(logdir)) return _error->Error(_("Directory '%s' missing"), logdir.c_str()); // get current time char timestr[200]; - time_t t = time(NULL); - struct tm *tmp = localtime(&t); + time_t const t = time(NULL); + struct tm const * const tmp = localtime(&t); strftime(timestr, sizeof(timestr), "%F %T", tmp); // open terminal log - string logfile_name = flCombine(logdir, + string const logfile_name = flCombine(logdir, _config->Find("Dir::Log::Terminal")); if (!logfile_name.empty()) { term_out = fopen(logfile_name.c_str(),"a"); if (term_out == NULL) - return _error->WarningE(_("Could not open file '%s'"), logfile_name.c_str()); + return _error->WarningE("OpenLog", _("Could not open file '%s'"), logfile_name.c_str()); chmod(logfile_name.c_str(), 0600); fprintf(term_out, "\nLog started: %s\n", timestr); } - // write - string history_name = flCombine(logdir, + // write your history + string const history_name = flCombine(logdir, _config->Find("Dir::Log::History")); if (!history_name.empty()) { FILE *history_out = fopen(history_name.c_str(),"a"); + if (history_out == NULL) + 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; diff --git a/debian/changelog b/debian/changelog index 5f5a43098..b26f18153 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ apt (0.7.25.3ubuntu4) UNRELEASED; urgency=low LP: #540228 * cmdline/apt-get.cc, apt-pkg/cdrom.cc: - fix memory leaks in error conditions in DoSource() + * apt-pkg/deb/dpkgpm.cc: + - fix error message construction in OpenLog() -- Michael Vogt Fri, 26 Mar 2010 16:57:49 +0100 -- cgit v1.2.3-70-g09d2 From eea96cc7c1092f96c5929876608d09d9af292954 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 5 May 2010 09:58:23 +0200 Subject: * apt-pkg/deb/debrecords.cc: - fix max tag buffer size (LP: #545336, closes: #578959) --- apt-pkg/deb/debrecords.cc | 3 ++- debian/changelog | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'apt-pkg/deb') diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc index 8ed0bb7eb..57d30dc62 100644 --- a/apt-pkg/deb/debrecords.cc +++ b/apt-pkg/deb/debrecords.cc @@ -19,7 +19,8 @@ /* */ debRecordParser::debRecordParser(string FileName,pkgCache &Cache) : File(FileName,FileFd::ReadOnly), - Tags(&File,Cache.Head().MaxVerFileSize + 200) + Tags(&File, std::max(Cache.Head().MaxVerFileSize, + Cache.Head().MaxDescFileSize) + 200) { } /*}}}*/ diff --git a/debian/changelog b/debian/changelog index 8e8ecca09..7ff516fc2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,13 @@ -apt (0.7.25.3ubuntu8) UNRELEASED; urgency=low +apt (0.7.25.3ubuntu8) lucid-proposedUNRELEASED; urgency=low + [ Loïc Minier ] * Use https:// in Vcs-Bzr URL. - -- Loïc Minier Thu, 22 Apr 2010 10:57:24 +0200 + [ Michael Vogt ] + * apt-pkg/deb/debrecords.cc: + - fix max tag buffer size (LP: #545336, closes: #578959) + + -- Michael Vogt Wed, 05 May 2010 09:57:53 +0200 apt (0.7.25.3ubuntu7) lucid; urgency=low -- cgit v1.2.3-70-g09d2