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

properly implement pkgRecord::Parser for *.deb files

Implementing FileName() works for most cases for us, but other
frontends might need more and even for us its not very stable as
the normal Jump() implementation is pretty bad on a deb file and
produce errors on its own at times.
So, replacing this makeshift with a complete implementation by
mostly just shuffling code around.
David Kalnischkies пре 11 година
родитељ
комит
2f6a2fbbdc
51 измењених фајлова са 64173 додато и 61712 уклоњено
  1. 38 35
      apt-pkg/deb/debindexfile.cc
  2. 8 0
      apt-pkg/deb/debindexfile.h
  3. 53 55
      apt-pkg/deb/debrecords.cc
  4. 31 18
      apt-pkg/deb/debrecords.h
  5. 3 3
      apt-pkg/tagfile.cc
  6. 2 2
      doc/po/apt-doc.pot
  7. 130 85
      doc/po/fr.po
  8. 1164 1122
      po/apt-all.pot
  9. 1332 1279
      po/ar.po
  10. 1414 1358
      po/ast.po
  11. 1429 1376
      po/bg.po
  12. 1210 1160
      po/bs.po
  13. 1541 1488
      po/ca.po
  14. 1523 1470
      po/cs.po
  15. 1419 1363
      po/cy.po
  16. 1412 1356
      po/da.po
  17. 1558 1505
      po/de.po
  18. 1409 1352
      po/dz.po
  19. 1531 1475
      po/el.po
  20. 1540 1484
      po/es.po
  21. 1522 1465
      po/eu.po
  22. 1409 1353
      po/fi.po
  23. 1570 1517
      po/fr.po
  24. 1544 1489
      po/gl.po
  25. 1426 1372
      po/hu.po
  26. 1544 1489
      po/it.po
  27. 1415 1360
      po/ja.po
  28. 1398 1342
      po/km.po
  29. 1401 1345
      po/ko.po
  30. 1314 1261
      po/ku.po
  31. 1389 1336
      po/lt.po
  32. 1408 1352
      po/mr.po
  33. 1414 1358
      po/nb.po
  34. 1399 1343
      po/ne.po
  35. 1553 1498
      po/nl.po
  36. 1408 1352
      po/nn.po
  37. 1538 1485
      po/pl.po
  38. 1536 1483
      po/pt.po
  39. 1410 1354
      po/pt_BR.po
  40. 1535 1478
      po/ro.po
  41. 1553 1499
      po/ru.po
  42. 1533 1479
      po/sk.po
  43. 1545 1491
      po/sl.po
  44. 1531 1475
      po/sv.po
  45. 1395 1342
      po/th.po
  46. 1411 1355
      po/tl.po
  47. 1550 1497
      po/tr.po
  48. 1550 1496
      po/uk.po
  49. 1439 1385
      po/vi.po
  50. 1393 1338
      po/zh_CN.po
  51. 1393 1337
      po/zh_TW.po

+ 38 - 35
apt-pkg/deb/debindexfile.cc

@@ -34,6 +34,7 @@
 
 #include <stdio.h>
 #include <iostream>
+#include <sstream>
 #include <string>
 #include <sys/stat.h>
 									/*}}}*/
@@ -671,8 +672,7 @@ APT_CONST bool debStatusIndex::Exists() const
 }
 									/*}}}*/
 
-// debDebPkgFile - Single .deb file                           		/*{{{*/
-// ---------------------------------------------------------------------
+// debDebPkgFile - Single .deb file					/*{{{*/
 debDebPkgFileIndex::debDebPkgFileIndex(std::string DebFile)
    : pkgIndexFile(true), DebFile(DebFile)
 {
@@ -688,53 +688,56 @@ bool debDebPkgFileIndex::Exists() const
 {
    return FileExists(DebFile);
 }
-bool debDebPkgFileIndex::Merge(pkgCacheGenerator& Gen, OpProgress* Prog) const
+bool debDebPkgFileIndex::GetContent(std::ostream &content, std::string const &debfile)
 {
-   if(Prog)
-      Prog->SubProgress(0, "Reading deb file");
-
-   // get the control data out of the deb file vid dpkg -I
-   // ... can I haz libdpkg?
-   Configuration::Item const *Opts = _config->Tree("DPkg::Options");
-   std::string dpkg = _config->Find("Dir::Bin::dpkg","dpkg");
+   // get the control data out of the deb file via dpkg-deb -I
+   std::string dpkg = _config->Find("Dir::Bin::dpkg","dpkg-deb");
    std::vector<const char *> Args;
    Args.push_back(dpkg.c_str());
-   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("-I");
-   Args.push_back(DebFile.c_str());
+   Args.push_back(debfile.c_str());
    Args.push_back("control");
    Args.push_back(NULL);
    FileFd PipeFd;
    pid_t Child;
    if(Popen((const char**)&Args[0], PipeFd, Child, FileFd::ReadOnly) == false)
       return _error->Error("Popen failed");
-   // FIXME: static buffer
-   char buf[8*1024];
-   unsigned long long n = 0;
-   if(PipeFd.Read(buf, sizeof(buf)-1, &n) == false)
-      return _error->Errno("read", "Failed to read dpkg pipe");
+
+   char buffer[1024];
+   do {
+      unsigned long long actual = 0;
+      if (PipeFd.Read(buffer, sizeof(buffer)-1, &actual) == false)
+	 return _error->Errno("read", "Failed to read dpkg pipe");
+      if (actual == 0)
+	 break;
+      buffer[actual] = '\0';
+      content << buffer;
+   } while(true);
    ExecWait(Child, "Popen");
 
-   // now write the control data to a tempfile
+   content << "Filename: " << debfile << "\n";
+   struct stat Buf;
+   if (stat(debfile.c_str(), &Buf) != 0)
+      return false;
+   content << "Size: " << Buf.st_size << "\n";
+
+   return true;
+}
+bool debDebPkgFileIndex::Merge(pkgCacheGenerator& Gen, OpProgress* Prog) const
+{
+   if(Prog)
+      Prog->SubProgress(0, "Reading deb file");
+
+   // write the control data to a tempfile
    SPtr<FileFd> DebControl = GetTempFile("deb-file-" + flNotDir(DebFile));
    if(DebControl == NULL)
       return false;
-   DebControl->Write(buf, n);
-   // append size of the file
-   FileFd Fd(DebFile, FileFd::ReadOnly);
-   string Size;
-   strprintf(Size, "Size: %llu\n", Fd.Size());
-   DebControl->Write(Size.c_str(), Size.size());
-   // and rewind for the listparser
+   std::ostringstream content;
+   if (GetContent(content, DebFile) == false)
+      return false;
+   std::string const contentstr = content.str();
+   DebControl->Write(contentstr.c_str(), contentstr.length());
+   // rewind for the listparser
    DebControl->Seek(0);
 
    // and give it to the list parser
@@ -838,7 +841,7 @@ class APT_HIDDEN debIFTypeDebPkgFile : public pkgIndexFile::Type
    public:
    virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const 
    {
-      return new debDebFileRecordParser(File.FileName(),*File.Cache());
+      return new debDebFileRecordParser(File.FileName());
    };
    debIFTypeDebPkgFile() {Label = "deb Package file";};
 };

+ 8 - 0
apt-pkg/deb/debindexfile.h

@@ -177,6 +177,14 @@ class APT_HIDDEN debDebPkgFileIndex : public pkgIndexFile
       return DebFile;
    }
 
+   /** get the control (file) content of the deb file
+    *
+    * @param[out] content of the control file
+    * @param debfile is the filename of the .deb-file
+    * @return \b true if successful, otherwise \b false.
+    */
+   static bool GetContent(std::ostream &content, std::string const &debfile);
+
    // Interface for the Cache Generator
    virtual bool Exists() const;
    virtual bool HasPackages() const {

+ 53 - 55
apt-pkg/deb/debrecords.cc

@@ -11,35 +11,35 @@
 #include <config.h>
 
 #include <apt-pkg/debrecords.h>
+#include <apt-pkg/debindexfile.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/aptconfiguration.h>
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/cacheiterators.h>
 #include <apt-pkg/pkgcache.h>
 #include <apt-pkg/tagfile.h>
+#include <apt-pkg/error.h>
 
 #include <string.h>
 #include <algorithm>
+#include <sstream>
 #include <string>
 #include <vector>
 #include <langinfo.h>
+
+#include <apti18n.h>
 									/*}}}*/
 
 using std::string;
 
 // RecordParser::debRecordParser - Constructor				/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-debRecordParser::debRecordParser(string FileName,pkgCache &Cache) : 
-                  File(FileName,FileFd::ReadOnly, FileFd::Extension),
-                  Tags(&File, std::max(Cache.Head().MaxVerFileSize, 
-				       Cache.Head().MaxDescFileSize) + 200)
+debRecordParser::debRecordParser(string FileName,pkgCache &Cache) :
+   debRecordParserBase(), File(FileName, FileFd::ReadOnly, FileFd::Extension),
+   Tags(&File, std::max(Cache.Head().MaxVerFileSize, Cache.Head().MaxDescFileSize) + 200)
 {
 }
 									/*}}}*/
 // RecordParser::Jump - Jump to a specific record			/*{{{*/
-// ---------------------------------------------------------------------
-/* */
 bool debRecordParser::Jump(pkgCache::VerFileIterator const &Ver)
 {
    return Tags.Jump(Section,Ver->Offset);
@@ -49,32 +49,28 @@ bool debRecordParser::Jump(pkgCache::DescFileIterator const &Desc)
    return Tags.Jump(Section,Desc->Offset);
 }
 									/*}}}*/
-// RecordParser::FileName - Return the archive filename on the site	/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::FileName()
+debRecordParser::~debRecordParser() {}
+
+// RecordParserBase::FileName - Return the archive filename on the site	/*{{{*/
+string debRecordParserBase::FileName()
 {
    return Section.FindS("Filename");
 }
 									/*}}}*/
-// RecordParser::Name - Return the package name				/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::Name()
+// RecordParserBase::Name - Return the package name			/*{{{*/
+string debRecordParserBase::Name()
 {
    return Section.FindS("Package");
 }
 									/*}}}*/
-// RecordParser::Homepage - Return the package homepage		       	/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::Homepage()
+// RecordParserBase::Homepage - Return the package homepage		/*{{{*/
+string debRecordParserBase::Homepage()
 {
    return Section.FindS("Homepage");
 }
 									/*}}}*/
-// RecordParser::Hashes - return the available archive hashes		/*{{{*/
-HashStringList debRecordParser::Hashes() const
+// RecordParserBase::Hashes - return the available archive hashes	/*{{{*/
+HashStringList debRecordParserBase::Hashes() const
 {
    HashStringList hashes;
    for (char const * const * type = HashString::SupportedHashes(); *type != NULL; ++type)
@@ -86,27 +82,20 @@ HashStringList debRecordParser::Hashes() const
    return hashes;
 }
 									/*}}}*/
-// RecordParser::Maintainer - Return the maintainer email		/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::Maintainer()
+// RecordParserBase::Maintainer - Return the maintainer email		/*{{{*/
+string debRecordParserBase::Maintainer()
 {
    return Section.FindS("Maintainer");
 }
 									/*}}}*/
-// RecordParser::RecordField - Return the value of an arbitrary field       /*{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::RecordField(const char *fieldName)
+// RecordParserBase::RecordField - Return the value of an arbitrary field	/*{{*/
+string debRecordParserBase::RecordField(const char *fieldName)
 {
    return Section.FindS(fieldName);
 }
-
-                                                                        /*}}}*/
-// RecordParser::ShortDesc - Return a 1 line description		/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::ShortDesc(std::string const &lang)
+									/*}}}*/
+// RecordParserBase::ShortDesc - Return a 1 line description		/*{{{*/
+string debRecordParserBase::ShortDesc(std::string const &lang)
 {
    string const Res = LongDesc(lang);
    if (Res.empty() == true)
@@ -117,10 +106,8 @@ string debRecordParser::ShortDesc(std::string const &lang)
    return string(Res,0,Pos);
 }
 									/*}}}*/
-// RecordParser::LongDesc - Return a longer description			/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::LongDesc(std::string const &lang)
+// RecordParserBase::LongDesc - Return a longer description		/*{{{*/
+string debRecordParserBase::LongDesc(std::string const &lang)
 {
    string orig;
    if (lang.empty() == true)
@@ -162,12 +149,9 @@ string debRecordParser::LongDesc(std::string const &lang)
 }
 									/*}}}*/
 
-static const char *SourceVerSeparators = " ()";
-
-// RecordParser::SourcePkg - Return the source package name if any	/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::SourcePkg()
+static const char * const SourceVerSeparators = " ()";
+// RecordParserBase::SourcePkg - Return the source package name if any	/*{{{*/
+string debRecordParserBase::SourcePkg()
 {
    string Res = Section.FindS("Source");
    string::size_type Pos = Res.find_first_of(SourceVerSeparators);
@@ -176,10 +160,8 @@ string debRecordParser::SourcePkg()
    return string(Res,0,Pos);
 }
 									/*}}}*/
-// RecordParser::SourceVer - Return the source version number if present	/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-string debRecordParser::SourceVer()
+// RecordParserBase::SourceVer - Return the source version number if present	/*{{{*/
+string debRecordParserBase::SourceVer()
 {
    string Pkg = Section.FindS("Source");
    string::size_type Pos = Pkg.find_first_of(SourceVerSeparators);
@@ -199,13 +181,29 @@ string debRecordParser::SourceVer()
      return string(Pkg, VerStart, VerEnd - VerStart);
 }
 									/*}}}*/
-// RecordParser::GetRec - Return the whole record			/*{{{*/
-// ---------------------------------------------------------------------
-/* */
-void debRecordParser::GetRec(const char *&Start,const char *&Stop)
+// RecordParserBase::GetRec - Return the whole record			/*{{{*/
+void debRecordParserBase::GetRec(const char *&Start,const char *&Stop)
 {
    Section.GetSection(Start,Stop);
 }
 									/*}}}*/
+debRecordParserBase::~debRecordParserBase() {}
 
-debRecordParser::~debRecordParser() {}
+bool debDebFileRecordParser::LoadContent()
+{
+   // load content only once
+   if (controlContent.empty() == false)
+      return true;
+
+   std::ostringstream content;
+   if (debDebPkgFileIndex::GetContent(content, debFileName) == false)
+      return false;
+   // add two newlines to make sure the scanner finds the section,
+   // which is usually done by pkgTagFile automatically if needed.
+   content << "\n\n";
+
+   controlContent = content.str();
+   if (Section.Scan(controlContent.c_str(), controlContent.length()) == false)
+      return _error->Error(_("Unable to parse package file %s (%d)"), debFileName.c_str(), 3);
+   return true;
+}

+ 31 - 18
apt-pkg/deb/debrecords.h

@@ -25,21 +25,12 @@
 #include <apt-pkg/indexfile.h>
 #endif
 
-class APT_HIDDEN debRecordParser : public pkgRecords::Parser
+class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
 {
-   /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
-   
  protected:
-   FileFd File;
-   pkgTagFile Tags;
    pkgTagSection Section;
-   
-   virtual bool Jump(pkgCache::VerFileIterator const &Ver);
-   virtual bool Jump(pkgCache::DescFileIterator const &Desc);
-   
- public:
 
+ public:
    // These refer to the archive file for the Version
    virtual std::string FileName();
    virtual std::string SourcePkg();
@@ -58,20 +49,42 @@ class APT_HIDDEN debRecordParser : public pkgRecords::Parser
    virtual std::string RecordField(const char *fieldName);
 
    virtual void GetRec(const char *&Start,const char *&Stop);
-   
+
+   debRecordParserBase() : Parser() {}
+   virtual ~debRecordParserBase();
+};
+
+class APT_HIDDEN debRecordParser : public debRecordParserBase
+{
+ protected:
+   FileFd File;
+   pkgTagFile Tags;
+
+   virtual bool Jump(pkgCache::VerFileIterator const &Ver);
+   virtual bool Jump(pkgCache::DescFileIterator const &Desc);
+
+ public:
    debRecordParser(std::string FileName,pkgCache &Cache);
    virtual ~debRecordParser();
 };
 
 // custom record parser that reads deb files directly
-class APT_HIDDEN debDebFileRecordParser : public debRecordParser
+class APT_HIDDEN debDebFileRecordParser : public debRecordParserBase
 {
+   std::string debFileName;
+   std::string controlContent;
+
+   APT_HIDDEN bool LoadContent();
+ protected:
+   // single file files, so no jumping whatsoever
+   bool Jump(pkgCache::VerFileIterator const &) { return LoadContent(); }
+   bool Jump(pkgCache::DescFileIterator const &) { return LoadContent(); }
+
  public:
-   virtual std::string FileName() {
-      return File.Name();
-   }
-   debDebFileRecordParser(std::string FileName,pkgCache &Cache)
-      : debRecordParser(FileName, Cache) {};
+   virtual std::string FileName() { return debFileName; }
+
+   debDebFileRecordParser(std::string FileName)
+      : debRecordParserBase(), debFileName(FileName) {};
 };
 
 #endif

+ 3 - 3
apt-pkg/tagfile.cc

@@ -183,8 +183,8 @@ bool pkgTagFile::Step(pkgTagSection &Tag)
 	    break;
 
 	 if (Resize() == false)
-	    return _error->Error(_("Unable to parse package file %s (1)"),
-		  d->Fd.Name().c_str());
+	    return _error->Error(_("Unable to parse package file %s (%d)"),
+		  d->Fd.Name().c_str(), 1);
 
       } while (Tag.Scan(d->Start,d->End - d->Start, false) == false);
    }
@@ -283,7 +283,7 @@ bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long long Offset)
       return false;
    
    if (Tag.Scan(d->Start, d->End - d->Start, false) == false)
-      return _error->Error(_("Unable to parse package file %s (2)"),d->Fd.Name().c_str());
+      return _error->Error(_("Unable to parse package file %s (%d)"),d->Fd.Name().c_str(), 2);
    
    return true;
 }

+ 2 - 2
doc/po/apt-doc.pot

@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: apt-doc 1.0.9.5\n"
+"Project-Id-Version: apt-doc 1.0.9.7\n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2015-01-16 04:37-0500\n"
+"POT-Creation-Date: 2015-03-09 02:17+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"

+ 130 - 85
doc/po/fr.po

@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-12-23 13:24+0100\n"
+"POT-Creation-Date: 2015-03-09 02:17+0100\n"
 "PO-Revision-Date: 2014-11-15 17:26+0100\n"
 "Last-Translator: Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -842,9 +842,9 @@ msgstr ""
 "literal> activée par défaut."
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt.8.xml:170 apt-get.8.xml:552 apt-cache.8.xml:346 apt-key.8.xml:191
+#: apt.8.xml:170 apt-get.8.xml:560 apt-cache.8.xml:346 apt-key.8.xml:191
 #: apt-mark.8.xml:127 apt-secure.8.xml:187 apt-cdrom.8.xml:148
-#: apt-config.8.xml:105 apt.conf.5.xml:1222 apt_preferences.5.xml:701
+#: apt-config.8.xml:105 apt.conf.5.xml:1254 apt_preferences.5.xml:701
 #: sources.list.5.xml:274 apt-extracttemplates.1.xml:66 apt-sortpkgs.1.xml:59
 #: apt-ftparchive.1.xml:603
 msgid "See Also"
@@ -860,7 +860,7 @@ msgstr ""
 "d'APT dans &guidesdir;, &apt-preferences;, le « HOWTO » d'APT."
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt.8.xml:176 apt-get.8.xml:558 apt-cache.8.xml:351 apt-mark.8.xml:131
+#: apt.8.xml:176 apt-get.8.xml:566 apt-cache.8.xml:351 apt-mark.8.xml:131
 #: apt-cdrom.8.xml:153 apt-config.8.xml:110 apt-extracttemplates.1.xml:70
 #: apt-sortpkgs.1.xml:63 apt-ftparchive.1.xml:607
 msgid "Diagnostics"
@@ -1773,6 +1773,15 @@ msgstr ""
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #: apt-get.8.xml:529
 msgid ""
+"Forbid the update command to acquire unverifiable data from configured "
+"sources. Apt will fail at the update command for repositories without valid "
+"cryptographically signatures.  Configuration Item: <literal>Acquire::"
+"AllowInsecureRepositories</literal>."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt-get.8.xml:537
+msgid ""
 "Show user friendly progress information in the terminal window when packages "
 "are installed, upgraded or removed. For a machine parsable version of this "
 "data see README.progress-reporting in the apt doc directory.  Configuration "
@@ -1787,13 +1796,13 @@ msgstr ""
 "Fancy</literal>."
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt-get.8.xml:542 apt-cache.8.xml:339 apt-key.8.xml:170 apt-mark.8.xml:121
-#: apt.conf.5.xml:1216 apt_preferences.5.xml:694
+#: apt-get.8.xml:550 apt-cache.8.xml:339 apt-key.8.xml:170 apt-mark.8.xml:121
+#: apt.conf.5.xml:1248 apt_preferences.5.xml:694
 msgid "Files"
 msgstr "Fichiers"
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt-get.8.xml:553
+#: apt-get.8.xml:561
 msgid ""
 "&apt-cache;, &apt-cdrom;, &dpkg;, &sources-list;, &apt-conf;, &apt-config;, "
 "&apt-secure;, The APT User's guide in &guidesdir;, &apt-preferences;, the "
@@ -1804,7 +1813,7 @@ msgstr ""
 "« HOWTO » d'APT."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt-get.8.xml:559
+#: apt-get.8.xml:567
 msgid ""
 "<command>apt-get</command> returns zero on normal operation, decimal 100 on "
 "error."
@@ -4076,14 +4085,23 @@ msgstr ""
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
 #: apt.conf.5.xml:384
+#, fuzzy
+#| msgid ""
+#| "The setting <literal>Acquire::http::Pipeline-Depth</literal> can be used "
+#| "to enable HTTP pipelining (RFC 2616 section 8.1.2.2) which can be "
+#| "beneficial e.g. on high-latency connections. It specifies how many "
+#| "requests are sent in a pipeline.  Previous APT versions had a default of "
+#| "10 for this setting, but the default value is now 0 (= disabled) to avoid "
+#| "problems with the ever-growing amount of webservers and proxies which "
+#| "choose to not conform to the HTTP/1.1 specification."
 msgid ""
 "The setting <literal>Acquire::http::Pipeline-Depth</literal> can be used to "
 "enable HTTP pipelining (RFC 2616 section 8.1.2.2) which can be beneficial e."
 "g. on high-latency connections. It specifies how many requests are sent in a "
-"pipeline.  Previous APT versions had a default of 10 for this setting, but "
-"the default value is now 0 (= disabled) to avoid problems with the ever-"
-"growing amount of webservers and proxies which choose to not conform to the "
-"HTTP/1.1 specification."
+"pipeline.  APT tries to detect and workaround misbehaving webservers and "
+"proxies at runtime, but if you know that yours does not conform to the "
+"HTTP/1.1 specification pipelining can be disabled by setting the value to 0. "
+"It is enabled by default with the value 10."
 msgstr ""
 "Le réglage <literal>Acquire::http::Pipeline-Depth</literal> permet "
 "d'utiliser l'enchaînement HTTP (« HTTP pipelining », RFC 2616 section "
@@ -4546,13 +4564,40 @@ msgstr "Utilisation imposée du protocole IPv4 lors des téléchargements."
 msgid "When downloading, force to use only the IPv6 protocol."
 msgstr "Utilisation imposée du protocole IPv6 lors des téléchargements."
 
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:591
+msgid ""
+"The maximum file size of Release/Release.gpg/InRelease files.  The default "
+"is 10MB."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:598
+msgid ""
+"Allow the update operation to load data files from a repository without a "
+"trusted signature. If enabled this option no data files will be loaded and "
+"the update operation fails with a error for this source. The default is "
+"false for backward compatibility. This will be changed in the future."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml:609
+msgid ""
+"Allow that a repository that was previously gpg signed to become unsigned "
+"durign a update operation. When there is no valid signature of a perviously "
+"trusted repository apt will refuse the update. This option can be used to "
+"override this protection. You almost certainly never want to enable this. "
+"The default is false.  Note that apt will still consider packages from this "
+"source untrusted and warn about them if you try to install them."
+msgstr ""
+
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:592
+#: apt.conf.5.xml:624
 msgid "Directories"
 msgstr "Les répertoires"
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:594
+#: apt.conf.5.xml:626
 msgid ""
 "The <literal>Dir::State</literal> section has directories that pertain to "
 "local state information. <literal>lists</literal> is the directory to place "
@@ -4572,7 +4617,7 @@ msgstr ""
 "<filename>./</filename>."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:601
+#: apt.conf.5.xml:633
 msgid ""
 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
 "information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -4597,7 +4642,7 @@ msgstr ""
 "dans <literal>Dir::Cache</literal>."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:611
+#: apt.conf.5.xml:643
 msgid ""
 "<literal>Dir::Etc</literal> contains the location of configuration files, "
 "<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -4612,7 +4657,7 @@ msgstr ""
 "fichier de configuration indiqué par la variable <envar>APT_CONFIG</envar>)."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:617
+#: apt.conf.5.xml:649
 msgid ""
 "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 "
@@ -4623,7 +4668,7 @@ msgstr ""
 "configuration est chargé."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:621
+#: apt.conf.5.xml:653
 msgid ""
 "Binary programs are pointed to by <literal>Dir::Bin</literal>. <literal>Dir::"
 "Bin::Methods</literal> specifies the location of the method handlers and "
@@ -4641,7 +4686,7 @@ msgstr ""
 "programmes correspondants."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:629
+#: apt.conf.5.xml:661
 msgid ""
 "The configuration item <literal>RootDir</literal> has a special meaning.  If "
 "set, all paths in <literal>Dir::</literal> will be relative to "
@@ -4663,7 +4708,7 @@ msgstr ""
 "staging/var/lib/dpkg/status</filename>."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:642
+#: apt.conf.5.xml:674
 msgid ""
 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
 "which files APT should silently ignore while parsing the files in the "
@@ -4681,12 +4726,12 @@ msgstr ""
 "est possible d'utiliser la syntaxe des expressions rationnelles."
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:651
+#: apt.conf.5.xml:683
 msgid "APT in DSelect"
 msgstr "APT et DSelect"
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:653
+#: apt.conf.5.xml:685
 msgid ""
 "When APT is used as a &dselect; method several configuration directives "
 "control the default behavior. These are in the <literal>DSelect</literal> "
@@ -4697,7 +4742,7 @@ msgstr ""
 "<literal>DSelect</literal>."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:658
+#: apt.conf.5.xml:690
 msgid ""
 "Cache Clean mode; this value may be one of <literal>always</literal>, "
 "<literal>prompt</literal>, <literal>auto</literal>, <literal>pre-auto</"
@@ -4720,7 +4765,7 @@ msgstr ""
 "avant de récupérer de nouveaux paquets."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:672
+#: apt.conf.5.xml:704
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the install phase."
@@ -4729,7 +4774,7 @@ msgstr ""
 "&apt-get; lors de la phase d'installation."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:677
+#: apt.conf.5.xml:709
 msgid ""
 "The contents of this variable are passed to &apt-get; as command line "
 "options when it is run for the update phase."
@@ -4738,7 +4783,7 @@ msgstr ""
 "&apt-get; lors de la phase de mise à jour."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:682
+#: apt.conf.5.xml:714
 msgid ""
 "If true the [U]pdate operation in &dselect; will always prompt to continue.  "
 "The default is to prompt only on error."
@@ -4748,12 +4793,12 @@ msgstr ""
 "d'erreur que l'on propose à l'utilisateur d'intervenir."
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:688
+#: apt.conf.5.xml:720
 msgid "How APT calls &dpkg;"
 msgstr "Méthode d'appel de &dpkg; par APT"
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:689
+#: apt.conf.5.xml:721
 msgid ""
 "Several configuration directives control how APT invokes &dpkg;. These are "
 "in the <literal>DPkg</literal> section."
@@ -4762,7 +4807,7 @@ msgstr ""
 "&dpkg; : elles figurent dans la section <literal>DPkg</literal>."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:694
+#: apt.conf.5.xml:726
 msgid ""
 "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 "
@@ -4773,7 +4818,7 @@ msgstr ""
 "est passé comme un seul paramètre à &dpkg;."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:700
+#: apt.conf.5.xml:732
 msgid ""
 "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 "
@@ -4786,7 +4831,7 @@ msgstr ""
 "<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>
-#: apt.conf.5.xml:707
+#: apt.conf.5.xml:739
 msgid ""
 "This is a list of shell commands to run before invoking &dpkg;. Like "
 "<literal>options</literal> this must be specified in list notation. The "
@@ -4804,7 +4849,7 @@ msgstr ""
 "l'entrée standard."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:714
+#: apt.conf.5.xml:746
 msgid ""
 "Version 2 of this protocol dumps more information, including the protocol "
 "version, the APT configuration space and the packages, files and versions "
@@ -4818,7 +4863,7 @@ msgstr ""
 "déposée."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:719
+#: apt.conf.5.xml:751
 msgid ""
 "The version of the protocol to be used for the command "
 "<literal><replaceable>cmd</replaceable></literal> can be chosen by setting "
@@ -4835,7 +4880,7 @@ msgstr ""
 "version la plus haute qu'il gère."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:726
+#: apt.conf.5.xml:758
 msgid ""
 "The file descriptor to be used to send the information can be requested with "
 "<literal>DPkg::Tools::options::<replaceable>cmd</replaceable>::InfoFD</"
@@ -4853,7 +4898,7 @@ msgstr ""
 "confirmation le numéro du descripteur de fichier utilisé."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:736
+#: apt.conf.5.xml:768
 msgid ""
 "APT chdirs to this directory before invoking &dpkg;, the default is "
 "<filename>/</filename>."
@@ -4862,7 +4907,7 @@ msgstr ""
 "le répertoire <filename>/</filename>."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:741
+#: apt.conf.5.xml:773
 msgid ""
 "These options are passed to &dpkg-buildpackage; when compiling packages; the "
 "default is to disable signing and produce all binaries."
@@ -4872,14 +4917,14 @@ msgstr ""
 "créés."
 
 #. type: Content of: <refentry><refsect1><refsect2><title>
-#: apt.conf.5.xml:746
+#: apt.conf.5.xml:778
 msgid "dpkg trigger usage (and related options)"
 msgstr ""
 "utilisation des actions différées (« triggers ») de dpkg (et options "
 "associées)"
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:747
+#: apt.conf.5.xml:779
 msgid ""
 "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 "
@@ -4906,7 +4951,7 @@ msgstr ""
 "pendant la configuration des paquets."
 
 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
-#: apt.conf.5.xml:762
+#: apt.conf.5.xml:794
 #, no-wrap
 msgid ""
 "DPkg::NoTriggers \"true\";\n"
@@ -4920,7 +4965,7 @@ msgstr ""
 "DPkg::TriggersPending \"true\";"
 
 #. type: Content of: <refentry><refsect1><refsect2><para>
-#: apt.conf.5.xml:756
+#: apt.conf.5.xml:788
 msgid ""
 "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 "
@@ -4944,7 +4989,7 @@ msgstr ""
 "<placeholder type=\"literallayout\" id=\"0\"/>."
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:769
+#: apt.conf.5.xml:801
 msgid ""
 "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 "
@@ -4967,7 +5012,7 @@ msgstr ""
 "options « unpack » et « remove »."
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:777
+#: apt.conf.5.xml:809
 msgid ""
 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
 "and \"<literal>no</literal>\".  The default value is \"<literal>all</literal>"
@@ -4997,7 +5042,7 @@ msgstr ""
 "configuré et donc éventuellement non amorçable."
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:792
+#: apt.conf.5.xml:824
 msgid ""
 "If this option is set APT will call <command>dpkg --configure --pending</"
 "command> to let &dpkg; handle all required configurations and triggers. This "
@@ -5016,7 +5061,7 @@ msgstr ""
 "peut conserver l'option active."
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:799
+#: apt.conf.5.xml:831
 msgid ""
 "Useful for the <literal>smart</literal> configuration as a package which has "
 "pending triggers is not considered as <literal>installed</literal>, and "
@@ -5034,7 +5079,7 @@ msgstr ""
 "celles concernant le paquet en cours de traitement."
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
-#: apt.conf.5.xml:812
+#: apt.conf.5.xml:844
 #, no-wrap
 msgid ""
 "OrderList::Score {\n"
@@ -5052,7 +5097,7 @@ msgstr ""
 "};"
 
 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:805
+#: apt.conf.5.xml:837
 msgid ""
 "Essential packages (and their dependencies) should be configured immediately "
 "after unpacking. It is a good idea to do this quite early in the upgrade "
@@ -5078,12 +5123,12 @@ msgstr ""
 "id=\"0\"/>"
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:825
+#: apt.conf.5.xml:857
 msgid "Periodic and Archives options"
 msgstr "Options « Periodic » et « Archive »"
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:826
+#: apt.conf.5.xml:858
 msgid ""
 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
 "of options configure behavior of apt periodic updates, which is done by the "
@@ -5095,12 +5140,12 @@ msgstr ""
 "script <literal>/etc/cron.daily/apt</literal>, lancé quotidiennement."
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:834
+#: apt.conf.5.xml:866
 msgid "Debug options"
 msgstr "Les options de débogage"
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:836
+#: apt.conf.5.xml:868
 msgid ""
 "Enabling options in the <literal>Debug::</literal> section will cause "
 "debugging information to be sent to the standard error stream of the program "
@@ -5118,7 +5163,7 @@ msgstr ""
 "peuvent tout de même être utiles :"
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:847
+#: apt.conf.5.xml:879
 msgid ""
 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
 "decisions made by <literal>dist-upgrade, upgrade, install, remove, purge</"
@@ -5129,7 +5174,7 @@ msgstr ""
 "upgrade, upgrade, install, remove et purge</literal>."
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:855
+#: apt.conf.5.xml:887
 msgid ""
 "<literal>Debug::NoLocking</literal> disables all file locking.  This can be "
 "used to run some operations (for instance, <literal>apt-get -s install</"
@@ -5141,7 +5186,7 @@ msgstr ""
 "superutilisateur."
 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:864
+#: apt.conf.5.xml:896
 msgid ""
 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
 "time that <literal>apt</literal> invokes &dpkg;."
@@ -5153,7 +5198,7 @@ msgstr ""
 #. 	   motivating example, except I haven't a clue why you'd want
 #. 	   to do this. 
 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
-#: apt.conf.5.xml:872
+#: apt.conf.5.xml:904
 msgid ""
 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
 "in CD-ROM IDs."
@@ -5162,12 +5207,12 @@ msgstr ""
 "type statfs dans les identifiants de CD."
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:882
+#: apt.conf.5.xml:914
 msgid "A full list of debugging options to apt follows."
 msgstr "Liste complète des options de débogage de APT :"
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:891
+#: apt.conf.5.xml:923
 msgid ""
 "Print information related to accessing <literal>cdrom://</literal> sources."
 msgstr ""
@@ -5175,24 +5220,24 @@ msgstr ""
 "literal>"
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:902
+#: apt.conf.5.xml:934
 msgid "Print information related to downloading packages using FTP."
 msgstr ""
 "Affiche les informations concernant le téléchargement de paquets par FTP."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:913
+#: apt.conf.5.xml:945
 msgid "Print information related to downloading packages using HTTP."
 msgstr ""
 "Affiche les informations concernant le téléchargement de paquets par HTTP."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:924
+#: apt.conf.5.xml:956
 msgid "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>
-#: apt.conf.5.xml:935
+#: apt.conf.5.xml:967
 msgid ""
 "Print information related to verifying cryptographic signatures using "
 "<literal>gpg</literal>."
@@ -5201,7 +5246,7 @@ msgstr ""
 "cryptographiques avec <literal>gpg</literal>."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:946
+#: apt.conf.5.xml:978
 msgid ""
 "Output information about the process of accessing collections of packages "
 "stored on CD-ROMs."
@@ -5210,14 +5255,14 @@ msgstr ""
 "stockées sur CD."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:956
+#: apt.conf.5.xml:988
 msgid "Describes the process of resolving build-dependencies in &apt-get;."
 msgstr ""
 "Décrit le processus de résolution des dépendances pour la construction de "
 "paquets source ( « build-dependencies » ) par &apt-get;."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:966
+#: apt.conf.5.xml:998
 msgid ""
 "Output each cryptographic hash that is generated by the <literal>apt</"
 "literal> libraries."
@@ -5226,7 +5271,7 @@ msgstr ""
 "librairies d'<literal>apt</literal>."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:976
+#: apt.conf.5.xml:1008
 msgid ""
 "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 "
@@ -5237,7 +5282,7 @@ msgstr ""
 "utilisés sur le système de fichier du CD."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:987
+#: apt.conf.5.xml:1019
 msgid ""
 "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."
@@ -5247,14 +5292,14 @@ msgstr ""
 "temps."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:999
+#: apt.conf.5.xml:1031
 msgid "Log when items are added to or removed from the global download queue."
 msgstr ""
 "Trace les ajouts et suppressions d'éléments de la queue globale de "
 "téléchargement."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1009
+#: apt.conf.5.xml:1041
 msgid ""
 "Output status messages and errors related to verifying checksums and "
 "cryptographic signatures of downloaded files."
@@ -5264,7 +5309,7 @@ msgstr ""
 "éventuelles."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1019
+#: apt.conf.5.xml:1051
 msgid ""
 "Output information about downloading and applying package index list diffs, "
 "and errors relating to package index list diffs."
@@ -5274,7 +5319,7 @@ msgstr ""
 "éventuelles."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1031
+#: apt.conf.5.xml:1063
 msgid ""
 "Output information related to patching apt package lists when downloading "
 "index diffs instead of full indices."
@@ -5284,7 +5329,7 @@ msgstr ""
 "place des fichiers complets."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1042
+#: apt.conf.5.xml:1074
 msgid ""
 "Log all interactions with the sub-processes that actually perform downloads."
 msgstr ""
@@ -5292,7 +5337,7 @@ msgstr ""
 "effectivement des téléchargements."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1053
+#: apt.conf.5.xml:1085
 msgid ""
 "Log events related to the automatically-installed status of packages and to "
 "the removal of unused packages."
@@ -5301,7 +5346,7 @@ msgstr ""
 "automatiquement, et la suppression des paquets inutiles."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1063
+#: apt.conf.5.xml:1095
 msgid ""
 "Generate debug messages describing which packages are being automatically "
 "installed to resolve dependencies.  This corresponds to the initial auto-"
@@ -5316,7 +5361,7 @@ msgstr ""
 "de APT ; voir <literal>Debug::pkgProblemResolver</literal> pour ce dernier."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1077
+#: apt.conf.5.xml:1109
 msgid ""
 "Generate debug messages describing which packages are marked as keep/install/"
 "remove while the ProblemResolver does his work.  Each addition or deletion "
@@ -5352,7 +5397,7 @@ msgstr ""
 "de APT ; voir <literal>Debug::pkgProblemResolver</literal> pour ce dernier."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1098
+#: apt.conf.5.xml:1130
 msgid ""
 "When invoking &dpkg;, output the precise command line with which it is being "
 "invoked, with arguments separated by a single space character."
@@ -5361,7 +5406,7 @@ msgstr ""
 "paramètres sont séparés par des espaces."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1109
+#: apt.conf.5.xml:1141
 msgid ""
 "Output all the data received from &dpkg; on the status file descriptor and "
 "any errors encountered while parsing it."
@@ -5371,7 +5416,7 @@ msgstr ""
 "fichier."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1120
+#: apt.conf.5.xml:1152
 msgid ""
 "Generate a trace of the algorithm that decides the order in which "
 "<literal>apt</literal> should pass packages to &dpkg;."
@@ -5380,18 +5425,18 @@ msgstr ""
 "<literal>apt</literal> passe les paquets à &dpkg;."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1132
+#: apt.conf.5.xml:1164
 msgid ""
 "Output status messages tracing the steps performed when invoking &dpkg;."
 msgstr "Affiche le détail des opérations liées à l'invocation de &dpkg;."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1143
+#: apt.conf.5.xml:1175
 msgid "Output the priority of each package list on startup."
 msgstr "Affiche, au lancement, la priorité de chaque liste de paquets."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1153
+#: apt.conf.5.xml:1185
 msgid ""
 "Trace the execution of the dependency resolver (this applies only to what "
 "happens when a complex dependency problem is encountered)."
@@ -5400,7 +5445,7 @@ msgstr ""
 "concerne que les cas où un problème de dépendances complexe se présente)."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1164
+#: apt.conf.5.xml:1196
 msgid ""
 "Display a list of all installed packages with their calculated score used by "
 "the pkgProblemResolver. The description of the package is the same as "
@@ -5411,7 +5456,7 @@ msgstr ""
 "est décrite dans <literal>Debug::pkgDepCache::Marker</literal>."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1176
+#: apt.conf.5.xml:1208
 msgid ""
 "Print information about the vendors read from <filename>/etc/apt/vendors."
 "list</filename>."
@@ -5420,7 +5465,7 @@ msgstr ""
 "list</filename>."
 
 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt.conf.5.xml:1186
+#: apt.conf.5.xml:1218
 msgid ""
 "Display the external commands that are called by apt hooks.  This includes e."
 "g. the config options <literal>DPkg::{Pre,Post}-Invoke</literal> or "
@@ -5431,13 +5476,13 @@ msgstr ""
 "Post}-Invoke</literal> ou <literal>APT::Update::{Pre,Post}-Invoke</literal>."
 
 #. type: Content of: <refentry><refsect1><title>
-#: apt.conf.5.xml:1210 apt_preferences.5.xml:541 sources.list.5.xml:233
+#: apt.conf.5.xml:1242 apt_preferences.5.xml:541 sources.list.5.xml:233
 #: apt-ftparchive.1.xml:592
 msgid "Examples"
 msgstr "Exemples"
 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1211
+#: apt.conf.5.xml:1243
 msgid ""
 "&configureindex; is a configuration file showing example values for all "
 "possible options."
@@ -5447,7 +5492,7 @@ msgstr ""
 
 #.  ? reading apt.conf 
 #. type: Content of: <refentry><refsect1><para>
-#: apt.conf.5.xml:1223
+#: apt.conf.5.xml:1255
 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
 msgstr "&apt-cache;, &apt-config;, &apt-preferences;."
 

Разлика између датотеке није приказан због своје велике величине
+ 1164 - 1122
po/apt-all.pot


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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