]> git.saurik.com Git - apt.git/commitdiff
* merged with the apt--mvo branch
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 6 Sep 2006 16:04:17 +0000 (18:04 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 6 Sep 2006 16:04:17 +0000 (18:04 +0200)
1  2 
apt-pkg/makefile
cmdline/apt-get.cc
debian/changelog
doc/examples/configure-index
po/apt-all.pot
share/debian-archive.gpg

diff --combined apt-pkg/makefile
index 7093d23ceaee873d0d3b879735acac33b480eddc,7e5feae53b4b11082c1d3973bab0772c5ce7085d..bd871e9e7b07cbe512f5040aaad840f0ca046dca
@@@ -13,7 -13,7 +13,7 @@@ include ../buildlib/defaults.ma
  # methods/makefile - FIXME
  LIBRARY=apt-pkg
  LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER)
 -MAJOR=3.11
 +MAJOR=3.13
  MINOR=0
  SLIBS=$(PTHREADLIB) $(INTLLIBS)
  APT_DOMAIN:=libapt-pkg$(MAJOR)
  # Source code for the contributed non-core things
  SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
           contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \
-        contrib/md5.cc contrib/sha1.cc contrib/hashes.cc \
+        contrib/md5.cc contrib/sha1.cc contrib/sha256.cc contrib/hashes.cc \
         contrib/cdromutl.cc contrib/crc-16.cc \
         contrib/fileutl.cc 
  HEADERS = mmap.h error.h configuration.h fileutl.h  cmndline.h \
-         md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h hashes.h
+         md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha256.h hashes.h
  
  # Source code for the core main library
  SOURCE+= pkgcache.cc version.cc depcache.cc \
diff --combined cmdline/apt-get.cc
index ad4da133f85e93967dd1e514fdfb0fceb0e886fd,64882e3e8875ad58672ae0c14f3f80964f207584..9e70719886cf15a49e6ac514e501c0d3316f2916
@@@ -60,7 -60,6 +60,7 @@@
  #include <errno.h>
  #include <regex.h>
  #include <sys/wait.h>
 +#include <sstream>
                                                                        /*}}}*/
  
  using namespace std;
@@@ -996,7 -995,7 +996,7 @@@ bool InstallPackages(CacheFile &Cache,b
         cerr << _("Unable to correct missing packages.") << endl;
         return _error->Error(_("Aborting install."));
        }
 -               
 +
        _system->UnLock();
        int status_fd = _config->FindI("APT::Status-Fd",-1);
        pkgPackageManager::OrderResult Res = PM->DoInstall(status_fd);
@@@ -1387,52 -1386,6 +1387,52 @@@ bool DoUpdate(CommandLine &CmdL
     return true;
  }
                                                                        /*}}}*/
 +// DoAutomaticRemove - Remove all automatic unused packages           /*{{{*/
 +// ---------------------------------------------------------------------
 +/* Remove unused automatic packages */
 +bool DoAutomaticRemove(CacheFile &Cache)
 +{
 +   if(_config->FindI("Debug::pkgAutoRemove",false))
 +      std::cout << "DoAutomaticRemove()" << std::endl;
 +
 +   if (_config->FindB("APT::Get::Remove",true) == false)
 +      return _error->Error(_("We are not supposed to delete stuff, can't "
 +                           "start AutoRemover"));
 +
 +   {
 +     pkgDepCache::ActionGroup group(*Cache);
 +
 +     // look over the cache to see what can be removed
 +     for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); ! Pkg.end(); ++Pkg)
 +       {
 +       if (Cache[Pkg].Garbage)
 +         {
 +           if(Pkg.CurrentVer() != 0 || Cache[Pkg].Install())
 +             fprintf(stdout,"We could delete %s\n", Pkg.Name());
 +
 +           if(Pkg.CurrentVer() != 0 && Pkg->CurrentState != pkgCache::State::ConfigFiles)
 +             Cache->MarkDelete(Pkg, _config->FindB("APT::Get::Purge", false));
 +           else
 +             Cache->MarkKeep(Pkg, false, false);
 +         }
 +       }
 +   }
 +
 +   // Now see if we destroyed anything
 +   if (Cache->BrokenCount() != 0)
 +   {
 +      c1out << _("Hmm, seems like the AutoRemover destroyed something which really\n"
 +               "shouldn't happen. Please file a bug report against apt.") << endl;
 +      c1out << endl;
 +      c1out << _("The following information may help to resolve the situation:") << endl;
 +      c1out << endl;
 +      ShowBroken(c1out,Cache,false);
 +
 +      return _error->Error(_("Internal Error, AutoRemover broke stuff"));
 +   }
 +   return true;
 +}
 +
  // DoUpgrade - Upgrade all packages                                   /*{{{*/
  // ---------------------------------------------------------------------
  /* Upgrade all packages without installing new packages or erasing old
@@@ -1475,168 -1428,155 +1475,168 @@@ bool DoInstall(CommandLine &CmdL
     bool DefRemove = false;
     if (strcasecmp(CmdL.FileList[0],"remove") == 0)
        DefRemove = true;
 +   else if (strcasecmp(CmdL.FileList[0], "autoremove") == 0)
 +   {
 +      _config->Set("APT::Get::AutomaticRemove", "true");
 +      DefRemove = true;
 +   }
  
 -   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
 +   // new scope for the ActionGroup
     {
 -      // Duplicate the string
 -      unsigned int Length = strlen(*I);
 -      char S[300];
 -      if (Length >= sizeof(S))
 -       continue;
 -      strcpy(S,*I);
 -      
 -      // See if we are removing and special indicators..
 -      bool Remove = DefRemove;
 -      char *VerTag = 0;
 -      bool VerIsRel = false;
 -      while (Cache->FindPkg(S).end() == true)
 +      pkgDepCache::ActionGroup group(Cache);
 +      for (const char **I = CmdL.FileList + 1; *I != 0; I++)
        {
 -       // Handle an optional end tag indicating what to do
 -       if (Length >= 1 && S[Length - 1] == '-')
 -       {
 -          Remove = true;
 -          S[--Length] = 0;
 +       // Duplicate the string
 +       unsigned int Length = strlen(*I);
 +       char S[300];
 +       if (Length >= sizeof(S))
            continue;
 -       }
 -       
 -       if (Length >= 1 && S[Length - 1] == '+')
 +       strcpy(S,*I);
 +      
 +       // See if we are removing and special indicators..
 +       bool Remove = DefRemove;
 +       char *VerTag = 0;
 +       bool VerIsRel = false;
 +       while (Cache->FindPkg(S).end() == true)
         {
 -          Remove = false;
 -          S[--Length] = 0;
 -          continue;
 -       }
 +          // Handle an optional end tag indicating what to do
 +          if (Length >= 1 && S[Length - 1] == '-')
 +          {
 +             Remove = true;
 +             S[--Length] = 0;
 +             continue;
 +          }
         
 -       char *Slash = strchr(S,'=');
 -       if (Slash != 0)
 -       {
 -          VerIsRel = false;
 -          *Slash = 0;
 -          VerTag = Slash + 1;
 -       }
 +          if (Length >= 1 && S[Length - 1] == '+')
 +          {
 +             Remove = false;
 +             S[--Length] = 0;
 +             continue;
 +          }
         
 -       Slash = strchr(S,'/');
 -       if (Slash != 0)
 -       {
 -          VerIsRel = true;
 -          *Slash = 0;
 -          VerTag = Slash + 1;
 -       }
 +          char *Slash = strchr(S,'=');
 +          if (Slash != 0)
 +          {
 +             VerIsRel = false;
 +             *Slash = 0;
 +             VerTag = Slash + 1;
 +          }
         
 -       break;
 -      }
 +          Slash = strchr(S,'/');
 +          if (Slash != 0)
 +          {
 +             VerIsRel = true;
 +             *Slash = 0;
 +             VerTag = Slash + 1;
 +          }
 +       
 +          break;
 +       }
        
 -      // Locate the package
 -      pkgCache::PkgIterator Pkg = Cache->FindPkg(S);
 -      Packages++;
 -      if (Pkg.end() == true)
 -      {
 -       // Check if the name is a regex
 -       const char *I;
 -       for (I = S; *I != 0; I++)
 -          if (*I == '?' || *I == '*' || *I == '|' ||
 -              *I == '[' || *I == '^' || *I == '$')
 -             break;
 -       if (*I == 0)
 -          return _error->Error(_("Couldn't find package %s"),S);
 +       // Locate the package
 +       pkgCache::PkgIterator Pkg = Cache->FindPkg(S);
 +       Packages++;
 +       if (Pkg.end() == true)
 +       {
 +          // Check if the name is a regex
 +          const char *I;
 +          for (I = S; *I != 0; I++)
 +             if (*I == '?' || *I == '*' || *I == '|' ||
 +                 *I == '[' || *I == '^' || *I == '$')
 +                break;
 +          if (*I == 0)
 +             return _error->Error(_("Couldn't find package %s"),S);
  
 -       // Regexs must always be confirmed
 -       ExpectedInst += 1000;
 +          // Regexs must always be confirmed
 +          ExpectedInst += 1000;
         
 -       // Compile the regex pattern
 -       regex_t Pattern;
 -       int Res;
 -       if ((Res = regcomp(&Pattern,S,REG_EXTENDED | REG_ICASE |
 -                   REG_NOSUB)) != 0)
 -       {
 -          char Error[300];        
 -          regerror(Res,&Pattern,Error,sizeof(Error));
 -          return _error->Error(_("Regex compilation error - %s"),Error);
 -       }
 +          // Compile the regex pattern
 +          regex_t Pattern;
 +          int Res;
 +          if ((Res = regcomp(&Pattern,S,REG_EXTENDED | REG_ICASE |
 +                             REG_NOSUB)) != 0)
 +          {
 +             char Error[300];     
 +             regerror(Res,&Pattern,Error,sizeof(Error));
 +             return _error->Error(_("Regex compilation error - %s"),Error);
 +          }
         
 -       // Run over the matches
 -       bool Hit = false;
 -       for (Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
 -       {
 -          if (regexec(&Pattern,Pkg.Name(),0,0,0) != 0)
 -             continue;
 +          // Run over the matches
 +          bool Hit = false;
 +          for (Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
 +          {
 +             if (regexec(&Pattern,Pkg.Name(),0,0,0) != 0)
 +                continue;
            
 -          ioprintf(c1out,_("Note, selecting %s for regex '%s'\n"),
 -                   Pkg.Name(),S);
 +             ioprintf(c1out,_("Note, selecting %s for regex '%s'\n"),
 +                      Pkg.Name(),S);
            
 +             if (VerTag != 0)
 +                if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false)
 +                   return false;
 +          
 +             Hit |= TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,
 +                                 ExpectedInst,false);
 +          }
 +          regfree(&Pattern);
 +       
 +          if (Hit == false)
 +             return _error->Error(_("Couldn't find package %s"),S);
 +       }
 +       else
 +       {
            if (VerTag != 0)
               if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false)
                  return false;
 -          
 -          Hit |= TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,
 -                              ExpectedInst,false);
 -       }
 -       regfree(&Pattern);
 -       
 -       if (Hit == false)
 -          return _error->Error(_("Couldn't find package %s"),S);
 -      }
 -      else
 -      {
 -       if (VerTag != 0)
 -          if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false)
 +          if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false)
               return false;
 -       if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false)
 -          return false;
 -      }      
 -   }
 +       }      
 +      }
  
 -   /* If we are in the Broken fixing mode we do not attempt to fix the
 -      problems. This is if the user invoked install without -f and gave
 -      packages */
 -   if (BrokenFix == true && Cache->BrokenCount() != 0)
 -   {
 -      c1out << _("You might want to run `apt-get -f install' to correct these:") << endl;
 -      ShowBroken(c1out,Cache,false);
 +      /* If we are in the Broken fixing mode we do not attempt to fix the
 +       problems. This is if the user invoked install without -f and gave
 +       packages */
 +      if (BrokenFix == true && Cache->BrokenCount() != 0)
 +      {
 +       c1out << _("You might want to run `apt-get -f install' to correct these:") << endl;
 +       ShowBroken(c1out,Cache,false);
  
 -      return _error->Error(_("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution)."));
 -   }
 +       return _error->Error(_("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution)."));
 +      }
     
 -   // Call the scored problem resolver
 -   Fix.InstallProtect();
 -   if (Fix.Resolve(true) == false)
 -      _error->Discard();
 +      // Call the scored problem resolver
 +      Fix.InstallProtect();
 +      if (Fix.Resolve(true) == false)
 +       _error->Discard();
  
 -   // Now we check the state of the packages,
 -   if (Cache->BrokenCount() != 0)
 -   {
 -      c1out << 
 -       _("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" 
 -       "distribution that some required packages have not yet been created\n"
 -       "or been moved out of Incoming.") << endl;
 -      if (Packages == 1)
 +      // Now we check the state of the packages,
 +      if (Cache->BrokenCount() != 0)
        {
 -       c1out << endl;
         c1out << 
 -        _("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.") << endl;
 -      }
 +          _("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" 
 +            "distribution that some required packages have not yet been created\n"
 +            "or been moved out of Incoming.") << endl;
 +       if (Packages == 1)
 +       {
 +          c1out << endl;
 +          c1out << 
 +             _("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.") << endl;
 +       }
 +
 +       c1out << _("The following information may help to resolve the situation:") << endl;
 +       c1out << endl;
 +       ShowBroken(c1out,Cache,false);
 +       return _error->Error(_("Broken packages"));
 +      }   
 +   }
 +   if (_config->FindB("APT::Get::AutomaticRemove")) {
 +      if (!DoAutomaticRemove(Cache)) 
 +       return false;
 +   }
  
 -      c1out << _("The following information may help to resolve the situation:") << endl;
 -      c1out << endl;
 -      ShowBroken(c1out,Cache,false);
 -      return _error->Error(_("Broken packages"));
 -   }   
 -   
     /* Print out a list of packages that are going to be installed extra
        to what the user asked */
     if (Cache->InstCount() != ExpectedInst)
         
         if (*J == 0) {
            List += string(I.Name()) + " ";
 -        VersionsList += string(Cache[I].CandVersion) + "\n";
 -     }
 +          VersionsList += string(Cache[I].CandVersion) + "\n";
 +       }
        }
        
        ShowList(c1out,_("The following extra packages will be installed:"),List,VersionsList);
        string SuggestsVersions, RecommendsVersions;
        for (unsigned J = 0; J < Cache->Head().PackageCount; J++)
        {
-        pkgCache::PkgIterator I(Cache,Cache.List[J]);
+        pkgCache::PkgIterator Pkg(Cache,Cache.List[J]);
  
         /* Just look at the ones we want to install */
-        if ((*Cache)[I].Install() == false)
+        if ((*Cache)[Pkg].Install() == false)
           continue;
  
-        for (pkgCache::VerIterator V = I.VersionList(); V.end() == false; V++)
-          {
-            for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; )
-              {
-                pkgCache::DepIterator Start;
-                pkgCache::DepIterator End;
-                D.GlobOr(Start,End); // advances D
-                /* 
-                 * If this is a virtual package, we need to check the list of
-                 * packages that provide it and see if any of those are
-                 * installed
-                 */
-                
-                bool providedBySomething = false;
-                for (pkgCache::PrvIterator Prv = Start.TargetPkg().ProvidesList();
-                       Prv.end() != true;
-                       Prv++)
-                   if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false)
-                     {
-                      providedBySomething = true;
-                      break;
-                   }
-                if (providedBySomething) continue;
-             
-                  for(;;)
-                  {
-                      /* Skip if package is  installed already, or is about to be */
-                      string target = string(Start.TargetPkg().Name()) + " ";
-                      if ((*Start.TargetPkg()).SelectedState == pkgCache::State::Install
-                          || Cache[Start.TargetPkg()].Install())
-                        break;
-                      /* Skip if we already saw it */
-                      if (int(SuggestsList.find(target)) != -1 || int(RecommendsList.find(target)) != -1)
-                        break; 
-                    if (Start->Type == pkgCache::Dep::Suggests) {
-                      SuggestsList += target;
-                      SuggestsVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
-                    }
-                    
-                    if (Start->Type == pkgCache::Dep::Recommends) {
-                      RecommendsList += target;
-                      RecommendsVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
-                    }
-                      if (Start >= End)
-                         break;
-                      Start++;
-                  }
-              }
-          }
+        // get the recommends/suggests for the candidate ver
+        pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache);
+        for (pkgCache::DepIterator D = CV.DependsList(); D.end() == false; )
+        {
+           pkgCache::DepIterator Start;
+           pkgCache::DepIterator End;
+           D.GlobOr(Start,End); // advances D
+           // FIXME: we really should display a or-group as a or-group to the user
+           //        the problem is that ShowList is incapable of doing this
+           string RecommendsOrList,RecommendsOrVersions;
+           string SuggestsOrList,SuggestsOrVersions;
+           bool foundInstalledInOrGroup = false;
+           for(;;)
+           {
+              /* Skip if package is  installed already, or is about to be */
+              string target = string(Start.TargetPkg().Name()) + " ";
+              
+              if ((*Start.TargetPkg()).SelectedState == pkgCache::State::Install
+                  || Cache[Start.TargetPkg()].Install())
+              {
+                 foundInstalledInOrGroup=true;
+                 break;
+              }
+              /* Skip if we already saw it */
+              if (int(SuggestsList.find(target)) != -1 || int(RecommendsList.find(target)) != -1)
+              {
+                 foundInstalledInOrGroup=true;
+                 break; 
+              }
+              // this is a dep on a virtual pkg, check if any package that provides it
+              // should be installed
+              if(Start.TargetPkg().ProvidesList() != 0)
+              {
+                 pkgCache::PrvIterator I = Start.TargetPkg().ProvidesList();
+                 for (; I.end() == false; I++)
+                 {
+                    pkgCache::PkgIterator Pkg = I.OwnerPkg();
+                    if (Cache[Pkg].CandidateVerIter(Cache) == I.OwnerVer() && 
+                        Pkg.CurrentVer() != 0)
+                       foundInstalledInOrGroup=true;
+                 }
+              }
+              if (Start->Type == pkgCache::Dep::Suggests) 
+              {
+                 SuggestsOrList += target;
+                 SuggestsOrVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
+              }
+              
+              if (Start->Type == pkgCache::Dep::Recommends) 
+              {
+                 RecommendsOrList += target;
+                 RecommendsOrVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
+              }
+              if (Start >= End)
+                 break;
+              Start++;
+           }
+           
+           if(foundInstalledInOrGroup == false)
+           {
+              RecommendsList += RecommendsOrList;
+              RecommendsVersions += RecommendsOrVersions;
+              SuggestsList += SuggestsOrList;
+              SuggestsVersions += SuggestsOrVersions;
+           }
+              
+        }
        }
        ShowList(c1out,_("Suggested packages:"),SuggestsList,SuggestsVersions);
        ShowList(c1out,_("Recommended packages:"),RecommendsList,RecommendsVersions);
  
@@@ -1774,8 -1732,6 +1792,8 @@@ bool DoDSelectUpgrade(CommandLine &CmdL
     if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
        return false;
     
 +   pkgDepCache::ActionGroup group(Cache);
 +
     // Install everything with the install flag set
     pkgCache::PkgIterator I = Cache->PkgBegin();
     for (;I.end() != true; I++)
@@@ -2528,7 -2484,6 +2546,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                               /*{{{*/
@@@ -2584,7 -2539,6 +2602,7 @@@ int main(int argc,const char *argv[]
        {0,"remove","APT::Get::Remove",0},
        {0,"only-source","APT::Get::Only-Source",0},
        {0,"arch-only","APT::Get::Arch-Only",0},
 +      {0,"auto-remove","APT::Get::AutomaticRemove",0},
        {0,"allow-unauthenticated","APT::Get::AllowUnauthenticated",0},
        {'c',"config-file",0,CommandLine::ConfigFile},
        {'o',"option",0,CommandLine::ArbItem},
                                     {"upgrade",&DoUpgrade},
                                     {"install",&DoInstall},
                                     {"remove",&DoInstall},
 +                                 {"autoremove",&DoInstall},
                                     {"dist-upgrade",&DoDistUpgrade},
                                     {"dselect-upgrade",&DoDSelectUpgrade},
                                   {"build-dep",&DoBuildDep},
diff --combined debian/changelog
index 8b11ff0da37fb181ba677161bc246d23f39e6131,e69c5091f09446b8d6a4220596c0101a85f48bcf..d0719db91fcc1e2d8ab0caaa339eaa12dad7382a
@@@ -1,18 -1,74 +1,74 @@@
- apt (0.6.44.2) unstable; urgency=low
-   * apt-pkg/depcache.cc:
-     - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
-   * merged from 
-     http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
-       * sk.po: Completed to 512t
-       * eu.po: Completed to 512t
-       * fr.po: Completed to 512t
-       * sv.po: Completed to 512t
-       * Update all PO and the POT. Gives 506t6f for formerly
-         complete translations
+ apt (0.6.45.1) unstable; urgency=low
+   * debian/control:
+     - switched to libdb4.4 for building (closes: #381019)
+   * cmdline/apt-get.cc:
+     - show only the recommends/suggests for the candidate-version, not for all
+       versions of the package (closes: #257054)
+     - properly handle recommends/suggests or-groups when printing the list of
+       suggested/recommends packages (closes: #311619)
+   * methods/http.cc:
+     - check more careful for incorrect proxy settings (closes: #378868)
  
   --
  
+ apt (0.6.45) unstable; urgency=low
+   * apt-pkg/contrib/sha256.cc:
+     - fixed the sha256 generation (closes: #378183)
+   * ftparchive/cachedb.cc:
+     - applied patch from Anthony Towns to fix Clean() function
+       (closes: #379576)
+   * doc/apt-get.8.xml:
+     - fix path to the apt user build (Closes: #375640)
+   * doc/apt-cache.8.xml:
+     - typo (Closes: #376408)
+   * apt-pkg/deb/dpkgpm.cc:
+     - make progress reporting more robust against multiline error
+       messages (first half of a fix for #374195)
+   * doc/examples/configure-index:
+     - document Debug::pkgAcquire::Auth     
+   * methods/gpgv.cc:
+     - deal with gpg error "NODATA". Closes: #296103, Thanks to 
+       Luis Rodrigo Gallardo Cruz for the patch
+   * apt-inst/contrib/extracttar.cc:
+     - fix for string mangling, closes: #373864
+   * apt-pkg/acquire-item.cc:
+     - check for bzip2 in /bin (closes: #377391)
+   * apt-pkg/tagfile.cc:
+     - make it work on non-mapable files again, thanks 
+       to James Troup for confirming the fix (closes: #376777)
+   * Merged from Christian Perrier bzr branch:
+     * ko.po: Updated to 512t. Closes: #378901
+     * hu.po: Updated to 512t. Closes: #376330
+     * km.po: New Khmer translation: 506t6f. Closes: #375068
+     * ne.po: New Nepali translation: 512t. Closes: #373729
+     * vi.po: Updated to 512t. Closes: #368038
+     * zh_TW.po: Remove an extra %s in one string. Closes: #370551
+     * dz.po: New Dzongkha translation: 512t
+     * ro.po: Updated to 512t
+     * eu.po: Updated
+  -- Michael Vogt <mvo@debian.org>  Thu, 27 Jul 2006 00:52:05 +0200
+ apt  (0.6.44.2) unstable; urgency=low 
+   
+    * apt-pkg/depcache.cc:
+      - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
+    * apt-pkg/acquire-item.cc:
+      - fix missing chmod() in the new aquire code
+        (thanks to Bastian Blank, Closes: #367425)
+    * merged from
+      http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
+      * sk.po: Completed to 512t
+      * eu.po: Completed to 512t
+      * fr.po: Completed to 512t
+      * sv.po: Completed to 512t
+      * Update all PO and the POT. Gives 506t6f for formerly
+        complete translations
+  -- Michael Vogt <mvo@debian.org>  Wed, 14 Jun 2006 12:00:57 +0200 
  apt (0.6.44.1-0.1) unstable; urgency=low
  
    * Non-maintainer upload.
@@@ -333,7 -389,6 +389,7 @@@ apt (0.6.37) breezy; urgency=lo
    * Add Welsh translation from Dafydd Harries
      (daf@muse.19inch.net--2005/apt--main--0--patch-1)
    * Change debian/bugscript to use #!/bin/bash (Closes: #313402)
 +  * Fix a incorrect example in the man-page (closes: #282918)
  
   -- Matt Zimmerman <mdz@ubuntu.com>  Tue, 24 May 2005 14:38:25 -0700
  
index d9e78559dc48fdcdfcd34a07b8f74d19e0faa2a0,f8abd75ed7e9863600cac66e5490ed6e4cd6d794..1911d091b6da29f0a1f9abffb0b9c43df7be9137
@@@ -24,15 -24,11 +24,15 @@@ AP
  {
    Architecture "i386";
    Build-Essential "build-essential";
 -  
 +
 +  NeverAutoRemove  { "linux-kernel.*";  };  // packages that should never
 +                                            // considered for autoRemove
 +
    // Options for apt-get
    Get 
    {
       Arch-Only "false";
 +     AutomaticRemove "false";       
       Download-Only "false";
       Simulate "false";
       Assume-Yes "false";
@@@ -251,11 -247,11 +251,12 @@@ Debu
    pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
    pkgAcquire "false";
    pkgAcquire::Worker "false";
+   pkgAcquire::Auth "false";
    pkgDPkgPM "false";
    pkgDPkgProgressReporting "false";
    pkgOrderList "false";
 -  
 +  pkgAutoRemove "false";   // show information about automatic removes
 +
    pkgInitialize "false";   // This one will dump the configuration space
    NoLocking "false";
    Acquire::Ftp "false";    // Show ftp command traffic
diff --combined po/apt-all.pot
index cc075ceb337ea1f92eea66a428a690caaa58cece,095de7f6d3793e122b61430e4915d5409ca6538c..2dd720674058151f852145ef1e4d5b479edb8f91
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: PACKAGE VERSION\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2006-07-26 10:56+0200\n"
 -"POT-Creation-Date: 2006-08-09 16:17+0200\n"
++"POT-Creation-Date: 2006-09-06 18:03+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"
@@@ -148,7 -148,7 +148,7 @@@ msgstr "
  
  #: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
  #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
- #: cmdline/apt-get.cc:2430 cmdline/apt-sortpkgs.cc:144
 -#: cmdline/apt-get.cc:2380 cmdline/apt-sortpkgs.cc:144
++#: cmdline/apt-get.cc:2449 cmdline/apt-sortpkgs.cc:144
  #, c-format
  msgid "%s %s for %s %s compiled on %s %s\n"
  msgstr ""
@@@ -243,7 -243,7 +243,7 @@@ msgid "
  "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
  msgstr ""
  
 -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:710
 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:712
  #, c-format
  msgid "Unable to write to %s"
  msgstr ""
@@@ -327,115 -327,126 +327,126 @@@ msgstr "
  msgid "Some files are missing in the package file group `%s'"
  msgstr ""
  
- #: ftparchive/cachedb.cc:45
+ #: ftparchive/cachedb.cc:47
  #, c-format
  msgid "DB was corrupted, file renamed to %s.old"
  msgstr ""
  
- #: ftparchive/cachedb.cc:63
+ #: ftparchive/cachedb.cc:65
  #, c-format
  msgid "DB is old, attempting to upgrade %s"
  msgstr ""
  
- #: ftparchive/cachedb.cc:73
+ #: ftparchive/cachedb.cc:76
+ msgid ""
+ "DB format is invalid. If you upgraded from a older version of apt, please "
+ "remove and re-create the database."
+ msgstr ""
+ #: ftparchive/cachedb.cc:81
  #, c-format
  msgid "Unable to open DB file %s: %s"
  msgstr ""
  
- #: ftparchive/cachedb.cc:114
+ #: ftparchive/cachedb.cc:127 apt-inst/extract.cc:181 apt-inst/extract.cc:193
+ #: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:272
  #, c-format
- msgid "File date has changed %s"
+ msgid "Failed to stat %s"
  msgstr ""
  
- #: ftparchive/cachedb.cc:155
+ #: ftparchive/cachedb.cc:242
  msgid "Archive has no control record"
  msgstr ""
  
- #: ftparchive/cachedb.cc:267
+ #: ftparchive/cachedb.cc:448
  msgid "Unable to get a cursor"
  msgstr ""
  
- #: ftparchive/writer.cc:78
+ #: ftparchive/writer.cc:79
  #, c-format
  msgid "W: Unable to read directory %s\n"
  msgstr ""
  
- #: ftparchive/writer.cc:83
+ #: ftparchive/writer.cc:84
  #, c-format
  msgid "W: Unable to stat %s\n"
  msgstr ""
  
- #: ftparchive/writer.cc:125
+ #: ftparchive/writer.cc:135
  msgid "E: "
  msgstr ""
  
- #: ftparchive/writer.cc:127
+ #: ftparchive/writer.cc:137
  msgid "W: "
  msgstr ""
  
- #: ftparchive/writer.cc:134
+ #: ftparchive/writer.cc:144
  msgid "E: Errors apply to file "
  msgstr ""
  
- #: ftparchive/writer.cc:151 ftparchive/writer.cc:181
+ #: ftparchive/writer.cc:161 ftparchive/writer.cc:191
  #, c-format
  msgid "Failed to resolve %s"
  msgstr ""
  
- #: ftparchive/writer.cc:163
+ #: ftparchive/writer.cc:173
  msgid "Tree walking failed"
  msgstr ""
  
- #: ftparchive/writer.cc:188
+ #: ftparchive/writer.cc:198
  #, c-format
  msgid "Failed to open %s"
  msgstr ""
  
- #: ftparchive/writer.cc:245
+ #: ftparchive/writer.cc:257
  #, c-format
  msgid " DeLink %s [%s]\n"
  msgstr ""
  
- #: ftparchive/writer.cc:253
+ #: ftparchive/writer.cc:265
  #, c-format
  msgid "Failed to readlink %s"
  msgstr ""
  
- #: ftparchive/writer.cc:257
+ #: ftparchive/writer.cc:269
  #, c-format
  msgid "Failed to unlink %s"
  msgstr ""
  
- #: ftparchive/writer.cc:264
+ #: ftparchive/writer.cc:276
  #, c-format
  msgid "*** Failed to link %s to %s"
  msgstr ""
  
- #: ftparchive/writer.cc:274
+ #: ftparchive/writer.cc:286
  #, c-format
  msgid " DeLink limit of %sB hit.\n"
  msgstr ""
  
- #: ftparchive/writer.cc:358 apt-inst/extract.cc:181 apt-inst/extract.cc:193
- #: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:266
- #, c-format
- msgid "Failed to stat %s"
- msgstr ""
- #: ftparchive/writer.cc:386
+ #: ftparchive/writer.cc:390
  msgid "Archive had no package field"
  msgstr ""
  
- #: ftparchive/writer.cc:394 ftparchive/writer.cc:603
+ #: ftparchive/writer.cc:398 ftparchive/writer.cc:613
  #, c-format
  msgid "  %s has no override entry\n"
  msgstr ""
  
- #: ftparchive/writer.cc:437 ftparchive/writer.cc:689
+ #: ftparchive/writer.cc:443 ftparchive/writer.cc:701
  #, c-format
  msgid "  %s maintainer is %s not %s\n"
  msgstr ""
  
+ #: ftparchive/writer.cc:623
+ #, c-format
+ msgid "  %s has no source override entry\n"
+ msgstr ""
+ #: ftparchive/writer.cc:627
+ #, c-format
+ msgid "  %s has no binary override entry either\n"
+ msgstr ""
  #: ftparchive/contents.cc:317
  #, c-format
  msgid "Internal error, could not locate member %s"
@@@ -531,221 -542,221 +542,221 @@@ msgstr "
  msgid "Failed to rename %s to %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:120
 +#: cmdline/apt-get.cc:121
  msgid "Y"
  msgstr ""
  
- #: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1560
 -#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1506
++#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1561
  #, c-format
  msgid "Regex compilation error - %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:237
 +#: cmdline/apt-get.cc:238
  msgid "The following packages have unmet dependencies:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:327
 +#: cmdline/apt-get.cc:328
  #, c-format
  msgid "but %s is installed"
  msgstr ""
  
 -#: cmdline/apt-get.cc:329
 +#: cmdline/apt-get.cc:330
  #, c-format
  msgid "but %s is to be installed"
  msgstr ""
  
 -#: cmdline/apt-get.cc:336
 +#: cmdline/apt-get.cc:337
  msgid "but it is not installable"
  msgstr ""
  
 -#: cmdline/apt-get.cc:338
 +#: cmdline/apt-get.cc:339
  msgid "but it is a virtual package"
  msgstr ""
  
 -#: cmdline/apt-get.cc:341
 +#: cmdline/apt-get.cc:342
  msgid "but it is not installed"
  msgstr ""
  
 -#: cmdline/apt-get.cc:341
 +#: cmdline/apt-get.cc:342
  msgid "but it is not going to be installed"
  msgstr ""
  
 -#: cmdline/apt-get.cc:346
 +#: cmdline/apt-get.cc:347
  msgid " or"
  msgstr ""
  
 -#: cmdline/apt-get.cc:375
 +#: cmdline/apt-get.cc:376
  msgid "The following NEW packages will be installed:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:401
 +#: cmdline/apt-get.cc:402
  msgid "The following packages will be REMOVED:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:423
 +#: cmdline/apt-get.cc:424
  msgid "The following packages have been kept back:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:444
 +#: cmdline/apt-get.cc:445
  msgid "The following packages will be upgraded:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:465
 +#: cmdline/apt-get.cc:466
  msgid "The following packages will be DOWNGRADED:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:485
 +#: cmdline/apt-get.cc:486
  msgid "The following held packages will be changed:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:538
 +#: cmdline/apt-get.cc:539
  #, c-format
  msgid "%s (due to %s) "
  msgstr ""
  
 -#: cmdline/apt-get.cc:546
 +#: cmdline/apt-get.cc:547
  msgid ""
  "WARNING: The following essential packages will be removed.\n"
  "This should NOT be done unless you know exactly what you are doing!"
  msgstr ""
  
 -#: cmdline/apt-get.cc:577
 +#: cmdline/apt-get.cc:578
  #, c-format
  msgid "%lu upgraded, %lu newly installed, "
  msgstr ""
  
 -#: cmdline/apt-get.cc:581
 +#: cmdline/apt-get.cc:582
  #, c-format
  msgid "%lu reinstalled, "
  msgstr ""
  
 -#: cmdline/apt-get.cc:583
 +#: cmdline/apt-get.cc:584
  #, c-format
  msgid "%lu downgraded, "
  msgstr ""
  
 -#: cmdline/apt-get.cc:585
 +#: cmdline/apt-get.cc:586
  #, c-format
  msgid "%lu to remove and %lu not upgraded.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:589
 +#: cmdline/apt-get.cc:590
  #, c-format
  msgid "%lu not fully installed or removed.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:649
 +#: cmdline/apt-get.cc:650
  msgid "Correcting dependencies..."
  msgstr ""
  
 -#: cmdline/apt-get.cc:652
 +#: cmdline/apt-get.cc:653
  msgid " failed."
  msgstr ""
  
 -#: cmdline/apt-get.cc:655
 +#: cmdline/apt-get.cc:656
  msgid "Unable to correct dependencies"
  msgstr ""
  
 -#: cmdline/apt-get.cc:658
 +#: cmdline/apt-get.cc:659
  msgid "Unable to minimize the upgrade set"
  msgstr ""
  
 -#: cmdline/apt-get.cc:660
 +#: cmdline/apt-get.cc:661
  msgid " Done"
  msgstr ""
  
 -#: cmdline/apt-get.cc:664
 +#: cmdline/apt-get.cc:665
  msgid "You might want to run `apt-get -f install' to correct these."
  msgstr ""
  
 -#: cmdline/apt-get.cc:667
 +#: cmdline/apt-get.cc:668
  msgid "Unmet dependencies. Try using -f."
  msgstr ""
  
 -#: cmdline/apt-get.cc:689
 +#: cmdline/apt-get.cc:690
  msgid "WARNING: The following packages cannot be authenticated!"
  msgstr ""
  
 -#: cmdline/apt-get.cc:693
 +#: cmdline/apt-get.cc:694
  msgid "Authentication warning overridden.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:700
 +#: cmdline/apt-get.cc:701
  msgid "Install these packages without verification [y/N]? "
  msgstr ""
  
 -#: cmdline/apt-get.cc:702
 +#: cmdline/apt-get.cc:703
  msgid "Some packages could not be authenticated"
  msgstr ""
  
 -#: cmdline/apt-get.cc:711 cmdline/apt-get.cc:858
 +#: cmdline/apt-get.cc:712 cmdline/apt-get.cc:859
  msgid "There are problems and -y was used without --force-yes"
  msgstr ""
  
 -#: cmdline/apt-get.cc:755
 +#: cmdline/apt-get.cc:756
  msgid "Internal error, InstallPackages was called with broken packages!"
  msgstr ""
  
 -#: cmdline/apt-get.cc:764
 +#: cmdline/apt-get.cc:765
  msgid "Packages need to be removed but remove is disabled."
  msgstr ""
  
 -#: cmdline/apt-get.cc:775
 +#: cmdline/apt-get.cc:776
  msgid "Internal error, Ordering didn't finish"
  msgstr ""
  
- #: cmdline/apt-get.cc:792 cmdline/apt-get.cc:1861 cmdline/apt-get.cc:1894
 -#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1811 cmdline/apt-get.cc:1844
++#: cmdline/apt-get.cc:792 cmdline/apt-get.cc:1880 cmdline/apt-get.cc:1913
  msgid "Unable to lock the download directory"
  msgstr ""
  
- #: cmdline/apt-get.cc:802 cmdline/apt-get.cc:1942 cmdline/apt-get.cc:2178
 -#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1892 cmdline/apt-get.cc:2128
++#: cmdline/apt-get.cc:802 cmdline/apt-get.cc:1961 cmdline/apt-get.cc:2197
  #: apt-pkg/cachefile.cc:67
  msgid "The list of sources could not be read."
  msgstr ""
  
 -#: cmdline/apt-get.cc:816
 +#: cmdline/apt-get.cc:817
  msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
  msgstr ""
  
 -#: cmdline/apt-get.cc:821
 +#: cmdline/apt-get.cc:822
  #, c-format
  msgid "Need to get %sB/%sB of archives.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:824
 +#: cmdline/apt-get.cc:825
  #, c-format
  msgid "Need to get %sB of archives.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:829
 +#: cmdline/apt-get.cc:830
  #, c-format
  msgid "After unpacking %sB of additional disk space will be used.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:832
 +#: cmdline/apt-get.cc:833
  #, c-format
  msgid "After unpacking %sB disk space will be freed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:847 cmdline/apt-get.cc:2032
 -#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1982
++#: cmdline/apt-get.cc:847 cmdline/apt-get.cc:2051
  #, c-format
  msgid "Couldn't determine free space in %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:849
 +#: cmdline/apt-get.cc:850
  #, c-format
  msgid "You don't have enough free space in %s."
  msgstr ""
  
 -#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:884
 +#: cmdline/apt-get.cc:865 cmdline/apt-get.cc:885
  msgid "Trivial Only specified but this is not a trivial operation."
  msgstr ""
  
 -#: cmdline/apt-get.cc:866
 +#: cmdline/apt-get.cc:867
  msgid "Yes, do as I say!"
  msgstr ""
  
 -#: cmdline/apt-get.cc:868
 +#: cmdline/apt-get.cc:869
  #, c-format
  msgid ""
  "You are about to do something potentially harmful.\n"
  " ?] "
  msgstr ""
  
 -#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:893
 +#: cmdline/apt-get.cc:875 cmdline/apt-get.cc:894
  msgid "Abort."
  msgstr ""
  
 -#: cmdline/apt-get.cc:889
 +#: cmdline/apt-get.cc:890
  msgid "Do you want to continue [Y/n]? "
  msgstr ""
  
- #: cmdline/apt-get.cc:962 cmdline/apt-get.cc:1366 cmdline/apt-get.cc:2075
 -#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2025
++#: cmdline/apt-get.cc:962 cmdline/apt-get.cc:1366 cmdline/apt-get.cc:2094
  #, c-format
  msgid "Failed to fetch %s  %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:979
 +#: cmdline/apt-get.cc:980
  msgid "Some files failed to download"
  msgstr ""
  
- #: cmdline/apt-get.cc:981 cmdline/apt-get.cc:2084
 -#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2034
++#: cmdline/apt-get.cc:981 cmdline/apt-get.cc:2103
  msgid "Download complete and in download only mode"
  msgstr ""
  
 -#: cmdline/apt-get.cc:986
 +#: cmdline/apt-get.cc:987
  msgid ""
  "Unable to fetch some archives, maybe run apt-get update or try with --fix-"
  "missing?"
  msgstr ""
  
 -#: cmdline/apt-get.cc:990
 +#: cmdline/apt-get.cc:991
  msgid "--fix-missing and media swapping is not currently supported"
  msgstr ""
  
 -#: cmdline/apt-get.cc:995
 +#: cmdline/apt-get.cc:996
  msgid "Unable to correct missing packages."
  msgstr ""
  
 -#: cmdline/apt-get.cc:996
 +#: cmdline/apt-get.cc:997
  msgid "Aborting install."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1030
 +#: cmdline/apt-get.cc:1031
  #, c-format
  msgid "Note, selecting %s instead of %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1040
 +#: cmdline/apt-get.cc:1041
  #, c-format
  msgid "Skipping %s, it is already installed and upgrade is not set.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1058
 +#: cmdline/apt-get.cc:1059
  #, c-format
  msgid "Package %s is not installed, so not removed\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1069
 +#: cmdline/apt-get.cc:1070
  #, c-format
  msgid "Package %s is a virtual package provided by:\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1081
 +#: cmdline/apt-get.cc:1082
  msgid " [Installed]"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1086
 +#: cmdline/apt-get.cc:1087
  msgid "You should explicitly select one to install."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1091
 +#: cmdline/apt-get.cc:1092
  #, 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:1110
 +#: cmdline/apt-get.cc:1111
  msgid "However the following packages replace it:"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1113
 +#: cmdline/apt-get.cc:1114
  #, c-format
  msgid "Package %s has no installation candidate"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1133
 +#: cmdline/apt-get.cc:1134
  #, c-format
  msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1141
 +#: cmdline/apt-get.cc:1142
  #, c-format
  msgid "%s is already the newest version.\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1168
 +#: cmdline/apt-get.cc:1169
  #, c-format
  msgid "Release '%s' for '%s' was not found"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1170
 +#: cmdline/apt-get.cc:1171
  #, c-format
  msgid "Version '%s' for '%s' was not found"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1176
 +#: cmdline/apt-get.cc:1177
  #, c-format
  msgid "Selected version %s (%s) for %s\n"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1313
 +#: cmdline/apt-get.cc:1314
  msgid "The update command takes no arguments"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1326
 +#: cmdline/apt-get.cc:1327
  msgid "Unable to lock the list directory"
  msgstr ""
  
 -#: cmdline/apt-get.cc:1384
 +#: cmdline/apt-get.cc:1385
  msgid ""
  "Some index files failed to download, they have been ignored, or old ones "
  "used instead."
  msgstr ""
  
 -#: cmdline/apt-get.cc:1403
 +#: cmdline/apt-get.cc:1399
 +msgid "We are not supposed to delete stuff, can't start AutoRemover"
 +msgstr ""
 +
 +#: cmdline/apt-get.cc:1424
 +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:1427 cmdline/apt-get.cc:1628
++#: cmdline/apt-get.cc:1427 cmdline/apt-get.cc:1629
 +msgid "The following information may help to resolve the situation:"
 +msgstr ""
 +
 +#: cmdline/apt-get.cc:1431
 +msgid "Internal Error, AutoRemover broke stuff"
 +msgstr ""
 +
 +#: cmdline/apt-get.cc:1450
  msgid "Internal error, AllUpgrade broke stuff"
  msgstr ""
  
- #: cmdline/apt-get.cc:1547 cmdline/apt-get.cc:1583
 -#: cmdline/apt-get.cc:1493 cmdline/apt-get.cc:1529
++#: cmdline/apt-get.cc:1548 cmdline/apt-get.cc:1584
  #, c-format
  msgid "Couldn't find package %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:1570
 -#: cmdline/apt-get.cc:1516
++#: cmdline/apt-get.cc:1571
  #, c-format
  msgid "Note, selecting %s for regex '%s'\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:1600
 -#: cmdline/apt-get.cc:1546
++#: cmdline/apt-get.cc:1601
  msgid "You might want to run `apt-get -f install' to correct these:"
  msgstr ""
  
- #: cmdline/apt-get.cc:1603
 -#: cmdline/apt-get.cc:1549
++#: cmdline/apt-get.cc:1604
  msgid ""
  "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
  "solution)."
  msgstr ""
  
- #: cmdline/apt-get.cc:1615
 -#: cmdline/apt-get.cc:1561
++#: cmdline/apt-get.cc:1616
  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:1623
 -#: cmdline/apt-get.cc:1569
++#: cmdline/apt-get.cc:1624
  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:1631
 -#: cmdline/apt-get.cc:1574
 -msgid "The following information may help to resolve the situation:"
 -msgstr ""
 -
 -#: cmdline/apt-get.cc:1577
++#: cmdline/apt-get.cc:1632
  msgid "Broken packages"
  msgstr ""
  
- #: cmdline/apt-get.cc:1662
 -#: cmdline/apt-get.cc:1603
++#: cmdline/apt-get.cc:1663
  msgid "The following extra packages will be installed:"
  msgstr ""
  
- #: cmdline/apt-get.cc:1733
 -#: cmdline/apt-get.cc:1685
++#: cmdline/apt-get.cc:1752
  msgid "Suggested packages:"
  msgstr ""
  
- #: cmdline/apt-get.cc:1734
 -#: cmdline/apt-get.cc:1686
++#: cmdline/apt-get.cc:1753
  msgid "Recommended packages:"
  msgstr ""
  
- #: cmdline/apt-get.cc:1754
 -#: cmdline/apt-get.cc:1706
++#: cmdline/apt-get.cc:1773
  msgid "Calculating upgrade... "
  msgstr ""
  
- #: cmdline/apt-get.cc:1757 methods/ftp.cc:702 methods/connect.cc:101
 -#: cmdline/apt-get.cc:1709 methods/ftp.cc:702 methods/connect.cc:101
++#: cmdline/apt-get.cc:1776 methods/ftp.cc:702 methods/connect.cc:101
  msgid "Failed"
  msgstr ""
  
- #: cmdline/apt-get.cc:1762
 -#: cmdline/apt-get.cc:1714
++#: cmdline/apt-get.cc:1781
  msgid "Done"
  msgstr ""
  
- #: cmdline/apt-get.cc:1829 cmdline/apt-get.cc:1837
 -#: cmdline/apt-get.cc:1779 cmdline/apt-get.cc:1787
++#: cmdline/apt-get.cc:1848 cmdline/apt-get.cc:1856
  msgid "Internal error, problem resolver broke stuff"
  msgstr ""
  
- #: cmdline/apt-get.cc:1937
 -#: cmdline/apt-get.cc:1887
++#: cmdline/apt-get.cc:1956
  msgid "Must specify at least one package to fetch source for"
  msgstr ""
  
- #: cmdline/apt-get.cc:1967 cmdline/apt-get.cc:2196
 -#: cmdline/apt-get.cc:1917 cmdline/apt-get.cc:2146
++#: cmdline/apt-get.cc:1986 cmdline/apt-get.cc:2215
  #, c-format
  msgid "Unable to find a source package for %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:2011
 -#: cmdline/apt-get.cc:1961
++#: cmdline/apt-get.cc:2030
  #, c-format
  msgid "Skipping already downloaded file '%s'\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2035
 -#: cmdline/apt-get.cc:1985
++#: cmdline/apt-get.cc:2054
  #, c-format
  msgid "You don't have enough free space in %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:2040
 -#: cmdline/apt-get.cc:1990
++#: cmdline/apt-get.cc:2059
  #, c-format
  msgid "Need to get %sB/%sB of source archives.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2043
 -#: cmdline/apt-get.cc:1993
++#: cmdline/apt-get.cc:2062
  #, c-format
  msgid "Need to get %sB of source archives.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2049
 -#: cmdline/apt-get.cc:1999
++#: cmdline/apt-get.cc:2068
  #, c-format
  msgid "Fetch source %s\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2080
 -#: cmdline/apt-get.cc:2030
++#: cmdline/apt-get.cc:2099
  msgid "Failed to fetch some archives."
  msgstr ""
  
- #: cmdline/apt-get.cc:2108
 -#: cmdline/apt-get.cc:2058
++#: cmdline/apt-get.cc:2127
  #, c-format
  msgid "Skipping unpack of already unpacked source in %s\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2120
 -#: cmdline/apt-get.cc:2070
++#: cmdline/apt-get.cc:2139
  #, c-format
  msgid "Unpack command '%s' failed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2121
 -#: cmdline/apt-get.cc:2071
++#: cmdline/apt-get.cc:2140
  #, c-format
  msgid "Check if the 'dpkg-dev' package is installed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2138
 -#: cmdline/apt-get.cc:2088
++#: cmdline/apt-get.cc:2157
  #, c-format
  msgid "Build command '%s' failed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2157
 -#: cmdline/apt-get.cc:2107
++#: cmdline/apt-get.cc:2176
  msgid "Child process failed"
  msgstr ""
  
- #: cmdline/apt-get.cc:2173
 -#: cmdline/apt-get.cc:2123
++#: cmdline/apt-get.cc:2192
  msgid "Must specify at least one package to check builddeps for"
  msgstr ""
  
- #: cmdline/apt-get.cc:2201
 -#: cmdline/apt-get.cc:2151
++#: cmdline/apt-get.cc:2220
  #, c-format
  msgid "Unable to get build-dependency information for %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:2221
 -#: cmdline/apt-get.cc:2171
++#: cmdline/apt-get.cc:2240
  #, c-format
  msgid "%s has no build depends.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2273
 -#: cmdline/apt-get.cc:2223
++#: cmdline/apt-get.cc:2292
  #, c-format
  msgid ""
  "%s dependency for %s cannot be satisfied because the package %s cannot be "
  "found"
  msgstr ""
  
- #: cmdline/apt-get.cc:2325
 -#: cmdline/apt-get.cc:2275
++#: cmdline/apt-get.cc:2344
  #, 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:2360
 -#: cmdline/apt-get.cc:2310
++#: cmdline/apt-get.cc:2379
  #, c-format
  msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
  msgstr ""
  
- #: cmdline/apt-get.cc:2385
 -#: cmdline/apt-get.cc:2335
++#: cmdline/apt-get.cc:2404
  #, c-format
  msgid "Failed to satisfy %s dependency for %s: %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:2399
 -#: cmdline/apt-get.cc:2349
++#: cmdline/apt-get.cc:2418
  #, c-format
  msgid "Build-dependencies for %s could not be satisfied."
  msgstr ""
  
- #: cmdline/apt-get.cc:2403
 -#: cmdline/apt-get.cc:2353
++#: cmdline/apt-get.cc:2422
  msgid "Failed to process build dependencies"
  msgstr ""
  
- #: cmdline/apt-get.cc:2435
 -#: cmdline/apt-get.cc:2385
++#: cmdline/apt-get.cc:2454
  msgid "Supported modules:"
  msgstr ""
  
- #: cmdline/apt-get.cc:2476
 -#: cmdline/apt-get.cc:2426
++#: cmdline/apt-get.cc:2495
  msgid ""
  "Usage: apt-get [options] command\n"
  "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@@ -1206,19 -1203,19 +1217,19 @@@ msgstr "
  msgid "Failed to create pipes"
  msgstr ""
  
- #: apt-inst/contrib/extracttar.cc:143
+ #: apt-inst/contrib/extracttar.cc:144
  msgid "Failed to exec gzip "
  msgstr ""
  
- #: apt-inst/contrib/extracttar.cc:180 apt-inst/contrib/extracttar.cc:206
+ #: apt-inst/contrib/extracttar.cc:181 apt-inst/contrib/extracttar.cc:207
  msgid "Corrupted archive"
  msgstr ""
  
- #: apt-inst/contrib/extracttar.cc:195
+ #: apt-inst/contrib/extracttar.cc:196
  msgid "Tar checksum failed, archive corrupted"
  msgstr ""
  
- #: apt-inst/contrib/extracttar.cc:298
+ #: apt-inst/contrib/extracttar.cc:299
  #, c-format
  msgid "Unknown TAR header type %u, member %s"
  msgstr ""
@@@ -1363,9 -1360,9 +1374,9 @@@ msgid "The info and temp directories ne
  msgstr ""
  
  #. Build the status cache
 -#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:643
 -#: apt-pkg/pkgcachegen.cc:712 apt-pkg/pkgcachegen.cc:717
 -#: apt-pkg/pkgcachegen.cc:840
 +#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:645
 +#: apt-pkg/pkgcachegen.cc:714 apt-pkg/pkgcachegen.cc:719
 +#: apt-pkg/pkgcachegen.cc:842
  msgid "Reading package lists"
  msgstr ""
  
@@@ -1493,12 -1490,12 +1504,12 @@@ msgstr "
  msgid "File not found"
  msgstr ""
  
- #: methods/copy.cc:42 methods/gpgv.cc:275 methods/gzip.cc:133
+ #: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:133
  #: methods/gzip.cc:142
  msgid "Failed to stat"
  msgstr ""
  
- #: methods/copy.cc:79 methods/gpgv.cc:272 methods/gzip.cc:139
+ #: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:139
  msgid "Failed to set modification time"
  msgstr ""
  
@@@ -1708,38 -1705,38 +1719,38 @@@ msgstr "
  msgid "Unable to connect to %s %s:"
  msgstr ""
  
- #: methods/gpgv.cc:64
+ #: methods/gpgv.cc:65
  #, c-format
  msgid "Couldn't access keyring: '%s'"
  msgstr ""
  
- #: methods/gpgv.cc:99
+ #: methods/gpgv.cc:100
  msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
  msgstr ""
  
- #: methods/gpgv.cc:198
+ #: methods/gpgv.cc:204
  msgid ""
  "Internal error: Good signature, but could not determine key fingerprint?!"
  msgstr ""
  
- #: methods/gpgv.cc:203
+ #: methods/gpgv.cc:209
  msgid "At least one invalid signature was encountered."
  msgstr ""
  
- #: methods/gpgv.cc:207
+ #: methods/gpgv.cc:213
  #, c-format
  msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
  msgstr ""
  
- #: methods/gpgv.cc:212
+ #: methods/gpgv.cc:218
  msgid "Unknown error executing gpgv"
  msgstr ""
  
- #: methods/gpgv.cc:243
+ #: methods/gpgv.cc:249
  msgid "The following signatures were invalid:\n"
  msgstr ""
  
- #: methods/gpgv.cc:250
+ #: methods/gpgv.cc:256
  msgid ""
  "The following signatures couldn't be verified because the public key is not "
  "available:\n"
@@@ -2103,38 -2100,24 +2114,38 @@@ msgstr "
  msgid "extra"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 +#: apt-pkg/depcache.cc:101 apt-pkg/depcache.cc:130
  msgid "Building dependency tree"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:62
 +#: apt-pkg/depcache.cc:102
  msgid "Candidate versions"
  msgstr ""
  
 -#: apt-pkg/depcache.cc:91
 +#: apt-pkg/depcache.cc:131
  msgid "Dependency generation"
  msgstr ""
  
- #: apt-pkg/tagfile.cc:72
 +#: apt-pkg/depcache.cc:152 apt-pkg/depcache.cc:171 apt-pkg/depcache.cc:175
 +msgid "Reading state information"
 +msgstr ""
 +
 +#: apt-pkg/depcache.cc:199
 +#, c-format
 +msgid "Failed to open StateFile %s"
 +msgstr ""
 +
 +#: apt-pkg/depcache.cc:205
 +#, c-format
 +msgid "Failed to write temporary StateFile %s"
 +msgstr ""
 +
+ #: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92
  #, c-format
  msgid "Unable to parse package file %s (1)"
  msgstr ""
  
- #: apt-pkg/tagfile.cc:103
+ #: apt-pkg/tagfile.cc:186
  #, c-format
  msgid "Unable to parse package file %s (2)"
  msgstr ""
@@@ -2202,19 -2185,19 +2213,19 @@@ msgstr "
  msgid "Index file type '%s' is not supported"
  msgstr ""
  
 -#: apt-pkg/algorithms.cc:241
 +#: apt-pkg/algorithms.cc:245
  #, c-format
  msgid ""
  "The package %s needs to be reinstalled, but I can't find an archive for it."
  msgstr ""
  
 -#: apt-pkg/algorithms.cc:1059
 +#: apt-pkg/algorithms.cc:1075
  msgid ""
  "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
  "held packages."
  msgstr ""
  
 -#: apt-pkg/algorithms.cc:1061
 +#: apt-pkg/algorithms.cc:1077
  msgid "Unable to correct problems, you have held broken packages."
  msgstr ""
  
@@@ -2294,82 -2277,82 +2305,82 @@@ msgstr "
  msgid "No priority (or zero) specified for pin"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:74
 +#: apt-pkg/pkgcachegen.cc:76
  msgid "Cache has an incompatible versioning system"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:117
 +#: apt-pkg/pkgcachegen.cc:119
  #, c-format
  msgid "Error occurred while processing %s (NewPackage)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:129
 +#: apt-pkg/pkgcachegen.cc:131
  #, c-format
  msgid "Error occurred while processing %s (UsePackage1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:150
 +#: apt-pkg/pkgcachegen.cc:152
  #, c-format
  msgid "Error occurred while processing %s (UsePackage2)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:154
 +#: apt-pkg/pkgcachegen.cc:156
  #, c-format
  msgid "Error occurred while processing %s (NewFileVer1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:184
 +#: apt-pkg/pkgcachegen.cc:186
  #, c-format
  msgid "Error occurred while processing %s (NewVersion1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:188
 +#: apt-pkg/pkgcachegen.cc:190
  #, c-format
  msgid "Error occurred while processing %s (UsePackage3)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:192
 +#: apt-pkg/pkgcachegen.cc:194
  #, c-format
  msgid "Error occurred while processing %s (NewVersion2)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:207
 +#: apt-pkg/pkgcachegen.cc:209
  msgid "Wow, you exceeded the number of package names this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:210
 +#: apt-pkg/pkgcachegen.cc:212
  msgid "Wow, you exceeded the number of versions this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:213
 +#: apt-pkg/pkgcachegen.cc:215
  msgid "Wow, you exceeded the number of dependencies this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:241
 +#: apt-pkg/pkgcachegen.cc:243
  #, c-format
  msgid "Error occurred while processing %s (FindPkg)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:254
 +#: apt-pkg/pkgcachegen.cc:256
  #, c-format
  msgid "Error occurred while processing %s (CollectFileProvides)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:260
 +#: apt-pkg/pkgcachegen.cc:262
  #, c-format
  msgid "Package %s %s was not found while processing file dependencies"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:574
 +#: apt-pkg/pkgcachegen.cc:576
  #, c-format
  msgid "Couldn't stat source package list %s"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:658
 +#: apt-pkg/pkgcachegen.cc:660
  msgid "Collecting File Provides"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:785 apt-pkg/pkgcachegen.cc:792
 +#: apt-pkg/pkgcachegen.cc:787 apt-pkg/pkgcachegen.cc:794
  msgid "IO Error saving source cache"
  msgstr ""
  
diff --combined share/debian-archive.gpg
index 0000000000000000000000000000000000000000,ce412117ddd0c333f393327189a18af47fc0016a..bb5ed5033368a3699a03fe69d5e4ed70b9fc94c6
mode 000000,100644..100644
Binary files differ