From: Michael Vogt Date: Tue, 6 Feb 2007 14:04:47 +0000 (+0100) Subject: * merged the apt--mirror branch X-Git-Tag: 0.7.24ubuntu1~204 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/a577a938d4b957b5462a830b21d509fa754b33d5?hp=-c * merged the apt--mirror branch --- a577a938d4b957b5462a830b21d509fa754b33d5 diff --combined apt-pkg/acquire-item.cc index 94288a132,38530152f..3be7878bf --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@@ -63,6 -63,7 +63,7 @@@ void pkgAcquire::Item::Failed(string Me { Status = StatIdle; ErrorText = LookupTag(Message,"Message"); + UsedMirror = LookupTag(Message,"UsedMirror"); if (QueueCounter <= 1) { /* This indicates that the file is not available right now but might @@@ -75,10 -76,17 +76,17 @@@ Dequeue(); return; } - + Status = StatError; Dequeue(); } + + // report mirror failure back to LP if we actually use a mirror + string FailReason = LookupTag(Message, "FailReason"); + if(FailReason.size() != 0) + ReportMirrorFailure(FailReason); + else + ReportMirrorFailure(ErrorText); } /*}}}*/ // Acquire::Item::Start - Item has begun to download /*{{{*/ @@@ -100,6 -108,7 +108,7 @@@ void pkgAcquire::Item::Done(string Mess { // We just downloaded something.. string FileName = LookupTag(Message,"Filename"); + UsedMirror = LookupTag(Message,"UsedMirror"); if (Complete == false && FileName == DestFile) { if (Owner->Log != 0) @@@ -108,7 -117,6 +117,6 @@@ if (FileSize == 0) FileSize= Size; - Status = StatDone; ErrorText = string(); Owner->Dequeue(this); @@@ -131,6 -139,49 +139,49 @@@ void pkgAcquire::Item::Rename(string Fr } /*}}}*/ + void pkgAcquire::Item::ReportMirrorFailure(string FailCode) + { + // we only act if a mirror was used at all + if(UsedMirror.empty()) + return; + #if 0 + std::cerr << "\nReportMirrorFailure: " + << UsedMirror + << " Uri: " << DescURI() + << " FailCode: " + << FailCode << std::endl; + #endif + const char *Args[40]; + unsigned int i = 0; + string report = _config->Find("Methods::Mirror::ProblemReporting", + "/usr/lib/apt/apt-report-mirror-failure"); + if(!FileExists(report)) + return; + Args[i++] = report.c_str(); + Args[i++] = UsedMirror.c_str(); + Args[i++] = DescURI().c_str(); + Args[i++] = FailCode.c_str(); + Args[i++] = NULL; + pid_t pid = ExecFork(); + if(pid < 0) + { + _error->Error("ReportMirrorFailure Fork failed"); + return; + } + else if(pid == 0) + { + execvp(Args[0], (char**)Args); + std::cerr << "Could not exec " << Args[0] << std::endl; + _exit(100); + } + if(!ExecWait(pid, "report-mirror-failure")) + { + _error->Warning("Couldn't report problem to '%s'", + _config->Find("Methods::Mirror::ProblemReporting").c_str()); + } + } + + // AcqIndex::AcqIndex - Constructor /*{{{*/ // --------------------------------------------------------------------- /* The package file is added to the queue and a second class is @@@ -176,7 -227,6 +227,6 @@@ string pkgAcqIndex::Custom600Headers( struct stat Buf; if (stat(Final.c_str(),&Buf) != 0) return "\nIndex-File: true"; - return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); } /*}}}*/ @@@ -235,6 -285,7 +285,7 @@@ void pkgAcqIndex::Done(string Message,u Status = StatAuthError; ErrorText = _("MD5Sum mismatch"); Rename(DestFile,DestFile + ".FAILED"); + ReportMirrorFailure("HashChecksumFailure"); return; } // Done, move it into position @@@ -308,35 -359,6 +359,35 @@@ Mode = decompProg; } +// AcqIndexTrans::pkgAcqIndexTrans - Constructor /*{{{*/ +// --------------------------------------------------------------------- +/* The Translation file is added to the queue */ +pkgAcqIndexTrans::pkgAcqIndexTrans(pkgAcquire *Owner, + string URI,string URIDesc,string ShortDesc) : + pkgAcqIndex(Owner, URI, URIDesc, ShortDesc, "", "") +{ +} + + /*}}}*/ +// AcqIndexTrans::Failed - Silence failure messages for missing files /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void pkgAcqIndexTrans::Failed(string Message,pkgAcquire::MethodConfig *Cnf) +{ + if (Cnf->LocalOnly == true || + StringToBool(LookupTag(Message,"Transient-Failure"),false) == false) + { + // Ignore this + Status = StatDone; + Complete = false; + Dequeue(); + return; + } + + Item::Failed(Message,Cnf); +} + /*}}}*/ + pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire *Owner, string URI,string URIDesc,string ShortDesc, string MetaIndexURI, string MetaIndexURIDesc, @@@ -350,9 -372,8 +401,9 @@@ DestFile = _config->FindDir("Dir::State::lists") + "partial/"; DestFile += URItoFileName(URI); - // remove any partial downloaded sig-file. it may confuse proxies - // and is too small to warrant a partial download anyway + // remove any partial downloaded sig-file in partial/. + // it may confuse proxies and is too small to warrant a + // partial download anyway unlink(DestFile.c_str()); // Create the item @@@ -419,22 -440,17 +470,22 @@@ void pkgAcqMetaSig::Done(string Message /*}}}*/ void pkgAcqMetaSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf) { + string Final = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI); // if we get a network error we fail gracefully - if(LookupTag(Message,"FailReason") == "Timeout" || - LookupTag(Message,"FailReason") == "TmpResolveFailure" || - LookupTag(Message,"FailReason") == "ConnectionRefused") { + if(Status == StatTransientNetworkError) + { Item::Failed(Message,Cnf); + // move the sigfile back on network failures (and re-authenticated?) + if(FileExists(DestFile)) + Rename(DestFile,Final); + + // set the status back to , Item::Failed likes to reset it + Status = pkgAcquire::Item::StatTransientNetworkError; return; } // Delete any existing sigfile when the acquire failed - string Final = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI); unlink(Final.c_str()); // queue a pkgAcqMetaIndex with no sigfile @@@ -757,6 -773,7 +808,7 @@@ void pkgAcqMetaIndex::Failed(string Mes } // gpgv method failed + ReportMirrorFailure("GPGFailure"); _error->Warning("GPG error: %s: %s", Desc.Description.c_str(), LookupTag(Message,"Message").c_str()); diff --combined apt-pkg/acquire-item.h index 3a0a690e1,9949d0044..f659bb459 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@@ -9,8 -9,8 +9,8 @@@ the Owner Acquire class. Derived classes will then call QueueURI to register all the URI's they wish to fetch at the initial moment. - Two item classes are provided to provide functionality for downloading - of Index files and downloading of Packages. + Three item classes are provided to provide functionality for + downloading of Index, Translation and Packages files. A Archive class is provided for downloading .deb files. It does Md5 checking and source location as well as a retry algorithm. @@@ -48,8 -48,7 +48,8 @@@ class pkgAcquire::Ite public: // State of the item - enum {StatIdle, StatFetching, StatDone, StatError, StatAuthError} Status; + enum {StatIdle, StatFetching, StatDone, StatError, + StatAuthError, StatTransientNetworkError} Status; string ErrorText; unsigned long FileSize; unsigned long PartialSize; @@@ -57,6 -56,7 +57,7 @@@ unsigned long ID; bool Complete; bool Local; + string UsedMirror; // Number of queues we are inserted into unsigned int QueueCounter; @@@ -79,6 -79,9 +80,9 @@@ pkgAcquire *GetOwner() {return Owner;}; virtual bool IsTrusted() {return false;}; + // report mirror problems + void ReportMirrorFailure(string FailCode); + Item(pkgAcquire *Owner); virtual ~Item(); }; @@@ -108,16 -111,6 +112,16 @@@ class pkgAcqIndex : public pkgAcquire:: string ShortDesct, string ExpectedMD5, string compressExt=""); }; +// Item class for translated package index files +class pkgAcqIndexTrans : public pkgAcqIndex +{ + public: + + virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); + pkgAcqIndexTrans(pkgAcquire *Owner,string URI,string URIDesc, + string ShortDesct); +}; + struct IndexTarget { string URI; diff --combined apt-pkg/init.cc index 579a19ab9,fe085a75e..0be0aee98 --- a/apt-pkg/init.cc +++ b/apt-pkg/init.cc @@@ -40,8 -40,6 +40,8 @@@ bool pkgInitConfig(Configuration &Cnf else Cnf.Set("APT::Architecture",COMMON_OS "-" COMMON_CPU); Cnf.Set("APT::Build-Essential::", "build-essential"); + Cnf.Set("APT::Install-Recommends", false); + Cnf.Set("APT::Install-Suggests", false); Cnf.Set("Dir","/"); // State @@@ -56,6 -54,7 +56,7 @@@ Cnf.Set("Dir::State::lists","lists/"); Cnf.Set("Dir::State::cdroms","cdroms.list"); + Cnf.Set("Dir::State::mirrors","mirrors/"); // Cache Cnf.Set("Dir::Cache","var/cache/apt/"); @@@ -104,9 -103,6 +105,9 @@@ bindtextdomain(textdomain(0),Cnf.FindDir("Dir::Locale").c_str()); } #endif + + // Translation + Cnf.Set("APT::Acquire::Translation", "environment"); return true; } diff --combined cmdline/makefile index 49035be44,8d284c2f3..2a5bdfbea --- a/cmdline/makefile +++ b/cmdline/makefile @@@ -53,8 -53,8 +53,14 @@@ TO=$(BIN TARGET=program include $(COPY_H) +# The apt-mark program +SOURCE=apt-mark +TO=$(BIN) +TARGET=program +include $(COPY_H) ++ + # The apt-key program + SOURCE=apt-report-mirror-failure + TO=$(BIN) + TARGET=program + include $(COPY_H) diff --combined configure.in index 67841b3ef,df452ba34..ce166b31e --- a/configure.in +++ b/configure.in @@@ -18,7 -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.6.46.4ubuntu6") -AC_DEFINE_UNQUOTED(VERSION,"0.6.46.4") ++AC_DEFINE_UNQUOTED(VERSION,"0.6.46.4ubuntu7") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) diff --combined debian/apt.dirs index 1543e8bb1,b81878baa..025898e84 --- a/debian/apt.dirs +++ b/debian/apt.dirs @@@ -2,9 -2,9 +2,10 @@@ usr/bi usr/lib/apt/methods usr/lib/dpkg/methods/apt etc/apt +etc/apt/apt.conf.d etc/apt/sources.list.d var/cache/apt/archives/partial var/lib/apt/lists/partial + var/lib/apt/mirrors/partial var/lib/apt/periodic usr/share/bug/apt diff --combined debian/changelog index 838567183,6c9ada3a5..6fdf646f0 --- a/debian/changelog +++ b/debian/changelog @@@ -1,111 -1,8 +1,123 @@@ -apt (0.6.46.4) unstable; urgency=low ++apt (0.6.46.4ubuntu7) feisty; urgency=low + ++ * Merged the apt--mirror branch. This means that a new 'mirror' ++ method is available that will allow dynamic mirror updates. ++ The sources.list entry looks something like this: ++ "deb mirror://mirrors.lp.net/get_mirror feisty main restricted" ++ ++ It also supports error reporting to a configurable url for mirror ++ problems/failures. ++ ++ -- Michael Vogt Tue, 6 Feb 2007 11:38:06 +0100 ++ +apt (0.6.46.4ubuntu6) feisty; urgency=low + + * methods/http.cc: + - send apt version in User-Agent + * apt-pkg/deb/debrecords.cc: + - fix SHA1Hash() return value + * apt-pkg/algorithms.cc: + - fix resolver bug on removal triggered by weak-dependencies + with or-groups + - fix segfault (lp: #76530) + + -- Michael Vogt Wed, 20 Dec 2006 11:04:36 +0100 + +apt (0.6.46.4ubuntu5) feisty; urgency=low + + * added apt-transport-https package to provide a optional + https transport (apt-https spec) + + -- Michael Vogt Tue, 19 Dec 2006 16:23:43 +0100 + +apt (0.6.46.4ubuntu4) feisty; urgency=low + + * apt-pkg/algorithms.cc: + - only increase the score of installed applications if they + are not obsolete + + -- Michael Vogt Mon, 18 Dec 2006 19:39:05 +0100 + +apt (0.6.46.4ubuntu3) feisty; urgency=low + + * apt-pkg/algorithm.cc: + - use clog for all debugging + * apt-pkg/depcache.cc: + - never mark Required package for autoremoval (lp: #75882) + + -- Michael Vogt Mon, 18 Dec 2006 11:56:05 +0100 + +apt (0.6.46.4ubuntu2) feisty; urgency=low + + * apt-pkg/algorithms.cc: add missing call to MarkKeep + so that dist-upgrade isn't broken by unsatisfiable Breaks. + (thanks to Ian Jackson) + + -- Michael Vogt Thu, 7 Dec 2006 23:07:24 +0100 + +apt (0.6.46.4ubuntu1) feisty; urgency=low + + * merged with debian + + -- Michael Vogt Thu, 7 Dec 2006 12:13:14 +0100 + +apt (0.6.46.4) unstable; urgency=high + + * ack NMU (closes: #401017) + * added apt-secure.8 to "See also" section + * apt-pkg/deb/dpkgpm.cc: + - added "Dpkg::StopOnError" variable that controls if apt + will abort on errors from dpkg + * apt-pkg/deb/debsrcrecords.{cc,h}: + - make the Buffer grow dynmaically (closes: #400874) + * Merged from Christian Perrier bzr branch: + - uk.po: New Ukrainian translation: 483t28f3u + - el.po: Update to 503t9f2u + - de.po: Updates and corrections. + * apt-pkg/contrib/progress.cc: + - OpProgress::CheckChange optimized, thanks to Paul Brook + (closes: #398381) + * apt-pkg/contrib/sha256.cc: + - fix building with noopt + + -- Michael Vogt Thu, 7 Dec 2006 10:49:50 +0100 + +apt (0.6.46.3-0.2) unstable; urgency=high + + * Non-maintainer upload with permission of Michael Vogt. + * Fix FTBFS on most arches (regression from the fix of #400874) + + -- Andreas Barth Tue, 5 Dec 2006 15:51:22 +0000 + +apt (0.6.46.3-0.1) unstable; urgency=high + + * Non-maintainer upload with permission of Michael Vogt. + * Fix segfault at apt-get source. Closes: #400874 + * Add apt-key update in postinst, so that debian-archive-keyring doesn't + need to depend on apt >= 0.6. Closes: #401114 + * Don't double-queue pdiff files. Closes: #401017 + + -- Andreas Barth Tue, 5 Dec 2006 10:34:56 +0000 + +apt (0.6.46.3ubuntu2) feisty; urgency=low + + * apt-pkg/algorithms.cc: add missing call to MarkKeep + so that dist-upgrade isn't broken by unsatisfiable Breaks. + + -- Ian Jackson Thu, 7 Dec 2006 15:46:52 +0000 + +apt (0.6.46.3ubuntu1) feisty; urgency=low + + * doc/apt-get.8.xml: + - documented autoremove, thanks to Vladimír Lapá%Gč%@ek + (lp: #62919) + * fix broken i18n in the dpkg progress reporting, thanks to + Frans Pop and Steinar Gunderson. (closes: #389261) + * po/en_GB.po: + - typo (lp: #61270) * add apt-secure.8 to "See also" section - -- Michael Vogt Wed, 24 Jan 2007 14:34:15 +0100 + -- Michael Vogt Thu, 23 Nov 2006 07:24:12 +0100 apt (0.6.46.3) unstable; urgency=low @@@ -168,46 -65,10 +180,46 @@@ apt (0.6.46) unstable; urgency=lo * debian/control: - switched to libdb4.4 for building (closes: #381019) * cmdline/apt-get.cc: - - show only the recommends/suggests for the candidate-version, not for all - versions of the package (closes: #257054) - - properly handle recommends/suggests or-groups when printing the list of - suggested/recommends packages (closes: #311619) + - fix in the TryInstallTask() code to make sure that all package + there are marked manual install (lp: #61684) + + -- Michael Vogt Thu, 28 Sep 2006 00:34:20 +0200 + +apt (0.6.45ubuntu14) edgy; urgency=low + + * cmdline/apt-get.cc: + - fix in the TryInstallTask() code to make sure that all package + there are marked manual install (lp: #61684) + + -- Michael Vogt Thu, 28 Sep 2006 00:34:20 +0200 + +apt (0.6.45ubuntu13) edgy; urgency=low + + * no-changes upload to make apt rebuild against latest g++ and + fix synaptic FTBFS (see bug: #62461 for details) + + -- Michael Vogt Tue, 26 Sep 2006 22:33:10 +0200 + +apt (0.6.45ubuntu12) edgy; urgency=low + + * apt-pkg/depcache.cc: + - fix in the sweep() code, set garbage flag for packages scheduled + for removal too + - do not change the autoFlag in MarkKeep(), this can lead to suprising + side effects + + -- Michael Vogt Thu, 21 Sep 2006 00:58:24 +0200 + +apt (0.6.45ubuntu11) edgy; urgency=low + + * removed "installtask" and change it so that tasknames can be given + with "apt-get install taskname^" + * improve the writeStateFile() code + + -- Michael Vogt Wed, 20 Sep 2006 14:14:24 +0200 + +apt (0.6.45ubuntu10) edgy; urgency=low + * methods/http.cc: - check more careful for incorrect proxy settings (closes: #378868) * methods/gzip.cc: @@@ -232,113 -93,8 +244,113 @@@ caseinsensitive (closes: #384182) - reverted MMap use in the tagfile because it does not work across pipes (closes: #383487) + * added "installtask" command + * added new ubuntu specific rewrite rule for "Original-Maintainer" - -- Michael Vogt Thu, 21 Sep 2006 10:25:03 +0200 + -- Michael Vogt Tue, 19 Sep 2006 15:07:51 +0200 + +apt (0.6.45ubuntu9) edgy; urgency=low + + * cmdline/apt-get.cc: + - if --no-remove is given, do not run the AutoRemove code + + -- Michael Vogt Wed, 13 Sep 2006 11:54:20 +0200 + +apt (0.6.45ubuntu8) edgy; urgency=low + + * apt-pkg/algorithm.cc: + - fix pkgProblemResolver.InstallProtect() to preserve the auto-install + information (lp: #59457) + * cmdline/apt-get.cc: + - fix typo in autoremove information (lp: #59420) + * install apt-mark to modify the automatically install information for + packages + + -- Michael Vogt Fri, 8 Sep 2006 20:07:22 +0200 + +apt (0.6.45ubuntu7) edgy; urgency=low + + * apt-pkg/depcache.cc: + - fix a bug in the install-recommends-section code + + -- Michael Vogt Thu, 7 Sep 2006 18:22:38 +0200 + +apt (0.6.45ubuntu6) edgy; urgency=low + + [Michael Vogt] + * cmdline/apt-get.cc: + - always show auto-removable packages and give a hint how to remove + them + * debian/apt.conf.ubuntu: + - exlucde linux-image and linux-restricted-modules from ever being + auto-removed + - added "metapackages" as the section we want to install recommends + by default + * apt-pkg/depcache.cc: + - added support to turn install-recommends selectively on/off by + section + [Ian Jackson] + * Tests pass without code changes! Except that we need this: + * Bump cache file major version to force rebuild so that Breaks + dependencies are included. + * Don't depend on or suggest any particular dpkg or dpkg-dev versions; + --auto-deconfigure is very very old and dpkg-dev's Breaks support + is more or less orthogonal. + * Initial draft of `Breaks' implementation. Appears to compile, + but as yet *completely untested*. + + -- Michael Vogt Thu, 7 Sep 2006 11:50:52 +0200 + +apt (0.6.45ubuntu5) edgy; urgency=low + + * apt-pkg/pkgcachegen.cc: + - increase the APT::Cache-Limit to deal with the increased demand due + to the translated descriptions + * apt-pkg/deb/dpkgpm.cc: + - pass "--auto-deconfigure" to dpkg on install to support the + new "breaks" in dpkg + + -- Michael Vogt Tue, 15 Aug 2006 12:06:26 +0200 + +apt (0.6.45ubuntu4) edgy; urgency=low + + * cmdline/apt-get.cc: + - fix in the new --fix-polciy code + + -- Michael Vogt Mon, 14 Aug 2006 21:08:11 +0200 + +apt (0.6.45ubuntu3) edgy; urgency=low + + * ABI break + * merged latest apt--install-recommends (closes: #559000) + * added "--fix-policy" option to can be used as "--fix-broken" and + will install missing weak depends (recommends, and/or suggests + depending on the settings) + * merged the apt--ddtp branch + + -- Michael Vogt Fri, 11 Aug 2006 12:53:23 +0200 + +apt (0.6.45ubuntu2) edgy; urgency=low + + * debian/control: + - switched to libdb4.4 for building (closes: #381019) + * cmdline/apt-get.cc: + - show only the recommends/suggests for the candidate-version, not for all + versions of the package (closes: #257054) + - properly handle recommends/suggests or-groups when printing the list of + suggested/recommends packages (closes: #311619) + * merged "apt--install-recommends" branch: + - added "{no-}install-recommends" commandline option + - added APT::Install-{Recommends,Suggests} option + - currently Install-Recommends defaults to "False" + + -- Michael Vogt Wed, 9 Aug 2006 23:38:46 +0200 + +apt (0.6.45ubuntu1) edgy; urgency=low + + * merged with debian/unstable + + -- Michael Vogt Tue, 1 Aug 2006 15:43:22 +0200 apt (0.6.45) unstable; urgency=low @@@ -379,38 -135,7 +391,38 @@@ -- Michael Vogt Thu, 27 Jul 2006 00:52:05 +0200 -apt (0.6.44.2) unstable; urgency=low +apt (0.6.44.2ubuntu4) edgy; urgency=low + + * Make apt-get dselect-upgrade happy again + + -- Michael Vogt Fri, 21 Jul 2006 11:03:02 +0200 + +apt (0.6.44.2ubuntu3) edgy; urgency=low + + * Close extended_states file after writing it. + + -- Colin Watson Tue, 18 Jul 2006 00:12:13 +0100 + +apt (0.6.44.2ubuntu2) edgy; urgency=low + + * create a empty extended_states file if none exists already + + -- Michael Vogt Tue, 4 Jul 2006 09:23:03 +0200 + +apt (0.6.44.2ubuntu1) edgy; urgency=low + + * merged with debian/unstable + * merged the "auto-mark" branch to support aptitude like + marking of automatically installed dependencies and added + "apt-get remove --auto-remove" to remove unused auto-installed + packages again + * changed library version from 3.11 to 3.50 to make it clearly + different from the debian version (we are ABI incompatible because + of the auto-mark patch) + + -- Michael Vogt Mon, 3 Jul 2006 18:30:46 +0200 + +apt (0.6.44.2) unstable; urgency=low * apt-pkg/depcache.cc: - added Debug::pkgDepCache::AutoInstall (thanks to infinity) @@@ -478,26 -203,6 +490,26 @@@ apt (0.6.44) unstable; urgency=lo -- Michael Vogt Mon, 8 May 2006 22:28:53 +0200 +apt (0.6.43.3ubuntu3) dapper; urgency=low + + * methods/http.cc: + - fix the user-agent string + + -- Michael Vogt Fri, 26 May 2006 18:09:32 +0200 + +apt (0.6.43.3ubuntu2) dapper; urgency=low + + * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman) + + -- Michael Vogt Tue, 18 Apr 2006 13:24:40 +0200 + +apt (0.6.43.3ubuntu1) dapper; urgency=low + + * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large in + the status-fd (ubuntu #28954) + + -- Michael Vogt Tue, 28 Mar 2006 20:34:46 +0200 + apt (0.6.43.3) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-186: @@@ -507,46 -212,16 +519,46 @@@ * pl.po: Completed to 512t. Closes: #349514 * sk.po: Completed to 512t. Closes: #349474 * gl.po: Completed to 512 strings Closes: #349407 + * vi.po: Completed to 512 strings * sv.po: Completed to 512 strings Closes: #349210 * ru.po: Completed to 512 strings Closes: #349154 * da.po: Completed to 512 strings Closes: #349084 * fr.po: Completed to 512 strings + * LINGUAS: Add Welsh + * *.po: Updated from sources (512 strings) * vi.po: Completed to 511 strings Closes: #348968 - * zh_CN.po: Completed to 512t. Closes: #353936 - * it.po: Completed to 512t. Closes: #352803 - * pt_BR.po: Completed to 512t. Closes: #352419 + * apt-pkg/deb/deblistparser.cc: + - don't explode on a DepCompareOp in a Provides line, but warn about + it and ignore it otherwise (thanks to James Troup for reporting it) + * cmdline/apt-get.cc: + - don't lock the lists directory in DoInstall, breaks --print-uri + (thanks to James Troup for reporting it) + * debian/apt.dirs: create /etc/apt/sources.list.d + * make apt-cache madison work without deb-src entries (#352583) + * cmdline/apt-get.cc: only run the list-cleaner if a update was + successfull + * apt-get update errors are only warnings nowdays + * be more careful with the signature file on network failures + + -- Michael Vogt Wed, 22 Feb 2006 10:13:04 +0100 + +apt (0.6.43.2ubuntu1) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-182: + * ca.po: Completed to 512t. Closes: #351592 + * eu.po: Completed to 512t. Closes: #350483 + * ja.po: Completed to 512t. Closes: #349806 + * pl.po: Completed to 512t. Closes: #349514 + * sk.po: Completed to 512t. Closes: #349474 + * gl.po: Completed to 512 strings Closes: #349407 + * vi.po: Completed to 512 strings + * sv.po: Completed to 512 strings Closes: #349210 + * ru.po: Completed to 512 strings Closes: #349154 + * da.po: Completed to 512 strings Closes: #349084 + * fr.po: Completed to 512 strings * LINGUAS: Add Welsh * *.po: Updated from sources (512 strings) + * vi.po: Completed to 511 strings Closes: #348968 * apt-pkg/deb/deblistparser.cc: - don't explode on a DepCompareOp in a Provides line, but warn about it and ignore it otherwise (thanks to James Troup for reporting it) @@@ -557,10 -232,8 +569,10 @@@ * make apt-cache madison work without deb-src entries (#352583) * cmdline/apt-get.cc: only run the list-cleaner if a update was successfull + * apt-get update errors are only warnings nowdays + * be more careful with the signature file on network failures - -- Michael Vogt Wed, 22 Feb 2006 10:13:04 +0100 + -- Michael Vogt Mon, 20 Feb 2006 22:27:48 +0100 apt (0.6.43.2) unstable; urgency=low @@@ -585,26 -258,8 +597,26 @@@ -- Michael Vogt Thu, 19 Jan 2006 00:06:33 +0100 -apt (0.6.43.1) unstable; urgency=low +apt (0.6.43.1ubuntu1) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-159: + - en_GB.po, de.po: fix spaces errors in "Ign " translations + Closes: #347258 + - makefile: make update-po a pre-requisite of clean target so + that POT and PO files are always up-to-date + - sv.po: Completed to 511t. Closes: #346450 + - sk.po: Completed to 511t. Closes: #346369 + - fr.po: Completed to 511t + - *.po: Updated from sources (511 strings) + * add patch to fix http download corruption problem (thanks to + Petr Vandrovec, closes: #280844, #290694) + * added APT::Periodic::Unattended-Upgrade (requires the package + "unattended-upgrade") + -- Michael Vogt Tue, 10 Jan 2006 17:09:31 +0100 + +apt (0.6.43.1) unstable; urgency=low + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-148: * fr.po: Completed to 510 strings * it.po: Completed to 510t @@@ -626,19 -281,6 +638,19 @@@ -- Michael Vogt Fri, 6 Jan 2006 01:17:08 +0100 +apt (0.6.43ubuntu2) dapper; urgency=low + + * merged some missing bits that wheren't merged by baz in the previous + upload (*grumble*) + + -- Michael Vogt Thu, 8 Dec 2005 18:35:58 +0100 + +apt (0.6.43ubuntu1) dapper; urgency=low + + * merged with debian + + -- Michael Vogt Fri, 25 Nov 2005 11:36:29 +0100 + apt (0.6.43) unstable; urgency=medium * Merge bubulle@debian.org--2005/apt--main--0 up to patch-132: @@@ -659,22 -301,6 +671,22 @@@ -- Michael Vogt Tue, 29 Nov 2005 00:17:07 +0100 +apt (0.6.42.3ubuntu2) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-131: + * zh_CN.po: Completed to 507 strings(Closes: #338267) + * gl.po: Completed to 510 strings (Closes: #338356) + * added support for "/etc/apt/sources.list.d" directory + (closes: #66325) + + -- Michael Vogt Mon, 14 Nov 2005 15:30:12 +0100 + +apt (0.6.42.3ubuntu1) dapper; urgency=low + + * synced with debian + + -- Michael Vogt Thu, 10 Nov 2005 05:05:56 +0100 + apt (0.6.42.3) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-129: @@@ -722,13 -348,13 +734,13 @@@ apt (0.6.42) unstable; urgency=lo - unmount the cdrom when apt failed to locate any package files * allow cdrom failures and fallback to other sources in that case (closes: #44135) - * better error text when dpkg-source fails + * better error text when dpkg-source fails * Merge bubulle@debian.org--2005/apt--main--0 up to patch-115: - patch-99: Added Galician translation - patch-100: Completed Danish translation (Closes: #325686) - patch-104: French translation completed - patch-109: Italian translation completed - - patch-112: Swedish translation update + - patch-112: Swedish translation update - patch-115: Basque translation completed (Closes: #333299) * applied french man-page update (thanks to Philippe Batailler) (closes: #316638, #327456) @@@ -742,12 -368,12 +754,12 @@@ * apt-pkg/contrib/md5.cc: - fix a alignment problem on sparc64 that gives random bus errors (thanks to Fabbione for providing a test-case) - * init the default ScreenWidth to 79 columns by default + * init the default ScreenWidth to 79 columns by default (Closes: #324921) - * cmdline/apt-cdrom.cc: + * cmdline/apt-cdrom.cc: - fix some missing gettext() calls (closes: #334539) * doc/apt-cache.8.xml: fix typo (closes: #334714) - + -- Michael Vogt Wed, 19 Oct 2005 22:02:09 +0200 apt (0.6.41) unstable; urgency=low @@@ -755,8 -381,8 +767,8 @@@ * improved the support for "error" and "conffile" reporting from dpkg, added the format to README.progress-reporting * added README.progress-reporting to the apt-doc package - * improved the network timeout handling, if a index file from a - sources.list times out or EAI_AGAIN is returned from getaddrinfo, + * improved the network timeout handling, if a index file from a + sources.list times out or EAI_AGAIN is returned from getaddrinfo, don't try to get the other files from that entry * Support architecture-specific extra overrides (closes: #225947). Thanks to Anthony Towns for idea and @@@ -764,10 -390,10 +776,10 @@@ * Javier Fernandez-Sanguino Pen~a: - Added a first version of an apt-secure.8 manpage, and modified apt-key and apt.end accordingly. Also added the 'update' - argument to apt-key which was previously not documented + argument to apt-key which was previously not documented (Closes: #322120) * Andreas Pakulat: - - added example apt-ftparchive.conf file to doc/examples + - added example apt-ftparchive.conf file to doc/examples (closes: #322483) * Fix a incorrect example in the man-page (closes: #282918) * Fix a bug for very long lines in the apt-cdrom code (closes: #280356) @@@ -776,84 -402,10 +788,84 @@@ * Change pkgPolicy::Pin from private to protected to let subclasses access it too (closes: #321799) * add default constructor for PrvIterator (closes: #322267) - * Reread status configuration on debSystem::Initialize() + * Reread status configuration on debSystem::Initialize() (needed for apt-proxy, thanks to Otavio for this patch) - + -- Michael Vogt Mon, 5 Sep 2005 22:59:03 +0200 + +apt (0.6.40.1ubuntu8) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-62: + - fix for a bad memory/file leak in the mmap code (ubuntu #15603) + * po/de.po, po/fr.po: + - updated the translations + * po/makefile: + - create a single pot file in each domain dir to make rosetta happy + + -- Michael Vogt Wed, 28 Sep 2005 10:16:06 +0200 + +apt (0.6.40.1ubuntu7) breezy; urgency=low + + * updated the pot/po files , no code changes + + -- Michael Vogt Tue, 27 Sep 2005 18:38:16 +0200 + +apt (0.6.40.1ubuntu6) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-56: + - make it possible for apt to handle a failed MediaChange event and + fall back to other sources (ubuntu #13713) + + -- Michael Vogt Tue, 13 Sep 2005 22:09:50 +0200 + +apt (0.6.40.1ubuntu5) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-{50,51}. + This adds media-change reporting to the apt status-fd (ubuntu #15213) + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-55: + apt-pkg/cdrom.cc: + - unmount the cdrom when apt failed to locate any package files + + -- Michael Vogt Mon, 12 Sep 2005 15:44:26 +0200 + +apt (0.6.40.1ubuntu4) breezy; urgency=low + + * debian/apt.cron.daily: + - fix a embarrassing typo + + -- Michael Vogt Wed, 7 Sep 2005 10:10:37 +0200 + +apt (0.6.40.1ubuntu3) breezy; urgency=low + + * debian/apt.cron.daily: + - use the ctime as well when figuring what packages need to + be removed. This fixes the problem that packages copied with + "cp -a" (e.g. from the installer) have old mtimes (ubuntu #14504) + + -- Michael Vogt Tue, 6 Sep 2005 18:30:46 +0200 + +apt (0.6.40.1ubuntu2) breezy; urgency=low + + * improved the support for "error" and "conffile" reporting from + dpkg, added the format to README.progress-reporting + * added README.progress-reporting to the apt-doc package + * Do md5sum checking for file and cdrom method (closes: #319142) + * Change pkgPolicy::Pin from private to protected to let subclasses + access it too (closes: #321799) + * methods/connect.cc: + - send failure reason for EAI_AGAIN (TmpResolveFailure) to acuire-item + * apt-pkg/acquire-item.cc: + - fail early if a FailReason is TmpResolveFailure (avoids hangs during + the install when no network is available) + * merged michael.vogt@ubuntu.com--2005/apt--trust-cdrom--0 + + -- Michael Vogt Tue, 23 Aug 2005 19:44:55 +0200 + +apt (0.6.40.1ubuntu1) breezy; urgency=low + + * Synchronize with Debian + + -- Michael Vogt Fri, 5 Aug 2005 14:20:56 +0200 apt (0.6.40.1) unstable; urgency=low @@@ -864,12 -416,6 +876,12 @@@ -- Michael Vogt Fri, 5 Aug 2005 13:24:58 +0200 +apt (0.6.40ubuntu1) breezy; urgency=low + + * Synchronize with Debian + + -- Matt Zimmerman Thu, 4 Aug 2005 15:53:22 -0700 + apt (0.6.40) unstable; urgency=low * Patch from Jordi Mallach to mark some additional strings for translation @@@ -885,39 -431,6 +897,39 @@@ -- Matt Zimmerman Thu, 28 Jul 2005 11:57:32 -0700 +apt (0.6.39ubuntu4) breezy; urgency=low + + * Fix keyring paths in apt-key, apt.postinst (I swear I remember doing this + before...) + + -- Matt Zimmerman Wed, 29 Jun 2005 08:39:17 -0700 + +apt (0.6.39ubuntu3) breezy; urgency=low + + * Fix keyring locations for Ubuntu in apt-key too. + + -- Colin Watson Wed, 29 Jun 2005 14:45:36 +0100 + +apt (0.6.39ubuntu2) breezy; urgency=low + + * Install ubuntu-archive.gpg rather than debian-archive.gpg as + /etc/apt/trusted.gpg. + + -- Colin Watson Wed, 29 Jun 2005 11:53:34 +0100 + +apt (0.6.39ubuntu1) breezy; urgency=low + + * Michael Vogt + - Change debian/bugscript to use #!/bin/bash (Closes: #313402) + - Fix a incorrect example in the man-page (closes: #282918) + - Support architecture-specific extra overrides + (closes: #225947). Thanks to Anthony Towns for idea and + the patch, thanks to Colin Watson for testing it. + - better report network timeouts from the methods to the acuire code, + only timeout once per sources.list line + + -- Matt Zimmerman Tue, 28 Jun 2005 11:52:24 -0700 + apt (0.6.39) unstable; urgency=low * Welsh translation update: daf@muse.19inch.net--2005/apt--main--0--patch-6 @@@ -928,14 -441,7 +940,14 @@@ * Update priority of apt-utils to important, to match the override file * Install only one keyring on each branch (Closes: #316119) - -- Matt Zimmerman Tue, 28 Jun 2005 11:51:09 -0700 + -- Matt Zimmerman Tue, 28 Jun 2005 11:35:21 -0700 + +apt (0.6.38ubuntu1) breezy; urgency=low + + * First release from Ubuntu branch + * Merge with --main--0, switch back to Ubuntu keyring + + -- Matt Zimmerman Sat, 25 Jun 2005 16:52:41 -0700 apt (0.6.38) unstable; urgency=low @@@ -967,7 -473,6 +979,7 @@@ apt (0.6.37) breezy; urgency=lo * Add Welsh translation from Dafydd Harries (daf@muse.19inch.net--2005/apt--main--0--patch-1) * Change debian/bugscript to use #!/bin/bash (Closes: #313402) + * Fix a incorrect example in the man-page (closes: #282918) -- Matt Zimmerman Tue, 24 May 2005 14:38:25 -0700 diff --combined debian/rules index b22b09fd1,9e87b1723..3defd3c29 --- a/debian/rules +++ b/debian/rules @@@ -185,7 -185,7 +185,7 @@@ apt-doc: build-do # Build architecture-dependent files here. -binary-arch: apt libapt-pkg-dev apt-utils +binary-arch: apt-transport-https apt libapt-pkg-dev apt-utils apt: build debian/shlibs.local dh_testdir -p$@ dh_testroot -p$@ @@@ -210,15 -210,14 +210,19 @@@ cp debian/bugscript debian/$@/usr/share/bug/apt/script - cp share/debian-archive.gpg debian/$@/usr/share/$@ - + cp share/ubuntu-archive.gpg debian/$@/usr/share/$@ + cp debian/apt.conf.ubuntu debian/$@/etc/apt/apt.conf.d/01ubuntu # head -n 500 ChangeLog > debian/ChangeLog + # make rosetta happy and remove pot files in po/ (but leave stuff + # in po/domains/* untouched) and cp *.po into each domain dir + rm -f build/po/*.pot + rm -f po/*.pot + + # move the mirror failure script in place + mv debian/$@/usr/bin/apt-report-mirror-failure \ + debian/$@/usr/lib/apt/apt-report-mirror-failure \ + dh_installexamples -p$@ $(BLD)/docs/examples/* dh_installman -p$@ dh_installcron -p$@ @@@ -291,32 -290,6 +295,32 @@@ apt-utils: build debian/shlibs.loca dh_md5sums -p$@ dh_builddeb -p$@ +apt-transport-https: build debian/shlibs.local + dh_testdir -p$@ + dh_testroot -p$@ + dh_clean -p$@ -k + dh_installdirs -p$@ + + # install the method + mkdir -p debian/$@/usr/lib/apt/methods + mv $(BLD)/bin/methods/https debian/$@/usr/lib/apt/methods + + dh_installdocs -p$@ + dh_installexamples -p$@ + + # Install the man pages.. + dh_installman -p$@ + + dh_installchangelogs -p$@ + dh_strip -p$@ + dh_compress -p$@ + dh_fixperms -p$@ + dh_installdeb -p$@ + dh_shlibdeps -p$@ -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + source diff: @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false @@@ -369,4 -342,4 +373,4 @@@ arch-build mkdir -p debian/arch-build/apt-$(APT_DEBVER) tar -c --exclude=arch-build --no-recursion -f - `bzr inventory` | (cd debian/arch-build/$(PKG)-$(APT_DEBVER);tar xf -) $(MAKE) -C debian/arch-build/apt-$(APT_DEBVER) startup doc - (cd debian/arch-build/apt-$(APT_DEBVER); $(DEB_BUILD_PROG)) + (cd debian/arch-build/apt-$(APT_DEBVER); $(DEB_BUILD_PROG); dpkg-genchanges -S > ../apt_$(APT_DEBVER)_source.changes) diff --combined doc/examples/configure-index index 26d9354fe,c02fe849f..4262b479f --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@@ -24,15 -24,11 +24,15 @@@ AP { Architecture "i386"; Build-Essential "build-essential"; - + + NeverAutoRemove { "linux-kernel.*"; }; // packages that should never + // considered for autoRemove + // Options for apt-get Get { Arch-Only "false"; + AutomaticRemove "false"; Download-Only "false"; Simulate "false"; Assume-Yes "false"; @@@ -94,10 -90,6 +94,10 @@@ Cache-Limit "4194304"; Default-Release ""; + // consider Recommends, Suggests as important dependencies that should + // be installed by default + APT::Install-Recommends "false"; + APT::Install-Suggests "false"; // Write progress messages on this fd (for stuff like base-config) Status-Fd "-1"; @@@ -128,18 -120,6 +128,18 @@@ Acquir Dl-Limit "7"; // 7Kb/sec maximum download rate }; + // HTTPS method configuration: + // - uses the http proxy config + // - uses the http cache-control values + // - uses the http Dl-Limit values + https + { + Verify-Peer "false"; + SslCert "/etc/apt/some.pem"; + CaPath "/etc/ssl/certs"; + Verify-Host" "2"; + }; + ftp { Proxy "ftp://127.0.0.1/"; @@@ -180,6 -160,17 +180,17 @@@ { Options {"--ignore-time-conflict";} // not very usefull on a normal system }; + + mirror + { + RefreshInterval "360"; // refresh interval in minutes + MaxAge "90"; // max age for a mirror file in days before + // it gets deleted + // mirror failure reporting script + ProblemReporting "/usr/lib/apt/apt-report-mirror-failure"; + // mirror failure reporting url + ReportFailures "http://example.com/mirror-failure"; + }; }; // Directory layout @@@ -193,6 -184,7 +204,7 @@@ Dir "/ userstatus "status.user"; status "/var/lib/dpkg/status"; cdroms "cdroms.list"; + mirrors "mirrors/"; }; // Location of the cache dir @@@ -257,10 -249,6 +269,10 @@@ DPk // Control the size of the command line passed to dpkg. MaxBytes 1024; MaxArgs 350; + + // controls if apt will apport on the first dpkg error or if it + // tries to install as many packages as possible + StopOnError "true"; } /* Options you can set to see some debugging text They correspond to names @@@ -275,17 -263,16 +287,17 @@@ Debu pkgDPkgPM "false"; pkgDPkgProgressReporting "false"; pkgOrderList "false"; + pkgAutoRemove "false"; // show information about automatic removes BuildDeps "false"; - pkgInitialize "false"; // This one will dump the configuration space NoLocking "false"; Acquire::Ftp "false"; // Show ftp command traffic Acquire::Http "false"; // Show http command traffic + Acquire::Https "false"; // Show https debug Acquire::gpgv "false"; // Show the gpgv traffic + Acquire::Mirror "false"; // Show debugging of the mirror method aptcdrom "false"; // Show found package files IdentCdrom "false"; - } /* Whatever you do, do not use this configuration file!! Take out ONLY diff --combined methods/http.cc index 0eef7a633,01ad14655..ecfb80bd2 --- a/methods/http.cc +++ b/methods/http.cc @@@ -38,13 -38,11 +38,12 @@@ #include #include #include - #include #include // Internet stuff #include +#include "config.h" #include "connect.h" #include "rfc2553emu.h" #include "http.h" @@@ -58,7 -56,7 +57,7 @@@ time_t HttpMethod::FailTime = 0 unsigned long PipelineDepth = 10; unsigned long TimeOut = 120; bool Debug = false; - + URI Proxy; unsigned long CircleBuf::BwReadLimit=0; unsigned long CircleBuf::BwTickReadData=0; @@@ -715,7 -713,7 +714,7 @@@ void HttpMethod::SendReq(FetchItem *Itm Req += string("Authorization: Basic ") + Base64Encode(Uri.User + ":" + Uri.Password) + "\r\n"; - Req += "User-Agent: Debian APT-HTTP/1.3\r\n\r\n"; + Req += "User-Agent: Ubuntu APT-HTTP/1.3 ("VERSION")\r\n\r\n"; if (Debug == true) cerr << Req << endl; @@@ -916,6 -914,9 +915,9 @@@ int HttpMethod::DealWithHeaders(FetchRe failure */ if (Srv->Result < 200 || Srv->Result >= 300) { + char err[255]; + snprintf(err,sizeof(err)-1,"HttpError%i",Srv->Result); + SetFailReason(err); _error->Error("%u %s",Srv->Result,Srv->Code); if (Srv->HaveContent == true) return 4; @@@ -991,7 -992,7 +993,7 @@@ void HttpMethod::SigTerm(int depth. */ bool HttpMethod::Fetch(FetchItem *) { - if (Server == 0) + if (Server == 0) return true; // Queue the requests @@@ -1224,13 -1225,5 +1226,5 @@@ int HttpMethod::Loop( } /*}}}*/ - int main() - { - setlocale(LC_ALL, ""); - - HttpMethod Mth; - - return Mth.Loop(); - } diff --combined methods/makefile index 197ddf9ed,12e446a55..f971e56e8 --- a/methods/makefile +++ b/methods/makefile @@@ -7,7 -7,7 +7,7 @@@ include ../buildlib/defaults.ma BIN := $(BIN)/methods # FIXME.. -LIB_APT_PKG_MAJOR = 3.11 +LIB_APT_PKG_MAJOR = 3.51 APT_DOMAIN := libapt-pkg$(LIB_APT_PKG_MAJOR) # The file method @@@ -49,16 -49,9 +49,16 @@@ include $(PROGRAM_H PROGRAM=http SLIBS = -lapt-pkg $(SOCKETLIBS) LIB_MAKES = apt-pkg/makefile - SOURCE = http.cc rfc2553emu.cc connect.cc + SOURCE = http.cc http_main.cc rfc2553emu.cc connect.cc include $(PROGRAM_H) +# The https method +PROGRAM=https +SLIBS = -lapt-pkg -lcurl +LIB_MAKES = apt-pkg/makefile +SOURCE = https.cc +include $(PROGRAM_H) + # The ftp method PROGRAM=ftp SLIBS = -lapt-pkg $(SOCKETLIBS) @@@ -73,6 -66,13 +73,13 @@@ LIB_MAKES = apt-pkg/makefil SOURCE = rsh.cc include $(PROGRAM_H) + # The mirror method + PROGRAM=mirror + SLIBS = -lapt-pkg $(SOCKETLIBS) + LIB_MAKES = apt-pkg/makefile + SOURCE = mirror.cc http.cc rfc2553emu.cc connect.cc + include $(PROGRAM_H) + # SSH and vzip2 method symlink binary: $(BIN)/ssh $(BIN)/bzip2 veryclean: clean-$(BIN)/ssh clean-$(BIN)/bzip2 diff --combined methods/mirror.cc index 000000000,9a86a10c2..9fe64fd70 mode 000000,100644..100644 --- a/methods/mirror.cc +++ b/methods/mirror.cc @@@ -1,0 -1,282 +1,282 @@@ + // -*- mode: cpp; mode: fold -*- + // Description /*{{{*/ + // $Id: mirror.cc,v 1.59 2004/05/08 19:42:35 mdz Exp $ + /* ###################################################################### + + Mirror Aquire Method - This is the Mirror aquire method for APT. + + ##################################################################### */ + /*}}}*/ + // Include Files /*{{{*/ + #include + #include + #include + #include + #include + #include + #include + + #include + #include + #include + #include + #include + #include + + using namespace std; + + #include "mirror.h" + #include "http.h" + #include "apti18n.h" + /*}}}*/ + + /* Done: + * - works with http (only!) + * - always picks the first mirror from the list + * - call out to problem reporting script + * - supports "deb mirror://host/path/to/mirror-list/// dist component" - * - use pkgAcqMethod::FailReason() to have a string representation ++ * - uses pkgAcqMethod::FailReason() to have a string representation + * of the failure that is also send to LP + * + * TODO: + * - deal with runing as non-root because we can't write to the lists + dir then -> use the cached mirror file + * - better method to download than having a pkgAcquire interface here + * and better error handling there! + * - support more than http + * - testing :) + */ + + MirrorMethod::MirrorMethod() + : HttpMethod(), HasMirrorFile(false) + { + }; + + // HttpMethod::Configuration - Handle a configuration message /*{{{*/ + // --------------------------------------------------------------------- + /* We stash the desired pipeline depth */ + bool MirrorMethod::Configuration(string Message) + { + if (pkgAcqMethod::Configuration(Message) == false) + return false; + Debug = _config->FindB("Debug::Acquire::mirror",false); + + return true; + } + /*}}}*/ + + // clean the mirrors dir based on ttl information + bool MirrorMethod::Clean(string Dir) + { + vector::const_iterator I; + + if(Debug) + clog << "MirrorMethod::Clean(): " << Dir << endl; + + // read sources.list + pkgSourceList list; + list.ReadMainList(); + + DIR *D = opendir(Dir.c_str()); + if (D == 0) + return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); + + string StartDir = SafeGetCWD(); + if (chdir(Dir.c_str()) != 0) + { + closedir(D); + return _error->Errno("chdir",_("Unable to change to %s"),Dir.c_str()); + } + + for (struct dirent *Dir = readdir(D); Dir != 0; Dir = readdir(D)) + { + // Skip some files.. + if (strcmp(Dir->d_name,"lock") == 0 || + strcmp(Dir->d_name,"partial") == 0 || + strcmp(Dir->d_name,".") == 0 || + strcmp(Dir->d_name,"..") == 0) + continue; + + // see if we have that uri + for(I=list.begin(); I != list.end(); I++) + { + string uri = (*I)->GetURI(); + if(uri.substr(0,strlen("mirror://")) != string("mirror://")) + continue; + string BaseUri = uri.substr(0,uri.size()-1); + if (URItoFileName(BaseUri) == Dir->d_name) + break; + } + // nothing found, nuke it + if (I == list.end()) + unlink(Dir->d_name); + }; + + chdir(StartDir.c_str()); + closedir(D); + return true; + } + + + bool MirrorMethod::GetMirrorFile(string mirror_uri_str) + { + /* + - a mirror_uri_str looks like this: + mirror://people.ubuntu.com/~mvo/apt/mirror/mirrors/dists/feisty/Release.gpg + + - the matching source.list entry + deb mirror://people.ubuntu.com/~mvo/apt/mirror/mirrors feisty main + + - we actually want to go after: + http://people.ubuntu.com/~mvo/apt/mirror/mirrors + + And we need to save the BaseUri for later: + - mirror://people.ubuntu.com/~mvo/apt/mirror/mirrors + + FIXME: what if we have two similar prefixes? + mirror://people.ubuntu.com/~mvo/mirror + mirror://people.ubuntu.com/~mvo/mirror2 + then mirror_uri_str looks like: + mirror://people.ubuntu.com/~mvo/apt/mirror/dists/feisty/Release.gpg + mirror://people.ubuntu.com/~mvo/apt/mirror2/dists/feisty/Release.gpg + we search sources.list and find: + mirror://people.ubuntu.com/~mvo/apt/mirror + in both cases! So we need to apply some domain knowledge here :( and + check for /dists/ or /Release.gpg as suffixes + */ + if(Debug) + std::cerr << "GetMirrorFile: " << mirror_uri_str << std::endl; + + // read sources.list and find match + vector::const_iterator I; + pkgSourceList list; + list.ReadMainList(); + for(I=list.begin(); I != list.end(); I++) + { + string uristr = (*I)->GetURI(); + if(Debug) + std::cerr << "Checking: " << uristr << std::endl; + if(uristr.substr(0,strlen("mirror://")) != string("mirror://")) + continue; + // find matching uri in sources.list + if(mirror_uri_str.substr(0,uristr.size()) == uristr) + { + if(Debug) + std::cerr << "found BaseURI: " << uristr << std::endl; + BaseUri = uristr.substr(0,uristr.size()-1); + } + } + string fetch = BaseUri; + fetch.replace(0,strlen("mirror://"),"http://"); + + // get new file + MirrorFile = _config->FindDir("Dir::State::mirrors") + URItoFileName(BaseUri); + + if(Debug) + { + cerr << "base-uri: " << BaseUri << endl; + cerr << "mirror-file: " << MirrorFile << endl; + } + + // check the file, if it is not older than RefreshInterval just use it + // otherwise try to get a new one + if(FileExists(MirrorFile)) + { + struct stat buf; + time_t t,now,refresh; + if(stat(MirrorFile.c_str(), &buf) != 0) + return false; + t = std::max(buf.st_mtime, buf.st_ctime); + now = time(NULL); + refresh = 60*_config->FindI("Acquire::Mirror::RefreshInterval",360); + if(t + refresh > now) + { + if(Debug) + clog << "Mirror file is in RefreshInterval" << endl; + HasMirrorFile = true; + return true; + } + if(Debug) + clog << "Mirror file " << MirrorFile << " older than " << refresh << "min, re-download it" << endl; + } + + // not that great to use pkgAcquire here, but we do not have + // any other way right now + pkgAcquire Fetcher; + new pkgAcqFile(&Fetcher, fetch, "", 0, "", "", "", MirrorFile); + bool res = (Fetcher.Run() == pkgAcquire::Continue); + if(res) + HasMirrorFile = true; + Fetcher.Shutdown(); + return res; + } + + bool MirrorMethod::SelectMirror() + { + // FIXME: make the mirror selection more clever, do not + // just use the first one! + ifstream in(MirrorFile.c_str()); + getline(in, Mirror); + if(Debug) + cerr << "Using mirror: " << Mirror << endl; + + UsedMirror = Mirror; + return true; + } + + // MirrorMethod::Fetch - Fetch an item /*{{{*/ + // --------------------------------------------------------------------- + /* This adds an item to the pipeline. We keep the pipeline at a fixed + depth. */ + bool MirrorMethod::Fetch(FetchItem *Itm) + { + // select mirror only once per session + if(!HasMirrorFile) + { + Clean(_config->FindDir("Dir::State::mirrors")); + GetMirrorFile(Itm->Uri); + SelectMirror(); + } + + for (FetchItem *I = Queue; I != 0; I = I->Next) + { + if(I->Uri.find("mirror://") != string::npos) + I->Uri.replace(0,BaseUri.size(),Mirror); + } + + // now run the real fetcher + return HttpMethod::Fetch(Itm); + }; + + void MirrorMethod::Fail(string Err,bool Transient) + { + if(Queue->Uri.find("http://") != string::npos) + Queue->Uri.replace(0,Mirror.size(), BaseUri); + pkgAcqMethod::Fail(Err, Transient); + } + + void MirrorMethod::URIStart(FetchResult &Res) + { + if(Queue->Uri.find("http://") != string::npos) + Queue->Uri.replace(0,Mirror.size(), BaseUri); + pkgAcqMethod::URIStart(Res); + } + + void MirrorMethod::URIDone(FetchResult &Res,FetchResult *Alt) + { + if(Queue->Uri.find("http://") != string::npos) + Queue->Uri.replace(0,Mirror.size(), BaseUri); + pkgAcqMethod::URIDone(Res, Alt); + } + + + int main() + { + setlocale(LC_ALL, ""); + + MirrorMethod Mth; + + return Mth.Loop(); + } + + diff --combined po/apt-all.pot index de72c430e,c37d84be2..f2f151dd3 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@@ -7,7 -7,7 +7,7 @@@ msgid " msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2006-08-09 23:46+0200\n" -"POT-Creation-Date: 2007-02-06 10:56+0100\n" ++"POT-Creation-Date: 2007-02-06 11:14+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@@ -15,145 -15,145 +15,153 @@@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" --#: cmdline/apt-cache.cc:135 ++#: cmdline/apt-cache.cc:143 #, c-format msgid "Package %s version %s has an unmet dep:\n" msgstr "" --#: cmdline/apt-cache.cc:175 cmdline/apt-cache.cc:527 cmdline/apt-cache.cc:615 --#: cmdline/apt-cache.cc:771 cmdline/apt-cache.cc:989 cmdline/apt-cache.cc:1357 --#: cmdline/apt-cache.cc:1508 ++#: cmdline/apt-cache.cc:183 cmdline/apt-cache.cc:552 cmdline/apt-cache.cc:640 ++#: cmdline/apt-cache.cc:796 cmdline/apt-cache.cc:1018 ++#: cmdline/apt-cache.cc:1419 cmdline/apt-cache.cc:1570 #, c-format msgid "Unable to locate package %s" msgstr "" --#: cmdline/apt-cache.cc:232 ++#: cmdline/apt-cache.cc:247 msgid "Total package names : " msgstr "" --#: cmdline/apt-cache.cc:272 ++#: cmdline/apt-cache.cc:287 msgid " Normal packages: " msgstr "" --#: cmdline/apt-cache.cc:273 ++#: cmdline/apt-cache.cc:288 msgid " Pure virtual packages: " msgstr "" --#: cmdline/apt-cache.cc:274 ++#: cmdline/apt-cache.cc:289 msgid " Single virtual packages: " msgstr "" --#: cmdline/apt-cache.cc:275 ++#: cmdline/apt-cache.cc:290 msgid " Mixed virtual packages: " msgstr "" --#: cmdline/apt-cache.cc:276 ++#: cmdline/apt-cache.cc:291 msgid " Missing: " msgstr "" --#: cmdline/apt-cache.cc:278 ++#: cmdline/apt-cache.cc:293 msgid "Total distinct versions: " msgstr "" --#: cmdline/apt-cache.cc:280 ++#: cmdline/apt-cache.cc:295 ++msgid "Total Distinct Descriptions: " ++msgstr "" ++ ++#: cmdline/apt-cache.cc:297 msgid "Total dependencies: " msgstr "" --#: cmdline/apt-cache.cc:283 ++#: cmdline/apt-cache.cc:300 msgid "Total ver/file relations: " msgstr "" --#: cmdline/apt-cache.cc:285 ++#: cmdline/apt-cache.cc:302 ++msgid "Total Desc/File relations: " ++msgstr "" ++ ++#: cmdline/apt-cache.cc:304 msgid "Total Provides mappings: " msgstr "" --#: cmdline/apt-cache.cc:297 ++#: cmdline/apt-cache.cc:316 msgid "Total globbed strings: " msgstr "" --#: cmdline/apt-cache.cc:311 ++#: cmdline/apt-cache.cc:330 msgid "Total dependency version space: " msgstr "" --#: cmdline/apt-cache.cc:316 ++#: cmdline/apt-cache.cc:335 msgid "Total slack space: " msgstr "" --#: cmdline/apt-cache.cc:324 ++#: cmdline/apt-cache.cc:343 msgid "Total space accounted for: " msgstr "" --#: cmdline/apt-cache.cc:446 cmdline/apt-cache.cc:1189 ++#: cmdline/apt-cache.cc:471 cmdline/apt-cache.cc:1218 #, c-format msgid "Package file %s is out of sync." msgstr "" --#: cmdline/apt-cache.cc:1231 ++#: cmdline/apt-cache.cc:1293 msgid "You must give exactly one pattern" msgstr "" --#: cmdline/apt-cache.cc:1385 ++#: cmdline/apt-cache.cc:1447 msgid "No packages found" msgstr "" --#: cmdline/apt-cache.cc:1462 ++#: cmdline/apt-cache.cc:1524 msgid "Package files:" msgstr "" --#: cmdline/apt-cache.cc:1469 cmdline/apt-cache.cc:1555 ++#: cmdline/apt-cache.cc:1531 cmdline/apt-cache.cc:1617 msgid "Cache is out of sync, can't x-ref a package file" msgstr "" --#: cmdline/apt-cache.cc:1470 ++#: cmdline/apt-cache.cc:1532 #, c-format msgid "%4i %s\n" msgstr "" #. Show any packages have explicit pins --#: cmdline/apt-cache.cc:1482 ++#: cmdline/apt-cache.cc:1544 msgid "Pinned packages:" msgstr "" --#: cmdline/apt-cache.cc:1494 cmdline/apt-cache.cc:1535 ++#: cmdline/apt-cache.cc:1556 cmdline/apt-cache.cc:1597 msgid "(not found)" msgstr "" #. Installed version --#: cmdline/apt-cache.cc:1515 ++#: cmdline/apt-cache.cc:1577 msgid " Installed: " msgstr "" --#: cmdline/apt-cache.cc:1517 cmdline/apt-cache.cc:1525 ++#: cmdline/apt-cache.cc:1579 cmdline/apt-cache.cc:1587 msgid "(none)" msgstr "" #. Candidate Version --#: cmdline/apt-cache.cc:1522 ++#: cmdline/apt-cache.cc:1584 msgid " Candidate: " msgstr "" --#: cmdline/apt-cache.cc:1532 ++#: cmdline/apt-cache.cc:1594 msgid " Package pin: " msgstr "" #. Show the priority tables --#: cmdline/apt-cache.cc:1541 ++#: cmdline/apt-cache.cc:1603 msgid " Version table:" msgstr "" --#: cmdline/apt-cache.cc:1556 ++#: cmdline/apt-cache.cc:1618 #, c-format msgid " %4i %s\n" msgstr "" --#: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 ++#: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550 - #: cmdline/apt-get.cc:2462 cmdline/apt-sortpkgs.cc:144 -#: cmdline/apt-get.cc:2387 cmdline/apt-sortpkgs.cc:144 ++#: cmdline/apt-get.cc:2549 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s %s compiled on %s %s\n" msgstr "" --#: cmdline/apt-cache.cc:1659 ++#: cmdline/apt-cache.cc:1721 msgid "" "Usage: apt-cache [options] command\n" " apt-cache [options] add file1 [file2 ...]\n" @@@ -243,8 -243,7 +251,7 @@@ msgid " " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" msgstr "" - #: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:714 - #: apt-pkg/pkgcachegen.cc:819 -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:710 ++#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:819 #, c-format msgid "Unable to write to %s" msgstr "" @@@ -543,221 -542,221 +550,221 @@@ msgstr " msgid "Failed to rename %s to %s" msgstr "" -#: cmdline/apt-get.cc:120 +#: cmdline/apt-get.cc:121 msgid "Y" msgstr "" - #: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1574 -#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1506 ++#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1662 #, c-format msgid "Regex compilation error - %s" msgstr "" -#: cmdline/apt-get.cc:237 +#: cmdline/apt-get.cc:238 msgid "The following packages have unmet dependencies:" msgstr "" -#: cmdline/apt-get.cc:327 +#: cmdline/apt-get.cc:328 #, c-format msgid "but %s is installed" msgstr "" -#: cmdline/apt-get.cc:329 +#: cmdline/apt-get.cc:330 #, c-format msgid "but %s is to be installed" msgstr "" -#: cmdline/apt-get.cc:336 +#: cmdline/apt-get.cc:337 msgid "but it is not installable" msgstr "" -#: cmdline/apt-get.cc:338 +#: cmdline/apt-get.cc:339 msgid "but it is a virtual package" msgstr "" -#: cmdline/apt-get.cc:341 +#: cmdline/apt-get.cc:342 msgid "but it is not installed" msgstr "" -#: cmdline/apt-get.cc:341 +#: cmdline/apt-get.cc:342 msgid "but it is not going to be installed" msgstr "" -#: cmdline/apt-get.cc:346 +#: cmdline/apt-get.cc:347 msgid " or" msgstr "" -#: cmdline/apt-get.cc:375 +#: cmdline/apt-get.cc:376 msgid "The following NEW packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:401 +#: cmdline/apt-get.cc:402 msgid "The following packages will be REMOVED:" msgstr "" -#: cmdline/apt-get.cc:423 +#: cmdline/apt-get.cc:424 msgid "The following packages have been kept back:" msgstr "" -#: cmdline/apt-get.cc:444 +#: cmdline/apt-get.cc:445 msgid "The following packages will be upgraded:" msgstr "" -#: cmdline/apt-get.cc:465 +#: cmdline/apt-get.cc:466 msgid "The following packages will be DOWNGRADED:" msgstr "" -#: cmdline/apt-get.cc:485 +#: cmdline/apt-get.cc:486 msgid "The following held packages will be changed:" msgstr "" -#: cmdline/apt-get.cc:538 +#: cmdline/apt-get.cc:539 #, c-format msgid "%s (due to %s) " msgstr "" -#: cmdline/apt-get.cc:546 +#: cmdline/apt-get.cc:547 msgid "" "WARNING: The following essential packages will be removed.\n" "This should NOT be done unless you know exactly what you are doing!" msgstr "" -#: cmdline/apt-get.cc:577 +#: cmdline/apt-get.cc:578 #, c-format msgid "%lu upgraded, %lu newly installed, " msgstr "" -#: cmdline/apt-get.cc:581 +#: cmdline/apt-get.cc:582 #, c-format msgid "%lu reinstalled, " msgstr "" -#: cmdline/apt-get.cc:583 +#: cmdline/apt-get.cc:584 #, c-format msgid "%lu downgraded, " msgstr "" -#: cmdline/apt-get.cc:585 +#: cmdline/apt-get.cc:586 #, c-format msgid "%lu to remove and %lu not upgraded.\n" msgstr "" -#: cmdline/apt-get.cc:589 +#: cmdline/apt-get.cc:590 #, c-format msgid "%lu not fully installed or removed.\n" msgstr "" - #: cmdline/apt-get.cc:650 -#: cmdline/apt-get.cc:649 ++#: cmdline/apt-get.cc:664 msgid "Correcting dependencies..." msgstr "" - #: cmdline/apt-get.cc:653 -#: cmdline/apt-get.cc:652 ++#: cmdline/apt-get.cc:667 msgid " failed." msgstr "" - #: cmdline/apt-get.cc:656 -#: cmdline/apt-get.cc:655 ++#: cmdline/apt-get.cc:670 msgid "Unable to correct dependencies" msgstr "" - #: cmdline/apt-get.cc:659 -#: cmdline/apt-get.cc:658 ++#: cmdline/apt-get.cc:673 msgid "Unable to minimize the upgrade set" msgstr "" - #: cmdline/apt-get.cc:661 -#: cmdline/apt-get.cc:660 ++#: cmdline/apt-get.cc:675 msgid " Done" msgstr "" - #: cmdline/apt-get.cc:665 -#: cmdline/apt-get.cc:664 ++#: cmdline/apt-get.cc:679 msgid "You might want to run `apt-get -f install' to correct these." msgstr "" - #: cmdline/apt-get.cc:668 -#: cmdline/apt-get.cc:667 ++#: cmdline/apt-get.cc:682 msgid "Unmet dependencies. Try using -f." msgstr "" - #: cmdline/apt-get.cc:690 -#: cmdline/apt-get.cc:689 ++#: cmdline/apt-get.cc:704 msgid "WARNING: The following packages cannot be authenticated!" msgstr "" - #: cmdline/apt-get.cc:694 -#: cmdline/apt-get.cc:693 ++#: cmdline/apt-get.cc:708 msgid "Authentication warning overridden.\n" msgstr "" - #: cmdline/apt-get.cc:701 -#: cmdline/apt-get.cc:700 ++#: cmdline/apt-get.cc:715 msgid "Install these packages without verification [y/N]? " msgstr "" - #: cmdline/apt-get.cc:703 -#: cmdline/apt-get.cc:702 ++#: cmdline/apt-get.cc:717 msgid "Some packages could not be authenticated" msgstr "" - #: cmdline/apt-get.cc:712 cmdline/apt-get.cc:859 -#: cmdline/apt-get.cc:711 cmdline/apt-get.cc:858 ++#: cmdline/apt-get.cc:726 cmdline/apt-get.cc:873 msgid "There are problems and -y was used without --force-yes" msgstr "" - #: cmdline/apt-get.cc:756 -#: cmdline/apt-get.cc:755 ++#: cmdline/apt-get.cc:770 msgid "Internal error, InstallPackages was called with broken packages!" msgstr "" - #: cmdline/apt-get.cc:765 -#: cmdline/apt-get.cc:764 ++#: cmdline/apt-get.cc:779 msgid "Packages need to be removed but remove is disabled." msgstr "" - #: cmdline/apt-get.cc:776 -#: cmdline/apt-get.cc:775 ++#: cmdline/apt-get.cc:790 msgid "Internal error, Ordering didn't finish" msgstr "" - #: cmdline/apt-get.cc:792 cmdline/apt-get.cc:1893 cmdline/apt-get.cc:1926 -#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1818 cmdline/apt-get.cc:1851 ++#: cmdline/apt-get.cc:806 cmdline/apt-get.cc:1980 cmdline/apt-get.cc:2013 msgid "Unable to lock the download directory" msgstr "" - #: cmdline/apt-get.cc:802 cmdline/apt-get.cc:1974 cmdline/apt-get.cc:2210 -#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1899 cmdline/apt-get.cc:2135 ++#: cmdline/apt-get.cc:816 cmdline/apt-get.cc:2061 cmdline/apt-get.cc:2297 #: apt-pkg/cachefile.cc:67 msgid "The list of sources could not be read." msgstr "" - #: cmdline/apt-get.cc:817 -#: cmdline/apt-get.cc:816 ++#: cmdline/apt-get.cc:831 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org" msgstr "" - #: cmdline/apt-get.cc:822 -#: cmdline/apt-get.cc:821 ++#: cmdline/apt-get.cc:836 #, c-format msgid "Need to get %sB/%sB of archives.\n" msgstr "" - #: cmdline/apt-get.cc:825 -#: cmdline/apt-get.cc:824 ++#: cmdline/apt-get.cc:839 #, c-format msgid "Need to get %sB of archives.\n" msgstr "" - #: cmdline/apt-get.cc:830 -#: cmdline/apt-get.cc:829 ++#: cmdline/apt-get.cc:844 #, c-format msgid "After unpacking %sB of additional disk space will be used.\n" msgstr "" - #: cmdline/apt-get.cc:833 -#: cmdline/apt-get.cc:832 ++#: cmdline/apt-get.cc:847 #, c-format msgid "After unpacking %sB disk space will be freed.\n" msgstr "" - #: cmdline/apt-get.cc:847 cmdline/apt-get.cc:2064 -#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1989 ++#: cmdline/apt-get.cc:861 cmdline/apt-get.cc:2151 #, c-format msgid "Couldn't determine free space in %s" msgstr "" - #: cmdline/apt-get.cc:850 -#: cmdline/apt-get.cc:849 ++#: cmdline/apt-get.cc:864 #, c-format msgid "You don't have enough free space in %s." msgstr "" - #: cmdline/apt-get.cc:865 cmdline/apt-get.cc:885 -#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:884 ++#: cmdline/apt-get.cc:879 cmdline/apt-get.cc:899 msgid "Trivial Only specified but this is not a trivial operation." msgstr "" - #: cmdline/apt-get.cc:867 -#: cmdline/apt-get.cc:866 ++#: cmdline/apt-get.cc:881 msgid "Yes, do as I say!" msgstr "" - #: cmdline/apt-get.cc:869 -#: cmdline/apt-get.cc:868 ++#: cmdline/apt-get.cc:883 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@@ -765,74 -764,74 +772,74 @@@ " ?] " msgstr "" - #: cmdline/apt-get.cc:875 cmdline/apt-get.cc:894 -#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:893 ++#: cmdline/apt-get.cc:889 cmdline/apt-get.cc:908 msgid "Abort." msgstr "" - #: cmdline/apt-get.cc:890 -#: cmdline/apt-get.cc:889 ++#: cmdline/apt-get.cc:904 msgid "Do you want to continue [Y/n]? " msgstr "" - #: cmdline/apt-get.cc:962 cmdline/apt-get.cc:1369 cmdline/apt-get.cc:2107 -#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2032 ++#: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1383 cmdline/apt-get.cc:2194 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" - #: cmdline/apt-get.cc:980 -#: cmdline/apt-get.cc:979 ++#: cmdline/apt-get.cc:994 msgid "Some files failed to download" msgstr "" - #: cmdline/apt-get.cc:981 cmdline/apt-get.cc:2116 -#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2041 ++#: cmdline/apt-get.cc:995 cmdline/apt-get.cc:2203 msgid "Download complete and in download only mode" msgstr "" - #: cmdline/apt-get.cc:987 -#: cmdline/apt-get.cc:986 ++#: cmdline/apt-get.cc:1001 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" msgstr "" - #: cmdline/apt-get.cc:991 -#: cmdline/apt-get.cc:990 ++#: cmdline/apt-get.cc:1005 msgid "--fix-missing and media swapping is not currently supported" msgstr "" - #: cmdline/apt-get.cc:996 -#: cmdline/apt-get.cc:995 ++#: cmdline/apt-get.cc:1010 msgid "Unable to correct missing packages." msgstr "" - #: cmdline/apt-get.cc:997 -#: cmdline/apt-get.cc:996 ++#: cmdline/apt-get.cc:1011 msgid "Aborting install." msgstr "" - #: cmdline/apt-get.cc:1031 -#: cmdline/apt-get.cc:1030 ++#: cmdline/apt-get.cc:1045 #, c-format msgid "Note, selecting %s instead of %s\n" msgstr "" - #: cmdline/apt-get.cc:1041 -#: cmdline/apt-get.cc:1040 ++#: cmdline/apt-get.cc:1055 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" msgstr "" - #: cmdline/apt-get.cc:1059 -#: cmdline/apt-get.cc:1058 ++#: cmdline/apt-get.cc:1073 #, c-format msgid "Package %s is not installed, so not removed\n" msgstr "" - #: cmdline/apt-get.cc:1070 -#: cmdline/apt-get.cc:1069 ++#: cmdline/apt-get.cc:1084 #, c-format msgid "Package %s is a virtual package provided by:\n" msgstr "" - #: cmdline/apt-get.cc:1082 -#: cmdline/apt-get.cc:1081 ++#: cmdline/apt-get.cc:1096 msgid " [Installed]" msgstr "" - #: cmdline/apt-get.cc:1087 -#: cmdline/apt-get.cc:1086 ++#: cmdline/apt-get.cc:1101 msgid "You should explicitly select one to install." msgstr "" - #: cmdline/apt-get.cc:1092 -#: cmdline/apt-get.cc:1091 ++#: cmdline/apt-get.cc:1106 #, c-format msgid "" "Package %s is not available, but is referred to by another package.\n" @@@ -840,97 -839,79 +847,112 @@@ "is only available from another source\n" msgstr "" - #: cmdline/apt-get.cc:1111 -#: cmdline/apt-get.cc:1110 ++#: cmdline/apt-get.cc:1125 msgid "However the following packages replace it:" msgstr "" - #: cmdline/apt-get.cc:1114 -#: cmdline/apt-get.cc:1113 ++#: cmdline/apt-get.cc:1128 #, c-format msgid "Package %s has no installation candidate" msgstr "" - #: cmdline/apt-get.cc:1134 -#: cmdline/apt-get.cc:1133 ++#: cmdline/apt-get.cc:1148 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" msgstr "" - #: cmdline/apt-get.cc:1142 -#: cmdline/apt-get.cc:1141 ++#: cmdline/apt-get.cc:1156 #, c-format msgid "%s is already the newest version.\n" msgstr "" - #: cmdline/apt-get.cc:1171 -#: cmdline/apt-get.cc:1168 ++#: cmdline/apt-get.cc:1185 #, c-format msgid "Release '%s' for '%s' was not found" msgstr "" - #: cmdline/apt-get.cc:1173 -#: cmdline/apt-get.cc:1170 ++#: cmdline/apt-get.cc:1187 #, c-format msgid "Version '%s' for '%s' was not found" msgstr "" - #: cmdline/apt-get.cc:1179 -#: cmdline/apt-get.cc:1176 ++#: cmdline/apt-get.cc:1193 #, c-format msgid "Selected version %s (%s) for %s\n" msgstr "" - #: cmdline/apt-get.cc:1316 -#: cmdline/apt-get.cc:1313 ++#: cmdline/apt-get.cc:1330 msgid "The update command takes no arguments" msgstr "" - #: cmdline/apt-get.cc:1329 -#: cmdline/apt-get.cc:1326 ++#: cmdline/apt-get.cc:1343 msgid "Unable to lock the list directory" msgstr "" - #: cmdline/apt-get.cc:1396 cmdline/apt-get.cc:1398 -#: cmdline/apt-get.cc:1384 ++#: cmdline/apt-get.cc:1410 cmdline/apt-get.cc:1412 msgid "" "Some index files failed to download, they have been ignored, or old ones " "used instead." msgstr "" - #: cmdline/apt-get.cc:1412 -#: cmdline/apt-get.cc:1403 ++#: cmdline/apt-get.cc:1433 +msgid "We are not supposed to delete stuff, can't start AutoRemover" +msgstr "" + - #: cmdline/apt-get.cc:1437 ++#: cmdline/apt-get.cc:1460 ++msgid "" ++"The following packages were automatically installed and are no longer " ++"required:" ++msgstr "" ++ ++#: cmdline/apt-get.cc:1462 ++msgid "Use 'apt-get autoremove' to remove them." ++msgstr "" ++ ++#: cmdline/apt-get.cc:1467 +msgid "" +"Hmm, seems like the AutoRemover destroyed something which really\n" +"shouldn't happen. Please file a bug report against apt." +msgstr "" + - #: cmdline/apt-get.cc:1440 cmdline/apt-get.cc:1642 ++#: cmdline/apt-get.cc:1470 cmdline/apt-get.cc:1731 +msgid "The following information may help to resolve the situation:" +msgstr "" + - #: cmdline/apt-get.cc:1444 ++#: cmdline/apt-get.cc:1474 +msgid "Internal Error, AutoRemover broke stuff" +msgstr "" + - #: cmdline/apt-get.cc:1463 ++#: cmdline/apt-get.cc:1493 msgid "Internal error, AllUpgrade broke stuff" msgstr "" - #: cmdline/apt-get.cc:1561 cmdline/apt-get.cc:1597 -#: cmdline/apt-get.cc:1493 cmdline/apt-get.cc:1529 ++#: cmdline/apt-get.cc:1538 ++#, c-format ++msgid "Couldn't find task %s" ++msgstr "" ++ ++#: cmdline/apt-get.cc:1649 cmdline/apt-get.cc:1685 #, c-format msgid "Couldn't find package %s" msgstr "" - #: cmdline/apt-get.cc:1584 -#: cmdline/apt-get.cc:1516 ++#: cmdline/apt-get.cc:1672 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "" - #: cmdline/apt-get.cc:1614 -#: cmdline/apt-get.cc:1546 ++#: cmdline/apt-get.cc:1703 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "" - #: cmdline/apt-get.cc:1617 -#: cmdline/apt-get.cc:1549 ++#: cmdline/apt-get.cc:1706 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" - #: cmdline/apt-get.cc:1629 -#: cmdline/apt-get.cc:1561 ++#: cmdline/apt-get.cc:1718 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" @@@ -938,159 -919,163 +960,159 @@@ "or been moved out of Incoming." msgstr "" - #: cmdline/apt-get.cc:1637 -#: cmdline/apt-get.cc:1569 ++#: cmdline/apt-get.cc:1726 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:1645 -#: cmdline/apt-get.cc:1574 -msgid "The following information may help to resolve the situation:" -msgstr "" - -#: cmdline/apt-get.cc:1577 ++#: cmdline/apt-get.cc:1734 msgid "Broken packages" msgstr "" - #: cmdline/apt-get.cc:1676 -#: cmdline/apt-get.cc:1603 ++#: cmdline/apt-get.cc:1763 msgid "The following extra packages will be installed:" msgstr "" - #: cmdline/apt-get.cc:1765 -#: cmdline/apt-get.cc:1692 ++#: cmdline/apt-get.cc:1852 msgid "Suggested packages:" msgstr "" - #: cmdline/apt-get.cc:1766 -#: cmdline/apt-get.cc:1693 ++#: cmdline/apt-get.cc:1853 msgid "Recommended packages:" msgstr "" - #: cmdline/apt-get.cc:1786 -#: cmdline/apt-get.cc:1713 ++#: cmdline/apt-get.cc:1873 msgid "Calculating upgrade... " msgstr "" - #: cmdline/apt-get.cc:1789 methods/ftp.cc:702 methods/connect.cc:101 -#: cmdline/apt-get.cc:1716 methods/ftp.cc:702 methods/connect.cc:100 ++#: cmdline/apt-get.cc:1876 methods/ftp.cc:702 methods/connect.cc:100 msgid "Failed" msgstr "" - #: cmdline/apt-get.cc:1794 -#: cmdline/apt-get.cc:1721 ++#: cmdline/apt-get.cc:1881 msgid "Done" msgstr "" - #: cmdline/apt-get.cc:1861 cmdline/apt-get.cc:1869 -#: cmdline/apt-get.cc:1786 cmdline/apt-get.cc:1794 ++#: cmdline/apt-get.cc:1948 cmdline/apt-get.cc:1956 msgid "Internal error, problem resolver broke stuff" msgstr "" - #: cmdline/apt-get.cc:1969 -#: cmdline/apt-get.cc:1894 ++#: cmdline/apt-get.cc:2056 msgid "Must specify at least one package to fetch source for" msgstr "" - #: cmdline/apt-get.cc:1999 cmdline/apt-get.cc:2228 -#: cmdline/apt-get.cc:1924 cmdline/apt-get.cc:2153 ++#: cmdline/apt-get.cc:2086 cmdline/apt-get.cc:2315 #, c-format msgid "Unable to find a source package for %s" msgstr "" - #: cmdline/apt-get.cc:2043 -#: cmdline/apt-get.cc:1968 ++#: cmdline/apt-get.cc:2130 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" - #: cmdline/apt-get.cc:2067 -#: cmdline/apt-get.cc:1992 ++#: cmdline/apt-get.cc:2154 #, c-format msgid "You don't have enough free space in %s" msgstr "" - #: cmdline/apt-get.cc:2072 -#: cmdline/apt-get.cc:1997 ++#: cmdline/apt-get.cc:2159 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" - #: cmdline/apt-get.cc:2075 -#: cmdline/apt-get.cc:2000 ++#: cmdline/apt-get.cc:2162 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" - #: cmdline/apt-get.cc:2081 -#: cmdline/apt-get.cc:2006 ++#: cmdline/apt-get.cc:2168 #, c-format msgid "Fetch source %s\n" msgstr "" - #: cmdline/apt-get.cc:2112 -#: cmdline/apt-get.cc:2037 ++#: cmdline/apt-get.cc:2199 msgid "Failed to fetch some archives." msgstr "" - #: cmdline/apt-get.cc:2140 -#: cmdline/apt-get.cc:2065 ++#: cmdline/apt-get.cc:2227 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" - #: cmdline/apt-get.cc:2152 -#: cmdline/apt-get.cc:2077 ++#: cmdline/apt-get.cc:2239 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" - #: cmdline/apt-get.cc:2153 -#: cmdline/apt-get.cc:2078 ++#: cmdline/apt-get.cc:2240 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" - #: cmdline/apt-get.cc:2170 -#: cmdline/apt-get.cc:2095 ++#: cmdline/apt-get.cc:2257 #, c-format msgid "Build command '%s' failed.\n" msgstr "" - #: cmdline/apt-get.cc:2189 -#: cmdline/apt-get.cc:2114 ++#: cmdline/apt-get.cc:2276 msgid "Child process failed" msgstr "" - #: cmdline/apt-get.cc:2205 -#: cmdline/apt-get.cc:2130 ++#: cmdline/apt-get.cc:2292 msgid "Must specify at least one package to check builddeps for" msgstr "" - #: cmdline/apt-get.cc:2233 -#: cmdline/apt-get.cc:2158 ++#: cmdline/apt-get.cc:2320 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" - #: cmdline/apt-get.cc:2253 -#: cmdline/apt-get.cc:2178 ++#: cmdline/apt-get.cc:2340 #, c-format msgid "%s has no build depends.\n" msgstr "" - #: cmdline/apt-get.cc:2305 -#: cmdline/apt-get.cc:2230 ++#: cmdline/apt-get.cc:2392 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" - #: cmdline/apt-get.cc:2357 -#: cmdline/apt-get.cc:2282 ++#: cmdline/apt-get.cc:2444 #, 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:2392 -#: cmdline/apt-get.cc:2317 ++#: cmdline/apt-get.cc:2479 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" - #: cmdline/apt-get.cc:2417 -#: cmdline/apt-get.cc:2342 ++#: cmdline/apt-get.cc:2504 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" - #: cmdline/apt-get.cc:2431 -#: cmdline/apt-get.cc:2356 ++#: cmdline/apt-get.cc:2518 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" - #: cmdline/apt-get.cc:2435 -#: cmdline/apt-get.cc:2360 ++#: cmdline/apt-get.cc:2522 msgid "Failed to process build dependencies" msgstr "" - #: cmdline/apt-get.cc:2467 -#: cmdline/apt-get.cc:2392 ++#: cmdline/apt-get.cc:2554 msgid "Supported modules:" msgstr "" - #: cmdline/apt-get.cc:2508 -#: cmdline/apt-get.cc:2433 ++#: cmdline/apt-get.cc:2595 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@@ -1345,7 -1330,7 +1367,7 @@@ msgstr " #: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:750 #: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/sourcelist.cc:324 - #: apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38 + #: apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38 methods/mirror.cc:82 #, c-format msgid "Unable to read %s" msgstr "" @@@ -1375,11 -1360,9 +1397,9 @@@ msgid "The info and temp directories ne msgstr "" #. Build the status cache - #: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:647 - #: apt-pkg/pkgcachegen.cc:716 apt-pkg/pkgcachegen.cc:721 - #: apt-pkg/pkgcachegen.cc:844 apt-pkg/pkgcachegen.cc:752 -#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:643 -#: apt-pkg/pkgcachegen.cc:712 apt-pkg/pkgcachegen.cc:717 -#: apt-pkg/pkgcachegen.cc:840 ++#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:752 +#: apt-pkg/pkgcachegen.cc:821 apt-pkg/pkgcachegen.cc:826 +#: apt-pkg/pkgcachegen.cc:949 msgid "Reading package lists" msgstr "" @@@ -1507,13 -1490,12 +1527,12 @@@ msgstr " msgid "File not found" msgstr "" - #: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:133 - #: methods/gzip.cc:142 methods/gzip.cc:134 methods/gzip.cc:143 + #: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:141 + #: methods/gzip.cc:150 msgid "Failed to stat" msgstr "" - #: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:139 - #: methods/gzip.cc:140 + #: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:147 msgid "Failed to set modification time" msgstr "" @@@ -1639,7 -1621,7 +1658,7 @@@ msgstr " msgid "Unable to accept connection" msgstr "" - #: methods/ftp.cc:864 methods/http.cc:958 methods/rsh.cc:303 -#: methods/ftp.cc:864 methods/http.cc:960 methods/rsh.cc:303 ++#: methods/ftp.cc:864 methods/http.cc:961 methods/rsh.cc:303 msgid "Problem hashing file" msgstr "" @@@ -1666,39 -1648,39 +1685,39 @@@ msgstr " msgid "Unable to invoke " msgstr "" - #: methods/connect.cc:64 + #: methods/connect.cc:65 #, c-format msgid "Connecting to %s (%s)" msgstr "" - #: methods/connect.cc:71 + #: methods/connect.cc:72 #, c-format msgid "[IP: %s %s]" msgstr "" - #: methods/connect.cc:80 + #: methods/connect.cc:79 #, c-format msgid "Could not create a socket for %s (f=%u t=%u p=%u)" msgstr "" - #: methods/connect.cc:86 + #: methods/connect.cc:85 #, c-format msgid "Cannot initiate the connection to %s:%s (%s)." msgstr "" - #: methods/connect.cc:93 + #: methods/connect.cc:92 #, c-format msgid "Could not connect to %s:%s (%s), connection timed out" msgstr "" - #: methods/connect.cc:108 + #: methods/connect.cc:107 #, 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:135 methods/rsh.cc:425 #, c-format msgid "Connecting to %s" msgstr "" @@@ -1760,86 -1742,86 +1779,86 @@@ msgid " "available:\n" msgstr "" - #: methods/gzip.cc:57 + #: methods/gzip.cc:64 #, c-format msgid "Couldn't open pipe for %s" msgstr "" - #: methods/gzip.cc:102 + #: methods/gzip.cc:109 #, c-format msgid "Read error from %s process" msgstr "" -#: methods/http.cc:375 +#: methods/http.cc:376 msgid "Waiting for headers" msgstr "" -#: methods/http.cc:521 +#: methods/http.cc:522 #, c-format msgid "Got a single header line over %u chars" msgstr "" -#: methods/http.cc:529 +#: methods/http.cc:530 msgid "Bad header line" msgstr "" -#: methods/http.cc:548 methods/http.cc:555 +#: methods/http.cc:549 methods/http.cc:556 msgid "The HTTP server sent an invalid reply header" msgstr "" -#: methods/http.cc:584 +#: methods/http.cc:585 msgid "The HTTP server sent an invalid Content-Length header" msgstr "" -#: methods/http.cc:599 +#: methods/http.cc:600 msgid "The HTTP server sent an invalid Content-Range header" msgstr "" -#: methods/http.cc:601 +#: methods/http.cc:602 msgid "This HTTP server has broken range support" msgstr "" -#: methods/http.cc:625 +#: methods/http.cc:626 msgid "Unknown date format" msgstr "" -#: methods/http.cc:772 +#: methods/http.cc:773 msgid "Select failed" msgstr "" -#: methods/http.cc:777 +#: methods/http.cc:778 msgid "Connection timed out" msgstr "" -#: methods/http.cc:800 +#: methods/http.cc:801 msgid "Error writing to output file" msgstr "" -#: methods/http.cc:831 +#: methods/http.cc:832 msgid "Error writing to file" msgstr "" -#: methods/http.cc:859 +#: methods/http.cc:860 msgid "Error writing to the file" msgstr "" -#: methods/http.cc:873 +#: methods/http.cc:874 msgid "Error reading from server. Remote end closed connection" msgstr "" -#: methods/http.cc:875 +#: methods/http.cc:876 msgid "Error reading from server" msgstr "" - #: methods/http.cc:1107 -#: methods/http.cc:1109 ++#: methods/http.cc:1110 msgid "Bad header data" msgstr "" - #: methods/http.cc:1124 -#: methods/http.cc:1126 ++#: methods/http.cc:1127 msgid "Connection failed" msgstr "" - #: methods/http.cc:1215 -#: methods/http.cc:1217 ++#: methods/http.cc:1218 msgid "Internal error" msgstr "" @@@ -1852,7 -1834,7 +1871,7 @@@ msgstr " msgid "Couldn't make mmap of %lu bytes" msgstr "" - #: apt-pkg/contrib/strutl.cc:938 apt-pkg/contrib/strutl.cc:981 -#: apt-pkg/contrib/strutl.cc:938 ++#: apt-pkg/contrib/strutl.cc:981 #, c-format msgid "Selection %s not found" msgstr "" @@@ -1912,12 -1894,12 +1931,12 @@@ msgstr " msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" --#: apt-pkg/contrib/progress.cc:154 ++#: apt-pkg/contrib/progress.cc:155 #, c-format msgid "%c%s... Error!" msgstr "" --#: apt-pkg/contrib/progress.cc:156 ++#: apt-pkg/contrib/progress.cc:157 #, c-format msgid "%c%s... Done" msgstr "" @@@ -1974,6 -1956,7 +1993,7 @@@ msgid "Unable to stat the mount point % msgstr "" #: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:427 apt-pkg/clean.cc:44 + #: methods/mirror.cc:88 #, c-format msgid "Unable to change to %s" msgstr "" @@@ -2049,107 -2032,93 +2069,111 @@@ msgstr " msgid "Problem syncing the file" msgstr "" - #: apt-pkg/pkgcache.cc:126 apt-pkg/pkgcache.cc:137 -#: apt-pkg/pkgcache.cc:126 ++#: apt-pkg/pkgcache.cc:137 msgid "Empty package cache" msgstr "" - #: apt-pkg/pkgcache.cc:132 apt-pkg/pkgcache.cc:143 -#: apt-pkg/pkgcache.cc:132 ++#: apt-pkg/pkgcache.cc:143 msgid "The package cache file is corrupted" msgstr "" - #: apt-pkg/pkgcache.cc:137 apt-pkg/pkgcache.cc:148 -#: apt-pkg/pkgcache.cc:137 ++#: apt-pkg/pkgcache.cc:148 msgid "The package cache file is an incompatible version" msgstr "" - #: apt-pkg/pkgcache.cc:142 apt-pkg/pkgcache.cc:153 -#: apt-pkg/pkgcache.cc:142 ++#: apt-pkg/pkgcache.cc:153 #, c-format msgid "This APT does not support the versioning system '%s'" msgstr "" - #: apt-pkg/pkgcache.cc:147 apt-pkg/pkgcache.cc:158 -#: apt-pkg/pkgcache.cc:147 ++#: apt-pkg/pkgcache.cc:158 msgid "The package cache was built for a different architecture" msgstr "" - #: apt-pkg/pkgcache.cc:218 apt-pkg/pkgcache.cc:229 -#: apt-pkg/pkgcache.cc:218 ++#: apt-pkg/pkgcache.cc:229 msgid "Depends" msgstr "" - #: apt-pkg/pkgcache.cc:218 apt-pkg/pkgcache.cc:229 -#: apt-pkg/pkgcache.cc:218 ++#: apt-pkg/pkgcache.cc:229 msgid "PreDepends" msgstr "" - #: apt-pkg/pkgcache.cc:218 apt-pkg/pkgcache.cc:229 -#: apt-pkg/pkgcache.cc:218 ++#: apt-pkg/pkgcache.cc:229 msgid "Suggests" msgstr "" - #: apt-pkg/pkgcache.cc:219 apt-pkg/pkgcache.cc:230 -#: apt-pkg/pkgcache.cc:219 ++#: apt-pkg/pkgcache.cc:230 msgid "Recommends" msgstr "" - #: apt-pkg/pkgcache.cc:219 apt-pkg/pkgcache.cc:230 -#: apt-pkg/pkgcache.cc:219 ++#: apt-pkg/pkgcache.cc:230 msgid "Conflicts" msgstr "" - #: apt-pkg/pkgcache.cc:219 apt-pkg/pkgcache.cc:230 -#: apt-pkg/pkgcache.cc:219 ++#: apt-pkg/pkgcache.cc:230 msgid "Replaces" msgstr "" - #: apt-pkg/pkgcache.cc:220 apt-pkg/pkgcache.cc:231 -#: apt-pkg/pkgcache.cc:220 ++#: apt-pkg/pkgcache.cc:231 msgid "Obsoletes" msgstr "" - #: apt-pkg/pkgcache.cc:231 apt-pkg/pkgcache.cc:242 + #: apt-pkg/pkgcache.cc:231 ++msgid "Breaks" ++msgstr "" ++ ++#: apt-pkg/pkgcache.cc:242 msgid "important" msgstr "" - #: apt-pkg/pkgcache.cc:231 apt-pkg/pkgcache.cc:242 -#: apt-pkg/pkgcache.cc:231 ++#: apt-pkg/pkgcache.cc:242 msgid "required" msgstr "" - #: apt-pkg/pkgcache.cc:231 apt-pkg/pkgcache.cc:242 -#: apt-pkg/pkgcache.cc:231 ++#: apt-pkg/pkgcache.cc:242 msgid "standard" msgstr "" - #: apt-pkg/pkgcache.cc:232 apt-pkg/pkgcache.cc:243 -#: apt-pkg/pkgcache.cc:232 ++#: apt-pkg/pkgcache.cc:243 msgid "optional" msgstr "" - #: apt-pkg/pkgcache.cc:232 apt-pkg/pkgcache.cc:243 -#: apt-pkg/pkgcache.cc:232 ++#: apt-pkg/pkgcache.cc:243 msgid "extra" msgstr "" -#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90 +#: apt-pkg/depcache.cc:101 apt-pkg/depcache.cc:130 msgid "Building dependency tree" msgstr "" -#: apt-pkg/depcache.cc:62 +#: apt-pkg/depcache.cc:102 msgid "Candidate versions" msgstr "" -#: apt-pkg/depcache.cc:91 +#: apt-pkg/depcache.cc:131 msgid "Dependency generation" msgstr "" +#: apt-pkg/depcache.cc:152 apt-pkg/depcache.cc:171 apt-pkg/depcache.cc:175 +msgid "Reading state information" +msgstr "" + +#: apt-pkg/depcache.cc:199 +#, c-format +msgid "Failed to open StateFile %s" +msgstr "" + +#: apt-pkg/depcache.cc:205 +#, c-format +msgid "Failed to write temporary StateFile %s" +msgstr "" + - #: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92 apt-pkg/tagfile.cc:73 + #: apt-pkg/tagfile.cc:106 #, c-format msgid "Unable to parse package file %s (1)" msgstr "" - #: apt-pkg/tagfile.cc:186 apt-pkg/tagfile.cc:160 + #: apt-pkg/tagfile.cc:193 #, c-format msgid "Unable to parse package file %s (2)" msgstr "" @@@ -2184,7 -2153,7 +2208,7 @@@ msgstr " msgid "Opening %s" msgstr "" - #: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426 apt-pkg/cdrom.cc:450 -#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426 ++#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:450 #, c-format msgid "Line %u too long in source list %s." msgstr "" @@@ -2217,19 -2186,19 +2241,19 @@@ msgstr " msgid "Index file type '%s' is not supported" msgstr "" - #: apt-pkg/algorithms.cc:245 apt-pkg/algorithms.cc:248 -#: apt-pkg/algorithms.cc:241 ++#: apt-pkg/algorithms.cc:248 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" - #: apt-pkg/algorithms.cc:1075 apt-pkg/algorithms.cc:1096 -#: apt-pkg/algorithms.cc:1059 ++#: apt-pkg/algorithms.cc:1104 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." msgstr "" - #: apt-pkg/algorithms.cc:1077 apt-pkg/algorithms.cc:1098 -#: apt-pkg/algorithms.cc:1061 ++#: apt-pkg/algorithms.cc:1106 msgid "Unable to correct problems, you have held broken packages." msgstr "" @@@ -2265,17 -2234,17 +2289,17 @@@ msgstr " msgid "Method %s did not start correctly" msgstr "" -#: apt-pkg/acquire-worker.cc:377 +#: apt-pkg/acquire-worker.cc:384 #, c-format msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" - #: apt-pkg/init.cc:122 apt-pkg/init.cc:125 -#: apt-pkg/init.cc:121 ++#: apt-pkg/init.cc:126 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" - #: apt-pkg/init.cc:138 apt-pkg/init.cc:141 -#: apt-pkg/init.cc:137 ++#: apt-pkg/init.cc:142 msgid "Unable to determine a suitable packaging system type" msgstr "" @@@ -2309,121 -2278,119 +2333,133 @@@ msgstr " msgid "No priority (or zero) specified for pin" msgstr "" -#: apt-pkg/pkgcachegen.cc:74 +#: apt-pkg/pkgcachegen.cc:76 msgid "Cache has an incompatible versioning system" msgstr "" -#: apt-pkg/pkgcachegen.cc:117 +#: apt-pkg/pkgcachegen.cc:119 #, c-format msgid "Error occurred while processing %s (NewPackage)" msgstr "" - #: apt-pkg/pkgcachegen.cc:131 apt-pkg/pkgcachegen.cc:134 -#: apt-pkg/pkgcachegen.cc:129 ++#: apt-pkg/pkgcachegen.cc:134 #, c-format msgid "Error occurred while processing %s (UsePackage1)" msgstr "" - #: apt-pkg/pkgcachegen.cc:152 apt-pkg/pkgcachegen.cc:182 -#: apt-pkg/pkgcachegen.cc:150 ++#: apt-pkg/pkgcachegen.cc:157 ++#, c-format ++msgid "Error occured while processing %s (NewFileDesc1)" ++msgstr "" ++ ++#: apt-pkg/pkgcachegen.cc:182 #, c-format msgid "Error occurred while processing %s (UsePackage2)" msgstr "" - #: apt-pkg/pkgcachegen.cc:156 apt-pkg/pkgcachegen.cc:186 -#: apt-pkg/pkgcachegen.cc:154 ++#: apt-pkg/pkgcachegen.cc:186 #, c-format msgid "Error occurred while processing %s (NewFileVer1)" msgstr "" - #: apt-pkg/pkgcachegen.cc:186 apt-pkg/pkgcachegen.cc:217 -#: apt-pkg/pkgcachegen.cc:184 ++#: apt-pkg/pkgcachegen.cc:217 #, c-format msgid "Error occurred while processing %s (NewVersion1)" msgstr "" - #: apt-pkg/pkgcachegen.cc:190 apt-pkg/pkgcachegen.cc:221 -#: apt-pkg/pkgcachegen.cc:188 ++#: apt-pkg/pkgcachegen.cc:221 #, c-format msgid "Error occurred while processing %s (UsePackage3)" msgstr "" - #: apt-pkg/pkgcachegen.cc:194 apt-pkg/pkgcachegen.cc:225 -#: apt-pkg/pkgcachegen.cc:192 ++#: apt-pkg/pkgcachegen.cc:225 #, c-format msgid "Error occurred while processing %s (NewVersion2)" msgstr "" - #: apt-pkg/pkgcachegen.cc:209 apt-pkg/pkgcachegen.cc:255 -#: apt-pkg/pkgcachegen.cc:207 ++#: apt-pkg/pkgcachegen.cc:249 ++#, c-format ++msgid "Error occured while processing %s (NewFileDesc2)" ++msgstr "" ++ ++#: apt-pkg/pkgcachegen.cc:255 msgid "Wow, you exceeded the number of package names this APT is capable of." msgstr "" - #: apt-pkg/pkgcachegen.cc:212 apt-pkg/pkgcachegen.cc:258 -#: apt-pkg/pkgcachegen.cc:210 ++#: apt-pkg/pkgcachegen.cc:258 msgid "Wow, you exceeded the number of versions this APT is capable of." msgstr "" - #: apt-pkg/pkgcachegen.cc:215 apt-pkg/pkgcachegen.cc:264 -#: apt-pkg/pkgcachegen.cc:213 ++#: apt-pkg/pkgcachegen.cc:261 ++msgid "Wow, you exceeded the number of descriptions this APT is capable of." ++msgstr "" ++ ++#: apt-pkg/pkgcachegen.cc:264 msgid "Wow, you exceeded the number of dependencies this APT is capable of." msgstr "" - #: apt-pkg/pkgcachegen.cc:243 apt-pkg/pkgcachegen.cc:292 -#: apt-pkg/pkgcachegen.cc:241 ++#: apt-pkg/pkgcachegen.cc:292 #, c-format msgid "Error occurred while processing %s (FindPkg)" msgstr "" - #: apt-pkg/pkgcachegen.cc:256 apt-pkg/pkgcachegen.cc:305 -#: apt-pkg/pkgcachegen.cc:254 ++#: apt-pkg/pkgcachegen.cc:305 #, c-format msgid "Error occurred while processing %s (CollectFileProvides)" msgstr "" - #: apt-pkg/pkgcachegen.cc:262 apt-pkg/pkgcachegen.cc:311 -#: apt-pkg/pkgcachegen.cc:260 ++#: apt-pkg/pkgcachegen.cc:311 #, c-format msgid "Package %s %s was not found while processing file dependencies" msgstr "" - #: apt-pkg/pkgcachegen.cc:577 apt-pkg/pkgcachegen.cc:682 -#: apt-pkg/pkgcachegen.cc:574 ++#: apt-pkg/pkgcachegen.cc:682 #, c-format msgid "Couldn't stat source package list %s" msgstr "" - #: apt-pkg/pkgcachegen.cc:662 apt-pkg/pkgcachegen.cc:767 -#: apt-pkg/pkgcachegen.cc:658 ++#: apt-pkg/pkgcachegen.cc:767 msgid "Collecting File Provides" msgstr "" - #: apt-pkg/pkgcachegen.cc:789 apt-pkg/pkgcachegen.cc:796 -#: apt-pkg/pkgcachegen.cc:785 apt-pkg/pkgcachegen.cc:792 +#: apt-pkg/pkgcachegen.cc:894 apt-pkg/pkgcachegen.cc:901 msgid "IO Error saving source cache" msgstr "" - #: apt-pkg/acquire-item.cc:126 + #: apt-pkg/acquire-item.cc:134 #, c-format msgid "rename failed, %s (%s -> %s)." msgstr "" - #: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:951 - #: apt-pkg/acquire-item.cc:980 -#: apt-pkg/acquire-item.cc:286 apt-pkg/acquire-item.cc:997 ++#: apt-pkg/acquire-item.cc:286 apt-pkg/acquire-item.cc:1032 msgid "MD5Sum mismatch" msgstr "" - #: apt-pkg/acquire-item.cc:646 apt-pkg/acquire-item.cc:675 - msgid "There are no public key available for the following key IDs:\n" -#: apt-pkg/acquire-item.cc:691 ++#: apt-pkg/acquire-item.cc:726 + msgid "There is no public key available for the following key IDs:\n" msgstr "" - #: apt-pkg/acquire-item.cc:759 apt-pkg/acquire-item.cc:788 -#: apt-pkg/acquire-item.cc:805 ++#: apt-pkg/acquire-item.cc:840 #, 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:818 apt-pkg/acquire-item.cc:847 -#: apt-pkg/acquire-item.cc:864 ++#: apt-pkg/acquire-item.cc:899 #, 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:854 apt-pkg/acquire-item.cc:883 -#: apt-pkg/acquire-item.cc:900 ++#: apt-pkg/acquire-item.cc:935 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" - #: apt-pkg/acquire-item.cc:941 apt-pkg/acquire-item.cc:970 -#: apt-pkg/acquire-item.cc:987 ++#: apt-pkg/acquire-item.cc:1022 msgid "Size mismatch" msgstr "" @@@ -2432,93 -2399,92 +2468,94 @@@ msgid "Vendor block %s contains no fingerprint" msgstr "" - #: apt-pkg/cdrom.cc:507 apt-pkg/cdrom.cc:531 -#: apt-pkg/cdrom.cc:507 ++#: apt-pkg/cdrom.cc:531 #, c-format msgid "" "Using CD-ROM mount point %s\n" "Mounting CD-ROM\n" msgstr "" - #: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598 apt-pkg/cdrom.cc:540 - #: apt-pkg/cdrom.cc:622 -#: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598 ++#: apt-pkg/cdrom.cc:540 apt-pkg/cdrom.cc:622 msgid "Identifying.. " msgstr "" - #: apt-pkg/cdrom.cc:541 apt-pkg/cdrom.cc:565 -#: apt-pkg/cdrom.cc:541 ++#: apt-pkg/cdrom.cc:565 #, c-format msgid "Stored label: %s \n" msgstr "" - #: apt-pkg/cdrom.cc:561 apt-pkg/cdrom.cc:585 -#: apt-pkg/cdrom.cc:561 ++#: apt-pkg/cdrom.cc:585 #, c-format msgid "Using CD-ROM mount point %s\n" msgstr "" - #: apt-pkg/cdrom.cc:579 apt-pkg/cdrom.cc:603 -#: apt-pkg/cdrom.cc:579 ++#: apt-pkg/cdrom.cc:603 msgid "Unmounting CD-ROM\n" msgstr "" - #: apt-pkg/cdrom.cc:583 apt-pkg/cdrom.cc:607 -#: apt-pkg/cdrom.cc:583 ++#: apt-pkg/cdrom.cc:607 msgid "Waiting for disc...\n" msgstr "" #. Mount the new CDROM - #: apt-pkg/cdrom.cc:591 apt-pkg/cdrom.cc:615 -#: apt-pkg/cdrom.cc:591 ++#: apt-pkg/cdrom.cc:615 msgid "Mounting CD-ROM...\n" msgstr "" - #: apt-pkg/cdrom.cc:609 apt-pkg/cdrom.cc:633 -#: apt-pkg/cdrom.cc:609 ++#: apt-pkg/cdrom.cc:633 msgid "Scanning disc for index files..\n" msgstr "" --#: apt-pkg/cdrom.cc:647 ++#: apt-pkg/cdrom.cc:673 #, c-format --msgid "Found %i package indexes, %i source indexes and %i signatures\n" ++msgid "" ++"Found %i package indexes, %i source indexes, %i translation indexes and %i " ++"signatures\n" msgstr "" - #: apt-pkg/cdrom.cc:710 apt-pkg/cdrom.cc:737 -#: apt-pkg/cdrom.cc:710 ++#: apt-pkg/cdrom.cc:737 msgid "That is not a valid name, try again.\n" msgstr "" - #: apt-pkg/cdrom.cc:726 apt-pkg/cdrom.cc:753 -#: apt-pkg/cdrom.cc:726 ++#: apt-pkg/cdrom.cc:753 #, c-format msgid "" "This disc is called: \n" "'%s'\n" msgstr "" - #: apt-pkg/cdrom.cc:730 apt-pkg/cdrom.cc:757 -#: apt-pkg/cdrom.cc:730 ++#: apt-pkg/cdrom.cc:757 msgid "Copying package lists..." msgstr "" - #: apt-pkg/cdrom.cc:754 apt-pkg/cdrom.cc:783 -#: apt-pkg/cdrom.cc:754 ++#: apt-pkg/cdrom.cc:783 msgid "Writing new source list\n" msgstr "" - #: apt-pkg/cdrom.cc:763 apt-pkg/cdrom.cc:792 -#: apt-pkg/cdrom.cc:763 ++#: apt-pkg/cdrom.cc:792 msgid "Source list entries for this disc are:\n" msgstr "" - #: apt-pkg/cdrom.cc:803 apt-pkg/cdrom.cc:832 -#: apt-pkg/cdrom.cc:803 ++#: apt-pkg/cdrom.cc:832 msgid "Unmounting CD-ROM..." msgstr "" - #: apt-pkg/indexcopy.cc:261 apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:830 -#: apt-pkg/indexcopy.cc:261 ++#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:830 #, c-format msgid "Wrote %i records.\n" msgstr "" - #: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:832 -#: apt-pkg/indexcopy.cc:263 ++#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:832 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" - #: apt-pkg/indexcopy.cc:266 apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:835 -#: apt-pkg/indexcopy.cc:266 ++#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:835 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" - #: apt-pkg/indexcopy.cc:269 apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:838 -#: apt-pkg/indexcopy.cc:269 ++#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:838 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@@ -2576,28 -2542,3 +2613,3 @@@ msgstr " #: methods/rsh.cc:330 msgid "Connection closed prematurely" msgstr "" - - #: apt-pkg/pkgcache.cc:231 - msgid "Breaks" - msgstr "" - - #: apt-pkg/pkgcachegen.cc:157 - #, c-format - msgid "Error occured while processing %s (NewFileDesc1)" - msgstr "" - - #: apt-pkg/pkgcachegen.cc:249 - #, c-format - msgid "Error occured while processing %s (NewFileDesc2)" - msgstr "" - - #: apt-pkg/pkgcachegen.cc:261 - msgid "Wow, you exceeded the number of descriptions this APT is capable of." - msgstr "" - - #: apt-pkg/cdrom.cc:673 - #, c-format - msgid "" - "Found %i package indexes, %i source indexes, %i translation indexes and %i " - "signatures\n" - msgstr ""