]> git.saurik.com Git - apt.git/commitdiff
* updated from http://people.ubuntu.com/~mvo/bzr/apt/auto-mark/
authorMichael Vogt <egon@bottom>
Wed, 2 May 2007 11:58:21 +0000 (13:58 +0200)
committerMichael Vogt <egon@bottom>
Wed, 2 May 2007 11:58:21 +0000 (13:58 +0200)
1  2 
apt-pkg/depcache.cc
cmdline/apt-get.cc
doc/examples/configure-index
po/apt-all.pot

diff --combined apt-pkg/depcache.cc
index 390d93dc8db7b1ae5305c9cc00a295d523f9783d,f5673dd5d1ec075d2ccce48d01a7939614719c35..ac667d51d6f3931c69306ba82d31b91203d71c79
@@@ -8,6 -8,9 +8,6 @@@
     ##################################################################### */
                                                                        /*}}}*/
  // Include Files                                                      /*{{{*/
 -#ifdef __GNUG__
 -#pragma implementation "apt-pkg/depcache.h"
 -#endif
  #include <apt-pkg/depcache.h>
  #include <apt-pkg/version.h>
  #include <apt-pkg/error.h>
@@@ -270,7 -273,7 +270,7 @@@ bool pkgDepCache::CheckDep(DepIterator 
        we allow it anyhow because dpkg does. Technically it is a packaging
        bug. Conflicts may never self match */
     if (Dep.TargetPkg() != Dep.ParentPkg() || 
 -       (Dep->Type != Dep::Conflicts && Dep->Type != Dep::Obsoletes))
 +       (Dep->Type != Dep::Conflicts && Dep->Type != Dep::DpkgBreaks && Dep->Type != Dep::Obsoletes))
     {
        PkgIterator Pkg = Dep.TargetPkg();
        // Check the base package
     {
        /* Provides may never be applied against the same package if it is
           a conflicts. See the comment above. */
 -      if (P.OwnerPkg() == Pkg && Dep->Type == Dep::Conflicts)
 +      if (P.OwnerPkg() == Pkg &&
 +        (Dep->Type == Dep::Conflicts || Dep->Type == Dep::DpkgBreaks))
         continue;
        
        // Check if the provides is a hit
@@@ -397,11 -399,9 +397,11 @@@ void pkgDepCache::AddStates(const PkgIt
  {
     StateCache &State = PkgState[Pkg->ID];
     
 -   // The Package is broken
 +   // The Package is broken (either minimal dep or policy dep)
     if ((State.DepState & DepInstMin) != DepInstMin)
        iBrokenCount += Add;
 +   if ((State.DepState & DepInstPolicy) != DepInstPolicy)
 +      iPolicyBrokenCount += Add;
     
     // Bad state
     if (Pkg.State() != PkgIterator::NeedsNothing)
@@@ -455,9 -455,7 +455,9 @@@ void pkgDepCache::BuildGroupOrs(VerIter
  
        /* Invert for Conflicts. We have to do this twice to get the
           right sense for a conflicts group */
 -      if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes)
 +      if (D->Type == Dep::Conflicts ||
 +        D->Type == Dep::DpkgBreaks ||
 +        D->Type == Dep::Obsoletes)
         State = ~State;
        
        // Add to the group if we are within an or..
         Group = 0;
        
        // Invert for Conflicts
 -      if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes)
 +      if (D->Type == Dep::Conflicts ||
 +        D->Type == Dep::DpkgBreaks ||
 +        D->Type == Dep::Obsoletes)
         State = ~State;
     }   
  }
@@@ -603,9 -599,7 +603,9 @@@ void pkgDepCache::Update(OpProgress *Pr
               Group = 0;
  
            // Invert for Conflicts
 -          if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes)
 +          if (D->Type == Dep::Conflicts ||
 +              D->Type == Dep::DpkgBreaks ||
 +              D->Type == Dep::Obsoletes)
               State = ~State;
         }       
        }
@@@ -635,9 -629,7 +635,9 @@@ void pkgDepCache::Update(DepIterator D
        State = DependencyState(D);
      
        // Invert for Conflicts
 -      if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes)
 +      if (D->Type == Dep::Conflicts ||
 +        D->Type == Dep::DpkgBreaks ||
 +        D->Type == Dep::Obsoletes)
         State = ~State;
  
        RemoveStates(D.ParentPkg());
@@@ -709,6 -701,7 +709,6 @@@ void pkgDepCache::MarkKeep(PkgIterator 
     // We dont even try to keep virtual packages..
     if (Pkg->VersionList == 0)
        return;
 -
  #if 0 // reseting the autoflag here means we lose the 
        // auto-mark information if a user selects a package for removal
        // but changes  his mind then and sets it for keep again
@@@ -779,8 -772,7 +779,8 @@@ void pkgDepCache::MarkDelete(PkgIterato
  // ---------------------------------------------------------------------
  /* */
  void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
 -                            unsigned long Depth, bool FromUser)
 +                            unsigned long Depth, bool FromUser,
 +                            bool ForceImportantDeps)
  {
     if (Depth > 100)
        return;
        installed */
     StateCache &P = PkgState[Pkg->ID];
     P.iFlags &= ~AutoKept;
 -   if (P.InstBroken() == false && (P.Mode == ModeInstall ||
 +   if ((P.InstPolicyBroken() == false && P.InstBroken() == false) && 
 +       (P.Mode == ModeInstall ||
        P.CandidateVer == (Version *)Pkg.CurrentVer()))
     {
        if (P.CandidateVer == (Version *)Pkg.CurrentVer() && P.InstallVer == 0)
     // See if there is even any possible instalation candidate
     if (P.CandidateVer == 0)
        return;
 -   
     // We dont even try to install virtual packages..
     if (Pkg->VersionList == 0)
        return;
 -   
     /* Target the candidate version and remove the autoflag. We reset the
        autoflag below if this was called recursively. Otherwise the user
        should have the ability to de-auto a package by changing its state */
  
        /* Check if this dep should be consider for install. If it is a user
           defined important dep and we are installed a new package then 
 -       it will be installed. Otherwise we only worry about critical deps */
 +       it will be installed. Otherwise we only check for important
 +         deps that have changed from the installed version
 +      */
        if (IsImportantDep(Start) == false)
         continue;
 -      if (Pkg->CurrentVer != 0 && Start.IsCritical() == false)
 +      
 +      /* check if any ImportantDep() (but not Critial) where added
 +       * since we installed the package
 +       */
 +      bool isNewImportantDep = false;
 +      if(!ForceImportantDeps && !Start.IsCritical())
 +      {
 +       bool found=false;
 +       VerIterator instVer = Pkg.CurrentVer();
 +       if(!instVer.end())
 +       {
 +          for (DepIterator D = instVer.DependsList(); D.end() != true; D++)
 +          {
 +             //FIXME: deal better with or-groups(?)
 +             DepIterator LocalStart = D;
 +             
 +             if(IsImportantDep(D) && Start.TargetPkg() == D.TargetPkg())
 +                found=true;
 +          }
 +          // this is a new dep if it was not found to be already
 +          // a important dep of the installed pacakge
 +          isNewImportantDep = !found;
 +       }
 +      }
 +      if(isNewImportantDep)
 +       if(_config->FindB("Debug::pkgDepCache::AutoInstall",false) == true)
 +          std::clog << "new important dependency: " 
 +                    << Start.TargetPkg().Name() << std::endl;
 +
 +      // skip important deps if the package is already installed
 +      if (Pkg->CurrentVer != 0 && Start.IsCritical() == false 
 +        && !isNewImportantDep && !ForceImportantDeps)
         continue;
        
        /* If we are in an or group locate the first or that can 
        /* This bit is for processing the possibilty of an install/upgrade
           fixing the problem */
        SPtrArray<Version *> List = Start.AllTargets();
 -      if ((DepState[Start->ID] & DepCVer) == DepCVer)
 +      if (Start->Type != Dep::DpkgBreaks &&
 +        (DepState[Start->ID] & DepCVer) == DepCVer)
        {
         // Right, find the best version to install..
         Version **Cur = List;
               std::clog << "Installing " << InstPkg.Name() 
                         << " as dep of " << Pkg.Name() 
                         << std::endl;
-           MarkInstall(InstPkg,true,Depth + 1, false, ForceImportantDeps);
-           // Set the autoflag, after MarkInstall because MarkInstall unsets it
-           if (P->CurrentVer == 0)
-              PkgState[InstPkg->ID].Flags |= Flag::Auto;
+           // now check if we should consider it a automatic dependency or not
+           string sec = _config->Find("APT::Never-MarkAuto-Section","");
+           if(Pkg.Section() && (string(Pkg.Section()) ==  sec))
+           {
+              if(_config->FindB("Debug::pkgDepCache::AutoInstall",false) == true)
+                 std::clog << "Setting NOT as auto-installed because its a direct dep of a package in section " << sec << std::endl;
+              MarkInstall(InstPkg,true,Depth + 1, true);
+           }
+           else 
+           {
+              // mark automatic dependency
 -             MarkInstall(InstPkg,true,Depth + 1, false);
++             MarkInstall(InstPkg,true,Depth + 1, false, ForceImportantDeps);
+              // Set the autoflag, after MarkInstall because MarkInstall unsets it
+              if (P->CurrentVer == 0)
+                 PkgState[InstPkg->ID].Flags |= Flag::Auto;
+           }
         }
         continue;
        }
 -      
 +
        /* For conflicts we just de-install the package and mark as auto,
 -         Conflicts may not have or groups */
 -      if (Start->Type == Dep::Conflicts || Start->Type == Dep::Obsoletes)
 +         Conflicts may not have or groups.  For dpkg's Breaks we try to
 +         upgrade the package. */
 +      if (Start->Type == Dep::Conflicts || Start->Type == Dep::Obsoletes ||
 +        Start->Type == Dep::DpkgBreaks)
        {
         for (Version **I = List; *I != 0; I++)
         {
            VerIterator Ver(*this,*I);
            PkgIterator Pkg = Ver.ParentPkg();
 -      
 -          MarkDelete(Pkg);
 +
 +          if (Start->Type != Dep::DpkgBreaks)
 +             MarkDelete(Pkg);
 +          else
 +             if (PkgState[Pkg->ID].CandidateVer != *I)
 +                MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps);
         }
         continue;
        }      
@@@ -1120,28 -1084,7 +1131,28 @@@ pkgCache::VerIterator pkgDepCache::Poli
  /* */
  bool pkgDepCache::Policy::IsImportantDep(DepIterator Dep)
  {
 -   return Dep.IsCritical();
 +   if(Dep.IsCritical())
 +      return true;
 +   else if(Dep->Type == pkgCache::Dep::Recommends) 
 +   {
 +      if ( _config->FindB("APT::Install-Recommends", false))
 +       return true;
 +      // we suport a special mode to only install-recommends for certain
 +      // sections
 +      // FIXME: this is a meant as a temporarly solution until the 
 +      //        recommends are cleaned up
 +      string s = _config->Find("APT::Install-Recommends-Section","");
 +      if(s.size() > 0) 
 +      {
 +       const char *sec = Dep.TargetPkg().Section();
 +       if (sec && strcmp(sec, s.c_str()) == 0)
 +          return true;
 +      }
 +   }
 +   else if(Dep->Type == pkgCache::Dep::Suggests)
 +     return _config->FindB("APT::Install-Suggests", false);
 +
 +   return false;
  }
                                                                        /*}}}*/
  
diff --combined cmdline/apt-get.cc
index b47c2ec0944d802d5e1f298dd071fbd133bb7020,e8e5a8c39f89ed3de2f5de1b3edf6a79d40025bc..aa6a70ffe04edb08c53b2d4237a0a14966584927
@@@ -629,8 -629,6 +629,8 @@@ void CacheFile::Sort(
     and verifies that the system is OK. */
  bool CacheFile::CheckDeps(bool AllowBroken)
  {
 +   bool FixBroken = _config->FindB("APT::Get::Fix-Broken",false);
 +
     if (_error->PendingError() == true)
        return false;
  
     if (pkgApplyStatus(*DCache) == false)
        return false;
     
 +   if (_config->FindB("APT::Get::Fix-Policy-Broken",false) == true)
 +   {
 +      FixBroken = true;
 +      if ((DCache->PolicyBrokenCount() > 0))
 +      {
 +       // upgrade all policy-broken packages with ForceImportantDeps=True
 +       for (pkgCache::PkgIterator I = Cache->PkgBegin(); !I.end(); I++)
 +          if ((*DCache)[I].NowPolicyBroken() == true) 
 +             DCache->MarkInstall(I,true,0, false, true);
 +      }
 +   }
 +
     // Nothing is broken
     if (DCache->BrokenCount() == 0 || AllowBroken == true)
        return true;
  
     // Attempt to fix broken things
 -   if (_config->FindB("APT::Get::Fix-Broken",false) == true)
 +   if (FixBroken == true)
     {
        c1out << _("Correcting dependencies...") << flush;
        if (pkgFixBroken(*DCache) == false || DCache->BrokenCount() != 0)
@@@ -1160,11 -1146,9 +1160,11 @@@ bool TryToInstall(pkgCache::PkgIterato
     else
        ExpectedInst++;
     
 -   // Install it with autoinstalling enabled.
 -   if (State.InstBroken() == true && BrokenFix == false)
 +   // Install it with autoinstalling enabled (if we not respect the minial
 +   // required deps or the policy)
 +   if ((State.InstBroken() == true || State.InstPolicyBroken() == true) && BrokenFix == false)
        Cache.MarkInstall(Pkg,true);
 +
     return true;
  }
                                                                        /*}}}*/
@@@ -1372,29 -1356,20 +1372,29 @@@ bool DoUpdate(CommandLine &CmdL
        return false;
  
     bool Failed = false;
 +   bool TransientNetworkFailure = false;
     for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++)
     {
        if ((*I)->Status == pkgAcquire::Item::StatDone)
         continue;
  
        (*I)->Finished();
 -      
 +
        fprintf(stderr,_("Failed to fetch %s  %s\n"),(*I)->DescURI().c_str(),
              (*I)->ErrorText.c_str());
 +
 +      if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError) 
 +      {
 +       TransientNetworkFailure = true;
 +       continue;
 +      }
 +
        Failed = true;
     }
     
     // Clean out any old list files
 -   if (!Failed && _config->FindB("APT::Get::List-Cleanup",true) == true)
 +   if (!TransientNetworkFailure &&
 +       _config->FindB("APT::Get::List-Cleanup",true) == true)
     {
        if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false ||
          Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") == false)
     if (Cache.BuildCaches() == false)
        return false;
     
 -   if (Failed == true)
 +   if (TransientNetworkFailure == true)
 +      _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead."));
 +   else if (Failed == true)
        return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead."));
 -   
 +
     return true;
  }
                                                                        /*}}}*/
@@@ -1421,8 -1394,8 +1421,8 @@@ bool DoAutomaticRemove(CacheFile &Cache
  {
     bool Debug = _config->FindI("Debug::pkgAutoRemove",false);
     bool doAutoRemove = _config->FindB("APT::Get::AutomaticRemove", false);
+    bool hideAutoRemove = _config->FindB("APT::Get::HideAutoRemove");
     pkgDepCache::ActionGroup group(*Cache);
-    
  
     if(Debug)
        std::cout << "DoAutomaticRemove()" << std::endl;
         if(Pkg.CurrentVer() != 0 || Cache[Pkg].Install())
            if(Debug)
               std::cout << "We could delete %s" <<  Pkg.Name() << std::endl;
-          
-        autoremovelist += string(Pkg.Name()) + " ";
-        autoremoveversions += string(Cache[Pkg].CandVersion) + " ";
+         
+        // only show stuff in the list that is not yet marked for removal
+        if(Cache[Pkg].Delete() == false) 
+        {
+           autoremovelist += string(Pkg.Name()) + " ";
+           autoremoveversions += string(Cache[Pkg].CandVersion) + "\n";
+        }
         if (doAutoRemove)
         {
            if(Pkg.CurrentVer() != 0 && 
         }
        }
     }
-    ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions);
-    if (!doAutoRemove && autoremovelist.size() > 0)
+    if (!hideAutoRemove) 
+       ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions);
+    if (!doAutoRemove && !hideAutoRemove && autoremovelist.size() > 0)
        c1out << _("Use 'apt-get autoremove' to remove them.") << std::endl;
  
     // Now see if we destroyed anything
@@@ -1496,51 -1474,6 +1501,51 @@@ bool DoUpgrade(CommandLine &CmdL
     return InstallPackages(Cache,true);
  }
                                                                        /*}}}*/
 +// DoInstallTask - Install task from the command line                 /*{{{*/
 +// ---------------------------------------------------------------------
 +/* Install named task */
 +bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix, 
 +                  bool BrokenFix,
 +                  unsigned int& ExpectedInst, 
 +                  const char *taskname)
 +{
 +   const char *start, *end;
 +   pkgCache::PkgIterator Pkg;
 +   char buf[64*1024];
 +   regex_t Pattern;
 +
 +   // get the records
 +   pkgRecords Recs(Cache);
 +
 +   // build regexp for the task
 +   char S[300];
 +   snprintf(S, sizeof(S), "^Task:.*[^a-z]%s[^a-z].*\n", taskname);
 +   regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE);
 +   
 +   bool found = false;
 +   bool res = true;
 +   for (Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
 +   {
 +      pkgCache::VerIterator ver = Cache[Pkg].CandidateVerIter(Cache);
 +      if(ver.end())
 +       continue;
 +      pkgRecords::Parser &parser = Recs.Lookup(ver.FileList());
 +      parser.GetRec(start,end);
 +      strncpy(buf, start, end-start);
 +      buf[end-start] = 0x0;
 +      if (regexec(&Pattern,buf,0,0,0) != 0)
 +       continue;
 +      res &= TryToInstall(Pkg,Cache,Fix,false,BrokenFix,ExpectedInst);
 +      found = true;
 +   }
 +   
 +   if(!found)
 +      _error->Error(_("Couldn't find task %s"),taskname);
 +
 +   regfree(&Pattern);
 +   return res;
 +}
 +
  // DoInstall - Install packages from the command line                 /*{{{*/
  // ---------------------------------------------------------------------
  /* Install named packages */
@@@ -1556,6 -1489,7 +1561,7 @@@ bool DoInstall(CommandLine &CmdL
     if (Cache->BrokenCount() != 0)
        BrokenFix = true;
     
+    unsigned int AutoMarkChanged = 0;
     unsigned int ExpectedInst = 0;
     unsigned int Packages = 0;
     pkgProblemResolver Fix(Cache);
                  return false;
            if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false)
               return false;
+           // see if we need to fix the auto-mark flag 
+           // e.g. apt-get install foo 
+           // where foo is marked automatic
+           if(!Remove && 
+              Cache[Pkg].Install() == false && 
+              (Cache[Pkg].Flags & pkgCache::Flag::Auto))
+           {
+              ioprintf(c1out,_("%s set to manual installed.\n"),
+                       Pkg.Name());
+              Cache->MarkAuto(Pkg,false);
+              AutoMarkChanged++;
+           }
         }      
        }
  
         return _error->Error(_("Broken packages"));
        }   
     }
 -   if (!DoAutomaticRemove(Cache)) 
 +   if (_config->FindB("APT::Get::AutomaticRemove")) {
 +      if (!DoAutomaticRemove(Cache)) 
         return false;
 +   }
  
     /* Print out a list of packages that are going to be installed extra
        to what the user asked */
  
     }
  
+    // if nothing changed in the cache, but only the automark information
+    // we write the StateFile here, otherwise it will be written in 
+    // cache.commit()
+    if (AutoMarkChanged > 0 &&
+        Cache->DelCount() == 0 && Cache->InstCount() == 0 &&
+        Cache->BadCount() == 0)
+       Cache->writeStateFile(NULL);
     // See if we need to prompt
     if (Cache->InstCount() == ExpectedInst && Cache->DelCount() == 0)
        return InstallPackages(Cache,false,false);
@@@ -2634,7 -2587,6 +2661,7 @@@ void GetInitialize(
     _config->Set("APT::Get::Fix-Broken",false);
     _config->Set("APT::Get::Force-Yes",false);
     _config->Set("APT::Get::List-Cleanup",true);
 +   _config->Set("APT::Get::AutomaticRemove",false);
  }
                                                                        /*}}}*/
  // SigWinch - Window size change signal handler                               /*{{{*/
@@@ -2692,8 -2644,6 +2719,8 @@@ int main(int argc,const char *argv[]
        {0,"arch-only","APT::Get::Arch-Only",0},
        {0,"auto-remove","APT::Get::AutomaticRemove",0},
        {0,"allow-unauthenticated","APT::Get::AllowUnauthenticated",0},
 +      {0,"install-recommends","APT::Install-Recommends",CommandLine::Boolean},
 +      {0,"fix-policy","APT::Get::Fix-Policy-Broken",0},
        {'c',"config-file",0,CommandLine::ConfigFile},
        {'o',"option",0,CommandLine::ArbItem},
        {0,0,0,0}};
index 56389b7493e6967e1d8c60875bea060dcb869017,d3e061f9a01ee6f38e5ba867c87035c3679c5dab..d0aad1e3d094cd942e58b537159f2dbee412dfe0
@@@ -33,6 -33,7 +33,7 @@@ AP
    {
       Arch-Only "false";
       AutomaticRemove "false";       
+      HideAutoRemove "false";
       Download-Only "false";
       Simulate "false";
       Assume-Yes "false";
    Cache-Limit "4194304";
    Default-Release "";
  
 +  // consider Recommends, Suggests as important dependencies that should
 +  // be installed by default
 +  APT::Install-Recommends "false";
 +  APT::Install-Suggests "false";
 +
+   // consider dependencies of packages in this section manual
+   Never-MarkAuto-Section "metapackages";
    // Write progress messages on this fd (for stuff like base-config)
    Status-Fd "-1";
    // Keep the list of FDs open (normally apt closes all fds when it
@@@ -112,8 -111,6 +116,8 @@@ Acquir
    Queue-Mode "host";       // host|access
    Retries "0";
    Source-Symlinks "true";
 +
 +  PDiffs "true";     // try to get the IndexFile diffs
    
    // HTTP method configuration
    http 
      Dl-Limit "7";        // 7Kb/sec maximum download rate
    };
  
 +  // HTTPS method configuration:
 +  // - uses the http proxy config 
 +  // - uses the http cache-control values
 +  // - uses the http Dl-Limit values
 +  https 
 +  {
 +      Verify-Peer "false";
 +      SslCert "/etc/apt/some.pem";
 +        CaPath  "/etc/ssl/certs";
 +        Verify-Host" "2";
 +  };
 +
    ftp
    {
      Proxy "ftp://127.0.0.1/";
@@@ -259,10 -244,6 +263,10 @@@ DPk
     // Control the size of the command line passed to dpkg.
     MaxBytes 1024;
     MaxArgs 350;
 +
 +   // controls if apt will apport on the first dpkg error or if it 
 +   // tries to install as many packages as possible
 +   StopOnError "true";
  }
  
  /* Options you can set to see some debugging text They correspond to names
@@@ -278,12 -259,11 +282,12 @@@ Debu
    pkgDPkgProgressReporting "false";
    pkgOrderList "false";
    pkgAutoRemove "false";   // show information about automatic removes
 -
 +  BuildDeps "false";
    pkgInitialize "false";   // This one will dump the configuration space
    NoLocking "false";
    Acquire::Ftp "false";    // Show ftp command traffic
    Acquire::Http "false";   // Show http command traffic
 +  Acquire::Https "false";   // Show https debug
    Acquire::gpgv "false";   // Show the gpgv traffic
    aptcdrom "false";        // Show found package files
    IdentCdrom "false";
diff --combined po/apt-all.pot
index 81d742437556b21ffaa741bf8f9dbc34b8193e2c,0dc932d47da0232a5e838ea01daeab0721ead84e..bd066ab0670c408311ee2b9ce6a12a4804238e49
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: PACKAGE VERSION\n"
  "Report-Msgid-Bugs-To: \n"
 -"POT-Creation-Date: 2007-03-14 11:44+0100\n"
 +"POT-Creation-Date: 2006-08-15 15:55+0200\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"
  "Content-Type: text/plain; charset=CHARSET\n"
  "Content-Transfer-Encoding: 8bit\n"
  
 -#: cmdline/apt-cache.cc:135
 +#: cmdline/apt-cache.cc:141
  #, c-format
  msgid "Package %s version %s has an unmet dep:\n"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:175 cmdline/apt-cache.cc:527 cmdline/apt-cache.cc:615
 -#: cmdline/apt-cache.cc:771 cmdline/apt-cache.cc:989 cmdline/apt-cache.cc:1357
 -#: cmdline/apt-cache.cc:1508
 +#: cmdline/apt-cache.cc:181 cmdline/apt-cache.cc:550 cmdline/apt-cache.cc:638
 +#: cmdline/apt-cache.cc:794 cmdline/apt-cache.cc:1012
 +#: cmdline/apt-cache.cc:1413 cmdline/apt-cache.cc:1564
  #, c-format
  msgid "Unable to locate package %s"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:232
 +#: cmdline/apt-cache.cc:245
  msgid "Total package names : "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:272
 +#: cmdline/apt-cache.cc:285
  msgid "  Normal packages: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:273
 +#: cmdline/apt-cache.cc:286
  msgid "  Pure virtual packages: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:274
 +#: cmdline/apt-cache.cc:287
  msgid "  Single virtual packages: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:275
 +#: cmdline/apt-cache.cc:288
  msgid "  Mixed virtual packages: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:276
 +#: cmdline/apt-cache.cc:289
  msgid "  Missing: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:278
 +#: cmdline/apt-cache.cc:291
  msgid "Total distinct versions: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:280
 +#: cmdline/apt-cache.cc:293
 +msgid "Total Distinct Descriptions: "
 +msgstr ""
 +
 +#: cmdline/apt-cache.cc:295
  msgid "Total dependencies: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:283
 +#: cmdline/apt-cache.cc:298
  msgid "Total ver/file relations: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:285
 +#: cmdline/apt-cache.cc:300
 +msgid "Total Desc/File relations: "
 +msgstr ""
 +
 +#: cmdline/apt-cache.cc:302
  msgid "Total Provides mappings: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:297
 +#: cmdline/apt-cache.cc:314
  msgid "Total globbed strings: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:311
 +#: cmdline/apt-cache.cc:328
  msgid "Total dependency version space: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:316
 +#: cmdline/apt-cache.cc:333
  msgid "Total slack space: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:324
 +#: cmdline/apt-cache.cc:341
  msgid "Total space accounted for: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:446 cmdline/apt-cache.cc:1189
 +#: cmdline/apt-cache.cc:469 cmdline/apt-cache.cc:1212
  #, c-format
  msgid "Package file %s is out of sync."
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1231
 +#: cmdline/apt-cache.cc:1287
  msgid "You must give exactly one pattern"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1385
 +#: cmdline/apt-cache.cc:1441
  msgid "No packages found"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1462
 +#: cmdline/apt-cache.cc:1518
  msgid "Package files:"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1469 cmdline/apt-cache.cc:1555
 +#: cmdline/apt-cache.cc:1525 cmdline/apt-cache.cc:1611
  msgid "Cache is out of sync, can't x-ref a package file"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1470
 +#: cmdline/apt-cache.cc:1526
  #, c-format
  msgid "%4i %s\n"
  msgstr ""
  
  #. Show any packages have explicit pins
 -#: cmdline/apt-cache.cc:1482
 +#: cmdline/apt-cache.cc:1538
  msgid "Pinned packages:"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1494 cmdline/apt-cache.cc:1535
 +#: cmdline/apt-cache.cc:1550 cmdline/apt-cache.cc:1591
  msgid "(not found)"
  msgstr ""
  
  #. Installed version
 -#: cmdline/apt-cache.cc:1515
 +#: cmdline/apt-cache.cc:1571
  msgid "  Installed: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1517 cmdline/apt-cache.cc:1525
 +#: cmdline/apt-cache.cc:1573 cmdline/apt-cache.cc:1581
  msgid "(none)"
  msgstr ""
  
  #. Candidate Version
 -#: cmdline/apt-cache.cc:1522
 +#: cmdline/apt-cache.cc:1578
  msgid "  Candidate: "
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1532
 +#: cmdline/apt-cache.cc:1588
  msgid "  Package pin: "
  msgstr ""
  
  #. Show the priority tables
 -#: cmdline/apt-cache.cc:1541
 +#: cmdline/apt-cache.cc:1597
  msgid "  Version table:"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1556
 +#: cmdline/apt-cache.cc:1612
  #, c-format
  msgid "       %4i %s\n"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
 +#: cmdline/apt-cache.cc:1708 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
  #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
 -#: cmdline/apt-get.cc:2463 cmdline/apt-sortpkgs.cc:144
 +#: cmdline/apt-get.cc:2462 cmdline/apt-sortpkgs.cc:144
  #, c-format
  msgid "%s %s for %s %s compiled on %s %s\n"
  msgstr ""
  
 -#: cmdline/apt-cache.cc:1659
 +#: cmdline/apt-cache.cc:1715
  msgid ""
  "Usage: apt-cache [options] command\n"
  "       apt-cache [options] add file1 [file2 ...]\n"
@@@ -251,8 -243,7 +251,8 @@@ msgid "
  "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
  msgstr ""
  
 -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:712
 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:817
 +#: apt-pkg/pkgcachegen.cc:819
  #, c-format
  msgid "Unable to write to %s"
  msgstr ""
@@@ -555,7 -546,7 +555,7 @@@ msgstr "
  msgid "Y"
  msgstr ""
  
 -#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1577
 +#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1574
  #, c-format
  msgid "Regex compilation error - %s"
  msgstr ""
@@@ -654,118 -645,118 +654,118 @@@ msgstr "
  msgid "%lu not fully installed or removed.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:650
 +#: cmdline/apt-get.cc:664
  msgid "Correcting dependencies..."
  msgstr ""
  
 -#: cmdline/apt-get.cc:653
 +#: cmdline/apt-get.cc:667
  msgid " failed."
  msgstr ""
  
 -#: cmdline/apt-get.cc:656
 +#: cmdline/apt-get.cc:670
  msgid "Unable to correct dependencies"
  msgstr ""
  
 -#: cmdline/apt-get.cc:659
 +#: cmdline/apt-get.cc:673
  msgid "Unable to minimize the upgrade set"
  msgstr ""
  
 -#: cmdline/apt-get.cc:661
 +#: cmdline/apt-get.cc:675
  msgid " Done"
  msgstr ""
  
 -#: cmdline/apt-get.cc:665
 +#: cmdline/apt-get.cc:679
  msgid "You might want to run `apt-get -f install' to correct these."
  msgstr ""
  
 -#: cmdline/apt-get.cc:668
 +#: cmdline/apt-get.cc:682
  msgid "Unmet dependencies. Try using -f."
  msgstr ""
  
 -#: cmdline/apt-get.cc:690
 +#: cmdline/apt-get.cc:704
  msgid "WARNING: The following packages cannot be authenticated!"
  msgstr ""
  
 -#: cmdline/apt-get.cc:694
 +#: cmdline/apt-get.cc:708
  msgid "Authentication warning overridden.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:701
 +#: cmdline/apt-get.cc:715
  msgid "Install these packages without verification [y/N]? "
  msgstr ""
  
 -#: cmdline/apt-get.cc:703
 +#: cmdline/apt-get.cc:717
  msgid "Some packages could not be authenticated"
  msgstr ""
  
 -#: cmdline/apt-get.cc:712 cmdline/apt-get.cc:859
 +#: cmdline/apt-get.cc:726 cmdline/apt-get.cc:873
  msgid "There are problems and -y was used without --force-yes"
  msgstr ""
  
 -#: cmdline/apt-get.cc:756
 +#: cmdline/apt-get.cc:770
  msgid "Internal error, InstallPackages was called with broken packages!"
  msgstr ""
  
 -#: cmdline/apt-get.cc:765
 +#: cmdline/apt-get.cc:779
  msgid "Packages need to be removed but remove is disabled."
  msgstr ""
  
 -#: cmdline/apt-get.cc:776
 +#: cmdline/apt-get.cc:790
  msgid "Internal error, Ordering didn't finish"
  msgstr ""
  
 -#: cmdline/apt-get.cc:792 cmdline/apt-get.cc:1894 cmdline/apt-get.cc:1927
 +#: cmdline/apt-get.cc:806 cmdline/apt-get.cc:1893 cmdline/apt-get.cc:1926
  msgid "Unable to lock the download directory"
  msgstr ""
  
 -#: cmdline/apt-get.cc:802 cmdline/apt-get.cc:1975 cmdline/apt-get.cc:2211
 +#: cmdline/apt-get.cc:816 cmdline/apt-get.cc:1974 cmdline/apt-get.cc:2210
  #: apt-pkg/cachefile.cc:67
  msgid "The list of sources could not be read."
  msgstr ""
  
 -#: cmdline/apt-get.cc:817
 +#: cmdline/apt-get.cc:831
  msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
  msgstr ""
  
 -#: cmdline/apt-get.cc:822
 +#: cmdline/apt-get.cc:836
  #, c-format
  msgid "Need to get %sB/%sB of archives.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:825
 +#: cmdline/apt-get.cc:839
  #, c-format
  msgid "Need to get %sB of archives.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:830
 +#: cmdline/apt-get.cc:844
  #, c-format
  msgid "After unpacking %sB of additional disk space will be used.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:833
 +#: cmdline/apt-get.cc:847
  #, c-format
  msgid "After unpacking %sB disk space will be freed.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:847 cmdline/apt-get.cc:2065
 +#: cmdline/apt-get.cc:861 cmdline/apt-get.cc:2064
  #, c-format
  msgid "Couldn't determine free space in %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:850
 +#: cmdline/apt-get.cc:864
  #, c-format
  msgid "You don't have enough free space in %s."
  msgstr ""
  
 -#: cmdline/apt-get.cc:865 cmdline/apt-get.cc:885
 +#: cmdline/apt-get.cc:879 cmdline/apt-get.cc:899
  msgid "Trivial Only specified but this is not a trivial operation."
  msgstr ""
  
 -#: cmdline/apt-get.cc:867
 +#: cmdline/apt-get.cc:881
  msgid "Yes, do as I say!"
  msgstr ""
  
 -#: cmdline/apt-get.cc:869
 +#: cmdline/apt-get.cc:883
  #, c-format
  msgid ""
  "You are about to do something potentially harmful.\n"
  " ?] "
  msgstr ""
  
 -#: cmdline/apt-get.cc:875 cmdline/apt-get.cc:894
 +#: cmdline/apt-get.cc:889 cmdline/apt-get.cc:908
  msgid "Abort."
  msgstr ""
  
 -#: cmdline/apt-get.cc:890
 +#: cmdline/apt-get.cc:904
  msgid "Do you want to continue [Y/n]? "
  msgstr ""
  
 -#: cmdline/apt-get.cc:962 cmdline/apt-get.cc:1366 cmdline/apt-get.cc:2108
 +#: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1382 cmdline/apt-get.cc:2107
  #, c-format
  msgid "Failed to fetch %s  %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:980
 +#: cmdline/apt-get.cc:994
  msgid "Some files failed to download"
  msgstr ""
  
 -#: cmdline/apt-get.cc:981 cmdline/apt-get.cc:2117
 +#: cmdline/apt-get.cc:995 cmdline/apt-get.cc:2116
  msgid "Download complete and in download only mode"
  msgstr ""
  
 -#: cmdline/apt-get.cc:987
 +#: cmdline/apt-get.cc:1001
  msgid ""
  "Unable to fetch some archives, maybe run apt-get update or try with --fix-"
  "missing?"
  msgstr ""
  
 -#: cmdline/apt-get.cc:991
 +#: cmdline/apt-get.cc:1005
  msgid "--fix-missing and media swapping is not currently supported"
  msgstr ""
  
 -#: cmdline/apt-get.cc:996
 +#: cmdline/apt-get.cc:1010
  msgid "Unable to correct missing packages."
  msgstr ""
  
 -#: cmdline/apt-get.cc:997
 +#: cmdline/apt-get.cc:1011
  msgid "Aborting install."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1031
 +#: cmdline/apt-get.cc:1045
  #, c-format
  msgid "Note, selecting %s instead of %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1041
 +#: cmdline/apt-get.cc:1055
  #, c-format
  msgid "Skipping %s, it is already installed and upgrade is not set.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1059
 +#: cmdline/apt-get.cc:1073
  #, c-format
  msgid "Package %s is not installed, so not removed\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1070
 +#: cmdline/apt-get.cc:1084
  #, c-format
  msgid "Package %s is a virtual package provided by:\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1082
 +#: cmdline/apt-get.cc:1096
  msgid " [Installed]"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1087
 +#: cmdline/apt-get.cc:1101
  msgid "You should explicitly select one to install."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1092
 +#: cmdline/apt-get.cc:1106
  #, c-format
  msgid ""
  "Package %s is not available, but is referred to by another package.\n"
  "is only available from another source\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1111
 +#: cmdline/apt-get.cc:1125
  msgid "However the following packages replace it:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1114
 +#: cmdline/apt-get.cc:1128
  #, c-format
  msgid "Package %s has no installation candidate"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1134
 +#: cmdline/apt-get.cc:1148
  #, c-format
  msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1142
 +#: cmdline/apt-get.cc:1156
  #, c-format
  msgid "%s is already the newest version.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1169
 +#: cmdline/apt-get.cc:1185
  #, c-format
  msgid "Release '%s' for '%s' was not found"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1171
 +#: cmdline/apt-get.cc:1187
  #, c-format
  msgid "Version '%s' for '%s' was not found"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1177
 +#: cmdline/apt-get.cc:1193
  #, c-format
  msgid "Selected version %s (%s) for %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1314
 +#: cmdline/apt-get.cc:1330
  msgid "The update command takes no arguments"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1327
 +#: cmdline/apt-get.cc:1343
  msgid "Unable to lock the list directory"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1385
 +#: cmdline/apt-get.cc:1401
  msgid ""
  "Some index files failed to download, they have been ignored, or old ones "
  "used instead."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1406
 +#: cmdline/apt-get.cc:1415
  msgid "We are not supposed to delete stuff, can't start AutoRemover"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1433
 -msgid ""
 -"The following packages were automatically installed and are no longer "
 -"required:"
 -msgstr ""
 -
 -#: cmdline/apt-get.cc:1435
 -msgid "Use 'apt-get autoremove' to remove them."
 -msgstr ""
 -
  #: cmdline/apt-get.cc:1440
  msgid ""
  "Hmm, seems like the AutoRemover destroyed something which really\n"
  "shouldn't happen. Please file a bug report against apt."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1443 cmdline/apt-get.cc:1645
 +#: cmdline/apt-get.cc:1443 cmdline/apt-get.cc:1642
  msgid "The following information may help to resolve the situation:"
  msgstr ""
  
@@@ -918,27 -919,27 +918,27 @@@ msgstr "
  msgid "Internal error, AllUpgrade broke stuff"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1564 cmdline/apt-get.cc:1600
 +#: cmdline/apt-get.cc:1561 cmdline/apt-get.cc:1597
  #, c-format
  msgid "Couldn't find package %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1587
 +#: cmdline/apt-get.cc:1584
  #, c-format
  msgid "Note, selecting %s for regex '%s'\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1617
 +#: cmdline/apt-get.cc:1614
  msgid "You might want to run `apt-get -f install' to correct these:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1620
 +#: cmdline/apt-get.cc:1617
  msgid ""
  "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
  "solution)."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1632
 +#: cmdline/apt-get.cc:1629
  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"
  "or been moved out of Incoming."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1640
 +#: cmdline/apt-get.cc:1637
  msgid ""
  "Since you only requested a single operation it is extremely likely that\n"
  "the package is simply not installable and a bug report against\n"
  "that package should be filed."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1648
 +#: cmdline/apt-get.cc:1645
  msgid "Broken packages"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1677
 +#: cmdline/apt-get.cc:1676
  msgid "The following extra packages will be installed:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1766
 +#: cmdline/apt-get.cc:1765
  msgid "Suggested packages:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1767
 +#: cmdline/apt-get.cc:1766
  msgid "Recommended packages:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1787
 +#: cmdline/apt-get.cc:1786
  msgid "Calculating upgrade... "
  msgstr ""
  
 -#: cmdline/apt-get.cc:1790 methods/ftp.cc:702 methods/connect.cc:101
 +#: cmdline/apt-get.cc:1789 methods/ftp.cc:702 methods/connect.cc:101
  msgid "Failed"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1795
 +#: cmdline/apt-get.cc:1794
  msgid "Done"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1862 cmdline/apt-get.cc:1870
 +#: cmdline/apt-get.cc:1861 cmdline/apt-get.cc:1869
  msgid "Internal error, problem resolver broke stuff"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1970
 +#: cmdline/apt-get.cc:1969
  msgid "Must specify at least one package to fetch source for"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2000 cmdline/apt-get.cc:2229
 +#: cmdline/apt-get.cc:1999 cmdline/apt-get.cc:2228
  #, c-format
  msgid "Unable to find a source package for %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2044
 +#: cmdline/apt-get.cc:2043
  #, c-format
  msgid "Skipping already downloaded file '%s'\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2068
 +#: cmdline/apt-get.cc:2067
  #, c-format
  msgid "You don't have enough free space in %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2073
 +#: cmdline/apt-get.cc:2072
  #, c-format
  msgid "Need to get %sB/%sB of source archives.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2076
 +#: cmdline/apt-get.cc:2075
  #, c-format
  msgid "Need to get %sB of source archives.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2082
 +#: cmdline/apt-get.cc:2081
  #, c-format
  msgid "Fetch source %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2113
 +#: cmdline/apt-get.cc:2112
  msgid "Failed to fetch some archives."
  msgstr ""
  
 -#: cmdline/apt-get.cc:2141
 +#: cmdline/apt-get.cc:2140
  #, c-format
  msgid "Skipping unpack of already unpacked source in %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2153
 +#: cmdline/apt-get.cc:2152
  #, c-format
  msgid "Unpack command '%s' failed.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2154
 +#: cmdline/apt-get.cc:2153
  #, c-format
  msgid "Check if the 'dpkg-dev' package is installed.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2171
 +#: cmdline/apt-get.cc:2170
  #, c-format
  msgid "Build command '%s' failed.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2190
 +#: cmdline/apt-get.cc:2189
  msgid "Child process failed"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2206
 +#: cmdline/apt-get.cc:2205
  msgid "Must specify at least one package to check builddeps for"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2234
 +#: cmdline/apt-get.cc:2233
  #, c-format
  msgid "Unable to get build-dependency information for %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2254
 +#: cmdline/apt-get.cc:2253
  #, c-format
  msgid "%s has no build depends.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2306
 +#: cmdline/apt-get.cc:2305
  #, c-format
  msgid ""
  "%s dependency for %s cannot be satisfied because the package %s cannot be "
  "found"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2358
 +#: cmdline/apt-get.cc:2357
  #, 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:2393
 +#: cmdline/apt-get.cc:2392
  #, c-format
  msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2418
 +#: cmdline/apt-get.cc:2417
  #, c-format
  msgid "Failed to satisfy %s dependency for %s: %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2432
 +#: cmdline/apt-get.cc:2431
  #, c-format
  msgid "Build-dependencies for %s could not be satisfied."
  msgstr ""
  
 -#: cmdline/apt-get.cc:2436
 +#: cmdline/apt-get.cc:2435
  msgid "Failed to process build dependencies"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2468
 +#: cmdline/apt-get.cc:2467
  msgid "Supported modules:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2509
 +#: cmdline/apt-get.cc:2508
  msgid ""
  "Usage: apt-get [options] command\n"
  "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@@ -1383,11 -1384,9 +1383,11 @@@ msgid "The info and temp directories ne
  msgstr ""
  
  #. Build the status cache
 -#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:645
 -#: apt-pkg/pkgcachegen.cc:714 apt-pkg/pkgcachegen.cc:719
 -#: apt-pkg/pkgcachegen.cc:842
 +#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:750
 +#: apt-pkg/pkgcachegen.cc:819 apt-pkg/pkgcachegen.cc:824
 +#: apt-pkg/pkgcachegen.cc:947 apt-pkg/pkgcachegen.cc:752
 +#: apt-pkg/pkgcachegen.cc:821 apt-pkg/pkgcachegen.cc:826
 +#: apt-pkg/pkgcachegen.cc:949
  msgid "Reading package lists"
  msgstr ""
  
@@@ -1502,28 -1501,25 +1502,28 @@@ msgstr "
  msgid "Wrong CD-ROM"
  msgstr ""
  
 -#: methods/cdrom.cc:164
 +#: methods/cdrom.cc:164 methods/cdrom.cc:166
  #, c-format
  msgid "Unable to unmount the CD-ROM in %s, it may still be in use."
  msgstr ""
  
 -#: methods/cdrom.cc:169
 +#: methods/cdrom.cc:169 methods/cdrom.cc:171
  msgid "Disk not found."
  msgstr ""
  
  #: methods/cdrom.cc:177 methods/file.cc:79 methods/rsh.cc:264
 +#: methods/cdrom.cc:179
  msgid "File not found"
  msgstr ""
  
  #: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:133
 -#: methods/gzip.cc:142
 +#: methods/gzip.cc:142 methods/rred.cc:234 methods/rred.cc:243
 +#: methods/gzip.cc:141 methods/gzip.cc:150
  msgid "Failed to stat"
  msgstr ""
  
  #: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:139
 +#: methods/rred.cc:240 methods/gzip.cc:147
  msgid "Failed to set modification time"
  msgstr ""
  
@@@ -1649,8 -1645,7 +1649,8 @@@ msgstr "
  msgid "Unable to accept connection"
  msgstr ""
  
 -#: methods/ftp.cc:864 methods/http.cc:958 methods/rsh.cc:303
 +#: methods/ftp.cc:864 methods/http.cc:957 methods/rsh.cc:303
 +#: methods/http.cc:958
  msgid "Problem hashing file"
  msgstr ""
  
@@@ -1771,87 -1766,86 +1771,87 @@@ msgid "
  "available:\n"
  msgstr ""
  
 -#: methods/gzip.cc:57
 +#: methods/gzip.cc:57 methods/gzip.cc:64
  #, c-format
  msgid "Couldn't open pipe for %s"
  msgstr ""
  
 -#: methods/gzip.cc:102
 +#: methods/gzip.cc:102 methods/gzip.cc:109
  #, c-format
  msgid "Read error from %s process"
  msgstr ""
  
 -#: methods/http.cc:376
 +#: methods/http.cc:375 methods/http.cc:376
  msgid "Waiting for headers"
  msgstr ""
  
 -#: methods/http.cc:522
 +#: methods/http.cc:521 methods/http.cc:522
  #, c-format
  msgid "Got a single header line over %u chars"
  msgstr ""
  
 -#: methods/http.cc:530
 +#: methods/http.cc:529 methods/http.cc:530
  msgid "Bad header line"
  msgstr ""
  
 -#: methods/http.cc:549 methods/http.cc:556
 +#: methods/http.cc:548 methods/http.cc:555 methods/http.cc:549
 +#: methods/http.cc:556
  msgid "The HTTP server sent an invalid reply header"
  msgstr ""
  
 -#: methods/http.cc:585
 +#: methods/http.cc:584 methods/http.cc:585
  msgid "The HTTP server sent an invalid Content-Length header"
  msgstr ""
  
 -#: methods/http.cc:600
 +#: methods/http.cc:599 methods/http.cc:600
  msgid "The HTTP server sent an invalid Content-Range header"
  msgstr ""
  
 -#: methods/http.cc:602
 +#: methods/http.cc:601 methods/http.cc:602
  msgid "This HTTP server has broken range support"
  msgstr ""
  
 -#: methods/http.cc:626
 +#: methods/http.cc:625 methods/http.cc:626
  msgid "Unknown date format"
  msgstr ""
  
 -#: methods/http.cc:773
 +#: methods/http.cc:772 methods/http.cc:773
  msgid "Select failed"
  msgstr ""
  
 -#: methods/http.cc:778
 +#: methods/http.cc:777 methods/http.cc:778
  msgid "Connection timed out"
  msgstr ""
  
 -#: methods/http.cc:801
 +#: methods/http.cc:800 methods/http.cc:801
  msgid "Error writing to output file"
  msgstr ""
  
 -#: methods/http.cc:832
 +#: methods/http.cc:831 methods/http.cc:832
  msgid "Error writing to file"
  msgstr ""
  
 -#: methods/http.cc:860
 +#: methods/http.cc:859 methods/http.cc:860
  msgid "Error writing to the file"
  msgstr ""
  
 -#: methods/http.cc:874
 +#: methods/http.cc:873 methods/http.cc:874
  msgid "Error reading from server. Remote end closed connection"
  msgstr ""
  
 -#: methods/http.cc:876
 +#: methods/http.cc:875 methods/http.cc:876
  msgid "Error reading from server"
  msgstr ""
  
 -#: methods/http.cc:1107
 +#: methods/http.cc:1106 methods/http.cc:1107
  msgid "Bad header data"
  msgstr ""
  
 -#: methods/http.cc:1124
 +#: methods/http.cc:1123 methods/http.cc:1124
  msgid "Connection failed"
  msgstr ""
  
 -#: methods/http.cc:1215
 +#: methods/http.cc:1214 methods/http.cc:1215
  msgid "Internal error"
  msgstr ""
  
@@@ -1864,7 -1858,7 +1864,7 @@@ msgstr "
  msgid "Couldn't make mmap of %lu bytes"
  msgstr ""
  
 -#: apt-pkg/contrib/strutl.cc:938
 +#: apt-pkg/contrib/strutl.cc:981
  #, c-format
  msgid "Selection %s not found"
  msgstr ""
@@@ -1924,12 -1918,12 +1924,12 @@@ msgstr "
  msgid "Syntax error %s:%u: Extra junk at end of file"
  msgstr ""
  
 -#: apt-pkg/contrib/progress.cc:154
 +#: apt-pkg/contrib/progress.cc:154 apt-pkg/contrib/progress.cc:155
  #, c-format
  msgid "%c%s... Error!"
  msgstr ""
  
 -#: apt-pkg/contrib/progress.cc:156
 +#: apt-pkg/contrib/progress.cc:156 apt-pkg/contrib/progress.cc:157
  #, c-format
  msgid "%c%s... Done"
  msgstr ""
@@@ -2061,109 -2055,107 +2061,109 @@@ msgstr "
  msgid "Problem syncing the file"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:126
 +#: apt-pkg/pkgcache.cc:137 apt-pkg/pkgcache.cc:132
  msgid "Empty package cache"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:132
 +#: apt-pkg/pkgcache.cc:143 apt-pkg/pkgcache.cc:138
  msgid "The package cache file is corrupted"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:137
 +#: apt-pkg/pkgcache.cc:148 apt-pkg/pkgcache.cc:143
  msgid "The package cache file is an incompatible version"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:142
 +#: apt-pkg/pkgcache.cc:153 apt-pkg/pkgcache.cc:148
  #, c-format
  msgid "This APT does not support the versioning system '%s'"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:147
 +#: apt-pkg/pkgcache.cc:158 apt-pkg/pkgcache.cc:153
  msgid "The package cache was built for a different architecture"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:218
 +#: apt-pkg/pkgcache.cc:229 apt-pkg/pkgcache.cc:224
  msgid "Depends"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:218
 +#: apt-pkg/pkgcache.cc:229 apt-pkg/pkgcache.cc:224
  msgid "PreDepends"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:218
 +#: apt-pkg/pkgcache.cc:229 apt-pkg/pkgcache.cc:224
  msgid "Suggests"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:219
 +#: apt-pkg/pkgcache.cc:230 apt-pkg/pkgcache.cc:225
  msgid "Recommends"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:219
 +#: apt-pkg/pkgcache.cc:230 apt-pkg/pkgcache.cc:225
  msgid "Conflicts"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:219
 +#: apt-pkg/pkgcache.cc:230 apt-pkg/pkgcache.cc:225
  msgid "Replaces"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:220
 +#: apt-pkg/pkgcache.cc:231 apt-pkg/pkgcache.cc:226
  msgid "Obsoletes"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:231
 +#: apt-pkg/pkgcache.cc:242 apt-pkg/pkgcache.cc:237
  msgid "important"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:231
 +#: apt-pkg/pkgcache.cc:242 apt-pkg/pkgcache.cc:237
  msgid "required"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:231
 +#: apt-pkg/pkgcache.cc:242 apt-pkg/pkgcache.cc:237
  msgid "standard"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:232
 +#: apt-pkg/pkgcache.cc:243 apt-pkg/pkgcache.cc:238
  msgid "optional"
  msgstr ""
  
 -#: apt-pkg/pkgcache.cc:232
 +#: apt-pkg/pkgcache.cc:243 apt-pkg/pkgcache.cc:238
  msgid "extra"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:101 apt-pkg/depcache.cc:130
 +#: apt-pkg/depcache.cc:101 apt-pkg/depcache.cc:130 apt-pkg/depcache.cc:98
 +#: apt-pkg/depcache.cc:127
  msgid "Building dependency tree"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:102
 +#: apt-pkg/depcache.cc:102 apt-pkg/depcache.cc:99
  msgid "Candidate versions"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:131
 +#: apt-pkg/depcache.cc:131 apt-pkg/depcache.cc:128
  msgid "Dependency generation"
  msgstr ""
  
  #: apt-pkg/depcache.cc:152 apt-pkg/depcache.cc:171 apt-pkg/depcache.cc:175
 +#: apt-pkg/depcache.cc:149 apt-pkg/depcache.cc:168 apt-pkg/depcache.cc:172
  msgid "Reading state information"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:199
 +#: apt-pkg/depcache.cc:199 apt-pkg/depcache.cc:196
  #, c-format
  msgid "Failed to open StateFile %s"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:205
 +#: apt-pkg/depcache.cc:205 apt-pkg/depcache.cc:202
  #, c-format
  msgid "Failed to write temporary StateFile %s"
  msgstr ""
  
 -#: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92
 +#: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92 apt-pkg/tagfile.cc:106
  #, c-format
  msgid "Unable to parse package file %s (1)"
  msgstr ""
  
 -#: apt-pkg/tagfile.cc:186
 +#: apt-pkg/tagfile.cc:186 apt-pkg/tagfile.cc:193
  #, c-format
  msgid "Unable to parse package file %s (2)"
  msgstr ""
@@@ -2198,7 -2190,7 +2198,7 @@@ msgstr "
  msgid "Opening %s"
  msgstr ""
  
 -#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426
 +#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:450
  #, c-format
  msgid "Line %u too long in source list %s."
  msgstr ""
@@@ -2218,7 -2210,7 +2218,7 @@@ msgstr "
  msgid "Malformed line %u in source list %s (vendor id)"
  msgstr ""
  
- #: apt-pkg/packagemanager.cc:402
 -#: apt-pkg/packagemanager.cc:403
++#: apt-pkg/packagemanager.cc:402 apt-pkg/packagemanager.cc:403
  #, c-format
  msgid ""
  "This installation run will require temporarily removing the essential "
@@@ -2231,19 -2223,19 +2231,19 @@@ msgstr "
  msgid "Index file type '%s' is not supported"
  msgstr ""
  
 -#: apt-pkg/algorithms.cc:245
 +#: apt-pkg/algorithms.cc:245 apt-pkg/algorithms.cc:248
  #, c-format
  msgid ""
  "The package %s needs to be reinstalled, but I can't find an archive for it."
  msgstr ""
  
 -#: apt-pkg/algorithms.cc:1075
 +#: apt-pkg/algorithms.cc:1075 apt-pkg/algorithms.cc:1104
  msgid ""
  "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
  "held packages."
  msgstr ""
  
 -#: apt-pkg/algorithms.cc:1077
 +#: apt-pkg/algorithms.cc:1077 apt-pkg/algorithms.cc:1106
  msgid "Unable to correct problems, you have held broken packages."
  msgstr ""
  
@@@ -2259,12 -2251,12 +2259,12 @@@ msgstr "
  
  #. only show the ETA if it makes sense
  #. two days
 -#: apt-pkg/acquire.cc:823
 +#: apt-pkg/acquire.cc:823 apt-pkg/acquire.cc:830
  #, c-format
  msgid "Retrieving file %li of %li (%s remaining)"
  msgstr ""
  
 -#: apt-pkg/acquire.cc:825
 +#: apt-pkg/acquire.cc:825 apt-pkg/acquire.cc:832
  #, c-format
  msgid "Retrieving file %li of %li"
  msgstr ""
@@@ -2279,17 -2271,17 +2279,17 @@@ msgstr "
  msgid "Method %s did not start correctly"
  msgstr ""
  
 -#: apt-pkg/acquire-worker.cc:377
 +#: apt-pkg/acquire-worker.cc:377 apt-pkg/acquire-worker.cc:384
  #, c-format
  msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
  msgstr ""
  
 -#: apt-pkg/init.cc:120
 +#: apt-pkg/init.cc:125
  #, c-format
  msgid "Packaging system '%s' is not supported"
  msgstr ""
  
 -#: apt-pkg/init.cc:136
 +#: apt-pkg/init.cc:141
  msgid "Unable to determine a suitable packaging system type"
  msgstr ""
  
@@@ -2310,16 -2302,16 +2310,16 @@@ msgstr "
  msgid "You may want to run apt-get update to correct these problems"
  msgstr ""
  
 -#: apt-pkg/policy.cc:269
 +#: apt-pkg/policy.cc:269 apt-pkg/policy.cc:270
  msgid "Invalid record in the preferences file, no Package header"
  msgstr ""
  
 -#: apt-pkg/policy.cc:291
 +#: apt-pkg/policy.cc:291 apt-pkg/policy.cc:292
  #, c-format
  msgid "Did not understand pin type %s"
  msgstr ""
  
 -#: apt-pkg/policy.cc:299
 +#: apt-pkg/policy.cc:299 apt-pkg/policy.cc:300
  msgid "No priority (or zero) specified for pin"
  msgstr ""
  
@@@ -2332,127 -2324,110 +2332,127 @@@ msgstr "
  msgid "Error occurred while processing %s (NewPackage)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:131
 +#: apt-pkg/pkgcachegen.cc:134
  #, c-format
  msgid "Error occurred while processing %s (UsePackage1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:152
 +#: apt-pkg/pkgcachegen.cc:157
 +#, c-format
 +msgid "Error occured while processing %s (NewFileDesc1)"
 +msgstr ""
 +
 +#: apt-pkg/pkgcachegen.cc:182
  #, c-format
  msgid "Error occurred while processing %s (UsePackage2)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:156
 +#: apt-pkg/pkgcachegen.cc:186
  #, c-format
  msgid "Error occurred while processing %s (NewFileVer1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:186
 +#: apt-pkg/pkgcachegen.cc:217
  #, c-format
  msgid "Error occurred while processing %s (NewVersion1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:190
 +#: apt-pkg/pkgcachegen.cc:221
  #, c-format
  msgid "Error occurred while processing %s (UsePackage3)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:194
 +#: apt-pkg/pkgcachegen.cc:225
  #, c-format
  msgid "Error occurred while processing %s (NewVersion2)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:209
 +#: apt-pkg/pkgcachegen.cc:249
 +#, c-format
 +msgid "Error occured while processing %s (NewFileDesc2)"
 +msgstr ""
 +
 +#: apt-pkg/pkgcachegen.cc:255
  msgid "Wow, you exceeded the number of package names this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:212
 +#: apt-pkg/pkgcachegen.cc:258
  msgid "Wow, you exceeded the number of versions this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:215
 +#: apt-pkg/pkgcachegen.cc:261
 +msgid "Wow, you exceeded the number of descriptions this APT is capable of."
 +msgstr ""
 +
 +#: apt-pkg/pkgcachegen.cc:264
  msgid "Wow, you exceeded the number of dependencies this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:243
 +#: apt-pkg/pkgcachegen.cc:292
  #, c-format
  msgid "Error occurred while processing %s (FindPkg)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:256
 +#: apt-pkg/pkgcachegen.cc:305
  #, c-format
  msgid "Error occurred while processing %s (CollectFileProvides)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:262
 +#: apt-pkg/pkgcachegen.cc:311
  #, c-format
  msgid "Package %s %s was not found while processing file dependencies"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:576
 +#: apt-pkg/pkgcachegen.cc:681 apt-pkg/pkgcachegen.cc:682
  #, c-format
  msgid "Couldn't stat source package list %s"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:660
 +#: apt-pkg/pkgcachegen.cc:765 apt-pkg/pkgcachegen.cc:767
  msgid "Collecting File Provides"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:787 apt-pkg/pkgcachegen.cc:794
 +#: apt-pkg/pkgcachegen.cc:892 apt-pkg/pkgcachegen.cc:899
 +#: apt-pkg/pkgcachegen.cc:894 apt-pkg/pkgcachegen.cc:901
  msgid "IO Error saving source cache"
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:126
 +#: apt-pkg/acquire-item.cc:130
  #, c-format
  msgid "rename failed, %s (%s -> %s)."
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:945
 +#: apt-pkg/acquire-item.cc:408 apt-pkg/acquire-item.cc:658
 +#: apt-pkg/acquire-item.cc:1402 apt-pkg/acquire-item.cc:409
 +#: apt-pkg/acquire-item.cc:666 apt-pkg/acquire-item.cc:1416
  msgid "MD5Sum mismatch"
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:640
 +#: apt-pkg/acquire-item.cc:1097
  msgid "There are no public key available for the following key IDs:\n"
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:753
 +#: apt-pkg/acquire-item.cc:1210 apt-pkg/acquire-item.cc:1224
  #, 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:812
 +#: apt-pkg/acquire-item.cc:1269 apt-pkg/acquire-item.cc:1283
  #, c-format
  msgid ""
  "I wasn't able to locate file for the %s package. This might mean you need to "
  "manually fix this package."
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:848
 +#: apt-pkg/acquire-item.cc:1305 apt-pkg/acquire-item.cc:1319
  #, c-format
  msgid ""
  "The package index files are corrupted. No Filename: field for package %s."
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:935
 +#: apt-pkg/acquire-item.cc:1392 apt-pkg/acquire-item.cc:1406
  msgid "Size mismatch"
  msgstr ""
  
  msgid "Vendor block %s contains no fingerprint"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:507
 +#: apt-pkg/cdrom.cc:531
  #, c-format
  msgid ""
  "Using CD-ROM mount point %s\n"
  "Mounting CD-ROM\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598
 +#: apt-pkg/cdrom.cc:540 apt-pkg/cdrom.cc:622
  msgid "Identifying.. "
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:541
 +#: apt-pkg/cdrom.cc:565
  #, c-format
  msgid "Stored label: %s \n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:561
 +#: apt-pkg/cdrom.cc:585
  #, c-format
  msgid "Using CD-ROM mount point %s\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:579
 +#: apt-pkg/cdrom.cc:603
  msgid "Unmounting CD-ROM\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:583
 +#: apt-pkg/cdrom.cc:607
  msgid "Waiting for disc...\n"
  msgstr ""
  
  #. Mount the new CDROM
 -#: apt-pkg/cdrom.cc:591
 +#: apt-pkg/cdrom.cc:615
  msgid "Mounting CD-ROM...\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:609
 +#: apt-pkg/cdrom.cc:633
  msgid "Scanning disc for index files..\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:647
 +#: apt-pkg/cdrom.cc:673
  #, c-format
 -msgid "Found %i package indexes, %i source indexes and %i signatures\n"
 +msgid ""
 +"Found %i package indexes, %i source indexes, %i translation indexes and %i "
 +"signatures\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:710
 +#: apt-pkg/cdrom.cc:737 apt-pkg/cdrom.cc:739
  msgid "That is not a valid name, try again.\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:726
 +#: apt-pkg/cdrom.cc:753 apt-pkg/cdrom.cc:755
  #, c-format
  msgid ""
  "This disc is called: \n"
  "'%s'\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:730
 +#: apt-pkg/cdrom.cc:757 apt-pkg/cdrom.cc:759
  msgid "Copying package lists..."
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:754
 +#: apt-pkg/cdrom.cc:783 apt-pkg/cdrom.cc:785
  msgid "Writing new source list\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:763
 +#: apt-pkg/cdrom.cc:792 apt-pkg/cdrom.cc:794
  msgid "Source list entries for this disc are:\n"
  msgstr ""
  
 -#: apt-pkg/cdrom.cc:803
 +#: apt-pkg/cdrom.cc:832 apt-pkg/cdrom.cc:836
  msgid "Unmounting CD-ROM..."
  msgstr ""
  
 -#: apt-pkg/indexcopy.cc:261
 +#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:830
  #, c-format
  msgid "Wrote %i records.\n"
  msgstr ""
  
 -#: apt-pkg/indexcopy.cc:263
 +#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:832
  #, c-format
  msgid "Wrote %i records with %i missing files.\n"
  msgstr ""
  
 -#: apt-pkg/indexcopy.cc:266
 +#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:835
  #, c-format
  msgid "Wrote %i records with %i mismatched files\n"
  msgstr ""
  
 -#: apt-pkg/indexcopy.cc:269
 +#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:838
  #, c-format
  msgid "Wrote %i records with %i missing files and %i mismatched files\n"
  msgstr ""
@@@ -2603,18 -2576,6 +2603,18 @@@ msgstr "
  msgid "Completely removed %s"
  msgstr ""
  
 +#: methods/rred.cc:219
 +msgid "Could not patch file"
 +msgstr ""
 +
  #: methods/rsh.cc:330
  msgid "Connection closed prematurely"
  msgstr ""
 +
 +#: apt-pkg/acquire-item.cc:1097 apt-pkg/acquire-item.cc:1111
 +msgid "There is no public key available for the following key IDs:\n"
 +msgstr ""
 +
 +#: apt-pkg/pkgcache.cc:226
 +msgid "Breaks"
 +msgstr ""