]> git.saurik.com Git - apt.git/commitdiff
merged from the mvo branch
authorMichael Vogt <michael.vogt@ubuntu.com>
Fri, 22 Jul 2011 09:13:48 +0000 (11:13 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Fri, 22 Jul 2011 09:13:48 +0000 (11:13 +0200)
16 files changed:
apt-pkg/contrib/configuration.cc
apt-pkg/contrib/configuration.h
apt-pkg/depcache.cc
apt-pkg/init.cc
apt-pkg/pkgcachegen.cc
cmdline/apt-get.cc
debian/apt.symbols
debian/changelog
debian/rules
doc/apt.conf.5.xml
doc/examples/configure-index
doc/sources.list.5.xml
po/apt-all.pot
test/integration/framework
test/integration/test-ubuntu-bug-784473-InRelease-one-message-only [new file with mode: 0755]
test/integration/test-ubuntu-bug-806274-install-suggests [new file with mode: 0755]

index cc7093fe2cf4146c1574dcd38f03fead67ed2dc6..942ea9fbc6fc975bd3be912d79dafed7e0ee655e 100644 (file)
@@ -318,6 +318,19 @@ void Configuration::CndSet(const char *Name,const string &Value)
       Itm->Value = Value;
 }
                                                                        /*}}}*/
+// Configuration::Set - Set an integer value                           /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void Configuration::CndSet(const char *Name,int const Value)
+{
+   Item *Itm = Lookup(Name,true);
+   if (Itm == 0 || Itm->Value.empty() == false)
+      return;
+   char S[300];
+   snprintf(S,sizeof(S),"%i",Value);
+   Itm->Value = S;
+}
+                                                                       /*}}}*/
 // Configuration::Set - Set a value                                    /*{{{*/
 // ---------------------------------------------------------------------
 /* */
index 71e5a0e47b3f61dc40eb006661e945265bb8d863..2844ec0977c7b9478384accf2d3a49ee03c59697 100644 (file)
@@ -82,6 +82,7 @@ class Configuration
              
    inline void Set(const string &Name,const string &Value) {Set(Name.c_str(),Value);};
    void CndSet(const char *Name,const string &Value);
+   void CndSet(const char *Name,const int Value);
    void Set(const char *Name,const string &Value);
    void Set(const char *Name,const int &Value);
    
index e9fa097aaf11e8aa32fdfc274059daf46c9a9eea..eb3f4e5989f89df99b2126c8f2c2b67cb37bd855 100644 (file)
@@ -1593,7 +1593,7 @@ bool pkgDepCache::MarkFollowsRecommends()
 
 bool pkgDepCache::MarkFollowsSuggests()
 {
-  return _config->FindB("APT::AutoRemove::SuggestsImportant", false);
+  return _config->FindB("APT::AutoRemove::SuggestsImportant", true);
 }
 
 // pkgDepCache::MarkRequired - the main mark algorithm                 /*{{{*/
index 31b2d9ccd163f7606797da2bf8669049fa440ed8..38a0814e54ed52f0879c50ae79748b2f2610c546 100644 (file)
@@ -33,60 +33,64 @@ const char *pkgLibVersion = Stringfy(APT_PKG_MAJOR) "."
 bool pkgInitConfig(Configuration &Cnf)
 {
    // General APT things
-   Cnf.Set("APT::Architecture", COMMON_ARCH);
-   Cnf.Set("APT::Build-Essential::", "build-essential");
-   Cnf.Set("APT::Install-Recommends", true);
-   Cnf.Set("APT::Install-Suggests", false);
-   Cnf.Set("Dir","/");
+   Cnf.CndSet("APT::Architecture", COMMON_ARCH);
+   if (Cnf.Exists("APT::Build-Essential") == false)
+      Cnf.Set("APT::Build-Essential::", "build-essential");
+   Cnf.CndSet("APT::Install-Recommends", true);
+   Cnf.CndSet("APT::Install-Suggests", false);
+   Cnf.CndSet("Dir","/");
    
    // State   
-   Cnf.Set("Dir::State","var/lib/apt/");
+   Cnf.CndSet("Dir::State","var/lib/apt/");
    
    /* Just in case something goes horribly wrong, we can fall back to the
       old /var/state paths.. */
    struct stat St;   
    if (stat("/var/lib/apt/.",&St) != 0 &&
        stat("/var/state/apt/.",&St) == 0)
-      Cnf.Set("Dir::State","var/state/apt/");
+      Cnf.CndSet("Dir::State","var/state/apt/");
        
-   Cnf.Set("Dir::State::lists","lists/");
-   Cnf.Set("Dir::State::cdroms","cdroms.list");
-   Cnf.Set("Dir::State::mirrors","mirrors/");
+   Cnf.CndSet("Dir::State::lists","lists/");
+   Cnf.CndSet("Dir::State::cdroms","cdroms.list");
+   Cnf.CndSet("Dir::State::mirrors","mirrors/");
 
    // Cache
-   Cnf.Set("Dir::Cache","var/cache/apt/");
-   Cnf.Set("Dir::Cache::archives","archives/");
-   Cnf.Set("Dir::Cache::srcpkgcache","srcpkgcache.bin");
-   Cnf.Set("Dir::Cache::pkgcache","pkgcache.bin");
+   Cnf.CndSet("Dir::Cache","var/cache/apt/");
+   Cnf.CndSet("Dir::Cache::archives","archives/");
+   Cnf.CndSet("Dir::Cache::srcpkgcache","srcpkgcache.bin");
+   Cnf.CndSet("Dir::Cache::pkgcache","pkgcache.bin");
    
    // Configuration
-   Cnf.Set("Dir::Etc","etc/apt/");
-   Cnf.Set("Dir::Etc::sourcelist","sources.list");
-   Cnf.Set("Dir::Etc::sourceparts","sources.list.d");
-   Cnf.Set("Dir::Etc::vendorlist","vendors.list");
-   Cnf.Set("Dir::Etc::vendorparts","vendors.list.d");
-   Cnf.Set("Dir::Etc::main","apt.conf");
-   Cnf.Set("Dir::Etc::netrc", "auth.conf");
-   Cnf.Set("Dir::Etc::parts","apt.conf.d");
-   Cnf.Set("Dir::Etc::preferences","preferences");
-   Cnf.Set("Dir::Etc::preferencesparts","preferences.d");
-   Cnf.Set("Dir::Etc::trusted", "trusted.gpg");
-   Cnf.Set("Dir::Etc::trustedparts","trusted.gpg.d");
-   Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods");
-   Cnf.Set("Dir::Media::MountPath","/media/apt");
+   Cnf.CndSet("Dir::Etc","etc/apt/");
+   Cnf.CndSet("Dir::Etc::sourcelist","sources.list");
+   Cnf.CndSet("Dir::Etc::sourceparts","sources.list.d");
+   Cnf.CndSet("Dir::Etc::vendorlist","vendors.list");
+   Cnf.CndSet("Dir::Etc::vendorparts","vendors.list.d");
+   Cnf.CndSet("Dir::Etc::main","apt.conf");
+   Cnf.CndSet("Dir::Etc::netrc", "auth.conf");
+   Cnf.CndSet("Dir::Etc::parts","apt.conf.d");
+   Cnf.CndSet("Dir::Etc::preferences","preferences");
+   Cnf.CndSet("Dir::Etc::preferencesparts","preferences.d");
+   Cnf.CndSet("Dir::Etc::trusted", "trusted.gpg");
+   Cnf.CndSet("Dir::Etc::trustedparts","trusted.gpg.d");
+   Cnf.CndSet("Dir::Bin::methods","/usr/lib/apt/methods");
+   Cnf.CndSet("Dir::Media::MountPath","/media/apt");
 
    // State   
-   Cnf.Set("Dir::Log","var/log/apt");
-   Cnf.Set("Dir::Log::Terminal","term.log");
-   Cnf.Set("Dir::Log::History","history.log");
+   Cnf.CndSet("Dir::Log","var/log/apt");
+   Cnf.CndSet("Dir::Log::Terminal","term.log");
+   Cnf.CndSet("Dir::Log::History","history.log");
 
-   Cnf.Set("Dir::Ignore-Files-Silently::", "~$");
-   Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$");
-   Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$");
-   Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$");
+   if (Cnf.Exists("Dir::Ignore-Files-Silently") == false)
+   {
+      Cnf.Set("Dir::Ignore-Files-Silently::", "~$");
+      Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$");
+      Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$");
+      Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$");
+   }
 
    // Default cdrom mount point
-   Cnf.Set("Acquire::cdrom::mount", "/media/cdrom/");
+   Cnf.CndSet("Acquire::cdrom::mount", "/media/cdrom/");
 
    bool Res = true;
    
index 9820fde81996c413494970f74f4eb57834b8cba9..8f9737e265e9de696b225cd7f6867e47e177d775 100644 (file)
@@ -1169,16 +1169,32 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress
    SPtr<DynamicMMap> Map;
    if (Writeable == true && CacheFile.empty() == false)
    {
+      _error->PushToStack();
       unlink(CacheFile.c_str());
       CacheF = new FileFd(CacheFile,FileFd::WriteAtomic);
       fchmod(CacheF->Fd(),0644);
       Map = CreateDynamicMMap(CacheF, MMap::Public);
       if (_error->PendingError() == true)
-        return false;
-      if (Debug == true)
+      {
+        delete CacheF.UnGuard();
+        delete Map.UnGuard();
+        if (Debug == true)
+           std::clog << "Open filebased MMap FAILED" << std::endl;
+        Writeable = false;
+        if (AllowMem == false)
+        {
+           _error->MergeWithStack();
+           return false;
+        }
+        _error->RevertToStack();
+      }
+      else if (Debug == true)
+      {
+        _error->MergeWithStack();
         std::clog << "Open filebased MMap" << std::endl;
+      }
    }
-   else
+   if (Writeable == false || CacheFile.empty() == true)
    {
       // Just build it in memory..
       Map = CreateDynamicMMap(NULL);
index 3f818ffc37802d56319dc30b67ae0fb21778daad..99ee4f2288547355a1cc18aac9225fbdd26cbc9b 100644 (file)
@@ -1697,7 +1697,7 @@ bool DoAutomaticRemove(CacheFile &Cache)
 
    // we could have removed a new dependency of a garbage package,
    // so check if a reverse depends is broken and if so install it again.
-   if (tooMuch.empty() == false && Cache->BrokenCount() != 0)
+   if (tooMuch.empty() == false && (Cache->BrokenCount() != 0 || Cache->PolicyBrokenCount() != 0))
    {
       bool Changed;
       do {
@@ -1708,8 +1708,8 @@ bool DoAutomaticRemove(CacheFile &Cache)
            for (pkgCache::DepIterator R = P.RevDependsList();
                 R.end() == false; ++R)
            {
-              if (R->Type != pkgCache::Dep::Depends &&
-                  R->Type != pkgCache::Dep::PreDepends)
+              if (R.IsNegative() == true ||
+                  Cache->IsImportantDep(R) == false)
                  continue;
               pkgCache::PkgIterator N = R.ParentPkg();
               if (N.end() == true || (N->CurrentVer == 0 && (*Cache)[N].Install() == false))
index 04e13edd764b70e9efc8c3a3c40a55bcab033584..932fb14114b4c3c16580abc85945ac084a1c5ee5 100644 (file)
@@ -1256,7 +1256,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
  (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 1
  (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 1
  (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 1
-
  (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 1
  (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 1
  (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 1
index 418f37f4d0ab6459ab1652734e4f8f464eac4ce4..c9d9174076f67597a1a95ff291b12fc2c3ddc41d 100644 (file)
@@ -1,9 +1,35 @@
+apt (0.8.15.3) UNRELEASED; urgency=low
+
+  [ Michael Vogt ]
+  * apt-pkg/acquire-item.cc:
+    - improve error message for a expired Release file
+  * apt-pkg/algorithms.cc:
+    - Hold back packages that would enter "policy-broken" state on upgrade
+      when doing a "apt-get upgrade"
+  * cmdline/apt-get.cc:
+    - fix missing download progress in apt-get download
+
+  [ David Kalnischkies ]
+  * apt-pkg/pkgcachegen.cc:
+    - fallback to memory if file is not writeable even if access()
+      told us the opposite before (e.g. in fakeroot 1.16) (Closes: #630591)
+  * doc/sources.list.5.xml:
+    - document available [options] for sources.list entries (Closes: 632441)
+  * doc/apt.conf.5.xml:
+    - document APT::Architectures list (Closes: #612102)
+  * cmdline/apt-get.cc:
+    - restore all important dependencies for garbage packages (LP: #806274)
+  * apt-pkg/init.cc:
+    - use CndSet in pkgInitConfig (Closes: #629617)
+  * apt-pkg/depcache.cc:
+    - change default of APT::AutoRemove::SuggestsImportant to true
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Fri, 15 Jul 2011 09:29:37 +0200
+
 apt (0.8.15.2) unstable; urgency=high
 
   * fix from David Kalnischkies for the InRelease gpg verification 
     code (LP: #784473)
-  * cmdline/apt-get.cc:
-    - fix missing download progress in apt-get download
 
  -- Michael Vogt <mvo@debian.org>  Tue, 12 Jul 2011 11:54:47 +0200
 
index 0544b2b8e1c92cdea83e2715c28c7ed2c61a929d..6409006788aa17e2b12e0138b9b8ff0fbba81f62 100755 (executable)
@@ -120,9 +120,6 @@ libapt-pkg-doc: build-doc
 #
 # libapt-pkg-doc install
 #
-       # remove doxygen's embedded jquery as we don't use it anyway (#622147)
-       rm -f $(BLD)/doc/doxygen/html/jquery.js
-
        dh_installdocs -p$@ $(BLD)/docs/design* \
                            $(BLD)/docs/dpkg-tech* \
                            $(BLD)/docs/files* \
index 02de89f3ba80e2d9273680b16fcb6613d5391f6e..2634c47a948ecaf24b8bcd4c8c99793d7b888109 100644 (file)
@@ -153,7 +153,15 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
      parsing package lists. The internal default is the architecture apt was 
      compiled for.</para></listitem>
      </varlistentry>
-     
+
+     <varlistentry><term>Architectures</term>
+     <listitem><para>All Architectures the system supports. Processors implementing the <literal>amd64</literal>
+     are e.g. also able to execute binaries compiled for <literal>i386</literal>; This list is use when fetching files and
+     parsing package lists. The internal default is always the native architecture (<literal>APT::Architecture</literal>)
+     and all foreign architectures it can retrieve by calling <command>dpkg --print-foreign-architectures</command>.
+     </para></listitem>
+     </varlistentry>
+
      <varlistentry><term>Default-Release</term>
      <listitem><para>Default release to install packages from if more than one
      version available. Contains release name, codename or release version. Examples: 'stable', 'testing',
index 6884e06e32d82f3c6703aff7162f6957c787d092..27232d40b152987e86c9ed285bfbb79d16308007 100644 (file)
@@ -23,6 +23,7 @@ quiet::NoUpdate "true"; // never update progress information - included in -q=1
 APT 
 {
   Architecture "i386";
+  Architectures { "amd64"; "armel"; };
   Build-Essential "build-essential";
 
   NeverAutoRemove  { "linux-image.*";  };  // packages that should never
index 837f07683b056ba2f18d4aa50cbd0e45f3f17e61..fab125b4e701971962a243591aa021f3b45f2370 100644 (file)
@@ -78,7 +78,7 @@
    <para>The format for a <filename>sources.list</filename> entry using the
    <literal>deb</literal> and <literal>deb-src</literal> types is:</para>
 
-   <literallayout>deb uri distribution [component1] [component2] [...]</literallayout>
+   <literallayout>deb [ options ] uri distribution [component1] [component2] [...]</literallayout>
 
    <para>The URI for the <literal>deb</literal> type must specify the base of the
    Debian distribution, from which APT will find the information it needs. 
    simultaneous anonymous users. APT also parallelizes connections to 
    different hosts to more effectively deal with sites with low bandwidth.</para>
 
+   <para><literal>options</literal> is always optional and needs to be surounded by
+   square brackets. It can consist of multiple settings in the form
+   <literal><replaceable>setting</replaceable>=<replaceable>value</replaceable></literal>.
+   Multiple settings are separated by spaces. The following settings are supported by APT,
+   note through that unsupported settings will be ignored silently:
+   <itemizedlist><listitem><para><literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceable>,…</literal>
+   can be used to specify for which architectures packages information should
+   be downloaded. If this option is not set all architectures defined by the
+   <literal>APT::Architectures</literal> option will be downloaded.</para>
+   </listitem></itemizedlist></para>
+
    <para>It is important to list sources in order of preference, with the most
    preferred source listed first. Typically this will result in sorting
    by speed from fastest to slowest (CD-ROM followed by hosts on a local
@@ -206,6 +217,11 @@ deb http://security.debian.org/ &stable-codename;/updates main contrib non-free
    <para>Source line for the above</para>
    <literallayout>deb-src file:/home/jason/debian unstable main contrib non-free</literallayout>
 
+   <para>The first line gets package information for the architectures in <literal>APT::Architectures</literal>
+   while the second always retrieves <literal>amd64</literal> and <literal>armel</literal>.</para>
+   <literallayout>deb http://ftp.debian.org/debian &stable-codename; main
+deb [ arch=amd64,armel ] http://ftp.debian.org/debian &stable-codename; main</literallayout>
+
    <para>Uses HTTP to access the archive at archive.debian.org, and uses only
    the hamm/main area.</para>
    <literallayout>deb http://archive.debian.org/debian-archive hamm main</literallayout>
index effb93f5a4630c22af3cc74409951a43ee0ff33e..73ed82195db229fe1f836a6e711d8990b5e3a464 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-14 10:31+0200\n"
+"POT-Creation-Date: 2011-01-12 17:42+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"
@@ -17,158 +17,155 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: cmdline/apt-cache.cc:154
+#: cmdline/apt-cache.cc:156
 #, c-format
 msgid "Package %s version %s has an unmet dep:\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:282
+#: cmdline/apt-cache.cc:284
 msgid "Total package names: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:284
+#: cmdline/apt-cache.cc:286
 msgid "Total package structures: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:324
+#: cmdline/apt-cache.cc:326
 msgid "  Normal packages: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:325
+#: cmdline/apt-cache.cc:327
 msgid "  Pure virtual packages: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:326
+#: cmdline/apt-cache.cc:328
 msgid "  Single virtual packages: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:327
+#: cmdline/apt-cache.cc:329
 msgid "  Mixed virtual packages: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:328
+#: cmdline/apt-cache.cc:330
 msgid "  Missing: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:330
+#: cmdline/apt-cache.cc:332
 msgid "Total distinct versions: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:332
+#: cmdline/apt-cache.cc:334
 msgid "Total distinct descriptions: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:334
+#: cmdline/apt-cache.cc:336
 msgid "Total dependencies: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:337
+#: cmdline/apt-cache.cc:339
 msgid "Total ver/file relations: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:339
+#: cmdline/apt-cache.cc:341
 msgid "Total Desc/File relations: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:341
+#: cmdline/apt-cache.cc:343
 msgid "Total Provides mappings: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:353
+#: cmdline/apt-cache.cc:355
 msgid "Total globbed strings: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:367
+#: cmdline/apt-cache.cc:369
 msgid "Total dependency version space: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:372
+#: cmdline/apt-cache.cc:374
 msgid "Total slack space: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:380
+#: cmdline/apt-cache.cc:382
 msgid "Total space accounted for: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:511 cmdline/apt-cache.cc:1139
+#: cmdline/apt-cache.cc:513 cmdline/apt-cache.cc:1194
 #, c-format
 msgid "Package file %s is out of sync."
 msgstr ""
 
-#: cmdline/apt-cache.cc:589 cmdline/apt-cache.cc:1374
-#: cmdline/apt-cache.cc:1376 cmdline/apt-cache.cc:1453 cmdline/apt-mark.cc:37
-#: cmdline/apt-mark.cc:84 cmdline/apt-mark.cc:160
-msgid "No packages found"
-msgstr ""
-
-#: cmdline/apt-cache.cc:1218
+#: cmdline/apt-cache.cc:1273
 msgid "You must give at least one search pattern"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1353
-msgid "This command is deprecated. Please use 'apt-mark showauto' instead."
+#: cmdline/apt-cache.cc:1429 cmdline/apt-cache.cc:1431
+#: cmdline/apt-cache.cc:1508
+msgid "No packages found"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1448 apt-pkg/cacheset.cc:440
+#: cmdline/apt-cache.cc:1503 apt-pkg/cacheset.cc:440
 #, c-format
 msgid "Unable to locate package %s"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1478
+#: cmdline/apt-cache.cc:1533
 msgid "Package files:"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1485 cmdline/apt-cache.cc:1576
+#: cmdline/apt-cache.cc:1540 cmdline/apt-cache.cc:1638
 msgid "Cache is out of sync, can't x-ref a package file"
 msgstr ""
 
 #. Show any packages have explicit pins
-#: cmdline/apt-cache.cc:1499
+#: cmdline/apt-cache.cc:1554
 msgid "Pinned packages:"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1511 cmdline/apt-cache.cc:1556
+#: cmdline/apt-cache.cc:1566 cmdline/apt-cache.cc:1618
 msgid "(not found)"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1519
+#: cmdline/apt-cache.cc:1575
 msgid "  Installed: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:1520
+#: cmdline/apt-cache.cc:1576
 msgid "  Candidate: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:1538 cmdline/apt-cache.cc:1546
+#: cmdline/apt-cache.cc:1600 cmdline/apt-cache.cc:1608
 msgid "(none)"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1553
+#: cmdline/apt-cache.cc:1615
 msgid "  Package pin: "
 msgstr ""
 
 #. Show the priority tables
-#: cmdline/apt-cache.cc:1562
+#: cmdline/apt-cache.cc:1624
 msgid "  Version table:"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
+#: cmdline/apt-cache.cc:1738 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:70
 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2793 cmdline/apt-sortpkgs.cc:144
 #, c-format
 msgid "%s %s for %s compiled on %s %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1682
+#: cmdline/apt-cache.cc:1745
 msgid ""
 "Usage: apt-cache [options] command\n"
+"       apt-cache [options] add file1 [file2 ...]\n"
 "       apt-cache [options] showpkg pkg1 [pkg2 ...]\n"
 "       apt-cache [options] showsrc pkg1 [pkg2 ...]\n"
 "\n"
-"apt-cache is a low-level tool used to query information\n"
-"from APT's binary cache files\n"
+"apt-cache is a low-level tool used to manipulate APT's binary\n"
+"cache files, and query information from them\n"
 "\n"
 "Commands:\n"
+"   add - Add a package file to the source cache\n"
 "   gencaches - Build both the package and source cache\n"
 "   showpkg - Show some general information for a single package\n"
 "   showsrc - Show source records\n"
@@ -178,6 +175,7 @@ msgid ""
 "   unmet - Show unmet dependencies\n"
 "   search - Search the package list for a regex pattern\n"
 "   show - Show a readable record for the package\n"
+"   showauto - Display a list of automatically installed packages\n"
 "   depends - Show raw dependency information for a package\n"
 "   rdepends - Show reverse dependency information for a package\n"
 "   pkgnames - List the names of all packages in the system\n"
@@ -213,11 +211,11 @@ msgstr ""
 msgid "Repeat this process for the rest of the CDs in your set."
 msgstr ""
 
-#: cmdline/apt-config.cc:44
+#: cmdline/apt-config.cc:41
 msgid "Arguments not in pairs"
 msgstr ""
 
-#: cmdline/apt-config.cc:79
+#: cmdline/apt-config.cc:76
 msgid ""
 "Usage: apt-config [options] command\n"
 "\n"
@@ -252,7 +250,7 @@ msgid ""
 "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
 msgstr ""
 
-#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1149
+#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1171
 #, c-format
 msgid "Unable to write to %s"
 msgstr ""
@@ -371,92 +369,97 @@ msgstr ""
 msgid "Unable to get a cursor"
 msgstr ""
 
-#: ftparchive/writer.cc:78
+#: ftparchive/writer.cc:73
 #, c-format
 msgid "W: Unable to read directory %s\n"
 msgstr ""
 
-#: ftparchive/writer.cc:83
+#: ftparchive/writer.cc:78
 #, c-format
 msgid "W: Unable to stat %s\n"
 msgstr ""
 
-#: ftparchive/writer.cc:139
+#: ftparchive/writer.cc:134
 msgid "E: "
 msgstr ""
 
-#: ftparchive/writer.cc:141
+#: ftparchive/writer.cc:136
 msgid "W: "
 msgstr ""
 
-#: ftparchive/writer.cc:148
+#: ftparchive/writer.cc:143
 msgid "E: Errors apply to file "
 msgstr ""
 
-#: ftparchive/writer.cc:166 ftparchive/writer.cc:198
+#: ftparchive/writer.cc:161 ftparchive/writer.cc:193
 #, c-format
 msgid "Failed to resolve %s"
 msgstr ""
 
-#: ftparchive/writer.cc:179
+#: ftparchive/writer.cc:174
 msgid "Tree walking failed"
 msgstr ""
 
-#: ftparchive/writer.cc:206
+#: ftparchive/writer.cc:201
 #, c-format
 msgid "Failed to open %s"
 msgstr ""
 
-#: ftparchive/writer.cc:265
+#: ftparchive/writer.cc:260
 #, c-format
 msgid " DeLink %s [%s]\n"
 msgstr ""
 
-#: ftparchive/writer.cc:273
+#: ftparchive/writer.cc:268
 #, c-format
 msgid "Failed to readlink %s"
 msgstr ""
 
-#: ftparchive/writer.cc:277
+#: ftparchive/writer.cc:272
 #, c-format
 msgid "Failed to unlink %s"
 msgstr ""
 
-#: ftparchive/writer.cc:284
+#: ftparchive/writer.cc:279
 #, c-format
 msgid "*** Failed to link %s to %s"
 msgstr ""
 
-#: ftparchive/writer.cc:294
+#: ftparchive/writer.cc:289
 #, c-format
 msgid " DeLink limit of %sB hit.\n"
 msgstr ""
 
-#: ftparchive/writer.cc:398
+#: ftparchive/writer.cc:393
 msgid "Archive had no package field"
 msgstr ""
 
-#: ftparchive/writer.cc:406 ftparchive/writer.cc:703
+#: ftparchive/writer.cc:401 ftparchive/writer.cc:688
 #, c-format
 msgid "  %s has no override entry\n"
 msgstr ""
 
-#: ftparchive/writer.cc:472 ftparchive/writer.cc:811
+#: ftparchive/writer.cc:464 ftparchive/writer.cc:793
 #, c-format
 msgid "  %s maintainer is %s not %s\n"
 msgstr ""
 
-#: ftparchive/writer.cc:713
+#: ftparchive/writer.cc:698
 #, c-format
 msgid "  %s has no source override entry\n"
 msgstr ""
 
-#: ftparchive/writer.cc:717
+#: ftparchive/writer.cc:702
 #, c-format
 msgid "  %s has no binary override entry either\n"
 msgstr ""
 
-#: ftparchive/contents.cc:337 ftparchive/contents.cc:368
+#: ftparchive/contents.cc:321
+#, c-format
+msgid "Internal error, could not locate member %s"
+msgstr ""
+
+#: ftparchive/contents.cc:358 ftparchive/contents.cc:389
 msgid "realloc - Failed to allocate memory"
 msgstr ""
 
@@ -485,63 +488,63 @@ msgstr ""
 msgid "Failed to read the override file %s"
 msgstr ""
 
-#: ftparchive/multicompress.cc:67
+#: ftparchive/multicompress.cc:72
 #, c-format
 msgid "Unknown compression algorithm '%s'"
 msgstr ""
 
-#: ftparchive/multicompress.cc:97
+#: ftparchive/multicompress.cc:102
 #, c-format
 msgid "Compressed output %s needs a compression set"
 msgstr ""
 
-#: ftparchive/multicompress.cc:165 methods/rsh.cc:91
+#: ftparchive/multicompress.cc:169 methods/rsh.cc:91
 msgid "Failed to create IPC pipe to subprocess"
 msgstr ""
 
-#: ftparchive/multicompress.cc:191
+#: ftparchive/multicompress.cc:195
 msgid "Failed to create FILE*"
 msgstr ""
 
-#: ftparchive/multicompress.cc:194
+#: ftparchive/multicompress.cc:198
 msgid "Failed to fork"
 msgstr ""
 
-#: ftparchive/multicompress.cc:208
+#: ftparchive/multicompress.cc:212
 msgid "Compress child"
 msgstr ""
 
-#: ftparchive/multicompress.cc:231
+#: ftparchive/multicompress.cc:235
 #, c-format
 msgid "Internal error, failed to create %s"
 msgstr ""
 
-#: ftparchive/multicompress.cc:282
+#: ftparchive/multicompress.cc:286
 msgid "Failed to create subprocess IPC"
 msgstr ""
 
-#: ftparchive/multicompress.cc:319
+#: ftparchive/multicompress.cc:321
 msgid "Failed to exec compressor "
 msgstr ""
 
-#: ftparchive/multicompress.cc:358
+#: ftparchive/multicompress.cc:360
 msgid "decompressor"
 msgstr ""
 
-#: ftparchive/multicompress.cc:401
+#: ftparchive/multicompress.cc:403
 msgid "IO to subprocess/file failed"
 msgstr ""
 
-#: ftparchive/multicompress.cc:453
+#: ftparchive/multicompress.cc:455
 msgid "Failed to read while computing MD5"
 msgstr ""
 
-#: ftparchive/multicompress.cc:470
+#: ftparchive/multicompress.cc:472
 #, c-format
 msgid "Problem unlinking %s"
 msgstr ""
 
-#: ftparchive/multicompress.cc:485 apt-inst/extract.cc:185
+#: ftparchive/multicompress.cc:487 apt-inst/extract.cc:185
 #, c-format
 msgid "Failed to rename %s to %s"
 msgstr ""
@@ -589,94 +592,94 @@ msgstr ""
 msgid " or"
 msgstr ""
 
-#: cmdline/apt-get.cc:390
+#: cmdline/apt-get.cc:392
 msgid "The following NEW packages will be installed:"
 msgstr ""
 
-#: cmdline/apt-get.cc:416
+#: cmdline/apt-get.cc:420
 msgid "The following packages will be REMOVED:"
 msgstr ""
 
-#: cmdline/apt-get.cc:438
+#: cmdline/apt-get.cc:442
 msgid "The following packages have been kept back:"
 msgstr ""
 
-#: cmdline/apt-get.cc:459
+#: cmdline/apt-get.cc:465
 msgid "The following packages will be upgraded:"
 msgstr ""
 
-#: cmdline/apt-get.cc:480
+#: cmdline/apt-get.cc:488
 msgid "The following packages will be DOWNGRADED:"
 msgstr ""
 
-#: cmdline/apt-get.cc:500
+#: cmdline/apt-get.cc:508
 msgid "The following held packages will be changed:"
 msgstr ""
 
-#: cmdline/apt-get.cc:555
+#: cmdline/apt-get.cc:563
 #, c-format
 msgid "%s (due to %s) "
 msgstr ""
 
-#: cmdline/apt-get.cc:563
+#: cmdline/apt-get.cc:571
 msgid ""
 "WARNING: The following essential packages will be removed.\n"
 "This should NOT be done unless you know exactly what you are doing!"
 msgstr ""
 
-#: cmdline/apt-get.cc:594
+#: cmdline/apt-get.cc:605
 #, c-format
 msgid "%lu upgraded, %lu newly installed, "
 msgstr ""
 
-#: cmdline/apt-get.cc:598
+#: cmdline/apt-get.cc:609
 #, c-format
 msgid "%lu reinstalled, "
 msgstr ""
 
-#: cmdline/apt-get.cc:600
+#: cmdline/apt-get.cc:611
 #, c-format
 msgid "%lu downgraded, "
 msgstr ""
 
-#: cmdline/apt-get.cc:602
+#: cmdline/apt-get.cc:613
 #, c-format
 msgid "%lu to remove and %lu not upgraded.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:606
+#: cmdline/apt-get.cc:617
 #, c-format
 msgid "%lu not fully installed or removed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:628
+#: cmdline/apt-get.cc:639
 #, c-format
 msgid "Note, selecting '%s' for task '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:634
+#: cmdline/apt-get.cc:645
 #, c-format
 msgid "Note, selecting '%s' for regex '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:651
+#: cmdline/apt-get.cc:662
 #, c-format
 msgid "Package %s is a virtual package provided by:\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:662
+#: cmdline/apt-get.cc:673
 msgid " [Installed]"
 msgstr ""
 
-#: cmdline/apt-get.cc:671
+#: cmdline/apt-get.cc:682
 msgid " [Not candidate version]"
 msgstr ""
 
-#: cmdline/apt-get.cc:673
+#: cmdline/apt-get.cc:684
 msgid "You should explicitly select one to install."
 msgstr ""
 
-#: cmdline/apt-get.cc:676
+#: cmdline/apt-get.cc:687
 #, c-format
 msgid ""
 "Package %s is not available, but is referred to by another package.\n"
@@ -684,177 +687,177 @@ msgid ""
 "is only available from another source\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:694
+#: cmdline/apt-get.cc:705
 msgid "However the following packages replace it:"
 msgstr ""
 
-#: cmdline/apt-get.cc:706
+#: cmdline/apt-get.cc:717
 #, c-format
 msgid "Package '%s' has no installation candidate"
 msgstr ""
 
-#: cmdline/apt-get.cc:717
+#: cmdline/apt-get.cc:728
 #, c-format
 msgid "Virtual packages like '%s' can't be removed\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:748
+#: cmdline/apt-get.cc:759
 #, c-format
 msgid "Note, selecting '%s' instead of '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:778
+#: cmdline/apt-get.cc:789
 #, c-format
 msgid "Skipping %s, it is already installed and upgrade is not set.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:782
+#: cmdline/apt-get.cc:793
 #, c-format
 msgid "Skipping %s, it is not installed and only upgrades are requested.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:794
+#: cmdline/apt-get.cc:803
 #, c-format
 msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:799
+#: cmdline/apt-get.cc:808
 #, c-format
 msgid "%s is already the newest version.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:827 cmdline/apt-get.cc:2027
 #, c-format
 msgid "%s set to manually installed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:844
+#: cmdline/apt-get.cc:853
 #, c-format
 msgid "Selected version '%s' (%s) for '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:849
+#: cmdline/apt-get.cc:858
 #, c-format
 msgid "Selected version '%s' (%s) for '%s' because of '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:893
+#: cmdline/apt-get.cc:898
 #, c-format
 msgid "Package %s is not installed, so not removed\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:971
+#: cmdline/apt-get.cc:973
 msgid "Correcting dependencies..."
 msgstr ""
 
-#: cmdline/apt-get.cc:974
+#: cmdline/apt-get.cc:976
 msgid " failed."
 msgstr ""
 
-#: cmdline/apt-get.cc:977
+#: cmdline/apt-get.cc:979
 msgid "Unable to correct dependencies"
 msgstr ""
 
-#: cmdline/apt-get.cc:980
+#: cmdline/apt-get.cc:982
 msgid "Unable to minimize the upgrade set"
 msgstr ""
 
-#: cmdline/apt-get.cc:982
+#: cmdline/apt-get.cc:984
 msgid " Done"
 msgstr ""
 
-#: cmdline/apt-get.cc:986
+#: cmdline/apt-get.cc:988
 msgid "You might want to run 'apt-get -f install' to correct these."
 msgstr ""
 
-#: cmdline/apt-get.cc:989
+#: cmdline/apt-get.cc:991
 msgid "Unmet dependencies. Try using -f."
 msgstr ""
 
-#: cmdline/apt-get.cc:1014
+#: cmdline/apt-get.cc:1016
 msgid "WARNING: The following packages cannot be authenticated!"
 msgstr ""
 
-#: cmdline/apt-get.cc:1018
+#: cmdline/apt-get.cc:1020
 msgid "Authentication warning overridden.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1025
+#: cmdline/apt-get.cc:1027
 msgid "Install these packages without verification [y/N]? "
 msgstr ""
 
-#: cmdline/apt-get.cc:1027
+#: cmdline/apt-get.cc:1029
 msgid "Some packages could not be authenticated"
 msgstr ""
 
-#: cmdline/apt-get.cc:1036 cmdline/apt-get.cc:1197
+#: cmdline/apt-get.cc:1038 cmdline/apt-get.cc:1199
 msgid "There are problems and -y was used without --force-yes"
 msgstr ""
 
-#: cmdline/apt-get.cc:1077
+#: cmdline/apt-get.cc:1079
 msgid "Internal error, InstallPackages was called with broken packages!"
 msgstr ""
 
-#: cmdline/apt-get.cc:1086
+#: cmdline/apt-get.cc:1088
 msgid "Packages need to be removed but remove is disabled."
 msgstr ""
 
-#: cmdline/apt-get.cc:1097
+#: cmdline/apt-get.cc:1099
 msgid "Internal error, Ordering didn't finish"
 msgstr ""
 
-#: cmdline/apt-get.cc:1135
+#: cmdline/apt-get.cc:1137
 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
 msgstr ""
 
 #. TRANSLATOR: The required space between number and unit is already included
 #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:1142
+#: cmdline/apt-get.cc:1144
 #, c-format
 msgid "Need to get %sB/%sB of archives.\n"
 msgstr ""
 
 #. TRANSLATOR: The required space between number and unit is already included
 #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:1147
+#: cmdline/apt-get.cc:1149
 #, c-format
 msgid "Need to get %sB of archives.\n"
 msgstr ""
 
 #. TRANSLATOR: The required space between number and unit is already included
 #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:1154
+#: cmdline/apt-get.cc:1156
 #, c-format
 msgid "After this operation, %sB of additional disk space will be used.\n"
 msgstr ""
 
 #. TRANSLATOR: The required space between number and unit is already included
 #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:1159
+#: cmdline/apt-get.cc:1161
 #, c-format
 msgid "After this operation, %sB disk space will be freed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1176 cmdline/apt-get.cc:1179 cmdline/apt-get.cc:2367
+#: cmdline/apt-get.cc:2370
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1187
+#: cmdline/apt-get.cc:1189
 #, c-format
 msgid "You don't have enough free space in %s."
 msgstr ""
 
-#: cmdline/apt-get.cc:1203 cmdline/apt-get.cc:1223
+#: cmdline/apt-get.cc:1205 cmdline/apt-get.cc:1225
 msgid "Trivial Only specified but this is not a trivial operation."
 msgstr ""
 
-#: cmdline/apt-get.cc:1205
+#: cmdline/apt-get.cc:1207
 msgid "Yes, do as I say!"
 msgstr ""
 
-#: cmdline/apt-get.cc:1207
+#: cmdline/apt-get.cc:1209
 #, c-format
 msgid ""
 "You are about to do something potentially harmful.\n"
@@ -862,46 +865,46 @@ msgid ""
 " ?] "
 msgstr ""
 
-#: cmdline/apt-get.cc:1213 cmdline/apt-get.cc:1232
+#: cmdline/apt-get.cc:1215 cmdline/apt-get.cc:1234
 msgid "Abort."
 msgstr ""
 
-#: cmdline/apt-get.cc:1228
+#: cmdline/apt-get.cc:1230
 msgid "Do you want to continue [Y/n]? "
 msgstr ""
 
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1429
+#: cmdline/apt-get.cc:1302 cmdline/apt-get.cc:2427 apt-pkg/algorithms.cc:1470
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1318
+#: cmdline/apt-get.cc:1320
 msgid "Some files failed to download"
 msgstr ""
 
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1321 cmdline/apt-get.cc:2436
 msgid "Download complete and in download only mode"
 msgstr ""
 
-#: cmdline/apt-get.cc:1325
+#: cmdline/apt-get.cc:1327
 msgid ""
 "Unable to fetch some archives, maybe run apt-get update or try with --fix-"
 "missing?"
 msgstr ""
 
-#: cmdline/apt-get.cc:1329
+#: cmdline/apt-get.cc:1331
 msgid "--fix-missing and media swapping is not currently supported"
 msgstr ""
 
-#: cmdline/apt-get.cc:1334
+#: cmdline/apt-get.cc:1336
 msgid "Unable to correct missing packages."
 msgstr ""
 
-#: cmdline/apt-get.cc:1335
+#: cmdline/apt-get.cc:1337
 msgid "Aborting install."
 msgstr ""
 
-#: cmdline/apt-get.cc:1363
+#: cmdline/apt-get.cc:1365
 msgid ""
 "The following package disappeared from your system as\n"
 "all files have been overwritten by other packages:"
@@ -911,35 +914,35 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: cmdline/apt-get.cc:1367
+#: cmdline/apt-get.cc:1369
 msgid "Note: This is done automatic and on purpose by dpkg."
 msgstr ""
 
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1499
 #, c-format
 msgid "Ignore unavailable target release '%s' of package '%s'"
 msgstr ""
 
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1531
 #, c-format
 msgid "Picking '%s' as source package instead of '%s'\n"
 msgstr ""
 
 #. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1569
 #, c-format
 msgid "Ignore unavailable version '%s' of package '%s'"
 msgstr ""
 
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1585
 msgid "The update command takes no arguments"
 msgstr ""
 
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1647
 msgid "We are not supposed to delete stuff, can't start AutoRemover"
 msgstr ""
 
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1699
 msgid ""
 "Hmm, seems like the AutoRemover destroyed something which really\n"
 "shouldn't happen. Please file a bug report against apt."
@@ -955,15 +958,15 @@ msgstr ""
 #. "that package should be filed.") << endl;
 #. }
 #.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1702 cmdline/apt-get.cc:1858
 msgid "The following information may help to resolve the situation:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1706
 msgid "Internal Error, AutoRemover broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1713
 msgid ""
 "The following package was automatically installed and is no longer required:"
 msgid_plural ""
@@ -972,7 +975,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1717
 #, c-format
 msgid "%lu package was automatically installed and is no longer required.\n"
 msgid_plural ""
@@ -980,25 +983,25 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1719
 msgid "Use 'apt-get autoremove' to remove them."
 msgstr ""
 
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1738
 msgid "Internal error, AllUpgrade broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1828
 msgid "You might want to run 'apt-get -f install' to correct these:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1831
 msgid ""
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
 "solution)."
 msgstr ""
 
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1843
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
 "requested an impossible situation or if you are using the unstable\n"
@@ -1006,80 +1009,69 @@ msgid ""
 "or been moved out of Incoming."
 msgstr ""
 
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1861
 msgid "Broken packages"
 msgstr ""
 
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1889
 msgid "The following extra packages will be installed:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:1979
 msgid "Suggested packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:1980
 msgid "Recommended packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2022
 #, c-format
 msgid "Couldn't find package %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2029
 #, c-format
 msgid "%s set to automatically installed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
-msgid ""
-"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
-"instead."
-msgstr ""
-
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2050
 msgid "Calculating upgrade... "
 msgstr ""
 
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2053 methods/ftp.cc:707 methods/connect.cc:111
 msgid "Failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2058
 msgid "Done"
 msgstr ""
 
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2125 cmdline/apt-get.cc:2133
 msgid "Internal error, problem resolver broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2157 cmdline/apt-get.cc:2190
 msgid "Unable to lock the download directory"
 msgstr ""
 
-#: cmdline/apt-get.cc:2297
-#, c-format
-msgid "Downloading %s %s"
-msgstr ""
-
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2233
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2273 cmdline/apt-get.cc:2554
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2289
 #, c-format
 msgid ""
 "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
 "%s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2294
 #, c-format
 msgid ""
 "Please use:\n"
@@ -1087,120 +1079,115 @@ msgid ""
 "to retrieve the latest (possibly unreleased) updates to the package.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2345
 #, c-format
 msgid "Skipping already downloaded file '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2380
 #, c-format
 msgid "You don't have enough free space in %s"
 msgstr ""
 
 #. TRANSLATOR: The required space between number and unit is already included
 #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2388
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr ""
 
 #. TRANSLATOR: The required space between number and unit is already included
 #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2393
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2399
 #, c-format
 msgid "Fetch source %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2432
 msgid "Failed to fetch some archives."
 msgstr ""
 
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2462
 #, c-format
 msgid "Skipping unpack of already unpacked source in %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2474
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2475
 #, c-format
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2492
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2512
 msgid "Child process failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2528
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2559
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2579
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2630
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 msgstr ""
 
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2683
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
 "package %s can satisfy version requirements"
 msgstr ""
 
-#: cmdline/apt-get.cc:2855
+#: cmdline/apt-get.cc:2719
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2746
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2762
 #, c-format
 msgid "Build-dependencies for %s could not be satisfied."
 msgstr ""
 
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:2767
 msgid "Failed to process build dependencies"
 msgstr ""
 
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
-#, c-format
-msgid "Changelog for %s (%s)"
-msgstr ""
-
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:2798
 msgid "Supported modules:"
 msgstr ""
 
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:2839
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1224,8 +1211,8 @@ msgid ""
 "   clean - Erase downloaded archive files\n"
 "   autoclean - Erase old downloaded archive files\n"
 "   check - Verify that there are no broken dependencies\n"
-"   changelog - Download and display the changelog for the given package\n"
-"   download - Download the binary package into the current directory\n"
+"   markauto - Mark the given packages as automatically installed\n"
+"   unmarkauto - Mark the given packages as manually installed\n"
 "\n"
 "Options:\n"
 "  -h  This help text.\n"
@@ -1246,7 +1233,7 @@ msgid ""
 "                       This APT has Super Cow Powers.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:2995
 msgid ""
 "NOTE: This is only a simulation!\n"
 "      apt-get needs root privileges for real execution.\n"
@@ -1288,67 +1275,6 @@ msgid ""
 "in the drive '%s' and press enter\n"
 msgstr ""
 
-#: cmdline/apt-mark.cc:46
-#, c-format
-msgid "%s can not be marked as it is not installed.\n"
-msgstr ""
-
-#: cmdline/apt-mark.cc:52
-#, c-format
-msgid "%s was already set to manually installed.\n"
-msgstr ""
-
-#: cmdline/apt-mark.cc:54
-#, c-format
-msgid "%s was already set to automatically installed.\n"
-msgstr ""
-
-#: cmdline/apt-mark.cc:169
-#, c-format
-msgid "%s was already set on hold.\n"
-msgstr ""
-
-#: cmdline/apt-mark.cc:171
-#, c-format
-msgid "%s was already not hold.\n"
-msgstr ""
-
-#: cmdline/apt-mark.cc:185 cmdline/apt-mark.cc:207
-#, c-format
-msgid "%s set on hold.\n"
-msgstr ""
-
-#: cmdline/apt-mark.cc:187 cmdline/apt-mark.cc:212
-#, c-format
-msgid "Canceled hold on %s.\n"
-msgstr ""
-
-#: cmdline/apt-mark.cc:220
-msgid "Executing dpkg failed. Are you root?"
-msgstr ""
-
-#: cmdline/apt-mark.cc:268
-msgid ""
-"Usage: apt-mark [options] {auto|manual} pkg1 [pkg2 ...]\n"
-"\n"
-"apt-mark is a simple command line interface for marking packages\n"
-"as manual or automatical installed. It can also list marks.\n"
-"\n"
-"Commands:\n"
-"   auto - Mark the given packages as automatically installed\n"
-"   manual - Mark the given packages as manually installed\n"
-"\n"
-"Options:\n"
-"  -h  This help text.\n"
-"  -q  Loggable output - no progress indicator\n"
-"  -qq No output except for errors\n"
-"  -s  No-act. Just prints what would be done.\n"
-"  -f  read/write auto/manual marking in the given file\n"
-"  -c=? Read this configuration file\n"
-"  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
-"See the apt-mark(8) and apt.conf(5) manual pages for more information."
-msgstr ""
-
 #: cmdline/apt-sortpkgs.cc:86
 msgid "Unknown package record!"
 msgstr ""
@@ -1409,7 +1335,7 @@ msgstr ""
 msgid "Failed to exec gzip "
 msgstr ""
 
-#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:208
+#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:204
 msgid "Corrupted archive"
 msgstr ""
 
@@ -1417,7 +1343,7 @@ msgstr ""
 msgid "Tar checksum failed, archive corrupted"
 msgstr ""
 
-#: apt-inst/contrib/extracttar.cc:300
+#: apt-inst/contrib/extracttar.cc:296
 #, c-format
 msgid "Unknown TAR header type %u, member %s"
 msgstr ""
@@ -1478,12 +1404,12 @@ msgstr ""
 msgid "Duplicate conf file %s/%s"
 msgstr ""
 
-#: apt-inst/dirstream.cc:41 apt-inst/dirstream.cc:47 apt-inst/dirstream.cc:53
+#: apt-inst/dirstream.cc:41 apt-inst/dirstream.cc:46 apt-inst/dirstream.cc:49
 #, c-format
 msgid "Failed to write file %s"
 msgstr ""
 
-#: apt-inst/dirstream.cc:98 apt-inst/dirstream.cc:106
+#: apt-inst/dirstream.cc:92 apt-inst/dirstream.cc:100
 #, c-format
 msgid "Failed to close file %s"
 msgstr ""
@@ -1525,28 +1451,28 @@ msgstr ""
 msgid "The path is too long"
 msgstr ""
 
-#: apt-inst/extract.cc:412
+#: apt-inst/extract.cc:414
 #, c-format
 msgid "Overwrite package match with no version for %s"
 msgstr ""
 
-#: apt-inst/extract.cc:429
+#: apt-inst/extract.cc:431
 #, c-format
 msgid "File %s/%s overwrites the one in the package %s"
 msgstr ""
 
 #. Only warn if there are no sources.list.d.
 #. Only warn if there is no sources.list file.
-#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
-#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
+#: apt-inst/extract.cc:464 apt-pkg/contrib/cdromutl.cc:179
+#: apt-pkg/contrib/fileutl.cc:329 apt-pkg/sourcelist.cc:204
 #: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:314
-#: methods/mirror.cc:91
+#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:307
+#: methods/mirror.cc:87
 #, c-format
 msgid "Unable to read %s"
 msgstr ""
 
-#: apt-inst/extract.cc:489
+#: apt-inst/extract.cc:491
 #, c-format
 msgid "Unable to stat %s"
 msgstr ""
@@ -1570,9 +1496,9 @@ msgstr ""
 msgid "The info and temp directories need to be on the same filesystem"
 msgstr ""
 
-#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
-#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1070
+#: apt-pkg/pkgcachegen.cc:1174 apt-pkg/pkgcachegen.cc:1180
+#: apt-pkg/pkgcachegen.cc:1326
 msgid "Reading package lists"
 msgstr ""
 
@@ -1645,57 +1571,51 @@ msgstr ""
 msgid "Error parsing MD5. Offset %lu"
 msgstr ""
 
-#: apt-inst/deb/debfile.cc:39 apt-inst/deb/debfile.cc:44
+#: apt-inst/deb/debfile.cc:38 apt-inst/deb/debfile.cc:43
 #, c-format
 msgid "This is not a valid DEB archive, missing '%s' member"
 msgstr ""
 
-#. FIXME: add data.tar.xz here - adding it now would require a Translation round for a very small gain
-#: apt-inst/deb/debfile.cc:53
+#: apt-inst/deb/debfile.cc:50
 #, c-format
 msgid "This is not a valid DEB archive, it has no '%s', '%s' or '%s' member"
 msgstr ""
 
-#: apt-inst/deb/debfile.cc:113
+#: apt-inst/deb/debfile.cc:110
 #, c-format
 msgid "Couldn't change to %s"
 msgstr ""
 
-#: apt-inst/deb/debfile.cc:154
-#, c-format
-msgid "Internal error, could not locate member %s"
+#: apt-inst/deb/debfile.cc:140
+msgid "Internal error, could not locate member"
 msgstr ""
 
-#: apt-inst/deb/debfile.cc:189
+#: apt-inst/deb/debfile.cc:173
 msgid "Failed to locate a valid control file"
 msgstr ""
 
-#: apt-inst/deb/debfile.cc:274
+#: apt-inst/deb/debfile.cc:258
 msgid "Unparsable control file"
 msgstr ""
 
-#: methods/bzip2.cc:60 methods/gzip.cc:52
-msgid "Empty files can't be valid archives"
-msgstr ""
-
-#: methods/bzip2.cc:64
+#: methods/bzip2.cc:65
 #, c-format
 msgid "Couldn't open pipe for %s"
 msgstr ""
 
-#: methods/bzip2.cc:108
+#: methods/bzip2.cc:109
 #, c-format
 msgid "Read error from %s process"
 msgstr ""
 
-#: methods/bzip2.cc:140 methods/bzip2.cc:149 methods/copy.cc:43
-#: methods/gzip.cc:92 methods/gzip.cc:101 methods/rred.cc:524
-#: methods/rred.cc:533
+#: methods/bzip2.cc:141 methods/bzip2.cc:150 methods/copy.cc:43
+#: methods/gzip.cc:93 methods/gzip.cc:102 methods/rred.cc:486
+#: methods/rred.cc:495
 msgid "Failed to stat"
 msgstr ""
 
-#: methods/bzip2.cc:146 methods/copy.cc:80 methods/gzip.cc:98
-#: methods/rred.cc:530
+#: methods/bzip2.cc:147 methods/copy.cc:80 methods/gzip.cc:99
+#: methods/rred.cc:492
 msgid "Failed to set modification time"
 msgstr ""
 
@@ -1723,7 +1643,7 @@ msgstr ""
 msgid "Disk not found."
 msgstr ""
 
-#: methods/cdrom.cc:258 methods/file.cc:79 methods/rsh.cc:265
+#: methods/cdrom.cc:258 methods/file.cc:79 methods/rsh.cc:264
 msgid "File not found"
 msgstr ""
 
@@ -1775,7 +1695,7 @@ msgstr ""
 msgid "TYPE failed, server said: %s"
 msgstr ""
 
-#: methods/ftp.cc:335 methods/ftp.cc:446 methods/rsh.cc:184 methods/rsh.cc:227
+#: methods/ftp.cc:335 methods/ftp.cc:446 methods/rsh.cc:183 methods/rsh.cc:226
 msgid "Connection timeout"
 msgstr ""
 
@@ -1783,11 +1703,11 @@ msgstr ""
 msgid "Server closed the connection"
 msgstr ""
 
-#: methods/ftp.cc:344 apt-pkg/contrib/fileutl.cc:820 methods/rsh.cc:191
+#: methods/ftp.cc:344 apt-pkg/contrib/fileutl.cc:802 methods/rsh.cc:190
 msgid "Read error"
 msgstr ""
 
-#: methods/ftp.cc:351 methods/rsh.cc:198
+#: methods/ftp.cc:351 methods/rsh.cc:197
 msgid "A response overflowed the buffer."
 msgstr ""
 
@@ -1795,7 +1715,7 @@ msgstr ""
 msgid "Protocol corruption"
 msgstr ""
 
-#: methods/ftp.cc:452 apt-pkg/contrib/fileutl.cc:862 methods/rsh.cc:233
+#: methods/ftp.cc:452 apt-pkg/contrib/fileutl.cc:844 methods/rsh.cc:232
 msgid "Write error"
 msgstr ""
 
@@ -1849,7 +1769,7 @@ msgstr ""
 msgid "Unable to accept connection"
 msgstr ""
 
-#: methods/ftp.cc:869 methods/http.cc:1023 methods/rsh.cc:303
+#: methods/ftp.cc:869 methods/http.cc:1006 methods/rsh.cc:302
 msgid "Problem hashing file"
 msgstr ""
 
@@ -1858,7 +1778,7 @@ msgstr ""
 msgid "Unable to fetch file, server said '%s'"
 msgstr ""
 
-#: methods/ftp.cc:897 methods/rsh.cc:322
+#: methods/ftp.cc:897 methods/rsh.cc:321
 msgid "Data socket timed out"
 msgstr ""
 
@@ -1908,7 +1828,7 @@ msgstr ""
 
 #. We say this mainly because the pause here is for the
 #. ssh connection that is still going
-#: methods/connect.cc:149 methods/rsh.cc:425
+#: methods/connect.cc:149 methods/rsh.cc:424
 #, c-format
 msgid "Connecting to %s"
 msgstr ""
@@ -1999,47 +1919,47 @@ msgstr ""
 msgid "Unknown date format"
 msgstr ""
 
-#: methods/http.cc:800
+#: methods/http.cc:799
 msgid "Select failed"
 msgstr ""
 
-#: methods/http.cc:805
+#: methods/http.cc:804
 msgid "Connection timed out"
 msgstr ""
 
-#: methods/http.cc:828
+#: methods/http.cc:827
 msgid "Error writing to output file"
 msgstr ""
 
-#: methods/http.cc:859
+#: methods/http.cc:858
 msgid "Error writing to file"
 msgstr ""
 
-#: methods/http.cc:887
+#: methods/http.cc:886
 msgid "Error writing to the file"
 msgstr ""
 
-#: methods/http.cc:901
+#: methods/http.cc:900
 msgid "Error reading from server. Remote end closed connection"
 msgstr ""
 
-#: methods/http.cc:903
+#: methods/http.cc:902
 msgid "Error reading from server"
 msgstr ""
 
-#: methods/http.cc:1008 apt-pkg/contrib/mmap.cc:291
+#: methods/http.cc:991 apt-pkg/contrib/mmap.cc:281
 msgid "Failed to truncate file"
 msgstr ""
 
-#: methods/http.cc:1183
+#: methods/http.cc:1160
 msgid "Bad header data"
 msgstr ""
 
-#: methods/http.cc:1200 methods/http.cc:1255
+#: methods/http.cc:1177 methods/http.cc:1232
 msgid "Connection failed"
 msgstr ""
 
-#: methods/http.cc:1347
+#: methods/http.cc:1324
 msgid "Internal error"
 msgstr ""
 
@@ -2052,7 +1972,7 @@ msgstr ""
 msgid "Couldn't duplicate file descriptor %i"
 msgstr ""
 
-#: apt-pkg/contrib/mmap.cc:97 apt-pkg/contrib/mmap.cc:258
+#: apt-pkg/contrib/mmap.cc:97 apt-pkg/contrib/mmap.cc:250
 #, c-format
 msgid "Couldn't make mmap of %lu bytes"
 msgstr ""
@@ -2065,21 +1985,21 @@ msgstr ""
 msgid "Unable to synchronize mmap"
 msgstr ""
 
-#: apt-pkg/contrib/mmap.cc:310
+#: apt-pkg/contrib/mmap.cc:300
 #, c-format
 msgid ""
 "Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. "
 "Current value: %lu. (man 5 apt.conf)"
 msgstr ""
 
-#: apt-pkg/contrib/mmap.cc:409
+#: apt-pkg/contrib/mmap.cc:399
 #, c-format
 msgid ""
 "Unable to increase the size of the MMap as the limit of %lu bytes is already "
 "reached."
 msgstr ""
 
-#: apt-pkg/contrib/mmap.cc:412
+#: apt-pkg/contrib/mmap.cc:402
 msgid ""
 "Unable to increase size of the MMap as automatic growing is disabled by user."
 msgstr ""
@@ -2108,7 +2028,7 @@ msgstr ""
 msgid "%lis"
 msgstr ""
 
-#: apt-pkg/contrib/strutl.cc:1138
+#: apt-pkg/contrib/strutl.cc:1119
 #, c-format
 msgid "Selection %s not found"
 msgstr ""
@@ -2231,122 +2151,106 @@ msgstr ""
 
 #: apt-pkg/contrib/cdromutl.cc:175 apt-pkg/contrib/cdromutl.cc:209
 #: apt-pkg/acquire.cc:456 apt-pkg/acquire.cc:481 apt-pkg/clean.cc:39
-#: methods/mirror.cc:97
+#: methods/mirror.cc:93
 #, c-format
 msgid "Unable to change to %s"
 msgstr ""
 
-#: apt-pkg/contrib/cdromutl.cc:220
+#: apt-pkg/contrib/cdromutl.cc:217
 msgid "Failed to stat the cdrom"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:168
+#: apt-pkg/contrib/fileutl.cc:154
 #, c-format
 msgid "Not using locking for read only lock file %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:173
+#: apt-pkg/contrib/fileutl.cc:159
 #, c-format
 msgid "Could not open lock file %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:191
+#: apt-pkg/contrib/fileutl.cc:177
 #, c-format
 msgid "Not using locking for nfs mounted lock file %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:195
+#: apt-pkg/contrib/fileutl.cc:181
 #, c-format
 msgid "Could not get lock %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:335
+#: apt-pkg/contrib/fileutl.cc:321
 #, c-format
 msgid "List of files can't be created as '%s' is not a directory"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:362
-#, c-format
-msgid "Ignoring '%s' in directory '%s' as it is not a regular file"
-msgstr ""
-
-#: apt-pkg/contrib/fileutl.cc:380
-#, c-format
-msgid "Ignoring file '%s' in directory '%s' as it has no filename extension"
-msgstr ""
-
-#: apt-pkg/contrib/fileutl.cc:389
-#, c-format
-msgid ""
-"Ignoring file '%s' in directory '%s' as it has an invalid filename extension"
-msgstr ""
-
-#: apt-pkg/contrib/fileutl.cc:679
+#: apt-pkg/contrib/fileutl.cc:661
 #, c-format
 msgid "Waited for %s but it wasn't there"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:691
+#: apt-pkg/contrib/fileutl.cc:673
 #, c-format
 msgid "Sub-process %s received a segmentation fault."
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:693
+#: apt-pkg/contrib/fileutl.cc:675
 #, c-format
 msgid "Sub-process %s received signal %u."
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:697
+#: apt-pkg/contrib/fileutl.cc:679
 #, c-format
 msgid "Sub-process %s returned an error code (%u)"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:699
+#: apt-pkg/contrib/fileutl.cc:681
 #, c-format
 msgid "Sub-process %s exited unexpectedly"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:746
 #, c-format
 msgid "Could not open file %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:781
+#: apt-pkg/contrib/fileutl.cc:763
 #, c-format
 msgid "Could not open file descriptor %d"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:841
+#: apt-pkg/contrib/fileutl.cc:823
 #, c-format
 msgid "read, still have %lu to read but none left"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:874
+#: apt-pkg/contrib/fileutl.cc:856
 #, c-format
 msgid "write, still have %lu to write but couldn't"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:1010
+#: apt-pkg/contrib/fileutl.cc:985
 #, c-format
 msgid "Problem closing the gzip file %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:1013
+#: apt-pkg/contrib/fileutl.cc:988
 #, c-format
 msgid "Problem closing the file %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:1018
+#: apt-pkg/contrib/fileutl.cc:993
 #, c-format
 msgid "Problem renaming the file %s to %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:1029
+#: apt-pkg/contrib/fileutl.cc:1004
 #, c-format
 msgid "Problem unlinking the file %s"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:1042
+#: apt-pkg/contrib/fileutl.cc:1017
 msgid "Problem syncing the file"
 msgstr ""
 
@@ -2371,59 +2275,59 @@ msgstr ""
 msgid "The package cache was built for a different architecture"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:299
+#: apt-pkg/pkgcache.cc:293
 msgid "Depends"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:299
+#: apt-pkg/pkgcache.cc:293
 msgid "PreDepends"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:299
+#: apt-pkg/pkgcache.cc:293
 msgid "Suggests"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:300
+#: apt-pkg/pkgcache.cc:294
 msgid "Recommends"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:300
+#: apt-pkg/pkgcache.cc:294
 msgid "Conflicts"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:300
+#: apt-pkg/pkgcache.cc:294
 msgid "Replaces"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:301
+#: apt-pkg/pkgcache.cc:295
 msgid "Obsoletes"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:301
+#: apt-pkg/pkgcache.cc:295
 msgid "Breaks"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:301
+#: apt-pkg/pkgcache.cc:295
 msgid "Enhances"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:312
+#: apt-pkg/pkgcache.cc:306
 msgid "important"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:312
+#: apt-pkg/pkgcache.cc:306
 msgid "required"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:312
+#: apt-pkg/pkgcache.cc:306
 msgid "standard"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:313
+#: apt-pkg/pkgcache.cc:307
 msgid "optional"
 msgstr ""
 
-#: apt-pkg/pkgcache.cc:313
+#: apt-pkg/pkgcache.cc:307
 msgid "extra"
 msgstr ""
 
@@ -2453,6 +2357,11 @@ msgstr ""
 msgid "Failed to write temporary StateFile %s"
 msgstr ""
 
+#: apt-pkg/depcache.cc:922
+#, c-format
+msgid "Internal error, group '%s' has no installable pseudo package"
+msgstr ""
+
 #: apt-pkg/tagfile.cc:102
 #, c-format
 msgid "Unable to parse package file %s (1)"
@@ -2518,7 +2427,7 @@ msgstr ""
 msgid "Opening %s"
 msgstr ""
 
-#: apt-pkg/sourcelist.cc:261 apt-pkg/cdrom.cc:444
+#: apt-pkg/sourcelist.cc:261 apt-pkg/cdrom.cc:438
 #, c-format
 msgid "Line %u too long in source list %s."
 msgstr ""
@@ -2533,14 +2442,14 @@ msgstr ""
 msgid "Type '%s' is not known on line %u in source list %s"
 msgstr ""
 
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
+#: apt-pkg/packagemanager.cc:331 apt-pkg/packagemanager.cc:616
 #, c-format
 msgid ""
 "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
 "under APT::Immediate-Configure for details. (%d)"
 msgstr ""
 
-#: apt-pkg/packagemanager.cc:456
+#: apt-pkg/packagemanager.cc:452
 #, c-format
 msgid ""
 "This installation run will require temporarily removing the essential "
@@ -2548,7 +2457,7 @@ msgid ""
 "you really want to do it, activate the APT::Force-LoopBreak option."
 msgstr ""
 
-#: apt-pkg/packagemanager.cc:501
+#: apt-pkg/packagemanager.cc:495
 #, c-format
 msgid ""
 "Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2560,25 +2469,25 @@ msgstr ""
 msgid "Index file type '%s' is not supported"
 msgstr ""
 
-#: apt-pkg/algorithms.cc:247
+#: apt-pkg/algorithms.cc:292
 #, c-format
 msgid ""
 "The package %s needs to be reinstalled, but I can't find an archive for it."
 msgstr ""
 
-#: apt-pkg/algorithms.cc:1158
+#: apt-pkg/algorithms.cc:1218
 msgid ""
 "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
 "held packages."
 msgstr ""
 
-#: apt-pkg/algorithms.cc:1160
+#: apt-pkg/algorithms.cc:1220
 msgid "Unable to correct problems, you have held broken packages."
 msgstr ""
 
-#: apt-pkg/algorithms.cc:1455 apt-pkg/algorithms.cc:1457
+#: apt-pkg/algorithms.cc:1496 apt-pkg/algorithms.cc:1498
 msgid ""
-"Some index files failed to download. They have been ignored, or old ones "
+"Some index files failed to download, they have been ignored, or old ones "
 "used instead."
 msgstr ""
 
@@ -2619,7 +2528,7 @@ msgstr ""
 msgid "Method %s did not start correctly"
 msgstr ""
 
-#: apt-pkg/acquire-worker.cc:423
+#: apt-pkg/acquire-worker.cc:413
 #, c-format
 msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
 msgstr ""
@@ -2654,17 +2563,17 @@ msgstr ""
 msgid "The list of sources could not be read."
 msgstr ""
 
-#: apt-pkg/policy.cc:351
+#: apt-pkg/policy.cc:344
 #, c-format
 msgid "Invalid record in the preferences file %s, no Package header"
 msgstr ""
 
-#: apt-pkg/policy.cc:373
+#: apt-pkg/policy.cc:366
 #, c-format
 msgid "Did not understand pin type %s"
 msgstr ""
 
-#: apt-pkg/policy.cc:381
+#: apt-pkg/policy.cc:374
 msgid "No priority (or zero) specified for pin"
 msgstr ""
 
@@ -2672,167 +2581,155 @@ msgstr ""
 msgid "Cache has an incompatible versioning system"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:187
+#: apt-pkg/pkgcachegen.cc:198
 #, c-format
 msgid "Error occurred while processing %s (NewPackage)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:204
+#: apt-pkg/pkgcachegen.cc:215
 #, c-format
 msgid "Error occurred while processing %s (UsePackage1)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:242
+#: apt-pkg/pkgcachegen.cc:253
 #, c-format
 msgid "Error occurred while processing %s (NewFileDesc1)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:274
+#: apt-pkg/pkgcachegen.cc:285
 #, c-format
 msgid "Error occurred while processing %s (UsePackage2)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:278
+#: apt-pkg/pkgcachegen.cc:289
 #, c-format
 msgid "Error occurred while processing %s (NewFileVer1)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:295 apt-pkg/pkgcachegen.cc:305
-#: apt-pkg/pkgcachegen.cc:313
+#: apt-pkg/pkgcachegen.cc:306 apt-pkg/pkgcachegen.cc:316
+#: apt-pkg/pkgcachegen.cc:324
 #, c-format
 msgid "Error occurred while processing %s (NewVersion%d)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:309
+#: apt-pkg/pkgcachegen.cc:320
 #, c-format
 msgid "Error occurred while processing %s (UsePackage3)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:342
+#: apt-pkg/pkgcachegen.cc:353
 #, c-format
 msgid "Error occurred while processing %s (NewFileDesc2)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:348
+#: apt-pkg/pkgcachegen.cc:360
 msgid "Wow, you exceeded the number of package names this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:351
+#: apt-pkg/pkgcachegen.cc:363
 msgid "Wow, you exceeded the number of versions this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:354
+#: apt-pkg/pkgcachegen.cc:366
 msgid "Wow, you exceeded the number of descriptions this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:357
+#: apt-pkg/pkgcachegen.cc:369
 msgid "Wow, you exceeded the number of dependencies this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:386
+#: apt-pkg/pkgcachegen.cc:398
 #, c-format
 msgid "Error occurred while processing %s (FindPkg)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:400
+#: apt-pkg/pkgcachegen.cc:412
 #, c-format
 msgid "Error occurred while processing %s (CollectFileProvides)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:406
+#: apt-pkg/pkgcachegen.cc:418
 #, c-format
 msgid "Package %s %s was not found while processing file dependencies"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:960
+#: apt-pkg/pkgcachegen.cc:982
 #, c-format
 msgid "Couldn't stat source package list %s"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:1065
+#: apt-pkg/pkgcachegen.cc:1087
 msgid "Collecting File Provides"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1265 apt-pkg/pkgcachegen.cc:1272
 msgid "IO Error saving source cache"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:135
+#: apt-pkg/acquire-item.cc:136
 #, c-format
 msgid "rename failed, %s (%s -> %s)."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:636
+#: apt-pkg/acquire-item.cc:484
 msgid "MD5Sum mismatch"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
-#: apt-pkg/acquire-item.cc:1991
+#: apt-pkg/acquire-item.cc:746 apt-pkg/acquire-item.cc:1574
+#: apt-pkg/acquire-item.cc:1717
 msgid "Hash Sum mismatch"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1388
-#, c-format
-msgid ""
-"Unable to find expected entry '%s' in Release file (Wrong sources.list entry "
-"or malformed file)"
-msgstr ""
-
-#: apt-pkg/acquire-item.cc:1403
-#, c-format
-msgid "Unable to find hash sum for '%s' in Release file"
-msgstr ""
-
-#: apt-pkg/acquire-item.cc:1439
+#: apt-pkg/acquire-item.cc:1244
 msgid "There is no public key available for the following key IDs:\n"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1477
+#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
+#. the time since then the file is invalid - formated in the same way as in
+#. the download progress display (e.g. 7d 3h 42min 1s)
+#: apt-pkg/acquire-item.cc:1281
 #, c-format
-msgid ""
-"Release file for %s is expired (invalid since %s). Updates for this "
-"repository will not be applied."
+msgid "Release file expired, ignoring %s (invalid since %s)"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1499
+#: apt-pkg/acquire-item.cc:1302
 #, c-format
 msgid "Conflicting distribution: %s (expected %s but got %s)"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1532
+#: apt-pkg/acquire-item.cc:1328
 #, c-format
 msgid ""
 "A error occurred during the signature verification. The repository is not "
 "updated and the previous index files will be used. GPG error: %s: %s\n"
 msgstr ""
 
-#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
+#: apt-pkg/acquire-item.cc:1337
 #, c-format
 msgid "GPG error: %s: %s"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1639
+#: apt-pkg/acquire-item.cc:1365
 #, c-format
 msgid ""
 "I wasn't able to locate a file for the %s package. This might mean you need "
 "to manually fix this package. (due to missing arch)"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1698
+#: apt-pkg/acquire-item.cc:1424
 #, c-format
 msgid ""
 "I wasn't able to locate a file for the %s package. This might mean you need "
 "to manually fix this package."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1753
+#: apt-pkg/acquire-item.cc:1479
 #, c-format
 msgid ""
 "The package index files are corrupted. No Filename: field for package %s."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:1840
+#: apt-pkg/acquire-item.cc:1566
 msgid "Size mismatch"
 msgstr ""
 
@@ -2841,129 +2738,130 @@ msgstr ""
 msgid "Unable to parse Release file %s"
 msgstr ""
 
-#: apt-pkg/indexrecords.cc:63
+#: apt-pkg/indexrecords.cc:60
 #, c-format
 msgid "No sections in Release file %s"
 msgstr ""
 
-#: apt-pkg/indexrecords.cc:97
+#: apt-pkg/indexrecords.cc:94
 #, c-format
 msgid "No Hash entry in Release file %s"
 msgstr ""
 
-#: apt-pkg/indexrecords.cc:110
+#: apt-pkg/indexrecords.cc:107
 #, c-format
 msgid "Invalid 'Valid-Until' entry in Release file %s"
 msgstr ""
 
-#: apt-pkg/indexrecords.cc:125
+#: apt-pkg/indexrecords.cc:122
 #, c-format
 msgid "Invalid 'Date' entry in Release file %s"
 msgstr ""
 
-#: apt-pkg/vendorlist.cc:71
+#: apt-pkg/vendorlist.cc:66
 #, c-format
 msgid "Vendor block %s contains no fingerprint"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:525
+#: apt-pkg/cdrom.cc:518
 #, c-format
 msgid ""
 "Using CD-ROM mount point %s\n"
 "Mounting CD-ROM\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:534 apt-pkg/cdrom.cc:631
+#: apt-pkg/cdrom.cc:527 apt-pkg/cdrom.cc:615
 msgid "Identifying.. "
 msgstr ""
 
-#: apt-pkg/cdrom.cc:562
+#: apt-pkg/cdrom.cc:552
 #, c-format
 msgid "Stored label: %s\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:571 apt-pkg/cdrom.cc:847
+#: apt-pkg/cdrom.cc:559 apt-pkg/cdrom.cc:827
 msgid "Unmounting CD-ROM...\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:591
+#: apt-pkg/cdrom.cc:578
 #, c-format
 msgid "Using CD-ROM mount point %s\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:609
+#: apt-pkg/cdrom.cc:596
 msgid "Unmounting CD-ROM\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:614
+#: apt-pkg/cdrom.cc:600
 msgid "Waiting for disc...\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:623
+#. Mount the new CDROM
+#: apt-pkg/cdrom.cc:608
 msgid "Mounting CD-ROM...\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:642
+#: apt-pkg/cdrom.cc:626
 msgid "Scanning disc for index files..\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:684
+#: apt-pkg/cdrom.cc:666
 #, c-format
 msgid ""
 "Found %zu package indexes, %zu source indexes, %zu translation indexes and "
 "%zu signatures\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:695
+#: apt-pkg/cdrom.cc:677
 msgid ""
 "Unable to locate any package files, perhaps this is not a Debian Disc or the "
 "wrong architecture?"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:722
+#: apt-pkg/cdrom.cc:703
 #, c-format
 msgid "Found label '%s'\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:751
+#: apt-pkg/cdrom.cc:732
 msgid "That is not a valid name, try again.\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:768
+#: apt-pkg/cdrom.cc:748
 #, c-format
 msgid ""
 "This disc is called: \n"
 "'%s'\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:770
+#: apt-pkg/cdrom.cc:752
 msgid "Copying package lists..."
 msgstr ""
 
-#: apt-pkg/cdrom.cc:797
+#: apt-pkg/cdrom.cc:778
 msgid "Writing new source list\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:805
+#: apt-pkg/cdrom.cc:787
 msgid "Source list entries for this disc are:\n"
 msgstr ""
 
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:908
 #, c-format
 msgid "Wrote %i records.\n"
 msgstr ""
 
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:910
 #, c-format
 msgid "Wrote %i records with %i missing files.\n"
 msgstr ""
 
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:913
 #, c-format
 msgid "Wrote %i records with %i mismatched files\n"
 msgstr ""
 
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:916
 #, c-format
 msgid "Wrote %i records with %i missing files and %i mismatched files\n"
 msgstr ""
@@ -3030,123 +2928,123 @@ msgstr ""
 msgid "Can't select installed version from package %s as it is not installed"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:54
+#: apt-pkg/deb/dpkgpm.cc:52
 #, c-format
 msgid "Installing %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:55 apt-pkg/deb/dpkgpm.cc:848
+#: apt-pkg/deb/dpkgpm.cc:53 apt-pkg/deb/dpkgpm.cc:823
 #, c-format
 msgid "Configuring %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:56 apt-pkg/deb/dpkgpm.cc:855
+#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:830
 #, c-format
 msgid "Removing %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:57
+#: apt-pkg/deb/dpkgpm.cc:55
 #, c-format
 msgid "Completely removing %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:58
+#: apt-pkg/deb/dpkgpm.cc:56
 #, c-format
 msgid "Noting disappearance of %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:59
+#: apt-pkg/deb/dpkgpm.cc:57
 #, c-format
 msgid "Running post-installation trigger %s"
 msgstr ""
 
 #. FIXME: use a better string after freeze
-#: apt-pkg/deb/dpkgpm.cc:654
+#: apt-pkg/deb/dpkgpm.cc:646
 #, c-format
 msgid "Directory '%s' missing"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:669 apt-pkg/deb/dpkgpm.cc:689
+#: apt-pkg/deb/dpkgpm.cc:661 apt-pkg/deb/dpkgpm.cc:675
 #, c-format
 msgid "Could not open file '%s'"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:841
+#: apt-pkg/deb/dpkgpm.cc:816
 #, c-format
 msgid "Preparing %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:842
+#: apt-pkg/deb/dpkgpm.cc:817
 #, c-format
 msgid "Unpacking %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:847
+#: apt-pkg/deb/dpkgpm.cc:822
 #, c-format
 msgid "Preparing to configure %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:849
+#: apt-pkg/deb/dpkgpm.cc:824
 #, c-format
 msgid "Installed %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:854
+#: apt-pkg/deb/dpkgpm.cc:829
 #, c-format
 msgid "Preparing for removal of %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:856
+#: apt-pkg/deb/dpkgpm.cc:831
 #, c-format
 msgid "Removed %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:861
+#: apt-pkg/deb/dpkgpm.cc:836
 #, c-format
 msgid "Preparing to completely remove %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:862
+#: apt-pkg/deb/dpkgpm.cc:837
 #, c-format
 msgid "Completely removed %s"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:1082
+#: apt-pkg/deb/dpkgpm.cc:1043
 msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:1113
+#: apt-pkg/deb/dpkgpm.cc:1074
 msgid "Running dpkg"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:1338
+#: apt-pkg/deb/dpkgpm.cc:1277
 msgid "No apport report written because MaxReports is reached already"
 msgstr ""
 
 #. check if its not a follow up error
-#: apt-pkg/deb/dpkgpm.cc:1343
+#: apt-pkg/deb/dpkgpm.cc:1282
 msgid "dependency problems - leaving unconfigured"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:1345
+#: apt-pkg/deb/dpkgpm.cc:1284
 msgid ""
 "No apport report written because the error message indicates its a followup "
 "error from a previous failure."
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:1351
+#: apt-pkg/deb/dpkgpm.cc:1290
 msgid ""
 "No apport report written because the error message indicates a disk full "
 "error"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:1357
+#: apt-pkg/deb/dpkgpm.cc:1296
 msgid ""
 "No apport report written because the error message indicates a out of memory "
 "error"
 msgstr ""
 
-#: apt-pkg/deb/dpkgpm.cc:1364
+#: apt-pkg/deb/dpkgpm.cc:1303
 msgid ""
 "No apport report written because the error message indicates a dpkg I/O error"
 msgstr ""
@@ -3177,37 +3075,30 @@ msgstr ""
 
 #. FIXME: fallback to a default mirror here instead
 #. and provide a config option to define that default
-#: methods/mirror.cc:260
+#: methods/mirror.cc:200
 #, c-format
 msgid "No mirror file '%s' found "
 msgstr ""
 
-#. FIXME: fallback to a default mirror here instead
-#. and provide a config option to define that default
-#: methods/mirror.cc:267
-#, c-format
-msgid "Can not read mirror file '%s'"
-msgstr ""
-
-#: methods/mirror.cc:422
+#: methods/mirror.cc:343
 #, c-format
 msgid "[Mirror: %s]"
 msgstr ""
 
-#: methods/rred.cc:503
+#: methods/rred.cc:465
 #, c-format
 msgid ""
 "Could not patch %s with mmap and with file operation usage - the patch seems "
 "to be corrupt."
 msgstr ""
 
-#: methods/rred.cc:508
+#: methods/rred.cc:470
 #, c-format
 msgid ""
 "Could not patch %s with mmap (but no mmap specific fail) - the patch seems "
 "to be corrupt."
 msgstr ""
 
-#: methods/rsh.cc:330
+#: methods/rsh.cc:329
 msgid "Connection closed prematurely"
 msgstr ""
index cc5af798c9b38448bba008ec9f85ac47ee1a1b84..96cdb5f5e31b9f01368646b5cdb0fdf5a17bcc7a 100644 (file)
@@ -708,3 +708,9 @@ testmarkedauto() {
        fi
        aptmark showauto 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail
 }
+
+pause() {
+       echo "STOPPED execution. Press enter to continue"
+       local IGNORE
+       read IGNORE
+}
diff --git a/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only
new file mode 100755 (executable)
index 0000000..d970119
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'i386'
+
+insertpackage 'unstable' 'apt' 'i386' '0.8.11'
+
+setupaptarchive
+
+rm -rf rootdir/var/lib/apt/lists
+
+find aptarchive/ -name 'Release.gpg' -delete
+find aptarchive/ -name 'InRelease' -exec cp {} {}.old \;
+
+for RELEASE in $(find aptarchive/ -name 'InRelease'); do
+       (echo 'Origin: Marvin
+Label: Marvin
+Suite: experimental
+Codename: experimental
+MD5Sum:
+ 65fd410587b6978de2277f2912523f09     9360 Packages
+ d27b294ed172a1fa9dd5a53949914c5d     4076 Packages.bz2
+ 2182897e0a2a0c09e760beaae117a015     2023 Packages.diff/Index
+ 1b895931853981ad8204d2439821b999     4144 Packages.gz'; echo; cat ${RELEASE}.old;) > ${RELEASE}
+done
+aptget update -qq > /dev/null 2> starts-with-unsigned.msg
+sed -i 's#File .*InRelease#File InRelease#' starts-with-unsigned.msg
+testfileequal starts-with-unsigned.msg "W: GPG error: file: unstable InRelease: File InRelease doesn't start with a clearsigned message"
diff --git a/test/integration/test-ubuntu-bug-806274-install-suggests b/test/integration/test-ubuntu-bug-806274-install-suggests
new file mode 100755 (executable)
index 0000000..fb72f09
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture "i386"
+
+insertpackage 'unstable' 'apt' 'i386' '0.8.15' 'Depends: foo
+Recommends: bar
+Suggests: baz'
+insertpackage 'unstable' 'foo' 'i386' '1.0'
+insertpackage 'unstable' 'bar' 'i386' '1.0'
+insertpackage 'unstable' 'baz' 'i386' '1.0'
+
+setupaptarchive
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  bar foo
+Suggested packages:
+  baz
+The following NEW packages will be installed:
+  apt bar foo
+0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])
+Inst bar (1.0 unstable [i386])
+Conf bar (1.0 unstable [i386])' aptget install apt -s --install-recommends --no-install-suggests
+
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  bar baz foo
+The following NEW packages will be installed:
+  apt bar baz foo
+0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])
+Inst bar (1.0 unstable [i386])
+Inst baz (1.0 unstable [i386])
+Conf bar (1.0 unstable [i386])
+Conf baz (1.0 unstable [i386])' aptget install apt -s --install-recommends --install-suggests
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  foo
+Suggested packages:
+  baz
+Recommended packages:
+  bar
+The following NEW packages will be installed:
+  apt foo
+0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])' aptget install apt -s --no-install-recommends --no-install-suggests
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  baz foo
+Recommended packages:
+  bar
+The following NEW packages will be installed:
+  apt baz foo
+0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])
+Inst baz (1.0 unstable [i386])
+Conf baz (1.0 unstable [i386])' aptget install apt -s --no-install-recommends --install-suggests