Преглед изворни кода

merged debian-sid branch and resolved conflicts

Michael Vogt пре 13 година
родитељ
комит
3444603f5f
100 измењених фајлова са 6930 додато и 2041 уклоњено
  1. 1 2
      apt-inst/extract.cc
  2. 18 12
      apt-pkg/acquire-item.cc
  3. 1 1
      apt-pkg/aptconfiguration.cc
  4. 1 2
      apt-pkg/cachefilter.cc
  5. 2 0
      apt-pkg/cacheiterators.h
  6. 1 1
      apt-pkg/contrib/configuration.cc
  7. 5 5
      apt-pkg/contrib/fileutl.cc
  8. 385 0
      apt-pkg/contrib/gpgv.cc
  9. 82 0
      apt-pkg/contrib/gpgv.h
  10. 3 5
      apt-pkg/contrib/netrc.cc
  11. 1 1
      apt-pkg/contrib/progress.cc
  12. 11 5
      apt-pkg/contrib/strutl.cc
  13. 1 0
      apt-pkg/contrib/strutl.h
  14. 7 1
      apt-pkg/deb/debindexfile.cc
  15. 8 18
      apt-pkg/deb/deblistparser.cc
  16. 25 7
      apt-pkg/deb/debmetaindex.cc
  17. 8 3
      apt-pkg/deb/debversion.cc
  18. 7 10
      apt-pkg/deb/dpkgpm.cc
  19. 41 15
      apt-pkg/depcache.cc
  20. 0 1
      apt-pkg/edsp.cc
  21. 4 120
      apt-pkg/indexcopy.cc
  22. 11 6
      apt-pkg/indexcopy.h
  23. 5 1
      apt-pkg/indexrecords.cc
  24. 6 8
      apt-pkg/makefile
  25. 3 1
      apt-pkg/orderlist.cc
  26. 40 23
      apt-pkg/pkgcache.cc
  27. 113 66
      apt-pkg/pkgcachegen.cc
  28. 8 1
      apt-pkg/pkgcachegen.h
  29. 5 1
      apt-pkg/sourcelist.cc
  30. 5 6
      apt-pkg/srcrecords.cc
  31. 8 1
      apt-pkg/tagfile.cc
  32. 2 2
      apt-pkg/tagfile.h
  33. 1 1
      apt-pkg/vendor.cc
  34. 1 1
      apt-pkg/versionmatch.cc
  35. 3 3
      cmdline/apt-get.cc
  36. 150 4
      debian/changelog
  37. 1 1
      debian/control
  38. 1 1
      doc/apt-verbatim.ent
  39. 12 0
      doc/apt.conf.5.xml
  40. 83 73
      doc/po/de.po
  41. 83 73
      doc/po/es.po
  42. 83 73
      doc/po/fr.po
  43. 1378 1083
      doc/po/it.po
  44. 83 73
      doc/po/ja.po
  45. 83 73
      doc/po/pl.po
  46. 83 73
      doc/po/pt.po
  47. 83 73
      doc/po/pt_BR.po
  48. 46 59
      ftparchive/writer.cc
  49. 11 0
      methods/connect.cc
  50. 2 13
      methods/gpgv.cc
  51. 0 2
      methods/rfc2553emu.cc
  52. 4 0
      po/ar.po
  53. 8 0
      po/ast.po
  54. 8 0
      po/bg.po
  55. 8 1
      po/ca.po
  56. 8 1
      po/cs.po
  57. 8 0
      po/cy.po
  58. 8 0
      po/da.po
  59. 8 0
      po/de.po
  60. 8 0
      po/dz.po
  61. 8 0
      po/el.po
  62. 8 0
      po/es.po
  63. 8 0
      po/eu.po
  64. 8 0
      po/fi.po
  65. 10 3
      po/fr.po
  66. 8 0
      po/gl.po
  67. 8 0
      po/hu.po
  68. 10 0
      po/it.po
  69. 14 6
      po/ja.po
  70. 8 0
      po/km.po
  71. 9 0
      po/ko.po
  72. 4 0
      po/ku.po
  73. 8 0
      po/lt.po
  74. 8 0
      po/mr.po
  75. 8 0
      po/nb.po
  76. 8 0
      po/ne.po
  77. 8 0
      po/nl.po
  78. 8 0
      po/nn.po
  79. 8 0
      po/pl.po
  80. 8 0
      po/pt.po
  81. 8 0
      po/pt_BR.po
  82. 8 0
      po/ro.po
  83. 8 1
      po/ru.po
  84. 8 0
      po/sk.po
  85. 8 0
      po/sl.po
  86. 9 0
      po/sv.po
  87. 8 0
      po/th.po
  88. 8 0
      po/tl.po
  89. 3494 0
      po/tr.po
  90. 9 0
      po/uk.po
  91. 8 0
      po/vi.po
  92. 8 0
      po/zh_CN.po
  93. 8 0
      po/zh_TW.po
  94. 21 4
      test/integration/framework
  95. 2 1
      test/integration/run-tests
  96. 2 0
      test/integration/test-apt-cdrom
  97. 1 1
      test/integration/test-apt-get-download
  98. 11 19
      test/integration/test-bug-595691-empty-and-broken-archive-files
  99. 61 0
      test/integration/test-cve-2013-1051-InRelease-parsing
  100. 0 0
      test/integration/test-releasefile-verification

+ 1 - 2
apt-inst/extract.cc

@@ -81,8 +81,6 @@ pkgExtract::pkgExtract(pkgFLCache &FLCache,pkgCache::VerIterator Ver) :
 /* This performs the setup for the extraction.. */
 /* This performs the setup for the extraction.. */
 bool pkgExtract::DoItem(Item &Itm,int &Fd)
 bool pkgExtract::DoItem(Item &Itm,int &Fd)
 {
 {
-   char Temp[sizeof(FileName)];
-   
    /* Strip any leading/trailing /s from the filename, then copy it to the
    /* Strip any leading/trailing /s from the filename, then copy it to the
       temp buffer and re-apply the leading / We use a class variable
       temp buffer and re-apply the leading / We use a class variable
       to store the new filename for use by the three extraction funcs */
       to store the new filename for use by the three extraction funcs */
@@ -183,6 +181,7 @@ bool pkgExtract::DoItem(Item &Itm,int &Fd)
       // See if we can recover the backup file
       // See if we can recover the backup file
       if (Nde.end() == false)
       if (Nde.end() == false)
       {
       {
+	 char Temp[sizeof(FileName)];
 	 snprintf(Temp,sizeof(Temp),"%s.%s",Itm.Name,TempExt);
 	 snprintf(Temp,sizeof(Temp),"%s.%s",Itm.Name,TempExt);
 	 if (rename(Temp,Itm.Name) != 0 && errno != ENOENT)
 	 if (rename(Temp,Itm.Name) != 0 && errno != ENOENT)
 	    return _error->Errno("rename",_("Failed to rename %s to %s"),
 	    return _error->Errno("rename",_("Failed to rename %s to %s"),

+ 18 - 12
apt-pkg/acquire-item.cc

@@ -560,7 +560,7 @@ pkgAcqIndexDiffs::pkgAcqIndexDiffs(pkgAcquire *Owner,
    Desc.Owner = this;
    Desc.Owner = this;
    Desc.ShortDesc = ShortDesc;
    Desc.ShortDesc = ShortDesc;
 
 
-   if(available_patches.size() == 0) 
+   if(available_patches.empty() == true)
    {
    {
       // we are done (yeah!)
       // we are done (yeah!)
       Finish(true);
       Finish(true);
@@ -1514,20 +1514,17 @@ void pkgAcqMetaIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
    if (AuthPass == true)
    if (AuthPass == true)
    {
    {
       // gpgv method failed, if we have a good signature 
       // gpgv method failed, if we have a good signature 
-      string LastGoodSigFile = _config->FindDir("Dir::State::lists");
-      if (DestFile == SigFile)
-	 LastGoodSigFile.append(URItoFileName(RealURI));
-      else
-	 LastGoodSigFile.append("partial/").append(URItoFileName(RealURI)).append(".gpg.reverify");
+      string LastGoodSigFile = _config->FindDir("Dir::State::lists").append("partial/").append(URItoFileName(RealURI));
+      if (DestFile != SigFile)
+	 LastGoodSigFile.append(".gpg");
+      LastGoodSigFile.append(".reverify");
 
 
       if(FileExists(LastGoodSigFile))
       if(FileExists(LastGoodSigFile))
       {
       {
+	 string VerifiedSigFile = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI);
 	 if (DestFile != SigFile)
 	 if (DestFile != SigFile)
-	 {
-	    string VerifiedSigFile = _config->FindDir("Dir::State::lists") +
-					URItoFileName(RealURI) + ".gpg";
-	    Rename(LastGoodSigFile,VerifiedSigFile);
-	 }
+	    VerifiedSigFile.append(".gpg");
+	 Rename(LastGoodSigFile, VerifiedSigFile);
 	 Status = StatTransientNetworkError;
 	 Status = StatTransientNetworkError;
 	 _error->Warning(_("A error occurred during the signature "
 	 _error->Warning(_("A error occurred during the signature "
 			   "verification. The repository is not updated "
 			   "verification. The repository is not updated "
@@ -1588,6 +1585,15 @@ pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire *Owner,		/*{{{*/
 	MetaSigURI(MetaSigURI), MetaSigURIDesc(MetaSigURIDesc), MetaSigShortDesc(MetaSigShortDesc)
 	MetaSigURI(MetaSigURI), MetaSigURIDesc(MetaSigURIDesc), MetaSigShortDesc(MetaSigShortDesc)
 {
 {
    SigFile = DestFile;
    SigFile = DestFile;
+
+   // keep the old InRelease around in case of transistent network errors
+   string const Final = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI);
+   struct stat Buf;
+   if (stat(Final.c_str(),&Buf) == 0)
+   {
+      string const LastGoodSig = DestFile + ".reverify";
+      Rename(Final,LastGoodSig);
+   }
 }
 }
 									/*}}}*/
 									/*}}}*/
 // pkgAcqMetaClearSig::Custom600Headers - Insert custom request headers	/*{{{*/
 // pkgAcqMetaClearSig::Custom600Headers - Insert custom request headers	/*{{{*/
@@ -1654,7 +1660,7 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources,
       assumption here that all the available sources for this version share
       assumption here that all the available sources for this version share
       the same extension.. */
       the same extension.. */
    // Skip not source sources, they do not have file fields.
    // Skip not source sources, they do not have file fields.
-   for (; Vf.end() == false; Vf++)
+   for (; Vf.end() == false; ++Vf)
    {
    {
       if ((Vf.File()->Flags & pkgCache::Flag::NotSource) != 0)
       if ((Vf.File()->Flags & pkgCache::Flag::NotSource) != 0)
 	 continue;
 	 continue;

+ 1 - 1
apt-pkg/aptconfiguration.cc

@@ -401,8 +401,8 @@ std::vector<std::string> const Configuration::getArchitectures(bool const &Cache
 		close(external[1]);
 		close(external[1]);
 
 
 		FILE *dpkg = fdopen(external[0], "r");
 		FILE *dpkg = fdopen(external[0], "r");
-		char buf[1024];
 		if(dpkg != NULL) {
 		if(dpkg != NULL) {
+			char buf[1024];
 			while (fgets(buf, sizeof(buf), dpkg) != NULL) {
 			while (fgets(buf, sizeof(buf), dpkg) != NULL) {
 				char* arch = strtok(buf, " ");
 				char* arch = strtok(buf, " ");
 				while (arch != NULL) {
 				while (arch != NULL) {

+ 1 - 2
apt-pkg/cachefilter.cc

@@ -71,8 +71,7 @@ static std::string CompleteArch(std::string const &arch) {
 }
 }
 									/*}}}*/
 									/*}}}*/
 PackageArchitectureMatchesSpecification::PackageArchitectureMatchesSpecification(std::string const &pattern, bool const isPattern) :/*{{{*/
 PackageArchitectureMatchesSpecification::PackageArchitectureMatchesSpecification(std::string const &pattern, bool const isPattern) :/*{{{*/
-					literal(pattern), isPattern(isPattern), d(NULL) {
-	complete = CompleteArch(pattern);
+					literal(pattern), complete(CompleteArch(pattern)), isPattern(isPattern), d(NULL) {
 }
 }
 									/*}}}*/
 									/*}}}*/
 bool PackageArchitectureMatchesSpecification::operator() (char const * const &arch) {/*{{{*/
 bool PackageArchitectureMatchesSpecification::operator() (char const * const &arch) {/*{{{*/

+ 2 - 0
apt-pkg/cacheiterators.h

@@ -286,6 +286,8 @@ class pkgCache::DepIterator : public Iterator<Dependency, DepIterator> {
 	bool IsIgnorable(PrvIterator const &Prv) const;
 	bool IsIgnorable(PrvIterator const &Prv) const;
 	bool IsIgnorable(PkgIterator const &Pkg) const;
 	bool IsIgnorable(PkgIterator const &Pkg) const;
 	bool IsMultiArchImplicit() const;
 	bool IsMultiArchImplicit() const;
+	bool IsSatisfied(VerIterator const &Ver) const;
+	bool IsSatisfied(PrvIterator const &Prv) const;
 	void GlobOr(DepIterator &Start,DepIterator &End);
 	void GlobOr(DepIterator &Start,DepIterator &End);
 	Version **AllTargets() const;
 	Version **AllTargets() const;
 	bool SmartTargetPkg(PkgIterator &Result) const;
 	bool SmartTargetPkg(PkgIterator &Result) const;

+ 1 - 1
apt-pkg/contrib/configuration.cc

@@ -970,7 +970,7 @@ Configuration::MatchAgainstConfig::MatchAgainstConfig(char const * Config)
 	 continue;
 	 continue;
       }
       }
    }
    }
-   if (strings.size() == 0)
+   if (strings.empty() == true)
       patterns.push_back(NULL);
       patterns.push_back(NULL);
 }
 }
 									/*}}}*/
 									/*}}}*/

+ 5 - 5
apt-pkg/contrib/fileutl.cc

@@ -389,7 +389,7 @@ std::vector<string> GetListOfFilesInDir(string const &Dir, std::vector<string> c
 
 
    std::vector<string> List;
    std::vector<string> List;
 
 
-   if (DirectoryExists(Dir.c_str()) == false)
+   if (DirectoryExists(Dir) == false)
    {
    {
       _error->Error(_("List of files can't be created as '%s' is not a directory"), Dir.c_str());
       _error->Error(_("List of files can't be created as '%s' is not a directory"), Dir.c_str());
       return List;
       return List;
@@ -415,14 +415,14 @@ std::vector<string> GetListOfFilesInDir(string const &Dir, std::vector<string> c
       if (Ent->d_type != DT_REG)
       if (Ent->d_type != DT_REG)
 #endif
 #endif
       {
       {
-	 if (RealFileExists(File.c_str()) == false)
+	 if (RealFileExists(File) == false)
 	 {
 	 {
 	    // do not show ignoration warnings for directories
 	    // do not show ignoration warnings for directories
 	    if (
 	    if (
 #ifdef _DIRENT_HAVE_D_TYPE
 #ifdef _DIRENT_HAVE_D_TYPE
 		Ent->d_type == DT_DIR ||
 		Ent->d_type == DT_DIR ||
 #endif
 #endif
-		DirectoryExists(File.c_str()) == true)
+		DirectoryExists(File) == true)
 	       continue;
 	       continue;
 	    if (SilentIgnore.Match(Ent->d_name) == false)
 	    if (SilentIgnore.Match(Ent->d_name) == false)
 	       _error->Notice(_("Ignoring '%s' in directory '%s' as it is not a regular file"), Ent->d_name, Dir.c_str());
 	       _error->Notice(_("Ignoring '%s' in directory '%s' as it is not a regular file"), Ent->d_name, Dir.c_str());
@@ -503,7 +503,7 @@ std::vector<string> GetListOfFilesInDir(string const &Dir, bool SortList)
 
 
    std::vector<string> List;
    std::vector<string> List;
 
 
-   if (DirectoryExists(Dir.c_str()) == false)
+   if (DirectoryExists(Dir) == false)
    {
    {
       _error->Error(_("List of files can't be created as '%s' is not a directory"), Dir.c_str());
       _error->Error(_("List of files can't be created as '%s' is not a directory"), Dir.c_str());
       return List;
       return List;
@@ -528,7 +528,7 @@ std::vector<string> GetListOfFilesInDir(string const &Dir, bool SortList)
       if (Ent->d_type != DT_REG)
       if (Ent->d_type != DT_REG)
 #endif
 #endif
       {
       {
-	 if (RealFileExists(File.c_str()) == false)
+	 if (RealFileExists(File) == false)
 	 {
 	 {
 	    if (Debug == true)
 	    if (Debug == true)
 	       std::clog << "Bad file: " << Ent->d_name << " → it is not a real file" << std::endl;
 	       std::clog << "Bad file: " << Ent->d_name << " → it is not a real file" << std::endl;

+ 385 - 0
apt-pkg/contrib/gpgv.cc

@@ -0,0 +1,385 @@
+// -*- mode: cpp; mode: fold -*-
+// Include Files							/*{{{*/
+#include<config.h>
+
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include<apt-pkg/configuration.h>
+#include<apt-pkg/error.h>
+#include<apt-pkg/strutl.h>
+#include<apt-pkg/fileutl.h>
+#include<apt-pkg/gpgv.h>
+
+#include <apti18n.h>
+									/*}}}*/
+static char * GenerateTemporaryFileTemplate(const char *basename)	/*{{{*/
+{
+   const char *tmpdir = getenv("TMPDIR");
+#ifdef P_tmpdir
+   if (!tmpdir)
+      tmpdir = P_tmpdir;
+#endif
+   if (!tmpdir)
+      tmpdir = "/tmp";
+
+   std::string out;
+   strprintf(out,  "%s/%s.XXXXXX", tmpdir, basename);
+   return strdup(out.c_str());
+}
+									/*}}}*/
+// ExecGPGV - returns the command needed for verify			/*{{{*/
+// ---------------------------------------------------------------------
+/* Generating the commandline for calling gpgv is somehow complicated as
+   we need to add multiple keyrings and user supplied options.
+   Also, as gpgv has no options to enforce a certain reduced style of
+   clear-signed files (=the complete content of the file is signed and
+   the content isn't encoded) we do a divide and conquer approach here
+   and split up the clear-signed file in message and signature for gpgv
+*/
+void ExecGPGV(std::string const &File, std::string const &FileGPG,
+             int const &statusfd, int fd[2])
+{
+   #define EINTERNAL 111
+   std::string const gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv");
+   // FIXME: remove support for deprecated APT::GPGV setting
+   std::string const trustedFile = _config->Find("APT::GPGV::TrustedKeyring", _config->FindFile("Dir::Etc::Trusted"));
+   std::string const trustedPath = _config->FindDir("Dir::Etc::TrustedParts");
+
+   bool const Debug = _config->FindB("Debug::Acquire::gpgv", false);
+
+   if (Debug == true)
+   {
+      std::clog << "gpgv path: " << gpgvpath << std::endl;
+      std::clog << "Keyring file: " << trustedFile << std::endl;
+      std::clog << "Keyring path: " << trustedPath << std::endl;
+   }
+
+   std::vector<std::string> keyrings;
+   if (DirectoryExists(trustedPath))
+     keyrings = GetListOfFilesInDir(trustedPath, "gpg", false, true);
+   if (RealFileExists(trustedFile) == true)
+     keyrings.push_back(trustedFile);
+
+   std::vector<const char *> Args;
+   Args.reserve(30);
+
+   if (keyrings.empty() == true)
+   {
+      // TRANSLATOR: %s is the trusted keyring parts directory
+      ioprintf(std::cerr, _("No keyring installed in %s."),
+	    _config->FindDir("Dir::Etc::TrustedParts").c_str());
+      exit(EINTERNAL);
+   }
+
+   Args.push_back(gpgvpath.c_str());
+   Args.push_back("--ignore-time-conflict");
+
+   char statusfdstr[10];
+   if (statusfd != -1)
+   {
+      Args.push_back("--status-fd");
+      snprintf(statusfdstr, sizeof(statusfdstr), "%i", statusfd);
+      Args.push_back(statusfdstr);
+   }
+
+   for (std::vector<std::string>::const_iterator K = keyrings.begin();
+	K != keyrings.end(); ++K)
+   {
+      Args.push_back("--keyring");
+      Args.push_back(K->c_str());
+   }
+
+   Configuration::Item const *Opts;
+   Opts = _config->Tree("Acquire::gpgv::Options");
+   if (Opts != 0)
+   {
+      Opts = Opts->Child;
+      for (; Opts != 0; Opts = Opts->Next)
+      {
+	 if (Opts->Value.empty() == true)
+	    continue;
+	 Args.push_back(Opts->Value.c_str());
+      }
+   }
+
+   std::vector<std::string> dataHeader;
+   char * sig = NULL;
+   char * data = NULL;
+
+   // file with detached signature
+   if (FileGPG != File)
+   {
+      Args.push_back(FileGPG.c_str());
+      Args.push_back(File.c_str());
+   }
+   else // clear-signed file
+   {
+      sig = GenerateTemporaryFileTemplate("apt.sig");
+      data = GenerateTemporaryFileTemplate("apt.data");
+      if (sig == NULL || data == NULL)
+      {
+	 ioprintf(std::cerr, "Couldn't create tempfile names for splitting up %s", File.c_str());
+	 exit(EINTERNAL);
+      }
+
+      int const sigFd = mkstemp(sig);
+      int const dataFd = mkstemp(data);
+      if (sigFd == -1 || dataFd == -1)
+      {
+	 if (dataFd != -1)
+	    unlink(sig);
+	 if (sigFd != -1)
+	    unlink(data);
+	 ioprintf(std::cerr, "Couldn't create tempfiles for splitting up %s", File.c_str());
+	 exit(EINTERNAL);
+      }
+
+      FileFd signature;
+      signature.OpenDescriptor(sigFd, FileFd::WriteOnly, true);
+      FileFd message;
+      message.OpenDescriptor(dataFd, FileFd::WriteOnly, true);
+
+      if (signature.Failed() == true || message.Failed() == true ||
+	    SplitClearSignedFile(File, &message, &dataHeader, &signature) == false)
+      {
+	 if (dataFd != -1)
+	    unlink(sig);
+	 if (sigFd != -1)
+	    unlink(data);
+	 ioprintf(std::cerr, "Splitting up %s into data and signature failed", File.c_str());
+	 exit(EINTERNAL);
+      }
+      Args.push_back(sig);
+      Args.push_back(data);
+   }
+
+   Args.push_back(NULL);
+
+   if (Debug == true)
+   {
+      std::clog << "Preparing to exec: " << gpgvpath;
+      for (std::vector<const char *>::const_iterator a = Args.begin(); *a != NULL; ++a)
+	 std::clog << " " << *a;
+      std::clog << std::endl;
+   }
+
+   if (statusfd != -1)
+   {
+      int const nullfd = open("/dev/null", O_RDONLY);
+      close(fd[0]);
+      // Redirect output to /dev/null; we read from the status fd
+      if (statusfd != STDOUT_FILENO)
+	 dup2(nullfd, STDOUT_FILENO);
+      if (statusfd != STDERR_FILENO)
+	 dup2(nullfd, STDERR_FILENO);
+      // Redirect the pipe to the status fd (3)
+      dup2(fd[1], statusfd);
+
+      putenv((char *)"LANG=");
+      putenv((char *)"LC_ALL=");
+      putenv((char *)"LC_MESSAGES=");
+   }
+
+   if (FileGPG != File)
+   {
+      execvp(gpgvpath.c_str(), (char **) &Args[0]);
+      ioprintf(std::cerr, "Couldn't execute %s to check %s", Args[0], File.c_str());
+      exit(EINTERNAL);
+   }
+   else
+   {
+//#define UNLINK_EXIT(X) exit(X)
+#define UNLINK_EXIT(X) unlink(sig);unlink(data);exit(X)
+
+      // for clear-signed files we have created tempfiles we have to clean up
+      // and we do an additional check, so fork yet another time …
+      pid_t pid = ExecFork();
+      if(pid < 0) {
+	 ioprintf(std::cerr, "Fork failed for %s to check %s", Args[0], File.c_str());
+	 UNLINK_EXIT(EINTERNAL);
+      }
+      if(pid == 0)
+      {
+	 if (statusfd != -1)
+	    dup2(fd[1], statusfd);
+	 execvp(gpgvpath.c_str(), (char **) &Args[0]);
+	 ioprintf(std::cerr, "Couldn't execute %s to check %s", Args[0], File.c_str());
+	 UNLINK_EXIT(EINTERNAL);
+      }
+
+      // Wait and collect the error code - taken from WaitPid as we need the exact Status
+      int Status;
+      while (waitpid(pid,&Status,0) != pid)
+      {
+	 if (errno == EINTR)
+	    continue;
+	 ioprintf(std::cerr, _("Waited for %s but it wasn't there"), "gpgv");
+	 UNLINK_EXIT(EINTERNAL);
+      }
+#undef UNLINK_EXIT
+      // we don't need the files any longer
+      unlink(sig);
+      unlink(data);
+      free(sig);
+      free(data);
+
+      // check if it exit'ed normally …
+      if (WIFEXITED(Status) == false)
+      {
+	 ioprintf(std::cerr, _("Sub-process %s exited unexpectedly"), "gpgv");
+	 exit(EINTERNAL);
+      }
+
+      // … and with a good exit code
+      if (WEXITSTATUS(Status) != 0)
+      {
+	 ioprintf(std::cerr, _("Sub-process %s returned an error code (%u)"), "gpgv", WEXITSTATUS(Status));
+	 exit(WEXITSTATUS(Status));
+      }
+
+      // everything fine
+      exit(0);
+   }
+   exit(EINTERNAL); // unreachable safe-guard
+}
+									/*}}}*/
+// SplitClearSignedFile - split message into data/signature		/*{{{*/
+bool SplitClearSignedFile(std::string const &InFile, FileFd * const ContentFile,
+      std::vector<std::string> * const ContentHeader, FileFd * const SignatureFile)
+{
+   FILE *in = fopen(InFile.c_str(), "r");
+   if (in == NULL)
+      return _error->Errno("fopen", "can not open %s", InFile.c_str());
+
+   bool found_message_start = false;
+   bool found_message_end = false;
+   bool skip_until_empty_line = false;
+   bool found_signature = false;
+   bool first_line = true;
+
+   char *buf = NULL;
+   size_t buf_size = 0;
+   ssize_t line_len = 0;
+   while ((line_len = getline(&buf, &buf_size, in)) != -1)
+   {
+      _strrstrip(buf);
+      if (found_message_start == false)
+      {
+	 if (strcmp(buf, "-----BEGIN PGP SIGNED MESSAGE-----") == 0)
+	 {
+	    found_message_start = true;
+	    skip_until_empty_line = true;
+	 }
+      }
+      else if (skip_until_empty_line == true)
+      {
+	 if (strlen(buf) == 0)
+	    skip_until_empty_line = false;
+	 // save "Hash" Armor Headers, others aren't allowed
+	 else if (ContentHeader != NULL && strncmp(buf, "Hash: ", strlen("Hash: ")) == 0)
+	    ContentHeader->push_back(buf);
+      }
+      else if (found_signature == false)
+      {
+	 if (strcmp(buf, "-----BEGIN PGP SIGNATURE-----") == 0)
+	 {
+	    found_signature = true;
+	    found_message_end = true;
+	    if (SignatureFile != NULL)
+	    {
+	       SignatureFile->Write(buf, strlen(buf));
+	       SignatureFile->Write("\n", 1);
+	    }
+	 }
+	 else if (found_message_end == false) // we are in the message block
+	 {
+	    // we don't have any fields which need dash-escaped,
+	    // but implementations are free to encode all lines …
+	    char const * dashfree = buf;
+	    if (strncmp(dashfree, "- ", 2) == 0)
+	       dashfree += 2;
+	    if(first_line == true) // first line does not need a newline
+	       first_line = false;
+	    else if (ContentFile != NULL)
+	       ContentFile->Write("\n", 1);
+	    else
+	       continue;
+	    if (ContentFile != NULL)
+	       ContentFile->Write(dashfree, strlen(dashfree));
+	 }
+      }
+      else if (found_signature == true)
+      {
+	 if (SignatureFile != NULL)
+	 {
+	    SignatureFile->Write(buf, strlen(buf));
+	    SignatureFile->Write("\n", 1);
+	 }
+	 if (strcmp(buf, "-----END PGP SIGNATURE-----") == 0)
+	    found_signature = false; // look for other signatures
+      }
+      // all the rest is whitespace, unsigned garbage or additional message blocks we ignore
+   }
+   fclose(in);
+
+   if (found_signature == true)
+      return _error->Error("Signature in file %s wasn't closed", InFile.c_str());
+
+   // if we haven't found any of them, this an unsigned file,
+   // so don't generate an error, but splitting was unsuccessful none-the-less
+   if (first_line == true && found_message_start == false && found_message_end == false)
+      return false;
+   // otherwise one missing indicates a syntax error
+   else if (first_line == true || found_message_start == false || found_message_end == false)
+     return _error->Error("Splitting of file %s failed as it doesn't contain all expected parts %i %i %i", InFile.c_str(), first_line, found_message_start, found_message_end);
+
+   return true;
+}
+									/*}}}*/
+bool OpenMaybeClearSignedFile(std::string const &ClearSignedFileName, FileFd &MessageFile) /*{{{*/
+{
+   char * const message = GenerateTemporaryFileTemplate("fileutl.message");
+   int const messageFd = mkstemp(message);
+   if (messageFd == -1)
+   {
+      free(message);
+      return _error->Errno("mkstemp", "Couldn't create temporary file to work with %s", ClearSignedFileName.c_str());
+   }
+   // we have the fd, thats enough for us
+   unlink(message);
+   free(message);
+
+   MessageFile.OpenDescriptor(messageFd, FileFd::ReadWrite, true);
+   if (MessageFile.Failed() == true)
+      return _error->Error("Couldn't open temporary file to work with %s", ClearSignedFileName.c_str());
+
+   _error->PushToStack();
+   bool const splitDone = SplitClearSignedFile(ClearSignedFileName.c_str(), &MessageFile, NULL, NULL);
+   bool const errorDone = _error->PendingError();
+   _error->MergeWithStack();
+   if (splitDone == false)
+   {
+      MessageFile.Close();
+
+      if (errorDone == true)
+	 return false;
+
+      // we deal with an unsigned file
+      MessageFile.Open(ClearSignedFileName, FileFd::ReadOnly);
+   }
+   else // clear-signed
+   {
+      if (MessageFile.Seek(0) == false)
+	 return _error->Errno("lseek", "Unable to seek back in message for file %s", ClearSignedFileName.c_str());
+   }
+
+   return MessageFile.Failed() == false;
+}
+									/*}}}*/

+ 82 - 0
apt-pkg/contrib/gpgv.h

@@ -0,0 +1,82 @@
+// -*- mode: cpp; mode: fold -*-
+// Description								/*{{{*/
+/* ######################################################################
+
+   Helpers to deal with gpgv better and more easily
+
+   ##################################################################### */
+									/*}}}*/
+#ifndef CONTRIB_GPGV_H
+#define CONTRIB_GPGV_H
+
+#include <string>
+#include <vector>
+
+#include <apt-pkg/fileutl.h>
+
+#if __GNUC__ >= 4
+	#define APT_noreturn	__attribute__ ((noreturn))
+#else
+	#define APT_noreturn	/* no support */
+#endif
+
+/** \brief generates and run the command to verify a file with gpgv
+ *
+ * If File and FileSig specify the same file it is assumed that we
+ * deal with a clear-signed message. In that case the file will be
+ * rewritten to be in a good-known format without uneeded whitespaces
+ * and additional messages (unsigned or signed).
+ *
+ * @param File is the message (unsigned or clear-signed)
+ * @param FileSig is the signature (detached or clear-signed)
+ */
+void ExecGPGV(std::string const &File, std::string const &FileSig,
+      int const &statusfd, int fd[2]) APT_noreturn;
+inline void ExecGPGV(std::string const &File, std::string const &FileSig,
+      int const &statusfd = -1) {
+   int fd[2];
+   ExecGPGV(File, FileSig, statusfd, fd);
+};
+
+#undef APT_noreturn
+
+/** \brief Split an inline signature into message and signature
+ *
+ *  Takes a clear-signed message and puts the first signed message
+ *  in the content file and all signatures following it into the
+ *  second. Unsigned messages, additional messages as well as
+ *  whitespaces are discarded. The resulting files are suitable to
+ *  be checked with gpgv.
+ *
+ *  If a FileFd pointers is NULL it will not be used and the content
+ *  which would have been written to it is silently discarded.
+ *
+ *  The content of the split files is undefined if the splitting was
+ *  unsuccessful.
+ *
+ *  Note that trying to split an unsigned file will fail, but
+ *  not generate an error message.
+ *
+ *  @param InFile is the clear-signed file
+ *  @param ContentFile is the FileFd the message will be written to
+ *  @param ContentHeader is a list of all required Amored Headers for the message
+ *  @param SignatureFile is the FileFd all signatures will be written to
+ *  @return true if the splitting was successful, false otherwise
+ */
+bool SplitClearSignedFile(std::string const &InFile, FileFd * const ContentFile,
+      std::vector<std::string> * const ContentHeader, FileFd * const SignatureFile);
+
+/** \brief open a file which might be clear-signed
+ *
+ * This method tries to extract the (signed) message of a file.
+ * If the file isn't signed it will just open the given filename.
+ * Otherwise the message is extracted to a temporary file which
+ * will be opened instead.
+ *
+ * @param ClearSignedFileName is the name of the file to open
+ * @param[out] MessageFile is the FileFd in which the file will be opened
+ * @return true if opening was successful, otherwise false
+ */
+bool OpenMaybeClearSignedFile(std::string const &ClearSignedFileName, FileFd &MessageFile);
+
+#endif

+ 3 - 5
apt-pkg/contrib/netrc.cc

@@ -50,14 +50,10 @@ static int parsenetrc_string (char *host, std::string &login, std::string &passw
   FILE *file;
   FILE *file;
   int retcode = 1;
   int retcode = 1;
   int specific_login = (login.empty() == false);
   int specific_login = (login.empty() == false);
-  char *home = NULL;
   bool netrc_alloc = false;
   bool netrc_alloc = false;
 
 
-  int state_our_login = false;  /* With specific_login,
-                                   found *our* login name */
-
   if (!netrcfile) {
   if (!netrcfile) {
-    home = getenv ("HOME"); /* portable environment reader */
+    char const * home = getenv ("HOME"); /* portable environment reader */
 
 
     if (!home) {
     if (!home) {
       struct passwd *pw;
       struct passwd *pw;
@@ -86,6 +82,8 @@ static int parsenetrc_string (char *host, std::string &login, std::string &passw
     int state = NOTHING;
     int state = NOTHING;
     char state_login = 0;        /* Found a login keyword */
     char state_login = 0;        /* Found a login keyword */
     char state_password = 0;     /* Found a password keyword */
     char state_password = 0;     /* Found a password keyword */
+    int state_our_login = false;  /* With specific_login,
+				     found *our* login name */
 
 
     while (!done && getline(&netrcbuffer, &netrcbuffer_size, file) != -1) {
     while (!done && getline(&netrcbuffer, &netrcbuffer_size, file) != -1) {
       tok = strtok_r (netrcbuffer, " \t\n", &tok_buf);
       tok = strtok_r (netrcbuffer, " \t\n", &tok_buf);

+ 1 - 1
apt-pkg/contrib/progress.cc

@@ -192,7 +192,7 @@ void OpTextProgress::Update()
    }
    }
    
    
    // Print the spinner
    // Print the spinner
-   snprintf(S,sizeof(S),_("\r%s... %u%%"),Op.c_str(),(unsigned int)Percent);
+   snprintf(S,sizeof(S),_("%c%s... %u%%"),'\r',Op.c_str(),(unsigned int)Percent);
    Write(S);
    Write(S);
 
 
    OldOp = Op;
    OldOp = Op;

+ 11 - 5
apt-pkg/contrib/strutl.cc

@@ -117,7 +117,13 @@ char *_strstrip(char *String)
 
 
    if (*String == 0)
    if (*String == 0)
       return String;
       return String;
-
+   return _strrstrip(String);
+}
+									/*}}}*/
+// strrstrip - Remove white space from the back of a string	/*{{{*/
+// ---------------------------------------------------------------------
+char *_strrstrip(char *String)
+{
    char *End = String + strlen(String) - 1;
    char *End = String + strlen(String) - 1;
    for (;End != String - 1 && (*End == ' ' || *End == '\t' || *End == '\n' ||
    for (;End != String - 1 && (*End == ' ' || *End == '\t' || *End == '\n' ||
 			       *End == '\r'); End--);
 			       *End == '\r'); End--);
@@ -1247,7 +1253,7 @@ string StripEpoch(const string &VerStr)
       return VerStr;
       return VerStr;
    return VerStr.substr(i+1);
    return VerStr.substr(i+1);
 }
 }
-
+									/*}}}*/
 // tolower_ascii - tolower() function that ignores the locale		/*{{{*/
 // tolower_ascii - tolower() function that ignores the locale		/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* This little function is the most called method we have and tries
 /* This little function is the most called method we have and tries
@@ -1285,14 +1291,14 @@ bool CheckDomainList(const string &Host,const string &List)
    return false;
    return false;
 }
 }
 									/*}}}*/
 									/*}}}*/
-// DeEscapeString - unescape (\0XX and \xXX) from a string      	/*{{{*/
+// DeEscapeString - unescape (\0XX and \xXX) from a string		/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* */
 /* */
 string DeEscapeString(const string &input)
 string DeEscapeString(const string &input)
 {
 {
    char tmp[3];
    char tmp[3];
-   string::const_iterator it, escape_start;
-   string output, octal, hex;
+   string::const_iterator it;
+   string output;
    for (it = input.begin(); it != input.end(); ++it)
    for (it = input.begin(); it != input.end(); ++it)
    {
    {
       // just copy non-escape chars
       // just copy non-escape chars

+ 1 - 0
apt-pkg/contrib/strutl.h

@@ -35,6 +35,7 @@ using std::ostream;
 
 
 bool UTF8ToCodeset(const char *codeset, const std::string &orig, std::string *dest);
 bool UTF8ToCodeset(const char *codeset, const std::string &orig, std::string *dest);
 char *_strstrip(char *String);
 char *_strstrip(char *String);
+char *_strrstrip(char *String); // right strip only
 char *_strtabexpand(char *String,size_t Len);
 char *_strtabexpand(char *String,size_t Len);
 bool ParseQuoteWord(const char *&String,std::string &Res);
 bool ParseQuoteWord(const char *&String,std::string &Res);
 bool ParseCWord(const char *&String,std::string &Res);
 bool ParseCWord(const char *&String,std::string &Res);

+ 7 - 1
apt-pkg/deb/debindexfile.cc

@@ -22,6 +22,7 @@
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/acquire-item.h>
 #include <apt-pkg/acquire-item.h>
 #include <apt-pkg/debmetaindex.h>
 #include <apt-pkg/debmetaindex.h>
+#include <apt-pkg/gpgv.h>
 
 
 #include <sys/stat.h>
 #include <sys/stat.h>
 									/*}}}*/
 									/*}}}*/
@@ -337,7 +338,12 @@ bool debPackagesIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const
 
 
    if (releaseExists == true || FileExists(ReleaseFile) == true)
    if (releaseExists == true || FileExists(ReleaseFile) == true)
    {
    {
-      FileFd Rel(ReleaseFile,FileFd::ReadOnly);
+      FileFd Rel;
+      // Beware: The 'Release' file might be clearsigned in case the
+      // signature for an 'InRelease' file couldn't be checked
+      if (OpenMaybeClearSignedFile(ReleaseFile, Rel) == false)
+	 return false;
+
       if (_error->PendingError() == true)
       if (_error->PendingError() == true)
 	 return false;
 	 return false;
       Parser.LoadReleaseInfo(File,Rel,Section);
       Parser.LoadReleaseInfo(File,Rel,Section);

+ 8 - 18
apt-pkg/deb/deblistparser.cc

@@ -284,7 +284,7 @@ unsigned short debListParser::VersionHash()
                             "Replaces",0};
                             "Replaces",0};
    unsigned long Result = INIT_FCS;
    unsigned long Result = INIT_FCS;
    char S[1024];
    char S[1024];
-   for (const char **I = Sections; *I != 0; I++)
+   for (const char * const *I = Sections; *I != 0; ++I)
    {
    {
       const char *Start;
       const char *Start;
       const char *End;
       const char *End;
@@ -295,13 +295,13 @@ unsigned short debListParser::VersionHash()
          of certain fields. dpkg also has the rather interesting notion of
          of certain fields. dpkg also has the rather interesting notion of
          reformatting depends operators < -> <= */
          reformatting depends operators < -> <= */
       char *J = S;
       char *J = S;
-      for (; Start != End; Start++)
+      for (; Start != End; ++Start)
       {
       {
-	 if (isspace(*Start) == 0)
-	    *J++ = tolower_ascii(*Start);
-	 if (*Start == '<' && Start[1] != '<' && Start[1] != '=')
-	    *J++ = '=';
-	 if (*Start == '>' && Start[1] != '>' && Start[1] != '=')
+	 if (isspace(*Start) != 0)
+	    continue;
+	 *J++ = tolower_ascii(*Start);
+
+	 if ((*Start == '<' || *Start == '>') && Start[1] != *Start && Start[1] != '=')
 	    *J++ = '=';
 	    *J++ = '=';
       }
       }
 
 
@@ -801,13 +801,12 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,
    map_ptrloc const storage = WriteUniqString(component);
    map_ptrloc const storage = WriteUniqString(component);
    FileI->Component = storage;
    FileI->Component = storage;
 
 
-   // FIXME: Code depends on the fact that Release files aren't compressed
+   // FIXME: should use FileFd and TagSection
    FILE* release = fdopen(dup(File.Fd()), "r");
    FILE* release = fdopen(dup(File.Fd()), "r");
    if (release == NULL)
    if (release == NULL)
       return false;
       return false;
 
 
    char buffer[101];
    char buffer[101];
-   bool gpgClose = false;
    while (fgets(buffer, sizeof(buffer), release) != NULL)
    while (fgets(buffer, sizeof(buffer), release) != NULL)
    {
    {
       size_t len = 0;
       size_t len = 0;
@@ -819,15 +818,6 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,
       if (buffer[len] == '\0')
       if (buffer[len] == '\0')
 	 continue;
 	 continue;
 
 
-      // only evalute the first GPG section
-      if (strncmp("-----", buffer, 5) == 0)
-      {
-	 if (gpgClose == true)
-	    break;
-	 gpgClose = true;
-	 continue;
-      }
-
       // seperate the tag from the data
       // seperate the tag from the data
       const char* dataStart = strchr(buffer + len, ':');
       const char* dataStart = strchr(buffer + len, ':');
       if (dataStart == NULL)
       if (dataStart == NULL)

+ 25 - 7
apt-pkg/deb/debmetaindex.cc

@@ -229,6 +229,8 @@ vector <struct IndexTarget *>* debReleaseIndex::ComputeIndexTargets() const {
 									/*}}}*/
 									/*}}}*/
 bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const
 bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const
 {
 {
+   bool const tryInRelease = _config->FindB("Acquire::TryInRelease", true);
+
    // special case for --print-uris
    // special case for --print-uris
    if (GetAll) {
    if (GetAll) {
       vector <struct IndexTarget *> *targets = ComputeIndexTargets();
       vector <struct IndexTarget *> *targets = ComputeIndexTargets();
@@ -236,16 +238,32 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const
 	 new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description,
 	 new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description,
 			 (*Target)->ShortDesc, HashString());
 			 (*Target)->ShortDesc, HashString());
       }
       }
+
+      // this is normally created in pkgAcqMetaSig, but if we run
+      // in --print-uris mode, we add it here
+      if (tryInRelease == false)
+	 new pkgAcqMetaIndex(Owner, MetaIndexURI("Release"),
+	       MetaIndexInfo("Release"), "Release",
+	       MetaIndexURI("Release.gpg"),
+	       ComputeIndexTargets(),
+	       new indexRecords (Dist));
    }
    }
 
 
-	new pkgAcqMetaClearSig(Owner, MetaIndexURI("InRelease"),
-		MetaIndexInfo("InRelease"), "InRelease",
-		MetaIndexURI("Release"), MetaIndexInfo("Release"), "Release",
-		MetaIndexURI("Release.gpg"), MetaIndexInfo("Release.gpg"), "Release.gpg",
-		ComputeIndexTargets(),
-		new indexRecords (Dist));
+   if (tryInRelease == true)
+      new pkgAcqMetaClearSig(Owner, MetaIndexURI("InRelease"),
+	    MetaIndexInfo("InRelease"), "InRelease",
+	    MetaIndexURI("Release"), MetaIndexInfo("Release"), "Release",
+	    MetaIndexURI("Release.gpg"), MetaIndexInfo("Release.gpg"), "Release.gpg",
+	    ComputeIndexTargets(),
+	    new indexRecords (Dist));
+   else
+      new pkgAcqMetaSig(Owner, MetaIndexURI("Release.gpg"),
+	    MetaIndexInfo("Release.gpg"), "Release.gpg",
+	    MetaIndexURI("Release"), MetaIndexInfo("Release"), "Release",
+	    ComputeIndexTargets(),
+	    new indexRecords (Dist));
 
 
-	return true;
+   return true;
 }
 }
 
 
 void debReleaseIndex::SetTrusted(bool const Trusted)
 void debReleaseIndex::SetTrusted(bool const Trusted)

+ 8 - 3
apt-pkg/deb/debversion.cc

@@ -215,10 +215,15 @@ bool debVersioningSystem::CheckDep(const char *PkgVer,
       return true;
       return true;
    if (PkgVer == 0 || PkgVer[0] == 0)
    if (PkgVer == 0 || PkgVer[0] == 0)
       return false;
       return false;
-   
+   Op &= 0x0F;
+
+   // fast track for (equal) strings [by location] which are by definition equal versions
+   if (PkgVer == DepVer)
+      return Op == pkgCache::Dep::Equals || Op == pkgCache::Dep::LessEq || Op == pkgCache::Dep::GreaterEq;
+
    // Perform the actual comparision.
    // Perform the actual comparision.
-   int Res = CmpVersion(PkgVer,DepVer);
-   switch (Op & 0x0F)
+   int const Res = CmpVersion(PkgVer, DepVer);
+   switch (Op)
    {
    {
       case pkgCache::Dep::LessEq:
       case pkgCache::Dep::LessEq:
       if (Res <= 0)
       if (Res <= 0)

+ 7 - 10
apt-pkg/deb/dpkgpm.cc

@@ -147,11 +147,11 @@ static
 pkgCache::VerIterator FindNowVersion(const pkgCache::PkgIterator &Pkg)
 pkgCache::VerIterator FindNowVersion(const pkgCache::PkgIterator &Pkg)
 {
 {
    pkgCache::VerIterator Ver;
    pkgCache::VerIterator Ver;
-   for (Ver = Pkg.VersionList(); Ver.end() == false; Ver++)
+   for (Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
    {
    {
       pkgCache::VerFileIterator Vf = Ver.FileList();
       pkgCache::VerFileIterator Vf = Ver.FileList();
       pkgCache::PkgFileIterator F = Vf.File();
       pkgCache::PkgFileIterator F = Vf.File();
-      for (F = Vf.File(); F.end() == false; F++)
+      for (F = Vf.File(); F.end() == false; ++F)
       {
       {
          if (F && F.Archive())
          if (F && F.Archive())
          {
          {
@@ -1590,12 +1590,12 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg)
    if (!logfile_name.empty())
    if (!logfile_name.empty())
    {
    {
       FILE *log = NULL;
       FILE *log = NULL;
-      char buf[1024];
 
 
       fprintf(report, "DpkgTerminalLog:\n");
       fprintf(report, "DpkgTerminalLog:\n");
       log = fopen(logfile_name.c_str(),"r");
       log = fopen(logfile_name.c_str(),"r");
       if(log != NULL)
       if(log != NULL)
       {
       {
+	 char buf[1024];
 	 while( fgets(buf, sizeof(buf), log) != NULL)
 	 while( fgets(buf, sizeof(buf), log) != NULL)
 	    fprintf(report, " %s", buf);
 	    fprintf(report, " %s", buf);
 	 fclose(log);
 	 fclose(log);
@@ -1614,13 +1614,11 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg)
    // attach dmesg log (to learn about segfaults)
    // attach dmesg log (to learn about segfaults)
    if (FileExists("/bin/dmesg"))
    if (FileExists("/bin/dmesg"))
    {
    {
-      FILE *log = NULL;
-      char buf[1024];
-
       fprintf(report, "Dmesg:\n");
       fprintf(report, "Dmesg:\n");
-      log = popen("/bin/dmesg","r");
+      FILE *log = popen("/bin/dmesg","r");
       if(log != NULL)
       if(log != NULL)
       {
       {
+	 char buf[1024];
 	 while( fgets(buf, sizeof(buf), log) != NULL)
 	 while( fgets(buf, sizeof(buf), log) != NULL)
 	    fprintf(report, " %s", buf);
 	    fprintf(report, " %s", buf);
 	 pclose(log);
 	 pclose(log);
@@ -1630,13 +1628,12 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg)
    // attach df -l log (to learn about filesystem status)
    // attach df -l log (to learn about filesystem status)
    if (FileExists("/bin/df"))
    if (FileExists("/bin/df"))
    {
    {
-      FILE *log = NULL;
-      char buf[1024];
 
 
       fprintf(report, "Df:\n");
       fprintf(report, "Df:\n");
-      log = popen("/bin/df -l","r");
+      FILE *log = popen("/bin/df -l","r");
       if(log != NULL)
       if(log != NULL)
       {
       {
+	 char buf[1024];
 	 while( fgets(buf, sizeof(buf), log) != NULL)
 	 while( fgets(buf, sizeof(buf), log) != NULL)
 	    fprintf(report, " %s", buf);
 	    fprintf(report, " %s", buf);
 	 pclose(log);
 	 pclose(log);

+ 41 - 15
apt-pkg/depcache.cc

@@ -351,18 +351,15 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res)
       PkgIterator Pkg = Dep.TargetPkg();
       PkgIterator Pkg = Dep.TargetPkg();
       // Check the base package
       // Check the base package
       if (Type == NowVersion && Pkg->CurrentVer != 0)
       if (Type == NowVersion && Pkg->CurrentVer != 0)
-	 if (VS().CheckDep(Pkg.CurrentVer().VerStr(),Dep->CompareOp,
-				 Dep.TargetVer()) == true)
+	 if (Dep.IsSatisfied(Pkg.CurrentVer()) == true)
 	    return true;
 	    return true;
       
       
       if (Type == InstallVersion && PkgState[Pkg->ID].InstallVer != 0)
       if (Type == InstallVersion && PkgState[Pkg->ID].InstallVer != 0)
-	 if (VS().CheckDep(PkgState[Pkg->ID].InstVerIter(*this).VerStr(),
-				 Dep->CompareOp,Dep.TargetVer()) == true)
+	 if (Dep.IsSatisfied(PkgState[Pkg->ID].InstVerIter(*this)) == true)
 	    return true;
 	    return true;
       
       
       if (Type == CandidateVersion && PkgState[Pkg->ID].CandidateVer != 0)
       if (Type == CandidateVersion && PkgState[Pkg->ID].CandidateVer != 0)
-	 if (VS().CheckDep(PkgState[Pkg->ID].CandidateVerIter(*this).VerStr(),
-				 Dep->CompareOp,Dep.TargetVer()) == true)
+	 if (Dep.IsSatisfied(PkgState[Pkg->ID].CandidateVerIter(*this)) == true)
 	    return true;
 	    return true;
    }
    }
    
    
@@ -398,7 +395,7 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res)
       }
       }
       
       
       // Compare the versions.
       // Compare the versions.
-      if (VS().CheckDep(P.ProvideVersion(),Dep->CompareOp,Dep.TargetVer()) == true)
+      if (Dep.IsSatisfied(P) == true)
       {
       {
 	 Res = P.OwnerPkg();
 	 Res = P.OwnerPkg();
 	 return true;
 	 return true;
@@ -951,6 +948,37 @@ struct CompareProviders {
    {
    {
       pkgCache::PkgIterator const A = AV.ParentPkg();
       pkgCache::PkgIterator const A = AV.ParentPkg();
       pkgCache::PkgIterator const B = BV.ParentPkg();
       pkgCache::PkgIterator const B = BV.ParentPkg();
+      // Prefer MA:same packages if other architectures for it are installed
+      if ((AV->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same ||
+	  (BV->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
+      {
+	 bool instA = false;
+	 if ((AV->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
+	 {
+	    pkgCache::GrpIterator Grp = A.Group();
+	    for (pkgCache::PkgIterator P = Grp.PackageList(); P.end() == false; P = Grp.NextPkg(P))
+	       if (P->CurrentVer != 0)
+	       {
+		  instA = true;
+		  break;
+	       }
+	 }
+	 bool instB = false;
+	 if ((BV->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
+	 {
+	    pkgCache::GrpIterator Grp = B.Group();
+	    for (pkgCache::PkgIterator P = Grp.PackageList(); P.end() == false; P = Grp.NextPkg(P))
+	    {
+	       if (P->CurrentVer != 0)
+	       {
+		  instB = true;
+		  break;
+	       }
+	    }
+	 }
+	 if (instA != instB)
+	    return instA == false;
+      }
       // Prefer packages in the same group as the target; e.g. foo:i386, foo:amd64
       // Prefer packages in the same group as the target; e.g. foo:i386, foo:amd64
       if (A->Group != B->Group)
       if (A->Group != B->Group)
       {
       {
@@ -1161,14 +1189,13 @@ bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
       {
       {
 	 APT::VersionList verlist;
 	 APT::VersionList verlist;
 	 pkgCache::VerIterator Cand = PkgState[Start.TargetPkg()->ID].CandidateVerIter(*this);
 	 pkgCache::VerIterator Cand = PkgState[Start.TargetPkg()->ID].CandidateVerIter(*this);
-	 if (Cand.end() == false && VS().CheckDep(Cand.VerStr(), Start->CompareOp, Start.TargetVer()) == true)
+	 if (Cand.end() == false && Start.IsSatisfied(Cand) == true)
 	    verlist.insert(Cand);
 	    verlist.insert(Cand);
 	 for (PrvIterator Prv = Start.TargetPkg().ProvidesList(); Prv.end() != true; ++Prv)
 	 for (PrvIterator Prv = Start.TargetPkg().ProvidesList(); Prv.end() != true; ++Prv)
 	 {
 	 {
 	    pkgCache::VerIterator V = Prv.OwnerVer();
 	    pkgCache::VerIterator V = Prv.OwnerVer();
 	    pkgCache::VerIterator Cand = PkgState[Prv.OwnerPkg()->ID].CandidateVerIter(*this);
 	    pkgCache::VerIterator Cand = PkgState[Prv.OwnerPkg()->ID].CandidateVerIter(*this);
-	    if (Cand.end() == true || V != Cand ||
-		VS().CheckDep(Prv.ProvideVersion(), Start->CompareOp, Start.TargetVer()) == false)
+	    if (Cand.end() == true || V != Cand || Start.IsSatisfied(Prv) == false)
 	       continue;
 	       continue;
 	    verlist.insert(Cand);
 	    verlist.insert(Cand);
 	 }
 	 }
@@ -1376,7 +1403,7 @@ bool pkgDepCache::SetCandidateRelease(pkgCache::VerIterator TargetVer,
 	 if (Cand.end() == true)
 	 if (Cand.end() == true)
 	    continue;
 	    continue;
 	 // check if the current candidate is enough for the versioned dependency - and installable?
 	 // check if the current candidate is enough for the versioned dependency - and installable?
-	 if (VS().CheckDep(P.CandVersion(), Start->CompareOp, Start.TargetVer()) == true &&
+	 if (Start.IsSatisfied(Cand) == true &&
 	     (VersionState(Cand.DependsList(), DepInstall, DepCandMin, DepCandPolicy) & DepCandMin) == DepCandMin)
 	     (VersionState(Cand.DependsList(), DepInstall, DepCandMin, DepCandPolicy) & DepCandMin) == DepCandMin)
 	 {
 	 {
 	    itsFine = true;
 	    itsFine = true;
@@ -1410,7 +1437,7 @@ bool pkgDepCache::SetCandidateRelease(pkgCache::VerIterator TargetVer,
 	    V = Match.Find(D.TargetPkg());
 	    V = Match.Find(D.TargetPkg());
 
 
 	 // check if the version from this release could satisfy the dependency
 	 // check if the version from this release could satisfy the dependency
-	 if (V.end() == true || VS().CheckDep(V.VerStr(), D->CompareOp, D.TargetVer()) == false)
+	 if (V.end() == true || D.IsSatisfied(V) == false)
 	 {
 	 {
 	    if (stillOr == true)
 	    if (stillOr == true)
 	       continue;
 	       continue;
@@ -1740,7 +1767,7 @@ void pkgDepCache::MarkPackage(const pkgCache::PkgIterator &pkg,
 	   for(VerIterator V = d.TargetPkg().VersionList(); 
 	   for(VerIterator V = d.TargetPkg().VersionList(); 
 	       !V.end(); ++V)
 	       !V.end(); ++V)
 	   {
 	   {
-	      if(_system->VS->CheckDep(V.VerStr(), d->CompareOp, d.TargetVer()))
+	      if(d.IsSatisfied(V))
 	      {
 	      {
 		if(debug_autoremove)
 		if(debug_autoremove)
 		  {
 		  {
@@ -1762,8 +1789,7 @@ void pkgDepCache::MarkPackage(const pkgCache::PkgIterator &pkg,
 	   for(PrvIterator prv=d.TargetPkg().ProvidesList(); 
 	   for(PrvIterator prv=d.TargetPkg().ProvidesList(); 
 	       !prv.end(); ++prv)
 	       !prv.end(); ++prv)
 	   {
 	   {
-	      if(_system->VS->CheckDep(prv.ProvideVersion(), d->CompareOp, 
-				       d.TargetVer()))
+	      if(d.IsSatisfied(prv))
 	      {
 	      {
 		if(debug_autoremove)
 		if(debug_autoremove)
 		  {
 		  {

+ 0 - 1
apt-pkg/edsp.cc

@@ -475,7 +475,6 @@ bool EDSP::WriteSolution(pkgDepCache &Cache, FILE* output)
 	 fprintf(output, "Autoremove: %d\n", Pkg.CurrentVer()->ID);
 	 fprintf(output, "Autoremove: %d\n", Pkg.CurrentVer()->ID);
 	 if (Debug == true)
 	 if (Debug == true)
 	    fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr());
 	    fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr());
-	    fprintf(stderr, "Autoremove: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr());
       }
       }
       else
       else
 	 continue;
 	 continue;

+ 4 - 120
apt-pkg/indexcopy.cc

@@ -141,7 +141,6 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
 	    File = OrigPath + ChopDirs(File,Chop);
 	    File = OrigPath + ChopDirs(File,Chop);
 	 
 	 
 	 // See if the file exists
 	 // See if the file exists
-	 bool Mangled = false;
 	 if (NoStat == false || Hits < 10)
 	 if (NoStat == false || Hits < 10)
 	 {
 	 {
 	    // Attempt to fix broken structure
 	    // Attempt to fix broken structure
@@ -164,6 +163,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
 	    if (stat(string(CDROM + Prefix + File).c_str(),&Buf) != 0 || 
 	    if (stat(string(CDROM + Prefix + File).c_str(),&Buf) != 0 || 
 		Buf.st_size == 0)
 		Buf.st_size == 0)
 	    {
 	    {
+	       bool Mangled = false;
 	       // Attempt to fix busted symlink support for one instance
 	       // Attempt to fix busted symlink support for one instance
 	       string OrigFile = File;
 	       string OrigFile = File;
 	       string::size_type Start = File.find("binary-");
 	       string::size_type Start = File.find("binary-");
@@ -593,9 +593,9 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList,
       if(pid == 0)
       if(pid == 0)
       {
       {
 	 if (useInRelease == true)
 	 if (useInRelease == true)
-	    RunGPGV(inrelease, inrelease);
+	    ExecGPGV(inrelease, inrelease);
 	 else
 	 else
-	    RunGPGV(release, releasegpg);
+	    ExecGPGV(release, releasegpg);
       }
       }
 
 
       if(!ExecWait(pid, "gpgv")) {
       if(!ExecWait(pid, "gpgv")) {
@@ -639,120 +639,6 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList,
       }
       }
    }   
    }   
 
 
-   return true;
-}
-									/*}}}*/
-// SigVerify::RunGPGV - returns the command needed for verify		/*{{{*/
-// ---------------------------------------------------------------------
-/* Generating the commandline for calling gpgv is somehow complicated as
-   we need to add multiple keyrings and user supplied options. Also, as
-   the cdrom code currently can not use the gpgv method we have two places
-   these need to be done - so the place for this method is wrong but better
-   than code duplication… */
-bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG,
-			int const &statusfd, int fd[2])
-{
-   if (File == FileGPG)
-   {
-      FILE* gpg = fopen(File.c_str(), "r");
-      if (gpg == NULL)
-	 return _error->Errno("RunGPGV", _("Could not open file %s"), File.c_str());
-      fclose(gpg);
-      if (!StartsWithGPGClearTextSignature(File))
-	 return _error->Error(_("File %s doesn't start with a clearsigned message"), File.c_str());
-   }
-
-
-   string const gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv");
-   // FIXME: remove support for deprecated APT::GPGV setting
-   string const trustedFile = _config->Find("APT::GPGV::TrustedKeyring", _config->FindFile("Dir::Etc::Trusted"));
-   string const trustedPath = _config->FindDir("Dir::Etc::TrustedParts");
-
-   bool const Debug = _config->FindB("Debug::Acquire::gpgv", false);
-
-   if (Debug == true)
-   {
-      std::clog << "gpgv path: " << gpgvpath << std::endl;
-      std::clog << "Keyring file: " << trustedFile << std::endl;
-      std::clog << "Keyring path: " << trustedPath << std::endl;
-   }
-
-   std::vector<string> keyrings;
-   if (DirectoryExists(trustedPath))
-     keyrings = GetListOfFilesInDir(trustedPath, "gpg", false, true);
-   if (RealFileExists(trustedFile) == true)
-     keyrings.push_back(trustedFile);
-
-   std::vector<const char *> Args;
-   Args.reserve(30);
-
-   if (keyrings.empty() == true)
-   {
-      // TRANSLATOR: %s is the trusted keyring parts directory
-      return _error->Error(_("No keyring installed in %s."),
-			   _config->FindDir("Dir::Etc::TrustedParts").c_str());
-   }
-
-   Args.push_back(gpgvpath.c_str());
-   Args.push_back("--ignore-time-conflict");
-
-   if (statusfd != -1)
-   {
-      Args.push_back("--status-fd");
-      char fd[10];
-      snprintf(fd, sizeof(fd), "%i", statusfd);
-      Args.push_back(fd);
-   }
-
-   for (vector<string>::const_iterator K = keyrings.begin();
-	K != keyrings.end(); ++K)
-   {
-      Args.push_back("--keyring");
-      Args.push_back(K->c_str());
-   }
-
-   Configuration::Item const *Opts;
-   Opts = _config->Tree("Acquire::gpgv::Options");
-   if (Opts != 0)
-   {
-      Opts = Opts->Child;
-      for (; Opts != 0; Opts = Opts->Next)
-      {
-	 if (Opts->Value.empty() == true)
-	    continue;
-	 Args.push_back(Opts->Value.c_str());
-      }
-   }
-
-   Args.push_back(FileGPG.c_str());
-   if (FileGPG != File)
-      Args.push_back(File.c_str());
-   Args.push_back(NULL);
-
-   if (Debug == true)
-   {
-      std::clog << "Preparing to exec: " << gpgvpath;
-      for (std::vector<const char *>::const_iterator a = Args.begin(); *a != NULL; ++a)
-	 std::clog << " " << *a;
-      std::clog << std::endl;
-   }
-
-   if (statusfd != -1)
-   {
-      int const nullfd = open("/dev/null", O_RDONLY);
-      close(fd[0]);
-      // Redirect output to /dev/null; we read from the status fd
-      dup2(nullfd, STDOUT_FILENO);
-      dup2(nullfd, STDERR_FILENO);
-      // Redirect the pipe to the status fd (3)
-      dup2(fd[1], statusfd);
-
-      putenv((char *)"LANG=");
-      putenv((char *)"LC_ALL=");
-      putenv((char *)"LC_MESSAGES=");
-   }
-
-   execvp(gpgvpath.c_str(), (char **) &Args[0]);
    return true;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
@@ -795,9 +681,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name,	/*{{{*/
    unsigned int WrongSize = 0;
    unsigned int WrongSize = 0;
    unsigned int Packages = 0;
    unsigned int Packages = 0;
    for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
    for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
-   {      
-      string OrigPath = string(*I,CDROM.length());
-
+   {
       // Open the package file
       // Open the package file
       FileFd Pkg(*I, FileFd::ReadOnly, FileFd::Auto);
       FileFd Pkg(*I, FileFd::ReadOnly, FileFd::Auto);
       off_t const FileSize = Pkg.Size();
       off_t const FileSize = Pkg.Size();

+ 11 - 6
apt-pkg/indexcopy.h

@@ -14,6 +14,9 @@
 #include <string>
 #include <string>
 #include <stdio.h>
 #include <stdio.h>
 
 
+#include <apt-pkg/gpgv.h>
+#include <apt-pkg/macros.h>
+
 #ifndef APT_8_CLEANER_HEADERS
 #ifndef APT_8_CLEANER_HEADERS
 using std::string;
 using std::string;
 using std::vector;
 using std::vector;
@@ -96,13 +99,15 @@ class SigVerify								/*{{{*/
    bool CopyAndVerify(std::string CDROM,std::string Name,std::vector<std::string> &SigList,
    bool CopyAndVerify(std::string CDROM,std::string Name,std::vector<std::string> &SigList,
 		      std::vector<std::string> PkgList,std::vector<std::string> SrcList);
 		      std::vector<std::string> PkgList,std::vector<std::string> SrcList);
 
 
-   /** \brief generates and run the command to verify a file with gpgv */
-   static bool RunGPGV(std::string const &File, std::string const &FileOut,
-		       int const &statusfd, int fd[2]);
-   inline static bool RunGPGV(std::string const &File, std::string const &FileOut,
+   __deprecated static bool RunGPGV(std::string const &File, std::string const &FileOut,
+		       int const &statusfd, int fd[2]) {
+      ExecGPGV(File, FileOut, statusfd, fd);
+      return false;
+   };
+   __deprecated static bool RunGPGV(std::string const &File, std::string const &FileOut,
 			      int const &statusfd = -1) {
 			      int const &statusfd = -1) {
-      int fd[2];
-      return RunGPGV(File, FileOut, statusfd, fd);
+      ExecGPGV(File, FileOut, statusfd);
+      return false;
    };
    };
 };
 };
 									/*}}}*/
 									/*}}}*/

+ 5 - 1
apt-pkg/indexrecords.cc

@@ -12,6 +12,7 @@
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/hashes.h>
 #include <apt-pkg/hashes.h>
+#include <apt-pkg/gpgv.h>
 
 
 #include <sys/stat.h>
 #include <sys/stat.h>
 #include <clocale>
 #include <clocale>
@@ -57,7 +58,10 @@ bool indexRecords::Exists(string const &MetaKey) const
 
 
 bool indexRecords::Load(const string Filename)				/*{{{*/
 bool indexRecords::Load(const string Filename)				/*{{{*/
 {
 {
-   FileFd Fd(Filename, FileFd::ReadOnly);
+   FileFd Fd;
+   if (OpenMaybeClearSignedFile(Filename, Fd) == false)
+      return false;
+
    pkgTagFile TagFile(&Fd, Fd.Size() + 256); // XXX
    pkgTagFile TagFile(&Fd, Fd.Size() + 256); // XXX
    if (_error->PendingError() == true)
    if (_error->PendingError() == true)
    {
    {

+ 6 - 8
apt-pkg/makefile

@@ -27,15 +27,13 @@ APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR)
 SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
 SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
          contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \
          contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \
 	 contrib/hashsum.cc contrib/md5.cc contrib/sha1.cc \
 	 contrib/hashsum.cc contrib/md5.cc contrib/sha1.cc \
-	 contrib/sha2_internal.cc\
-         contrib/hashes.cc \
+	 contrib/sha2_internal.cc contrib/hashes.cc \
 	 contrib/cdromutl.cc contrib/crc-16.cc contrib/netrc.cc \
 	 contrib/cdromutl.cc contrib/crc-16.cc contrib/netrc.cc \
-	 contrib/fileutl.cc 
-HEADERS = mmap.h error.h configuration.h fileutl.h  cmndline.h netrc.h\
-	  md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha2.h sha256.h\
-	  sha2_internal.h \
-          hashes.h hashsum_template.h\
-	  macros.h weakptr.h
+	 contrib/fileutl.cc contrib/gpgv.cc
+HEADERS = mmap.h error.h configuration.h fileutl.h cmndline.h netrc.h \
+	  md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha2.h sha256.h \
+	  sha2_internal.h hashes.h hashsum_template.h \
+	  macros.h weakptr.h gpgv.h
 
 
 # Source code for the core main library
 # Source code for the core main library
 SOURCE+= pkgcache.cc version.cc depcache.cc \
 SOURCE+= pkgcache.cc version.cc depcache.cc \

+ 3 - 1
apt-pkg/orderlist.cc

@@ -331,9 +331,11 @@ int pkgOrderList::Score(PkgIterator Pkg)
       }
       }
 
 
    // Important Required Standard Optional Extra
    // Important Required Standard Optional Extra
-   signed short PrioMap[] = {0,5,4,3,1,0};
    if (Cache[Pkg].InstVerIter(Cache)->Priority <= 5)
    if (Cache[Pkg].InstVerIter(Cache)->Priority <= 5)
+   {
+      signed short PrioMap[] = {0,5,4,3,1,0};
       Score += PrioMap[Cache[Pkg].InstVerIter(Cache)->Priority];
       Score += PrioMap[Cache[Pkg].InstVerIter(Cache)->Priority];
+   }
    return Score;
    return Score;
 }
 }
 									/*}}}*/
 									/*}}}*/

+ 40 - 23
apt-pkg/pkgcache.cc

@@ -182,18 +182,17 @@ unsigned long pkgCache::sHash(const string &Str) const
 {
 {
    unsigned long Hash = 0;
    unsigned long Hash = 0;
    for (string::const_iterator I = Str.begin(); I != Str.end(); ++I)
    for (string::const_iterator I = Str.begin(); I != Str.end(); ++I)
-      Hash = 5*Hash + tolower_ascii(*I);
+      Hash = 41 * Hash + tolower_ascii(*I);
    return Hash % _count(HeaderP->PkgHashTable);
    return Hash % _count(HeaderP->PkgHashTable);
 }
 }
 
 
 unsigned long pkgCache::sHash(const char *Str) const
 unsigned long pkgCache::sHash(const char *Str) const
 {
 {
-   unsigned long Hash = 0;
-   for (const char *I = Str; *I != 0; ++I)
-      Hash = 5*Hash + tolower_ascii(*I);
+   unsigned long Hash = tolower_ascii(*Str);
+   for (const char *I = Str + 1; *I != 0; ++I)
+      Hash = 41 * Hash + tolower_ascii(*I);
    return Hash % _count(HeaderP->PkgHashTable);
    return Hash % _count(HeaderP->PkgHashTable);
 }
 }
-
 									/*}}}*/
 									/*}}}*/
 // Cache::SingleArchFindPkg - Locate a package by name			/*{{{*/
 // Cache::SingleArchFindPkg - Locate a package by name			/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
@@ -206,9 +205,14 @@ pkgCache::PkgIterator pkgCache::SingleArchFindPkg(const string &Name)
    Package *Pkg = PkgP + HeaderP->PkgHashTable[Hash(Name)];
    Package *Pkg = PkgP + HeaderP->PkgHashTable[Hash(Name)];
    for (; Pkg != PkgP; Pkg = PkgP + Pkg->NextPackage)
    for (; Pkg != PkgP; Pkg = PkgP + Pkg->NextPackage)
    {
    {
-      if (Pkg->Name != 0 && StrP[Pkg->Name] == Name[0] &&
-          stringcasecmp(Name,StrP + Pkg->Name) == 0)
-         return PkgIterator(*this,Pkg);
+      if (unlikely(Pkg->Name == 0))
+	 continue;
+
+      int const cmp = strcasecmp(Name.c_str(), StrP + Pkg->Name);
+      if (cmp == 0)
+	 return PkgIterator(*this, Pkg);
+      else if (cmp < 0)
+	 break;
    }
    }
    return PkgIterator(*this,0);
    return PkgIterator(*this,0);
 }
 }
@@ -265,9 +269,14 @@ pkgCache::GrpIterator pkgCache::FindGrp(const string &Name) {
 	// Look at the hash bucket for the group
 	// Look at the hash bucket for the group
 	Group *Grp = GrpP + HeaderP->GrpHashTable[sHash(Name)];
 	Group *Grp = GrpP + HeaderP->GrpHashTable[sHash(Name)];
 	for (; Grp != GrpP; Grp = GrpP + Grp->Next) {
 	for (; Grp != GrpP; Grp = GrpP + Grp->Next) {
-		if (Grp->Name != 0 && StrP[Grp->Name] == Name[0] &&
-		    stringcasecmp(Name, StrP + Grp->Name) == 0)
+		if (unlikely(Grp->Name == 0))
+		   continue;
+
+		int const cmp = strcasecmp(Name.c_str(), StrP + Grp->Name);
+		if (cmp == 0)
 			return GrpIterator(*this, Grp);
 			return GrpIterator(*this, Grp);
+		else if (cmp < 0)
+			break;
 	}
 	}
 
 
 	return GrpIterator(*this,0);
 	return GrpIterator(*this,0);
@@ -279,22 +288,22 @@ pkgCache::GrpIterator pkgCache::FindGrp(const string &Name) {
    type in the weird debian style.. */
    type in the weird debian style.. */
 const char *pkgCache::CompTypeDeb(unsigned char Comp)
 const char *pkgCache::CompTypeDeb(unsigned char Comp)
 {
 {
-   const char *Ops[] = {"","<=",">=","<<",">>","=","!="};
-   if ((unsigned)(Comp & 0xF) < 7)
-      return Ops[Comp & 0xF];
-   return "";	 
+   const char * const Ops[] = {"","<=",">=","<<",">>","=","!="};
+   if (unlikely((unsigned)(Comp & 0xF) >= sizeof(Ops)/sizeof(Ops[0])))
+      return "";
+   return Ops[Comp & 0xF];
 }
 }
 									/*}}}*/
 									/*}}}*/
 // Cache::CompType - Return a string describing the compare type	/*{{{*/
 // Cache::CompType - Return a string describing the compare type	/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
-/* This returns a string representation of the dependency compare 
+/* This returns a string representation of the dependency compare
    type */
    type */
 const char *pkgCache::CompType(unsigned char Comp)
 const char *pkgCache::CompType(unsigned char Comp)
 {
 {
-   const char *Ops[] = {"","<=",">=","<",">","=","!="};
-   if ((unsigned)(Comp & 0xF) < 7)
-      return Ops[Comp & 0xF];
-   return "";	 
+   const char * const Ops[] = {"","<=",">=","<",">","=","!="};
+   if (unlikely((unsigned)(Comp & 0xF) >= sizeof(Ops)/sizeof(Ops[0])))
+      return "";
+   return Ops[Comp & 0xF];
 }
 }
 									/*}}}*/
 									/*}}}*/
 // Cache::DepType - Return a string describing the dep type		/*{{{*/
 // Cache::DepType - Return a string describing the dep type		/*{{{*/
@@ -625,8 +634,7 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const
       {
       {
 	 if (IsIgnorable(I.ParentPkg()) == true)
 	 if (IsIgnorable(I.ParentPkg()) == true)
 	    continue;
 	    continue;
-
-	 if (Owner->VS->CheckDep(I.VerStr(),S->CompareOp,TargetVer()) == false)
+	 if (IsSatisfied(I) == false)
 	    continue;
 	    continue;
 
 
 	 Size++;
 	 Size++;
@@ -639,8 +647,7 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const
       {
       {
 	 if (IsIgnorable(I) == true)
 	 if (IsIgnorable(I) == true)
 	    continue;
 	    continue;
-
-	 if (Owner->VS->CheckDep(I.ProvideVersion(),S->CompareOp,TargetVer()) == false)
+	 if (IsSatisfied(I) == false)
 	    continue;
 	    continue;
 
 
 	 Size++;
 	 Size++;
@@ -748,6 +755,16 @@ bool pkgCache::DepIterator::IsMultiArchImplicit() const
    return false;
    return false;
 }
 }
 									/*}}}*/
 									/*}}}*/
+// DepIterator::IsSatisfied - check if a version satisfied the dependency /*{{{*/
+bool pkgCache::DepIterator::IsSatisfied(VerIterator const &Ver) const
+{
+   return Owner->VS->CheckDep(Ver.VerStr(),S->CompareOp,TargetVer());
+}
+bool pkgCache::DepIterator::IsSatisfied(PrvIterator const &Prv) const
+{
+   return Owner->VS->CheckDep(Prv.ProvideVersion(),S->CompareOp,TargetVer());
+}
+									/*}}}*/
 // ostream operator to handle string representation of a dependecy	/*{{{*/
 // ostream operator to handle string representation of a dependecy	/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* */
 /* */

+ 113 - 66
apt-pkg/pkgcachegen.cc

@@ -300,36 +300,35 @@ bool pkgCacheGenerator::MergeListPackage(ListParser &List, pkgCache::PkgIterator
 
 
    for (Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
    for (Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
    {
    {
-      pkgCache::DescIterator Desc = Ver.DescriptionList();
+      pkgCache::DescIterator VerDesc = Ver.DescriptionList();
 
 
       // a version can only have one md5 describing it
       // a version can only have one md5 describing it
-      if (Desc.end() == true || MD5SumValue(Desc.md5()) != CurMd5)
+      if (VerDesc.end() == true || MD5SumValue(VerDesc.md5()) != CurMd5)
 	 continue;
 	 continue;
 
 
       // don't add a new description if we have one for the given
       // don't add a new description if we have one for the given
       // md5 && language
       // md5 && language
-      if (IsDuplicateDescription(Desc, CurMd5, CurLang) == true)
+      if (IsDuplicateDescription(VerDesc, CurMd5, CurLang) == true)
 	 continue;
 	 continue;
 
 
+      pkgCache::DescIterator Desc;
       Dynamic<pkgCache::DescIterator> DynDesc(Desc);
       Dynamic<pkgCache::DescIterator> DynDesc(Desc);
-      // we add at the end, so that the start is constant as we need
-      // that to be able to efficiently share these lists
-      map_ptrloc *LastDesc = &Ver->DescriptionList;
-      for (;Desc.end() == false && Desc->NextDesc != 0; ++Desc);
-      if (Desc.end() == false)
-	 LastDesc = &Desc->NextDesc;
 
 
-      void const * const oldMap = Map.Data();
-      map_ptrloc const descindex = NewDescription(Desc, CurLang, CurMd5, *LastDesc);
+      map_ptrloc const descindex = NewDescription(Desc, CurLang, CurMd5, VerDesc->md5sum);
       if (unlikely(descindex == 0 && _error->PendingError()))
       if (unlikely(descindex == 0 && _error->PendingError()))
 	 return _error->Error(_("Error occurred while processing %s (%s%d)"),
 	 return _error->Error(_("Error occurred while processing %s (%s%d)"),
 			      Pkg.Name(), "NewDescription", 1);
 			      Pkg.Name(), "NewDescription", 1);
-      if (oldMap != Map.Data())
-	 LastDesc += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
-      *LastDesc = descindex;
+
       Desc->ParentPkg = Pkg.Index();
       Desc->ParentPkg = Pkg.Index();
 
 
-      if ((*LastDesc == 0 && _error->PendingError()) || NewFileDesc(Desc,List) == false)
+      // we add at the end, so that the start is constant as we need
+      // that to be able to efficiently share these lists
+      VerDesc = Ver.DescriptionList(); // old value might be invalid after ReMap
+      for (;VerDesc.end() == false && VerDesc->NextDesc != 0; ++VerDesc);
+      map_ptrloc * const LastNextDesc = (VerDesc.end() == true) ? &Ver->DescriptionList : &VerDesc->NextDesc;
+      *LastNextDesc = descindex;
+
+      if (NewFileDesc(Desc,List) == false)
 	 return _error->Error(_("Error occurred while processing %s (%s%d)"),
 	 return _error->Error(_("Error occurred while processing %s (%s%d)"),
 			      Pkg.Name(), "NewFileDesc", 1);
 			      Pkg.Name(), "NewFileDesc", 1);
 
 
@@ -391,7 +390,7 @@ bool pkgCacheGenerator::MergeListVersion(ListParser &List, pkgCache::PkgIterator
    }
    }
 
 
    // Add a new version
    // Add a new version
-   map_ptrloc const verindex = NewVersion(Ver,Version,*LastVer);
+   map_ptrloc const verindex = NewVersion(Ver, Version, Pkg.Index(), Hash, *LastVer);
    if (verindex == 0 && _error->PendingError())
    if (verindex == 0 && _error->PendingError())
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
 			   Pkg.Name(), "NewVersion", 1);
 			   Pkg.Name(), "NewVersion", 1);
@@ -399,8 +398,6 @@ bool pkgCacheGenerator::MergeListVersion(ListParser &List, pkgCache::PkgIterator
    if (oldMap != Map.Data())
    if (oldMap != Map.Data())
 	 LastVer += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
 	 LastVer += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
    *LastVer = verindex;
    *LastVer = verindex;
-   Ver->ParentPkg = Pkg.Index();
-   Ver->Hash = Hash;
 
 
    if (unlikely(List.NewVersion(Ver) == false))
    if (unlikely(List.NewVersion(Ver) == false))
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
@@ -464,11 +461,8 @@ bool pkgCacheGenerator::MergeListVersion(ListParser &List, pkgCache::PkgIterator
 	       pkgCache::VerIterator ConVersion = D.ParentVer();
 	       pkgCache::VerIterator ConVersion = D.ParentVer();
 	       Dynamic<pkgCache::VerIterator> DynV(ConVersion);
 	       Dynamic<pkgCache::VerIterator> DynV(ConVersion);
 	       // duplicate the Conflicts/Breaks/Replaces for :none arch
 	       // duplicate the Conflicts/Breaks/Replaces for :none arch
-	       if (D->Version == 0)
-		  NewDepends(Pkg, ConVersion, "", 0, D->Type, OldDepLast);
-	       else
-		  NewDepends(Pkg, ConVersion, D.TargetVer(),
-			     D->CompareOp, D->Type, OldDepLast);
+	       NewDepends(Pkg, ConVersion, D->Version,
+		     D->CompareOp, D->Type, OldDepLast);
 	    }
 	    }
 	 }
 	 }
       }
       }
@@ -509,19 +503,16 @@ bool pkgCacheGenerator::MergeListVersion(ListParser &List, pkgCache::PkgIterator
    // We haven't found reusable descriptions, so add the first description
    // We haven't found reusable descriptions, so add the first description
    pkgCache::DescIterator Desc = Ver.DescriptionList();
    pkgCache::DescIterator Desc = Ver.DescriptionList();
    Dynamic<pkgCache::DescIterator> DynDesc(Desc);
    Dynamic<pkgCache::DescIterator> DynDesc(Desc);
-   map_ptrloc *LastDesc = &Ver->DescriptionList;
 
 
-   oldMap = Map.Data();
-   map_ptrloc const descindex = NewDescription(Desc, CurLang, CurMd5, *LastDesc);
+   map_ptrloc const descindex = NewDescription(Desc, CurLang, CurMd5, 0);
    if (unlikely(descindex == 0 && _error->PendingError()))
    if (unlikely(descindex == 0 && _error->PendingError()))
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
 			   Pkg.Name(), "NewDescription", 2);
 			   Pkg.Name(), "NewDescription", 2);
-   if (oldMap != Map.Data())
-       LastDesc += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
-   *LastDesc = descindex;
+
    Desc->ParentPkg = Pkg.Index();
    Desc->ParentPkg = Pkg.Index();
+   Ver->DescriptionList = descindex;
 
 
-   if ((*LastDesc == 0 && _error->PendingError()) || NewFileDesc(Desc,List) == false)
+   if (NewFileDesc(Desc,List) == false)
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
       return _error->Error(_("Error occurred while processing %s (%s%d)"),
 			   Pkg.Name(), "NewFileDesc", 2);
 			   Pkg.Name(), "NewFileDesc", 2);
 
 
@@ -564,7 +555,7 @@ bool pkgCacheGenerator::MergeFileProvides(ListParser &List)
       Dynamic<pkgCache::VerIterator> DynVer(Ver);
       Dynamic<pkgCache::VerIterator> DynVer(Ver);
       for (; Ver.end() == false; ++Ver)
       for (; Ver.end() == false; ++Ver)
       {
       {
-	 if (Ver->Hash == Hash && Version.c_str() == Ver.VerStr())
+	 if (Ver->Hash == Hash && Version == Ver.VerStr())
 	 {
 	 {
 	    if (List.CollectFileProvides(Cache,Ver) == false)
 	    if (List.CollectFileProvides(Cache,Ver) == false)
 	       return _error->Error(_("Error occurred while processing %s (%s%d)"),
 	       return _error->Error(_("Error occurred while processing %s (%s%d)"),
@@ -602,8 +593,11 @@ bool pkgCacheGenerator::NewGroup(pkgCache::GrpIterator &Grp, const string &Name)
 
 
    // Insert it into the hash table
    // Insert it into the hash table
    unsigned long const Hash = Cache.Hash(Name);
    unsigned long const Hash = Cache.Hash(Name);
-   Grp->Next = Cache.HeaderP->GrpHashTable[Hash];
-   Cache.HeaderP->GrpHashTable[Hash] = Group;
+   map_ptrloc *insertAt = &Cache.HeaderP->GrpHashTable[Hash];
+   while (*insertAt != 0 && strcasecmp(Name.c_str(), Cache.StrP + (Cache.GrpP + *insertAt)->Name) > 0)
+      insertAt = &(Cache.GrpP + *insertAt)->Next;
+   Grp->Next = *insertAt;
+   *insertAt = Group;
 
 
    Grp->ID = Cache.HeaderP->GroupCount++;
    Grp->ID = Cache.HeaderP->GroupCount++;
    return true;
    return true;
@@ -632,11 +626,14 @@ bool pkgCacheGenerator::NewPackage(pkgCache::PkgIterator &Pkg,const string &Name
    // Insert the package into our package list
    // Insert the package into our package list
    if (Grp->FirstPackage == 0) // the group is new
    if (Grp->FirstPackage == 0) // the group is new
    {
    {
+      Grp->FirstPackage = Package;
       // Insert it into the hash table
       // Insert it into the hash table
       unsigned long const Hash = Cache.Hash(Name);
       unsigned long const Hash = Cache.Hash(Name);
-      Pkg->NextPackage = Cache.HeaderP->PkgHashTable[Hash];
-      Cache.HeaderP->PkgHashTable[Hash] = Package;
-      Grp->FirstPackage = Package;
+      map_ptrloc *insertAt = &Cache.HeaderP->PkgHashTable[Hash];
+      while (*insertAt != 0 && strcasecmp(Name.c_str(), Cache.StrP + (Cache.PkgP + *insertAt)->Name) > 0)
+	 insertAt = &(Cache.PkgP + *insertAt)->NextPackage;
+      Pkg->NextPackage = *insertAt;
+      *insertAt = Package;
    }
    }
    else // Group the Packages together
    else // Group the Packages together
    {
    {
@@ -675,6 +672,7 @@ bool pkgCacheGenerator::AddImplicitDepends(pkgCache::GrpIterator &G,
    bool const coInstall = ((V->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same);
    bool const coInstall = ((V->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same);
    pkgCache::PkgIterator D = G.PackageList();
    pkgCache::PkgIterator D = G.PackageList();
    Dynamic<pkgCache::PkgIterator> DynD(D);
    Dynamic<pkgCache::PkgIterator> DynD(D);
+   map_ptrloc const VerStrIdx = V->VerStr;
    for (; D.end() != true; D = G.NextPkg(D))
    for (; D.end() != true; D = G.NextPkg(D))
    {
    {
       if (Arch == D.Arch() || D->VersionList == 0)
       if (Arch == D.Arch() || D->VersionList == 0)
@@ -685,16 +683,16 @@ bool pkgCacheGenerator::AddImplicitDepends(pkgCache::GrpIterator &G,
       if (coInstall == true)
       if (coInstall == true)
       {
       {
 	 // Replaces: ${self}:other ( << ${binary:Version})
 	 // Replaces: ${self}:other ( << ${binary:Version})
-	 NewDepends(D, V, V.VerStr(),
+	 NewDepends(D, V, VerStrIdx,
 		    pkgCache::Dep::Less, pkgCache::Dep::Replaces,
 		    pkgCache::Dep::Less, pkgCache::Dep::Replaces,
 		    OldDepLast);
 		    OldDepLast);
 	 // Breaks: ${self}:other (!= ${binary:Version})
 	 // Breaks: ${self}:other (!= ${binary:Version})
-	 NewDepends(D, V, V.VerStr(),
+	 NewDepends(D, V, VerStrIdx,
 		    pkgCache::Dep::NotEquals, pkgCache::Dep::DpkgBreaks,
 		    pkgCache::Dep::NotEquals, pkgCache::Dep::DpkgBreaks,
 		    OldDepLast);
 		    OldDepLast);
       } else {
       } else {
 	 // Conflicts: ${self}:other
 	 // Conflicts: ${self}:other
-	 NewDepends(D, V, "",
+	 NewDepends(D, V, 0,
 		    pkgCache::Dep::NoOp, pkgCache::Dep::Conflicts,
 		    pkgCache::Dep::NoOp, pkgCache::Dep::Conflicts,
 		    OldDepLast);
 		    OldDepLast);
       }
       }
@@ -711,17 +709,18 @@ bool pkgCacheGenerator::AddImplicitDepends(pkgCache::VerIterator &V,
    bool const coInstall = ((V->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same);
    bool const coInstall = ((V->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same);
    if (coInstall == true)
    if (coInstall == true)
    {
    {
+      map_ptrloc const VerStrIdx = V->VerStr;
       // Replaces: ${self}:other ( << ${binary:Version})
       // Replaces: ${self}:other ( << ${binary:Version})
-      NewDepends(D, V, V.VerStr(),
+      NewDepends(D, V, VerStrIdx,
 		 pkgCache::Dep::Less, pkgCache::Dep::Replaces,
 		 pkgCache::Dep::Less, pkgCache::Dep::Replaces,
 		 OldDepLast);
 		 OldDepLast);
       // Breaks: ${self}:other (!= ${binary:Version})
       // Breaks: ${self}:other (!= ${binary:Version})
-      NewDepends(D, V, V.VerStr(),
+      NewDepends(D, V, VerStrIdx,
 		 pkgCache::Dep::NotEquals, pkgCache::Dep::DpkgBreaks,
 		 pkgCache::Dep::NotEquals, pkgCache::Dep::DpkgBreaks,
 		 OldDepLast);
 		 OldDepLast);
    } else {
    } else {
       // Conflicts: ${self}:other
       // Conflicts: ${self}:other
-      NewDepends(D, V, "",
+      NewDepends(D, V, 0,
 		 pkgCache::Dep::NoOp, pkgCache::Dep::Conflicts,
 		 pkgCache::Dep::NoOp, pkgCache::Dep::Conflicts,
 		 OldDepLast);
 		 OldDepLast);
    }
    }
@@ -767,6 +766,8 @@ bool pkgCacheGenerator::NewFileVer(pkgCache::VerIterator &Ver,
 /* This puts a version structure in the linked list */
 /* This puts a version structure in the linked list */
 unsigned long pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver,
 unsigned long pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver,
 					    const string &VerStr,
 					    const string &VerStr,
+					    map_ptrloc const ParentPkg,
+					    unsigned long const Hash,
 					    unsigned long Next)
 					    unsigned long Next)
 {
 {
    // Get a structure
    // Get a structure
@@ -778,12 +779,37 @@ unsigned long pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver,
    Ver = pkgCache::VerIterator(Cache,Cache.VerP + Version);
    Ver = pkgCache::VerIterator(Cache,Cache.VerP + Version);
    //Dynamic<pkgCache::VerIterator> DynV(Ver); // caller MergeListVersion already takes care of it
    //Dynamic<pkgCache::VerIterator> DynV(Ver); // caller MergeListVersion already takes care of it
    Ver->NextVer = Next;
    Ver->NextVer = Next;
+   Ver->ParentPkg = ParentPkg;
+   Ver->Hash = Hash;
    Ver->ID = Cache.HeaderP->VersionCount++;
    Ver->ID = Cache.HeaderP->VersionCount++;
+
+   // try to find the version string in the group for reuse
+   pkgCache::PkgIterator Pkg = Ver.ParentPkg();
+   pkgCache::GrpIterator Grp = Pkg.Group();
+   if (Pkg.end() == false && Grp.end() == false)
+   {
+      for (pkgCache::PkgIterator P = Grp.PackageList(); P.end() == false; P = Grp.NextPkg(P))
+      {
+	 if (Pkg == P)
+	    continue;
+	 for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V)
+	 {
+	    int const cmp = strcmp(V.VerStr(), VerStr.c_str());
+	    if (cmp == 0)
+	    {
+	       Ver->VerStr = V->VerStr;
+	       return Version;
+	    }
+	    else if (cmp < 0)
+	       break;
+	 }
+      }
+   }
+   // haven't found the version string, so create
    map_ptrloc const idxVerStr = WriteStringInMap(VerStr);
    map_ptrloc const idxVerStr = WriteStringInMap(VerStr);
    if (unlikely(idxVerStr == 0))
    if (unlikely(idxVerStr == 0))
       return 0;
       return 0;
    Ver->VerStr = idxVerStr;
    Ver->VerStr = idxVerStr;
-   
    return Version;
    return Version;
 }
 }
 									/*}}}*/
 									/*}}}*/
@@ -825,9 +851,9 @@ bool pkgCacheGenerator::NewFileDesc(pkgCache::DescIterator &Desc,
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* This puts a description structure in the linked list */
 /* This puts a description structure in the linked list */
 map_ptrloc pkgCacheGenerator::NewDescription(pkgCache::DescIterator &Desc,
 map_ptrloc pkgCacheGenerator::NewDescription(pkgCache::DescIterator &Desc,
-					    const string &Lang, 
-                                            const MD5SumValue &md5sum,
-					    map_ptrloc Next)
+					    const string &Lang,
+					    const MD5SumValue &md5sum,
+					    map_ptrloc idxmd5str)
 {
 {
    // Get a structure
    // Get a structure
    map_ptrloc const Description = AllocateInMap(sizeof(pkgCache::Description));
    map_ptrloc const Description = AllocateInMap(sizeof(pkgCache::Description));
@@ -836,14 +862,21 @@ map_ptrloc pkgCacheGenerator::NewDescription(pkgCache::DescIterator &Desc,
 
 
    // Fill it in
    // Fill it in
    Desc = pkgCache::DescIterator(Cache,Cache.DescP + Description);
    Desc = pkgCache::DescIterator(Cache,Cache.DescP + Description);
-   Desc->NextDesc = Next;
    Desc->ID = Cache.HeaderP->DescriptionCount++;
    Desc->ID = Cache.HeaderP->DescriptionCount++;
-   map_ptrloc const idxlanguage_code = WriteStringInMap(Lang);
-   map_ptrloc const idxmd5sum = WriteStringInMap(md5sum.Value());
-   if (unlikely(idxlanguage_code == 0 || idxmd5sum == 0))
+   map_ptrloc const idxlanguage_code = WriteUniqString(Lang);
+   if (unlikely(idxlanguage_code == 0))
       return 0;
       return 0;
    Desc->language_code = idxlanguage_code;
    Desc->language_code = idxlanguage_code;
-   Desc->md5sum = idxmd5sum;
+
+   if (idxmd5str != 0)
+      Desc->md5sum = idxmd5str;
+   else
+   {
+      map_ptrloc const idxmd5sum = WriteStringInMap(md5sum.Value());
+      if (unlikely(idxmd5sum == 0))
+	 return 0;
+      Desc->md5sum = idxmd5sum;
+   }
 
 
    return Description;
    return Description;
 }
 }
@@ -858,35 +891,49 @@ bool pkgCacheGenerator::NewDepends(pkgCache::PkgIterator &Pkg,
 				   unsigned int const &Op,
 				   unsigned int const &Op,
 				   unsigned int const &Type,
 				   unsigned int const &Type,
 				   map_ptrloc* &OldDepLast)
 				   map_ptrloc* &OldDepLast)
+{
+   map_ptrloc index = 0;
+   if (Version.empty() == false)
+   {
+      int const CmpOp = Op & 0x0F;
+      // =-deps are used (79:1) for lockstep on same-source packages (e.g. data-packages)
+      if (CmpOp == pkgCache::Dep::Equals && strcmp(Version.c_str(), Ver.VerStr()) == 0)
+	 index = Ver->VerStr;
+
+      if (index == 0)
+      {
+	 void const * const oldMap = Map.Data();
+	 index = WriteStringInMap(Version);
+	 if (unlikely(index == 0))
+	    return false;
+	 if (OldDepLast != 0 && oldMap != Map.Data())
+	    OldDepLast += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
+      }
+   }
+   return NewDepends(Pkg, Ver, index, Op, Type, OldDepLast);
+}
+bool pkgCacheGenerator::NewDepends(pkgCache::PkgIterator &Pkg,
+				   pkgCache::VerIterator &Ver,
+				   map_ptrloc const Version,
+				   unsigned int const &Op,
+				   unsigned int const &Type,
+				   map_ptrloc* &OldDepLast)
 {
 {
    void const * const oldMap = Map.Data();
    void const * const oldMap = Map.Data();
    // Get a structure
    // Get a structure
    map_ptrloc const Dependency = AllocateInMap(sizeof(pkgCache::Dependency));
    map_ptrloc const Dependency = AllocateInMap(sizeof(pkgCache::Dependency));
    if (unlikely(Dependency == 0))
    if (unlikely(Dependency == 0))
       return false;
       return false;
-   
+
    // Fill it in
    // Fill it in
    pkgCache::DepIterator Dep(Cache,Cache.DepP + Dependency);
    pkgCache::DepIterator Dep(Cache,Cache.DepP + Dependency);
    Dynamic<pkgCache::DepIterator> DynDep(Dep);
    Dynamic<pkgCache::DepIterator> DynDep(Dep);
    Dep->ParentVer = Ver.Index();
    Dep->ParentVer = Ver.Index();
    Dep->Type = Type;
    Dep->Type = Type;
    Dep->CompareOp = Op;
    Dep->CompareOp = Op;
+   Dep->Version = Version;
    Dep->ID = Cache.HeaderP->DependsCount++;
    Dep->ID = Cache.HeaderP->DependsCount++;
 
 
-   // Probe the reverse dependency list for a version string that matches
-   if (Version.empty() == false)
-   {
-/*      for (pkgCache::DepIterator I = Pkg.RevDependsList(); I.end() == false; I++)
-	 if (I->Version != 0 && I.TargetVer() == Version)
-	    Dep->Version = I->Version;*/
-      if (Dep->Version == 0) {
-	 map_ptrloc const index = WriteStringInMap(Version);
-	 if (unlikely(index == 0))
-	    return false;
-	 Dep->Version = index;
-      }
-   }
-
    // Link it to the package
    // Link it to the package
    Dep->Package = Pkg.Index();
    Dep->Package = Pkg.Index();
    Dep->NextRevDepends = Pkg->RevDepends;
    Dep->NextRevDepends = Pkg->RevDepends;

+ 8 - 1
apt-pkg/pkgcachegen.h

@@ -77,7 +77,14 @@ class pkgCacheGenerator							/*{{{*/
    bool NewDepends(pkgCache::PkgIterator &Pkg, pkgCache::VerIterator &Ver,
    bool NewDepends(pkgCache::PkgIterator &Pkg, pkgCache::VerIterator &Ver,
 		   std::string const &Version, unsigned int const &Op,
 		   std::string const &Version, unsigned int const &Op,
 		   unsigned int const &Type, map_ptrloc* &OldDepLast);
 		   unsigned int const &Type, map_ptrloc* &OldDepLast);
-   unsigned long NewVersion(pkgCache::VerIterator &Ver,const std::string &VerStr,unsigned long Next);
+   bool NewDepends(pkgCache::PkgIterator &Pkg, pkgCache::VerIterator &Ver,
+		   map_ptrloc const Version, unsigned int const &Op,
+		   unsigned int const &Type, map_ptrloc* &OldDepLast);
+   __deprecated unsigned long NewVersion(pkgCache::VerIterator &Ver,const std::string &VerStr,unsigned long Next)
+   { return NewVersion(Ver, VerStr, 0, 0, Next); }
+   unsigned long NewVersion(pkgCache::VerIterator &Ver,const std::string &VerStr,
+			    map_ptrloc const ParentPkg, unsigned long const Hash,
+			    unsigned long Next);
    map_ptrloc NewDescription(pkgCache::DescIterator &Desc,const std::string &Lang,const MD5SumValue &md5sum,map_ptrloc Next);
    map_ptrloc NewDescription(pkgCache::DescIterator &Desc,const std::string &Lang,const MD5SumValue &md5sum,map_ptrloc Next);
 
 
    public:
    public:

+ 5 - 1
apt-pkg/sourcelist.cc

@@ -270,7 +270,11 @@ bool pkgSourceList::ReadAppend(string File)
       // CNC:2003-02-20 - Do not break if '#' is inside [].
       // CNC:2003-02-20 - Do not break if '#' is inside [].
       for (I = Buffer; *I != 0 && *I != '#'; I++)
       for (I = Buffer; *I != 0 && *I != '#'; I++)
          if (*I == '[')
          if (*I == '[')
-	    I = strchr(I + 1, ']');
+         {
+	    char *b_end = strchr(I + 1, ']');
+            if (b_end != NULL)
+               I = b_end;
+         }
       *I = 0;
       *I = 0;
       
       
       const char *C = _strstrip(Buffer);
       const char *C = _strstrip(Buffer);

+ 5 - 6
apt-pkg/srcrecords.cc

@@ -42,7 +42,7 @@ pkgSrcRecords::pkgSrcRecords(pkgSourceList &List) : d(NULL), Files(0), Current(0
    }
    }
    
    
    // Doesn't work without any source index files
    // Doesn't work without any source index files
-   if (Files.size() == 0)
+   if (Files.empty() == true)
    {
    {
       _error->Error(_("You must put some 'source' URIs"
       _error->Error(_("You must put some 'source' URIs"
 		    " in your sources.list"));
 		    " in your sources.list"));
@@ -121,14 +121,13 @@ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool const &SrcOn
 /* */
 /* */
 const char *pkgSrcRecords::Parser::BuildDepType(unsigned char const &Type)
 const char *pkgSrcRecords::Parser::BuildDepType(unsigned char const &Type)
 {
 {
-   const char *fields[] = {"Build-Depends", 
-                           "Build-Depends-Indep",
+   const char *fields[] = {"Build-Depends",
+			   "Build-Depends-Indep",
 			   "Build-Conflicts",
 			   "Build-Conflicts",
 			   "Build-Conflicts-Indep"};
 			   "Build-Conflicts-Indep"};
-   if (Type < 4) 
-      return fields[Type]; 
-   else 
+   if (unlikely(Type >= sizeof(fields)/sizeof(fields[0])))
       return "";
       return "";
+   return fields[Type];
 }
 }
 									/*}}}*/
 									/*}}}*/
 
 

+ 8 - 1
apt-pkg/tagfile.cc

@@ -282,10 +282,17 @@ void pkgTagSection::Trim()
    for (; Stop > Section + 2 && (Stop[-2] == '\n' || Stop[-2] == '\r'); Stop--);
    for (; Stop > Section + 2 && (Stop[-2] == '\n' || Stop[-2] == '\r'); Stop--);
 }
 }
 									/*}}}*/
 									/*}}}*/
+// TagSection::Exists - return True if a tag exists                	/*{{{*/
+bool pkgTagSection::Exists(const char* const Tag)
+{
+   unsigned int tmp;
+   return Find(Tag, tmp);
+}
+									/*}}}*/
 // TagSection::Find - Locate a tag					/*{{{*/
 // TagSection::Find - Locate a tag					/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* This searches the section for a tag that matches the given string. */
 /* This searches the section for a tag that matches the given string. */
-bool pkgTagSection::Find(const char *Tag,unsigned &Pos) const
+bool pkgTagSection::Find(const char *Tag,unsigned int &Pos) const
 {
 {
    unsigned int Length = strlen(Tag);
    unsigned int Length = strlen(Tag);
    unsigned int I = AlphaIndexes[AlphaHash(Tag)];
    unsigned int I = AlphaIndexes[AlphaHash(Tag)];

+ 2 - 2
apt-pkg/tagfile.h

@@ -59,7 +59,7 @@ class pkgTagSection
    inline bool operator !=(const pkgTagSection &rhs) {return Section != rhs.Section;};
    inline bool operator !=(const pkgTagSection &rhs) {return Section != rhs.Section;};
    
    
    bool Find(const char *Tag,const char *&Start, const char *&End) const;
    bool Find(const char *Tag,const char *&Start, const char *&End) const;
-   bool Find(const char *Tag,unsigned &Pos) const;
+   bool Find(const char *Tag,unsigned int &Pos) const;
    std::string FindS(const char *Tag) const;
    std::string FindS(const char *Tag) const;
    signed int FindI(const char *Tag,signed long Default = 0) const ;
    signed int FindI(const char *Tag,signed long Default = 0) const ;
    unsigned long long FindULL(const char *Tag, unsigned long long const &Default = 0) const;
    unsigned long long FindULL(const char *Tag, unsigned long long const &Default = 0) const;
@@ -73,7 +73,7 @@ class pkgTagSection
    virtual void TrimRecord(bool BeforeRecord, const char* &End);
    virtual void TrimRecord(bool BeforeRecord, const char* &End);
    
    
    inline unsigned int Count() const {return TagCount;};
    inline unsigned int Count() const {return TagCount;};
-   inline bool Exists(const char* const Tag) {return AlphaIndexes[AlphaHash(Tag)] != 0;}
+   bool Exists(const char* const Tag);
  
  
    inline void Get(const char *&Start,const char *&Stop,unsigned int I) const
    inline void Get(const char *&Start,const char *&Stop,unsigned int I) const
                    {Start = Section + Indexes[I]; Stop = Section + Indexes[I+1];}
                    {Start = Section + Indexes[I]; Stop = Section + Indexes[I+1];}

+ 1 - 1
apt-pkg/vendor.cc

@@ -12,7 +12,7 @@ Vendor::Vendor(std::string VendorID,
    this->VendorID = VendorID;
    this->VendorID = VendorID;
    this->Origin = Origin;
    this->Origin = Origin;
    for (std::vector<struct Vendor::Fingerprint *>::iterator I = FingerprintList->begin();
    for (std::vector<struct Vendor::Fingerprint *>::iterator I = FingerprintList->begin();
-	I != FingerprintList->end(); I++)
+	I != FingerprintList->end(); ++I)
    {
    {
       if (_config->FindB("Debug::Vendor", false))
       if (_config->FindB("Debug::Vendor", false))
          std::cerr << "Vendor \"" << VendorID << "\": Mapping \""
          std::cerr << "Vendor \"" << VendorID << "\": Mapping \""

+ 1 - 1
apt-pkg/versionmatch.cc

@@ -181,9 +181,9 @@ pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg)
 bool pkgVersionMatch::ExpressionMatches(const char *pattern, const char *string)
 bool pkgVersionMatch::ExpressionMatches(const char *pattern, const char *string)
 {
 {
    if (pattern[0] == '/') {
    if (pattern[0] == '/') {
-      bool res = false;
       size_t length = strlen(pattern);
       size_t length = strlen(pattern);
       if (pattern[length - 1] == '/') {
       if (pattern[length - 1] == '/') {
+	 bool res = false;
 	 regex_t preg;
 	 regex_t preg;
 	 char *regex = strdup(pattern + 1);
 	 char *regex = strdup(pattern + 1);
 	 regex[length - 2] = '\0';
 	 regex[length - 2] = '\0';

+ 3 - 3
cmdline/apt-get.cc

@@ -1912,7 +1912,6 @@ bool DoInstall(CommandLine &CmdL)
       return false;
       return false;
    }
    }
 
 
-   unsigned short const order[] = { MOD_REMOVE, MOD_INSTALL, 0 };
 
 
   TryToInstall InstallAction(Cache, Fix, BrokenFix);
   TryToInstall InstallAction(Cache, Fix, BrokenFix);
   TryToRemove RemoveAction(Cache, Fix);
   TryToRemove RemoveAction(Cache, Fix);
@@ -1920,6 +1919,7 @@ bool DoInstall(CommandLine &CmdL)
    // new scope for the ActionGroup
    // new scope for the ActionGroup
    {
    {
       pkgDepCache::ActionGroup group(Cache);
       pkgDepCache::ActionGroup group(Cache);
+      unsigned short const order[] = { MOD_REMOVE, MOD_INSTALL, 0 };
 
 
       for (unsigned short i = 0; order[i] != 0; ++i)
       for (unsigned short i = 0; order[i] != 0; ++i)
       {
       {
@@ -2023,7 +2023,7 @@ bool DoInstall(CommandLine &CmdL)
 
 
    /* Print out a list of suggested and recommended packages */
    /* Print out a list of suggested and recommended packages */
    {
    {
-      string SuggestsList, RecommendsList, List;
+      string SuggestsList, RecommendsList;
       string SuggestsVersions, RecommendsVersions;
       string SuggestsVersions, RecommendsVersions;
       for (unsigned J = 0; J < Cache->Head().PackageCount; J++)
       for (unsigned J = 0; J < Cache->Head().PackageCount; J++)
       {
       {
@@ -2711,7 +2711,7 @@ bool DoSource(CommandLine &CmdL)
 	 {
 	 {
 	    string buildopts = _config->Find("APT::Get::Host-Architecture");
 	    string buildopts = _config->Find("APT::Get::Host-Architecture");
 	    if (buildopts.empty() == false)
 	    if (buildopts.empty() == false)
-	       buildopts = "-a " + buildopts + " ";
+	       buildopts = "-a" + buildopts + " ";
 	    buildopts.append(_config->Find("DPkg::Build-Options","-b -uc"));
 	    buildopts.append(_config->Find("DPkg::Build-Options","-b -uc"));
 
 
 	    // Call dpkg-buildpackage
 	    // Call dpkg-buildpackage

+ 150 - 4
debian/changelog

@@ -28,7 +28,150 @@ apt (0.9.8~exp1) UNRELEASED; urgency=low
 
 
  -- Michael Vogt <mvo@debian.org>  Fri, 01 Mar 2013 12:12:39 +0100
  -- Michael Vogt <mvo@debian.org>  Fri, 01 Mar 2013 12:12:39 +0100
 
 
-apt (0.9.7.8) UNRELEASED; urgency=low
+apt (0.9.7.9~exp3) UNRELEASED; urgency=low
+
+  [ Michael Vogt ]
+  * apt-pkg/sourcelist.cc:
+    - fix segfault when a hostname contains a [, thanks to 
+      Tzafrir Cohen (closes: #704653)
+  * debian/control:
+    - replace manpages-it (closes: #704723)
+
+  [ David Kalnischkies ]
+  * various simple changes to fix cppcheck warnings
+  * apt-pkg/pkgcachegen.cc:
+    - do not store the MD5Sum for every description language variant as
+      it will be the same for all so it can be shared to save cache space
+    - handle language tags for descriptions are unique strings to be shared
+    - factor version string creation out of NewDepends, so we can easily reuse
+      version strings e.g. for implicit multi-arch dependencies
+    - equal comparisions are used mostly in same-source relations,
+      so use this to try to reuse some version strings
+    - sort group and package names in the hashtable on insert
+    - share version strings between same versions (of different architectures)
+      to save some space and allow quick comparisions later on
+  * apt-pkg/pkgcache.cc:
+    - assume sorted hashtable entries for groups/packages
+  * apt-pkg/cacheiterators.h:
+    - provide DepIterator::IsSatisfied as a nicer shorthand for DepCheck
+  * apt-pkg/deb/debversion.cc:
+    - add a string-equal shortcut for equal version comparisions
+
+  [ Marc Deslauriers ]
+  * make apt-ftparchive generate missing deb-src hashes (LP: #1078697)
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 08 Apr 2013 08:43:21 +0200
+
+apt (0.9.7.9~exp2) experimental; urgency=low
+
+  [ Programs translations ]
+  * Update all PO files and apt-all.pot
+  * French translation completed (Christian Perrier)
+  
+  [ Daniel Hartwig ]
+  * cmdline/apt-get.cc:
+    - do not have space between "-a" and option when cross building
+      (closes: #703792)
+  * test/integration/test-apt-get-download:
+    - fix test now that #1098752 is fixed
+  * po/{ca,cs,ru}.po:
+    - fix merge artifact
+
+  [ David Kalnischkies ]
+  * apt-pkg/indexcopy.cc:
+    - rename RunGPGV to ExecGPGV and move it to apt-pkg/contrib/gpgv.cc
+  * apt-pkg/contrib/gpgv.cc:
+    - ExecGPGV is a method which should never return, so mark it as such
+      and fix the inconsistency of returning in error cases
+    - don't close stdout/stderr if it is also the statusfd
+    - if ExecGPGV deals with a clear-signed file it will split this file
+      into data and signatures, pass it to gpgv for verification
+    - add method to open (maybe) clearsigned files transparently
+  * apt-pkg/acquire-item.cc:
+    - keep the last good InRelease file around just as we do it with
+      Release.gpg in case the new one we download isn't good for us
+  * apt-pkg/deb/debmetaindex.cc:
+    - reenable InRelease by default
+  * ftparchive/writer.cc,
+    apt-pkg/deb/debindexfile.cc,
+    apt-pkg/deb/deblistparser.cc:
+    - use OpenMaybeClearSignedFile to be free from detecting and
+      skipping clearsigning metadata in dsc and Release files
+
+  [ Michael Vogt ]
+  * add regression test for CVE-2013-1051
+  * implement GPGSplit() based on the idea from Ansgar Burchardt
+    (many thanks!)
+  * methods/connect.cc:
+    - use Errno() instead of strerror(), thanks to David Kalnischk
+  * doc/apt.conf.5.xml:
+    - document Acquire::ForceIPv{4,6}
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 03 Apr 2013 14:19:58 +0200
+
+apt (0.9.7.9~exp1) experimental; urgency=low
+
+  [ Niels Thykier ]
+  * test/libapt/assert.h, test/libapt/run-tests:
+    - exit with status 1 on test failure
+  
+  [ Daniel Hartwig ]
+  * test/integration/framework:
+    - continue after test failure but preserve exit status
+
+  [ Programs translation updates ]
+  * Turkish (Mert Dirik). Closes: #703526
+
+  [ Colin Watson ]
+  * methods/connect.cc:
+    - provide useful error message in case of EAI_SYSTEM
+      (closes: #703603)
+  
+  [ Michael Vogt ]
+  * add new config options "Acquire::ForceIPv4" and 
+    "Acquire::ForceIPv6" to allow focing one or the other
+    (closes: #611891)
+  * lp:~mvo/apt/fix-tagfile-hash:
+    - fix false positives in pkgTagSection.Exists(), thanks to
+      Niels Thykier for the testcase (closes: #703240)
+    - this will require rebuilds of the clients as this used to
+      be a inline function
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 22 Mar 2013 21:57:08 +0100
+
+apt (0.9.7.8) unstable; urgency=criticial
+
+  * SECURITY UPDATE: InRelease verification bypass
+    - CVE-2013-1051
+  
+  [ Programs translation updates ]
+  * Japanese (Kenshi Muto). Closes: #699783
+  
+  [ David Kalnischk ]
+  * apt-pkg/deb/debmetaindex.cc,
+    test/integration/test-bug-595691-empty-and-broken-archive-files,
+  * [ABI BREAK] apt-pkg/pkgcache.h:
+    - adjust pkgCache::State::VerPriority enum, to match reality
+    test/integration/test-releasefile-verification:
+    - disable InRelease downloading until the verification issue is
+      fixed, thanks to Ansgar Burchardt for finding the flaw
+    - quote plus in filenames to work around a bug in the S3 server
+      (LP: #1003633)
+  * apt-pkg/indexrecords.cc:
+    - support '\r' in the Release file
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 14 Mar 2013 07:47:36 +0100
+
+apt (0.9.7.8~exp2) experimental; urgency=low
+
+  * include two missing patches to really fix bug #696225, thanks to
+    Guillem Jover 
+  * ensure sha512 is really used when available, thanks to Tyler Hicks
+   (LP: #1098752)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 01 Mar 2013 19:06:55 +0100
+
+apt (0.9.7.8~exp1) experimental; urgency=low
 
 
   [ Manpages translation updates ]
   [ Manpages translation updates ]
   * Italian (Beatrice Torracca). Closes: #696601
   * Italian (Beatrice Torracca). Closes: #696601
@@ -39,8 +182,6 @@ apt (0.9.7.8) UNRELEASED; urgency=low
   [ Michael Vogt ]
   [ Michael Vogt ]
   * fix pkgProblemResolver::Scores, thanks to Paul Wise. 
   * fix pkgProblemResolver::Scores, thanks to Paul Wise. 
     Closes: #697577
     Closes: #697577
-  * [ABI BREAK] apt-pkg/pkgcache.h:
-    - adjust pkgCache::State::VerPriority enum, to match reality
   * fix missing translated apt.8 manpages, thanks to Helge Kreutzmann
   * fix missing translated apt.8 manpages, thanks to Helge Kreutzmann
     for the report. Closes: #696923
     for the report. Closes: #696923
   * apt-pkg/contrib/progress.cc:
   * apt-pkg/contrib/progress.cc:
@@ -66,7 +207,12 @@ apt (0.9.7.8) UNRELEASED; urgency=low
   * apt-pkg/indexrecords.cc:
   * apt-pkg/indexrecords.cc:
     - support '\r' in the Release file
     - support '\r' in the Release file
 
 
- -- Christian Perrier <bubulle@debian.org>  Mon, 24 Dec 2012 07:01:20 +0100
+  [ David Kalnischkies ]
+  * apt-pkg/depcache.cc:
+    - prefer to install packages which have an already installed M-A:same
+      sibling while choosing providers (LP: #1130419)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 01 Mar 2013 14:16:42 +0100
 
 
 apt (0.9.7.7) unstable; urgency=low
 apt (0.9.7.7) unstable; urgency=low
 
 

+ 1 - 1
debian/control

@@ -18,7 +18,7 @@ Vcs-Browser: http://bzr.debian.org/loggerhead/apt/debian-sid/
 Package: apt
 Package: apt
 Architecture: any
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, debian-archive-keyring, gnupg
 Depends: ${shlibs:Depends}, ${misc:Depends}, debian-archive-keyring, gnupg
-Replaces: manpages-pl (<< 20060617-3~)
+Replaces: manpages-pl (<< 20060617-3~), manpages-it
 Conflicts: python-apt (<< 0.7.93.2~)
 Conflicts: python-apt (<< 0.7.93.2~)
 Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, xz-utils, python-apt
 Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, xz-utils, python-apt
 Description: commandline package manager
 Description: commandline package manager

+ 1 - 1
doc/apt-verbatim.ent

@@ -213,7 +213,7 @@
 ">
 ">
 
 
 <!-- this will be updated by 'prepare-release' -->
 <!-- this will be updated by 'prepare-release' -->
-<!ENTITY apt-product-version "0.9.8~exp1~20130301">
+<!ENTITY apt-product-version "0.9.7.9~exp2">
 
 
 <!-- Codenames for debian releases -->
 <!-- Codenames for debian releases -->
 <!ENTITY oldstable-codename "squeeze">
 <!ENTITY oldstable-codename "squeeze">

+ 12 - 0
doc/apt.conf.5.xml

@@ -554,6 +554,18 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
      </listitem>
      </listitem>
      </varlistentry>
      </varlistentry>
 
 
+     <varlistentry><term><option>ForceIPv4</option></term>
+	 <listitem><para>
+         When downloading, force to use only the IPv4 protocol.
+	 </para></listitem>
+     </varlistentry>
+
+     <varlistentry><term><option>ForceIPv6</option></term>
+	 <listitem><para>
+         When downloading, force to use only the IPv6 protocol.
+	 </para></listitem>
+     </varlistentry>
+
    </variablelist>
    </variablelist>
  </refsect1>
  </refsect1>
 
 

+ 83 - 73
doc/po/de.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt-doc 0.9.7\n"
 "Project-Id-Version: apt-doc 0.9.7\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2012-08-30 12:50+0300\n"
+"POT-Creation-Date: 2013-04-02 15:13+0300\n"
 "PO-Revision-Date: 2012-06-25 22:49+0100\n"
 "PO-Revision-Date: 2012-06-25 22:49+0100\n"
 "Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
 "Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
 "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
 "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -1543,14 +1543,14 @@ msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
-#: apt.conf.5.xml:1156 apt_preferences.5.xml:698
+#: apt.conf.5.xml:1168 apt_preferences.5.xml:698
 msgid "Files"
 msgid "Files"
 msgstr "Dateien"
 msgstr "Dateien"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
-#: apt.conf.5.xml:1162 apt_preferences.5.xml:705 sources.list.5.xml:252
+#: apt.conf.5.xml:1174 apt_preferences.5.xml:705 sources.list.5.xml:252
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-ftparchive.1.xml:607
 #: apt-ftparchive.1.xml:607
 msgid "See Also"
 msgid "See Also"
@@ -4269,13 +4269,23 @@ msgstr ""
 "in <filename>/var/lib/apt/lists/</filename> gefunden werden, an das Ende der "
 "in <filename>/var/lib/apt/lists/</filename> gefunden werden, an das Ende der "
 "Liste hinzugefügt (nach einem impliziten »<literal>none</literal>«)."
 "Liste hinzugefügt (nach einem impliziten »<literal>none</literal>«)."
 
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:559
+msgid "When downloading, force to use only the IPv4 protocol."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:565
+msgid "When downloading, force to use only the IPv6 protocol."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:560
+#: apt.conf.5.xml:572
 msgid "Directories"
 msgid "Directories"
 msgstr "Verzeichnisse"
 msgstr "Verzeichnisse"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:562
+#: apt.conf.5.xml:574
 msgid ""
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -4295,7 +4305,7 @@ msgstr ""
 "nicht mit <filename>/</filename> oder <filename>./</filename> beginnen."
 "nicht mit <filename>/</filename> oder <filename>./</filename> beginnen."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:569
+#: apt.conf.5.xml:581
 msgid ""
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -4318,7 +4328,7 @@ msgstr ""
 "Standardverzeichnis in <literal>Dir::Cache</literal> enthalten."
 "Standardverzeichnis in <literal>Dir::Cache</literal> enthalten."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:578
+#: apt.conf.5.xml:590
 msgid ""
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -4333,7 +4343,7 @@ msgstr ""
 "Konfigurationsdatei erfolgt)."
 "Konfigurationsdatei erfolgt)."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:584
+#: apt.conf.5.xml:596
 msgid ""
 msgid ""
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "in lexical order from the directory specified. After this is done then the "
 "in lexical order from the directory specified. After this is done then the "
@@ -4345,7 +4355,7 @@ msgstr ""
 "geladen."
 "geladen."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:588
+#: apt.conf.5.xml:600
 msgid ""
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -4363,7 +4373,7 @@ msgstr ""
 "Programms an."
 "Programms an."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:596
+#: apt.conf.5.xml:608
 msgid ""
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -4383,7 +4393,7 @@ msgstr ""
 "<filename>/tmp/staging/var/lib/dpkg/status</filename> nachgesehen."
 "<filename>/tmp/staging/var/lib/dpkg/status</filename> nachgesehen."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:609
+#: apt.conf.5.xml:621
 msgid ""
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
 "which files APT should silently ignore while parsing the files in the "
@@ -4401,12 +4411,12 @@ msgstr ""
 "diese Muster verwandt werden."
 "diese Muster verwandt werden."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:618
+#: apt.conf.5.xml:630
 msgid "APT in DSelect"
 msgid "APT in DSelect"
 msgstr "APT in DSelect"
 msgstr "APT in DSelect"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:620
+#: apt.conf.5.xml:632
 msgid ""
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -4417,7 +4427,7 @@ msgstr ""
 "<literal>DSelect</literal>."
 "<literal>DSelect</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:625
+#: apt.conf.5.xml:637
 msgid ""
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -4440,7 +4450,7 @@ msgstr ""
 "vor dem Herunterladen neuer Pakete durch."
 "vor dem Herunterladen neuer Pakete durch."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:639
+#: apt.conf.5.xml:651
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
 "options when it is run for the install phase."
@@ -4449,7 +4459,7 @@ msgstr ""
 "übermittelt, wenn es für die Installationsphase durchlaufen wird."
 "übermittelt, wenn es für die Installationsphase durchlaufen wird."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:644
+#: apt.conf.5.xml:656
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
 "options when it is run for the update phase."
@@ -4458,7 +4468,7 @@ msgstr ""
 "übermittelt, wenn es für die Aktualisierungsphase durchlaufen wird."
 "übermittelt, wenn es für die Aktualisierungsphase durchlaufen wird."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:649
+#: apt.conf.5.xml:661
 msgid ""
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
 "The default is to prompt only on error."
@@ -4467,12 +4477,12 @@ msgstr ""
 "nachfragen, um fortzufahren. Vorgabe ist es, nur bei Fehlern nachzufragen."
 "nachfragen, um fortzufahren. Vorgabe ist es, nur bei Fehlern nachzufragen."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:655
+#: apt.conf.5.xml:667
 msgid "How APT calls &dpkg;"
 msgid "How APT calls &dpkg;"
 msgstr "Wie APT &dpkg; aufruft"
 msgstr "Wie APT &dpkg; aufruft"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:656
+#: apt.conf.5.xml:668
 msgid ""
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
 "in the <literal>DPkg</literal> section."
@@ -4481,7 +4491,7 @@ msgstr ""
 "stehen im Abschnitt <literal>DPkg</literal>."
 "stehen im Abschnitt <literal>DPkg</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:661
+#: apt.conf.5.xml:673
 msgid ""
 msgid ""
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "using the list notation and each list item is passed as a single argument to "
 "using the list notation and each list item is passed as a single argument to "
@@ -4492,7 +4502,7 @@ msgstr ""
 "jedes Listenelement wird als einzelnes Argument an &dpkg; übermittelt."
 "jedes Listenelement wird als einzelnes Argument an &dpkg; übermittelt."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:667
+#: apt.conf.5.xml:679
 msgid ""
 msgid ""
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4506,7 +4516,7 @@ msgstr ""
 "APT abgebrochen."
 "APT abgebrochen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:674
+#: apt.conf.5.xml:686
 msgid ""
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4522,7 +4532,7 @@ msgstr ""
 "die es installieren wird, auf der Standardeingabe übergeben, einen pro Zeile."
 "die es installieren wird, auf der Standardeingabe übergeben, einen pro Zeile."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:680
+#: apt.conf.5.xml:692
 msgid ""
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
 "version, the APT configuration space and the packages, files and versions "
@@ -4538,7 +4548,7 @@ msgstr ""
 "literal> gegeben wird."
 "literal> gegeben wird."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:700
 msgid ""
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
 "<filename>/</filename>."
@@ -4547,7 +4557,7 @@ msgstr ""
 "die Vorgabe ist <filename>/</filename>."
 "die Vorgabe ist <filename>/</filename>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:693
+#: apt.conf.5.xml:705
 msgid ""
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
 "default is to disable signing and produce all binaries."
@@ -4557,12 +4567,12 @@ msgstr ""
 "Programme werden erstellt."
 "Programme werden erstellt."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:698
+#: apt.conf.5.xml:710
 msgid "dpkg trigger usage (and related options)"
 msgid "dpkg trigger usage (and related options)"
 msgstr "Dpkd-Trigger-Benutzung (und zugehörige Optionen)"
 msgstr "Dpkd-Trigger-Benutzung (und zugehörige Optionen)"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:699
+#: apt.conf.5.xml:711
 msgid ""
 msgid ""
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
@@ -4589,7 +4599,7 @@ msgstr ""
 "Pakete konfiguriert werden."
 "Pakete konfiguriert werden."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:726
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
 "DPkg::NoTriggers \"true\";\n"
@@ -4603,7 +4613,7 @@ msgstr ""
 "DPkg::TriggersPending \"true\";"
 "DPkg::TriggersPending \"true\";"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:708
+#: apt.conf.5.xml:720
 msgid ""
 msgid ""
 "Note that it is not guaranteed that APT will support these options or that "
 "Note that it is not guaranteed that APT will support these options or that "
 "these options will not cause (big) trouble in the future. If you have "
 "these options will not cause (big) trouble in the future. If you have "
@@ -4628,7 +4638,7 @@ msgstr ""
 "Optionenkombination wäre <placeholder type=\"literallayout\" id=\"0\"/>"
 "Optionenkombination wäre <placeholder type=\"literallayout\" id=\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:721
+#: apt.conf.5.xml:733
 msgid ""
 msgid ""
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "call).  See &dpkg; if you are interested in what this actually means. In "
 "call).  See &dpkg; if you are interested in what this actually means. In "
@@ -4651,7 +4661,7 @@ msgstr ""
 "anhängen."
 "anhängen."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:729
+#: apt.conf.5.xml:741
 msgid ""
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -4681,7 +4691,7 @@ msgstr ""
 "enden könnte und möglicherweise nicht mehr startbar ist."
 "enden könnte und möglicherweise nicht mehr startbar ist."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:744
+#: apt.conf.5.xml:756
 msgid ""
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -4700,7 +4710,7 @@ msgstr ""
 "deaktivieren."
 "deaktivieren."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:751
+#: apt.conf.5.xml:763
 msgid ""
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -4716,7 +4726,7 @@ msgstr ""
 "benötigt werden."
 "benötigt werden."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:764
+#: apt.conf.5.xml:776
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "OrderList::Score {\n"
 "OrderList::Score {\n"
@@ -4734,7 +4744,7 @@ msgstr ""
 "};"
 "};"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:757
+#: apt.conf.5.xml:769
 msgid ""
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -4758,12 +4768,12 @@ msgstr ""
 "mit ihren Vorgabewerten. <placeholder type=\"literallayout\" id=\"0\"/>"
 "mit ihren Vorgabewerten. <placeholder type=\"literallayout\" id=\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:789
 msgid "Periodic and Archives options"
 msgid "Periodic and Archives options"
 msgstr "Periodische- und Archivoptionen"
 msgstr "Periodische- und Archivoptionen"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:778
+#: apt.conf.5.xml:790
 msgid ""
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -4777,12 +4787,12 @@ msgstr ""
 "Dokumentation dieser Optionen zu erhalten."
 "Dokumentation dieser Optionen zu erhalten."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:786
+#: apt.conf.5.xml:798
 msgid "Debug options"
 msgid "Debug options"
 msgstr "Fehlersuchoptionen"
 msgstr "Fehlersuchoptionen"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:788
+#: apt.conf.5.xml:800
 msgid ""
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
 "debugging information to be sent to the standard error stream of the program "
@@ -4800,7 +4810,7 @@ msgstr ""
 "könnten es sein:"
 "könnten es sein:"
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:811
 msgid ""
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -4811,7 +4821,7 @@ msgstr ""
 "getroffenen Entscheidungen ein."
 "getroffenen Entscheidungen ein."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:807
+#: apt.conf.5.xml:819
 msgid ""
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -4822,7 +4832,7 @@ msgstr ""
 "<literal>apt-get -s install</literal>) als nicht root-Anwender auszuführen."
 "<literal>apt-get -s install</literal>) als nicht root-Anwender auszuführen."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:816
+#: apt.conf.5.xml:828
 msgid ""
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -4834,7 +4844,7 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:824
+#: apt.conf.5.xml:836
 msgid ""
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "in CD-ROM IDs."
 "in CD-ROM IDs."
@@ -4843,12 +4853,12 @@ msgstr ""
 "Daten in CD-ROM-IDs aus."
 "Daten in CD-ROM-IDs aus."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:846
 msgid "A full list of debugging options to apt follows."
 msgid "A full list of debugging options to apt follows."
 msgstr "Eine vollständige Liste der Fehlersuchoptionen von APT folgt."
 msgstr "Eine vollständige Liste der Fehlersuchoptionen von APT folgt."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:843
+#: apt.conf.5.xml:855
 msgid ""
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
 msgstr ""
@@ -4856,28 +4866,28 @@ msgstr ""
 "literal>-Quellen beziehen."
 "literal>-Quellen beziehen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:854
+#: apt.conf.5.xml:866
 msgid "Print information related to downloading packages using FTP."
 msgid "Print information related to downloading packages using FTP."
 msgstr ""
 msgstr ""
 "gibt Informationen aus, die sich auf das Herunterladen von Paketen per FTP "
 "gibt Informationen aus, die sich auf das Herunterladen von Paketen per FTP "
 "beziehen."
 "beziehen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:865
+#: apt.conf.5.xml:877
 msgid "Print information related to downloading packages using HTTP."
 msgid "Print information related to downloading packages using HTTP."
 msgstr ""
 msgstr ""
 "gibt Informationen aus, die sich auf das Herunterladen von Paketen per HTTP "
 "gibt Informationen aus, die sich auf das Herunterladen von Paketen per HTTP "
 "beziehen."
 "beziehen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:876
+#: apt.conf.5.xml:888
 msgid "Print information related to downloading packages using HTTPS."
 msgid "Print information related to downloading packages using HTTPS."
 msgstr ""
 msgstr ""
 "gibt Informationen aus, die sich auf das Herunterladen von Paketen per HTTPS "
 "gibt Informationen aus, die sich auf das Herunterladen von Paketen per HTTPS "
 "beziehen."
 "beziehen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:887
+#: apt.conf.5.xml:899
 msgid ""
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
 "<literal>gpg</literal>."
@@ -4886,7 +4896,7 @@ msgstr ""
 "mittels <literal>gpg</literal> beziehen."
 "mittels <literal>gpg</literal> beziehen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:898
+#: apt.conf.5.xml:910
 msgid ""
 msgid ""
 "Output information about the process of accessing collections of packages "
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
 "stored on CD-ROMs."
@@ -4895,13 +4905,13 @@ msgstr ""
 "CD-ROMs gespeichert sind."
 "CD-ROMs gespeichert sind."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:908
+#: apt.conf.5.xml:920
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr ""
 msgstr ""
 "beschreibt den Prozess der Auflösung von Bauabhängigkeiten in &apt-get;."
 "beschreibt den Prozess der Auflösung von Bauabhängigkeiten in &apt-get;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:918
+#: apt.conf.5.xml:930
 msgid ""
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
 "literal> libraries."
@@ -4910,7 +4920,7 @@ msgstr ""
 "Bibliotheken generiert wurde."
 "Bibliotheken generiert wurde."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:928
+#: apt.conf.5.xml:940
 msgid ""
 msgid ""
 "Do not include information from <literal>statfs</literal>, namely the number "
 "Do not include information from <literal>statfs</literal>, namely the number "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -4921,7 +4931,7 @@ msgstr ""
 "ID für eine CD-ROM generiert wird."
 "ID für eine CD-ROM generiert wird."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:939
+#: apt.conf.5.xml:951
 msgid ""
 msgid ""
 "Disable all file locking.  For instance, this will allow two instances of "
 "Disable all file locking.  For instance, this will allow two instances of "
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
@@ -4931,14 +4941,14 @@ msgstr ""
 "gleichen Zeit laufen."
 "gleichen Zeit laufen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:951
+#: apt.conf.5.xml:963
 msgid "Log when items are added to or removed from the global download queue."
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 msgstr ""
 "protokolliert, wenn Elemente aus der globalen Warteschlange zum "
 "protokolliert, wenn Elemente aus der globalen Warteschlange zum "
 "Herunterladen hinzugefügt oder entfernt werden."
 "Herunterladen hinzugefügt oder entfernt werden."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:961
+#: apt.conf.5.xml:973
 msgid ""
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
 "cryptographic signatures of downloaded files."
@@ -4947,7 +4957,7 @@ msgstr ""
 "und kryptografischen Signaturen von heruntergeladenen Dateien beziehen."
 "und kryptografischen Signaturen von heruntergeladenen Dateien beziehen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:971
+#: apt.conf.5.xml:983
 msgid ""
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
 "and errors relating to package index list diffs."
@@ -4956,7 +4966,7 @@ msgstr ""
 "Diffs und Fehler, die die Paketindexlisten-Diffs betreffen, aus."
 "Diffs und Fehler, die die Paketindexlisten-Diffs betreffen, aus."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:983
+#: apt.conf.5.xml:995
 msgid ""
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
 "index diffs instead of full indices."
@@ -4966,7 +4976,7 @@ msgstr ""
 "werden."
 "werden."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:994
+#: apt.conf.5.xml:1006
 msgid ""
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
 msgstr ""
@@ -4974,7 +4984,7 @@ msgstr ""
 "durchführen."
 "durchführen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1005
+#: apt.conf.5.xml:1017
 msgid ""
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
 "the removal of unused packages."
@@ -4984,7 +4994,7 @@ msgstr ""
 "beziehen."
 "beziehen."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1015
+#: apt.conf.5.xml:1027
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -5000,7 +5010,7 @@ msgstr ""
 "literal>."
 "literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1029
+#: apt.conf.5.xml:1041
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -5033,7 +5043,7 @@ msgstr ""
 "erscheint."
 "erscheint."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1050
+#: apt.conf.5.xml:1062
 msgid ""
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
 "invoked, with arguments separated by a single space character."
@@ -5043,7 +5053,7 @@ msgstr ""
 "sind, aus."
 "sind, aus."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1061
+#: apt.conf.5.xml:1073
 msgid ""
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
 "any errors encountered while parsing it."
@@ -5052,7 +5062,7 @@ msgstr ""
 "und alle während deren Auswertung gefundenen Fehler aus."
 "und alle während deren Auswertung gefundenen Fehler aus."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1072
+#: apt.conf.5.xml:1084
 msgid ""
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
 "<literal>apt</literal> should pass packages to &dpkg;."
@@ -5062,7 +5072,7 @@ msgstr ""
 "soll."
 "soll."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1084
+#: apt.conf.5.xml:1096
 msgid ""
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr ""
 msgstr ""
@@ -5070,12 +5080,12 @@ msgstr ""
 "von &dpkg; ausgeführt werden."
 "von &dpkg; ausgeführt werden."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1095
+#: apt.conf.5.xml:1107
 msgid "Output the priority of each package list on startup."
 msgid "Output the priority of each package list on startup."
 msgstr "gibt die Priorität jeder Paketliste beim Start aus."
 msgstr "gibt die Priorität jeder Paketliste beim Start aus."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1105
+#: apt.conf.5.xml:1117
 msgid ""
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
 "happens when a complex dependency problem is encountered)."
@@ -5085,7 +5095,7 @@ msgstr ""
 "aufgetreten ist)."
 "aufgetreten ist)."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1116
+#: apt.conf.5.xml:1128
 msgid ""
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -5097,7 +5107,7 @@ msgstr ""
 "Marker</literal> beschrieben."
 "Marker</literal> beschrieben."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1128
+#: apt.conf.5.xml:1140
 msgid ""
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
 "list</filename>."
@@ -5106,13 +5116,13 @@ msgstr ""
 "filename> gelesenen Anbieter aus."
 "filename> gelesenen Anbieter aus."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1150 apt_preferences.5.xml:545 sources.list.5.xml:211
+#: apt.conf.5.xml:1162 apt_preferences.5.xml:545 sources.list.5.xml:211
 #: apt-ftparchive.1.xml:596
 #: apt-ftparchive.1.xml:596
 msgid "Examples"
 msgid "Examples"
 msgstr "Beispiele"
 msgstr "Beispiele"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1151
+#: apt.conf.5.xml:1163
 msgid ""
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
 "possible options."
@@ -5122,7 +5132,7 @@ msgstr ""
 
 
 #.  ? reading apt.conf 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1163
+#: apt.conf.5.xml:1175
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 
 

+ 83 - 73
doc/po/es.po

@@ -38,7 +38,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.9.7.1\n"
 "Project-Id-Version: apt 0.9.7.1\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2012-08-30 12:50+0300\n"
+"POT-Creation-Date: 2013-04-02 15:13+0300\n"
 "PO-Revision-Date: 2012-07-14 12:21+0200\n"
 "PO-Revision-Date: 2012-07-14 12:21+0200\n"
 "Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
 "Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
 "Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
 "Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -1619,14 +1619,14 @@ msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
-#: apt.conf.5.xml:1156 apt_preferences.5.xml:698
+#: apt.conf.5.xml:1168 apt_preferences.5.xml:698
 msgid "Files"
 msgid "Files"
 msgstr "Ficheros"
 msgstr "Ficheros"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
-#: apt.conf.5.xml:1162 apt_preferences.5.xml:705 sources.list.5.xml:252
+#: apt.conf.5.xml:1174 apt_preferences.5.xml:705 sources.list.5.xml:252
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-ftparchive.1.xml:607
 #: apt-ftparchive.1.xml:607
 msgid "See Also"
 msgid "See Also"
@@ -4307,13 +4307,23 @@ msgstr ""
 "se añaden al final de la lista (después de un «<literal>none</literal>» "
 "se añaden al final de la lista (después de un «<literal>none</literal>» "
 "implícito)."
 "implícito)."
 
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:559
+msgid "When downloading, force to use only the IPv4 protocol."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:565
+msgid "When downloading, force to use only the IPv6 protocol."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:560
+#: apt.conf.5.xml:572
 msgid "Directories"
 msgid "Directories"
 msgstr "Directorios"
 msgstr "Directorios"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:562
+#: apt.conf.5.xml:574
 msgid ""
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -4334,7 +4344,7 @@ msgstr ""
 "filename> ó <filename>./</filename>."
 "filename> ó <filename>./</filename>."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:569
+#: apt.conf.5.xml:581
 msgid ""
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -4356,7 +4366,7 @@ msgstr ""
 "directorio predeterminado está en <literal>Dir::Cache</literal>"
 "directorio predeterminado está en <literal>Dir::Cache</literal>"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:578
+#: apt.conf.5.xml:590
 msgid ""
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -4372,7 +4382,7 @@ msgstr ""
 "<envar>APT_CONFIG</envar>)."
 "<envar>APT_CONFIG</envar>)."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:584
+#: apt.conf.5.xml:596
 msgid ""
 msgid ""
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "in lexical order from the directory specified. After this is done then the "
 "in lexical order from the directory specified. After this is done then the "
@@ -4383,7 +4393,7 @@ msgstr ""
 "Al finalizar este proceso carga el fichero de configuración principal."
 "Al finalizar este proceso carga el fichero de configuración principal."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:588
+#: apt.conf.5.xml:600
 msgid ""
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -4400,7 +4410,7 @@ msgstr ""
 "literal> especifican la ubicación de sus respectivos programas."
 "literal> especifican la ubicación de sus respectivos programas."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:596
+#: apt.conf.5.xml:608
 msgid ""
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -4421,7 +4431,7 @@ msgstr ""
 "staging/var/lib/dpkg/status</filename>."
 "staging/var/lib/dpkg/status</filename>."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:609
+#: apt.conf.5.xml:621
 msgid ""
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
 "which files APT should silently ignore while parsing the files in the "
@@ -4439,12 +4449,12 @@ msgstr ""
 "de expresiones regulares."
 "de expresiones regulares."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:618
+#: apt.conf.5.xml:630
 msgid "APT in DSelect"
 msgid "APT in DSelect"
 msgstr "APT con DSelect"
 msgstr "APT con DSelect"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:620
+#: apt.conf.5.xml:632
 msgid ""
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -4455,7 +4465,7 @@ msgstr ""
 "encuentran en la sección <literal>DSelect</literal>."
 "encuentran en la sección <literal>DSelect</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:625
+#: apt.conf.5.xml:637
 msgid ""
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -4477,7 +4487,7 @@ msgstr ""
 "realiza esta acción antes de descargar paquetes nuevos."
 "realiza esta acción antes de descargar paquetes nuevos."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:639
+#: apt.conf.5.xml:651
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
 "options when it is run for the install phase."
@@ -4486,7 +4496,7 @@ msgstr ""
 "la línea de ordenes al ejecutar la fase de instalación."
 "la línea de ordenes al ejecutar la fase de instalación."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:644
+#: apt.conf.5.xml:656
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
 "options when it is run for the update phase."
@@ -4495,7 +4505,7 @@ msgstr ""
 "la línea de ordenes al ejecutar la fase de actualización."
 "la línea de ordenes al ejecutar la fase de actualización."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:649
+#: apt.conf.5.xml:661
 msgid ""
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
 "The default is to prompt only on error."
@@ -4505,12 +4515,12 @@ msgstr ""
 "preguntará en caso de error."
 "preguntará en caso de error."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:655
+#: apt.conf.5.xml:667
 msgid "How APT calls &dpkg;"
 msgid "How APT calls &dpkg;"
 msgstr "Invocación de APT a dpkg"
 msgstr "Invocación de APT a dpkg"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:656
+#: apt.conf.5.xml:668
 msgid ""
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
 "in the <literal>DPkg</literal> section."
@@ -4519,7 +4529,7 @@ msgstr ""
 "se encuentran en la sección <literal>DPkg</literal>."
 "se encuentran en la sección <literal>DPkg</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:661
+#: apt.conf.5.xml:673
 msgid ""
 msgid ""
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "using the list notation and each list item is passed as a single argument to "
 "using the list notation and each list item is passed as a single argument to "
@@ -4530,7 +4540,7 @@ msgstr ""
 "introduce a &dpkg; como un sólo argumento."
 "introduce a &dpkg; como un sólo argumento."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:667
+#: apt.conf.5.xml:679
 msgid ""
 msgid ""
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4543,7 +4553,7 @@ msgstr ""
 "sh</filename>; en caso de fallo, APT cancela la acción."
 "sh</filename>; en caso de fallo, APT cancela la acción."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:674
+#: apt.conf.5.xml:686
 msgid ""
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4559,7 +4569,7 @@ msgstr ""
 "la entrada estándar."
 "la entrada estándar."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:680
+#: apt.conf.5.xml:692
 msgid ""
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
 "version, the APT configuration space and the packages, files and versions "
@@ -4575,7 +4585,7 @@ msgstr ""
 "literal>."
 "literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:700
 msgid ""
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
 "<filename>/</filename>."
@@ -4584,7 +4594,7 @@ msgstr ""
 "predeterminado es <filename>/</filename>."
 "predeterminado es <filename>/</filename>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:693
+#: apt.conf.5.xml:705
 msgid ""
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
 "default is to disable signing and produce all binaries."
@@ -4594,12 +4604,12 @@ msgstr ""
 "paquetes y a producir todos los binarios."
 "paquetes y a producir todos los binarios."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:698
+#: apt.conf.5.xml:710
 msgid "dpkg trigger usage (and related options)"
 msgid "dpkg trigger usage (and related options)"
 msgstr "Uso del disparador de dpkg (y de las opciones relacionadas)"
 msgstr "Uso del disparador de dpkg (y de las opciones relacionadas)"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:699
+#: apt.conf.5.xml:711
 msgid ""
 msgid ""
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
@@ -4626,7 +4636,7 @@ msgstr ""
 "tiempo (o más) durante la configuración de todos los paquetes."
 "tiempo (o más) durante la configuración de todos los paquetes."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:726
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
 "DPkg::NoTriggers \"true\";\n"
@@ -4640,7 +4650,7 @@ msgstr ""
 "DPkg::TriggersPending \"true\";"
 "DPkg::TriggersPending \"true\";"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:708
+#: apt.conf.5.xml:720
 msgid ""
 msgid ""
 "Note that it is not guaranteed that APT will support these options or that "
 "Note that it is not guaranteed that APT will support these options or that "
 "these options will not cause (big) trouble in the future. If you have "
 "these options will not cause (big) trouble in the future. If you have "
@@ -4664,7 +4674,7 @@ msgstr ""
 "type=\"literallayout\" id=\"0\"/>"
 "type=\"literallayout\" id=\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:721
+#: apt.conf.5.xml:733
 msgid ""
 msgid ""
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "call).  See &dpkg; if you are interested in what this actually means. In "
 "call).  See &dpkg; if you are interested in what this actually means. In "
@@ -4687,7 +4697,7 @@ msgstr ""
 "eliminación."
 "eliminación."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:729
+#: apt.conf.5.xml:741
 msgid ""
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -4717,7 +4727,7 @@ msgstr ""
 "imposibilidad de arrancar el sistema. "
 "imposibilidad de arrancar el sistema. "
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:744
+#: apt.conf.5.xml:756
 msgid ""
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -4735,7 +4745,7 @@ msgstr ""
 "desactivar esta opción en todas las ejecuciones menos la última."
 "desactivar esta opción en todas las ejecuciones menos la última."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:751
+#: apt.conf.5.xml:763
 msgid ""
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -4751,7 +4761,7 @@ msgstr ""
 "los disparadores necesarios para configurar este paquete."
 "los disparadores necesarios para configurar este paquete."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:764
+#: apt.conf.5.xml:776
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "OrderList::Score {\n"
 "OrderList::Score {\n"
@@ -4769,7 +4779,7 @@ msgstr ""
 "};"
 "};"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:757
+#: apt.conf.5.xml:769
 msgid ""
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -4794,12 +4804,12 @@ msgstr ""
 "<placeholder type=\"literallayout\" id=\"0\"/>"
 "<placeholder type=\"literallayout\" id=\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:789
 msgid "Periodic and Archives options"
 msgid "Periodic and Archives options"
 msgstr "Las opciones «Periodic» y «Archives»"
 msgstr "Las opciones «Periodic» y «Archives»"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:778
+#: apt.conf.5.xml:790
 msgid ""
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -4813,12 +4823,12 @@ msgstr ""
 "documentación de estas opciones."
 "documentación de estas opciones."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:786
+#: apt.conf.5.xml:798
 msgid "Debug options"
 msgid "Debug options"
 msgstr "Opciones de depuración"
 msgstr "Opciones de depuración"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:788
+#: apt.conf.5.xml:800
 msgid ""
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
 "debugging information to be sent to the standard error stream of the program "
@@ -4835,7 +4845,7 @@ msgstr ""
 "para un usuario normal, aunque unas cuantas sí son:"
 "para un usuario normal, aunque unas cuantas sí son:"
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:811
 msgid ""
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -4846,7 +4856,7 @@ msgstr ""
 "purge</literal>."
 "purge</literal>."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:807
+#: apt.conf.5.xml:819
 msgid ""
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -4857,7 +4867,7 @@ msgstr ""
 "<literal>apt-get -s install</literal>) como un usuario normal."
 "<literal>apt-get -s install</literal>) como un usuario normal."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:816
+#: apt.conf.5.xml:828
 msgid ""
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -4869,7 +4879,7 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:824
+#: apt.conf.5.xml:836
 msgid ""
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "in CD-ROM IDs."
 "in CD-ROM IDs."
@@ -4878,14 +4888,14 @@ msgstr ""
 "statfs en los identificadores de los discos ópticos."
 "statfs en los identificadores de los discos ópticos."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:846
 msgid "A full list of debugging options to apt follows."
 msgid "A full list of debugging options to apt follows."
 msgstr ""
 msgstr ""
 "A continuación, se muestra la lista completa de las opciones de depuración "
 "A continuación, se muestra la lista completa de las opciones de depuración "
 "de apt."
 "de apt."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:843
+#: apt.conf.5.xml:855
 msgid ""
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
 msgstr ""
@@ -4893,26 +4903,26 @@ msgstr ""
 "<literal>cdrom://</literal>"
 "<literal>cdrom://</literal>"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:854
+#: apt.conf.5.xml:866
 msgid "Print information related to downloading packages using FTP."
 msgid "Print information related to downloading packages using FTP."
 msgstr ""
 msgstr ""
 "Muestra la información relacionada con la descarga de paquetes mediante FTP."
 "Muestra la información relacionada con la descarga de paquetes mediante FTP."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:865
+#: apt.conf.5.xml:877
 msgid "Print information related to downloading packages using HTTP."
 msgid "Print information related to downloading packages using HTTP."
 msgstr ""
 msgstr ""
 "Muestra la información relacionada con la descarga de paquetes mediante HTTP."
 "Muestra la información relacionada con la descarga de paquetes mediante HTTP."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:876
+#: apt.conf.5.xml:888
 msgid "Print information related to downloading packages using HTTPS."
 msgid "Print information related to downloading packages using HTTPS."
 msgstr ""
 msgstr ""
 "Muestra la información relacionada con la descarga de paquetes mediante "
 "Muestra la información relacionada con la descarga de paquetes mediante "
 "HTTPS."
 "HTTPS."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:887
+#: apt.conf.5.xml:899
 msgid ""
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
 "<literal>gpg</literal>."
@@ -4921,7 +4931,7 @@ msgstr ""
 "criptográficas mediante <literal>gpg</literal>."
 "criptográficas mediante <literal>gpg</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:898
+#: apt.conf.5.xml:910
 msgid ""
 msgid ""
 "Output information about the process of accessing collections of packages "
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
 "stored on CD-ROMs."
@@ -4930,14 +4940,14 @@ msgstr ""
 "paquetes almacenadas en CD-ROM."
 "paquetes almacenadas en CD-ROM."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:908
+#: apt.conf.5.xml:920
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr ""
 msgstr ""
 "Describe el proceso de resolución de dependencias de compilación en &apt-"
 "Describe el proceso de resolución de dependencias de compilación en &apt-"
 "get;."
 "get;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:918
+#: apt.conf.5.xml:930
 msgid ""
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
 "literal> libraries."
@@ -4946,7 +4956,7 @@ msgstr ""
 "<literal>apt</literal>."
 "<literal>apt</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:928
+#: apt.conf.5.xml:940
 msgid ""
 msgid ""
 "Do not include information from <literal>statfs</literal>, namely the number "
 "Do not include information from <literal>statfs</literal>, namely the number "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -4957,7 +4967,7 @@ msgstr ""
 "identificador de un CD-ROM."
 "identificador de un CD-ROM."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:939
+#: apt.conf.5.xml:951
 msgid ""
 msgid ""
 "Disable all file locking.  For instance, this will allow two instances of "
 "Disable all file locking.  For instance, this will allow two instances of "
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
@@ -4967,14 +4977,14 @@ msgstr ""
 "a la vez."
 "a la vez."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:951
+#: apt.conf.5.xml:963
 msgid "Log when items are added to or removed from the global download queue."
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 msgstr ""
 "Registra los elementos que se añaden o se borran de la cola de descarga "
 "Registra los elementos que se añaden o se borran de la cola de descarga "
 "global."
 "global."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:961
+#: apt.conf.5.xml:973
 msgid ""
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
 "cryptographic signatures of downloaded files."
@@ -4984,7 +4994,7 @@ msgstr ""
 "ficheros descargados."
 "ficheros descargados."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:971
+#: apt.conf.5.xml:983
 msgid ""
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
 "and errors relating to package index list diffs."
@@ -4993,7 +5003,7 @@ msgstr ""
 "lista de índices de paquetes, y los errores relacionados con éstos."
 "lista de índices de paquetes, y los errores relacionados con éstos."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:983
+#: apt.conf.5.xml:995
 msgid ""
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
 "index diffs instead of full indices."
@@ -5003,7 +5013,7 @@ msgstr ""
 "índices completos."
 "índices completos."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:994
+#: apt.conf.5.xml:1006
 msgid ""
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
 msgstr ""
@@ -5011,7 +5021,7 @@ msgstr ""
 "descargas."
 "descargas."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1005
+#: apt.conf.5.xml:1017
 msgid ""
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
 "the removal of unused packages."
@@ -5020,7 +5030,7 @@ msgstr ""
 "de los paquetes y con la eliminación de los paquetes sin usar."
 "de los paquetes y con la eliminación de los paquetes sin usar."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1015
+#: apt.conf.5.xml:1027
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -5036,7 +5046,7 @@ msgstr ""
 "literal>."
 "literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1029
+#: apt.conf.5.xml:1041
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -5067,7 +5077,7 @@ msgstr ""
 "la sección en la que aparece el paquete."
 "la sección en la que aparece el paquete."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1050
+#: apt.conf.5.xml:1062
 msgid ""
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
 "invoked, with arguments separated by a single space character."
@@ -5076,7 +5086,7 @@ msgstr ""
 "invocó, con los argumentos separados por un espacio."
 "invocó, con los argumentos separados por un espacio."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1061
+#: apt.conf.5.xml:1073
 msgid ""
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
 "any errors encountered while parsing it."
@@ -5085,7 +5095,7 @@ msgstr ""
 "estado y cualquier error encontrado durante el análisis."
 "estado y cualquier error encontrado durante el análisis."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1072
+#: apt.conf.5.xml:1084
 msgid ""
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
 "<literal>apt</literal> should pass packages to &dpkg;."
@@ -5094,7 +5104,7 @@ msgstr ""
 "literal> debería entregar los paquetes a &dpkg;."
 "literal> debería entregar los paquetes a &dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1084
+#: apt.conf.5.xml:1096
 msgid ""
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr ""
 msgstr ""
@@ -5102,12 +5112,12 @@ msgstr ""
 "&dpkg;."
 "&dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1095
+#: apt.conf.5.xml:1107
 msgid "Output the priority of each package list on startup."
 msgid "Output the priority of each package list on startup."
 msgstr "Muestra la prioridad de cada lista de paquetes al iniciarse."
 msgstr "Muestra la prioridad de cada lista de paquetes al iniciarse."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1105
+#: apt.conf.5.xml:1117
 msgid ""
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
 "happens when a complex dependency problem is encountered)."
@@ -5116,7 +5126,7 @@ msgstr ""
 "lo que ocurre cuando se encuentra un problema de dependencias complejo)."
 "lo que ocurre cuando se encuentra un problema de dependencias complejo)."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1116
+#: apt.conf.5.xml:1128
 msgid ""
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -5127,7 +5137,7 @@ msgstr ""
 "misma que la descrita en <literal>Debug::pkgDepCache::Marker</literal>."
 "misma que la descrita en <literal>Debug::pkgDepCache::Marker</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1128
+#: apt.conf.5.xml:1140
 msgid ""
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
 "list</filename>."
@@ -5136,13 +5146,13 @@ msgstr ""
 "vendors.list</filename>."
 "vendors.list</filename>."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1150 apt_preferences.5.xml:545 sources.list.5.xml:211
+#: apt.conf.5.xml:1162 apt_preferences.5.xml:545 sources.list.5.xml:211
 #: apt-ftparchive.1.xml:596
 #: apt-ftparchive.1.xml:596
 msgid "Examples"
 msgid "Examples"
 msgstr "Ejemplos"
 msgstr "Ejemplos"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1151
+#: apt.conf.5.xml:1163
 msgid ""
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
 "possible options."
@@ -5152,7 +5162,7 @@ msgstr ""
 
 
 #.  ? reading apt.conf 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1163
+#: apt.conf.5.xml:1175
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 
 

+ 83 - 73
doc/po/fr.po

@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: \n"
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2012-08-30 12:50+0300\n"
+"POT-Creation-Date: 2013-04-02 15:13+0300\n"
 "PO-Revision-Date: 2012-07-04 21:08-0600\n"
 "PO-Revision-Date: 2012-07-04 21:08-0600\n"
 "Last-Translator: Christian Perrier <bubulle@debian.org>\n"
 "Last-Translator: Christian Perrier <bubulle@debian.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -1538,14 +1538,14 @@ msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
-#: apt.conf.5.xml:1156 apt_preferences.5.xml:698
+#: apt.conf.5.xml:1168 apt_preferences.5.xml:698
 msgid "Files"
 msgid "Files"
 msgstr "Fichiers"
 msgstr "Fichiers"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
-#: apt.conf.5.xml:1162 apt_preferences.5.xml:705 sources.list.5.xml:252
+#: apt.conf.5.xml:1174 apt_preferences.5.xml:705 sources.list.5.xml:252
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-ftparchive.1.xml:607
 #: apt-ftparchive.1.xml:607
 msgid "See Also"
 msgid "See Also"
@@ -4257,13 +4257,23 @@ msgstr ""
 "<filename>/var/lib/apt/lists/</filename> seront ajoutés à la fin de la liste "
 "<filename>/var/lib/apt/lists/</filename> seront ajoutés à la fin de la liste "
 "(après un « <literal>none</literal> » implicite)."
 "(après un « <literal>none</literal> » implicite)."
 
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:559
+msgid "When downloading, force to use only the IPv4 protocol."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:565
+msgid "When downloading, force to use only the IPv6 protocol."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:560
+#: apt.conf.5.xml:572
 msgid "Directories"
 msgid "Directories"
 msgstr "Les répertoires"
 msgstr "Les répertoires"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:562
+#: apt.conf.5.xml:574
 msgid ""
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -4283,7 +4293,7 @@ msgstr ""
 "<filename>./</filename>."
 "<filename>./</filename>."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:569
+#: apt.conf.5.xml:581
 msgid ""
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -4306,7 +4316,7 @@ msgstr ""
 "Cache</literal>."
 "Cache</literal>."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:578
+#: apt.conf.5.xml:590
 msgid ""
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -4321,7 +4331,7 @@ msgstr ""
 "fichier de configuration indiqué par la variable <envar>APT_CONFIG</envar>)."
 "fichier de configuration indiqué par la variable <envar>APT_CONFIG</envar>)."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:584
+#: apt.conf.5.xml:596
 msgid ""
 msgid ""
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "in lexical order from the directory specified. After this is done then the "
 "in lexical order from the directory specified. After this is done then the "
@@ -4332,7 +4342,7 @@ msgstr ""
 "configuration est chargé."
 "configuration est chargé."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:588
+#: apt.conf.5.xml:600
 msgid ""
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -4350,7 +4360,7 @@ msgstr ""
 "programmes correspondants."
 "programmes correspondants."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:596
+#: apt.conf.5.xml:608
 msgid ""
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -4372,7 +4382,7 @@ msgstr ""
 "staging/var/lib/dpkg/status</filename>."
 "staging/var/lib/dpkg/status</filename>."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:609
+#: apt.conf.5.xml:621
 msgid ""
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
 "which files APT should silently ignore while parsing the files in the "
@@ -4390,12 +4400,12 @@ msgstr ""
 "est possible d'utiliser la syntaxe des expressions rationnelles."
 "est possible d'utiliser la syntaxe des expressions rationnelles."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:618
+#: apt.conf.5.xml:630
 msgid "APT in DSelect"
 msgid "APT in DSelect"
 msgstr "APT et DSelect"
 msgstr "APT et DSelect"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:620
+#: apt.conf.5.xml:632
 msgid ""
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -4406,7 +4416,7 @@ msgstr ""
 "<literal>DSelect</literal>."
 "<literal>DSelect</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:625
+#: apt.conf.5.xml:637
 msgid ""
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -4429,7 +4439,7 @@ msgstr ""
 "avant de récupérer de nouveaux paquets."
 "avant de récupérer de nouveaux paquets."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:639
+#: apt.conf.5.xml:651
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
 "options when it is run for the install phase."
@@ -4438,7 +4448,7 @@ msgstr ""
 "&apt-get; lors de la phase d'installation."
 "&apt-get; lors de la phase d'installation."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:644
+#: apt.conf.5.xml:656
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
 "options when it is run for the update phase."
@@ -4447,7 +4457,7 @@ msgstr ""
 "&apt-get; lors de la phase de mise à jour."
 "&apt-get; lors de la phase de mise à jour."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:649
+#: apt.conf.5.xml:661
 msgid ""
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
 "The default is to prompt only on error."
@@ -4457,12 +4467,12 @@ msgstr ""
 "d'erreur que l'on propose à l'utilisateur d'intervenir."
 "d'erreur que l'on propose à l'utilisateur d'intervenir."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:655
+#: apt.conf.5.xml:667
 msgid "How APT calls &dpkg;"
 msgid "How APT calls &dpkg;"
 msgstr "Méthode d'appel de &dpkg; par APT"
 msgstr "Méthode d'appel de &dpkg; par APT"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:656
+#: apt.conf.5.xml:668
 msgid ""
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
 "in the <literal>DPkg</literal> section."
@@ -4471,7 +4481,7 @@ msgstr ""
 "&dpkg; : elles figurent dans la section <literal>DPkg</literal>."
 "&dpkg; : elles figurent dans la section <literal>DPkg</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:661
+#: apt.conf.5.xml:673
 msgid ""
 msgid ""
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "using the list notation and each list item is passed as a single argument to "
 "using the list notation and each list item is passed as a single argument to "
@@ -4482,7 +4492,7 @@ msgstr ""
 "est passé comme un seul paramètre à &dpkg;."
 "est passé comme un seul paramètre à &dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:667
+#: apt.conf.5.xml:679
 msgid ""
 msgid ""
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4495,7 +4505,7 @@ msgstr ""
 "<filename>/bin/sh</filename> : APT s'arrête dès que l'une d'elles échoue."
 "<filename>/bin/sh</filename> : APT s'arrête dès que l'une d'elles échoue."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:674
+#: apt.conf.5.xml:686
 msgid ""
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4511,7 +4521,7 @@ msgstr ""
 "qu'il va installer, à raison d'un par ligne."
 "qu'il va installer, à raison d'un par ligne."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:680
+#: apt.conf.5.xml:692
 msgid ""
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
 "version, the APT configuration space and the packages, files and versions "
@@ -4527,7 +4537,7 @@ msgstr ""
 "literal>."
 "literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:700
 msgid ""
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
 "<filename>/</filename>."
@@ -4536,7 +4546,7 @@ msgstr ""
 "le répertoire <filename>/</filename>."
 "le répertoire <filename>/</filename>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:693
+#: apt.conf.5.xml:705
 msgid ""
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
 "default is to disable signing and produce all binaries."
@@ -4546,14 +4556,14 @@ msgstr ""
 "créés."
 "créés."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:698
+#: apt.conf.5.xml:710
 msgid "dpkg trigger usage (and related options)"
 msgid "dpkg trigger usage (and related options)"
 msgstr ""
 msgstr ""
 "utilisation des actions différées (« triggers ») de dpkg (et options "
 "utilisation des actions différées (« triggers ») de dpkg (et options "
 "associées)"
 "associées)"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:699
+#: apt.conf.5.xml:711
 msgid ""
 msgid ""
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
@@ -4580,7 +4590,7 @@ msgstr ""
 "pendant la configuration des paquets."
 "pendant la configuration des paquets."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:726
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
 "DPkg::NoTriggers \"true\";\n"
@@ -4594,7 +4604,7 @@ msgstr ""
 "DPkg::TriggersPending \"true\";"
 "DPkg::TriggersPending \"true\";"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:708
+#: apt.conf.5.xml:720
 msgid ""
 msgid ""
 "Note that it is not guaranteed that APT will support these options or that "
 "Note that it is not guaranteed that APT will support these options or that "
 "these options will not cause (big) trouble in the future. If you have "
 "these options will not cause (big) trouble in the future. If you have "
@@ -4618,7 +4628,7 @@ msgstr ""
 "<placeholder type=\"literallayout\" id=\"0\"/>."
 "<placeholder type=\"literallayout\" id=\"0\"/>."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:721
+#: apt.conf.5.xml:733
 msgid ""
 msgid ""
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "call).  See &dpkg; if you are interested in what this actually means. In "
 "call).  See &dpkg; if you are interested in what this actually means. In "
@@ -4641,7 +4651,7 @@ msgstr ""
 "options « unpack » et « remove »."
 "options « unpack » et « remove »."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:729
+#: apt.conf.5.xml:741
 msgid ""
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -4671,7 +4681,7 @@ msgstr ""
 "configuré et donc éventuellement non amorçable."
 "configuré et donc éventuellement non amorçable."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:744
+#: apt.conf.5.xml:756
 msgid ""
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -4690,7 +4700,7 @@ msgstr ""
 "peut conserver l'option active."
 "peut conserver l'option active."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:751
+#: apt.conf.5.xml:763
 msgid ""
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -4708,7 +4718,7 @@ msgstr ""
 "celles concernant le paquet en cours de traitement."
 "celles concernant le paquet en cours de traitement."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:764
+#: apt.conf.5.xml:776
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "OrderList::Score {\n"
 "OrderList::Score {\n"
@@ -4726,7 +4736,7 @@ msgstr ""
 "};"
 "};"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:757
+#: apt.conf.5.xml:769
 msgid ""
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -4752,12 +4762,12 @@ msgstr ""
 "id=\"0\"/>"
 "id=\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:789
 msgid "Periodic and Archives options"
 msgid "Periodic and Archives options"
 msgstr "Options « Periodic » et « Archive »"
 msgstr "Options « Periodic » et « Archive »"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:778
+#: apt.conf.5.xml:790
 msgid ""
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -4769,12 +4779,12 @@ msgstr ""
 "script <literal>/etc/cron.daily/apt</literal>, lancé quotidiennement."
 "script <literal>/etc/cron.daily/apt</literal>, lancé quotidiennement."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:786
+#: apt.conf.5.xml:798
 msgid "Debug options"
 msgid "Debug options"
 msgstr "Les options de débogage"
 msgstr "Les options de débogage"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:788
+#: apt.conf.5.xml:800
 msgid ""
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
 "debugging information to be sent to the standard error stream of the program "
@@ -4792,7 +4802,7 @@ msgstr ""
 "peuvent tout de même être utiles :"
 "peuvent tout de même être utiles :"
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:811
 msgid ""
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -4803,7 +4813,7 @@ msgstr ""
 "upgrade, upgrade, install, remove et purge</literal>."
 "upgrade, upgrade, install, remove et purge</literal>."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:807
+#: apt.conf.5.xml:819
 msgid ""
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -4815,7 +4825,7 @@ msgstr ""
 "superutilisateur."
 "superutilisateur."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:816
+#: apt.conf.5.xml:828
 msgid ""
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -4827,7 +4837,7 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:824
+#: apt.conf.5.xml:836
 msgid ""
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "in CD-ROM IDs."
 "in CD-ROM IDs."
@@ -4836,12 +4846,12 @@ msgstr ""
 "type statfs dans les identifiants de CD."
 "type statfs dans les identifiants de CD."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:846
 msgid "A full list of debugging options to apt follows."
 msgid "A full list of debugging options to apt follows."
 msgstr "Liste complète des options de débogage de APT :"
 msgstr "Liste complète des options de débogage de APT :"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:843
+#: apt.conf.5.xml:855
 msgid ""
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
 msgstr ""
@@ -4849,24 +4859,24 @@ msgstr ""
 "literal>"
 "literal>"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:854
+#: apt.conf.5.xml:866
 msgid "Print information related to downloading packages using FTP."
 msgid "Print information related to downloading packages using FTP."
 msgstr ""
 msgstr ""
 "Affiche les informations concernant le téléchargement de paquets par FTP."
 "Affiche les informations concernant le téléchargement de paquets par FTP."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:865
+#: apt.conf.5.xml:877
 msgid "Print information related to downloading packages using HTTP."
 msgid "Print information related to downloading packages using HTTP."
 msgstr ""
 msgstr ""
 "Affiche les informations concernant le téléchargement de paquets par HTTP."
 "Affiche les informations concernant le téléchargement de paquets par HTTP."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:876
+#: apt.conf.5.xml:888
 msgid "Print information related to downloading packages using HTTPS."
 msgid "Print information related to downloading packages using HTTPS."
 msgstr "Print information related to downloading packages using HTTPS."
 msgstr "Print information related to downloading packages using HTTPS."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:887
+#: apt.conf.5.xml:899
 msgid ""
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
 "<literal>gpg</literal>."
@@ -4875,7 +4885,7 @@ msgstr ""
 "cryptographiques avec <literal>gpg</literal>."
 "cryptographiques avec <literal>gpg</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:898
+#: apt.conf.5.xml:910
 msgid ""
 msgid ""
 "Output information about the process of accessing collections of packages "
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
 "stored on CD-ROMs."
@@ -4884,14 +4894,14 @@ msgstr ""
 "stockées sur CD."
 "stockées sur CD."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:908
+#: apt.conf.5.xml:920
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr ""
 msgstr ""
 "Décrit le processus de résolution des dépendances pour la construction de "
 "Décrit le processus de résolution des dépendances pour la construction de "
 "paquets source ( « build-dependencies » ) par &apt-get;."
 "paquets source ( « build-dependencies » ) par &apt-get;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:918
+#: apt.conf.5.xml:930
 msgid ""
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
 "literal> libraries."
@@ -4900,7 +4910,7 @@ msgstr ""
 "librairies d'<literal>apt</literal>."
 "librairies d'<literal>apt</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:928
+#: apt.conf.5.xml:940
 msgid ""
 msgid ""
 "Do not include information from <literal>statfs</literal>, namely the number "
 "Do not include information from <literal>statfs</literal>, namely the number "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -4911,7 +4921,7 @@ msgstr ""
 "utilisés sur le système de fichier du CD."
 "utilisés sur le système de fichier du CD."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:939
+#: apt.conf.5.xml:951
 msgid ""
 msgid ""
 "Disable all file locking.  For instance, this will allow two instances of "
 "Disable all file locking.  For instance, this will allow two instances of "
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
@@ -4921,14 +4931,14 @@ msgstr ""
 "temps."
 "temps."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:951
+#: apt.conf.5.xml:963
 msgid "Log when items are added to or removed from the global download queue."
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 msgstr ""
 "Trace les ajouts et suppressions d'éléments de la queue globale de "
 "Trace les ajouts et suppressions d'éléments de la queue globale de "
 "téléchargement."
 "téléchargement."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:961
+#: apt.conf.5.xml:973
 msgid ""
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
 "cryptographic signatures of downloaded files."
@@ -4938,7 +4948,7 @@ msgstr ""
 "éventuelles."
 "éventuelles."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:971
+#: apt.conf.5.xml:983
 msgid ""
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
 "and errors relating to package index list diffs."
@@ -4948,7 +4958,7 @@ msgstr ""
 "éventuelles."
 "éventuelles."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:983
+#: apt.conf.5.xml:995
 msgid ""
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
 "index diffs instead of full indices."
@@ -4958,7 +4968,7 @@ msgstr ""
 "place des fichiers complets."
 "place des fichiers complets."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:994
+#: apt.conf.5.xml:1006
 msgid ""
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
 msgstr ""
@@ -4966,7 +4976,7 @@ msgstr ""
 "effectivement des téléchargements."
 "effectivement des téléchargements."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1005
+#: apt.conf.5.xml:1017
 msgid ""
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
 "the removal of unused packages."
@@ -4975,7 +4985,7 @@ msgstr ""
 "automatiquement, et la suppression des paquets inutiles."
 "automatiquement, et la suppression des paquets inutiles."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1015
+#: apt.conf.5.xml:1027
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -4990,7 +5000,7 @@ msgstr ""
 "de APT ; voir <literal>Debug::pkgProblemResolver</literal> pour ce dernier."
 "de APT ; voir <literal>Debug::pkgProblemResolver</literal> pour ce dernier."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1029
+#: apt.conf.5.xml:1041
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -5026,7 +5036,7 @@ msgstr ""
 "de APT ; voir <literal>Debug::pkgProblemResolver</literal> pour ce dernier."
 "de APT ; voir <literal>Debug::pkgProblemResolver</literal> pour ce dernier."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1050
+#: apt.conf.5.xml:1062
 msgid ""
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
 "invoked, with arguments separated by a single space character."
@@ -5035,7 +5045,7 @@ msgstr ""
 "paramètres sont séparés par des espaces."
 "paramètres sont séparés par des espaces."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1061
+#: apt.conf.5.xml:1073
 msgid ""
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
 "any errors encountered while parsing it."
@@ -5045,7 +5055,7 @@ msgstr ""
 "fichier."
 "fichier."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1072
+#: apt.conf.5.xml:1084
 msgid ""
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
 "<literal>apt</literal> should pass packages to &dpkg;."
@@ -5054,18 +5064,18 @@ msgstr ""
 "<literal>apt</literal> passe les paquets à &dpkg;."
 "<literal>apt</literal> passe les paquets à &dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1084
+#: apt.conf.5.xml:1096
 msgid ""
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr "Affiche le détail des opérations liées à l'invocation de &dpkg;."
 msgstr "Affiche le détail des opérations liées à l'invocation de &dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1095
+#: apt.conf.5.xml:1107
 msgid "Output the priority of each package list on startup."
 msgid "Output the priority of each package list on startup."
 msgstr "Affiche, au lancement, la priorité de chaque liste de paquets."
 msgstr "Affiche, au lancement, la priorité de chaque liste de paquets."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1105
+#: apt.conf.5.xml:1117
 msgid ""
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
 "happens when a complex dependency problem is encountered)."
@@ -5074,7 +5084,7 @@ msgstr ""
 "concerne que les cas où un problème de dépendances complexe se présente)."
 "concerne que les cas où un problème de dépendances complexe se présente)."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1116
+#: apt.conf.5.xml:1128
 msgid ""
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -5085,7 +5095,7 @@ msgstr ""
 "est décrite dans <literal>Debug::pkgDepCache::Marker</literal>."
 "est décrite dans <literal>Debug::pkgDepCache::Marker</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1128
+#: apt.conf.5.xml:1140
 msgid ""
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
 "list</filename>."
@@ -5094,13 +5104,13 @@ msgstr ""
 "list</filename>."
 "list</filename>."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1150 apt_preferences.5.xml:545 sources.list.5.xml:211
+#: apt.conf.5.xml:1162 apt_preferences.5.xml:545 sources.list.5.xml:211
 #: apt-ftparchive.1.xml:596
 #: apt-ftparchive.1.xml:596
 msgid "Examples"
 msgid "Examples"
 msgstr "Exemples"
 msgstr "Exemples"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1151
+#: apt.conf.5.xml:1163
 msgid ""
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
 "possible options."
@@ -5110,7 +5120,7 @@ msgstr ""
 
 
 #.  ? reading apt.conf 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1163
+#: apt.conf.5.xml:1175
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 
 

Разлика између датотеке није приказан због своје велике величине
+ 1378 - 1083
doc/po/it.po


+ 83 - 73
doc/po/ja.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.7.25.3\n"
 "Project-Id-Version: apt 0.7.25.3\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2012-08-30 22:07+0300\n"
+"POT-Creation-Date: 2013-04-02 15:13+0300\n"
 "PO-Revision-Date: 2012-08-08 07:58+0900\n"
 "PO-Revision-Date: 2012-08-08 07:58+0900\n"
 "Last-Translator: KURASAWA Nozomu <nabetaro@debian.or.jp>\n"
 "Last-Translator: KURASAWA Nozomu <nabetaro@debian.or.jp>\n"
 "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
 "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
@@ -1530,14 +1530,14 @@ msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
-#: apt.conf.5.xml:1156 apt_preferences.5.xml:698
+#: apt.conf.5.xml:1168 apt_preferences.5.xml:698
 msgid "Files"
 msgid "Files"
 msgstr "ファイル"
 msgstr "ファイル"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
-#: apt.conf.5.xml:1162 apt_preferences.5.xml:705 sources.list.5.xml:252
+#: apt.conf.5.xml:1174 apt_preferences.5.xml:705 sources.list.5.xml:252
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-ftparchive.1.xml:607
 #: apt-ftparchive.1.xml:607
 msgid "See Also"
 msgid "See Also"
@@ -4101,13 +4101,23 @@ msgstr ""
 "Translation ファイルを、リストの最後 (暗黙の \"<literal>none</literal>\" の"
 "Translation ファイルを、リストの最後 (暗黙の \"<literal>none</literal>\" の"
 "後) に追加します。"
 "後) に追加します。"
 
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:559
+msgid "When downloading, force to use only the IPv4 protocol."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:565
+msgid "When downloading, force to use only the IPv6 protocol."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:560
+#: apt.conf.5.xml:572
 msgid "Directories"
 msgid "Directories"
 msgstr "ディレクトリ"
 msgstr "ディレクトリ"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:562
+#: apt.conf.5.xml:574
 msgid ""
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -4126,7 +4136,7 @@ msgstr ""
 "サブアイテムすべてに、前に付加するデフォルトディレクトリを含んでいます。"
 "サブアイテムすべてに、前に付加するデフォルトディレクトリを含んでいます。"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:569
+#: apt.conf.5.xml:581
 msgid ""
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -4147,7 +4157,7 @@ msgstr ""
 "様、<literal>Dir::Cache</literal> はデフォルトディレクトリを含んでいます。"
 "様、<literal>Dir::Cache</literal> はデフォルトディレクトリを含んでいます。"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:578
+#: apt.conf.5.xml:590
 msgid ""
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -4161,7 +4171,7 @@ msgstr ""
 "ファイルを指定された場合のみ、この設定の効果があります)"
 "ファイルを指定された場合のみ、この設定の効果があります)"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:584
+#: apt.conf.5.xml:596
 msgid ""
 msgid ""
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "in lexical order from the directory specified. After this is done then the "
 "in lexical order from the directory specified. After this is done then the "
@@ -4172,7 +4182,7 @@ msgstr ""
 "します。"
 "します。"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:588
+#: apt.conf.5.xml:600
 msgid ""
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -4189,7 +4199,7 @@ msgstr ""
 "プログラムの場所を指定します。"
 "プログラムの場所を指定します。"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:596
+#: apt.conf.5.xml:608
 msgid ""
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -4209,7 +4219,7 @@ msgstr ""
 "<filename>/tmp/staging/var/lib/dpkg/status</filename> から探します。"
 "<filename>/tmp/staging/var/lib/dpkg/status</filename> から探します。"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:609
+#: apt.conf.5.xml:621
 msgid ""
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
 "which files APT should silently ignore while parsing the files in the "
@@ -4225,12 +4235,12 @@ msgstr ""
 "フォルト値を見ればわかる通り、このパターンには正規表現を使用できます。"
 "フォルト値を見ればわかる通り、このパターンには正規表現を使用できます。"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:618
+#: apt.conf.5.xml:630
 msgid "APT in DSelect"
 msgid "APT in DSelect"
 msgstr "DSelect での APT"
 msgstr "DSelect での APT"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:620
+#: apt.conf.5.xml:632
 msgid ""
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -4241,7 +4251,7 @@ msgstr ""
 "ます。"
 "ます。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:625
+#: apt.conf.5.xml:637
 msgid ""
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -4262,7 +4272,7 @@ msgstr ""
 "パッケージをダウンロードする直前に行います。"
 "パッケージをダウンロードする直前に行います。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:639
+#: apt.conf.5.xml:651
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
 "options when it is run for the install phase."
@@ -4271,7 +4281,7 @@ msgstr ""
 "されます。"
 "されます。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:644
+#: apt.conf.5.xml:656
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
 "options when it is run for the update phase."
@@ -4280,7 +4290,7 @@ msgstr ""
 "されます。"
 "されます。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:649
+#: apt.conf.5.xml:661
 msgid ""
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
 "The default is to prompt only on error."
@@ -4289,12 +4299,12 @@ msgstr ""
 "します。デフォルトはエラーが発生した場合のみです。"
 "します。デフォルトはエラーが発生した場合のみです。"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:655
+#: apt.conf.5.xml:667
 msgid "How APT calls &dpkg;"
 msgid "How APT calls &dpkg;"
 msgstr "APT が &dpkg; を呼ぶ方法"
 msgstr "APT が &dpkg; を呼ぶ方法"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:656
+#: apt.conf.5.xml:668
 msgid ""
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
 "in the <literal>DPkg</literal> section."
@@ -4303,7 +4313,7 @@ msgstr ""
 "<literal>DPkg</literal> セクションにあります。"
 "<literal>DPkg</literal> セクションにあります。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:661
+#: apt.conf.5.xml:673
 msgid ""
 msgid ""
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "using the list notation and each list item is passed as a single argument to "
 "using the list notation and each list item is passed as a single argument to "
@@ -4313,7 +4323,7 @@ msgstr ""
 "なければなりません。また、各リストは単一の引数として &dpkg; に渡されます。"
 "なければなりません。また、各リストは単一の引数として &dpkg; に渡されます。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:667
+#: apt.conf.5.xml:679
 msgid ""
 msgid ""
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4325,7 +4335,7 @@ msgstr ""
 "bin/sh</filename> を通して呼び出され、何か問題があれば APT が異常終了します。"
 "bin/sh</filename> を通して呼び出され、何か問題があれば APT が異常終了します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:674
+#: apt.conf.5.xml:686
 msgid ""
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4340,7 +4350,7 @@ msgstr ""
 "マンドの標準入力に送ります。"
 "マンドの標準入力に送ります。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:680
+#: apt.conf.5.xml:692
 msgid ""
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
 "version, the APT configuration space and the packages, files and versions "
@@ -4355,7 +4365,7 @@ msgstr ""
 "Install-Pkgs</literal> で与えられるコマンドです。"
 "Install-Pkgs</literal> で与えられるコマンドです。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:700
 msgid ""
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
 "<filename>/</filename>."
@@ -4364,7 +4374,7 @@ msgstr ""
 "<filename>/</filename> です。"
 "<filename>/</filename> です。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:693
+#: apt.conf.5.xml:705
 msgid ""
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
 "default is to disable signing and produce all binaries."
@@ -4373,12 +4383,12 @@ msgstr ""
 "ます。デフォルトでは署名を無効にし、全バイナリを生成します。"
 "ます。デフォルトでは署名を無効にし、全バイナリを生成します。"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:698
+#: apt.conf.5.xml:710
 msgid "dpkg trigger usage (and related options)"
 msgid "dpkg trigger usage (and related options)"
 msgstr "dpkg トリガの使い方 (および関連オプション)"
 msgstr "dpkg トリガの使い方 (および関連オプション)"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:699
+#: apt.conf.5.xml:711
 msgid ""
 msgid ""
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
@@ -4402,7 +4412,7 @@ msgstr ""
 "(もしくはそれ以上) の時間 100% のままとなり、進捗レポートを壊してしまいます。"
 "(もしくはそれ以上) の時間 100% のままとなり、進捗レポートを壊してしまいます。"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:726
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
 "DPkg::NoTriggers \"true\";\n"
@@ -4416,7 +4426,7 @@ msgstr ""
 "DPkg::TriggersPending \"true\";"
 "DPkg::TriggersPending \"true\";"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:708
+#: apt.conf.5.xml:720
 msgid ""
 msgid ""
 "Note that it is not guaranteed that APT will support these options or that "
 "Note that it is not guaranteed that APT will support these options or that "
 "these options will not cause (big) trouble in the future. If you have "
 "these options will not cause (big) trouble in the future. If you have "
@@ -4439,7 +4449,7 @@ msgstr ""
 "\"0\"/>"
 "\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:721
+#: apt.conf.5.xml:733
 msgid ""
 msgid ""
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "call).  See &dpkg; if you are interested in what this actually means. In "
 "call).  See &dpkg; if you are interested in what this actually means. In "
@@ -4459,7 +4469,7 @@ msgstr ""
 "在 APT は、このフラグを、展開呼び出しや削除呼び出しにも追加します。"
 "在 APT は、このフラグを、展開呼び出しや削除呼び出しにも追加します。"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:729
+#: apt.conf.5.xml:741
 msgid ""
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -4486,7 +4496,7 @@ msgstr ""
 "能性があるからです。"
 "能性があるからです。"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:744
+#: apt.conf.5.xml:756
 msgid ""
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -4503,7 +4513,7 @@ msgstr ""
 "では、最後以外のすべての実行で、無効にできます。"
 "では、最後以外のすべての実行で、無効にできます。"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:751
+#: apt.conf.5.xml:763
 msgid ""
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -4518,7 +4528,7 @@ msgstr ""
 "ことに注意してください。"
 "ことに注意してください。"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:764
+#: apt.conf.5.xml:776
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "OrderList::Score {\n"
 "OrderList::Score {\n"
@@ -4536,7 +4546,7 @@ msgstr ""
 "};"
 "};"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:757
+#: apt.conf.5.xml:769
 msgid ""
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -4559,12 +4569,12 @@ msgstr ""
 "\"literallayout\" id=\"0\"/>"
 "\"literallayout\" id=\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:789
 msgid "Periodic and Archives options"
 msgid "Periodic and Archives options"
 msgstr "Periodic オプションと Archives オプション"
 msgstr "Periodic オプションと Archives オプション"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:778
+#: apt.conf.5.xml:790
 msgid ""
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -4577,12 +4587,12 @@ msgstr ""
 "トは、このスクリプトの先頭を参照してください。"
 "トは、このスクリプトの先頭を参照してください。"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:786
+#: apt.conf.5.xml:798
 msgid "Debug options"
 msgid "Debug options"
 msgstr "デバッグオプション"
 msgstr "デバッグオプション"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:788
+#: apt.conf.5.xml:800
 msgid ""
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
 "debugging information to be sent to the standard error stream of the program "
@@ -4598,7 +4608,7 @@ msgstr ""
 "のオプションは興味がないでしょうが、以下のものは興味を引くかもしれません。"
 "のオプションは興味がないでしょうが、以下のものは興味を引くかもしれません。"
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:811
 msgid ""
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -4609,7 +4619,7 @@ msgstr ""
 "にします。"
 "にします。"
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:807
+#: apt.conf.5.xml:819
 msgid ""
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -4620,7 +4630,7 @@ msgstr ""
 "literal>) を行う場合に使用します。"
 "literal>) を行う場合に使用します。"
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:816
+#: apt.conf.5.xml:828
 msgid ""
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -4632,7 +4642,7 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:824
+#: apt.conf.5.xml:836
 msgid ""
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "in CD-ROM IDs."
 "in CD-ROM IDs."
@@ -4641,34 +4651,34 @@ msgstr ""
 "ないようにします。"
 "ないようにします。"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:846
 msgid "A full list of debugging options to apt follows."
 msgid "A full list of debugging options to apt follows."
 msgstr "以下は apt に対するデバッグオプションのすべてです。"
 msgstr "以下は apt に対するデバッグオプションのすべてです。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:843
+#: apt.conf.5.xml:855
 msgid ""
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
 msgstr ""
 "<literal>cdrom://</literal> ソースへのアクセスに関する情報を出力します。"
 "<literal>cdrom://</literal> ソースへのアクセスに関する情報を出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:854
+#: apt.conf.5.xml:866
 msgid "Print information related to downloading packages using FTP."
 msgid "Print information related to downloading packages using FTP."
 msgstr "FTP を用いたパッケージのダウンロードに関する情報を出力します。"
 msgstr "FTP を用いたパッケージのダウンロードに関する情報を出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:865
+#: apt.conf.5.xml:877
 msgid "Print information related to downloading packages using HTTP."
 msgid "Print information related to downloading packages using HTTP."
 msgstr "HTTP を用いたパッケージのダウンロードに関する情報を出力します。"
 msgstr "HTTP を用いたパッケージのダウンロードに関する情報を出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:876
+#: apt.conf.5.xml:888
 msgid "Print information related to downloading packages using HTTPS."
 msgid "Print information related to downloading packages using HTTPS."
 msgstr "HTTPS を用いたパッケージのダウンロードに関する情報を出力します。"
 msgstr "HTTPS を用いたパッケージのダウンロードに関する情報を出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:887
+#: apt.conf.5.xml:899
 msgid ""
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
 "<literal>gpg</literal>."
@@ -4676,7 +4686,7 @@ msgstr ""
 "<literal>gpg</literal> を用いた暗号署名の検証に関する情報を出力します。"
 "<literal>gpg</literal> を用いた暗号署名の検証に関する情報を出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:898
+#: apt.conf.5.xml:910
 msgid ""
 msgid ""
 "Output information about the process of accessing collections of packages "
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
 "stored on CD-ROMs."
@@ -4685,12 +4695,12 @@ msgstr ""
 "します。"
 "します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:908
+#: apt.conf.5.xml:920
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr "&apt-get; での構築依存関係解決のプロセスを説明します。"
 msgstr "&apt-get; での構築依存関係解決のプロセスを説明します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:918
+#: apt.conf.5.xml:930
 msgid ""
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
 "literal> libraries."
@@ -4698,7 +4708,7 @@ msgstr ""
 "<literal>apt</literal> ライブラリが生成した、暗号化ハッシュを出力します。"
 "<literal>apt</literal> ライブラリが生成した、暗号化ハッシュを出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:928
+#: apt.conf.5.xml:940
 msgid ""
 msgid ""
 "Do not include information from <literal>statfs</literal>, namely the number "
 "Do not include information from <literal>statfs</literal>, namely the number "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -4708,7 +4718,7 @@ msgstr ""
 "システムにある使用済・未使用ブロックの数からの情報を含めないようにします。"
 "システムにある使用済・未使用ブロックの数からの情報を含めないようにします。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:939
+#: apt.conf.5.xml:951
 msgid ""
 msgid ""
 "Disable all file locking.  For instance, this will allow two instances of "
 "Disable all file locking.  For instance, this will allow two instances of "
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
@@ -4717,13 +4727,13 @@ msgstr ""
 "<quote><literal>apt-get update</literal></quote> を実行できるようになります。"
 "<quote><literal>apt-get update</literal></quote> を実行できるようになります。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:951
+#: apt.conf.5.xml:963
 msgid "Log when items are added to or removed from the global download queue."
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 msgstr ""
 "グローバルダウンロードキューに対する項目の追加・削除の際にログを出力します。"
 "グローバルダウンロードキューに対する項目の追加・削除の際にログを出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:961
+#: apt.conf.5.xml:973
 msgid ""
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
 "cryptographic signatures of downloaded files."
@@ -4732,7 +4742,7 @@ msgstr ""
 "ジやエラーを出力します。"
 "ジやエラーを出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:971
+#: apt.conf.5.xml:983
 msgid ""
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
 "and errors relating to package index list diffs."
@@ -4741,7 +4751,7 @@ msgstr ""
 "します。"
 "します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:983
+#: apt.conf.5.xml:995
 msgid ""
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
 "index diffs instead of full indices."
@@ -4750,14 +4760,14 @@ msgstr ""
 "リストへのパッチ適用に関する情報を出力します。"
 "リストへのパッチ適用に関する情報を出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:994
+#: apt.conf.5.xml:1006
 msgid ""
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
 msgstr ""
 "実際のダウンロードを行う際の、サブプロセスとのやりとりをログに出力します。"
 "実際のダウンロードを行う際の、サブプロセスとのやりとりをログに出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1005
+#: apt.conf.5.xml:1017
 msgid ""
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
 "the removal of unused packages."
@@ -4766,7 +4776,7 @@ msgstr ""
 "に出力します。"
 "に出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1015
+#: apt.conf.5.xml:1027
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -4781,7 +4791,7 @@ msgstr ""
 "路に対応しています。"
 "路に対応しています。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1029
+#: apt.conf.5.xml:1041
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -4810,7 +4820,7 @@ msgstr ""
 "ます。<literal>section</literal> はパッケージが現れるセクション名です。"
 "ます。<literal>section</literal> はパッケージが現れるセクション名です。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1050
+#: apt.conf.5.xml:1062
 msgid ""
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
 "invoked, with arguments separated by a single space character."
@@ -4819,7 +4829,7 @@ msgstr ""
 "切られます。"
 "切られます。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1061
+#: apt.conf.5.xml:1073
 msgid ""
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
 "any errors encountered while parsing it."
@@ -4828,7 +4838,7 @@ msgstr ""
 "を解析中に発生したエラーを出力します。"
 "を解析中に発生したエラーを出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1072
+#: apt.conf.5.xml:1084
 msgid ""
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
 "<literal>apt</literal> should pass packages to &dpkg;."
@@ -4837,18 +4847,18 @@ msgstr ""
 "のトレースを生成します。"
 "のトレースを生成します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1084
+#: apt.conf.5.xml:1096
 msgid ""
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr "&dpkg; を呼び出す際に、実行手順を追跡した状態メッセージを出力します。"
 msgstr "&dpkg; を呼び出す際に、実行手順を追跡した状態メッセージを出力します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1095
+#: apt.conf.5.xml:1107
 msgid "Output the priority of each package list on startup."
 msgid "Output the priority of each package list on startup."
 msgstr "起動時の各パッケージの優先度を表示します。"
 msgstr "起動時の各パッケージの優先度を表示します。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1105
+#: apt.conf.5.xml:1117
 msgid ""
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
 "happens when a complex dependency problem is encountered)."
@@ -4857,7 +4867,7 @@ msgstr ""
 "した場合にのみ、適用されます)。"
 "した場合にのみ、適用されます)。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1116
+#: apt.conf.5.xml:1128
 msgid ""
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -4868,7 +4878,7 @@ msgstr ""
 "説明したものと同じです。"
 "説明したものと同じです。"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1128
+#: apt.conf.5.xml:1140
 msgid ""
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
 "list</filename>."
@@ -4877,13 +4887,13 @@ msgstr ""
 "します。"
 "します。"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1150 apt_preferences.5.xml:545 sources.list.5.xml:211
+#: apt.conf.5.xml:1162 apt_preferences.5.xml:545 sources.list.5.xml:211
 #: apt-ftparchive.1.xml:596
 #: apt-ftparchive.1.xml:596
 msgid "Examples"
 msgid "Examples"
 msgstr "サンプル"
 msgstr "サンプル"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1151
+#: apt.conf.5.xml:1163
 msgid ""
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
 "possible options."
@@ -4893,7 +4903,7 @@ msgstr ""
 
 
 #.  ? reading apt.conf 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1163
+#: apt.conf.5.xml:1175
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 
 

+ 83 - 73
doc/po/pl.po

@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.9.7.3\n"
 "Project-Id-Version: apt 0.9.7.3\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2012-08-30 12:50+0300\n"
+"POT-Creation-Date: 2013-04-02 15:13+0300\n"
 "PO-Revision-Date: 2012-07-28 21:59+0200\n"
 "PO-Revision-Date: 2012-07-28 21:59+0200\n"
 "Last-Translator: Robert Luberda <robert@debian.org>\n"
 "Last-Translator: Robert Luberda <robert@debian.org>\n"
 "Language-Team: Polish <manpages-pl-list@lists.sourceforge.net>\n"
 "Language-Team: Polish <manpages-pl-list@lists.sourceforge.net>\n"
@@ -1613,14 +1613,14 @@ msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
-#: apt.conf.5.xml:1156 apt_preferences.5.xml:698
+#: apt.conf.5.xml:1168 apt_preferences.5.xml:698
 msgid "Files"
 msgid "Files"
 msgstr "Pliki"
 msgstr "Pliki"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
-#: apt.conf.5.xml:1162 apt_preferences.5.xml:705 sources.list.5.xml:252
+#: apt.conf.5.xml:1174 apt_preferences.5.xml:705 sources.list.5.xml:252
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-ftparchive.1.xml:607
 #: apt-ftparchive.1.xml:607
 msgid "See Also"
 msgid "See Also"
@@ -3981,13 +3981,23 @@ msgid ""
 "added to the end of the list (after an implicit \"<literal>none</literal>\")."
 "added to the end of the list (after an implicit \"<literal>none</literal>\")."
 msgstr ""
 msgstr ""
 
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:559
+msgid "When downloading, force to use only the IPv4 protocol."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:565
+msgid "When downloading, force to use only the IPv6 protocol."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:560
+#: apt.conf.5.xml:572
 msgid "Directories"
 msgid "Directories"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:562
+#: apt.conf.5.xml:574
 msgid ""
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -3999,7 +4009,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:569
+#: apt.conf.5.xml:581
 msgid ""
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -4012,7 +4022,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:578
+#: apt.conf.5.xml:590
 msgid ""
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -4022,7 +4032,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:584
+#: apt.conf.5.xml:596
 msgid ""
 msgid ""
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "in lexical order from the directory specified. After this is done then the "
 "in lexical order from the directory specified. After this is done then the "
@@ -4030,7 +4040,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:588
+#: apt.conf.5.xml:600
 msgid ""
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -4041,7 +4051,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:596
+#: apt.conf.5.xml:608
 msgid ""
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -4054,7 +4064,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:609
+#: apt.conf.5.xml:621
 msgid ""
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
 "which files APT should silently ignore while parsing the files in the "
@@ -4065,12 +4075,12 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:618
+#: apt.conf.5.xml:630
 msgid "APT in DSelect"
 msgid "APT in DSelect"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:620
+#: apt.conf.5.xml:632
 msgid ""
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -4078,7 +4088,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:625
+#: apt.conf.5.xml:637
 msgid ""
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -4091,40 +4101,40 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:639
+#: apt.conf.5.xml:651
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
 "options when it is run for the install phase."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:644
+#: apt.conf.5.xml:656
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
 "options when it is run for the update phase."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:649
+#: apt.conf.5.xml:661
 msgid ""
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
 "The default is to prompt only on error."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:655
+#: apt.conf.5.xml:667
 msgid "How APT calls &dpkg;"
 msgid "How APT calls &dpkg;"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:656
+#: apt.conf.5.xml:668
 msgid ""
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
 "in the <literal>DPkg</literal> section."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:661
+#: apt.conf.5.xml:673
 msgid ""
 msgid ""
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "using the list notation and each list item is passed as a single argument to "
 "using the list notation and each list item is passed as a single argument to "
@@ -4132,7 +4142,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:667
+#: apt.conf.5.xml:679
 msgid ""
 msgid ""
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4141,7 +4151,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:674
+#: apt.conf.5.xml:686
 msgid ""
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4151,7 +4161,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:680
+#: apt.conf.5.xml:692
 msgid ""
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
 "version, the APT configuration space and the packages, files and versions "
@@ -4161,26 +4171,26 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:700
 msgid ""
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
 "<filename>/</filename>."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:693
+#: apt.conf.5.xml:705
 msgid ""
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
 "default is to disable signing and produce all binaries."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:698
+#: apt.conf.5.xml:710
 msgid "dpkg trigger usage (and related options)"
 msgid "dpkg trigger usage (and related options)"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:699
+#: apt.conf.5.xml:711
 msgid ""
 msgid ""
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
@@ -4195,7 +4205,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:726
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
 "DPkg::NoTriggers \"true\";\n"
@@ -4209,7 +4219,7 @@ msgstr ""
 "DPkg::TriggersPending \"true\";"
 "DPkg::TriggersPending \"true\";"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:708
+#: apt.conf.5.xml:720
 msgid ""
 msgid ""
 "Note that it is not guaranteed that APT will support these options or that "
 "Note that it is not guaranteed that APT will support these options or that "
 "these options will not cause (big) trouble in the future. If you have "
 "these options will not cause (big) trouble in the future. If you have "
@@ -4223,7 +4233,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:721
+#: apt.conf.5.xml:733
 msgid ""
 msgid ""
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "call).  See &dpkg; if you are interested in what this actually means. In "
 "call).  See &dpkg; if you are interested in what this actually means. In "
@@ -4236,7 +4246,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:729
+#: apt.conf.5.xml:741
 msgid ""
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -4253,7 +4263,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:744
+#: apt.conf.5.xml:756
 msgid ""
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -4264,7 +4274,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:751
+#: apt.conf.5.xml:763
 msgid ""
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -4274,7 +4284,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:764
+#: apt.conf.5.xml:776
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "OrderList::Score {\n"
 "OrderList::Score {\n"
@@ -4292,7 +4302,7 @@ msgstr ""
 "};"
 "};"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:757
+#: apt.conf.5.xml:769
 msgid ""
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -4306,12 +4316,12 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:789
 msgid "Periodic and Archives options"
 msgid "Periodic and Archives options"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:778
+#: apt.conf.5.xml:790
 msgid ""
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -4320,13 +4330,13 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:786
+#: apt.conf.5.xml:798
 #, fuzzy
 #, fuzzy
 msgid "Debug options"
 msgid "Debug options"
 msgstr "opcje"
 msgstr "opcje"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:788
+#: apt.conf.5.xml:800
 msgid ""
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
 "debugging information to be sent to the standard error stream of the program "
@@ -4337,7 +4347,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:811
 msgid ""
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -4345,7 +4355,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:807
+#: apt.conf.5.xml:819
 msgid ""
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -4353,7 +4363,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:816
+#: apt.conf.5.xml:828
 msgid ""
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -4363,7 +4373,7 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:824
+#: apt.conf.5.xml:836
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
@@ -4373,59 +4383,59 @@ msgstr ""
 "in CDROM IDs."
 "in CDROM IDs."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:846
 msgid "A full list of debugging options to apt follows."
 msgid "A full list of debugging options to apt follows."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:843
+#: apt.conf.5.xml:855
 msgid ""
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:854
+#: apt.conf.5.xml:866
 msgid "Print information related to downloading packages using FTP."
 msgid "Print information related to downloading packages using FTP."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:865
+#: apt.conf.5.xml:877
 msgid "Print information related to downloading packages using HTTP."
 msgid "Print information related to downloading packages using HTTP."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:876
+#: apt.conf.5.xml:888
 msgid "Print information related to downloading packages using HTTPS."
 msgid "Print information related to downloading packages using HTTPS."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:887
+#: apt.conf.5.xml:899
 msgid ""
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
 "<literal>gpg</literal>."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:898
+#: apt.conf.5.xml:910
 msgid ""
 msgid ""
 "Output information about the process of accessing collections of packages "
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
 "stored on CD-ROMs."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:908
+#: apt.conf.5.xml:920
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:918
+#: apt.conf.5.xml:930
 msgid ""
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
 "literal> libraries."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:928
+#: apt.conf.5.xml:940
 msgid ""
 msgid ""
 "Do not include information from <literal>statfs</literal>, namely the number "
 "Do not include information from <literal>statfs</literal>, namely the number "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -4433,53 +4443,53 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:939
+#: apt.conf.5.xml:951
 msgid ""
 msgid ""
 "Disable all file locking.  For instance, this will allow two instances of "
 "Disable all file locking.  For instance, this will allow two instances of "
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:951
+#: apt.conf.5.xml:963
 msgid "Log when items are added to or removed from the global download queue."
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:961
+#: apt.conf.5.xml:973
 msgid ""
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
 "cryptographic signatures of downloaded files."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:971
+#: apt.conf.5.xml:983
 msgid ""
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
 "and errors relating to package index list diffs."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:983
+#: apt.conf.5.xml:995
 msgid ""
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
 "index diffs instead of full indices."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:994
+#: apt.conf.5.xml:1006
 msgid ""
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1005
+#: apt.conf.5.xml:1017
 msgid ""
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
 "the removal of unused packages."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1015
+#: apt.conf.5.xml:1027
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -4489,7 +4499,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1029
+#: apt.conf.5.xml:1041
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -4507,46 +4517,46 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1050
+#: apt.conf.5.xml:1062
 msgid ""
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
 "invoked, with arguments separated by a single space character."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1061
+#: apt.conf.5.xml:1073
 msgid ""
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
 "any errors encountered while parsing it."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1072
+#: apt.conf.5.xml:1084
 msgid ""
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
 "<literal>apt</literal> should pass packages to &dpkg;."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1084
+#: apt.conf.5.xml:1096
 msgid ""
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1095
+#: apt.conf.5.xml:1107
 msgid "Output the priority of each package list on startup."
 msgid "Output the priority of each package list on startup."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1105
+#: apt.conf.5.xml:1117
 msgid ""
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
 "happens when a complex dependency problem is encountered)."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1116
+#: apt.conf.5.xml:1128
 msgid ""
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -4554,20 +4564,20 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1128
+#: apt.conf.5.xml:1140
 msgid ""
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
 "list</filename>."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1150 apt_preferences.5.xml:545 sources.list.5.xml:211
+#: apt.conf.5.xml:1162 apt_preferences.5.xml:545 sources.list.5.xml:211
 #: apt-ftparchive.1.xml:596
 #: apt-ftparchive.1.xml:596
 msgid "Examples"
 msgid "Examples"
 msgstr "Przykłady"
 msgstr "Przykłady"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1151
+#: apt.conf.5.xml:1163
 msgid ""
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
 "possible options."
@@ -4575,7 +4585,7 @@ msgstr ""
 
 
 #.  ? reading apt.conf 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1163
+#: apt.conf.5.xml:1175
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 
 

+ 83 - 73
doc/po/pt.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.9.7.1\n"
 "Project-Id-Version: apt 0.9.7.1\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2012-08-30 22:07+0300\n"
+"POT-Creation-Date: 2013-04-02 15:13+0300\n"
 "PO-Revision-Date: 2012-09-03 01:53+0100\n"
 "PO-Revision-Date: 2012-09-03 01:53+0100\n"
 "Last-Translator: Américo Monteiro <a_monteiro@netcabo.pt>\n"
 "Last-Translator: Américo Monteiro <a_monteiro@netcabo.pt>\n"
 "Language-Team: Portuguese <l10n@debianpt.org>\n"
 "Language-Team: Portuguese <l10n@debianpt.org>\n"
@@ -1566,14 +1566,14 @@ msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
-#: apt.conf.5.xml:1156 apt_preferences.5.xml:698
+#: apt.conf.5.xml:1168 apt_preferences.5.xml:698
 msgid "Files"
 msgid "Files"
 msgstr "Ficheiros"
 msgstr "Ficheiros"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
-#: apt.conf.5.xml:1162 apt_preferences.5.xml:705 sources.list.5.xml:252
+#: apt.conf.5.xml:1174 apt_preferences.5.xml:705 sources.list.5.xml:252
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-ftparchive.1.xml:607
 #: apt-ftparchive.1.xml:607
 msgid "See Also"
 msgid "See Also"
@@ -4243,13 +4243,23 @@ msgstr ""
 "filename> serão adicionados ao final da lista (após um \"<literal>none</"
 "filename> serão adicionados ao final da lista (após um \"<literal>none</"
 "literal>\" implícito)."
 "literal>\" implícito)."
 
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:559
+msgid "When downloading, force to use only the IPv4 protocol."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:565
+msgid "When downloading, force to use only the IPv6 protocol."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:560
+#: apt.conf.5.xml:572
 msgid "Directories"
 msgid "Directories"
 msgstr "Directórios"
 msgstr "Directórios"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:562
+#: apt.conf.5.xml:574
 msgid ""
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -4268,7 +4278,7 @@ msgstr ""
 "items que não começam com <filename>/</filename> ou <filename>./</filename>."
 "items que não começam com <filename>/</filename> ou <filename>./</filename>."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:569
+#: apt.conf.5.xml:581
 msgid ""
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -4290,7 +4300,7 @@ msgstr ""
 "literal>"
 "literal>"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:578
+#: apt.conf.5.xml:590
 msgid ""
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -4305,7 +4315,7 @@ msgstr ""
 "ficheiro de configuração especificado por <envar>APT_CONFIG</envar>)."
 "ficheiro de configuração especificado por <envar>APT_CONFIG</envar>)."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:584
+#: apt.conf.5.xml:596
 msgid ""
 msgid ""
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "in lexical order from the directory specified. After this is done then the "
 "in lexical order from the directory specified. After this is done then the "
@@ -4316,7 +4326,7 @@ msgstr ""
 "estar feito então é carregado o ficheiro de configuração principal."
 "estar feito então é carregado o ficheiro de configuração principal."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:588
+#: apt.conf.5.xml:600
 msgid ""
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -4334,7 +4344,7 @@ msgstr ""
 "respectivos programas."
 "respectivos programas."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:596
+#: apt.conf.5.xml:608
 msgid ""
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -4355,7 +4365,7 @@ msgstr ""
 "procurado em <filename>/tmp/staging/var/lib/dpkg/status</filename>."
 "procurado em <filename>/tmp/staging/var/lib/dpkg/status</filename>."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:609
+#: apt.conf.5.xml:621
 msgid ""
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
 "which files APT should silently ignore while parsing the files in the "
@@ -4373,12 +4383,12 @@ msgstr ""
 "expressão regular."
 "expressão regular."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:618
+#: apt.conf.5.xml:630
 msgid "APT in DSelect"
 msgid "APT in DSelect"
 msgstr "APT em DSelect"
 msgstr "APT em DSelect"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:620
+#: apt.conf.5.xml:632
 msgid ""
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -4389,7 +4399,7 @@ msgstr ""
 "<literal>DSelect</literal>."
 "<literal>DSelect</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:625
+#: apt.conf.5.xml:637
 msgid ""
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -4411,7 +4421,7 @@ msgstr ""
 "pacotes."
 "pacotes."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:639
+#: apt.conf.5.xml:651
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
 "options when it is run for the install phase."
@@ -4420,7 +4430,7 @@ msgstr ""
 "comandos quando é corrido para a fase de instalação."
 "comandos quando é corrido para a fase de instalação."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:644
+#: apt.conf.5.xml:656
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
 "options when it is run for the update phase."
@@ -4429,7 +4439,7 @@ msgstr ""
 "comandos quando é executado para a fase de actualização."
 "comandos quando é executado para a fase de actualização."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:649
+#: apt.conf.5.xml:661
 msgid ""
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
 "The default is to prompt only on error."
@@ -4438,12 +4448,12 @@ msgstr ""
 "continuar. A predefinição é avisar apenas em caso de erro."
 "continuar. A predefinição é avisar apenas em caso de erro."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:655
+#: apt.conf.5.xml:667
 msgid "How APT calls &dpkg;"
 msgid "How APT calls &dpkg;"
 msgstr "Como o APT chama o &dpkg;"
 msgstr "Como o APT chama o &dpkg;"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:656
+#: apt.conf.5.xml:668
 msgid ""
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
 "in the <literal>DPkg</literal> section."
@@ -4452,7 +4462,7 @@ msgstr ""
 "&dpkg;. Estas estão na secção <literal>DPkg</literal>."
 "&dpkg;. Estas estão na secção <literal>DPkg</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:661
+#: apt.conf.5.xml:673
 msgid ""
 msgid ""
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "using the list notation and each list item is passed as a single argument to "
 "using the list notation and each list item is passed as a single argument to "
@@ -4463,7 +4473,7 @@ msgstr ""
 "um argumento único ao &dpkg;."
 "um argumento único ao &dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:667
+#: apt.conf.5.xml:679
 msgid ""
 msgid ""
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4476,7 +4486,7 @@ msgstr ""
 "bin/sh</filename>, caso algum deles falhe, o APT irá abortar."
 "bin/sh</filename>, caso algum deles falhe, o APT irá abortar."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:674
+#: apt.conf.5.xml:686
 msgid ""
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4492,7 +4502,7 @@ msgstr ""
 "instalar, um por cada linha na entrada standard."
 "instalar, um por cada linha na entrada standard."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:680
+#: apt.conf.5.xml:692
 msgid ""
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
 "version, the APT configuration space and the packages, files and versions "
@@ -4507,7 +4517,7 @@ msgstr ""
 "dado ao <literal>Pre-Install-Pkgs</literal>."
 "dado ao <literal>Pre-Install-Pkgs</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:700
 msgid ""
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
 "<filename>/</filename>."
@@ -4516,7 +4526,7 @@ msgstr ""
 "predefinição é <filename>/</filename>."
 "predefinição é <filename>/</filename>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:693
+#: apt.conf.5.xml:705
 msgid ""
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
 "default is to disable signing and produce all binaries."
@@ -4525,12 +4535,12 @@ msgstr ""
 "predefinição é desactivar a assinatura e produzir todos os binários."
 "predefinição é desactivar a assinatura e produzir todos os binários."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:698
+#: apt.conf.5.xml:710
 msgid "dpkg trigger usage (and related options)"
 msgid "dpkg trigger usage (and related options)"
 msgstr "Utilização trigger do dpkg (e opções relacionadas)"
 msgstr "Utilização trigger do dpkg (e opções relacionadas)"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:699
+#: apt.conf.5.xml:711
 msgid ""
 msgid ""
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
@@ -4556,7 +4566,7 @@ msgstr ""
 "100% enquanto na realidade está a configurar todos os pacotes."
 "100% enquanto na realidade está a configurar todos os pacotes."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:726
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
 "DPkg::NoTriggers \"true\";\n"
@@ -4570,7 +4580,7 @@ msgstr ""
 "DPkg::TriggersPending \"true\";"
 "DPkg::TriggersPending \"true\";"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:708
+#: apt.conf.5.xml:720
 msgid ""
 msgid ""
 "Note that it is not guaranteed that APT will support these options or that "
 "Note that it is not guaranteed that APT will support these options or that "
 "these options will not cause (big) trouble in the future. If you have "
 "these options will not cause (big) trouble in the future. If you have "
@@ -4594,7 +4604,7 @@ msgstr ""
 "\"0\"/>"
 "\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:721
+#: apt.conf.5.xml:733
 msgid ""
 msgid ""
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "call).  See &dpkg; if you are interested in what this actually means. In "
 "call).  See &dpkg; if you are interested in what this actually means. In "
@@ -4616,7 +4626,7 @@ msgstr ""
 "chamadas unpack e remove."
 "chamadas unpack e remove."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:729
+#: apt.conf.5.xml:741
 msgid ""
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -4646,7 +4656,7 @@ msgstr ""
 "arrancar."
 "arrancar."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:744
+#: apt.conf.5.xml:756
 msgid ""
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -4664,7 +4674,7 @@ msgstr ""
 "esta opção em todas excepto na última execução."
 "esta opção em todas excepto na última execução."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:751
+#: apt.conf.5.xml:763
 msgid ""
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -4680,7 +4690,7 @@ msgstr ""
 "configurar este pacote."
 "configurar este pacote."
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:764
+#: apt.conf.5.xml:776
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "OrderList::Score {\n"
 "OrderList::Score {\n"
@@ -4698,7 +4708,7 @@ msgstr ""
 "};"
 "};"
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:757
+#: apt.conf.5.xml:769
 msgid ""
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -4722,12 +4732,12 @@ msgstr ""
 "predefinidos. <placeholder type=\"literallayout\" id=\"0\"/>"
 "predefinidos. <placeholder type=\"literallayout\" id=\"0\"/>"
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:789
 msgid "Periodic and Archives options"
 msgid "Periodic and Archives options"
 msgstr "Opções Periodic e Archives"
 msgstr "Opções Periodic e Archives"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:778
+#: apt.conf.5.xml:790
 msgid ""
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -4740,12 +4750,12 @@ msgstr ""
 "Veja o cabeçalho deste script para uma breve documentação das suas opções."
 "Veja o cabeçalho deste script para uma breve documentação das suas opções."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:786
+#: apt.conf.5.xml:798
 msgid "Debug options"
 msgid "Debug options"
 msgstr "Opções de depuração"
 msgstr "Opções de depuração"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:788
+#: apt.conf.5.xml:800
 msgid ""
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
 "debugging information to be sent to the standard error stream of the program "
@@ -4762,7 +4772,7 @@ msgstr ""
 "interesse para o utilizador normal, mas algumas podem ter:"
 "interesse para o utilizador normal, mas algumas podem ter:"
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:811
 msgid ""
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -4773,7 +4783,7 @@ msgstr ""
 "remove, purge</literal>."
 "remove, purge</literal>."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:807
+#: apt.conf.5.xml:819
 msgid ""
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -4784,7 +4794,7 @@ msgstr ""
 "<literal>apt-get -s install</literal>) como um utilizador não root."
 "<literal>apt-get -s install</literal>) como um utilizador não root."
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:816
+#: apt.conf.5.xml:828
 msgid ""
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -4796,7 +4806,7 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:824
+#: apt.conf.5.xml:836
 msgid ""
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "in CD-ROM IDs."
 "in CD-ROM IDs."
@@ -4805,12 +4815,12 @@ msgstr ""
 "IDs de CD-ROM."
 "IDs de CD-ROM."
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:846
 msgid "A full list of debugging options to apt follows."
 msgid "A full list of debugging options to apt follows."
 msgstr "Segue-se uma lista completa de opções de depuração para o apt."
 msgstr "Segue-se uma lista completa de opções de depuração para o apt."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:843
+#: apt.conf.5.xml:855
 msgid ""
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
 msgstr ""
@@ -4818,25 +4828,25 @@ msgstr ""
 "literal>."
 "literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:854
+#: apt.conf.5.xml:866
 msgid "Print information related to downloading packages using FTP."
 msgid "Print information related to downloading packages using FTP."
 msgstr ""
 msgstr ""
 "Escreve informação relacionada com o descarregamento de pacotes usando FTP."
 "Escreve informação relacionada com o descarregamento de pacotes usando FTP."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:865
+#: apt.conf.5.xml:877
 msgid "Print information related to downloading packages using HTTP."
 msgid "Print information related to downloading packages using HTTP."
 msgstr ""
 msgstr ""
 "Escreve informação relacionada com o descarregamento de pacotes usando HTTP."
 "Escreve informação relacionada com o descarregamento de pacotes usando HTTP."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:876
+#: apt.conf.5.xml:888
 msgid "Print information related to downloading packages using HTTPS."
 msgid "Print information related to downloading packages using HTTPS."
 msgstr ""
 msgstr ""
 "Escreve informação relacionada com o descarregamento de pacotes usando HTTPS."
 "Escreve informação relacionada com o descarregamento de pacotes usando HTTPS."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:887
+#: apt.conf.5.xml:899
 msgid ""
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
 "<literal>gpg</literal>."
@@ -4845,7 +4855,7 @@ msgstr ""
 "criptográficas usando <literal>gpg</literal>."
 "criptográficas usando <literal>gpg</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:898
+#: apt.conf.5.xml:910
 msgid ""
 msgid ""
 "Output information about the process of accessing collections of packages "
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
 "stored on CD-ROMs."
@@ -4854,13 +4864,13 @@ msgstr ""
 "armazenados em CD-ROMs."
 "armazenados em CD-ROMs."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:908
+#: apt.conf.5.xml:920
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr ""
 msgstr ""
 "Descreve os processos de resolver dependências de compilação no &apt-get;."
 "Descreve os processos de resolver dependências de compilação no &apt-get;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:918
+#: apt.conf.5.xml:930
 msgid ""
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
 "literal> libraries."
@@ -4869,7 +4879,7 @@ msgstr ""
 "<literal>apt</literal>."
 "<literal>apt</literal>."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:928
+#: apt.conf.5.xml:940
 msgid ""
 msgid ""
 "Do not include information from <literal>statfs</literal>, namely the number "
 "Do not include information from <literal>statfs</literal>, namely the number "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -4880,7 +4890,7 @@ msgstr ""
 "para um CD-ROM."
 "para um CD-ROM."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:939
+#: apt.conf.5.xml:951
 msgid ""
 msgid ""
 "Disable all file locking.  For instance, this will allow two instances of "
 "Disable all file locking.  For instance, this will allow two instances of "
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
@@ -4890,14 +4900,14 @@ msgstr ""
 "literal></quote> ao mesmo tempo."
 "literal></quote> ao mesmo tempo."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:951
+#: apt.conf.5.xml:963
 msgid "Log when items are added to or removed from the global download queue."
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 msgstr ""
 "Regista no log quando os items são adicionados ou removidos da fila de "
 "Regista no log quando os items são adicionados ou removidos da fila de "
 "download global."
 "download global."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:961
+#: apt.conf.5.xml:973
 msgid ""
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
 "cryptographic signatures of downloaded files."
@@ -4906,7 +4916,7 @@ msgstr ""
 "checksums e assinaturas criptográficas dos ficheiros descarregados."
 "checksums e assinaturas criptográficas dos ficheiros descarregados."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:971
+#: apt.conf.5.xml:983
 msgid ""
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
 "and errors relating to package index list diffs."
@@ -4916,7 +4926,7 @@ msgstr ""
 "pacote."
 "pacote."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:983
+#: apt.conf.5.xml:995
 msgid ""
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
 "index diffs instead of full indices."
@@ -4925,7 +4935,7 @@ msgstr ""
 "do apt quando se descarrega diffs de índice em vez de índices completos."
 "do apt quando se descarrega diffs de índice em vez de índices completos."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:994
+#: apt.conf.5.xml:1006
 msgid ""
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
 msgstr ""
@@ -4933,7 +4943,7 @@ msgstr ""
 "downloads."
 "downloads."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1005
+#: apt.conf.5.xml:1017
 msgid ""
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
 "the removal of unused packages."
@@ -4942,7 +4952,7 @@ msgstr ""
 "de pacotes e com a remoção de pacotes não utilizados."
 "de pacotes e com a remoção de pacotes não utilizados."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1015
+#: apt.conf.5.xml:1027
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -4957,7 +4967,7 @@ msgstr ""
 "literal>; veja <literal>Debug::pkgProblemResolver</literal> para isso."
 "literal>; veja <literal>Debug::pkgProblemResolver</literal> para isso."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1029
+#: apt.conf.5.xml:1041
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -4988,7 +4998,7 @@ msgstr ""
 "pacote aparece."
 "pacote aparece."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1050
+#: apt.conf.5.xml:1062
 msgid ""
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
 "invoked, with arguments separated by a single space character."
@@ -4998,7 +5008,7 @@ msgstr ""
 "único."
 "único."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1061
+#: apt.conf.5.xml:1073
 msgid ""
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
 "any errors encountered while parsing it."
@@ -5007,7 +5017,7 @@ msgstr ""
 "estado e quaisquer erros encontrados enquanto os analisa."
 "estado e quaisquer erros encontrados enquanto os analisa."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1072
+#: apt.conf.5.xml:1084
 msgid ""
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
 "<literal>apt</literal> should pass packages to &dpkg;."
@@ -5016,7 +5026,7 @@ msgstr ""
 "literal> deve passar os pacotes ao &dpkg;."
 "literal> deve passar os pacotes ao &dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1084
+#: apt.conf.5.xml:1096
 msgid ""
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr ""
 msgstr ""
@@ -5024,12 +5034,12 @@ msgstr ""
 "&dpkg;."
 "&dpkg;."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1095
+#: apt.conf.5.xml:1107
 msgid "Output the priority of each package list on startup."
 msgid "Output the priority of each package list on startup."
 msgstr "Escreve a prioridade da cada lista de pacote no arranque."
 msgstr "Escreve a prioridade da cada lista de pacote no arranque."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1105
+#: apt.conf.5.xml:1117
 msgid ""
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
 "happens when a complex dependency problem is encountered)."
@@ -5038,7 +5048,7 @@ msgstr ""
 "acontece quando é encontrado um problema de dependências complexo)."
 "acontece quando é encontrado um problema de dependências complexo)."
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1116
+#: apt.conf.5.xml:1128
 msgid ""
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -5049,7 +5059,7 @@ msgstr ""
 "mesma que é descrita em <literal>Debug::pkgDepCache::Marker</literal>"
 "mesma que é descrita em <literal>Debug::pkgDepCache::Marker</literal>"
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1128
+#: apt.conf.5.xml:1140
 msgid ""
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
 "list</filename>."
@@ -5058,13 +5068,13 @@ msgstr ""
 "vendors.list</filename>."
 "vendors.list</filename>."
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1150 apt_preferences.5.xml:545 sources.list.5.xml:211
+#: apt.conf.5.xml:1162 apt_preferences.5.xml:545 sources.list.5.xml:211
 #: apt-ftparchive.1.xml:596
 #: apt-ftparchive.1.xml:596
 msgid "Examples"
 msgid "Examples"
 msgstr "Exemplos"
 msgstr "Exemplos"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1151
+#: apt.conf.5.xml:1163
 msgid ""
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
 "possible options."
@@ -5074,7 +5084,7 @@ msgstr ""
 
 
 #.  ? reading apt.conf 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1163
+#: apt.conf.5.xml:1175
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 
 

+ 83 - 73
doc/po/pt_BR.po

@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2012-08-30 12:50+0300\n"
+"POT-Creation-Date: 2013-04-02 15:13+0300\n"
 "PO-Revision-Date: 2004-09-20 17:02+0000\n"
 "PO-Revision-Date: 2004-09-20 17:02+0000\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Language-Team: <debian-l10n-portuguese@lists.debian.org>\n"
 "Language-Team: <debian-l10n-portuguese@lists.debian.org>\n"
@@ -1091,14 +1091,14 @@ msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125
-#: apt.conf.5.xml:1156 apt_preferences.5.xml:698
+#: apt.conf.5.xml:1168 apt_preferences.5.xml:698
 msgid "Files"
 msgid "Files"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
 #: apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109
-#: apt.conf.5.xml:1162 apt_preferences.5.xml:705 sources.list.5.xml:252
+#: apt.conf.5.xml:1174 apt_preferences.5.xml:705 sources.list.5.xml:252
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63
 #: apt-ftparchive.1.xml:607
 #: apt-ftparchive.1.xml:607
 #, fuzzy
 #, fuzzy
@@ -2975,13 +2975,23 @@ msgid ""
 "added to the end of the list (after an implicit \"<literal>none</literal>\")."
 "added to the end of the list (after an implicit \"<literal>none</literal>\")."
 msgstr ""
 msgstr ""
 
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:559
+msgid "When downloading, force to use only the IPv4 protocol."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:565
+msgid "When downloading, force to use only the IPv6 protocol."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:560
+#: apt.conf.5.xml:572
 msgid "Directories"
 msgid "Directories"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:562
+#: apt.conf.5.xml:574
 msgid ""
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -2993,7 +3003,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:569
+#: apt.conf.5.xml:581
 msgid ""
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -3006,7 +3016,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:578
+#: apt.conf.5.xml:590
 msgid ""
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -3016,7 +3026,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:584
+#: apt.conf.5.xml:596
 msgid ""
 msgid ""
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
 "in lexical order from the directory specified. After this is done then the "
 "in lexical order from the directory specified. After this is done then the "
@@ -3024,7 +3034,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:588
+#: apt.conf.5.xml:600
 msgid ""
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -3035,7 +3045,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:596
+#: apt.conf.5.xml:608
 msgid ""
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -3048,7 +3058,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:609
+#: apt.conf.5.xml:621
 msgid ""
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
 "which files APT should silently ignore while parsing the files in the "
@@ -3059,12 +3069,12 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:618
+#: apt.conf.5.xml:630
 msgid "APT in DSelect"
 msgid "APT in DSelect"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:620
+#: apt.conf.5.xml:632
 msgid ""
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -3072,7 +3082,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:625
+#: apt.conf.5.xml:637
 msgid ""
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -3085,40 +3095,40 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:639
+#: apt.conf.5.xml:651
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
 "options when it is run for the install phase."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:644
+#: apt.conf.5.xml:656
 msgid ""
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
 "options when it is run for the update phase."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:649
+#: apt.conf.5.xml:661
 msgid ""
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
 "The default is to prompt only on error."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:655
+#: apt.conf.5.xml:667
 msgid "How APT calls &dpkg;"
 msgid "How APT calls &dpkg;"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:656
+#: apt.conf.5.xml:668
 msgid ""
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
 "in the <literal>DPkg</literal> section."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:661
+#: apt.conf.5.xml:673
 msgid ""
 msgid ""
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "This is a list of options to pass to &dpkg;. The options must be specified "
 "using the list notation and each list item is passed as a single argument to "
 "using the list notation and each list item is passed as a single argument to "
@@ -3126,7 +3136,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:667
+#: apt.conf.5.xml:679
 msgid ""
 msgid ""
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "This is a list of shell commands to run before/after invoking &dpkg;.  Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -3135,7 +3145,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:674
+#: apt.conf.5.xml:686
 msgid ""
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -3145,7 +3155,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:680
+#: apt.conf.5.xml:692
 msgid ""
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
 "version, the APT configuration space and the packages, files and versions "
@@ -3155,26 +3165,26 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:700
 msgid ""
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
 "<filename>/</filename>."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:693
+#: apt.conf.5.xml:705
 msgid ""
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
 "default is to disable signing and produce all binaries."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:698
+#: apt.conf.5.xml:710
 msgid "dpkg trigger usage (and related options)"
 msgid "dpkg trigger usage (and related options)"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:699
+#: apt.conf.5.xml:711
 msgid ""
 msgid ""
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "APT can call &dpkg; in such a way as to let it make aggressive use of "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
 "triggers over multiple calls of &dpkg;. Without further options &dpkg; will "
@@ -3189,7 +3199,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:726
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
 "DPkg::NoTriggers \"true\";\n"
@@ -3199,7 +3209,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:708
+#: apt.conf.5.xml:720
 msgid ""
 msgid ""
 "Note that it is not guaranteed that APT will support these options or that "
 "Note that it is not guaranteed that APT will support these options or that "
 "these options will not cause (big) trouble in the future. If you have "
 "these options will not cause (big) trouble in the future. If you have "
@@ -3213,7 +3223,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:721
+#: apt.conf.5.xml:733
 msgid ""
 msgid ""
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "Add the no triggers flag to all &dpkg; calls (except the ConfigurePending "
 "call).  See &dpkg; if you are interested in what this actually means. In "
 "call).  See &dpkg; if you are interested in what this actually means. In "
@@ -3226,7 +3236,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:729
+#: apt.conf.5.xml:741
 msgid ""
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -3243,7 +3253,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:744
+#: apt.conf.5.xml:756
 msgid ""
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -3254,7 +3264,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:751
+#: apt.conf.5.xml:763
 msgid ""
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -3264,7 +3274,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:764
+#: apt.conf.5.xml:776
 #, no-wrap
 #, no-wrap
 msgid ""
 msgid ""
 "OrderList::Score {\n"
 "OrderList::Score {\n"
@@ -3276,7 +3286,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:757
+#: apt.conf.5.xml:769
 msgid ""
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -3290,12 +3300,12 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:789
 msgid "Periodic and Archives options"
 msgid "Periodic and Archives options"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:778
+#: apt.conf.5.xml:790
 msgid ""
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -3304,12 +3314,12 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:786
+#: apt.conf.5.xml:798
 msgid "Debug options"
 msgid "Debug options"
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:788
+#: apt.conf.5.xml:800
 msgid ""
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
 "debugging information to be sent to the standard error stream of the program "
@@ -3320,7 +3330,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:811
 msgid ""
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -3328,7 +3338,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:807
+#: apt.conf.5.xml:819
 msgid ""
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -3336,7 +3346,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:816
+#: apt.conf.5.xml:828
 msgid ""
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -3346,66 +3356,66 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:824
+#: apt.conf.5.xml:836
 msgid ""
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "in CD-ROM IDs."
 "in CD-ROM IDs."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:846
 msgid "A full list of debugging options to apt follows."
 msgid "A full list of debugging options to apt follows."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:843
+#: apt.conf.5.xml:855
 msgid ""
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:854
+#: apt.conf.5.xml:866
 msgid "Print information related to downloading packages using FTP."
 msgid "Print information related to downloading packages using FTP."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:865
+#: apt.conf.5.xml:877
 msgid "Print information related to downloading packages using HTTP."
 msgid "Print information related to downloading packages using HTTP."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:876
+#: apt.conf.5.xml:888
 msgid "Print information related to downloading packages using HTTPS."
 msgid "Print information related to downloading packages using HTTPS."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:887
+#: apt.conf.5.xml:899
 msgid ""
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
 "<literal>gpg</literal>."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:898
+#: apt.conf.5.xml:910
 msgid ""
 msgid ""
 "Output information about the process of accessing collections of packages "
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
 "stored on CD-ROMs."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:908
+#: apt.conf.5.xml:920
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:918
+#: apt.conf.5.xml:930
 msgid ""
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
 "literal> libraries."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:928
+#: apt.conf.5.xml:940
 msgid ""
 msgid ""
 "Do not include information from <literal>statfs</literal>, namely the number "
 "Do not include information from <literal>statfs</literal>, namely the number "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -3413,53 +3423,53 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:939
+#: apt.conf.5.xml:951
 msgid ""
 msgid ""
 "Disable all file locking.  For instance, this will allow two instances of "
 "Disable all file locking.  For instance, this will allow two instances of "
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 "<quote><literal>apt-get update</literal></quote> to run at the same time."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:951
+#: apt.conf.5.xml:963
 msgid "Log when items are added to or removed from the global download queue."
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:961
+#: apt.conf.5.xml:973
 msgid ""
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
 "cryptographic signatures of downloaded files."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:971
+#: apt.conf.5.xml:983
 msgid ""
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
 "and errors relating to package index list diffs."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:983
+#: apt.conf.5.xml:995
 msgid ""
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
 "index diffs instead of full indices."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:994
+#: apt.conf.5.xml:1006
 msgid ""
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1005
+#: apt.conf.5.xml:1017
 msgid ""
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
 "the removal of unused packages."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1015
+#: apt.conf.5.xml:1027
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -3469,7 +3479,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1029
+#: apt.conf.5.xml:1041
 msgid ""
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -3487,46 +3497,46 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1050
+#: apt.conf.5.xml:1062
 msgid ""
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
 "invoked, with arguments separated by a single space character."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1061
+#: apt.conf.5.xml:1073
 msgid ""
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
 "any errors encountered while parsing it."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1072
+#: apt.conf.5.xml:1084
 msgid ""
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
 "<literal>apt</literal> should pass packages to &dpkg;."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1084
+#: apt.conf.5.xml:1096
 msgid ""
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1095
+#: apt.conf.5.xml:1107
 msgid "Output the priority of each package list on startup."
 msgid "Output the priority of each package list on startup."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1105
+#: apt.conf.5.xml:1117
 msgid ""
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
 "happens when a complex dependency problem is encountered)."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1116
+#: apt.conf.5.xml:1128
 msgid ""
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -3534,21 +3544,21 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1128
+#: apt.conf.5.xml:1140
 msgid ""
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
 "list</filename>."
 msgstr ""
 msgstr ""
 
 
 #. type: Content of: <refentry><refsect1><title>
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1150 apt_preferences.5.xml:545 sources.list.5.xml:211
+#: apt.conf.5.xml:1162 apt_preferences.5.xml:545 sources.list.5.xml:211
 #: apt-ftparchive.1.xml:596
 #: apt-ftparchive.1.xml:596
 #, fuzzy
 #, fuzzy
 msgid "Examples"
 msgid "Examples"
 msgstr "Exemplos"
 msgstr "Exemplos"
 
 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1151
+#: apt.conf.5.xml:1163
 msgid ""
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
 "possible options."
@@ -3556,7 +3566,7 @@ msgstr ""
 
 
 #.  ? reading apt.conf 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1163
+#: apt.conf.5.xml:1175
 #, fuzzy
 #, fuzzy
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;"
 msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;"

+ 46 - 59
ftparchive/writer.cc

@@ -20,6 +20,8 @@
 #include <apt-pkg/md5.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/hashes.h>
 #include <apt-pkg/hashes.h>
 #include <apt-pkg/deblistparser.h>
 #include <apt-pkg/deblistparser.h>
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/gpgv.h>
 
 
 #include <sys/types.h>
 #include <sys/types.h>
 #include <unistd.h>
 #include <unistd.h>
@@ -601,77 +603,62 @@ SourcesWriter::SourcesWriter(string const &DB, string const &BOverrides,string c
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* */
 /* */
 bool SourcesWriter::DoPackage(string FileName)
 bool SourcesWriter::DoPackage(string FileName)
-{      
+{
    // Open the archive
    // Open the archive
-   FileFd F(FileName,FileFd::ReadOnly);
-   if (_error->PendingError() == true)
+   FileFd F;
+   if (OpenMaybeClearSignedFile(FileName, F) == false)
       return false;
       return false;
-   
-   // Stat the file for later
-   struct stat St;
-   if (fstat(F.Fd(),&St) != 0)
-      return _error->Errno("fstat","Failed to stat %s",FileName.c_str());
 
 
-   if (St.st_size > 128*1024)
+   unsigned long long const FSize = F.FileSize();
+   //FIXME: do we really need to enforce a maximum size of the dsc file?
+   if (FSize > 128*1024)
       return _error->Error("DSC file '%s' is too large!",FileName.c_str());
       return _error->Error("DSC file '%s' is too large!",FileName.c_str());
-         
-   if (BufSize < (unsigned long long)St.st_size+1)
+
+   if (BufSize < FSize + 2)
    {
    {
-      BufSize = St.st_size+1;
-      Buffer = (char *)realloc(Buffer,St.st_size+1);
+      BufSize = FSize + 2;
+      Buffer = (char *)realloc(Buffer , BufSize);
    }
    }
-   
-   if (F.Read(Buffer,St.st_size) == false)
+
+   if (F.Read(Buffer, FSize) == false)
       return false;
       return false;
 
 
+   // Stat the file for later (F might be clearsigned, so not F.FileSize())
+   struct stat St;
+   if (stat(FileName.c_str(), &St) != 0)
+      return _error->Errno("fstat","Failed to stat %s",FileName.c_str());
+
    // Hash the file
    // Hash the file
    char *Start = Buffer;
    char *Start = Buffer;
-   char *BlkEnd = Buffer + St.st_size;
-
-   MD5Summation MD5;
-   SHA1Summation SHA1;
-   SHA256Summation SHA256;
-   SHA256Summation SHA512;
-
-   if (DoMD5 == true)
-      MD5.Add((unsigned char *)Start,BlkEnd - Start);
-   if (DoSHA1 == true)
-      SHA1.Add((unsigned char *)Start,BlkEnd - Start);
-   if (DoSHA256 == true)
-      SHA256.Add((unsigned char *)Start,BlkEnd - Start);
-   if (DoSHA512 == true)
-      SHA512.Add((unsigned char *)Start,BlkEnd - Start);
+   char *BlkEnd = Buffer + FSize;
 
 
-   // Add an extra \n to the end, just in case
-   *BlkEnd++ = '\n';
-   
-   /* Remove the PGP trailer. Some .dsc's have this without a blank line 
-      before */
-   const char *Key = "-----BEGIN PGP SIGNATURE-----";
-   for (char *MsgEnd = Start; MsgEnd < BlkEnd - strlen(Key) -1; MsgEnd++)
+   Hashes DscHashes;
+   if (FSize == (unsigned long long) St.st_size)
    {
    {
-      if (*MsgEnd == '\n' && strncmp(MsgEnd+1,Key,strlen(Key)) == 0)
-      {
-	 MsgEnd[1] = '\n';
-	 break;
-      }      
+      if (DoMD5 == true)
+	 DscHashes.MD5.Add((unsigned char *)Start,BlkEnd - Start);
+      if (DoSHA1 == true)
+	 DscHashes.SHA1.Add((unsigned char *)Start,BlkEnd - Start);
+      if (DoSHA256 == true)
+	 DscHashes.SHA256.Add((unsigned char *)Start,BlkEnd - Start);
+      if (DoSHA512 == true)
+	 DscHashes.SHA512.Add((unsigned char *)Start,BlkEnd - Start);
    }
    }
-   
-   /* Read records until we locate the Source record. This neatly skips the
-      GPG header (which is RFC822 formed) without any trouble. */
-   pkgTagSection Tags;
-   do
+   else
    {
    {
-      unsigned Pos;
-      if (Tags.Scan(Start,BlkEnd - Start) == false)
-	 return _error->Error("Could not find a record in the DSC '%s'",FileName.c_str());
-      if (Tags.Find("Source",Pos) == true)
-	 break;
-      Start += Tags.size();
+      FileFd DscFile(FileName, FileFd::ReadOnly);
+      DscHashes.AddFD(DscFile, St.st_size, DoMD5, DoSHA1, DoSHA256, DoSHA512);
    }
    }
-   while (1);
+
+   // Add extra \n to the end, just in case (as in clearsigned they are missing)
+   *BlkEnd++ = '\n';
+   *BlkEnd++ = '\n';
+
+   pkgTagSection Tags;
+   if (Tags.Scan(Start,BlkEnd - Start) == false || Tags.Exists("Source") == false)
+      return _error->Error("Could not find a record in the DSC '%s'",FileName.c_str());
    Tags.Trim();
    Tags.Trim();
-      
+
    // Lookup the overide information, finding first the best priority.
    // Lookup the overide information, finding first the best priority.
    string BestPrio;
    string BestPrio;
    string Bins = Tags.FindS("Binary");
    string Bins = Tags.FindS("Binary");
@@ -735,23 +722,23 @@ bool SourcesWriter::DoPackage(string FileName)
    string const strippedName = flNotDir(FileName);
    string const strippedName = flNotDir(FileName);
    std::ostringstream ostreamFiles;
    std::ostringstream ostreamFiles;
    if (DoMD5 == true && Tags.Exists("Files"))
    if (DoMD5 == true && Tags.Exists("Files"))
-      ostreamFiles << "\n " << string(MD5.Result()) << " " << St.st_size << " "
+      ostreamFiles << "\n " << string(DscHashes.MD5.Result()) << " " << St.st_size << " "
 		   << strippedName << "\n " << Tags.FindS("Files");
 		   << strippedName << "\n " << Tags.FindS("Files");
    string const Files = ostreamFiles.str();
    string const Files = ostreamFiles.str();
 
 
    std::ostringstream ostreamSha1;
    std::ostringstream ostreamSha1;
    if (DoSHA1 == true && Tags.Exists("Checksums-Sha1"))
    if (DoSHA1 == true && Tags.Exists("Checksums-Sha1"))
-      ostreamSha1 << "\n " << string(SHA1.Result()) << " " << St.st_size << " "
+      ostreamSha1 << "\n " << string(DscHashes.SHA1.Result()) << " " << St.st_size << " "
 		   << strippedName << "\n " << Tags.FindS("Checksums-Sha1");
 		   << strippedName << "\n " << Tags.FindS("Checksums-Sha1");
 
 
    std::ostringstream ostreamSha256;
    std::ostringstream ostreamSha256;
    if (DoSHA256 == true && Tags.Exists("Checksums-Sha256"))
    if (DoSHA256 == true && Tags.Exists("Checksums-Sha256"))
-      ostreamSha256 << "\n " << string(SHA256.Result()) << " " << St.st_size << " "
+      ostreamSha256 << "\n " << string(DscHashes.SHA256.Result()) << " " << St.st_size << " "
 		   << strippedName << "\n " << Tags.FindS("Checksums-Sha256");
 		   << strippedName << "\n " << Tags.FindS("Checksums-Sha256");
 
 
    std::ostringstream ostreamSha512;
    std::ostringstream ostreamSha512;
    if (DoSHA512 == true && Tags.Exists("Checksums-Sha512"))
    if (DoSHA512 == true && Tags.Exists("Checksums-Sha512"))
-      ostreamSha512 << "\n " << string(SHA512.Result()) << " " << St.st_size << " "
+      ostreamSha512 << "\n " << string(DscHashes.SHA512.Result()) << " " << St.st_size << " "
 		   << strippedName << "\n " << Tags.FindS("Checksums-Sha512");
 		   << strippedName << "\n " << Tags.FindS("Checksums-Sha512");
 
 
    // Strip the DirStrip prefix from the FileName and add the PathPrefix
    // Strip the DirStrip prefix from the FileName and add the PathPrefix

+ 11 - 0
methods/connect.cc

@@ -17,6 +17,7 @@
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/acquire-method.h>
 #include <apt-pkg/acquire-method.h>
+#include <apt-pkg/configuration.h>
 
 
 #include <stdio.h>
 #include <stdio.h>
 #include <errno.h>
 #include <errno.h>
@@ -167,6 +168,13 @@ bool Connect(std::string Host,int Port,const char *Service,int DefPort,int &Fd,
       Hints.ai_flags = AI_ADDRCONFIG;
       Hints.ai_flags = AI_ADDRCONFIG;
       Hints.ai_protocol = 0;
       Hints.ai_protocol = 0;
       
       
+      if(_config->FindB("Acquire::ForceIPv4", false) == true)
+         Hints.ai_family = AF_INET;
+      else if(_config->FindB("Acquire::ForceIPv6", false) == true)
+         Hints.ai_family = AF_INET6;
+      else
+         Hints.ai_family = AF_UNSPEC;
+
       // if we couldn't resolve the host before, we don't try now
       // if we couldn't resolve the host before, we don't try now
       if(bad_addr.find(Host) != bad_addr.end()) 
       if(bad_addr.find(Host) != bad_addr.end()) 
 	 return _error->Error(_("Could not resolve '%s'"),Host.c_str());
 	 return _error->Error(_("Could not resolve '%s'"),Host.c_str());
@@ -197,6 +205,9 @@ bool Connect(std::string Host,int Port,const char *Service,int DefPort,int &Fd,
 	       return _error->Error(_("Temporary failure resolving '%s'"),
 	       return _error->Error(_("Temporary failure resolving '%s'"),
 				    Host.c_str());
 				    Host.c_str());
 	    }
 	    }
+	    if (Res == EAI_SYSTEM)
+	       return _error->Errno("getaddrinfo", _("System error resolving '%s:%s'"),
+                                      Host.c_str(),ServStr);
 	    return _error->Error(_("Something wicked happened resolving '%s:%s' (%i - %s)"),
 	    return _error->Error(_("Something wicked happened resolving '%s:%s' (%i - %s)"),
 				 Host.c_str(),ServStr,Res,gai_strerror(Res));
 				 Host.c_str(),ServStr,Res,gai_strerror(Res));
 	 }
 	 }

+ 2 - 13
methods/gpgv.cc

@@ -6,6 +6,7 @@
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/indexcopy.h>
 #include <apt-pkg/indexcopy.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/configuration.h>
+#include <apt-pkg/gpgv.h>
 
 
 #include <utime.h>
 #include <utime.h>
 #include <stdio.h>
 #include <stdio.h>
@@ -70,19 +71,7 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile,
    if (pid < 0)
    if (pid < 0)
       return string("Couldn't spawn new process") + strerror(errno);
       return string("Couldn't spawn new process") + strerror(errno);
    else if (pid == 0)
    else if (pid == 0)
-   {
-      _error->PushToStack();
-      bool const success = SigVerify::RunGPGV(outfile, file, 3, fd);
-      if (success == false)
-      {
-	 string errmsg;
-	 _error->PopMessage(errmsg);
-	 _error->RevertToStack();
-	 return errmsg;
-      }
-      _error->RevertToStack();
-      exit(111);
-   }
+      ExecGPGV(outfile, file, 3, fd);
    close(fd[1]);
    close(fd[1]);
 
 
    FILE *pipein = fdopen(fd[0], "r");
    FILE *pipein = fdopen(fd[0], "r");

+ 0 - 2
methods/rfc2553emu.cc

@@ -154,11 +154,9 @@ int getaddrinfo(const char *nodename, const char *servname,
 /* */
 /* */
 void freeaddrinfo(struct addrinfo *ai)
 void freeaddrinfo(struct addrinfo *ai)
 {
 {
-   struct addrinfo *Tmp;
    while (ai != 0)
    while (ai != 0)
    {
    {
       free(ai->ai_addr);
       free(ai->ai_addr);
-      Tmp = ai;
       ai = ai->ai_next;
       ai = ai->ai_next;
       free(ai);
       free(ai);
    }
    }

+ 4 - 0
po/ar.po

@@ -3203,6 +3203,10 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... تمّ"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "فتح ملف التهيئة %s"
 #~ msgstr "فتح ملف التهيئة %s"

+ 8 - 0
po/ast.po

@@ -3476,6 +3476,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Non bloquiáu"
 msgstr "Non bloquiáu"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Daqué raro asocedió resolviendo '%s:%s' (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Fecho"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Saltando'l ficheru non esistente %s"
 #~ msgstr "Saltando'l ficheru non esistente %s"
 
 

+ 8 - 0
po/bg.po

@@ -3536,6 +3536,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Без заключване"
 msgstr "Без заключване"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Нещо лошо се случи при намирането на IP адреса на „%s:%s“ (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Готово"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Пропускане на несъществуващ файл %s"
 #~ msgstr "Пропускане на несъществуващ файл %s"
 
 

+ 8 - 1
po/ca.po

@@ -2425,7 +2425,7 @@ msgstr "%c%s… Fet"
 
 
 #: apt-pkg/contrib/progress.cc:179
 #: apt-pkg/contrib/progress.cc:179
 msgid "..."
 msgid "..."
-msgstr ""
+msgstr ""
 
 
 #. Print the spinner
 #. Print the spinner
 #: apt-pkg/contrib/progress.cc:195
 #: apt-pkg/contrib/progress.cc:195
@@ -3521,6 +3521,13 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "No blocat"
 msgstr "No blocat"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Ha passat alguna cosa estranya en resoldre «%s:%s» (%i - %s)"
+
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s… %u%%"
+
 #~ msgid "decompressor"
 #~ msgid "decompressor"
 #~ msgstr "decompressor"
 #~ msgstr "decompressor"
 
 

+ 8 - 1
po/cs.po

@@ -2403,7 +2403,7 @@ msgstr "%c%s… Hotovo"
 
 
 #: apt-pkg/contrib/progress.cc:179
 #: apt-pkg/contrib/progress.cc:179
 msgid "..."
 msgid "..."
-msgstr ""
+msgstr ""
 
 
 #. Print the spinner
 #. Print the spinner
 #: apt-pkg/contrib/progress.cc:195
 #: apt-pkg/contrib/progress.cc:195
@@ -3459,6 +3459,13 @@ msgstr "dpkg byl přerušen, pro nápravu problému musíte ručně spustit „%
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Není uzamčen"
 msgstr "Není uzamčen"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Něco hodně ošklivého se přihodilo při překladu „%s:%s“ (%i - %s)"
+
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s… %u%%"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Přeskakuji neexistující soubor %s"
 #~ msgstr "Přeskakuji neexistující soubor %s"
 
 

+ 8 - 0
po/cy.po

@@ -3503,6 +3503,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Digwyddodd rhywbweth hyll wrth ddatrys '%s:%s' (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Wedi Gorffen"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Yn agor y ffeil cyfluniad %s"
 #~ msgstr "Yn agor y ffeil cyfluniad %s"

+ 8 - 0
po/da.po

@@ -3483,6 +3483,14 @@ msgstr "dpkg blev afbrudt, du skal manuelt køre '%s' for at rette problemet."
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Ikke låst"
 msgstr "Ikke låst"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Der skete noget underligt under opløsning af '%s:%s' (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Færdig"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Springer ikkeeksisterende fil over %s"
 #~ msgstr "Springer ikkeeksisterende fil over %s"
 
 

+ 8 - 0
po/de.po

@@ -3598,6 +3598,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Nicht gesperrt"
 msgstr "Nicht gesperrt"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Beim Auflösen von »%s:%s« ist etwas Schlimmes passiert (%i - %s)."
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Fertig"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Nicht vorhandene Datei %s wird übersprungen."
 #~ msgstr "Nicht vorhandene Datei %s wird übersprungen."
 
 

+ 8 - 0
po/dz.po

@@ -3429,6 +3429,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "'%s:%s' (%i)་མོས་མཐུན་འབདཝ་ད་ངན་པ་ཅིག་བྱུང་ཡི།"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... འབད་ཚར་ཡོད།"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "རིམ་སྒྲིག་ཡིག་སྣོད་%s་འདི་ཁ་ཕྱེ་དོ།"
 #~ msgstr "རིམ་སྒྲིག་ཡིག་སྣོད་%s་འདི་ཁ་ཕྱེ་དོ།"

+ 8 - 0
po/el.po

@@ -3467,6 +3467,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Κάτι παράξενο συνέβη κατά την εύρεση του '%s:%s' (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Ολοκληρώθηκε"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Άνοιγμα του αρχείου ρυθμίσεων %s"
 #~ msgstr "Άνοιγμα του αρχείου ρυθμίσεων %s"

+ 8 - 0
po/es.po

@@ -3580,6 +3580,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "No bloqueado"
 msgstr "No bloqueado"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Algo raro pasó al resolver «%s:%s» (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Hecho"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Omitiendo el fichero inexistente %s"
 #~ msgstr "Omitiendo el fichero inexistente %s"
 
 

+ 8 - 0
po/eu.po

@@ -3432,6 +3432,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Zerbait arraroa pasatu da '%s:%s' (%i) ebaztean"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Eginda"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "%s konfigurazio fitxategia irekitzen"
 #~ msgstr "%s konfigurazio fitxategia irekitzen"

+ 8 - 0
po/fi.po

@@ -3425,6 +3425,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Jotain kenkkua tapahtui selvitettäessä \"%s: %s\" (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Valmis"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Avataan asetustiedosto %s"
 #~ msgstr "Avataan asetustiedosto %s"

+ 10 - 3
po/fr.po

@@ -3,13 +3,13 @@
 # French messages
 # French messages
 #
 #
 # Pierre Machard <pmachard@tuxfamily.org>, 2002,2003,2004.
 # Pierre Machard <pmachard@tuxfamily.org>, 2002,2003,2004.
-# Christian Perrier <bubulle@debian.org>, 2004-2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
+# Christian Perrier <bubulle@debian.org>, 2004-2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013.
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "POT-Creation-Date: 2013-03-01 12:27+0100\n"
 "POT-Creation-Date: 2013-03-01 12:27+0100\n"
-"PO-Revision-Date: 2012-06-25 19:58+0200\n"
+"PO-Revision-Date: 2013-03-24 08:57+0100\n"
 "Last-Translator: Christian Perrier <bubulle@debian.org>\n"
 "Last-Translator: Christian Perrier <bubulle@debian.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "Language: fr\n"
 "Language: fr\n"
@@ -2484,7 +2484,7 @@ msgstr "%c%s... Fait"
 
 
 #: apt-pkg/contrib/progress.cc:179
 #: apt-pkg/contrib/progress.cc:179
 msgid "..."
 msgid "..."
-msgstr ""
+msgstr ""
 
 
 #. Print the spinner
 #. Print the spinner
 #: apt-pkg/contrib/progress.cc:195
 #: apt-pkg/contrib/progress.cc:195
@@ -3605,6 +3605,13 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Non verrouillé"
 msgstr "Non verrouillé"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Erreur système lors de la résolution de « %s:%s » (%s)"
+
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s… %u%%"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Fichier %s inexistant ignoré"
 #~ msgstr "Fichier %s inexistant ignoré"
 
 

+ 8 - 0
po/gl.po

@@ -3522,6 +3522,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Non está bloqueado"
 msgstr "Non está bloqueado"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Aconteceu algo malo, buscando «%s:%s» (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Feito"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Omitindo o ficheiro inexistente %s"
 #~ msgstr "Omitindo o ficheiro inexistente %s"
 
 

+ 8 - 0
po/hu.po

@@ -3516,6 +3516,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Nincs zárolva"
 msgstr "Nincs zárolva"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Hiba történt „%s:%s” feloldásakor (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Kész"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "A nem létező %s fájl kihagyása"
 #~ msgstr "A nem létező %s fájl kihagyása"
 
 

+ 10 - 0
po/it.po

@@ -3577,6 +3577,16 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Non bloccato"
 msgstr "Non bloccato"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr ""
+#~ "Si è verificato qualcosa di anormale nella risoluzione di \"%s:%s\" (%i - "
+#~ "%s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Fatto"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Saltato il file inesistente %s"
 #~ msgstr "Saltato il file inesistente %s"
 
 

+ 14 - 6
po/ja.po

@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: apt 0.9.7.1\n"
 "Project-Id-Version: apt 0.9.7.1\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
 "POT-Creation-Date: 2013-03-01 12:27+0100\n"
 "POT-Creation-Date: 2013-03-01 12:27+0100\n"
-"PO-Revision-Date: 2013-02-05 09:41+0900\n"
+"PO-Revision-Date: 2012-07-01 00:14+0900\n"
 "Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
 "Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
 "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
 "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
 "Language: ja\n"
 "Language: ja\n"
@@ -227,7 +227,7 @@ msgstr ""
 "  -p=? パッケージキャッシュ\n"
 "  -p=? パッケージキャッシュ\n"
 "  -s=? ソースキャッシュ\n"
 "  -s=? ソースキャッシュ\n"
 "  -q   プログレス表示をしない\n"
 "  -q   プログレス表示をしない\n"
-"  -i   unmet コマンドで重要な依存情報のみを表示する\n"
+"  -i   umnet コマンドで重要な依存情報のみを表示する\n"
 "  -c=? 指定した設定ファイルを読み込む\n"
 "  -c=? 指定した設定ファイルを読み込む\n"
 "  -o=? 指定した設定オプションを読み込む (例: -o dir::cache=/tmp)\n"
 "  -o=? 指定した設定オプションを読み込む (例: -o dir::cache=/tmp)\n"
 "詳細は、apt-cache(8) や apt.conf(5) のマニュアルページを参照してください。\n"
 "詳細は、apt-cache(8) や apt.conf(5) のマニュアルページを参照してください。\n"
@@ -448,8 +448,8 @@ msgstr "'%s' のような仮想パッケージは削除できません\n"
 #, c-format
 #, c-format
 msgid "Package '%s' is not installed, so not removed. Did you mean '%s'?\n"
 msgid "Package '%s' is not installed, so not removed. Did you mean '%s'?\n"
 msgstr ""
 msgstr ""
-"パッケージ '%s' はインストールされていないため、削除はできません。'%s' のこと"
-"しょうか?\n"
+"パッケージ %s はインストールされていないため、削除はできません。'%s' のこと"
+"しょうか?\n"
 
 
 #: cmdline/apt-get.cc:743 cmdline/apt-get.cc:946
 #: cmdline/apt-get.cc:743 cmdline/apt-get.cc:946
 #, c-format
 #, c-format
@@ -681,7 +681,7 @@ msgstr[0] ""
 
 
 #: cmdline/apt-get.cc:1423
 #: cmdline/apt-get.cc:1423
 msgid "Note: This is done automatically and on purpose by dpkg."
 msgid "Note: This is done automatically and on purpose by dpkg."
-msgstr "注意: これは dpkg により自動でわざと行われます。"
+msgstr "注意: これは dpkg により自動でわざと行われます。"
 
 
 #: cmdline/apt-get.cc:1561
 #: cmdline/apt-get.cc:1561
 #, c-format
 #, c-format
@@ -2738,7 +2738,7 @@ msgstr ""
 #: apt-pkg/sourcelist.cc:116
 #: apt-pkg/sourcelist.cc:116
 #, c-format
 #, c-format
 msgid "Malformed line %lu in source list %s ([%s] has no key)"
 msgid "Malformed line %lu in source list %s ([%s] has no key)"
-msgstr "ソースリスト %2$s の %1$lu 行目が不正です ([%3$s] にキーがありません)"
+msgstr "ソースリスト %2$s の %1$lu 行目が不正です ([%3$s にキーがありません)"
 
 
 #: apt-pkg/sourcelist.cc:119
 #: apt-pkg/sourcelist.cc:119
 #, c-format
 #, c-format
@@ -3509,5 +3509,13 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "ロックされていません"
 msgstr "ロックされていません"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "'%s:%s' (%i - %s) の解決中に何か問題が起こりました"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... 完了"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "存在しないファイル %s をスキップしています"
 #~ msgstr "存在しないファイル %s をスキップしています"

+ 8 - 0
po/km.po

@@ -3388,6 +3388,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "ការ​ដោះស្រាយ​អ្វី​អាក្រក់ដែល​បាន​កើត​ឡើង​ '%s:%s' (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... ធ្វើរួច​"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "កំពុង​បើ​ឯកសារ​កំណត់រចនាសម្ព័ន្ធ​ %s"
 #~ msgstr "កំពុង​បើ​ឯកសារ​កំណត់រចនាសម្ព័ន្ធ​ %s"

+ 9 - 0
po/ko.po

@@ -3431,6 +3431,15 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "잠기지 않음"
 msgstr "잠기지 않음"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr ""
+#~ "'%s:%s'의 주소를 알아내는데 무언가 이상한 일이 발생했습니다 (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... 완료"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "%s 파일은 없으므로 무시합니다"
 #~ msgstr "%s 파일은 없으므로 무시합니다"
 
 

+ 4 - 0
po/ku.po

@@ -3215,6 +3215,10 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Çêbû"
+
 #~ msgid "Failed to remove %s"
 #~ msgid "Failed to remove %s"
 #~ msgstr "Rakirina %s biserneket"
 #~ msgstr "Rakirina %s biserneket"
 
 

+ 8 - 0
po/lt.po

@@ -3314,6 +3314,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Laikinas sutrikimas ieškant vardo „%s“"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Baigta"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Praleidžiama jau parsiųsta byla „%s“\n"
 #~ msgstr "Praleidžiama jau parsiųsta byla „%s“\n"

+ 8 - 0
po/mr.po

@@ -3402,6 +3402,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "%s:%s' (%i) रिझॉल्व्ह होत असताना काहीतरी वाईट घडले"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... झाले"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "%s संरचना फाईल उघडत आहे"
 #~ msgstr "%s संरचना फाईल उघडत आहे"

+ 8 - 0
po/nb.po

@@ -3459,6 +3459,14 @@ msgstr "dpkg ble avbrutt. Du må kjøre «%s» manuelt for å rette problemet,"
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Ikke låst"
 msgstr "Ikke låst"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Noe galt skjedde ved oppslag av «%s:%s» (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s ... Ferdig"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Hopper over den ikke-eksisterende fila %s"
 #~ msgstr "Hopper over den ikke-eksisterende fila %s"
 
 

+ 8 - 0
po/ne.po

@@ -3392,6 +3392,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr " '%s:%s' (%i) हल गर्दा केही दुष्ट घट्यो"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... गरियो"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "कनफिगरेसन फाइल खोलिदैछ %s"
 #~ msgstr "कनफिगरेसन फाइल खोलिदैछ %s"

+ 8 - 0
po/nl.po

@@ -3523,6 +3523,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Niet vergrendeld"
 msgstr "Niet vergrendeld"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Er gebeurde iets raars bij het oplossen van '%s:%s' (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Klaar"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Niet-bestaand bestand %s wordt overgeslagen"
 #~ msgstr "Niet-bestaand bestand %s wordt overgeslagen"
 
 

+ 8 - 0
po/nn.po

@@ -3411,6 +3411,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Det hende noko dumt ved oppslag av «%s:%s» (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s ... Ferdig"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Opnar oppsettsfila %s"
 #~ msgstr "Opnar oppsettsfila %s"

+ 8 - 0
po/pl.po

@@ -3550,6 +3550,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Niezablokowany"
 msgstr "Niezablokowany"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Coś niewłaściwego stało się przy tłumaczeniu \"%s:%s\" (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Gotowe"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Pomijanie nieistniejącego pliku %s"
 #~ msgstr "Pomijanie nieistniejącego pliku %s"
 
 

+ 8 - 0
po/pt.po

@@ -3541,6 +3541,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Sem acesso exclusivo"
 msgstr "Sem acesso exclusivo"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Algo estranho aconteceu ao resolver '%s:%s' (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Pronto"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "A saltar ficheiro %s inexistente"
 #~ msgstr "A saltar ficheiro %s inexistente"
 
 

+ 8 - 0
po/pt_BR.po

@@ -3461,6 +3461,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Algo estranho aconteceu resolvendo '%s:%s' (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Pronto"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Abrindo arquivo de configuração %s"
 #~ msgstr "Abrindo arquivo de configuração %s"

+ 8 - 0
po/ro.po

@@ -3469,6 +3469,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "S-a întâmplat ceva „necurat” la rezolvarea lui „%s:%s” (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Terminat"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Se deschide fișierul de configurare %s"
 #~ msgstr "Se deschide fișierul de configurare %s"

+ 8 - 1
po/ru.po

@@ -2461,7 +2461,7 @@ msgstr "%c%s… Готово"
 
 
 #: apt-pkg/contrib/progress.cc:179
 #: apt-pkg/contrib/progress.cc:179
 msgid "..."
 msgid "..."
-msgstr ""
+msgstr ""
 
 
 #. Print the spinner
 #. Print the spinner
 #: apt-pkg/contrib/progress.cc:195
 #: apt-pkg/contrib/progress.cc:195
@@ -3554,6 +3554,13 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Не заблокирован"
 msgstr "Не заблокирован"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Что-то странное произошло при определении «%s:%s» (%i - %s)"
+
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s… %u%%"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Пропускается несуществующий файл %s"
 #~ msgstr "Пропускается несуществующий файл %s"
 
 

+ 8 - 0
po/sk.po

@@ -3486,6 +3486,14 @@ msgstr "dpkg bol prerušený, musíte ručne opraviť problém spustením „%s
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Nie je zamknuté"
 msgstr "Nie je zamknuté"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Niečo veľmi zlé sa prihodilo pri preklade „%s:%s“ (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Hotovo"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Preskakuje sa neexistujúci súbor %s"
 #~ msgstr "Preskakuje sa neexistujúci súbor %s"
 
 

+ 8 - 0
po/sl.po

@@ -3493,6 +3493,14 @@ msgstr "dpkg je bil prekinjen. Za popravilo napake morate ročno pognati '%s'. "
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Ni zaklenjeno"
 msgstr "Ni zaklenjeno"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Nekaj čudnega se je zgodilo med razreševanjem '%s:%s' (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s ... Narejeno"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Preskok neobstoječe datoteke %s"
 #~ msgstr "Preskok neobstoječe datoteke %s"
 
 

+ 9 - 0
po/sv.po

@@ -3491,6 +3491,15 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Inte låst"
 msgstr "Inte låst"
 
 
+# Okänd felkod; %i = koden
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Något konstigt hände när \"%s:%s\" slogs upp (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Färdig"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Hoppar över icke-existerande filen %s"
 #~ msgstr "Hoppar över icke-existerande filen %s"
 
 

+ 8 - 0
po/th.po

@@ -3401,6 +3401,14 @@ msgstr "dpkg ถูกขัดจังหวะ คุณต้องเรี
 msgid "Not locked"
 msgid "Not locked"
 msgstr "ไม่ได้ล็อคอยู่"
 msgstr "ไม่ได้ล็อคอยู่"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "เกิดปัญหาร้ายแรงบางอย่างขณะเปิดหาที่อยู่ '%s:%s' (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... เสร็จแล้ว"
+
 #~ msgid "Failed to remove %s"
 #~ msgid "Failed to remove %s"
 #~ msgstr "ไม่สามารถลบ %s"
 #~ msgstr "ไม่สามารถลบ %s"
 
 

+ 8 - 0
po/tl.po

@@ -3450,6 +3450,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "May naganap na kababalaghan sa pagresolba ng '%s:%s' (%i)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Tapos"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Binubuksan ang talaksang pagsasaayos %s"
 #~ msgstr "Binubuksan ang talaksang pagsasaayos %s"

Разлика између датотеке није приказан због своје велике величине
+ 3494 - 0
po/tr.po


+ 9 - 0
po/uk.po

@@ -3548,6 +3548,15 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Не заблоковано"
 msgstr "Не заблоковано"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr ""
+#~ "Сталося щось дивне при спробі отримати IP адрес для '%s:%s' (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Виконано"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Пропускається неіснуючий файл %s"
 #~ msgstr "Пропускається неіснуючий файл %s"
 
 

+ 8 - 0
po/vi.po

@@ -3523,6 +3523,14 @@ msgstr "dpkg bị gián đoạn, bạn cần phải tự động chạy “%s”
 msgid "Not locked"
 msgid "Not locked"
 msgstr "Chưa được khoá"
 msgstr "Chưa được khoá"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "Gặp lỗi nghiệm trọng khi tháo gỡ “%s:%s” (%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... Hoàn tất"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "Đang bỏ qua tập tin không tồn tại %s"
 #~ msgstr "Đang bỏ qua tập tin không tồn tại %s"
 
 

+ 8 - 0
po/zh_CN.po

@@ -3387,6 +3387,14 @@ msgstr "dpkg 被中断,您必须手工运行 %s 解决此问题。"
 msgid "Not locked"
 msgid "Not locked"
 msgstr "未锁定"
 msgstr "未锁定"
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "解析“%s:%s”时,出现了某些故障(%i - %s)"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... 完成"
+
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "跳过不存在的文件 %s"
 #~ msgstr "跳过不存在的文件 %s"
 
 

+ 8 - 0
po/zh_TW.po

@@ -3373,6 +3373,14 @@ msgstr ""
 msgid "Not locked"
 msgid "Not locked"
 msgstr ""
 msgstr ""
 
 
+#, fuzzy
+#~ msgid "System error resolving '%s:%s'"
+#~ msgstr "在解析 '%s:%s' (%i) 時出了怪事"
+
+#, fuzzy
+#~ msgid "%c%s... %u%%"
+#~ msgstr "%c%s... 完成"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Skipping nonexistent file %s"
 #~ msgid "Skipping nonexistent file %s"
 #~ msgstr "開啟設定檔 %s"
 #~ msgstr "開啟設定檔 %s"

+ 21 - 4
test/integration/framework

@@ -1,5 +1,7 @@
 #!/bin/sh -- # no runable script, just for vi
 #!/bin/sh -- # no runable script, just for vi
 
 
+EXIT_CODE=0
+
 # we all like colorful messages
 # we all like colorful messages
 if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null && \
 if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null && \
    expr match "$(readlink -f /proc/$$/fd/2)" '/dev/pts/[0-9]\+' > /dev/null; then
    expr match "$(readlink -f /proc/$$/fd/2)" '/dev/pts/[0-9]\+' > /dev/null; then
@@ -36,7 +38,7 @@ msgtest() {
 }
 }
 msgpass() { echo "${CPASS}PASS${CNORMAL}" >&2; }
 msgpass() { echo "${CPASS}PASS${CNORMAL}" >&2; }
 msgskip() { echo "${CWARNING}SKIP${CNORMAL}" >&2; }
 msgskip() { echo "${CWARNING}SKIP${CNORMAL}" >&2; }
-msgfail() { echo "${CFAIL}FAIL${CNORMAL}" >&2; }
+msgfail() { echo "${CFAIL}FAIL${CNORMAL}" >&2; EXIT_CODE=$((EXIT_CODE+1)); }
 
 
 # enable / disable Debugging
 # enable / disable Debugging
 MSGLEVEL=${MSGLEVEL:-3}
 MSGLEVEL=${MSGLEVEL:-3}
@@ -113,9 +115,18 @@ gdb() {
 	APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${BUILDDIRECTORY} $(which gdb) ${BUILDDIRECTORY}/$1
 	APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${BUILDDIRECTORY} $(which gdb) ${BUILDDIRECTORY}/$1
 }
 }
 
 
+exitwithstatus() {
+        # error if we about to overflow, but ...
+        #   "255 failures ought to be enough for everybody"
+        if [ $EXIT_CODE -gt 255 ]; then
+            msgdie "Total failure count $EXIT_CODE too big"
+        fi
+        exit $((EXIT_CODE <= 255 ? EXIT_CODE : 255));
+}
+
 addtrap() {
 addtrap() {
 	CURRENTTRAP="$CURRENTTRAP $1"
 	CURRENTTRAP="$CURRENTTRAP $1"
-	trap "$CURRENTTRAP exit;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+	trap "$CURRENTTRAP exitwithstatus;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
 }
 }
 
 
 setupenvironment() {
 setupenvironment() {
@@ -328,9 +339,15 @@ Package: $NAME" >> ${BUILDDIR}/debian/control
 	fi
 	fi
 
 
 	echo '3.0 (native)' > ${BUILDDIR}/debian/source/format
 	echo '3.0 (native)' > ${BUILDDIR}/debian/source/format
-	local SRCS="$( (cd ${BUILDDIR}/..; dpkg-source -b ${NAME}-${VERSION} 2>&1) | grep '^dpkg-source: info: building' | grep -o '[a-z0-9._+~-]*$')"
-	for SRC in $SRCS; do
+	(cd ${BUILDDIR}/..; dpkg-source -b ${NAME}-${VERSION} 2>&1) | sed -n 's#^dpkg-source: info: building [^ ]\+ in ##p' \
+		| while read SRC; do
 		echo "pool/${SRC}" >> ${BUILDDIR}/../${RELEASE}.${DISTSECTION}.srclist
 		echo "pool/${SRC}" >> ${BUILDDIR}/../${RELEASE}.${DISTSECTION}.srclist
+#		if expr match "${SRC}" '.*\.dsc' >/dev/null 2>&1; then
+#			gpg --yes --no-default-keyring --secret-keyring ./keys/joesixpack.sec \
+#				--keyring ./keys/joesixpack.pub --default-key 'Joe Sixpack' \
+#				--clearsign -o "${BUILDDIR}/../${SRC}.sign" "${BUILDDIR}/../$SRC"
+#			mv "${BUILDDIR}/../${SRC}.sign" "${BUILDDIR}/../$SRC"
+#		fi
 	done
 	done
 
 
 	for arch in $(echo "$ARCH" | sed -e 's#,#\n#g' | sed -e "s#^native\$#$(getarchitecture 'native')#"); do
 	for arch in $(echo "$ARCH" | sed -e 's#,#\n#g' | sed -e "s#^native\$#$(getarchitecture 'native')#"); do

+ 2 - 1
test/integration/run-tests

@@ -37,4 +37,5 @@ for testcase in $(run-parts --list $DIR | grep '/test-'); do
 done
 done
 
 
 echo "failures: $FAIL"
 echo "failures: $FAIL"
-exit $FAIL
+# ensure we don't overflow
+exit $((FAIL <= 255 ? FAIL : 255))

+ 2 - 0
test/integration/test-apt-cdrom

@@ -24,6 +24,8 @@ cat Translation-de | xz --format=lzma > Translation-de.lzma
 cat Translation-de | xz > Translation-de.xz
 cat Translation-de | xz > Translation-de.xz
 rm Translation-en Translation-de
 rm Translation-en Translation-de
 cd - > /dev/null
 cd - > /dev/null
+addtrap "chmod -R +w $PWD/rootdir/media/cdrom/dists/;"
+chmod -R -w rootdir/media/cdrom/dists
 
 
 aptcdrom add -m -o quiet=1 > apt-cdrom.log 2>&1
 aptcdrom add -m -o quiet=1 > apt-cdrom.log 2>&1
 sed -i -e '/^Using CD-ROM/ d' -e '/gpgv/ d' -e '/^Identifying/ d' -e '/Reading / d' apt-cdrom.log
 sed -i -e '/^Using CD-ROM/ d' -e '/gpgv/ d' -e '/^Identifying/ d' -e '/Reading / d' apt-cdrom.log

+ 1 - 1
test/integration/test-apt-get-download

@@ -26,7 +26,7 @@ testdownload apt_1.0_all.deb apt stable
 testdownload apt_2.0_all.deb apt
 testdownload apt_2.0_all.deb apt
 
 
 DEBFILE="$(readlink -f aptarchive)/pool/apt_2.0_all.deb"
 DEBFILE="$(readlink -f aptarchive)/pool/apt_2.0_all.deb"
-testequal "'file://${DEBFILE}' apt_2.0_all.deb $(stat -c%s $DEBFILE) sha256:$(sha256sum $DEBFILE | cut -d' ' -f 1)" aptget download apt --print-uris
+testequal "'file://${DEBFILE}' apt_2.0_all.deb $(stat -c%s $DEBFILE) sha512:$(sha512sum $DEBFILE | cut -d' ' -f 1)" aptget download apt --print-uris
 
 
 # deb:677887
 # deb:677887
 testequal "E: Can't find a source to download version '1.0' of 'vrms:i386'" aptget download vrms
 testequal "E: Can't find a source to download version '1.0' of 'vrms:i386'" aptget download vrms

+ 11 - 19
test/integration/test-bug-595691-empty-and-broken-archive-files

@@ -13,7 +13,7 @@ setupflataptarchive
 testaptgetupdate() {
 testaptgetupdate() {
 	rm -rf rootdir/var/lib/apt
 	rm -rf rootdir/var/lib/apt
 	aptget update 2>> testaptgetupdate.diff >> testaptgetupdate.diff || true
 	aptget update 2>> testaptgetupdate.diff >> testaptgetupdate.diff || true
-	sed -i -e '/^Fetched / d' -e '/Ign / d' -e 's#\[[0-9]* [kMGTPY]*B\]#\[\]#' testaptgetupdate.diff
+	sed -i -e '/^Fetched / d' -e '/Ign / d' -e '/Release/ d' -e 's#Get:[0-9]\+ #Get: #' -e 's#\[[0-9]* [kMGTPY]*B\]#\[\]#' testaptgetupdate.diff
 	GIVEN="$1"
 	GIVEN="$1"
 	shift
 	shift
 	msgtest "Test for correctness of" "apt-get update with $*"
 	msgtest "Test for correctness of" "apt-get update with $*"
@@ -81,22 +81,18 @@ testoverfile() {
 	setupcompressor "$1"
 	setupcompressor "$1"
 
 
 	createemptyfile 'en'
 	createemptyfile 'en'
-	testaptgetupdate "Get:1 file:  InRelease []
-Reading package lists..." "empty file en.$COMPRESS over file"
+	testaptgetupdate 'Reading package lists...' "empty file en.$COMPRESS over file"
 
 
 	createemptyarchive 'en'
 	createemptyarchive 'en'
-	testaptgetupdate "Get:1 file:  InRelease []
-Reading package lists..." "empty archive en.$COMPRESS over file"
+	testaptgetupdate 'Reading package lists...' "empty archive en.$COMPRESS over file"
 
 
 	createemptyarchive 'Packages'
 	createemptyarchive 'Packages'
 	# FIXME: Why omits the file transport the Packages Get line?
 	# FIXME: Why omits the file transport the Packages Get line?
 	#Get:3 file:  Packages []
 	#Get:3 file:  Packages []
-	testaptgetupdate "Get:1 file:  InRelease []
-Reading package lists..." "empty archive Packages.$COMPRESS over file"
+	testaptgetupdate 'Reading package lists...' "empty archive Packages.$COMPRESS over file"
 
 
 	createemptyfile 'Packages'
 	createemptyfile 'Packages'
-	testaptgetupdate "Get:1 file:  InRelease []
-Err file:  Packages
+	testaptgetupdate "Err file:  Packages
   Empty files can't be valid archives
   Empty files can't be valid archives
 W: Failed to fetch ${COMPRESSOR}:$(readlink -f aptarchive/Packages.$COMPRESS)  Empty files can't be valid archives
 W: Failed to fetch ${COMPRESSOR}:$(readlink -f aptarchive/Packages.$COMPRESS)  Empty files can't be valid archives
 
 
@@ -107,26 +103,22 @@ testoverhttp() {
 	setupcompressor "$1"
 	setupcompressor "$1"
 
 
 	createemptyfile 'en'
 	createemptyfile 'en'
-	testaptgetupdate "Get:1 http://localhost  InRelease []
-Get:2 http://localhost  Packages []
-Get:3 http://localhost  Translation-en
+	testaptgetupdate "Get: http://localhost  Packages []
+Get: http://localhost  Translation-en
 Reading package lists..." "empty file en.$COMPRESS over http"
 Reading package lists..." "empty file en.$COMPRESS over http"
 
 
 	createemptyarchive 'en'
 	createemptyarchive 'en'
-	testaptgetupdate "Get:1 http://localhost  InRelease []
-Get:2 http://localhost  Packages []
-Get:3 http://localhost  Translation-en []
+	testaptgetupdate "Get: http://localhost  Packages []
+Get: http://localhost  Translation-en []
 Reading package lists..." "empty archive en.$COMPRESS over http"
 Reading package lists..." "empty archive en.$COMPRESS over http"
 
 
 	createemptyarchive 'Packages'
 	createemptyarchive 'Packages'
-	testaptgetupdate "Get:1 http://localhost  InRelease []
-Get:2 http://localhost  Packages []
+	testaptgetupdate "Get: http://localhost  Packages []
 Reading package lists..." "empty archive Packages.$COMPRESS over http"
 Reading package lists..." "empty archive Packages.$COMPRESS over http"
 
 
 	createemptyfile 'Packages'
 	createemptyfile 'Packages'
 	#FIXME: we should response with a good error message instead
 	#FIXME: we should response with a good error message instead
-	testaptgetupdate "Get:1 http://localhost  InRelease []
-Get:2 http://localhost  Packages
+	testaptgetupdate "Get: http://localhost  Packages
 Err http://localhost  Packages
 Err http://localhost  Packages
   Empty files can't be valid archives
   Empty files can't be valid archives
 W: Failed to fetch ${COMPRESSOR}:$(readlink -f rootdir/var/lib/apt/lists/partial/localhost:8080_Packages)  Empty files can't be valid archives
 W: Failed to fetch ${COMPRESSOR}:$(readlink -f rootdir/var/lib/apt/lists/partial/localhost:8080_Packages)  Empty files can't be valid archives

+ 61 - 0
test/integration/test-cve-2013-1051-InRelease-parsing

@@ -0,0 +1,61 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+
+setupenvironment
+configarchitecture 'i386'
+
+insertpackage 'stable' 'good-pkg' 'all' '1.0'
+
+setupaptarchive
+
+changetowebserver
+ARCHIVE='http://localhost/'
+msgtest 'Initial apt-get update should work with' 'InRelease'
+aptget update -qq && msgpass || msgfail
+
+# check that the setup is correct
+testequal "good-pkg:
+  Installed: (none)
+  Candidate: 1.0
+  Version table:
+     1.0 0
+        500 ${ARCHIVE} stable/main i386 Packages" aptcache policy good-pkg
+
+# now exchange to the Packages file, note that this could be
+# done via MITM too
+insertpackage 'stable' 'bad-mitm' 'all' '1.0'
+
+# this builds compressed files and a new (unsigned) Release
+buildaptarchivefromfiles '+1hour'
+
+# add a space into the BEGIN PGP SIGNATURE PART/END PGP SIGNATURE part
+# to trick apt - this is still legal to gpg(v)
+sed -i '/^-----BEGIN PGP SIGNATURE-----/,/^-----END PGP SIGNATURE-----/ s/^$/  /g'  aptarchive/dists/stable/InRelease
+
+# we append the (evil unsigned) Release file to the (good signed) InRelease
+cat aptarchive/dists/stable/Release >> aptarchive/dists/stable/InRelease
+
+
+# ensure the update fails
+# useful for debugging to add "-o Debug::pkgAcquire::auth=true"
+msgtest 'apt-get update for should fail with the modified' 'InRelease'
+aptget update 2>&1 | grep -q 'Hash Sum mismatch' > /dev/null && msgpass || msgfail
+
+# ensure there is no package
+testequal 'Reading package lists...
+Building dependency tree...
+E: Unable to locate package bad-mitm' aptget install bad-mitm -s
+
+# and verify that its not picked up
+testequal 'N: Unable to locate package bad-mitm' aptcache policy bad-mitm -q=0
+
+# and that the right one is used
+testequal "good-pkg:
+  Installed: (none)
+  Candidate: 1.0
+  Version table:
+     1.0 0
+        500 ${ARCHIVE} stable/main i386 Packages" aptcache policy good-pkg

+ 0 - 0
test/integration/test-releasefile-verification


Неке датотеке нису приказане због велике количине промена