From: Michael Vogt <michael.vogt@ubuntu.com>
Date: Mon, 24 Nov 2008 10:16:13 +0000 (+0100)
Subject: merged from debian-sid
X-Git-Tag: 0.7.24ubuntu1~54
X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/73e0ee1e7f97571d7be3277e3c25c2f41b2bb946?hp=-c

merged from debian-sid
---

73e0ee1e7f97571d7be3277e3c25c2f41b2bb946
diff --combined apt-pkg/acquire-item.cc
index aee187227,09ea5da02..91f3d0605
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@@ -63,7 -63,6 +63,7 @@@ void pkgAcquire::Item::Failed(string Me
  {
     Status = StatIdle;
     ErrorText = LookupTag(Message,"Message");
 +   UsedMirror =  LookupTag(Message,"UsedMirror");
     if (QueueCounter <= 1)
     {
        /* This indicates that the file is not available right now but might
@@@ -76,17 -75,10 +76,17 @@@
  	 Dequeue();
  	 return;
        }
 -      
 +
        Status = StatError;
        Dequeue();
     }   
 +   
 +   // report mirror failure back to LP if we actually use a mirror
 +   string FailReason = LookupTag(Message, "FailReason");
 +   if(FailReason.size() != 0)
 +      ReportMirrorFailure(FailReason);
 +   else
 +      ReportMirrorFailure(ErrorText);
  }
  									/*}}}*/
  // Acquire::Item::Start - Item has begun to download			/*{{{*/
@@@ -108,7 -100,7 +108,7 @@@ void pkgAcquire::Item::Done(string Mess
  {
     // We just downloaded something..
     string FileName = LookupTag(Message,"Filename");
 -   // we only inform the Log class if it was actually not a local thing
 +   UsedMirror =  LookupTag(Message,"UsedMirror");
     if (Complete == false && !Local && FileName == DestFile)
     {
        if (Owner->Log != 0)
@@@ -117,6 -109,7 +117,6 @@@
  
     if (FileSize == 0)
        FileSize= Size;
 -   
     Status = StatDone;
     ErrorText = string();
     Owner->Dequeue(this);
@@@ -139,49 -132,6 +139,49 @@@ void pkgAcquire::Item::Rename(string Fr
  }
  									/*}}}*/
  
 +void pkgAcquire::Item::ReportMirrorFailure(string FailCode)
 +{
 +   // we only act if a mirror was used at all
 +   if(UsedMirror.empty())
 +      return;
 +#if 0
 +   std::cerr << "\nReportMirrorFailure: " 
 +	     << UsedMirror
 +	     << " Uri: " << DescURI()
 +	     << " FailCode: " 
 +	     << FailCode << std::endl;
 +#endif
 +   const char *Args[40];
 +   unsigned int i = 0;
 +   string report = _config->Find("Methods::Mirror::ProblemReporting", 
 +				 "/usr/lib/apt/apt-report-mirror-failure");
 +   if(!FileExists(report))
 +      return;
 +   Args[i++] = report.c_str();
 +   Args[i++] = UsedMirror.c_str();
 +   Args[i++] = DescURI().c_str();
 +   Args[i++] = FailCode.c_str();
 +   Args[i++] = NULL;
 +   pid_t pid = ExecFork();
 +   if(pid < 0) 
 +   {
 +      _error->Error("ReportMirrorFailure Fork failed");
 +      return;
 +   }
 +   else if(pid == 0) 
 +   {
 +      execvp(Args[0], (char**)Args);
 +      std::cerr << "Could not exec " << Args[0] << std::endl;
 +      _exit(100);
 +   }
 +   if(!ExecWait(pid, "report-mirror-failure")) 
 +   {
 +      _error->Warning("Couldn't report problem to '%s'",
 +		      _config->Find("Methods::Mirror::ProblemReporting").c_str());
 +   }
 +}
 +
 +
  
  // AcqDiffIndex::AcqDiffIndex - Constructor			
  // ---------------------------------------------------------------------
@@@ -618,9 -568,9 +618,9 @@@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Ow
        else 
  	 CompressionExtension = ".gz";
     } else {
-       CompressionExtension = comprExt;
+       CompressionExtension = (comprExt == "plain" ? "" : comprExt);
     }
-    Desc.URI = URI + CompressionExtension; 
+    Desc.URI = URI + CompressionExtension;
  
     Desc.Description = URIDesc;
     Desc.Owner = this;
@@@ -640,25 -590,37 +640,36 @@@ string pkgAcqIndex::Custom600Headers(
     struct stat Buf;
     if (stat(Final.c_str(),&Buf) != 0)
        return "\nIndex-File: true";
 -   
     return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
  }
  									/*}}}*/
  
  void pkgAcqIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
  {
+    bool descChanged = false;
     // no .bz2 found, retry with .gz
     if(Desc.URI.substr(Desc.URI.size()-3) == "bz2") {
-       Desc.URI = Desc.URI.substr(0,Desc.URI.size()-3) + "gz"; 
+       Desc.URI = Desc.URI.substr(0,Desc.URI.size()-3) + "gz";
  
-       // retry with a gzip one 
-       new pkgAcqIndex(Owner, RealURI, Desc.Description,Desc.ShortDesc, 
+       new pkgAcqIndex(Owner, RealURI, Desc.Description,Desc.ShortDesc,
  		      ExpectedHash, string(".gz"));
+ 	  descChanged = true;
+    }
+    // no .gz found, retry with uncompressed
+    else if(Desc.URI.substr(Desc.URI.size()-2) == "gz") {
+       Desc.URI = Desc.URI.substr(0,Desc.URI.size()-2);
+ 
+       new pkgAcqIndex(Owner, RealURI, Desc.Description,Desc.ShortDesc,
+ 		      ExpectedHash, string("plain"));
+ 	  descChanged = true;
+    }
+    if (descChanged) {
        Status = StatDone;
        Complete = false;
        Dequeue();
        return;
-    } 
-    
+    }
+ 
     // on decompression failure, remove bad versions in partial/
     if(Decompression && Erase) {
        string s = _config->FindDir("Dir::State::lists") + "partial/";
@@@ -695,7 -657,6 +706,7 @@@ void pkgAcqIndex::Done(string Message,u
           Status = StatAuthError;
           ErrorText = _("Hash Sum mismatch");
           Rename(DestFile,DestFile + ".FAILED");
 +	 ReportMirrorFailure("HashChecksumFailure");
           return;
        }
        // Done, move it into position
@@@ -750,12 -711,19 +761,19 @@@
     else
        Local = true;
     
-    string compExt = Desc.URI.substr(Desc.URI.size()-3);
+    string compExt = flExtension(flNotDir(URI(Desc.URI).Path));
     const char *decompProg;
     if(compExt == "bz2") 
        decompProg = "bzip2";
-    else if(compExt == ".gz") 
+    else if(compExt == "gz") 
        decompProg = "gzip";
+    // flExtensions returns the full name if no extension is found
+    // this is why we have this complicated compare operation here
+    // FIMXE: add a new flJustExtension() that return "" if no
+    //        extension is found and use that above so that it can
+    //        be tested against ""
+    else if(compExt == flNotDir(URI(Desc.URI).Path))
+       decompProg = "copy";
     else {
        _error->Error("Unsupported extension: %s", compExt.c_str());
        return;
@@@ -881,9 -849,8 +899,9 @@@ void pkgAcqMetaSig::Done(string Message
        Rename(LastGoodSig, DestFile);
  
     // queue a pkgAcqMetaIndex to be verified against the sig we just retrieved
 -   new pkgAcqMetaIndex(Owner, MetaIndexURI, MetaIndexURIDesc, MetaIndexShortDesc,
 -		       DestFile, IndexTargets, MetaIndexParser);
 +   new pkgAcqMetaIndex(Owner, MetaIndexURI, MetaIndexURIDesc, 
 +		       MetaIndexShortDesc,  DestFile, IndexTargets, 
 +		       MetaIndexParser);
  
  }
  									/*}}}*/
@@@ -896,7 -863,7 +914,7 @@@ void pkgAcqMetaSig::Failed(string Messa
     {
        Item::Failed(Message,Cnf);
        // move the sigfile back on transient network failures 
 -      if(FileExists(DestFile))
 +      if(FileExists(LastGoodSig))
   	 Rename(LastGoodSig,Final);
  
        // set the status back to , Item::Failed likes to reset it
@@@ -972,15 -939,6 +990,15 @@@ void pkgAcqMetaIndex::Done(string Messa
     if (AuthPass == true)
     {
        AuthDone(Message);
 +
 +      // all cool, move Release file into place
 +      Complete = true;
 +
 +      string FinalFile = _config->FindDir("Dir::State::lists");
 +      FinalFile += URItoFileName(RealURI);
 +      Rename(DestFile,FinalFile);
 +      chmod(FinalFile.c_str(),0644);
 +      DestFile = FinalFile;
     }
     else
     {
@@@ -1032,15 -990,22 +1050,15 @@@ void pkgAcqMetaIndex::RetrievalDone(str
        return;
     }
  
 -   // see if the download was a IMSHit
 +   // make sure to verify against the right file on I-M-S hit
     IMSHit = StringToBool(LookupTag(Message,"IMS-Hit"),false);
 +   if(IMSHit)
 +   {
 +      string FinalFile = _config->FindDir("Dir::State::lists");
 +      FinalFile += URItoFileName(RealURI);
 +      DestFile = FinalFile;
 +   }
     Complete = true;
 -
 -   string FinalFile = _config->FindDir("Dir::State::lists");
 -   FinalFile += URItoFileName(RealURI);
 -
 -   // If we get a IMS hit we can remove the empty file in partial
 -   // othersie we move the file in place
 -   if (IMSHit)
 -      unlink(DestFile.c_str());
 -   else
 -      Rename(DestFile,FinalFile);
 -
 -   chmod(FinalFile.c_str(),0644);
 -   DestFile = FinalFile;
  }
  
  void pkgAcqMetaIndex::AuthDone(string Message)
@@@ -1070,6 -1035,7 +1088,6 @@@
     QueueIndexes(true);
  
     // Done, move signature file into position
 -
     string VerifiedSigFile = _config->FindDir("Dir::State::lists") +
        URItoFileName(RealURI) + ".gpg";
     Rename(SigFile,VerifiedSigFile);
@@@ -1110,7 -1076,7 +1128,7 @@@ void pkgAcqMetaIndex::QueueIndexes(boo
        
        // Queue Packages file (either diff or full packages files, depending
        // on the users option)
 -      if(_config->FindB("Acquire::PDiffs",true) == true) 
 +      if(_config->FindB("Acquire::PDiffs",false) == true) 
  	 new pkgAcqDiffIndex(Owner, (*Target)->URI, (*Target)->Description,
  			     (*Target)->ShortDesc, ExpectedIndexHash);
        else 
@@@ -1214,30 -1180,30 +1232,30 @@@ void pkgAcqMetaIndex::Failed(string Mes
  {
     if (AuthPass == true)
     {
 -      // if we fail the authentication but got the file via a IMS-Hit 
 -      // this means that the file wasn't downloaded and that it might be
 -      // just stale (server problem, proxy etc). we delete what we have
 -      // queue it again without i-m-s 
 -      // alternatively we could just unlink the file and let the user try again
 -      if (IMSHit)
 +      // gpgv method failed, if we have a good signature 
 +      string LastGoodSigFile = _config->FindDir("Dir::State::lists") +
 +	 "partial/" + URItoFileName(RealURI) + ".gpg.reverify";
 +      if(FileExists(LastGoodSigFile))
        {
 -	 Complete = false;
 -	 Local = false;
 -	 AuthPass = false;
 -	 unlink(DestFile.c_str());
 -
 -	 DestFile = _config->FindDir("Dir::State::lists") + "partial/";
 -	 DestFile += URItoFileName(RealURI);
 -	 Desc.URI = RealURI;
 -	 QueueURI(Desc);
 +	 string VerifiedSigFile = _config->FindDir("Dir::State::lists") +
 +	    URItoFileName(RealURI) + ".gpg";
 +	 Rename(LastGoodSigFile,VerifiedSigFile);
 +	 Status = StatTransientNetworkError;
 +	 _error->Warning(_("A error occurred during the signature "
 +			   "verification. The repository is not updated "
 +			   "and the previous index files will be used."
 +			   "GPG error: %s: %s\n"),
 +			 Desc.Description.c_str(),
 +			 LookupTag(Message,"Message").c_str());
 +	 RunScripts("APT::Update::Auth-Failure");
  	 return;
 +      } else {
 +	 _error->Warning(_("GPG error: %s: %s"),
 +			 Desc.Description.c_str(),
 +			 LookupTag(Message,"Message").c_str());
        }
 -
        // gpgv method failed 
 -      _error->Warning("GPG error: %s: %s",
 -                      Desc.Description.c_str(),
 -                      LookupTag(Message,"Message").c_str());
 -
 +      ReportMirrorFailure("GPGFailure");
     }
  
     // No Release file was present, or verification failed, so fall
diff --combined apt-pkg/algorithms.cc
index 158564baf,bd33d5ef1..8bd98a620
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@@ -37,7 -37,8 +37,8 @@@ pkgProblemResolver *pkgProblemResolver:
     this is not necessary since the pkgCaches are fully shared now. */
  pkgSimulate::pkgSimulate(pkgDepCache *Cache) : pkgPackageManager(Cache),
  		            iPolicy(Cache),
-                             Sim(&Cache->GetCache(),&iPolicy)
+ 			    Sim(&Cache->GetCache(),&iPolicy),
+ 			    group(Sim)
  {
     Sim.Init(0);
     Flags = new unsigned char[Cache->Head().PackageCount];
@@@ -496,7 -497,7 +497,7 @@@ void pkgProblemResolver::MakeScores(
        
        signed short &Score = Scores[I->ID];
        
-       /* This is arbitary, it should be high enough to elevate an
+       /* This is arbitrary, it should be high enough to elevate an
           essantial package above most other packages but low enough
  	 to allow an obsolete essential packages to be removed by
  	 a conflicts on a powerfull normal package (ie libc6) */
@@@ -1108,7 -1109,8 +1109,7 @@@ bool pkgProblemResolver::Resolve(bool B
        return _error->Error(_("Unable to correct problems, you have held broken packages."));
     }
     
 -   // set the auto-flags (mvo: I'm not sure if we _really_ need this, but
 -   // I didn't managed 
 +   // set the auto-flags (mvo: I'm not sure if we _really_ need this)
     pkgCache::PkgIterator I = Cache.PkgBegin();
     for (;I.end() != true; I++) {
        if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
@@@ -1340,7 -1342,11 +1341,11 @@@ bool ListUpdate(pkgAcquireStatus &Stat
  
        (*I)->Finished();
  
-       _error->Warning(_("Failed to fetch %s  %s\n"),(*I)->DescURI().c_str(),
+       ::URI uri((*I)->DescURI());
+       uri.User.clear();
+       uri.Password.clear();
+       string descUri = string(uri);
+       _error->Warning(_("Failed to fetch %s  %s\n"), descUri.c_str(),
  	      (*I)->ErrorText.c_str());
  
        if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError) 
diff --combined apt-pkg/deb/dpkgpm.cc
index a88e23081,40aafafa4..ae99e4324
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@@ -12,7 -12,6 +12,7 @@@
  #include <apt-pkg/error.h>
  #include <apt-pkg/configuration.h>
  #include <apt-pkg/depcache.h>
 +#include <apt-pkg/pkgrecords.h>
  #include <apt-pkg/strutl.h>
  #include <apti18n.h>
  #include <apt-pkg/fileutl.h>
@@@ -25,8 -24,9 +25,10 @@@
  #include <sys/wait.h>
  #include <signal.h>
  #include <errno.h>
 +#include <string.h>
  #include <stdio.h>
+ #include <string.h>
+ #include <algorithm>
  #include <sstream>
  #include <map>
  
@@@ -41,14 -41,45 +43,45 @@@
  
  using namespace std;
  
- 
+ namespace
+ {
+   // Maps the dpkg "processing" info to human readable names.  Entry 0
+   // of each array is the key, entry 1 is the value.
+   const std::pair<const char *, const char *> PackageProcessingOps[] = {
+     std::make_pair("install",   N_("Installing %s")),
+     std::make_pair("configure", N_("Configuring %s")),
+     std::make_pair("remove",    N_("Removing %s")),
+     std::make_pair("trigproc",  N_("Running post-installation trigger %s"))
+   };
+ 
+   const std::pair<const char *, const char *> * const PackageProcessingOpsBegin = PackageProcessingOps;
+   const std::pair<const char *, const char *> * const PackageProcessingOpsEnd   = PackageProcessingOps + sizeof(PackageProcessingOps) / sizeof(PackageProcessingOps[0]);
+ 
+   // Predicate to test whether an entry in the PackageProcessingOps
+   // array matches a string.
+   class MatchProcessingOp
+   {
+     const char *target;
+ 
+   public:
+     MatchProcessingOp(const char *the_target)
+       : target(the_target)
+     {
+     }
+ 
+     bool operator()(const std::pair<const char *, const char *> &pair) const
+     {
+       return strcmp(pair.first, target) == 0;
+     }
+   };
+ }
  
  // DPkgPM::pkgDPkgPM - Constructor					/*{{{*/
  // ---------------------------------------------------------------------
  /* */
  pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) 
     : pkgPackageManager(Cache), dpkgbuf_pos(0),
 -     term_out(NULL), PackagesDone(0), PackagesTotal(0)
 +     term_out(NULL), PackagesDone(0), PackagesTotal(0), pkgFailures(0)
  {
  }
  									/*}}}*/
@@@ -275,6 -306,7 +308,6 @@@ bool pkgDPkgPM::RunScriptsWithPkgs(cons
  
     return true;
  }
 -
  									/*}}}*/
  // DPkgPM::DoStdin - Read stdin and pass to slave pty			/*{{{*/
  // ---------------------------------------------------------------------
@@@ -342,7 -374,7 +375,7 @@@ void pkgDPkgPM::ProcessDpkgStatusLine(i
        'processing: trigproc: trigger'
  	    
     */
 -   char* list[5];
 +   char* list[6];
     //        dpkg sends multiline error messages sometimes (see
     //        #374195 for a example. we should support this by
     //        either patching dpkg to not send multiline over the
@@@ -363,17 -395,19 +396,19 @@@
     if(strncmp(list[0], "processing", strlen("processing")) == 0)
     {
        char s[200];
-       map<string,string>::iterator iter;
        char *pkg_or_trigger = _strstrip(list[2]);
        action =_strstrip( list[1]);
-       iter = PackageProcessingOps.find(action);
-       if(iter == PackageProcessingOps.end())
+       const std::pair<const char *, const char *> * const iter =
+ 	std::find_if(PackageProcessingOpsBegin,
+ 		     PackageProcessingOpsEnd,
+ 		     MatchProcessingOp(action));
+       if(iter == PackageProcessingOpsEnd)
        {
  	 if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
  	    std::clog << "ignoring unknwon action: " << action << std::endl;
  	 return;
        }
-       snprintf(s, sizeof(s), _(iter->second.c_str()), pkg_or_trigger);
+       snprintf(s, sizeof(s), _(iter->second), pkg_or_trigger);
  
        status << "pmstatus:" << pkg_or_trigger
  	     << ":"  << (PackagesDone/float(PackagesTotal)*100.0) 
@@@ -388,14 -422,6 +423,14 @@@
  
     if(strncmp(action,"error",strlen("error")) == 0)
     {
 +      // urgs, sometime has ":" in its error string so that we
 +      // end up with the error message split between list[3]
 +      // and list[4], e.g. the message: 
 +      // "failed in buffer_write(fd) (10, ret=-1): backend dpkg-deb ..."
 +      // concat them again
 +      if( list[4] != NULL )
 +	 list[3][strlen(list[3])] = ':';
 +
        status << "pmerror:" << list[1]
  	     << ":"  << (PackagesDone/float(PackagesTotal)*100.0) 
  	     << ":" << list[3]
@@@ -404,8 -430,6 +439,8 @@@
  	 write(OutStatusFd, status.str().c_str(), status.str().size());
        if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
  	 std::clog << "send: '" << status.str() << "'" << endl;
 +      pkgFailures++;
 +      WriteApportReport(list[1], list[3]);
        return;
     }
     if(strncmp(action,"conffile",strlen("conffile")) == 0)
@@@ -563,11 -587,6 +598,11 @@@ static int racy_pselect(int nfds, fd_se
  */
  bool pkgDPkgPM::Go(int OutStatusFd)
  {
 +   fd_set rfds;
 +   struct timespec tv;
 +   sigset_t sigmask;
 +   sigset_t original_sigmask;
 +
     unsigned int MaxArgs = _config->FindI("Dpkg::MaxArgs",8*1024);   
     unsigned int MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes",32*1024);
     bool NoTriggers = _config->FindB("DPkg::NoTriggers",false);
@@@ -617,12 -636,6 +652,6 @@@
        },
     };
  
-    // populate the "processing" map
-    PackageProcessingOps.insert( make_pair("install",N_("Installing %s")) );
-    PackageProcessingOps.insert( make_pair("configure",N_("Configuring %s")) );
-    PackageProcessingOps.insert( make_pair("remove",N_("Removing %s")) );
-    PackageProcessingOps.insert( make_pair("trigproc",N_("Running post-installation trigger %s")) );
-    
     // init the PackageOps map, go over the list of packages that
     // that will be [installed|configured|removed|purged] and add
     // them to the PackageOps map (the dpkg states it goes through)
@@@ -760,6 -773,9 +789,9 @@@
        sighandler_t old_SIGQUIT = signal(SIGQUIT,SIG_IGN);
        sighandler_t old_SIGINT = signal(SIGINT,SIG_IGN);
  
+       // ignore SIGHUP as well (debian #463030)
+       sighandler_t old_SIGHUP = signal(SIGHUP,SIG_IGN);
+ 
        struct	termios tt;
        struct	termios tt_out;
        struct	winsize win;
@@@ -782,14 -798,7 +814,14 @@@
  	 rtt = tt;
  	 cfmakeraw(&rtt);
  	 rtt.c_lflag &= ~ECHO;
 +	 // block SIGTTOU during tcsetattr to prevent a hang if
 +	 // the process is a member of the background process group
 +	 // http://www.opengroup.org/onlinepubs/000095399/functions/tcsetattr.html
 +	 sigemptyset(&sigmask);
 +	 sigaddset(&sigmask, SIGTTOU);
 +	 sigprocmask(SIG_BLOCK,&sigmask, &original_sigmask);
  	 tcsetattr(0, TCSAFLUSH, &rtt);
 +	 sigprocmask(SIG_SETMASK, &original_sigmask, 0);
        }
  
         // Fork dpkg
@@@ -856,6 -865,10 +888,6 @@@
  	 close(slave);
  
        // setups fds
 -      fd_set rfds;
 -      struct timespec tv;
 -      sigset_t sigmask;
 -      sigset_t original_sigmask;
        sigemptyset(&sigmask);
        sigprocmask(SIG_BLOCK,&sigmask,&original_sigmask);
  
@@@ -871,8 -884,10 +903,9 @@@
  	    // Restore sig int/quit
  	    signal(SIGQUIT,old_SIGQUIT);
  	    signal(SIGINT,old_SIGINT);
+ 	    signal(SIGHUP,old_SIGHUP);
  	    return _error->Errno("waitpid","Couldn't wait for subprocess");
  	 }
 -
  	 // wait for input or output here
  	 FD_ZERO(&rfds);
  	 if (!stdin_is_dev_null)
@@@ -909,6 -924,7 +942,7 @@@
        // Restore sig int/quit
        signal(SIGQUIT,old_SIGQUIT);
        signal(SIGINT,old_SIGINT);
+       signal(SIGHUP,old_SIGHUP);
  
        if(master >= 0) 
        {
@@@ -945,6 -961,8 +979,8 @@@
  
     if (RunScripts("DPkg::Post-Invoke") == false)
        return false;
+ 
+    Cache.writeStateFile(NULL);
     return true;
  }
  									/*}}}*/
@@@ -956,133 -974,3 +992,133 @@@ void pkgDPkgPM::Reset(
     List.erase(List.begin(),List.end());
  }
  									/*}}}*/
 +// pkgDpkgPM::WriteApportReport - write out error report pkg failure	/*{{{*/
 +// ---------------------------------------------------------------------
 +/* */
 +void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) 
 +{
 +   string pkgname, reportfile, srcpkgname, pkgver, arch;
 +   string::size_type pos;
 +   FILE *report;
 +
 +   if (_config->FindB("Dpkg::ApportFailureReport",true) == false)
 +   {
 +      std::clog << "configured to not write apport reports" << std::endl;
 +      return;
 +   }
 +
 +   // only report the first errors
 +   if(pkgFailures > _config->FindI("APT::Apport::MaxReports", 3))
 +   {
 +      std::clog << _("No apport report written because MaxReports is reached already") << std::endl;
 +      return;
 +   }
 +
 +   // check if its not a follow up error 
 +   const char *needle = dgettext("dpkg", "dependency problems - leaving unconfigured");
 +   if(strstr(errormsg, needle) != NULL) {
 +      std::clog << _("No apport report written because the error message indicates its a followup error from a previous failure.") << std::endl;
 +      return;
 +   }
 +
 +   // do not report disk-full failures 
 +   if(strstr(errormsg, strerror(ENOSPC)) != NULL) {
 +      std::clog << _("No apport report written because the error message indicates a disk full error") << std::endl;
 +      return;
 +   }
 +
 +   // get the pkgname and reportfile
 +   pkgname = flNotDir(pkgpath);
 +   pos = pkgname.find('_');
 +   if(pos != string::npos)
 +      pkgname = pkgname.substr(0, pos);
 +
 +   // find the package versin and source package name
 +   pkgCache::PkgIterator Pkg = Cache.FindPkg(pkgname);
 +   if (Pkg.end() == true)
 +      return;
 +   pkgCache::VerIterator Ver = Cache.GetCandidateVer(Pkg);
 +   if (Ver.end() == true)
 +      return;
 +   pkgver = Ver.VerStr() == NULL ? "unknown" : Ver.VerStr();
 +   pkgRecords Recs(Cache);
 +   pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
 +   srcpkgname = Parse.SourcePkg();
 +   if(srcpkgname.empty())
 +      srcpkgname = pkgname;
 +
 +   // if the file exists already, we check:
 +   // - if it was reported already (touched by apport). 
 +   //   If not, we do nothing, otherwise
 +   //    we overwrite it. This is the same behaviour as apport
 +   // - if we have a report with the same pkgversion already
 +   //   then we skip it
 +   reportfile = flCombine("/var/crash",pkgname+".0.crash");
 +   if(FileExists(reportfile))
 +   {
 +      struct stat buf;
 +      char strbuf[255];
 +
 +      // check atime/mtime
 +      stat(reportfile.c_str(), &buf);
 +      if(buf.st_mtime > buf.st_atime)
 +	 return;
 +
 +      // check if the existing report is the same version
 +      report = fopen(reportfile.c_str(),"r");
 +      while(fgets(strbuf, sizeof(strbuf), report) != NULL)
 +      {
 +	 if(strstr(strbuf,"Package:") == strbuf)
 +	 {
 +	    char pkgname[255], version[255];
 +	    if(sscanf(strbuf, "Package: %s %s", pkgname, version) == 2)
 +	       if(strcmp(pkgver.c_str(), version) == 0)
 +	       {
 +		  fclose(report);
 +		  return;
 +	       }
 +	 }
 +      }
 +      fclose(report);
 +   }
 +
 +   // now write the report
 +   arch = _config->Find("APT::Architecture");
 +   report = fopen(reportfile.c_str(),"w");
 +   if(report == NULL)
 +      return;
 +   if(_config->FindB("DPkgPM::InitialReportOnly",false) == true)
 +      chmod(reportfile.c_str(), 0);
 +   else
 +      chmod(reportfile.c_str(), 0600);
 +   fprintf(report, "ProblemType: Package\n");
 +   fprintf(report, "Architecture: %s\n", arch.c_str());
 +   time_t now = time(NULL);
 +   fprintf(report, "Date: %s" , ctime(&now));
 +   fprintf(report, "Package: %s %s\n", pkgname.c_str(), pkgver.c_str());
 +   fprintf(report, "SourcePackage: %s\n", srcpkgname.c_str());
 +   fprintf(report, "ErrorMessage:\n %s\n", errormsg);
 +
 +   // ensure that the log is flushed
 +   if(term_out)
 +      fflush(term_out);
 +
 +   // attach terminal log it if we have it
 +   string logfile_name = _config->FindFile("Dir::Log::Terminal");
 +   if (!logfile_name.empty())
 +   {
 +      FILE *log = NULL;
 +      char buf[1024];
 +
 +      fprintf(report, "DpkgTerminalLog:\n");
 +      log = fopen(logfile_name.c_str(),"r");
 +      if(log != NULL)
 +      {
 +	 while( fgets(buf, sizeof(buf), log) != NULL)
 +	    fprintf(report, " %s", buf);
 +	 fclose(log);
 +      }
 +   }
 +   fclose(report);
 +}
 +									/*}}}*/
diff --combined apt-pkg/deb/dpkgpm.h
index 51668bdf7,ebc7e32bf..62d3d893d
--- a/apt-pkg/deb/dpkgpm.h
+++ b/apt-pkg/deb/dpkgpm.h
@@@ -31,7 -31,6 +31,7 @@@ class pkgDPkgPM : public pkgPackageMana
     FILE *term_out;
     
     protected:
 +   int pkgFailures;
  
     // progress reporting
     struct DpkgState 
@@@ -48,8 -47,6 +48,12 @@@
     // the int is the state that is already done (e.g. a package that is
     // going to be install is already in state "half-installed")
     map<string,unsigned int> PackageOpsDone;
-    // map the dpkg "processing" info to human readable names
++
++
++#if 1 // FIXME: BINARY COMPATIBILITY ONLY, remove on next ABI break
 +   map<string,string> PackageProcessingOps;
++#endif
++
     // progress reporting
     unsigned int PackagesDone;
     unsigned int PackagesTotal;
@@@ -70,9 -67,6 +74,9 @@@
     bool RunScriptsWithPkgs(const char *Cnf);
     bool SendV2Pkgs(FILE *F);
  
 +   // apport integration
 +   void WriteApportReport(const char *pkgpath, const char *errormsg);
 +
     // dpkg log
     bool OpenLog();
     bool CloseLog();
diff --combined apt-pkg/depcache.cc
index 17864c76c,2411bfe89..8584419e1
--- a/apt-pkg/depcache.cc
+++ b/apt-pkg/depcache.cc
@@@ -1001,7 -1001,7 +1001,7 @@@ void pkgDepCache::MarkInstall(PkgIterat
   	    if(Pkg.Section() && ConfigValueInSubTree("APT::Never-MarkAuto-Sections", Pkg.Section()))
   	    {
   	       if(_config->FindB("Debug::pkgDepCache::AutoInstall",false) == true)
-  		  std::clog << "Setting NOT as auto-installed (direct dep of pkg in APT::Never-MarkAuto-Section)" << std::endl;
+  		  std::clog << "Setting NOT as auto-installed (direct dep of pkg in APT::Never-MarkAuto-Sections)" << std::endl;
   	       MarkInstall(InstPkg,true,Depth + 1, true);
   	    }
   	    else 
@@@ -1461,4 -1461,3 +1461,4 @@@ bool pkgDepCache::Sweep(
  
     return true;
  }
 +
diff --combined cmdline/apt-cache.cc
index 11bc4fe03,4431fd4f9..425df6994
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@@ -102,13 -102,15 +102,13 @@@ bool UnMet(CommandLine &CmdL
  	    if (End->Type != pkgCache::Dep::PreDepends &&
  		End->Type != pkgCache::Dep::Depends && 
  		End->Type != pkgCache::Dep::Suggests &&
 -		End->Type != pkgCache::Dep::Recommends &&
 -		End->Type != pkgCache::Dep::DpkgBreaks)
 +	        End->Type != pkgCache::Dep::Recommends)
  	       continue;
  
  	    // Important deps only
  	    if (Important == true)
  	       if (End->Type != pkgCache::Dep::PreDepends &&
 -		   End->Type != pkgCache::Dep::Depends &&
 -		   End->Type != pkgCache::Dep::DpkgBreaks)
 +	           End->Type != pkgCache::Dep::Depends)
  		  continue;
  	    
  	    // Verify the or group
@@@ -555,7 -557,6 +555,7 @@@ bool Depends(CommandLine &CmdL
     
     bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
     bool Installed = _config->FindB("APT::Cache::Installed",false);
 +   bool Important = _config->FindB("APT::Cache::Important",false);
     bool DidSomething;
     do
     {
@@@ -578,12 -579,7 +578,12 @@@
  	 
  	 for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++)
  	 {
 -
 +	    // Important deps only
 +	    if (Important == true)
 +	       if (D->Type != pkgCache::Dep::PreDepends &&
 +		   D->Type != pkgCache::Dep::Depends)
 +		  continue;
 +		  
  	    pkgCache::PkgIterator Trg = D.TargetPkg();
  
  	    if((Installed && Trg->CurrentVer != 0) || !Installed)
@@@ -1533,8 -1529,7 +1533,8 @@@ bool Policy(CommandLine &CmdL
  	 if (SrcList->FindIndex(F,Indx) == false &&
  	     _system->FindIndex(F,Indx) == false)
  	    return _error->Error(_("Cache is out of sync, can't x-ref a package file"));
 -	 printf(_("%4i %s\n"),
 +	 
 +	 printf("%4i %s\n",
  		Plcy.GetPriority(F),Indx->Describe(true).c_str());
  	 
  	 // Print the reference information for the package
@@@ -1744,8 -1739,8 +1744,8 @@@ bool ShowHelp(CommandLine &Cmd
        "   show - Show a readable record for the package\n"
        "   depends - Show raw dependency information for a package\n"
        "   rdepends - Show reverse dependency information for a package\n"
-       "   pkgnames - List the names of all packages\n"
-       "   dotty - Generate package graphs for GraphVis\n"
+       "   pkgnames - List the names of all packages in the system\n"
+       "   dotty - Generate package graphs for GraphViz\n"
        "   xvcg - Generate package graphs for xvcg\n"
        "   policy - Show policy settings\n"
        "\n"
diff --combined cmdline/apt-get.cc
index bc9828db1,5fbe21eed..bd95e917b
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@@ -1721,6 -1721,7 +1721,7 @@@ bool DoInstall(CommandLine &CmdL
  	      "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;
@@@ -1729,6 -1730,7 +1730,7 @@@
  		 "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;
@@@ -2095,33 -2097,6 +2097,33 @@@ bool DoSource(CommandLine &CmdL
        if (Last == 0)
  	 return _error->Error(_("Unable to find a source package for %s"),Src.c_str());
        
 +      string srec = Last->AsStr();
 +      string::size_type pos = srec.find("\nVcs-");
 +      while (pos != string::npos)
 +      {
 +	 pos += strlen("\nVcs-");
 +	 string vcs = srec.substr(pos,srec.find(":",pos)-pos);
 +	 if(vcs == "Browser") 
 +	 {
 +	    pos = srec.find("\nVcs-", pos);
 +	    continue;
 +	 }
 +	 pos += vcs.length()+2;
 +	 string::size_type epos = srec.find("\n", pos);
 +	 string uri = srec.substr(pos,epos-pos).c_str();
 +	 ioprintf(c1out, _("NOTICE: '%s' packaging is maintained in "
 +			   "the '%s' version control system at:\n"
 +			   "%s\n"),
 +		  Src.c_str(), vcs.c_str(), uri.c_str());
 +	 if(vcs == "Bzr") 
 +	    ioprintf(c1out,_("Please use:\n"
 +			     "bzr get %s\n"
 +			     "to retrieve the latest (possible unreleased) "
 +			     "updates to the package.\n"),
 +		     uri.c_str());
 +	 break;
 +      }
 +
        // Back track
        vector<pkgSrcRecords::File> Lst;
        if (Last->Files(Lst) == false)
@@@ -2540,8 -2515,6 +2542,8 @@@ bool DoBuildDep(CommandLine &CmdL
              {
                 // We successfully installed something; skip remaining alternatives
                 skipAlternatives = hasAlternatives;
 +	       if(_config->FindB("APT::Get::Build-Dep-Automatic", true) == true)
 +		  Cache->MarkAuto(Pkg, true);
                 continue;
              }
              else if (hasAlternatives)
diff --combined cmdline/apt-key
index de04d16da,7bb30240e..26aa55633
--- a/cmdline/apt-key
+++ b/cmdline/apt-key
@@@ -1,6 -1,7 +1,7 @@@
  #!/bin/sh
  
  set -e
+ unset GREP_OPTIONS
  
  # We don't use a secret keyring, of course, but gpg panics and
  # implodes if there isn't one available
@@@ -9,10 -10,13 +10,10 @@@ GPG_CMD="gpg --ignore-time-conflict --n
  GPG="$GPG_CMD --keyring /etc/apt/trusted.gpg"
  
  
 -MASTER_KEYRING=""
 -ARCHIVE_KEYRING_URI=""
 -#MASTER_KEYRING=/usr/share/keyrings/debian-master-keyring.gpg
 -#ARCHIVE_KEYRING_URI=http://ftp.debian.org/debian/debian-archive-keyring.gpg
 -
 -ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg
 -REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg
 +MASTER_KEYRING=/usr/share/keyrings/ubuntu-master-keyring.gpg
 +ARCHIVE_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg
 +REMOVED_KEYS=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
 +ARCHIVE_KEYRING_URI=http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg
  
  add_keys_with_verify_against_master_keyring() {
      ADD_KEYRING=$1
@@@ -76,14 -80,14 +77,14 @@@ net_update() 
  update() {
      if [ ! -f $ARCHIVE_KEYRING ]; then
  	echo >&2 "ERROR: Can't find the archive-keyring"
 -	echo >&2 "Is the debian-archive-keyring package installed?"
 +	echo >&2 "Is the ubuntu-keyring package installed?"
  	exit 1
      fi
  
      # add new keys from the package;
  
      # we do not use add_keys_with_verify_against_master_keyring here,
 -    # because "update" is run on regular package updates.  A
 +    # because we "update" is run on regular package updates.  A
      # attacker might as well replace the master-archive-keyring file
      # in the package and add his own keys. so this check wouldn't
      # add any security. we *need* this check on net-update though
@@@ -111,6 -115,8 +112,8 @@@ usage() 
      echo "  apt-key update              - update keys using the keyring package"
      echo "  apt-key net-update          - update keys using the network"
      echo "  apt-key list                - list keys"
+     echo "  apt-key finger              - list fingerprints"
+     echo "  apt-key adv                 - pass advanced options to gpg (download key)"
      echo
  }
  
diff --combined cmdline/makefile
index c795921c1,3260e375b..5ae6fb0f1
--- a/cmdline/makefile
+++ b/cmdline/makefile
@@@ -7,42 -7,42 +7,42 @@@ include ../buildlib/defaults.ma
  
  # The apt-cache program
  PROGRAM=apt-cache
- SLIBS = -lapt-pkg
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = apt-cache.cc
  include $(PROGRAM_H)
  
  # The apt-get program
  PROGRAM=apt-get
- SLIBS = -lapt-pkg -lutil
+ SLIBS = -lapt-pkg -lutil $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = apt-get.cc acqprogress.cc
  include $(PROGRAM_H)
  
  # The apt-config program
  PROGRAM=apt-config
- SLIBS = -lapt-pkg
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = apt-config.cc
  include $(PROGRAM_H)
  
  # The apt-cdrom program
  PROGRAM=apt-cdrom
- SLIBS = -lapt-pkg
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = apt-cdrom.cc 
  include $(PROGRAM_H)
  
  # The apt-sortpkgs program
  PROGRAM=apt-sortpkgs
- SLIBS = -lapt-pkg
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = apt-sortpkgs.cc
  include $(PROGRAM_H)
  
  # The apt-extracttemplates program
  PROGRAM=apt-extracttemplates
- SLIBS = -lapt-pkg -lapt-inst
+ SLIBS = -lapt-pkg -lapt-inst $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = apt-extracttemplates.cc 
  include $(PROGRAM_H)
@@@ -58,9 -58,3 +58,9 @@@ SOURCE=apt-mar
  TO=$(BIN)
  TARGET=program
  include $(COPY_H)
 +
 +# The apt-key program
 +SOURCE=apt-report-mirror-failure
 +TO=$(BIN)
 +TARGET=program
 +include $(COPY_H)
diff --combined configure.in
index aaaa44f43,0ffbc67ff..f3210d425
--- a/configure.in
+++ b/configure.in
@@@ -18,7 -18,7 +18,7 @@@ AC_CONFIG_AUX_DIR(buildlib
  AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
  
  dnl -- SET THIS TO THE RELEASE VERSION --
- AC_DEFINE_UNQUOTED(VERSION,"0.7.14ubuntu7")
 -AC_DEFINE_UNQUOTED(VERSION,"0.7.18")
++AC_DEFINE_UNQUOTED(VERSION,"0.7.19ubuntu1")
  PACKAGE="apt"
  AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
  AC_SUBST(PACKAGE)
diff --combined debian/apt.cron.daily
index a5c646d92,32fbafc57..f4eb6117a
--- a/debian/apt.cron.daily
+++ b/debian/apt.cron.daily
@@@ -147,7 -147,7 +147,7 @@@ check_size_constraints(
      fi
  }
  
- # sleep for a random intervall of time (default 30min)
+ # sleep for a random interval of time (default 30min)
  # (some code taken from cron-apt, thanks)
  random_sleep()
  {
@@@ -175,10 -175,16 +175,10 @@@ DownloadUpgradeableInterval=
  eval $(apt-config shell UpdateInterval APT::Periodic::Update-Package-Lists DownloadUpgradeableInterval APT::Periodic::Download-Upgradeable-Packages)
  AutocleanInterval=$DownloadUpgradeableInterval
  eval $(apt-config shell AutocleanInterval APT::Periodic::AutocleanInterval)
 +
  UnattendedUpgradeInterval=0
  eval $(apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)
  
 -# check if we actually have to do anything
 -if [ $UpdateInterval -eq 0 ] &&
 -   [ $DownloadUpgradeableInterval -eq 0 ] &&
 -   [ $UnattendedUpgradeInterval -eq 0 ] &&
 -   [ $AutocleanInterval -eq 0 ]; then
 -    exit 0
 -fi
  
  # laptop check, on_ac_power returns:
  #       0 (true)    System is on mains power
@@@ -192,52 -198,28 +192,52 @@@ if which on_ac_power >/dev/null; the
      fi
  fi
  
 -# sleep random amount of time to avoid hitting the 
 -# mirrors at the same time
 +# check if we can lock the cache and if the cache is clean
 +# There's a reasonable chance that someone is already running an apt
 +# frontend that has locked the cache, so exit quietly if it is locked.
 +if ! apt-get check -q -q 2>/dev/null; then
 +    exit 0
 +fi
 +
 +# sleep random amount of time
  random_sleep
  
 -# check if we can access the cache
 +# check again if we can access the cache
  if ! apt-get check -q -q 2>/dev/null; then
 -    # wait random amount of time before retrying
 -    random_sleep
 -    # check again
 -    if ! apt-get check -q -q 2>/dev/null; then
 -	echo "$0: could not lock the APT cache while performing daily cron job. "
 -	echo "Is another package manager working?"
 -	exit 1
 -    fi
 +    exit 1
 +fi
 +
 +# set the proxy based on the admin users gconf settings
 +admin_user=$(getent group admin|cut -d: -f4|cut -d, -f1)
 +if [ -n "$admin_user" ] && [ -x /usr/bin/sudo ] && [ -z "$http_proxy" ] && [ -x /usr/bin/gconftool ]; then
 +	use=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/use_http_proxy)
 +	host=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/host)
 +	port=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/port)
 +	if [ "$use" = "true" ] && [ -n "$host" ] && [ -n "$port" ]; then
 +		export http_proxy="http://$host:$port/"
 +	fi
 +fi
 +
 +# sleep random amount of time
 +random_sleep
 +
 +# check again if we can access the cache
 +if ! apt-get check -q -q 2>/dev/null; then
 +    exit 1
  fi
  
  UPDATE_STAMP=/var/lib/apt/periodic/update-stamp
  if check_stamp $UPDATE_STAMP $UpdateInterval; then
 -    if apt-get -qq update 2>/dev/null; then
 -        if which dbus-send >/dev/null && pidof dbus-daemon >/dev/null; then
 -            dbus-send --system / app.apt.dbus.updated boolean:true
 -        fi
 +    # check for a new archive signing key (against the master keyring)
 +    apt-key net-update
 +    # now run the update
 +    if apt-get -qq update -o APT::Update::Auth-Failure::="cp /usr/share/apt/apt-auth-failure.note /var/lib/update-notifier/user.d/" 2>/dev/null; then 
 +	# Could possible test access to '/var/run/dbus/system_bus_socket' has well,
 +	# but I'm not sure how stable the internal pipe location is defined as
 +	# being;  so for the moment just 2>/dev/null . --sladen 2007-09-27
 +	if which dbus-send >/dev/null; then
 +	    dbus-send --system / app.apt.dbus.updated boolean:true 2>/dev/null || true
 +	fi
          update_stamp $UPDATE_STAMP
      fi
  fi
diff --combined debian/apt.dirs
index 2db8dca9a,47f60e7e3..747a8e3fd
--- a/debian/apt.dirs
+++ b/debian/apt.dirs
@@@ -7,7 -7,7 +7,8 @@@ etc/apt/sources.list.
  etc/logrotate.d
  var/cache/apt/archives/partial
  var/lib/apt/lists/partial
 +var/lib/apt/mirrors/partial
  var/lib/apt/periodic
  var/log/apt
  usr/share/bug/apt
+ usr/share/lintian/overrides
diff --combined debian/changelog
index 042603ae6,c60050fd4..acc413bea
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,100 -1,304 +1,407 @@@
++apt (0.7.19ubuntu1) jaunty; urgency=low
++
++  * merge from debian
++
++ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 24 Nov 2008 10:52:20 +0100
++
+ apt (0.7.19) unstable; urgency=low
+ 
+   [ Eugene V. Lyubimkin ]
+   * doc/sources.list.5.xml:
+     - Mentioned allowed characters in file names in /etc/apt/sources.list.d.
+       Thanks to Matthias Urlichs. (Closes: #426913)
+   * doc/apt-get.8.xml:
+     - Explicitly say that 'dist-upgrade' command may remove packages.
+     - Included '-v'/'--version' as a command to synopsis.
+   * cmdline/apt-cache.cc:
+     - Advanced built-in help. Patch by Andre Felipe Machado. (Closes: #286061)
+     - Fixed typo 'GraphVis' -> 'GraphViz'. (Closes: #349038)
+     - Removed asking to file a release-critical bug against a package if there
+       is a request to install only one package and it is not installable.
+       (Closes: #419521)
+ 
+ 
+   [ Michael Vogt ]
+     - fix SIGHUP handling (closes: #463030)
+ 
+   [ Christian Perrier ]
+   * Translations:
+     - French updated
+     - Bulgarian updated. Closes: #505476
+     - Slovak updated. Closes: #505483
+     - Swedish updated. Closes: #505491
+     - Japanese updated. Closes: #505495
+     - Korean updated. Closes: #505506
+     - Catalan updated. Closes: #505513
+     - British English updated. Closes: #505539
+     - Italian updated. Closes: #505518, #505683
+     - Polish updated. Closes: #505569
+     - German updated. Closes: #505614
+     - Spanish updated. Closes: #505757
+     - Romanian updated. Closes: #505762
+     - Simplified Chinese updated. Closes: #505727
+     - Portuguese updated. Closes: #505902
+     - Czech updated. Closes: #505909
+     - Norwegian Bokmål updated. Closes: #505934
+     - Brazilian Portuguese updated. Closes: #505949
+     - Basque updated. Closes: #506085
+     - Russian updated. Closes: #506452 
+     - Marathi updated. 
+     - Ukrainian updated. Closes: #506545 
+ 
+  -- Michael Vogt <mvo@debian.org>  Mon, 24 Nov 2008 10:33:54 +0100
+ 
+ apt (0.7.18) unstable; urgency=low
+ 
+   [ Christian Perrier ]
+   * Translations:
+     - French updated
+     - Thai updated. Closes: #505067
+ 
+   [ Eugene V. Lyubimkin ]
+   * doc/examples/configure-index:
+     - Removed obsoleted header line. (Closes: #417638)
+     - Changed 'linux-kernel' to 'linux-image'.
+   * doc/sources.list.5.xml:
+     - Fixed typo and grammar in 'sources.list.d' section. Thanks to
+       Timothy G Abbott <tabbott@MIT.EDU>. (Closes: #478098)
+   * doc/apt-get.8.xml:
+     - Advanced descriptions for 'remove' and 'purge' options.
+       (Closes: #274283)
+   * debian/rules:
+     - Target 'apt' need to depend on 'build-doc'. Thanks for Peter Green.
+       Fixes FTBFS. (Closes: #504181)
+ 
+   [ Michael Vogt ]
+   * fix depend on libdb4.4 (closes: #501253)
+ 
+  -- Michael Vogt <mvo@debian.org>  Fri, 07 Nov 2008 22:13:39 +0100
+ 
+ apt (0.7.17) unstable; urgency=low
+ 
+   [ Eugene V. Lyubimkin ]
+   * debian/control:
+     - 'Vcs-Bzr' field is official, used it.
+     - Bumped 'Standards-Version' to 3.8.0, no changes needed.
+     - Actualized 'Uploaders' field.
+   * doc/:
+     - Substituded 'apt-archive' with 'apt-ftparchive' in docs.
+       Patch based on work of Andre Felipe Machado. (Closes: #350865)
+     - Mentioned '/<release>' and '=<version>' for 'apt-get install' and
+       '=<version>' for 'apt-get source' in apt-get manpage. Patch based on
+       work of Andre Felipe Machado. (Closes: #399673)
+     - Mentioned more short options in the apt-get manpage. Documented 'xvcg'
+       option in the apt-cache manpage. The part of patch by Andre Felipe
+       Machado. (Closes: #176106, #355945)
+     - Documented that 'apt-get install' command should be used for upgrading
+       some of installed packages. Based on patch by Nori Heikkinen and
+       Andre Felipe Machado. (Closes: #267087)
+     - Mentioned 'apt_preferences(5)' in apt manpage. (Closes: #274295)
+     - Documented 'APT::Default-Release' in apt.conf manpage. (Closes: #430399)
+     - APT::Install-Recommends is now true by default, mentioned this in
+       configure-index example. (Closes: #463268)
+     - Added 'APT::Get::AllowUnauthenticated' to configure-index example.
+       (Closes: #320225)
+     - Documented '--no-install-recommends' option in apt-get manpage.
+       (Closes: #462962)
+     - Documented 'Acquire::PDiffs' in apt.conf manpage. (Closes: #376029)
+     - Added 'copy', 'rsh', 'ssh' to the list of recognized URI schemes in
+       sources.list manpage, as they are already described under in the manpage.
+     - Removed notice that ssh/rsh access cannot use password authentication
+       from sources.list manpage. Thanks to Steffen Joeris. (Closes: #434894)
+     - Added '(x)' to some referrings to manpages in apt-get manpage. Patch by
+       Andre Felipe Machado. (Closes: #309893)
+     - Added 'dist-upgrade' apt-get synopsis in apt-get manpage.
+       (Closes: #323866)
+ 
+  -- Michael Vogt <mvo@debian.org>  Wed, 05 Nov 2008 13:14:56 +0100
+ 
+ apt (0.7.17~exp4) experimental; urgency=low
+ 
+   * debian/rules:
+     - Fixed lintian warnings "debian/rules ignores make errors".
+   * debian/control:
+     - Substituted outdated "Source-Version" fields with "binary:Version".
+     - Added 'python-apt' to Suggests, as apt-mark need it for work.
+     - Drop Debian revision from 'doc-base' build dependency, this fixes
+       appropriate lintian warning.
+   * debian/libapt-pkg-doc.doc-base.*:
+     - Changed section: from old 'Devel' to 'Debian'. This fixes appropriate
+       lintian warnings.
+   * debian/{postrm,prerm,preinst}:
+     - Added 'set -e', fixes lintian warnings
+       'maintainer-script-ignores-error'.
+   * dselect/makefile:
+     - Removed unneeded 'LOCAL' entry. This allows cleaning rule to run smoothly.
+   * share/lintian-overrides:
+     - Added with override of 'apt must depend on python'. Script 'apt-mark'
+       needs apt-python for working and checks this on fly. We don't want
+       python in most cases.
+   * cmdline/apt-key:
+     - Added 'unset GREP_OPTIONS' to the script. This prevents 'apt-key update'
+       failure when GREP_OPTIONS contains options that modify grep output.
+       (Closes: #428752)
+ 
+  -- Eugene V. Lyubimkin <jackyf.devel@gmail.com>  Fri, 31 Oct 2008 23:45:17 +0300
+ 
+ apt (0.7.17~exp3) experimental; urgency=low
+ 
+   * apt-pkg/acquire-item.cc:
+     - fix a merge mistake that prevents the fallback to the 
+       uncompressed 'Packages' to work correctly (closes: #409284)
+ 
+  -- Michael Vogt <mvo@debian.org>  Wed, 29 Oct 2008 09:36:24 +0100
+ 
+ apt (0.7.17~exp2) experimental; urgency=low
+ 
+   [ Eugene V. Lyubimkin ]
+   * apt-pkg/acquire-item.cc:
+     - Added fallback to uncompressed 'Packages' if neither 'bz2' nor 'gz'
+       available. (Closes: #409284)
+   * apt-pkg/algorithm.cc:
+     - Strip username and password from source URL in error message.
+       (Closes: #425150)
+   
+   [ Michael Vogt ]
+   * fix various -Wall warnings
+ 
+  -- Michael Vogt <mvo@debian.org>  Tue, 28 Oct 2008 18:06:38 +0100
+ 
+ apt (0.7.17~exp1) experimental; urgency=low
+ 
+   [ Luca Bruno ]
+   * Fix typos:
+     - apt-pkg/depcache.cc
+   * Fix compilation warnings:
+     - apt-pkg/acquire.cc
+     - apt-pkg/versionmatch.cc
+   * Compilation fixes and portability improvement for compiling APT against non-GNU libc
+     (thanks to Martin Koeppe, closes: #392063):
+     - buildlib/apti18n.h.in:
+       + textdomain() and bindtextdomain() must not be visible when --disable-nls
+     - buildlib/inttypes.h.in: undefine standard int*_t types
+     - Append INTLLIBS to SLIBS:
+       + cmdline/makefile
+       + ftparchive/makefile
+       + methods/makefile
+   * doc/apt.conf.5.xml:
+     - clarify whether configuration items of apt.conf are case-sensitive
+       (thanks to Vincent McIntyre, closes: #345901)
+ 
+  -- Luca Bruno <lethalman88@gmail.com>  Sat, 11 Oct 2008 09:17:46 +0200
+ 
+ apt (0.7.16) unstable; urgency=low
+ 
+   [ Luca Bruno ]
+   * doc/apt-cache.8.xml:
+     - search command uses POSIX regex, and searches for virtual packages too
+       (closes: #277536)
+   * doc/offline.sgml: clarify remote and target hosts
+     (thanks to Nikolaus Schulz, closes: #175940)
+   * Fix several typos in docs, translations and debian/changelog
+     (thanks to timeless, Nicolas Bonifas and Josh Triplett,
+     closes: #368665, #298821, #411532, #431636, #461458)
+   * Document apt-key finger and adv commands
+     (thanks to Stefan Schmidt, closes: #350575)
+   * Better documentation for apt-get --option
+     (thanks to Tomas Pospisek, closes: #386579)
+   * Retitle the apt-mark.8 manpage (thanks to Justin Pryzby, closes: #471276)
+   * Better documentation on using both APT::Default-Release and
+     /etc/apt/preferences (thanks to Ingo Saitz, closes: #145575)
+   
+   [ Michael Vogt ]
+   * doc/apt-cache.8.xml:
+     - add missing citerefentry
+ 
+  -- Michael Vogt <mvo@debian.org>  Fri, 10 Oct 2008 23:44:50 +0200
+ 
+ apt (0.7.15) unstable; urgency=low
+ 
+   * Upload to unstable
+ 
+  -- Michael Vogt <mvo@debian.org>  Sun, 05 Oct 2008 13:23:47 +0200
+ 
+ apt (0.7.15~exp3) experimental; urgency=low
+ 
+   [Daniel Burrows]
+   * apt-pkg/deb/dpkgpm.cc:
+     - Store the trigger state descriptions in a way that does not break
+       the ABI.  The approach taken makes the search for a string O(n) rather
+       than O(lg(n)), but since n == 4, I do not consider this a major
+       concern.  If it becomes a concern, we can sort the static array and
+       use std::equal_range().  (Closes: #499322)
+ 
+   [ Michael Vogt ]
+   * apt-pkg/packagemanager.cc, apt-pkg/deb/dpkgpm.cc:
+     - move the state file writting into the Go() implementation
+       of dpkgpm (closes: #498799)
+   * apt-pkg/algorithms.cc:
+     - fix simulation performance drop (thanks to Ferenc Wagner
+       for reporting the issue)
+ 
+  -- Michael Vogt <mvo@debian.org>  Wed, 01 Oct 2008 18:09:49 +0200
+ 
+ apt (0.7.15~exp2) experimental; urgency=low
+ 
+   [ Michael Vogt ]
+   * apt-pkg/pkgcachegen.cc:
+     - do not add multiple identical descriptions for the same 
+       language (closes: #400768)
+ 
+   [ Program translations ]
+   * Catalan updated. Closes: #499462
+ 
+  -- Michael Vogt <mvo@debian.org>  Tue, 23 Sep 2008 07:29:59 +0200
+ 
+ apt (0.7.15~exp1) experimental; urgency=low
+ 
+   [ Christian Perrier ]
+   * Fix typo in cron.daily script. Closes: #486179
+ 
+   [ Program translations ]
+   * Traditional Chinese updated. Closes: #488526
+   * German corrected and completed. Closes: #490532, #480002, #498018
+   * French completed
+   * Bulgarian updated. Closes: #492473
+   * Slovak updated. Closes: #492475
+   * Galician updated. Closes: #492794
+   * Japanese updated. Closes: #492975
+   * Fix missing space in Greek translation. Closes: #493922
+   * Greek updated.
+   * Brazilian Portuguese updated.
+   * Basque updated. Closes: #496754
+   * Romanian updated. Closes: #492773, #488361
+   * Portuguese updated. Closes: #491790
+   * Simplified Chinese updated. Closes: #489344
+   * Norwegian Bokmål updated. Closes: #480022
+   * Czech updated. Closes: #479628, #497277
+   * Korean updated. Closes: #464515
+   * Spanish updated. Closes: #457706
+   * Lithuanian added. Closes: #493328
+   * Swedish updated. Closes: #497496
+   * Vietnamese updated. Closes: #497893
+   * Portuguese updated. Closes: #498411
+   * Greek updated. Closes: #498687
+   * Polish updated.
+ 
+   [ Michael Vogt ]
+   * merge patch that enforces stricter https server certificate
+     checking (thanks to Arnaud Ebalard, closes: #485960)
+   * allow per-mirror specific https settings
+     (thanks to Arnaud Ebalard, closes: #485965)
+   * add doc/examples/apt-https-method-example.cof
+     (thanks to Arnaud Ebalard, closes: #485964)
+   * apt-pkg/depcache.cc:
+     - when checking for new important deps, skip critical ones
+       (closes: #485943)
+   * improve apt progress reporting, display trigger actions
+   * add DPkg::NoTriggers option so that applications that call
+     apt/aptitude (like the installer) defer trigger processing
+     (thanks to Joey Hess)
+   * doc/makefile:
+     - add examples/apt-https-method-example.conf
+   
+  -- Michael Vogt <mvo@debian.org>  Tue, 16 Sep 2008 21:27:03 +0200
+ 
 +apt (0.7.14ubuntu7) jaunty; urgency=low
 +
 +  * cmdline/apt-cache.cc:
 +    - remove the gettext from a string that consists entirely 
 +      of variables (LP: #56792)
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix potential hang when in a backgroud process group
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 28 Oct 2008 21:09:12 +0100
 +
 +apt (0.7.14ubuntu6) intrepid; urgency=low
 +
 +  * debian/apt.conf.autoremove:
 +    - remove "linux-image" (and friends) from the auto-remove
 +      blacklist. we have the kernel fallback infrastructure now
 +      in intrepid (thanks to BenC)
 +  * apt-pkg/indexcopy.cc:
 +    - support having CDs with no Packages file (just a Packages.gz)
 +      by not forcing a verification on non-existing files
 +     (LP: #255545)
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - improve the filtering for duplicated apport reports (thanks
 +      to seb128 for pointing that problem out)
 +    - do not report disk full errors from dpkg via apport
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 07 Aug 2008 16:28:05 +0200
 +
 +apt (0.7.14ubuntu5) intrepid; urgency=low
 +
 +  * fix various -Wall warnings
 +  * make "apt-get build-dep" installed packages marked automatic
 +    by default. This can be changed by setting the value of
 +    APT::Get::Build-Dep-Automatic to false (thanks to Aaron 
 +    Haviland, closes: #44874, LP: #248268)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 06 Aug 2008 14:00:51 +0200
 +
 +apt (0.7.14ubuntu4) intrepid; urgency=low
 +
 +  [ Michael Vogt ]
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix uninitialized variable that caused no apport reports
 +      to be written sometimes (thanks to Matt Zimmerman)
 +  * merge patch that enforces stricter https server certificate
 +    checking (thanks to Arnaud Ebalard, closes: #485960)
 +  * allow per-mirror specific https settings
 +    (thanks to Arnaud Ebalard, closes: #485965)
 +  * add doc/examples/apt-https-method-example.cof
 +    (thanks to Arnaud Ebalard, closes: #485964)
 +  * add DPkg::NoTriggers option so that applications that call
 +    apt/aptitude (like the installer) defer trigger processing
 +    (thanks to Joey Hess) 
 +  * document --install-recommends and --no-install-recommends
 +    (thanks to Dereck Wonnacott, LP: #126180)
 +  
 +  [ Dereck Wonnacott ]
 +  * apt-ftparchive might write corrupt Release files (LP: #46439)
 +  * Apply --important option to apt-cache depends (LP: #16947) 
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 05 Aug 2008 10:10:49 +0200
 +
 +apt (0.7.14ubuntu3) intrepid; urgency=low
 +
 +  [ Otavio Salvador ]
 +  * Apply patch to avoid truncating of arbitrary files. Thanks to Bryan
 +    Donlan <bdonlan@fushizen.net> for the patch. Closes: #482476
 +  * Avoid using dbus if dbus-daemon isn't running. Closes: #438803
 +
 +  [ Michael Vogt ]
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - improve apt progress reporting, display trigger actions
 +  * apt-pkg/depcache.cc:
 +    - when checking for new important deps, skip critical ones
 +      (LP: #236360)
 +  
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 03 Jun 2008 17:27:07 +0200
 +
 +apt (0.7.14ubuntu2) intrepid; urgency=low
 +
 +  * debian/control:
 +    - fix FTBFS by adding missing intltool dependency 
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 09 May 2008 13:50:22 +0200
 +
 +apt (0.7.14ubuntu1) intrepid; urgency=low
 +
 +  [ Michael Vogt ]
 +  * enable installation of recommends by default
 +  * debian/apt.conf.ubuntu:
 +    - remove APT::Install-Recommends-Sections (no longer needed)
 +  * merged from debian/sid, remaining changes:
 +    - authentication-reliable branch (to be merged into debian soon)
 +    - mirror:// uri branch (breaks ABI in debian, not merged yet)
 +    - apport failure reporting
 +    - show warning on apt-get source with 'Vcs-' header
 +    - proxy detection from gconf in apt.cron
 +  
+ apt (0.7.14) unstable; urgency=low
+ 
    [ Christian Perrier ]
    * Mark a message from dselect backend as translatable
      Thanks to Frédéric Bothamy for the patch
@@@ -113,7 -317,7 +420,7 @@@
    * Korean updated. Closes: #479426
    * Basque updated. Closes: #479452
    * Vietnamese updated. Closes: #479748
-   * Russian updated. Closes: #479777
+   * Russian updated. Closes: #479777, #499029
    * Galician updated. Closes: #479792
    * Portuguese updated. Closes: #479847
    * Swedish updated. Closes: #479871
@@@ -162,7 -366,7 +469,7 @@@ apt (0.7.12) unstable; urgency=lo
    * apt-pkg/deb/dpkgpm.cc:
      - merged patch from Kees Cook to fix anoying upper-case display
        on amd64 in sbuild
 -  * apt-pkg/algorithms.cc: 
 +  * apt-pkg/algorithms.cc:
      - add APT::Update::Post-Invoke-Success script slot
      - Make the breaks handling use the kill list. This means, that a
        Breaks: Pkg (<< version) may put Pkg onto the remove list.
@@@ -201,7 -405,7 +508,7 @@@
      - French updated.
      - Bulgarian updated. Closes: #448492
      - Galician updated. Closes: #476839
 -  
 +
    [ Daniel Burrows ]
    * apt-pkg/depcache.cc:
      - Patch MarkInstall to follow currently satisfied Recommends even
@@@ -219,7 -423,7 +526,7 @@@
      - Add missing Build-Depends-Indep on xsltproc, docbook-xsl, and xmlto.
  
   -- Daniel Burrows <dburrows@debian.org>  Sat, 26 Apr 2008 12:24:35 -0700
 -
 +  
  apt (0.7.11) unstable; urgency=critical
    
    [ Raise urgency to critical since it fixes a critical but for Debian
@@@ -278,6 -482,7 +585,6 @@@ apt (0.7.10) unstable; urgency=lo
      - Simplified Chinese updated. Closes: #458039
      - French updated.
      - Norwegian Bokmål updated. Closes: #457917
 -
    [ Michael Vogt ]
    * debian/rules
      - fix https install location
@@@ -292,7 -497,7 +599,7 @@@
      - make the authentication download code more robust against
        servers/proxies with broken If-Range implementations
    * apt-pkg/packagemanager.{cc,h}:
 -    - propergate the Immediate flag to make hitting the 
 +    - propergate the Immediate flag to make hitting the
        "E: Internal Error, Could not perform immediate configuration (2)"
        harder
    * debian/control:
@@@ -306,7 -511,7 +613,7 @@@
      - support lzma data members
    * ftparchive/multicompress.cc:
      - support lzma output
 -  
 +
    [ Daniel Burrows ]
    * apt-pkg/contrib/configuration.cc:
      - if RootDir is set, then FindFile and FindDir will return paths
@@@ -315,270 -520,8 +622,270 @@@
    [ Christian Perrier ]
    * Fix wording for "After unpacking...". Thanks to Michael Gilbert
      for the patch. Closes: #260825
 +  
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 03 Jan 2008 11:31:45 +0100
 +
 +apt (0.7.9ubuntu17) hardy-proposed; urgency=low
 +
 +  * apt-pkg/acquire-item.cc:
 +    - fix signaure removal on transient network failures LP: #220627
 +      (thanks to Scott James Remnant)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 22 Apr 2008 16:32:49 +0200
 +
 +apt (0.7.9ubuntu16) hardy; urgency=low
 +
 +  * cmdline/apt-key:
 +    - only check against master-keys in net-update to not break
 +      custom CDs (thanks to Colin Watson)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 08 Apr 2008 14:17:14 +0200
 +
 +apt (0.7.9ubuntu15) hardy; urgency=low
 +
 +  * cmdline/apt-get.cc:
 +    - do two passes when installing tasks, first ignoring dependencies,
 +      then resolving them and run the problemResolver at the end
 +      so that it can correct any missing dependencies. This should
 +      fix livecd building for kubuntu (thanks to Jonathan Riddell 
 +      for reporting the problem)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 13 Mar 2008 23:25:45 +0100
 +
 +apt (0.7.9ubuntu14) hardy; urgency=low
 +
 +  * cmdline/apt-get.cc:
 +    - fix incorrect help output for -f (LP: #57487)
 +    - run the problemResolver after a task was installed
 +      so that it can correct any missing dependencies
 +  * typo fixes (LP: #107960)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 11 Mar 2008 21:46:07 +0100
 +
 +apt (0.7.9ubuntu13) hardy; urgency=low
 +
 +  [ Lionel Porcheron ]
 +  * debian/apt.cron.daily:
 +    - only call gconftool if gcontool is installed (LP: #194281)
 +
 +  [ Michael Vogt ]
 +  * doc/apt_preferences.5.xml:
 +    - fix typo (LP: #150900)
 +  * doc/example/sources.list:
 +    - updated for hardy (LP: #195879)
 +  * debian/apt.cron.daily:
 +    - sleep random amount of time (default within 0-30min) before
 +      starting the upate to hit the mirrors less hard
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 04 Mar 2008 15:35:09 +0100
 +
 +apt (0.7.9ubuntu12) hardy; urgency=low
 +
 +  * debian/apt.cron.daily:
 +    - use admin user proxy settings
 +  * cmdline/apt-get.cc:
 +    - fix task installation (thanks to Colin Watson)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 21 Feb 2008 15:07:44 +0100
 +
 +apt (0.7.9ubuntu11) hardy; urgency=low
 +
 +  * apt-pkg/algorithms.cc: 
 +    - add APT::Update::Post-Invoke-Success script slot
 +      (LP: #188127)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 10 Jan 2008 12:06:12 +0100
 +
 +apt (0.7.9ubuntu10) hardy; urgency=low
 +
 +  * cmdline/apt-key:
 +    - add "net-update" command that fetches the 
 +      ubuntu-archive-keyring.gpg and add keys from it that are 
 +      signed by the ubuntu-master-keyring.gpg 
 +      (apt-archive-key-signatures spec)
 +  * debian/apt.cron.daily:
 +    - add apt-key net-update to the nightly cron job
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 13 Feb 2008 15:50:28 +0100
 +
 +apt (0.7.9ubuntu9) hardy; urgency=low
 +
 +  * fix FTBFS due to incorrect intltool build-depends
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 11 Feb 2008 16:04:37 +0100
 +
 +apt (0.7.9ubuntu8) hardy; urgency=low
 +
 +  * share/apt-auth-failure.note:
 +    - show update-notifier note if the nightly update fails with a
 +      authentication failure (apt-authentication-reliability spec)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 11 Feb 2008 14:04:56 +0100
 +
 +apt (0.7.9ubuntu7) hardy; urgency=low
 +
 +  * methods/connect.cc:
 +    - remember hosts with Resolve failures or connect Timeouts
 +      see https://wiki.ubuntu.com/NetworklessInstallationFixes
 +  * cmdlines/apt-key:
 +    - fix bug in the new apt-key update code that imports only
 +      keys signed with the master key (thanks to cjwatson)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 08 Feb 2008 11:38:35 +0100
 +
 +apt (0.7.9ubuntu6) hardy; urgency=low
 +
 +  * cmdline/apt-key:
 +    - add support for a master-keyring that contains signing keys
 +      that can be used to sign the archive signing keys. This should
 +      make key-rollover easier.
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - merged patch from Kees Cook to fix anoying upper-case display
 +      on amd64 in sbuild
 +  * apt-pkg/algorithms.cc: 
 +    - add APT::Update::Post-Invoke-Success script slot
 +    - Make the breaks handling use the kill list. This means, that a
 +      Breaks: Pkg (<< version) may put Pkg onto the remove list.
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - add APT::Apport::MaxReports to limit the maximum number
 +      of reports generated in a single run (default to 3)
 +  * apt-pkg/deb/debmetaindex.cc:
 +    - add missing "Release" file uri when apt-get update --print-uris
 +      is run
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 04 Feb 2008 14:28:02 +0100
 +
 +apt (0.7.9ubuntu5) hardy; urgency=low
 +
 +  * Merged apt-authentication-reliabilty branch. This means
 +    that apt will refuse to update and use the old lists if
 +    the authentication of a repository that used to be 
 +    authenticated fails. See
 +    https://wiki.ubuntu.com/AptAuthenticationReliability
 +    for more details.
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 16 Jan 2008 10:36:10 +0100
 +
 +apt (0.7.9ubuntu4) hardy; urgency=low
 +
 +  * apt-pkg/algorithms.cc:
 +    - Since APT::Get::List-Cleanup and APT::List-Cleanup both default to
 +      true, the effect of the compatibility code was to require both of them
 +      to be set to false in order to disable list cleanup; this broke the
 +      installer. Instead, disable list cleanup if either of them is set to
 +      false.
 +
 + -- Colin Watson <cjwatson@ubuntu.com>  Wed, 09 Jan 2008 22:34:37 +0000
 +
 +apt (0.7.9ubuntu3) hardy; urgency=low
 +
 +  * merged the apt--DoListUpdate branch, this provides a common interface
 +    for "apt-get update" like operations for the frontends and also provides
 +    hooks to run stuff in APT::Update::{Pre,Post}-Invoke
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 07 Jan 2008 19:02:11 +0100
 +
 +apt (0.7.9ubuntu2) hardy; urgency=low
 +
 +  [ Otavio Salvador ]
 +  * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix building
 +    with newest dpkg-shlibdeps changing the packaging building order and a
 +    patch from Robert Millan <rmh@aybabtu.com> to fix parallel building,
 +    closes: #452862.
 +  * Applied patch from Alexander Winston <alexander.winston@comcast.net>
 +    to use 'min' as symbol for minute, closes: #219034.
 +  * Applied patch from Amos Waterland <apw@us.ibm.com> to allow apt to
 +    work properly in initramfs, closes: #448316.
 +  * Applied patch from Robert Millan <rmh@aybabtu.com> to make apt-key and
 +    apt-get to ignore time conflicts, closes: #451328.
 +  * Applied patch from Peter Eisentraut <peter_e@gmx.net> to fix a
 +    grammatical error ("manual installed" -> "manually installed"),
 +    closes: #438136.
 +  * Fix cron.daily job to not call fail if apt isn't installed, closes:
 +    #443286.
 +  
 +  [ Daniel Burrows ]
 +  * apt-pkg/contrib/configuration.cc:
 +    - if RootDir is set, then FindFile and FindDir will return paths
 +      relative to the directory stored in RootDir, closes: #456457.
 +
 +  [ Christian Perrier ]
 +  * Fix wording for "After unpacking...". Thans to Michael Gilbert
 +    for the patch. Closes: #260825
 +
 +  [ Program translations ]
 +    - Vietnamese updated. Closes: #453774
 +    - Japanese updated. Closes: #456909
 +    - French updated.
 +
 +  [ Michael Vogt ]
 +  * apt-pkg/packagemanager.{cc,h}:
 +    - propergate the Immediate flag to make hitting the 
 +      "E: Internal Error, Could not perform immediate configuration (2)"
 +      harder. (LP: #179247)
 +  * debian/apt.conf.daily:
 +    - print warning if the cache can not be locked (closes: #454561),
 +      thanks to Bastian Kleineidam
 +  * debian/control:
 +    - build against libdb-dev (instead of libdb4.4-dev)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 03 Jan 2008 11:31:45 +0100
 +
 +apt (0.7.9ubuntu1) hardy; urgency=low
 +
 +  * merged from http://bzr.debian.org/apt/apt/debian-sid/, remaining
 +    changes:
 +    - mirror download method (pending merge with debian)
 +    - no pdiff download by default (unsuitable for ubuntu)
 +    - no recommends-by-default yet
 +    - add "Original-Maintainer" field to tagfile
 +    - show warning on apt-get source if the package is maintained
 +      in a VCS (pedinging merge with debian)
 +    - use ubuntu-archive keyring instead of debians one
 +    - support metapackages section for autoremoval
 +    - debian maintainer field change
 +    - send ubuntu string in user-agent
 +  
 +  * Changes from the debian-sid bzr branch (but not uploaded to debian
 +    yet):
 +  
 +  [ Otavio Salvador ]
 +  * Applied patch from Mike O'Connor <stew@vireo.org> to add a manpage to
 +    apt-mark, closes: #430207.
 +  * Applied patch from Andrei Popescu <andreimpopescu@gmail.com> to add a
 +    note about some frontends in apt.8 manpage, closes: #438545.
 +  * Applied patch from Aurelien Jarno <aurel32@debian.org> to avoid CPU
 +    getting crazy when /dev/null is redirected to stdin (which breaks
 +    buildds), closes: #452858.
 +
 +  [ Program translations ]
 +    - Basque updated. Closes: #453088
 +
 +  [ Michael Vogt ]
 +  * debian/rules
 +    - fix https install location
 +  * methods/gpgv.cc:
 +    - remove cruft code that caused timestamp/I-M-S issues
 +  * ftparchive/contents.cc:
 +    - fix error output
 +  * methods/mirror.{cc,h}:
 +    - only update mirror list on IndexFile updates 
 +  * apt-pkg/acquire-item.{cc,h}:
 +    - make the authentication download code more robust against
 +      servers/proxies with broken If-Range implementations
 +  * debian/control:
 +    - build against libdb-dev (instead of libdb4.4-dev)
 +  * merged the apt--DoListUpdate branch, this provides a common interface
 +    for "apt-get update" like operations for the frontends and also provides
 +    hooks to run stuff in APT::Update::{Pre,Post}-Invoke
 +
 +  [ Chris Cheney ]
 +  * ftparchive/contents.cc:
 +    - support lzma data members
 +  * ftparchive/multicompress.cc:
 +    - support lzma output
  
 - -- Michael Vogt <mvo@debian.org>  Mon, 07 Jan 2008 21:40:47 +0100
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 13 Dec 2007 14:46:27 +0100
  
  apt (0.7.9) unstable; urgency=low
  
@@@ -705,227 -648,39 +1012,227 @@@ apt (0.7.7) unstable; urgency=lo
   
   -- Michael Vogt <mvo@debian.org>  Tue, 23 Oct 2007 14:58:03 +0200
  
 -apt (0.7.6) unstable; urgency=low
 +apt (0.7.6ubuntu14.1) gutsy-proposed; urgency=low
  
 -  * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
 -    directory downloading on non-linux architectures (closes: #435597)
 +  [ Michael Vogt ]
 +  * apt-pkg/deb/dpkgpm.{cc,h}:
 +    - give up timeslice on EIO error in read from master terminal
 +  * debian/apt.cron.daily:
 +    - only run the cron job if apt-get check succeeds (LP: #131719)
  
 - -- Otavio Salvador <otavio@debian.org>  Wed, 01 Aug 2007 19:49:51 -0300
 +  [ Martin Emrich ]  
 +  * apt-pkg/deb/dpkgpm.{cc,h}:
 +    - rewrite dpkgpm.cc to use pselect() instead of select()
 +      to block signals during select() (LP: #134858)
 + 
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Sat, 20 Oct 2007 07:51:12 +0200
  
 -apt (0.7.6) unstable; urgency=low
 +apt (0.7.6ubuntu14) gutsy; urgency=low
  
 -  * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
 -    directory downloading on non-linux architectures (closes: #435597)
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix resource leak (LP: #148806) 
  
 - -- Otavio Salvador <otavio@debian.org>  Wed, 01 Aug 2007 19:49:51 -0300
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 15 Oct 2007 20:57:44 +0200
  
 -apt (0.7.5) unstable; urgency=low
 +apt (0.7.6ubuntu13) gutsy; urgency=low
  
 -  [ Otavio Salvador ]
 -  * Applied patch from Guillem Jover <guillem@debian.org> to use
 -    dpkg-architecture to get the host architecture (closes: #407187)
 -  * Applied patch from Guillem Jover <guillem@debian.org> to add
 -    support to add lzma support (closes: #408201)
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix crash in WriteApportReport (LP: #144537)
 +  * apt-pkg/acquire-item.cc
 +    - fix disappearing local Packages.gz file (LP: #131166)
 +  * methods/https.cc:
 +    - fix off-by-one error I-M-S handling
 +    - cleanup after I-M-S hit
  
 -  [ Michael Vogt ]
 -  * apt-pkg/depcache.cc:
 -    - support a list of sections for:
 -      APT::Install-Recommends-Sections
 -      APT::Never-MarkAuto-Sections
 -  * methods/makefile:
 -    - install lzma symlink method (for full lzma support)
 -  * debian/control:
 -    - suggest "lzma"
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 09 Oct 2007 01:48:26 +0200
  
 - -- Otavio Salvador <otavio@ossystems.com.br>  Wed, 25 Jul 2007 20:16:46 -0300
 +apt (0.7.6ubuntu12) gutsy; urgency=low
 +
 +  [ Michael Vogt ]
 +  * cmdline/apt-mark:
 +    - Fix chmoding after have renamed the extended-states file
 +      (thanks to Laurent Bigonville, LP: #140019)
 +  * apt-pkg/deb/debmetaindex.cc: comparison with string literal results
 +      in unspecified behaviour;
 +  * Reset curl options and timestamp between downloaded files. Thanks to
 +    Ryan Murray <rmurray@debian.org> for the patch
 +
 +  [Paul Sladen]
 +  * Have 'cron.daily/apt' send D-Bus doesn't exist error messages
 +    to the bit bucket.  Thanks to 'dasdda'.  (LP: #115397)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 03 Oct 2007 02:17:45 +0200
 +
 +apt (0.7.6ubuntu11) gutsy; urgency=low
 +
 +  * apt-pkg/contrib/mmap.cc:
 +    - don't fail if msync() returns > 0 (LP: #144001)
 +
 + -- Colin Watson <cjwatson@ubuntu.com>  Sat, 22 Sep 2007 21:39:29 +0100
 +
 +apt (0.7.6ubuntu10) gutsy; urgency=low
 +
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix parse error when dpkg sends unexpected data
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 18 Sep 2007 17:25:09 +0100
 +
 +apt (0.7.6ubuntu9) gutsy; urgency=low
 +
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix progress reporting precent calculation (LP: #137798)
 +  * make apt build with g++ 4.3
 +  * fix missing SetExecClose() call when the status-fd is used
 +    (LP: #136767)
 +  * debian/apt.cron.daily:
 +    - move unattended-upgrade before apt-get autoclean
 +  * fix "purge" commandline argument, closes LP: #125733
 +    (thanks to Julien Danjou for the patch)
 +  * cmdline/apt-get.cc:
 +    - do not change the auto-installed information if a package
 +      is reinstalled (LP: #139448)
 +  
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 11 Sep 2007 20:55:00 +0200
 +
 +apt (0.7.6ubuntu8) gutsy; urgency=low
 +
 +  * apt-pkg/deb/dpkgpm.{cc,h}:
 +    - fix bug in dpkg log writing when a signal is caught during
 +      select() (LP: #134858)
 +    - write end marker in the log as well
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 05 Sep 2007 15:03:46 +0200
 +
 +apt (0.7.6ubuntu7) gutsy; urgency=low
 +
 +  * reupload to fix FTBFS
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 16 Aug 2007 19:44:20 +0200
 +
 +apt (0.7.6ubuntu6) gutsy; urgency=low
 +
 +  * dpkg-triggers: Deal properly with new package states.
 +
 + -- Ian Jackson <iwj@ubuntu.com>  Wed, 15 Aug 2007 20:44:37 +0100
 +
 +apt (0.7.6ubuntu5) UNRELEASED; urgency=low
 +
 +  * apt-pkg/acquire-item.cc:
 +    - fix file removal on local repo i-m-s hit (LP: #131166)
 +  * tests/local-repo:
 +    - added regression test for this bug
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 09 Aug 2007 12:34:07 +0200
 +
 +apt (0.7.6ubuntu4) gutsy; urgency=low
 +
 +  * cmdline/apt-get.cc:
 +    - remove YnPrompt when a XS-Vcs- tag is found, improve the
 +      notice (LP: #129575)
 +  * methods/copy.cc:
 +    - take hashes here too
 +  * apt-pkg/acquire-worker.cc:
 +    - only pass on computed hash if we recived one from the method
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 08 Aug 2007 19:30:29 +0200
 +
 +apt (0.7.6ubuntu3) gutsy; urgency=low
 +
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix packagename extraction when writting apport reports
 +  * apt-pkg/pkgcachegen.cc:
 +    - increase default mmap size (LP: #125640)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 07 Aug 2007 09:52:00 +0200
 +
 +apt (0.7.6ubuntu2) gutsy; urgency=low
 +
 +  * doc/examples/sources.list:
 +    - change example source to gutsy
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - do not break if no /dev/pts is available
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 06 Aug 2007 15:17:57 +0200
 +
 +apt (0.7.6ubuntu1) gutsy; urgency=low
 +
 +  [ Michael Vogt ]
 +  * apt-inst/contrib/extracttar.cc:
 +    - fix fd leak for zero size files (thanks to Bill Broadley for
 +      reporting this bug)
 +  * apt-pkg/acquire-item.cc:
 +    - remove zero size files on I-M-S hit
 +  * methods/https.cc:
 +    - only send LastModified if we actually have a file
 +    - send range request with if-range 
 +    - delete failed downloads
 +    (thanks to Thom May for his help here)
 +    - delete zero size I-M-S hits
 +  * apt-pkg/deb/dpkgpm.{cc,h}:
 +    - merged dpkg-log branch, this lets you specify a 
 +      Dir::Log::Terminal file to log dpkg output to
 +    (ABI break)
 +    - when writting apport reports, attach the dpkg
 +      terminal log too
 +  * merged apt--sha256 branch to fully support the new
 +    sha256 checksums in the Packages and Release files
 +    (ABI break)
 +  * apt-pkg/pkgcachegen.cc:
 +    - increase default mmap size
 +  * tests/local-repo:
 +    - added local repository testcase
 +  * make apt build with g++ 4.3
 +  * fix missing SetExecClose() call when the status-fd is used
 +  * debian/apt.cron.daily:
 +    - move unattended-upgrade before apt-get autoclean
 +  * fix "purge" commandline argument, closes: #133421
 +    (thanks to Julien Danjou for the patch)
 +  * cmdline/apt-get.cc:
 +    - do not change the auto-installed information if a package
 +      is reinstalled
 +  * cmdline/apt-mark:
 +    - Fix chmoding after have renamed the extended-states file (LP: #140019)
 +      (thanks to Laurent Bigonville)
 +
 +  [ Ian Jackson ]
 +  * dpkg-triggers: Deal properly with new package states.
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 02 Aug 2007 11:55:54 +0200
 +
 +apt (0.7.6) unstable; urgency=low
 +
 +  * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
 +    directory downloading on non-linux architectures (closes: #435597)
 +
 + -- Otavio Salvador <otavio@debian.org>  Wed, 01 Aug 2007 19:49:51 -0300
 +
 +apt (0.7.5) unstable; urgency=low
 +
 +  [ Otavio Salvador ]
 +  * Applied patch from Guillem Jover <guillem@debian.org> to use
 +    dpkg-architecture to get the host architecture (closes: #407187)
 +  * Applied patch from Guillem Jover <guillem@debian.org> to add
 +    support to add lzma support (closes: #408201)
 +
 +  [ Michael Vogt ]
 +  * apt-pkg/depcache.cc:
 +    - support a list of sections for:
 +      APT::Install-Recommends-Sections
 +      APT::Never-MarkAuto-Sections
 +  * methods/makefile:
 +    - install lzma symlink method (for full lzma support)
 +  * debian/control:
 +    - suggest "lzma"
 +
 + -- Otavio Salvador <otavio@ossystems.com.br>  Wed, 25 Jul 2007 20:16:46 -0300
 +
 +apt (0.7.4ubuntu1) gutsy; urgency=low
 +
 +  * debian/apt.conf.ubuntu, apt.conf.autoremove:
 +    - Change metapackages to {restricted,universe,multiverse}/metapackages 
 +      in Install-Recommends-Sections and Never-MarkAuto-Sections
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 26 Jul 2007 10:42:29 +0200
  
  apt (0.7.4) unstable; urgency=low
  
@@@ -970,7 -725,7 +1277,7 @@@ apt (0.7.3) unstable; urgency=lo
      Daniel Burrows, closes: #429378)
    * fixes in the auto-mark code (thanks to Daniel
      Burrows)
-   * fix FTFBFS by changing build-depends to
+   * fix FTBFS by changing build-depends to
      libcurl4-gnutls-dev (closes: #428363)
    * cmdline/apt-get.cc:
      - fix InstallTask code when a pkgRecord ends 
@@@ -986,90 -741,6 +1293,90 @@@
            which disappeared from the BZR repositories
  
   -- Michael Vogt <mvo@debian.org>  Sun, 01 Jul 2007 12:31:29 +0200
 +  
 +apt (0.7.2ubuntu7) gutsy; urgency=low
 +
 +  * fix build-dependencies 
 +  * fixes in the auto-mark code (thanks to Daniel
 +    Burrows)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon,  9 Jul 2007 19:02:54 +0200
 +
 +apt (0.7.2ubuntu6) gutsy; urgency=low
 +
 +  [ Michael Vogt]
 +  * cmdline/apt-get.cc:
 +    - make the XS-Vcs-$foo warning more copy'n'paste
 +      friendly (thanks to Matt Zimmerman)
 +    - ignore the Vcs-Browser tag (Fixes LP: #121770)
 +  * debian/apt.conf.autoremove:
 +    - added "linux-ubuntu-modules" to APT::NeverAutoRemove
 +
 +  [ Sarah Hobbs ]
 +  * Change metapackages to *metapackages in Install-Recommends-Section
 +    and Never-MarkAuto-Section of debian/apt.conf.autoremove, so that
 +    the Recommends of metapackages in universe and multiverse will get
 +    installed.
 +  * Also make this change in doc/examples/configure-index.
 +  * Added a Build Dependancies of automake, docbook-xsl, xsltproc, xmlto,
 +    docbook to fix FTBFS.
 +  * Added in previous changelog entries, as those who uploaded did not
 +    actually commit to Bzr.
 +
 + -- Sarah Hobbs <hobbsee@ubuntu.com>  Mon, 09 Jul 2007 01:15:57 +1000
 +
 +apt (0.7.2ubuntu5) gutsy; urgency=low
 +
 +  * Rerun autoconf to fix the FTBFS.
 +
 + -- Michael Bienia <geser@ubuntu.com>  Fri, 06 Jul 2007 19:17:33 +0200
 +
 +apt (0.7.2ubuntu4) gutsy; urgency=low
 +
 +  * Rebuild for the libcurl4 -> libcurl3 transition mess.
 +
 + -- Steve Kowalik <stevenk@ubuntu.com>  Fri,  6 Jul 2007 12:44:05 +1000
 +
 +apt (0.7.2ubuntu3) gutsy; urgency=low
 +
 +  * cmdline/apt-get.cc:
 +    - fix InstallTask code when a pkgRecord ends 
 +      with a single '\n' (thanks to Soren Hansen for reporting)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 27 Jun 2007 13:33:38 +0200
 +
 +apt (0.7.2ubuntu2) gutsy; urgency=low
 +
 +  * fixed compile errors with g++ 4.3 (thanks to 
 +    Daniel Burrows, closes: #429378)
 +  * fix FTFBFS by changing build-depends to
 +    libcurl4-gnutls-dev (closes: #428363)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 19 Jun 2007 13:47:03 +0200
 +
 +apt (0.7.2ubuntu1) gutsy; urgency=low
 +
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - apport integration added, this means that a apport
 +      report is written on dpkg failures
 +  * cmdline/apt-get.cc:
 +    - merged http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/
 +      this will warn when Vcs- headers are found on apt-get source
 +      (Fixes LP:#115959)
 +  * merged from debian/unstable, remaining changes:
 +    - maintainer field changed
 +    - merged the apt--mirror branch 
 +      http://people.ubuntu.com/~mvo/bzr/apt/apt--mirror/
 +    - apport reporting on package install/upgrade/remove failure
 +    - support for "Originial-Maintainer" field
 +    - merged apt--xs-vcs-bzr branch
 +      (http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/)
 +    - use ubuntu archive keyring by default
 +    - debian/apt.conf.autoremove
 +      + install recommands for section "metapackages"
 +      + do not mark direct dependencies of "metapackages" as autoremoved
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 14 Jun 2007 10:38:36 +0200
  
  apt (0.7.2-0.1) unstable; urgency=low
  
@@@ -1118,7 -789,7 +1425,7 @@@ apt (0.7.2) unstable; urgency=lo
  
  apt (0.7.1) experimental; urgency=low
  
-   * ABI library name change because its build against
+   * ABI library name change because it's built against
      new glibc
    * implement SourceVer() in pkgRecords 
       (thanks to Daniel Burrows for the patch!)
@@@ -1137,16 -808,12 +1444,16 @@@
    * methods/cdrom.cc:  
      - only umount if it was mounted by the method before
    * po/gl.po:
 -    - fix error translation that causes trouble to lsb_release
 +    - fix error in translation that causes trouble to lsb_release 
 +      (LP#79165)
    * apt-pkg/acquire-item.cc:
      - if decompression of a index fails, delete the index 
    * apt-pkg/acquire.{cc,h}:
      - deal better with duplicated sources.list entries (avoid
        double queuing of  URLs) - this fixes hangs in bzip/gzip
 +      (LP#102511)
 +  * Fix broken use of awk in apt-key that caused removal of the wrong keys
 +    from the keyring. Closes: #412572
    * merged from Christian Perrier:
      * mr.po: New Marathi translation  Closes: #416806
      * zh_CN.po: Updated by Eric Pareja  Closes: #416822
@@@ -1170,98 -837,11 +1477,98 @@@
  
   -- Michael Vogt <mvo@debian.org>  Wed,  2 May 2007 13:43:44 +0200
  
 +apt (0.6.46.4ubuntu10) feisty; urgency=low
 +
 +  * apt-pkg/depcache.cc:
 +    - added "APT::Never-MarkAuto-Section" and consider dependencies 
 +      of packages in this section manual (LP#59893)
 +    - ensure proper permissions in the extended_state file (LP#67037)
 +  * debian/apt.conf.ubuntu:
 +    - added APT::Never-MarkAuto-Section "metapackages" (LP#59893)
 +  * cmdline/apt-get.cc:
 +    - "apt-get install foo" on a already installed package foo will
 +      clean the automatic installed flag (LP#72007)
 +    - do not show packages already marked for removal as auto-installed
 +      (LP#64493)
 +    - applied patch to (optionally) hide the auto-remove information
 +      (thanks to Frode M. Døving) (LP#69148)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 14 Mar 2007 13:32:32 +0100
 +
 +apt (0.6.46.4ubuntu9) feisty; urgency=low
 +
 +  * debian/control:
 +    - set XS-Vcs-Bzr header
 +    - Set Ubuntu maintainer address
 +  * apt-pkg/cdrom.cc:
 +    - only unmount if APT::CDROM::NoMount is false
 +    - only umount if it was mounted by the method before
 +  * cmdline/apt-get.cc:
 +    - fix version output in autoremove list (LP#68941)
 +  * apt-pkg/packagemanager.cc:
 +    - do not spin 100% cpu in FixMissing() (LP#84476)
 +  * apt-pkg/indexfile.cc:
 +    - fix problem overwriting APT::Acquire::Translation
 +  * doc/examples/configure-index:
 +    - document APT::Acquire::Translation
 +  
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 13 Mar 2007 15:24:39 +0100
 +
 +apt (0.6.46.4ubuntu8) feisty; urgency=low
 +
 +  * fix segfault in the pkgRecords destructor
 +  * Bump ABI version
 +  * debian/control:
 +    - make the libcurl3-gnutls-dev versionized (LP#86614)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 26 Feb 2007 14:26:33 +0100
 +
 +apt (0.6.46.4ubuntu7) feisty; urgency=low
 +
 +  * Merged the apt--mirror branch. This means that a new 'mirror' 
 +    method is available that will allow dynamic mirror updates.
 +    The sources.list entry looks something like this:
 +    "deb mirror://mirrors.lp.net/get_mirror feisty main restricted"
 +
 +    It also supports error reporting to a configurable url for mirror
 +    problems/failures.
 +  * Bump ABI version
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  6 Feb 2007 11:38:06 +0100
 +
 +apt (0.6.46.4ubuntu6) feisty; urgency=low
 +
 +  * methods/http.cc:
 +    - send apt version in User-Agent
 +  * apt-pkg/deb/debrecords.cc:
 +    - fix SHA1Hash() return value
 +  * apt-pkg/algorithms.cc:
 +    - fix resolver bug on removal triggered by weak-dependencies 
 +      with or-groups
 +    - fix segfault (lp: #76530)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 20 Dec 2006 11:04:36 +0100
 +
 +apt (0.6.46.4ubuntu5) feisty; urgency=low
 +
 +  * added apt-transport-https package to provide a optional
 +    https transport (apt-https spec)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 19 Dec 2006 16:23:43 +0100
 +
 +apt (0.6.46.4ubuntu4) feisty; urgency=low
 +  
 +  * apt-pkg/algorithms.cc:
 +    - only increase the score of installed applications if they 
 +      are not obsolete 
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 18 Dec 2006 19:39:05 +0100
 +
  apt (0.7.0) experimental; urgency=low
  
-   * Package that contains tall the new features
+   * Package that contains all the new features
    * Removed all #pragma interface/implementation
-   * Branch that contains tall the new features:
+   * Branch that contains all the new features:
    * translated package descriptions
    * task install support
    * automatic dependency removal (thanks to Daniel Burrows)
@@@ -1274,29 -854,6 +1581,29 @@@
  
   -- Michael Vogt <mvo@debian.org>  Fri, 12 Jan 2007 20:48:07 +0100
  
 +apt (0.6.46.4ubuntu3) feisty; urgency=low
 +
 +  * apt-pkg/algorithm.cc:
 +    - use clog for all debugging
 +  * apt-pkg/depcache.cc:
 +    - never mark Required package for autoremoval (lp: #75882)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 18 Dec 2006 11:56:05 +0100
 +
 +apt (0.6.46.4ubuntu2) feisty; urgency=low
 +
 +  * apt-pkg/algorithms.cc: add missing call to MarkKeep
 +    so that dist-upgrade isn't broken by unsatisfiable Breaks.
 +    (thanks to Ian Jackson)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu,  7 Dec 2006 23:07:24 +0100
 +
 +apt (0.6.46.4ubuntu1) feisty; urgency=low
 +
 +  * merged with debian
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu,  7 Dec 2006 12:13:14 +0100
 +
  apt (0.6.46.4-0.1) unstable; urgency=emergency
    
    * NMU
@@@ -1343,26 -900,6 +1650,26 @@@ apt (0.6.46.3-0.1) unstable; urgency=hi
    
   -- Andreas Barth <aba@not.so.argh.org>  Tue,  5 Dec 2006 10:34:56 +0000
  
 +apt (0.6.46.3ubuntu2) feisty; urgency=low
 +
 +  * apt-pkg/algorithms.cc: add missing call to MarkKeep
 +    so that dist-upgrade isn't broken by unsatisfiable Breaks.
 +
 + -- Ian Jackson <iwj@ubuntu.com>  Thu,  7 Dec 2006 15:46:52 +0000
 +
 +apt (0.6.46.3ubuntu1) feisty; urgency=low
 +
 +  * doc/apt-get.8.xml:
 +    - documented autoremove, thanks to Vladimír Lapá%Gč%@ek 
 +      (lp: #62919)
 +  * fix broken i18n in the dpkg progress reporting, thanks to 
 +    Frans Pop and Steinar Gunderson. (closes: #389261)
 +  * po/en_GB.po:
 +    - typo (lp: #61270)
 +  * add apt-secure.8 to "See also" section
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 23 Nov 2006 07:24:12 +0100
 +
  apt (0.6.46.3) unstable; urgency=low
  
    * apt-pkg/deb/dpkgpm.cc:
@@@ -1437,46 -974,10 +1744,46 @@@ apt (0.6.46) unstable; urgency=lo
    * 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)
 +    - fix in the TryInstallTask() code to make sure that all package
 +      there are marked manual install (lp: #61684)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 28 Sep 2006 00:34:20 +0200
 +
 +apt (0.6.45ubuntu14) edgy; urgency=low
 +
 +  * cmdline/apt-get.cc:
 +    - fix in the TryInstallTask() code to make sure that all package
 +      there are marked manual install (lp: #61684)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 28 Sep 2006 00:34:20 +0200
 +
 +apt (0.6.45ubuntu13) edgy; urgency=low
 +
 +  * no-changes upload to make apt rebuild against latest g++ and
 +    fix synaptic FTBFS (see bug: #62461 for details)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 26 Sep 2006 22:33:10 +0200
 +
 +apt (0.6.45ubuntu12) edgy; urgency=low
 +
 +  * apt-pkg/depcache.cc:
 +    - fix in the sweep() code, set garbage flag for packages scheduled 
 +      for removal too
 +    - do not change the autoFlag in MarkKeep(), this can lead to suprising
 +      side effects
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 21 Sep 2006 00:58:24 +0200
 +
 +apt (0.6.45ubuntu11) edgy; urgency=low
 +
 +  * removed "installtask" and change it so that tasknames can be given
 +    with "apt-get install taskname^"
 +  * improve the writeStateFile() code
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 20 Sep 2006 14:14:24 +0200
 +
 +apt (0.6.45ubuntu10) edgy; urgency=low
 +
    * methods/http.cc:
      - check more careful for incorrect proxy settings (closes: #378868)
    * methods/gzip.cc:
@@@ -1501,113 -1002,8 +1808,113 @@@
        caseinsensitive (closes: #384182)
      - reverted MMap use in the tagfile because it does not work 
        across pipes (closes: #383487) 
 +  * added "installtask" command
 +  * added new ubuntu specific rewrite rule for "Original-Maintainer"
    
 - -- Michael Vogt <mvo@debian.org>  Thu, 21 Sep 2006 10:25:03 +0200
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 19 Sep 2006 15:07:51 +0200
 +
 +apt (0.6.45ubuntu9) edgy; urgency=low
 +
 +  * cmdline/apt-get.cc:
 +    - if --no-remove is given, do not run the AutoRemove code 
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 13 Sep 2006 11:54:20 +0200
 +
 +apt (0.6.45ubuntu8) edgy; urgency=low
 +
 +  * apt-pkg/algorithm.cc:
 +    - fix pkgProblemResolver.InstallProtect() to preserve the auto-install
 +      information (lp: #59457)
 +  * cmdline/apt-get.cc:
 +    - fix typo in autoremove information (lp: #59420)
 +  * install apt-mark to modify the automatically install information for
 +    packages
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri,  8 Sep 2006 20:07:22 +0200
 +
 +apt (0.6.45ubuntu7) edgy; urgency=low
 +
 +  * apt-pkg/depcache.cc:
 +    - fix a bug in the install-recommends-section code
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu,  7 Sep 2006 18:22:38 +0200
 +
 +apt (0.6.45ubuntu6) edgy; urgency=low
 +
 +  [Michael Vogt]
 +  * cmdline/apt-get.cc:
 +    - always show auto-removable packages and give a hint how to remove 
 +      them
 +  * debian/apt.conf.ubuntu:
 +    - exlucde linux-image and linux-restricted-modules from ever being 
 +      auto-removed
 +    - added "metapackages" as the section we want to install recommends
 +      by default
 +  * apt-pkg/depcache.cc:
 +    - added support to turn install-recommends selectively on/off by
 +      section
 +  [Ian Jackson]
 +  * Tests pass without code changes!  Except that we need this:
 +  * Bump cache file major version to force rebuild so that Breaks
 +    dependencies are included.
 +  * Don't depend on or suggest any particular dpkg or dpkg-dev versions;
 +    --auto-deconfigure is very very old and dpkg-dev's Breaks support
 +    is more or less orthogonal.
 +  * Initial draft of `Breaks' implementation.  Appears to compile,
 +    but as yet *completely untested*.
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu,  7 Sep 2006 11:50:52 +0200
 +
 +apt (0.6.45ubuntu5) edgy; urgency=low
 +
 +  * apt-pkg/pkgcachegen.cc:
 +    - increase the APT::Cache-Limit to deal with the increased demand due
 +      to the translated descriptions
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - pass "--auto-deconfigure" to dpkg on install to support the
 +      new "breaks" in dpkg
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 15 Aug 2006 12:06:26 +0200
 +
 +apt (0.6.45ubuntu4) edgy; urgency=low
 +
 +  * cmdline/apt-get.cc:
 +    - fix in the new --fix-polciy code
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 14 Aug 2006 21:08:11 +0200
 +
 +apt (0.6.45ubuntu3) edgy; urgency=low
 +
 +  * ABI break
 +  * merged latest apt--install-recommends (closes: #559000)
 +  * added "--fix-policy" option to can be used as "--fix-broken" and
 +    will install missing weak depends (recommends, and/or suggests 
 +    depending on the settings)
 +  * merged the apt--ddtp branch
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 11 Aug 2006 12:53:23 +0200
 +
 +apt (0.6.45ubuntu2) edgy; 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)
 +  * merged "apt--install-recommends" branch:
 +    - added "{no-}install-recommends" commandline option
 +    - added APT::Install-{Recommends,Suggests} option
 +    - currently Install-Recommends defaults to "False" 
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed,  9 Aug 2006 23:38:46 +0200
 +
 +apt (0.6.45ubuntu1) edgy; urgency=low
 +
 +  * merged with debian/unstable
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  1 Aug 2006 15:43:22 +0200
  
  apt (0.6.45) unstable; urgency=low
  
@@@ -1645,57 -1041,42 +1952,57 @@@
      * dz.po: New Dzongkha translation: 512t
      * ro.po: Updated to 512t
      * eu.po: Updated
 -    * eu.po: Updated
 -  * fix apt-get dist-upgrade
 -  * fix warning if no /var/lib/apt/extended_states is present
 -  * don't download Translations for deb-src sources.list lines
 -  * apt-pkg/tagfile.cc:
 -    - support not-mmapable files again
  
   -- Michael Vogt <mvo@debian.org>  Thu, 27 Jul 2006 00:52:05 +0200
  
 -apt (0.6.44.2exp1) experimental; urgency=low
 +apt (0.6.44.2ubuntu4) edgy; urgency=low
  
 -  * added support for i18n of the package descriptions
 -  * added support for aptitude like auto-install tracking (a HUGE
 -    HUGE thanks to Daniel Burrows who made this possible) 
 -  * synced with the http://people.debian.org/~mvo/bzr/apt/debian-sid branch
 -  * build from http://people.debian.org/~mvo/bzr/apt/debian-experimental
 +  * Make apt-get dselect-upgrade happy again
  
 - -- Michael Vogt <mvo@debian.org>  Mon,  3 Jul 2006 21:50:31 +0200
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 21 Jul 2006 11:03:02 +0200
  
 -apt (0.6.44.2) unstable; urgency=low
 +apt (0.6.44.2ubuntu3) edgy; 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
 +  * Close extended_states file after writing it.
 +
 + -- Colin Watson <cjwatson@ubuntu.com>  Tue, 18 Jul 2006 00:12:13 +0100
 +
 +apt (0.6.44.2ubuntu2) edgy; urgency=low
 +
 +  * create a empty extended_states file if none exists already
  
 - -- Michael Vogt <mvo@debian.org>  Wed, 14 Jun 2006 12:00:57 +0200
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  4 Jul 2006 09:23:03 +0200
 +
 +apt (0.6.44.2ubuntu1) edgy; urgency=low
 +
 +  * merged with debian/unstable
 +  * merged the "auto-mark" branch to support aptitude like
 +    marking of automatically installed dependencies and added
 +    "apt-get remove --auto-remove" to remove unused auto-installed
 +    packages again
 +  * changed library version from 3.11 to 3.50 to make it clearly 
 +    different from the debian version (we are ABI incompatible because
 +    of the auto-mark patch)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon,  3 Jul 2006 18:30:46 +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
  
@@@ -1757,26 -1138,6 +2064,26 @@@ apt (0.6.44) unstable; urgency=lo
    
   -- Michael Vogt <mvo@debian.org>  Mon,  8 May 2006 22:28:53 +0200
  
 +apt (0.6.43.3ubuntu3) dapper; urgency=low
 +
 +  * methods/http.cc:
 +    - fix the user-agent string
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 26 May 2006 18:09:32 +0200
 +
 +apt (0.6.43.3ubuntu2) dapper; urgency=low
 +
 +  * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 18 Apr 2006 13:24:40 +0200
 +
 +apt (0.6.43.3ubuntu1) dapper; urgency=low
 +
 +  * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large in 
 +    the status-fd (ubuntu #28954)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 28 Mar 2006 20:34:46 +0200
 +
  apt (0.6.43.3) unstable; urgency=low
  
    * Merge bubulle@debian.org--2005/apt--main--0 up to patch-186:
@@@ -1786,46 -1147,16 +2093,46 @@@
      * pl.po: Completed to 512t. Closes: #349514
      * sk.po: Completed to 512t. Closes: #349474
      * gl.po: Completed to 512 strings Closes: #349407
 +    * vi.po: Completed to 512 strings
      * sv.po: Completed to 512 strings Closes: #349210
      * ru.po: Completed to 512 strings Closes: #349154
      * da.po: Completed to 512 strings Closes: #349084
      * fr.po: Completed to 512 strings
 +    * LINGUAS: Add Welsh
 +    * *.po: Updated from sources (512 strings)
      * vi.po: Completed to 511 strings  Closes: #348968
 -    * zh_CN.po: Completed to 512t. Closes: #353936
 -    * it.po: Completed to 512t. Closes: #352803
 -    * pt_BR.po: Completed to 512t. Closes: #352419
 +  * apt-pkg/deb/deblistparser.cc:
 +    - don't explode on a DepCompareOp in a Provides line, but warn about
 +      it and ignore it otherwise (thanks to James Troup for reporting it)
 +  * cmdline/apt-get.cc:
 +    - don't lock the lists directory in DoInstall, breaks --print-uri 
 +      (thanks to James Troup for reporting it)
 +  * debian/apt.dirs: create /etc/apt/sources.list.d 
 +  * make apt-cache madison work without deb-src entries (#352583)
 +  * cmdline/apt-get.cc: only run the list-cleaner if a update was 
 +    successfull
 +  * apt-get update errors are only warnings nowdays
 +  * be more careful with the signature file on network failures
 +
 + --  Michael Vogt <mvo@debian.org>  Wed, 22 Feb 2006 10:13:04 +0100
 +
 +apt (0.6.43.2ubuntu1) dapper; urgency=low
 +
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-182:
 +  * ca.po: Completed to 512t. Closes: #351592
 +    * eu.po: Completed to 512t. Closes: #350483
 +    * ja.po: Completed to 512t. Closes: #349806
 +    * pl.po: Completed to 512t. Closes: #349514
 +    * sk.po: Completed to 512t. Closes: #349474
 +    * gl.po: Completed to 512 strings Closes: #349407
 +    * vi.po: Completed to 512 strings
 +    * sv.po: Completed to 512 strings Closes: #349210
 +    * ru.po: Completed to 512 strings Closes: #349154
 +    * da.po: Completed to 512 strings Closes: #349084
 +    * fr.po: Completed to 512 strings
      * LINGUAS: Add Welsh
      * *.po: Updated from sources (512 strings)
 +    * vi.po: Completed to 511 strings  Closes: #348968
    * apt-pkg/deb/deblistparser.cc:
      - don't explode on a DepCompareOp in a Provides line, but warn about
        it and ignore it otherwise (thanks to James Troup for reporting it)
@@@ -1836,10 -1167,8 +2143,10 @@@
    * make apt-cache madison work without deb-src entries (#352583)
    * cmdline/apt-get.cc: only run the list-cleaner if a update was 
      successfull
 +  * apt-get update errors are only warnings nowdays
 +  * be more careful with the signature file on network failures
  
 - -- Michael Vogt <mvo@debian.org>  Wed, 22 Feb 2006 10:13:04 +0100
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 20 Feb 2006 22:27:48 +0100
  
  apt (0.6.43.2) unstable; urgency=low
  
@@@ -1864,26 -1193,8 +2171,26 @@@
  
   -- Michael Vogt <mvo@debian.org>  Thu, 19 Jan 2006 00:06:33 +0100
  
 -apt (0.6.43.1) unstable; urgency=low
 +apt (0.6.43.1ubuntu1) dapper; urgency=low
  
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-159:
 +    - en_GB.po, de.po: fix spaces errors in "Ign " translations
 +      Closes: #347258
 +    - makefile: make update-po a pre-requisite of clean target so
 +	        that POT and PO files are always up-to-date
 +    - sv.po: Completed to 511t. Closes: #346450
 +    - sk.po: Completed to 511t. Closes: #346369
 +    - fr.po: Completed to 511t
 +    - *.po: Updated from sources (511 strings)
 +  * add patch to fix http download corruption problem (thanks to
 +    Petr Vandrovec, closes: #280844, #290694)
 +  * added APT::Periodic::Unattended-Upgrade (requires the package
 +    "unattended-upgrade")
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 10 Jan 2006 17:09:31 +0100
 +
 +apt (0.6.43.1) unstable; urgency=low
 +  
    * Merge bubulle@debian.org--2005/apt--main--0 up to patch-148:
      * fr.po: Completed to 510 strings
      * it.po: Completed to 510t
@@@ -1905,19 -1216,6 +2212,19 @@@
  
   -- Michael Vogt <mvo@debian.org>  Fri,  6 Jan 2006 01:17:08 +0100
  
 +apt (0.6.43ubuntu2) dapper; urgency=low
 +
 +  * merged some missing bits that wheren't merged by baz in the previous
 +    upload (*grumble*)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu,  8 Dec 2005 18:35:58 +0100
 +
 +apt (0.6.43ubuntu1) dapper; urgency=low
 +
 +  * merged with debian
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 25 Nov 2005 11:36:29 +0100
 +
  apt (0.6.43) unstable; urgency=medium
  
    * Merge bubulle@debian.org--2005/apt--main--0 up to patch-132:  
@@@ -1938,22 -1236,6 +2245,22 @@@
    
   -- Michael Vogt <mvo@debian.org>  Tue, 29 Nov 2005 00:17:07 +0100
  
 +apt (0.6.42.3ubuntu2) dapper; urgency=low
 +
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-131:  
 +    * zh_CN.po: Completed to 507 strings(Closes: #338267)
 +    * gl.po: Completed to 510 strings (Closes: #338356)
 +  * added support for "/etc/apt/sources.list.d" directory 
 +    (closes: #66325)
 +  
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 14 Nov 2005 15:30:12 +0100
 +
 +apt (0.6.42.3ubuntu1) dapper; urgency=low
 +
 +  * synced with debian
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 10 Nov 2005 05:05:56 +0100
 +
  apt (0.6.42.3) unstable; urgency=low
  
    * Merge bubulle@debian.org--2005/apt--main--0 up to patch-129:
@@@ -2001,13 -1283,13 +2308,13 @@@ apt (0.6.42) unstable; urgency=lo
      - unmount the cdrom when apt failed to locate any package files
    * allow cdrom failures and fallback to other sources in that case
      (closes: #44135)
 -  * better error text when dpkg-source fails 
 +  * better error text when dpkg-source fails
    * Merge bubulle@debian.org--2005/apt--main--0 up to patch-115:
      - patch-99: Added Galician translation
      - patch-100: Completed Danish translation (Closes: #325686)
      - patch-104: French translation completed
      - patch-109: Italian translation completed
 -    - patch-112: Swedish translation update 
 +    - patch-112: Swedish translation update
      - patch-115: Basque translation completed (Closes: #333299)
    * applied french man-page update (thanks to Philippe Batailler)
      (closes: #316638, #327456)
@@@ -2021,9 -1303,9 +2328,9 @@@
    * apt-pkg/contrib/md5.cc:
      - fix a alignment problem on sparc64 that gives random bus errors
        (thanks to Fabbione for providing a test-case)
 -  * init the default ScreenWidth to 79 columns by default 
 +  * init the default ScreenWidth to 79 columns by default
      (Closes: #324921)
 -  * cmdline/apt-cdrom.cc: 
 +  * cmdline/apt-cdrom.cc:
      - fix some missing gettext() calls (closes: #334539)
    * doc/apt-cache.8.xml: fix typo (closes: #334714)
  
@@@ -2034,8 -1316,8 +2341,8 @@@ apt (0.6.41) unstable; urgency=lo
    * improved the support for "error" and "conffile" reporting from
      dpkg, added the format to README.progress-reporting
    * added README.progress-reporting to the apt-doc package
 -  * improved the network timeout handling, if a index file from a 
 -    sources.list times out or EAI_AGAIN is returned from getaddrinfo, 
 +  * improved the network timeout handling, if a index file from a
 +    sources.list times out or EAI_AGAIN is returned from getaddrinfo,
      don't try to get the other files from that entry
    * Support architecture-specific extra overrides
      (closes: #225947). Thanks to  Anthony Towns for idea and
@@@ -2043,10 -1325,10 +2350,10 @@@
    * Javier Fernandez-Sanguino Pen~a:
      - Added a first version of an apt-secure.8 manpage, and modified
        apt-key and apt.end accordingly. Also added the 'update'
 -      argument to apt-key which was previously not documented 
 +      argument to apt-key which was previously not documented
        (Closes: #322120)
    * Andreas Pakulat:
 -    - added example apt-ftparchive.conf file to doc/examples 
 +    - added example apt-ftparchive.conf file to doc/examples
        (closes: #322483)
    * Fix a incorrect example in the man-page (closes: #282918)
    * Fix a bug for very long lines in the apt-cdrom code (closes: #280356)
@@@ -2055,84 -1337,10 +2362,84 @@@
    * Change pkgPolicy::Pin from private to protected to let subclasses
      access it too (closes: #321799)
    * add default constructor for PrvIterator (closes: #322267)
 -  * Reread status configuration on debSystem::Initialize() 
 +  * Reread status configuration on debSystem::Initialize()
      (needed for apt-proxy, thanks to Otavio for this patch)
 -  
 +
   -- Michael Vogt <mvo@debian.org>  Mon,  5 Sep 2005 22:59:03 +0200
 +  
 +apt (0.6.40.1ubuntu8) breezy; urgency=low
 +
 +  * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-62:
 +    - fix for a bad memory/file leak in the mmap code (ubuntu #15603)
 +  * po/de.po, po/fr.po: 
 +    - updated the translations
 +  * po/makefile:
 +    - create a single pot file in each domain dir to make rosetta happy
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 28 Sep 2005 10:16:06 +0200
 +
 +apt (0.6.40.1ubuntu7) breezy; urgency=low
 +
 +  * updated the pot/po files , no code changes
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 27 Sep 2005 18:38:16 +0200
 +
 +apt (0.6.40.1ubuntu6) breezy; urgency=low
 +
 +  * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-56:
 +    - make it possible for apt to handle a failed MediaChange event and
 +      fall back to other sources (ubuntu #13713)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 13 Sep 2005 22:09:50 +0200
 +
 +apt (0.6.40.1ubuntu5) breezy; urgency=low
 +
 +  * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-{50,51}.
 +    This adds media-change reporting to the apt status-fd (ubuntu #15213)
 +  * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-55:
 +    apt-pkg/cdrom.cc:
 +    - unmount the cdrom when apt failed to locate any package files
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 12 Sep 2005 15:44:26 +0200
 +
 +apt (0.6.40.1ubuntu4) breezy; urgency=low
 +
 +  * debian/apt.cron.daily:
 +    - fix a embarrassing typo
 +  
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Wed,  7 Sep 2005 10:10:37 +0200
 +
 +apt (0.6.40.1ubuntu3) breezy; urgency=low
 +
 +  * debian/apt.cron.daily:
 +    - use the ctime as well when figuring what packages need to
 +      be removed. This fixes the problem that packages copied with    
 +      "cp -a" (e.g. from the installer) have old mtimes (ubuntu #14504)
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  6 Sep 2005 18:30:46 +0200
 +
 +apt (0.6.40.1ubuntu2) breezy; urgency=low
 +
 +  * improved the support for "error" and "conffile" reporting from
 +    dpkg, added the format to README.progress-reporting
 +  * added README.progress-reporting to the apt-doc package
 +  * Do md5sum checking for file and cdrom method (closes: #319142)
 +  * Change pkgPolicy::Pin from private to protected to let subclasses
 +    access it too (closes: #321799)
 +  * methods/connect.cc:
 +    - send failure reason for EAI_AGAIN (TmpResolveFailure) to acuire-item
 +  * apt-pkg/acquire-item.cc:
 +    - fail early if a FailReason is TmpResolveFailure (avoids hangs during
 +      the install when no network is available)
 +  * merged michael.vogt@ubuntu.com--2005/apt--trust-cdrom--0
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 23 Aug 2005 19:44:55 +0200
 +
 +apt (0.6.40.1ubuntu1) breezy; urgency=low
 +
 +  * Synchronize with Debian
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Fri,  5 Aug 2005 14:20:56 +0200
  
  apt (0.6.40.1) unstable; urgency=low
  
@@@ -2143,12 -1351,6 +2450,12 @@@
  
   -- Michael Vogt <mvo@debian.org>  Fri,  5 Aug 2005 13:24:58 +0200
  
 +apt (0.6.40ubuntu1) breezy; urgency=low
 +
 +  * Synchronize with Debian
 +
 + -- Matt Zimmerman <mdz@ubuntu.com>  Thu,  4 Aug 2005 15:53:22 -0700
 +
  apt (0.6.40) unstable; urgency=low
  
    * Patch from Jordi Mallach to mark some additional strings for translation
@@@ -2164,39 -1366,6 +2471,39 @@@
  
   -- Matt Zimmerman <mdz@debian.org>  Thu, 28 Jul 2005 11:57:32 -0700
  
 +apt (0.6.39ubuntu4) breezy; urgency=low
 +
 +  * Fix keyring paths in apt-key, apt.postinst (I swear I remember doing this
 +    before...)
 +
 + -- Matt Zimmerman <mdz@ubuntu.com>  Wed, 29 Jun 2005 08:39:17 -0700
 +
 +apt (0.6.39ubuntu3) breezy; urgency=low
 +
 +  * Fix keyring locations for Ubuntu in apt-key too.
 +
 + -- Colin Watson <cjwatson@ubuntu.com>  Wed, 29 Jun 2005 14:45:36 +0100
 +
 +apt (0.6.39ubuntu2) breezy; urgency=low
 +
 +  * Install ubuntu-archive.gpg rather than debian-archive.gpg as
 +    /etc/apt/trusted.gpg.
 +
 + -- Colin Watson <cjwatson@ubuntu.com>  Wed, 29 Jun 2005 11:53:34 +0100
 +
 +apt (0.6.39ubuntu1) breezy; urgency=low
 +
 +  * Michael Vogt
 +    - Change debian/bugscript to use #!/bin/bash (Closes: #313402)
 +    - Fix a incorrect example in the man-page (closes: #282918)
 +    - Support architecture-specific extra overrides
 +      (closes: #225947). Thanks to  Anthony Towns for idea and
 +      the patch, thanks to Colin Watson for testing it.
 +    - better report network timeouts from the methods to the acuire code,
 +      only timeout once per sources.list line
 +
 + -- Matt Zimmerman <mdz@ubuntu.com>  Tue, 28 Jun 2005 11:52:24 -0700
 +
  apt (0.6.39) unstable; urgency=low
  
    * Welsh translation update: daf@muse.19inch.net--2005/apt--main--0--patch-6
@@@ -2207,14 -1376,7 +2514,14 @@@
    * Update priority of apt-utils to important, to match the override file
    * Install only one keyring on each branch (Closes: #316119)
  
 - -- Matt Zimmerman <mdz@debian.org>  Tue, 28 Jun 2005 11:51:09 -0700
 + -- Matt Zimmerman <mdz@debian.org>  Tue, 28 Jun 2005 11:35:21 -0700
 +
 +apt (0.6.38ubuntu1) breezy; urgency=low
 +
 +  * First release from Ubuntu branch
 +  * Merge with --main--0, switch back to Ubuntu keyring
 +
 + -- Matt Zimmerman <mdz@ubuntu.com>  Sat, 25 Jun 2005 16:52:41 -0700
  
  apt (0.6.38) unstable; urgency=low
  
diff --combined debian/control
index 3df6226ff,ba9e32e4b..b74079735
--- a/debian/control
+++ b/debian/control
@@@ -1,21 -1,21 +1,23 @@@
  Source: apt
  Section: admin
  Priority: important
 -Maintainer: APT Development Team <deity@lists.debian.org>
 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
 +XSBC-Original-Maintainer: APT Development Team <deity@lists.debian.org>
- Uploaders: Jason Gunthorpe <jgg@debian.org>, Adam Heath <doogie@debian.org>, Matt Zimmerman <mdz@debian.org>, Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>
- Standards-Version: 3.7.2.2
- Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, docbook-utils (>= 0.6.12-1), xsltproc, docbook-xsl, xmlto, intltool
+ Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>,
+  Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,
+  Luca Bruno <lethalman88@gmail.com>, Eugene V. Lyubimkin <jackyf.devel@gmail.com>
+ Standards-Version: 3.8.0
 -Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, docbook-utils (>= 0.6.12), xsltproc, docbook-xsl, xmlto
 -Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/
++Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, docbook-utils (>= 0.6.12), xsltproc, docbook-xsl, xmlto, intltool
 +Vcs-Bzr: http://code.launchpad.net/~ubuntu-core-dev/apt/ubuntu
  
  Package: apt
  Architecture: any
 -Depends: ${shlibs:Depends}, debian-archive-keyring
 +Depends: ${shlibs:Depends}
  Priority: important
  Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
  Provides: ${libapt-pkg:provides}
 +Recommends: ubuntu-keyring
- Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, lzma, gnupg
+ Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt
  Section: admin
  Description: Advanced front-end for dpkg
   This is Debian's next generation front-end for the dpkg package manager.
@@@ -37,7 -37,7 +39,7 @@@ Description: Documentation for AP
  Package: libapt-pkg-dev
  Architecture: any
  Priority: optional
- Depends: apt (= ${Source-Version}), apt-utils (= ${Source-Version}), ${libapt-pkg:provides}, ${libapt-inst:provides}
+ Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides}
  Section: libdevel
  Description: Development files for APT's libapt-pkg and libapt-inst
   This package contains the header files and libraries for
diff --combined debian/rules
index 4f6d72e06,f587b141a..e4ecfbdd7
--- a/debian/rules
+++ b/debian/rules
@@@ -125,13 -125,13 +125,13 @@@ build/build-doc-stamp: build/configure-
  clean:
  	dh_testdir
  #	dh_testroot
- 	-$(MAKE) clean
- 	-$(MAKE) distclean
+ 	[ -f Makefile ] && $(MAKE) clean
+ 	[ -f Makefile ] && $(MAKE) distclean
  
  	rm -rf build
  
  	# Add here commands to clean up after the build process.
 -	dh_clean debian/copyright debian/shlibs.local debian/shlibs.local.apt debian/shlibs.local.apt-utils
 +	dh_clean debian/shlibs.local debian/shlibs.local.apt debian/shlibs.local.apt-utils
  
  binary-indep: apt-doc libapt-pkg-doc
  # Build architecture-independent files here.
@@@ -186,7 -186,7 +186,7 @@@ apt-doc: build-do
  # Build architecture-dependent files here.
  
  binary-arch: apt libapt-pkg-dev apt-utils apt-transport-https
- apt: build debian/shlibs.local
+ apt: build build-doc debian/shlibs.local
  	dh_testdir -p$@
  	dh_testroot -p$@
  	dh_clean -p$@ -k
@@@ -213,21 -213,18 +213,24 @@@
  	cp debian/bugscript debian/$@/usr/share/bug/apt/script
  	cp debian/apt.logrotate debian/$@/etc/logrotate.d/apt
  
 -	cp share/debian-archive.gpg debian/$@/usr/share/$@
 +	cp share/ubuntu-archive.gpg debian/$@/usr/share/$@
 +	sed 's/^_//' share/apt-auth-failure.note > debian/$@/usr/share/$@/apt-auth-failure.note
  	cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove
 +	cp debian/apt.conf.ubuntu debian/$@/etc/apt/apt.conf.d/01ubuntu
  #	head -n 500 ChangeLog > debian/ChangeLog
  
+ 	# copy lintian override
+ 	cp share/lintian-overrides debian/$@/usr/share/lintian/overrides/apt
+ 
  	# make rosetta happy and remove pot files in po/ (but leave stuff
  	# in po/domains/* untouched) and cp *.po into each domain dir
  	rm -f build/po/*.pot
  	rm -f po/*.pot
  
 +	# move the mirror failure script in place
 +	mv debian/$@/usr/bin/apt-report-mirror-failure \
 +	   debian/$@/usr/lib/apt/apt-report-mirror-failure \
 +
  	dh_installexamples -p$@ $(BLD)/docs/examples/*
  	dh_installman -p$@ 
  	dh_installcron -p$@
diff --combined doc/apt-cache.8.xml
index c359ac3d8,21605ff0e..6c8938d8c
--- a/doc/apt-cache.8.xml
+++ b/doc/apt-cache.8.xml
@@@ -51,6 -51,7 +51,7 @@@
           <arg>rdepends <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
           <arg>pkgnames <arg choice="plain"><replaceable>prefix</replaceable></arg></arg>
           <arg>dotty <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
+          <arg>xvcg <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
           <arg>policy <arg choice="plain" rep="repeat"><replaceable>pkgs</replaceable></arg></arg>
           <arg>madison <arg choice="plain" rep="repeat"><replaceable>pkgs</replaceable></arg></arg>
        </group>   
@@@ -197,9 -198,14 +198,14 @@@ Reverse Provides
  
       <varlistentry><term>search <replaceable>regex [ regex ... ]</replaceable></term>
       <listitem><para><literal>search</literal> performs a full text search on all available package
-      lists for the regex pattern given. It searches the package names and the
+      lists for the POSIX regex pattern given, see 
+      <citerefentry><refentrytitle><command>regex</command></refentrytitle>
+      <manvolnum>7</manvolnum></citerefentry>.
+      It searches the package names and the
       descriptions for an occurrence of the regular expression and prints out
-      the package name and the short description. If <option>--full</option> is given
+      the package name and the short description, including virtual package
+      names.
+      If <option>--full</option> is given
       then output identical to <literal>show</literal> is produced for each matched
       package, and if <option>--names-only</option> is given then the long description
       is not searched, only the package name is.</para>
@@@ -244,6 -250,11 +250,11 @@@
       <para>Caution, dotty cannot graph larger sets of packages.</para></listitem>
       </varlistentry>
       
+      <varlistentry><term>xvcg <replaceable>pkg(s)</replaceable></term>
+ 	 <listitem><para>The same as <literal>dotty</literal>, only for xvcg from the
+ 	 <ulink url="http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html">VCG tool</ulink>.
+ 	 </para></listitem></varlistentry>
+ 
       <varlistentry><term>policy <replaceable>[ pkg(s) ]</replaceable></term>
       <listitem><para><literal>policy</literal> is meant to help debug issues relating to the 
       preferences file. With no arguments it will print out the 
@@@ -289,7 -300,7 +300,7 @@@
       </varlistentry>
  
       <varlistentry><term><option>-i</option></term><term><option>--important</option></term>
 -     <listitem><para>Print only important dependencies; for use with unmet. Causes only Depends and 
 +     <listitem><para>Print only important dependencies; for use with unmet and depends. Causes only Depends and 
       Pre-Depends relations to be printed.
       Configuration Item: <literal>APT::Cache::Important</literal>.</para></listitem>
       </varlistentry>
diff --combined doc/apt-get.8.xml
index edb74270b,ace7f9e1b..64c3a35e4
--- a/doc/apt-get.8.xml
+++ b/doc/apt-get.8.xml
@@@ -15,7 -15,7 +15,7 @@@
     &apt-email;
     &apt-product;
     <!-- The last update date -->
-    <date>29 February 2004</date>
+    <date>08 November 2008</date>
   </refentryinfo>
   
   <refmeta>
@@@ -33,22 -33,74 +33,74 @@@
   <refsynopsisdiv>
     <cmdsynopsis>
        <command>apt-get</command>
-       <arg><option>-hvs</option></arg>
-       <arg><option>-o=<replaceable>config string</replaceable></option></arg>
-       <arg><option>-c=<replaceable>file</replaceable></option></arg>
+       <arg><option>-sqdyfmubV</option></arg>
+       <arg>
+ 	      <option>-o=
+ 			  <replaceable>config_string</replaceable>
+ 	      </option>
+       </arg>
+       <arg>
+ 	      <option>-c=
+ 		      <replaceable>config_file</replaceable>
+ 	      </option>
+       </arg>
+       <arg>
+ 		  <option>-t=</option>
+ 		  <group choice='req'>
+ 			  <arg choice='plain'>
+ 				  <replaceable>target_release_name</replaceable>
+ 			  </arg>
+ 			  <arg choice='plain'>
+ 				  <replaceable>target_release_number_expression</replaceable>
+ 			  </arg>
+ 		  </group>
+       </arg>
+ 
        <group choice="req">
-          <arg>update</arg>
-          <arg>upgrade</arg>
-          <arg>dselect-upgrade</arg>
-          <arg>install <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-          <arg>remove <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-          <arg>purge <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-          <arg>source <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-          <arg>build-dep <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-          <arg>check</arg>
-          <arg>clean</arg>
-          <arg>autoclean</arg>
-          <arg>autoremove</arg>
+          <arg choice='plain'>update</arg>
+          <arg choice='plain'>upgrade</arg>
+          <arg choice='plain'>dselect-upgrade</arg>
+          <arg choice='plain'>dist-upgrade</arg>
+          <arg choice='plain'>install 
+ 			 <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable>
+ 				<arg>
+ 					<group choice='req'>
+ 						<arg choice='plain'>
+ 							=<replaceable>pkg_version_number</replaceable>
+ 						</arg>
+ 						<arg choice='plain'>
+ 							/<replaceable>target_release_name</replaceable>
+ 						</arg>
+ 					</group>
+ 				</arg>
+ 			 </arg>
+ 	     </arg>
+          <arg choice='plain'>remove <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
+          <arg choice='plain'>purge <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
+          <arg choice='plain'>source 
+ 			 <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable>
+ 				 <arg>
+ 					 =<replaceable>pkg_version_number</replaceable>
+ 				 </arg>
+ 			 </arg>
+ 	     </arg>
+          <arg choice='plain'>build-dep <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
+          <arg choice='plain'>check</arg>
+          <arg choice='plain'>clean</arg>
+          <arg choice='plain'>autoclean</arg>
+          <arg choice='plain'>autoremove</arg>
+ 		 <arg choice='plain'>
+ 			 <group choice='req'>
+ 				<arg choice='plain'>-v</arg>
+ 				<arg choice='plain'>--version</arg>
+ 			 </group>
+ 		 </arg>
+ 		 <arg choice='plain'>
+ 			 <group choice='req'>
+ 				<arg choice='plain'>-h</arg>
+ 				<arg choice='plain'>--help</arg>
+ 			 </group>
+ 		 </arg>
        </group>   
     </cmdsynopsis>
   </refsynopsisdiv>
@@@ -56,8 -108,8 +108,8 @@@
   <refsect1><title>Description</title>
     <para><command>apt-get</command> is the command-line tool for handling packages, and may be 
     considered the user's "back-end" to other tools using the APT
-    library.  Several "front-end" interfaces exist, such as dselect(8),
-    aptitude, synaptic, gnome-apt and wajig.</para>
+    library.  Several "front-end" interfaces exist, such as &dselect;,
+    &aptitude;, &synaptic;, &gnome-apt; and &wajig;.</para>
  
     <para>Unless the <option>-h</option>, or <option>--help</option> option is given, one of the
     commands below must be present.</para>
@@@ -104,6 -156,7 +156,7 @@@
       with new versions of packages; <command>apt-get</command> has a "smart" conflict 
       resolution system, and it will attempt to upgrade the most important 
       packages at the expense of less important ones if necessary. 
+ 	 So, <literal>dist-upgrade</literal> command may remove some packages.
       The <filename>/etc/apt/sources.list</filename> file contains a list of locations 
       from which to retrieve desired package files.
       See also &apt-preferences; for a mechanism for
@@@ -111,17 -164,24 +164,24 @@@
       </varlistentry>
  
       <varlistentry><term>install</term>
-      <listitem><para><literal>install</literal> is followed by one or more packages desired for 
-      installation. Each package is a package name, not a fully qualified 
-      filename (for instance, in a Debian GNU/Linux system, libc6 would be the 
-      argument provided, not <literal>libc6_1.9.6-2.deb</literal>) All packages required 
-      by the package(s) specified for installation will also be retrieved and 
-      installed. The <filename>/etc/apt/sources.list</filename> file is used to locate 
-      the desired packages. If a hyphen is appended to the package name (with 
-      no intervening space), the identified package will be removed if it is 
-      installed. Similarly a plus sign can be used to designate a package to 
-      install. These latter features may be used to override decisions made by 
-      apt-get's conflict resolution system.</para>
+      <listitem>
+ 	 <para><literal>install</literal> is followed by one or more 
+ 	 packages desired for installation or upgrading. 
+ 	 Each package is a package name, not a fully qualified 
+ 	 filename (for instance, in a Debian GNU/Linux system, 
+ 	 libc6 would be the argument provided, not 
+ 	 <literal>libc6_1.9.6-2.deb</literal>). All packages required 
+ 	 by the package(s) specified for installation will also 
+ 	 be retrieved and installed. 
+ 	 The <filename>/etc/apt/sources.list</filename> file is 
+ 	 used to locate the desired packages. If a hyphen is 
+ 	 appended to the package name (with no intervening space), 
+ 	 the identified package will be removed if it is installed. 
+ 	 Similarly a plus sign can be used to designate a 
+ 	 package to install. These latter features may be used 
+ 	 to override decisions made by apt-get's conflict 
+ 	 resolution system.
+ 	 </para>
  
       <para>A specific version of a package can be selected for installation by 
       following the package name with an equals and the version of the package 
@@@ -133,6 -193,17 +193,17 @@@
       <para>Both of the version selection mechanisms can downgrade packages and must
       be used with care.</para>
  
+ 	<para>This is also the target to use if you want to upgrade one or 
+ 		more already-installed packages without upgrading every package 
+ 		you have on your system. Unlike the "upgrade" target, which 
+ 		installs the newest version of all currently installed packages, 
+ 		"install" will install the newest version of only the package(s) 
+ 		specified. Simply provide the name of the package(s) you wish 
+ 		to upgrade, and if a newer version is available, it (and its 
+ 		dependencies, as described above) will be downloaded and 
+ 		installed.
+ 	</para>
+ 
       <para>Finally, the &apt-preferences; mechanism allows you to
       create an alternative installation policy for
       individual packages.</para>
@@@ -148,14 -219,15 +219,15 @@@
  
       <varlistentry><term>remove</term>
       <listitem><para><literal>remove</literal> is identical to <literal>install</literal> except that packages are 
-      removed instead of installed. If a plus sign is appended to the package 
+ 	 removed instead of installed. Note the removing a package leaves its
+ 	 configuration files in system. If a plus sign is appended to the package 
       name (with no intervening space), the identified package will be 
       installed instead of removed.</para></listitem>
       </varlistentry>
  
       <varlistentry><term>purge</term>
       <listitem><para><literal>purge</literal> is identical to <literal>remove</literal> except that packages are 
-      removed and purged.</para></listitem>
+      removed and purged (any configuration files are deleted too).</para></listitem>
       </varlistentry>
  
       <varlistentry><term>source</term>
@@@ -222,6 -294,11 +294,11 @@@
     &apt-cmdblurb;
  
     <variablelist>
+      <varlistentry><term><option>--no-install-recommends</option></term>
+      <listitem><para>Do not consider recommended packages as a dependency for installing.
+      Configuration Item: <literal>APT::Install-Recommends</literal>.</para></listitem>
+      </varlistentry>
+ 
       <varlistentry><term><option>-d</option></term><term><option>--download-only</option></term>
       <listitem><para>Download only; package files are only retrieved, not unpacked or installed.
       Configuration Item: <literal>APT::Get::Download-Only</literal>.</para></listitem>
@@@ -313,14 -390,6 +390,14 @@@
       Configuration Item: <literal>APT::Get::Compile</literal>.</para></listitem>
       </varlistentry>
  
 +     <varlistentry><term><option>--install-recommends</option></term>
 +     <listitem><para>Also install recommended packages.</para></listitem>
 +     </varlistentry>
 +
 +     <varlistentry><term><option>--no-install-recommends</option></term>
 +     <listitem><para>Do not install recommended packages.</para></listitem>
 +     </varlistentry>
 +
       <varlistentry><term><option>--ignore-hold</option></term>
       <listitem><para>Ignore package Holds; This causes <command>apt-get</command> to ignore a hold 
       placed on a package. This may be useful in conjunction with 
@@@ -357,7 -426,8 +434,8 @@@
       <varlistentry><term><option>--purge</option></term>
       <listitem><para>Use purge instead of remove for anything that would be removed.
       An asterisk ("*") will be displayed next to packages which are
-      scheduled to be purged.
+ 	 scheduled to be purged. <option>remove --purge</option> is equivalent for
+ 	 <option>purge</option> command.
       Configuration Item: <literal>APT::Get::Purge</literal>.</para></listitem>
       </varlistentry>
  
@@@ -379,8 -449,10 +457,10 @@@
                     <term><option>--target-release</option></term>
                     <term><option>--default-release</option></term>
       <listitem><para>This option controls the default input to the policy engine, it creates
-      a default pin at priority 990 using the specified release string. The
-      preferences file may further override this setting. In short, this option
+      a default pin at priority 990 using the specified release string.
+      This overrides the general settings in <filename>/etc/apt/preferences</filename>.
+      Specifically pinned packages are not affected by the value
+      of this option. In short, this option
       lets you have simple control over which distribution packages will be
       retrieved from. Some common examples might be 
       <option>-t '2.1*'</option> or <option>-t unstable</option>.
@@@ -456,7 -528,7 +536,7 @@@
       </varlistentry>
       
       <varlistentry><term><filename>/etc/apt/apt.conf.d/</filename></term>
-      <listitem><para>APT configuration file fragments
+      <listitem><para>APT configuration file fragments.
       Configuration Item: <literal>Dir::Etc::Parts</literal>.</para></listitem>
       </varlistentry>
       
@@@ -501,7 -573,16 +581,16 @@@
   <refsect1><title>Diagnostics</title>
     <para><command>apt-get</command> returns zero on normal operation, decimal 100 on error.</para>
   </refsect1>
- 
+  <refsect1>
+ 	 <title>ORIGINAL AUTHORS</title>
+ 	 <para>&apt-author.jgunthorpe;</para>
+  </refsect1>
+  <refsect1>
+ 	 <title>CURRENT AUTHORS</title>
+ 	 <para>
+ 		 &apt-author.team;
+ 		 &apt-qapage;
+ 	 </para>
+  </refsect1>
   &manbugs;
-  
  </refentry>
diff --combined doc/examples/configure-index
index 8e80a95a3,07803b2cb..5cc6187a8
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@@ -1,4 -1,3 +1,3 @@@
- // $Id: configure-index,v 1.10 2004/07/17 19:37:16 mdz Exp $
  /* This file is an index of all APT configuration directives. It should
     NOT actually be used as a real config file, though it is (except for the
     last line) a completely valid file. Most of the options have sane default
@@@ -25,13 -24,14 +24,14 @@@ AP
    Architecture "i386";
    Build-Essential "build-essential";
  
-   NeverAutoRemove  { "linux-kernel.*";  };  // packages that should never
+   NeverAutoRemove  { "linux-image.*";  };  // packages that should never
                                              // considered for autoRemove
  
    // Options for apt-get
    Get 
    {
       Arch-Only "false";
+      AllowUnauthenticated "false";
       AutomaticRemove "false";       
       HideAutoRemove "false";
       Download-Only "false";
@@@ -54,7 -54,6 +54,7 @@@
       Only-Source "";
       Diff-Only "false";
       Tar-Only "false";
 +     Build-Dep-Automatic "true";
    };
  
    Cache 
@@@ -104,12 -103,9 +104,12 @@@
  
    // consider Recommends, Suggests as important dependencies that should
    // be installed by default
-   Install-Recommends "false";
+   Install-Recommends "true";
    Install-Suggests "false";
  
 +  // install recommends automatically for packages in this section
 +  Install-Recommends-Section { "metapackages"; "universe/metapackages"; };
 +  
    // consider dependencies of packages in this section manual
    Never-MarkAuto-Sections {"metapackages"; "universe/metapackages"; };
  
@@@ -196,20 -192,6 +196,20 @@@ Acquir
    {
     Options {"--ignore-time-conflict";}	// not very useful on a normal system
    };
 +
 +  mirror
 +  {
 +   RefreshInterval "360"; // refresh interval in minutes
 +   MaxAge "90";           // max age for a mirror file in days before 
 +                          // it gets deleted
 +   // mirror failure reporting script
 +   ProblemReporting "/usr/lib/apt/apt-report-mirror-failure"; 
 +   // mirror failure reporting url
 +   ReportFailures "http://example.com/mirror-failure"; 
 +  };
 +
 +  // translations can be set here to "none", "environment" or "$locale"
 +  Translation "none";
  };
  
  // Directory layout
@@@ -223,7 -205,6 +223,7 @@@ Dir "/
       userstatus "status.user";
       status "/var/lib/dpkg/status";
       cdroms "cdroms.list";
 +     mirrors "mirrors/";
    };
    
    // Location of the cache dir
@@@ -319,9 -300,9 +319,9 @@@ Debu
    Acquire::Http "false";   // Show http command traffic
    Acquire::Https "false";   // Show https debug
    Acquire::gpgv "false";   // Show the gpgv traffic
 +  Acquire::Mirror "false"; // Show debugging of the mirror method
    aptcdrom "false";        // Show found package files
    IdentCdrom "false";
 -  
  }
  
  /* Whatever you do, do not use this configuration file!! Take out ONLY
diff --combined methods/makefile
index f765a4d37,d9481dbcc..5c4fa82bf
--- a/methods/makefile
+++ b/methods/makefile
@@@ -12,85 -12,77 +12,85 @@@ APT_DOMAIN := libapt-pkg$(LIB_APT_PKG_M
  
  # The file method
  PROGRAM=file
- SLIBS = -lapt-pkg 
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = file.cc
  include $(PROGRAM_H)
  
  # The copy method
  PROGRAM=copy
- SLIBS = -lapt-pkg 
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = copy.cc
  include $(PROGRAM_H)
  
  # The gzip method
  PROGRAM=gzip
- SLIBS = -lapt-pkg 
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = gzip.cc
  include $(PROGRAM_H)
  
  # The gpgv method
  PROGRAM=gpgv
- SLIBS = -lapt-pkg
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = gpgv.cc
  include $(PROGRAM_H)
  
  # The cdrom method
  PROGRAM=cdrom
- SLIBS = -lapt-pkg 
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = cdrom.cc
  include $(PROGRAM_H)
  
  # The http method
  PROGRAM=http
- SLIBS = -lapt-pkg $(SOCKETLIBS)
+ SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
 -SOURCE = http.cc rfc2553emu.cc connect.cc
 +SOURCE = http.cc http_main.cc rfc2553emu.cc connect.cc
  include $(PROGRAM_H)
  
  # The https method
  PROGRAM=https
- SLIBS = -lapt-pkg -lcurl
+ SLIBS = -lapt-pkg -lcurl $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = https.cc
  include $(PROGRAM_H)
  
  # The ftp method
  PROGRAM=ftp
- SLIBS = -lapt-pkg $(SOCKETLIBS)
+ SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = ftp.cc rfc2553emu.cc connect.cc
  include $(PROGRAM_H)
  
  # The rred method
  PROGRAM=rred
- SLIBS = -lapt-pkg $(SOCKETLIBS)
+ SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = rred.cc
  include $(PROGRAM_H)
  
  # The rsh method
  PROGRAM=rsh
- SLIBS = -lapt-pkg
+ SLIBS = -lapt-pkg $(INTLLIBS)
  LIB_MAKES = apt-pkg/makefile
  SOURCE = rsh.cc
  include $(PROGRAM_H)
  
 +# The mirror method
 +PROGRAM=mirror
 +SLIBS = -lapt-pkg $(SOCKETLIBS)
 +LIB_MAKES = apt-pkg/makefile
 +SOURCE = mirror.cc http.cc rfc2553emu.cc connect.cc
 +include $(PROGRAM_H)
 +
  # SSH and bzip2 method symlink
  binary: $(BIN)/ssh $(BIN)/bzip2 $(BIN)/lzma
  veryclean: clean-$(BIN)/ssh clean-$(BIN)/bzip2 clean-$(BIN)/lzma
 +
  $(BIN)/ssh:
  	echo "Installing ssh method link"
  	ln -fs rsh $(BIN)/ssh
diff --combined po/apt-all.pot
index ae7cb4795,70f81f357..804c23b48
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: PACKAGE VERSION\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2008-05-22 16:56+0200\n"
 -"POT-Creation-Date: 2008-11-12 22:07+0100\n"
++"POT-Creation-Date: 2007-06-07 00:57+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"
@@@ -28,7 -28,7 +28,7 @@@ msgid "Unable to locate package %s
  msgstr ""
  
  #: cmdline/apt-cache.cc:247
--msgid "Total package names: "
++msgid "Total package names : "
  msgstr ""
  
  #: cmdline/apt-cache.cc:287
@@@ -56,7 -56,7 +56,7 @@@ msgid "Total distinct versions: 
  msgstr ""
  
  #: cmdline/apt-cache.cc:295
--msgid "Total distinct descriptions: "
++msgid "Total Distinct Descriptions: "
  msgstr ""
  
  #: cmdline/apt-cache.cc:297
@@@ -155,10 -155,10 +155,10 @@@ msgid "       %4i %s\n
  msgstr ""
  
  #: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
--#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547
- #: cmdline/apt-get.cc:2571 cmdline/apt-sortpkgs.cc:144
 -#: cmdline/apt-get.cc:2573 cmdline/apt-sortpkgs.cc:144
++#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
++#: cmdline/apt-get.cc:2564 cmdline/apt-sortpkgs.cc:144
  #, c-format
--msgid "%s %s for %s compiled on %s %s\n"
++msgid "%s %s for %s %s compiled on %s %s\n"
  msgstr ""
  
  #: cmdline/apt-cache.cc:1721
@@@ -184,8 -184,8 +184,8 @@@ msgid "
  "   show - Show a readable record for the package\n"
  "   depends - Show raw dependency information for a package\n"
  "   rdepends - Show reverse dependency information for a package\n"
 -"   pkgnames - List the names of all packages in the system\n"
 -"   dotty - Generate package graphs for GraphViz\n"
 +"   pkgnames - List the names of all packages\n"
 +"   dotty - Generate package graphs for GraphVis\n"
  "   xvcg - Generate package graphs for xvcg\n"
  "   policy - Show policy settings\n"
  "\n"
@@@ -251,7 -251,7 +251,7 @@@ msgid "
  "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
  msgstr ""
  
 -#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:827
 +#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:815
  #, c-format
  msgid "Unable to write to %s"
  msgstr ""
@@@ -260,31 -260,31 +260,31 @@@
  msgid "Cannot get debconf version. Is debconf installed?"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:164 ftparchive/apt-ftparchive.cc:338
++#: ftparchive/apt-ftparchive.cc:167 ftparchive/apt-ftparchive.cc:341
  msgid "Package extension list is too long"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:166 ftparchive/apt-ftparchive.cc:180
--#: ftparchive/apt-ftparchive.cc:203 ftparchive/apt-ftparchive.cc:253
--#: ftparchive/apt-ftparchive.cc:267 ftparchive/apt-ftparchive.cc:289
++#: ftparchive/apt-ftparchive.cc:169 ftparchive/apt-ftparchive.cc:183
++#: ftparchive/apt-ftparchive.cc:206 ftparchive/apt-ftparchive.cc:256
++#: ftparchive/apt-ftparchive.cc:270 ftparchive/apt-ftparchive.cc:292
  #, c-format
  msgid "Error processing directory %s"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:251
++#: ftparchive/apt-ftparchive.cc:254
  msgid "Source extension list is too long"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:368
++#: ftparchive/apt-ftparchive.cc:371
  msgid "Error writing header to contents file"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:398
++#: ftparchive/apt-ftparchive.cc:401
  #, c-format
  msgid "Error processing contents %s"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:553
++#: ftparchive/apt-ftparchive.cc:556
  msgid ""
  "Usage: apt-ftparchive [options] command\n"
  "Commands: packages binarypath [overridefile [pathprefix]]\n"
@@@ -326,445 -326,445 +326,445 @@@
  "  -o=?  Set an arbitrary configuration option"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:759
++#: ftparchive/apt-ftparchive.cc:762
  msgid "No selections matched"
  msgstr ""
  
--#: ftparchive/apt-ftparchive.cc:832
++#: ftparchive/apt-ftparchive.cc:835
  #, c-format
  msgid "Some files are missing in the package file group `%s'"
  msgstr ""
  
--#: ftparchive/cachedb.cc:43
++#: ftparchive/cachedb.cc:47
  #, c-format
  msgid "DB was corrupted, file renamed to %s.old"
  msgstr ""
  
--#: ftparchive/cachedb.cc:61
++#: ftparchive/cachedb.cc:65
  #, c-format
  msgid "DB is old, attempting to upgrade %s"
  msgstr ""
  
--#: ftparchive/cachedb.cc:72
++#: 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:77
++#: ftparchive/cachedb.cc:81
  #, c-format
  msgid "Unable to open DB file %s: %s"
  msgstr ""
  
--#: ftparchive/cachedb.cc:123 apt-inst/extract.cc:178 apt-inst/extract.cc:190
--#: apt-inst/extract.cc:207 apt-inst/deb/dpkgdb.cc:117
++#: 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
  #, c-format
  msgid "Failed to stat %s"
  msgstr ""
  
--#: ftparchive/cachedb.cc:238
++#: ftparchive/cachedb.cc:242
  msgid "Archive has no control record"
  msgstr ""
  
--#: ftparchive/cachedb.cc:444
++#: ftparchive/cachedb.cc:448
  msgid "Unable to get a cursor"
  msgstr ""
  
--#: ftparchive/writer.cc:76
++#: ftparchive/writer.cc:79
  #, c-format
  msgid "W: Unable to read directory %s\n"
  msgstr ""
  
--#: ftparchive/writer.cc:81
++#: ftparchive/writer.cc:84
  #, c-format
  msgid "W: Unable to stat %s\n"
  msgstr ""
  
--#: ftparchive/writer.cc:132
++#: ftparchive/writer.cc:135
  msgid "E: "
  msgstr ""
  
--#: ftparchive/writer.cc:134
++#: ftparchive/writer.cc:137
  msgid "W: "
  msgstr ""
  
--#: ftparchive/writer.cc:141
++#: ftparchive/writer.cc:144
  msgid "E: Errors apply to file "
  msgstr ""
  
--#: ftparchive/writer.cc:158 ftparchive/writer.cc:188
++#: ftparchive/writer.cc:161 ftparchive/writer.cc:191
  #, c-format
  msgid "Failed to resolve %s"
  msgstr ""
  
--#: ftparchive/writer.cc:170
++#: ftparchive/writer.cc:173
  msgid "Tree walking failed"
  msgstr ""
  
--#: ftparchive/writer.cc:195
++#: ftparchive/writer.cc:198
  #, c-format
  msgid "Failed to open %s"
  msgstr ""
  
--#: ftparchive/writer.cc:254
++#: ftparchive/writer.cc:257
  #, c-format
  msgid " DeLink %s [%s]\n"
  msgstr ""
  
--#: ftparchive/writer.cc:262
++#: ftparchive/writer.cc:265
  #, c-format
  msgid "Failed to readlink %s"
  msgstr ""
  
--#: ftparchive/writer.cc:266
++#: ftparchive/writer.cc:269
  #, c-format
  msgid "Failed to unlink %s"
  msgstr ""
  
--#: ftparchive/writer.cc:273
++#: ftparchive/writer.cc:276
  #, c-format
  msgid "*** Failed to link %s to %s"
  msgstr ""
  
--#: ftparchive/writer.cc:283
++#: ftparchive/writer.cc:286
  #, c-format
  msgid " DeLink limit of %sB hit.\n"
  msgstr ""
  
--#: ftparchive/writer.cc:387
++#: ftparchive/writer.cc:390
  msgid "Archive had no package field"
  msgstr ""
  
--#: ftparchive/writer.cc:395 ftparchive/writer.cc:610
++#: ftparchive/writer.cc:398 ftparchive/writer.cc:613
  #, c-format
  msgid "  %s has no override entry\n"
  msgstr ""
  
--#: ftparchive/writer.cc:440 ftparchive/writer.cc:698
++#: ftparchive/writer.cc:443 ftparchive/writer.cc:701
  #, c-format
  msgid "  %s maintainer is %s not %s\n"
  msgstr ""
  
--#: ftparchive/writer.cc:620
++#: ftparchive/writer.cc:623
  #, c-format
  msgid "  %s has no source override entry\n"
  msgstr ""
  
--#: ftparchive/writer.cc:624
++#: ftparchive/writer.cc:627
  #, c-format
  msgid "  %s has no binary override entry either\n"
  msgstr ""
  
--#: ftparchive/contents.cc:321
++#: ftparchive/contents.cc:317
  #, c-format
  msgid "Internal error, could not locate member %s"
  msgstr ""
  
--#: ftparchive/contents.cc:358 ftparchive/contents.cc:389
++#: ftparchive/contents.cc:353 ftparchive/contents.cc:384
  msgid "realloc - Failed to allocate memory"
  msgstr ""
  
--#: ftparchive/override.cc:34 ftparchive/override.cc:142
++#: ftparchive/override.cc:38 ftparchive/override.cc:146
  #, c-format
  msgid "Unable to open %s"
  msgstr ""
  
--#: ftparchive/override.cc:60 ftparchive/override.cc:166
++#: ftparchive/override.cc:64 ftparchive/override.cc:170
  #, c-format
  msgid "Malformed override %s line %lu #1"
  msgstr ""
  
--#: ftparchive/override.cc:74 ftparchive/override.cc:178
++#: ftparchive/override.cc:78 ftparchive/override.cc:182
  #, c-format
  msgid "Malformed override %s line %lu #2"
  msgstr ""
  
--#: ftparchive/override.cc:88 ftparchive/override.cc:191
++#: ftparchive/override.cc:92 ftparchive/override.cc:195
  #, c-format
  msgid "Malformed override %s line %lu #3"
  msgstr ""
  
--#: ftparchive/override.cc:127 ftparchive/override.cc:201
++#: ftparchive/override.cc:131 ftparchive/override.cc:205
  #, c-format
  msgid "Failed to read the override file %s"
  msgstr ""
  
--#: ftparchive/multicompress.cc:72
++#: ftparchive/multicompress.cc:75
  #, c-format
  msgid "Unknown compression algorithm '%s'"
  msgstr ""
  
--#: ftparchive/multicompress.cc:102
++#: ftparchive/multicompress.cc:105
  #, c-format
  msgid "Compressed output %s needs a compression set"
  msgstr ""
  
--#: ftparchive/multicompress.cc:169 methods/rsh.cc:91
++#: ftparchive/multicompress.cc:172 methods/rsh.cc:91
  msgid "Failed to create IPC pipe to subprocess"
  msgstr ""
  
--#: ftparchive/multicompress.cc:195
++#: ftparchive/multicompress.cc:198
  msgid "Failed to create FILE*"
  msgstr ""
  
--#: ftparchive/multicompress.cc:198
++#: ftparchive/multicompress.cc:201
  msgid "Failed to fork"
  msgstr ""
  
--#: ftparchive/multicompress.cc:212
++#: ftparchive/multicompress.cc:215
  msgid "Compress child"
  msgstr ""
  
--#: ftparchive/multicompress.cc:235
++#: ftparchive/multicompress.cc:238
  #, c-format
  msgid "Internal error, failed to create %s"
  msgstr ""
  
--#: ftparchive/multicompress.cc:286
++#: ftparchive/multicompress.cc:289
  msgid "Failed to create subprocess IPC"
  msgstr ""
  
--#: ftparchive/multicompress.cc:321
++#: ftparchive/multicompress.cc:324
  msgid "Failed to exec compressor "
  msgstr ""
  
--#: ftparchive/multicompress.cc:360
++#: ftparchive/multicompress.cc:363
  msgid "decompressor"
  msgstr ""
  
--#: ftparchive/multicompress.cc:403
++#: ftparchive/multicompress.cc:406
  msgid "IO to subprocess/file failed"
  msgstr ""
  
--#: ftparchive/multicompress.cc:455
++#: ftparchive/multicompress.cc:458
  msgid "Failed to read while computing MD5"
  msgstr ""
  
--#: ftparchive/multicompress.cc:472
++#: ftparchive/multicompress.cc:475
  #, c-format
  msgid "Problem unlinking %s"
  msgstr ""
  
--#: ftparchive/multicompress.cc:487 apt-inst/extract.cc:185
++#: ftparchive/multicompress.cc:490 apt-inst/extract.cc:188
  #, c-format
  msgid "Failed to rename %s to %s"
  msgstr ""
  
--#: cmdline/apt-get.cc:124
++#: cmdline/apt-get.cc:121
  msgid "Y"
  msgstr ""
  
--#: cmdline/apt-get.cc:146 cmdline/apt-get.cc:1651
++#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1655
  #, c-format
  msgid "Regex compilation error - %s"
  msgstr ""
  
--#: cmdline/apt-get.cc:241
++#: cmdline/apt-get.cc:238
  msgid "The following packages have unmet dependencies:"
  msgstr ""
  
--#: cmdline/apt-get.cc:331
++#: cmdline/apt-get.cc:328
  #, c-format
  msgid "but %s is installed"
  msgstr ""
  
--#: cmdline/apt-get.cc:333
++#: cmdline/apt-get.cc:330
  #, c-format
  msgid "but %s is to be installed"
  msgstr ""
  
--#: cmdline/apt-get.cc:340
++#: cmdline/apt-get.cc:337
  msgid "but it is not installable"
  msgstr ""
  
--#: cmdline/apt-get.cc:342
++#: cmdline/apt-get.cc:339
  msgid "but it is a virtual package"
  msgstr ""
  
--#: cmdline/apt-get.cc:345
++#: cmdline/apt-get.cc:342
  msgid "but it is not installed"
  msgstr ""
  
--#: cmdline/apt-get.cc:345
++#: cmdline/apt-get.cc:342
  msgid "but it is not going to be installed"
  msgstr ""
  
--#: cmdline/apt-get.cc:350
++#: cmdline/apt-get.cc:347
  msgid " or"
  msgstr ""
  
--#: cmdline/apt-get.cc:379
++#: cmdline/apt-get.cc:376
  msgid "The following NEW packages will be installed:"
  msgstr ""
  
--#: cmdline/apt-get.cc:405
++#: cmdline/apt-get.cc:402
  msgid "The following packages will be REMOVED:"
  msgstr ""
  
--#: cmdline/apt-get.cc:427
++#: cmdline/apt-get.cc:424
  msgid "The following packages have been kept back:"
  msgstr ""
  
--#: cmdline/apt-get.cc:448
++#: cmdline/apt-get.cc:445
  msgid "The following packages will be upgraded:"
  msgstr ""
  
--#: cmdline/apt-get.cc:469
++#: cmdline/apt-get.cc:466
  msgid "The following packages will be DOWNGRADED:"
  msgstr ""
  
--#: cmdline/apt-get.cc:489
++#: cmdline/apt-get.cc:486
  msgid "The following held packages will be changed:"
  msgstr ""
  
--#: cmdline/apt-get.cc:542
++#: cmdline/apt-get.cc:539
  #, c-format
  msgid "%s (due to %s) "
  msgstr ""
  
--#: cmdline/apt-get.cc:550
++#: 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:581
++#: cmdline/apt-get.cc:578
  #, c-format
  msgid "%lu upgraded, %lu newly installed, "
  msgstr ""
  
--#: cmdline/apt-get.cc:585
++#: cmdline/apt-get.cc:582
  #, c-format
  msgid "%lu reinstalled, "
  msgstr ""
  
--#: cmdline/apt-get.cc:587
++#: cmdline/apt-get.cc:584
  #, c-format
  msgid "%lu downgraded, "
  msgstr ""
  
--#: cmdline/apt-get.cc:589
++#: cmdline/apt-get.cc:586
  #, c-format
  msgid "%lu to remove and %lu not upgraded.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:593
++#: cmdline/apt-get.cc:590
  #, c-format
  msgid "%lu not fully installed or removed.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:667
++#: cmdline/apt-get.cc:664
  msgid "Correcting dependencies..."
  msgstr ""
  
--#: cmdline/apt-get.cc:670
++#: cmdline/apt-get.cc:667
  msgid " failed."
  msgstr ""
  
--#: cmdline/apt-get.cc:673
++#: cmdline/apt-get.cc:670
  msgid "Unable to correct dependencies"
  msgstr ""
  
--#: cmdline/apt-get.cc:676
++#: cmdline/apt-get.cc:673
  msgid "Unable to minimize the upgrade set"
  msgstr ""
  
--#: cmdline/apt-get.cc:678
++#: cmdline/apt-get.cc:675
  msgid " Done"
  msgstr ""
  
--#: cmdline/apt-get.cc:682
++#: cmdline/apt-get.cc:679
  msgid "You might want to run `apt-get -f install' to correct these."
  msgstr ""
  
--#: cmdline/apt-get.cc:685
++#: cmdline/apt-get.cc:682
  msgid "Unmet dependencies. Try using -f."
  msgstr ""
  
--#: cmdline/apt-get.cc:707
++#: cmdline/apt-get.cc:704
  msgid "WARNING: The following packages cannot be authenticated!"
  msgstr ""
  
--#: cmdline/apt-get.cc:711
++#: cmdline/apt-get.cc:708
  msgid "Authentication warning overridden.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:718
++#: cmdline/apt-get.cc:715
  msgid "Install these packages without verification [y/N]? "
  msgstr ""
  
--#: cmdline/apt-get.cc:720
++#: cmdline/apt-get.cc:717
  msgid "Some packages could not be authenticated"
  msgstr ""
  
--#: cmdline/apt-get.cc:729 cmdline/apt-get.cc:881
++#: 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:773
++#: cmdline/apt-get.cc:770
  msgid "Internal error, InstallPackages was called with broken packages!"
  msgstr ""
  
--#: cmdline/apt-get.cc:782
++#: cmdline/apt-get.cc:779
  msgid "Packages need to be removed but remove is disabled."
  msgstr ""
  
--#: cmdline/apt-get.cc:793
++#: cmdline/apt-get.cc:790
  msgid "Internal error, Ordering didn't finish"
  msgstr ""
  
- #: cmdline/apt-get.cc:809 cmdline/apt-get.cc:1990 cmdline/apt-get.cc:2023
 -#: cmdline/apt-get.cc:809 cmdline/apt-get.cc:1992 cmdline/apt-get.cc:2025
++#: cmdline/apt-get.cc:806 cmdline/apt-get.cc:1995 cmdline/apt-get.cc:2028
  msgid "Unable to lock the download directory"
  msgstr ""
  
- #: cmdline/apt-get.cc:819 cmdline/apt-get.cc:2071 cmdline/apt-get.cc:2317
 -#: cmdline/apt-get.cc:819 cmdline/apt-get.cc:2073 cmdline/apt-get.cc:2319
--#: apt-pkg/cachefile.cc:65
++#: cmdline/apt-get.cc:816 cmdline/apt-get.cc:2076 cmdline/apt-get.cc:2312
++#: apt-pkg/cachefile.cc:63
  msgid "The list of sources could not be read."
  msgstr ""
  
--#: cmdline/apt-get.cc:834
++#: cmdline/apt-get.cc:831
  msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
  msgstr ""
  
--#: cmdline/apt-get.cc:839
++#: cmdline/apt-get.cc:836
  #, c-format
  msgid "Need to get %sB/%sB of archives.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:842
++#: cmdline/apt-get.cc:839
  #, c-format
  msgid "Need to get %sB of archives.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:847
++#: cmdline/apt-get.cc:844
  #, c-format
--msgid "After this operation, %sB of additional disk space will be used.\n"
++msgid "After unpacking %sB of additional disk space will be used.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:850
++#: cmdline/apt-get.cc:847
  #, c-format
--msgid "After this operation, %sB disk space will be freed.\n"
++msgid "After unpacking %sB disk space will be freed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:864 cmdline/apt-get.cc:2166
 -#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:2168
++#: cmdline/apt-get.cc:861 cmdline/apt-get.cc:2166
  #, c-format
  msgid "Couldn't determine free space in %s"
  msgstr ""
  
--#: cmdline/apt-get.cc:871
++#: cmdline/apt-get.cc:864
  #, c-format
  msgid "You don't have enough free space in %s."
  msgstr ""
  
--#: cmdline/apt-get.cc:887 cmdline/apt-get.cc:907
++#: 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:889
++#: cmdline/apt-get.cc:881
  msgid "Yes, do as I say!"
  msgstr ""
  
--#: cmdline/apt-get.cc:891
++#: cmdline/apt-get.cc:883
  #, c-format
  msgid ""
  "You are about to do something potentially harmful.\n"
@@@ -772,74 -772,74 +772,74 @@@
  " ?] "
  msgstr ""
  
--#: cmdline/apt-get.cc:897 cmdline/apt-get.cc:916
++#: cmdline/apt-get.cc:889 cmdline/apt-get.cc:908
  msgid "Abort."
  msgstr ""
  
--#: cmdline/apt-get.cc:912
++#: cmdline/apt-get.cc:904
  msgid "Do you want to continue [Y/n]? "
  msgstr ""
  
- #: cmdline/apt-get.cc:984 cmdline/apt-get.cc:2214 apt-pkg/algorithms.cc:1344
 -#: cmdline/apt-get.cc:984 cmdline/apt-get.cc:2216 apt-pkg/algorithms.cc:1349
++#: cmdline/apt-get.cc:976 cmdline/apt-get.cc:1383 cmdline/apt-get.cc:2209
  #, c-format
  msgid "Failed to fetch %s  %s\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1002
++#: cmdline/apt-get.cc:994
  msgid "Some files failed to download"
  msgstr ""
  
- #: cmdline/apt-get.cc:1003 cmdline/apt-get.cc:2223
 -#: cmdline/apt-get.cc:1003 cmdline/apt-get.cc:2225
++#: cmdline/apt-get.cc:995 cmdline/apt-get.cc:2218
  msgid "Download complete and in download only mode"
  msgstr ""
  
--#: cmdline/apt-get.cc:1009
++#: 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:1013
++#: cmdline/apt-get.cc:1005
  msgid "--fix-missing and media swapping is not currently supported"
  msgstr ""
  
--#: cmdline/apt-get.cc:1018
++#: cmdline/apt-get.cc:1010
  msgid "Unable to correct missing packages."
  msgstr ""
  
--#: cmdline/apt-get.cc:1019
++#: cmdline/apt-get.cc:1011
  msgid "Aborting install."
  msgstr ""
  
--#: cmdline/apt-get.cc:1053
++#: cmdline/apt-get.cc:1045
  #, c-format
  msgid "Note, selecting %s instead of %s\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1063
++#: 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:1081
++#: cmdline/apt-get.cc:1073
  #, c-format
  msgid "Package %s is not installed, so not removed\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1092
++#: cmdline/apt-get.cc:1084
  #, c-format
  msgid "Package %s is a virtual package provided by:\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1104
++#: cmdline/apt-get.cc:1096
  msgid " [Installed]"
  msgstr ""
  
--#: cmdline/apt-get.cc:1109
++#: cmdline/apt-get.cc:1101
  msgid "You should explicitly select one to install."
  msgstr ""
  
--#: cmdline/apt-get.cc:1114
++#: cmdline/apt-get.cc:1106
  #, c-format
  msgid ""
  "Package %s is not available, but is referred to by another package.\n"
@@@ -847,111 -847,121 +847,117 @@@
  "is only available from another source\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1133
++#: cmdline/apt-get.cc:1125
  msgid "However the following packages replace it:"
  msgstr ""
  
--#: cmdline/apt-get.cc:1136
++#: cmdline/apt-get.cc:1128
  #, c-format
  msgid "Package %s has no installation candidate"
  msgstr ""
  
--#: cmdline/apt-get.cc:1156
++#: cmdline/apt-get.cc:1148
  #, c-format
  msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1164
++#: cmdline/apt-get.cc:1156
  #, c-format
  msgid "%s is already the newest version.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1193
++#: cmdline/apt-get.cc:1185
  #, c-format
  msgid "Release '%s' for '%s' was not found"
  msgstr ""
  
--#: cmdline/apt-get.cc:1195
++#: cmdline/apt-get.cc:1187
  #, c-format
  msgid "Version '%s' for '%s' was not found"
  msgstr ""
  
--#: cmdline/apt-get.cc:1201
++#: cmdline/apt-get.cc:1193
  #, c-format
  msgid "Selected version %s (%s) for %s\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1338
++#: cmdline/apt-get.cc:1330
  msgid "The update command takes no arguments"
  msgstr ""
  
--#: cmdline/apt-get.cc:1351
++#: cmdline/apt-get.cc:1343
  msgid "Unable to lock the list directory"
  msgstr ""
  
--#: cmdline/apt-get.cc:1403
++#: cmdline/apt-get.cc:1410 cmdline/apt-get.cc:1412
++msgid ""
++"Some index files failed to download, they have been ignored, or old ones "
++"used instead."
++msgstr ""
++
++#: cmdline/apt-get.cc:1433
  msgid "We are not supposed to delete stuff, can't start AutoRemover"
  msgstr ""
  
--#: cmdline/apt-get.cc:1435
++#: cmdline/apt-get.cc:1465
  msgid ""
  "The following packages were automatically installed and are no longer "
  "required:"
  msgstr ""
  
--#: cmdline/apt-get.cc:1437
++#: cmdline/apt-get.cc:1467
  msgid "Use 'apt-get autoremove' to remove them."
  msgstr ""
  
--#: cmdline/apt-get.cc:1442
++#: cmdline/apt-get.cc:1472
  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:1445 cmdline/apt-get.cc:1733
 -#.
 -#. 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;
 -#. }
 -#.
 -#: cmdline/apt-get.cc:1445 cmdline/apt-get.cc:1735
++#: cmdline/apt-get.cc:1475 cmdline/apt-get.cc:1736
  msgid "The following information may help to resolve the situation:"
  msgstr ""
  
--#: cmdline/apt-get.cc:1449
++#: cmdline/apt-get.cc:1479
  msgid "Internal Error, AutoRemover broke stuff"
  msgstr ""
  
--#: cmdline/apt-get.cc:1468
++#: cmdline/apt-get.cc:1498
  msgid "Internal error, AllUpgrade broke stuff"
  msgstr ""
  
--#: cmdline/apt-get.cc:1523
++#: cmdline/apt-get.cc:1543
  #, c-format
  msgid "Couldn't find task %s"
  msgstr ""
  
--#: cmdline/apt-get.cc:1638 cmdline/apt-get.cc:1674
++#: cmdline/apt-get.cc:1642 cmdline/apt-get.cc:1678
  #, c-format
  msgid "Couldn't find package %s"
  msgstr ""
  
--#: cmdline/apt-get.cc:1661
++#: cmdline/apt-get.cc:1665
  #, c-format
  msgid "Note, selecting %s for regex '%s'\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1692
++#: cmdline/apt-get.cc:1695
  #, c-format
--msgid "%s set to manually installed.\n"
++msgid "%s set to manual installed.\n"
  msgstr ""
  
--#: cmdline/apt-get.cc:1705
++#: cmdline/apt-get.cc:1708
  msgid "You might want to run `apt-get -f install' to correct these:"
  msgstr ""
  
--#: cmdline/apt-get.cc:1708
++#: cmdline/apt-get.cc:1711
  msgid ""
  "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
  "solution)."
  msgstr ""
  
--#: cmdline/apt-get.cc:1720
++#: cmdline/apt-get.cc:1723
  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"
@@@ -959,159 -969,152 +965,159 @@@
  "or been moved out of Incoming."
  msgstr ""
  
- #: cmdline/apt-get.cc:1728
 -#: cmdline/apt-get.cc:1738
++#: cmdline/apt-get.cc:1731
 +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:1736
++#: cmdline/apt-get.cc:1739
  msgid "Broken packages"
  msgstr ""
  
- #: cmdline/apt-get.cc:1765
 -#: cmdline/apt-get.cc:1767
++#: cmdline/apt-get.cc:1770
  msgid "The following extra packages will be installed:"
  msgstr ""
  
- #: cmdline/apt-get.cc:1854
 -#: cmdline/apt-get.cc:1856
++#: cmdline/apt-get.cc:1859
  msgid "Suggested packages:"
  msgstr ""
  
- #: cmdline/apt-get.cc:1855
 -#: cmdline/apt-get.cc:1857
++#: cmdline/apt-get.cc:1860
  msgid "Recommended packages:"
  msgstr ""
  
- #: cmdline/apt-get.cc:1883
 -#: cmdline/apt-get.cc:1885
++#: cmdline/apt-get.cc:1888
  msgid "Calculating upgrade... "
  msgstr ""
  
- #: cmdline/apt-get.cc:1886 methods/ftp.cc:702 methods/connect.cc:112
 -#: cmdline/apt-get.cc:1888 methods/ftp.cc:702 methods/connect.cc:112
++#: cmdline/apt-get.cc:1891 methods/ftp.cc:702 methods/connect.cc:101
  msgid "Failed"
  msgstr ""
  
- #: cmdline/apt-get.cc:1891
 -#: cmdline/apt-get.cc:1893
++#: cmdline/apt-get.cc:1896
  msgid "Done"
  msgstr ""
  
- #: cmdline/apt-get.cc:1958 cmdline/apt-get.cc:1966
 -#: cmdline/apt-get.cc:1960 cmdline/apt-get.cc:1968
++#: cmdline/apt-get.cc:1963 cmdline/apt-get.cc:1971
  msgid "Internal error, problem resolver broke stuff"
  msgstr ""
  
- #: cmdline/apt-get.cc:2066
 -#: cmdline/apt-get.cc:2068
++#: cmdline/apt-get.cc:2071
  msgid "Must specify at least one package to fetch source for"
  msgstr ""
  
- #: cmdline/apt-get.cc:2096 cmdline/apt-get.cc:2335
 -#: cmdline/apt-get.cc:2098 cmdline/apt-get.cc:2337
++#: cmdline/apt-get.cc:2101 cmdline/apt-get.cc:2330
  #, c-format
  msgid "Unable to find a source package for %s"
  msgstr ""
  
 -#: cmdline/apt-get.cc:2147
 +#: cmdline/apt-get.cc:2145
  #, c-format
  msgid "Skipping already downloaded file '%s'\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2173
 -#: cmdline/apt-get.cc:2175
++#: cmdline/apt-get.cc:2169
  #, c-format
  msgid "You don't have enough free space in %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:2179
 -#: cmdline/apt-get.cc:2181
++#: cmdline/apt-get.cc:2174
  #, c-format
  msgid "Need to get %sB/%sB of source archives.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2182
 -#: cmdline/apt-get.cc:2184
++#: cmdline/apt-get.cc:2177
  #, c-format
  msgid "Need to get %sB of source archives.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2188
 -#: cmdline/apt-get.cc:2190
++#: cmdline/apt-get.cc:2183
  #, c-format
  msgid "Fetch source %s\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2219
 -#: cmdline/apt-get.cc:2221
++#: cmdline/apt-get.cc:2214
  msgid "Failed to fetch some archives."
  msgstr ""
  
- #: cmdline/apt-get.cc:2247
 -#: cmdline/apt-get.cc:2249
++#: cmdline/apt-get.cc:2242
  #, c-format
  msgid "Skipping unpack of already unpacked source in %s\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2259
 -#: cmdline/apt-get.cc:2261
++#: cmdline/apt-get.cc:2254
  #, c-format
  msgid "Unpack command '%s' failed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2260
 -#: cmdline/apt-get.cc:2262
++#: cmdline/apt-get.cc:2255
  #, c-format
  msgid "Check if the 'dpkg-dev' package is installed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2277
 -#: cmdline/apt-get.cc:2279
++#: cmdline/apt-get.cc:2272
  #, c-format
  msgid "Build command '%s' failed.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2296
 -#: cmdline/apt-get.cc:2298
++#: cmdline/apt-get.cc:2291
  msgid "Child process failed"
  msgstr ""
  
- #: cmdline/apt-get.cc:2312
 -#: cmdline/apt-get.cc:2314
++#: cmdline/apt-get.cc:2307
  msgid "Must specify at least one package to check builddeps for"
  msgstr ""
  
- #: cmdline/apt-get.cc:2340
 -#: cmdline/apt-get.cc:2342
++#: cmdline/apt-get.cc:2335
  #, c-format
  msgid "Unable to get build-dependency information for %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:2360
 -#: cmdline/apt-get.cc:2362
++#: cmdline/apt-get.cc:2355
  #, c-format
  msgid "%s has no build depends.\n"
  msgstr ""
  
- #: cmdline/apt-get.cc:2412
 -#: cmdline/apt-get.cc:2414
++#: cmdline/apt-get.cc:2407
  #, c-format
  msgid ""
  "%s dependency for %s cannot be satisfied because the package %s cannot be "
  "found"
  msgstr ""
  
- #: cmdline/apt-get.cc:2465
 -#: cmdline/apt-get.cc:2467
++#: cmdline/apt-get.cc:2459
  #, 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:2501
 -#: cmdline/apt-get.cc:2503
++#: cmdline/apt-get.cc:2494
  #, c-format
  msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
  msgstr ""
  
- #: cmdline/apt-get.cc:2526
 -#: cmdline/apt-get.cc:2528
++#: cmdline/apt-get.cc:2519
  #, c-format
  msgid "Failed to satisfy %s dependency for %s: %s"
  msgstr ""
  
- #: cmdline/apt-get.cc:2540
 -#: cmdline/apt-get.cc:2542
++#: cmdline/apt-get.cc:2533
  #, c-format
  msgid "Build-dependencies for %s could not be satisfied."
  msgstr ""
  
- #: cmdline/apt-get.cc:2544
 -#: cmdline/apt-get.cc:2546
++#: cmdline/apt-get.cc:2537
  msgid "Failed to process build dependencies"
  msgstr ""
  
- #: cmdline/apt-get.cc:2576
 -#: cmdline/apt-get.cc:2578
++#: cmdline/apt-get.cc:2569
  msgid "Supported modules:"
  msgstr ""
  
- #: cmdline/apt-get.cc:2617
 -#: cmdline/apt-get.cc:2619
++#: cmdline/apt-get.cc:2610
  msgid ""
  "Usage: apt-get [options] command\n"
  "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@@ -1126,8 -1129,8 +1132,6 @@@
  "   upgrade - Perform an upgrade\n"
  "   install - Install new packages (pkg is libc6 not libc6.deb)\n"
  "   remove - Remove packages\n"
--"   autoremove - Remove automatically all unused packages\n"
--"   purge - Remove and purge packages\n"
  "   source - Download source archives\n"
  "   build-dep - Configure build-dependencies for source packages\n"
  "   dist-upgrade - Distribution upgrade, see apt-get(8)\n"
@@@ -1143,7 -1146,7 +1147,7 @@@
  "  -d  Download only - do NOT install or unpack archives\n"
  "  -s  No-act. Perform ordering simulation\n"
  "  -y  Assume Yes to all queries and do not prompt\n"
--"  -f  Attempt to correct a system with broken dependencies in place\n"
++"  -f  Attempt to continue if the integrity check fails\n"
  "  -m  Attempt to continue if archives are unlocatable\n"
  "  -u  Show a list of upgraded packages as well\n"
  "  -b  Build the source package after fetching it\n"
@@@ -1211,28 -1214,28 +1215,24 @@@ msgstr "
  msgid "Bad default setting!"
  msgstr ""
  
--#: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:94
--#: dselect/install:105 dselect/update:45
++#: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:93
++#: dselect/install:104 dselect/update:45
  msgid "Press enter to continue."
  msgstr ""
  
--#: dselect/install:91
--msgid "Do you want to erase any previously downloaded .deb files?"
--msgstr ""
--
--#: dselect/install:101
++#: dselect/install:100
  msgid "Some errors occurred while unpacking. I'm going to configure the"
  msgstr ""
  
--#: dselect/install:102
++#: dselect/install:101
  msgid "packages that were installed. This may result in duplicate errors"
  msgstr ""
  
--#: dselect/install:103
++#: dselect/install:102
  msgid "or errors caused by missing dependencies. This is OK, only the errors"
  msgstr ""
  
--#: dselect/install:104
++#: dselect/install:103
  msgid ""
  "above this message are important. Please fix them and run [I]nstall again"
  msgstr ""
@@@ -1241,188 -1244,188 +1241,188 @@@
  msgid "Merging available information"
  msgstr ""
  
--#: apt-inst/contrib/extracttar.cc:114
++#: apt-inst/contrib/extracttar.cc:117
  msgid "Failed to create pipes"
  msgstr ""
  
--#: apt-inst/contrib/extracttar.cc:141
++#: apt-inst/contrib/extracttar.cc:144
  msgid "Failed to exec gzip "
  msgstr ""
  
--#: apt-inst/contrib/extracttar.cc:178 apt-inst/contrib/extracttar.cc:204
++#: apt-inst/contrib/extracttar.cc:181 apt-inst/contrib/extracttar.cc:207
  msgid "Corrupted archive"
  msgstr ""
  
--#: apt-inst/contrib/extracttar.cc:193
++#: apt-inst/contrib/extracttar.cc:196
  msgid "Tar checksum failed, archive corrupted"
  msgstr ""
  
--#: apt-inst/contrib/extracttar.cc:296
++#: apt-inst/contrib/extracttar.cc:299
  #, c-format
  msgid "Unknown TAR header type %u, member %s"
  msgstr ""
  
--#: apt-inst/contrib/arfile.cc:70
++#: apt-inst/contrib/arfile.cc:73
  msgid "Invalid archive signature"
  msgstr ""
  
--#: apt-inst/contrib/arfile.cc:78
++#: apt-inst/contrib/arfile.cc:81
  msgid "Error reading archive member header"
  msgstr ""
  
--#: apt-inst/contrib/arfile.cc:90 apt-inst/contrib/arfile.cc:102
++#: apt-inst/contrib/arfile.cc:93 apt-inst/contrib/arfile.cc:105
  msgid "Invalid archive member header"
  msgstr ""
  
--#: apt-inst/contrib/arfile.cc:128
++#: apt-inst/contrib/arfile.cc:131
  msgid "Archive is too short"
  msgstr ""
  
--#: apt-inst/contrib/arfile.cc:132
++#: apt-inst/contrib/arfile.cc:135
  msgid "Failed to read the archive headers"
  msgstr ""
  
--#: apt-inst/filelist.cc:380
++#: apt-inst/filelist.cc:384
  msgid "DropNode called on still linked node"
  msgstr ""
  
--#: apt-inst/filelist.cc:412
++#: apt-inst/filelist.cc:416
  msgid "Failed to locate the hash element!"
  msgstr ""
  
--#: apt-inst/filelist.cc:459
++#: apt-inst/filelist.cc:463
  msgid "Failed to allocate diversion"
  msgstr ""
  
--#: apt-inst/filelist.cc:464
++#: apt-inst/filelist.cc:468
  msgid "Internal error in AddDiversion"
  msgstr ""
  
--#: apt-inst/filelist.cc:477
++#: apt-inst/filelist.cc:481
  #, c-format
  msgid "Trying to overwrite a diversion, %s -> %s and %s/%s"
  msgstr ""
  
--#: apt-inst/filelist.cc:506
++#: apt-inst/filelist.cc:510
  #, c-format
  msgid "Double add of diversion %s -> %s"
  msgstr ""
  
--#: apt-inst/filelist.cc:549
++#: apt-inst/filelist.cc:553
  #, c-format
  msgid "Duplicate conf file %s/%s"
  msgstr ""
  
--#: apt-inst/dirstream.cc:41 apt-inst/dirstream.cc:46 apt-inst/dirstream.cc:49
++#: apt-inst/dirstream.cc:45 apt-inst/dirstream.cc:50 apt-inst/dirstream.cc:53
  #, c-format
  msgid "Failed to write file %s"
  msgstr ""
  
--#: apt-inst/dirstream.cc:92 apt-inst/dirstream.cc:100
++#: apt-inst/dirstream.cc:96 apt-inst/dirstream.cc:104
  #, c-format
  msgid "Failed to close file %s"
  msgstr ""
  
--#: apt-inst/extract.cc:93 apt-inst/extract.cc:164
++#: apt-inst/extract.cc:96 apt-inst/extract.cc:167
  #, c-format
  msgid "The path %s is too long"
  msgstr ""
  
--#: apt-inst/extract.cc:124
++#: apt-inst/extract.cc:127
  #, c-format
  msgid "Unpacking %s more than once"
  msgstr ""
  
--#: apt-inst/extract.cc:134
++#: apt-inst/extract.cc:137
  #, c-format
  msgid "The directory %s is diverted"
  msgstr ""
  
--#: apt-inst/extract.cc:144
++#: apt-inst/extract.cc:147
  #, c-format
  msgid "The package is trying to write to the diversion target %s/%s"
  msgstr ""
  
--#: apt-inst/extract.cc:154 apt-inst/extract.cc:297
++#: apt-inst/extract.cc:157 apt-inst/extract.cc:300
  msgid "The diversion path is too long"
  msgstr ""
  
--#: apt-inst/extract.cc:240
++#: apt-inst/extract.cc:243
  #, c-format
  msgid "The directory %s is being replaced by a non-directory"
  msgstr ""
  
--#: apt-inst/extract.cc:280
++#: apt-inst/extract.cc:283
  msgid "Failed to locate node in its hash bucket"
  msgstr ""
  
--#: apt-inst/extract.cc:284
++#: apt-inst/extract.cc:287
  msgid "The path is too long"
  msgstr ""
  
--#: apt-inst/extract.cc:414
++#: apt-inst/extract.cc:417
  #, c-format
  msgid "Overwrite package match with no version for %s"
  msgstr ""
  
--#: apt-inst/extract.cc:431
++#: apt-inst/extract.cc:434
  #, c-format
  msgid "File %s/%s overwrites the one in the package %s"
  msgstr ""
  
--#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:821
++#: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:753
  #: apt-pkg/contrib/cdromutl.cc:150 apt-pkg/sourcelist.cc:320
  #: apt-pkg/acquire.cc:418 apt-pkg/clean.cc:34
  #, c-format
  msgid "Unable to read %s"
  msgstr ""
  
--#: apt-inst/extract.cc:491
++#: apt-inst/extract.cc:494
  #, c-format
  msgid "Unable to stat %s"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:51 apt-inst/deb/dpkgdb.cc:57
++#: apt-inst/deb/dpkgdb.cc:55 apt-inst/deb/dpkgdb.cc:61
  #, c-format
  msgid "Failed to remove %s"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:106 apt-inst/deb/dpkgdb.cc:108
++#: apt-inst/deb/dpkgdb.cc:110 apt-inst/deb/dpkgdb.cc:112
  #, c-format
  msgid "Unable to create %s"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:114
++#: apt-inst/deb/dpkgdb.cc:118
  #, c-format
  msgid "Failed to stat %sinfo"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:119
++#: apt-inst/deb/dpkgdb.cc:123
  msgid "The info and temp directories need to be on the same filesystem"
  msgstr ""
  
  #. Build the status cache
- #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:748
 -#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:760
 -#: apt-pkg/pkgcachegen.cc:829 apt-pkg/pkgcachegen.cc:834
 -#: apt-pkg/pkgcachegen.cc:957
++#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:748
 +#: apt-pkg/pkgcachegen.cc:817 apt-pkg/pkgcachegen.cc:822
 +#: apt-pkg/pkgcachegen.cc:945
  msgid "Reading package lists"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:176
++#: apt-inst/deb/dpkgdb.cc:180
  #, c-format
  msgid "Failed to change to the admin dir %sinfo"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:197 apt-inst/deb/dpkgdb.cc:351
--#: apt-inst/deb/dpkgdb.cc:444
++#: apt-inst/deb/dpkgdb.cc:201 apt-inst/deb/dpkgdb.cc:355
++#: apt-inst/deb/dpkgdb.cc:448
  msgid "Internal error getting a package name"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:201 apt-inst/deb/dpkgdb.cc:382
++#: apt-inst/deb/dpkgdb.cc:205 apt-inst/deb/dpkgdb.cc:386
  msgid "Reading file listing"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:212
++#: apt-inst/deb/dpkgdb.cc:216
  #, c-format
  msgid ""
  "Failed to open the list file '%sinfo/%s'. If you cannot restore this file "
@@@ -1430,77 -1433,77 +1430,77 @@@
  "package!"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:225 apt-inst/deb/dpkgdb.cc:238
++#: apt-inst/deb/dpkgdb.cc:229 apt-inst/deb/dpkgdb.cc:242
  #, c-format
  msgid "Failed reading the list file %sinfo/%s"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:262
++#: apt-inst/deb/dpkgdb.cc:266
  msgid "Internal error getting a node"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:305
++#: apt-inst/deb/dpkgdb.cc:309
  #, c-format
  msgid "Failed to open the diversions file %sdiversions"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:320
++#: apt-inst/deb/dpkgdb.cc:324
  msgid "The diversion file is corrupted"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:327 apt-inst/deb/dpkgdb.cc:332
--#: apt-inst/deb/dpkgdb.cc:337
++#: apt-inst/deb/dpkgdb.cc:331 apt-inst/deb/dpkgdb.cc:336
++#: apt-inst/deb/dpkgdb.cc:341
  #, c-format
  msgid "Invalid line in the diversion file: %s"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:358
++#: apt-inst/deb/dpkgdb.cc:362
  msgid "Internal error adding a diversion"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:379
++#: apt-inst/deb/dpkgdb.cc:383
  msgid "The pkg cache must be initialized first"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:439
++#: apt-inst/deb/dpkgdb.cc:443
  #, c-format
  msgid "Failed to find a Package: header, offset %lu"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:461
++#: apt-inst/deb/dpkgdb.cc:465
  #, c-format
  msgid "Bad ConfFile section in the status file. Offset %lu"
  msgstr ""
  
--#: apt-inst/deb/dpkgdb.cc:466
++#: apt-inst/deb/dpkgdb.cc:470
  #, c-format
  msgid "Error parsing MD5. Offset %lu"
  msgstr ""
  
--#: apt-inst/deb/debfile.cc:38 apt-inst/deb/debfile.cc:43
++#: apt-inst/deb/debfile.cc:42 apt-inst/deb/debfile.cc:47
  #, c-format
  msgid "This is not a valid DEB archive, missing '%s' member"
  msgstr ""
  
--#: apt-inst/deb/debfile.cc:50
++#: apt-inst/deb/debfile.cc:52
  #, c-format
--msgid "This is not a valid DEB archive, it has no '%s', '%s' or '%s' member"
++msgid "This is not a valid DEB archive, it has no '%s' or '%s' member"
  msgstr ""
  
--#: apt-inst/deb/debfile.cc:110
++#: apt-inst/deb/debfile.cc:112
  #, c-format
  msgid "Couldn't change to %s"
  msgstr ""
  
--#: apt-inst/deb/debfile.cc:140
++#: apt-inst/deb/debfile.cc:138
  msgid "Internal error, could not locate member"
  msgstr ""
  
--#: apt-inst/deb/debfile.cc:173
++#: apt-inst/deb/debfile.cc:171
  msgid "Failed to locate a valid control file"
  msgstr ""
  
--#: apt-inst/deb/debfile.cc:258
++#: apt-inst/deb/debfile.cc:256
  msgid "Unparsable control file"
  msgstr ""
  
@@@ -1597,7 -1600,7 +1597,7 @@@ msgstr "
  msgid "Server closed the connection"
  msgstr ""
  
- #: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:536 methods/rsh.cc:190
 -#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:538 methods/rsh.cc:190
++#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:471 methods/rsh.cc:190
  msgid "Read error"
  msgstr ""
  
@@@ -1609,7 -1612,7 +1609,7 @@@ msgstr "
  msgid "Protocol corruption"
  msgstr ""
  
- #: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:575 methods/rsh.cc:232
 -#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:577 methods/rsh.cc:232
++#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:510 methods/rsh.cc:232
  msgid "Write error"
  msgstr ""
  
@@@ -1663,7 -1666,7 +1663,7 @@@ msgstr "
  msgid "Unable to accept connection"
  msgstr ""
  
 -#: methods/ftp.cc:864 methods/http.cc:960 methods/rsh.cc:303
 +#: methods/ftp.cc:864 methods/http.cc:959 methods/rsh.cc:303
  msgid "Problem hashing file"
  msgstr ""
  
@@@ -1690,59 -1693,59 +1690,59 @@@ msgstr "
  msgid "Unable to invoke "
  msgstr ""
  
--#: methods/connect.cc:70
++#: methods/connect.cc:64
  #, c-format
  msgid "Connecting to %s (%s)"
  msgstr ""
  
--#: methods/connect.cc:81
++#: methods/connect.cc:71
  #, c-format
  msgid "[IP: %s %s]"
  msgstr ""
  
--#: methods/connect.cc:90
++#: methods/connect.cc:80
  #, c-format
  msgid "Could not create a socket for %s (f=%u t=%u p=%u)"
  msgstr ""
  
--#: methods/connect.cc:96
++#: methods/connect.cc:86
  #, c-format
  msgid "Cannot initiate the connection to %s:%s (%s)."
  msgstr ""
  
--#: methods/connect.cc:104
++#: methods/connect.cc:93
  #, c-format
  msgid "Could not connect to %s:%s (%s), connection timed out"
  msgstr ""
  
--#: methods/connect.cc:119
++#: methods/connect.cc:108
  #, c-format
  msgid "Could not connect to %s:%s (%s)."
  msgstr ""
  
  #. We say this mainly because the pause here is for the
  #. ssh connection that is still going
--#: methods/connect.cc:147 methods/rsh.cc:425
++#: methods/connect.cc:136 methods/rsh.cc:425
  #, c-format
  msgid "Connecting to %s"
  msgstr ""
  
--#: methods/connect.cc:165 methods/connect.cc:184
++#: methods/connect.cc:167
  #, c-format
  msgid "Could not resolve '%s'"
  msgstr ""
  
--#: methods/connect.cc:190
++#: methods/connect.cc:173
  #, c-format
  msgid "Temporary failure resolving '%s'"
  msgstr ""
  
--#: methods/connect.cc:193
++#: methods/connect.cc:176
  #, c-format
  msgid "Something wicked happened resolving '%s:%s' (%i)"
  msgstr ""
  
--#: methods/connect.cc:240
++#: methods/connect.cc:223
  #, c-format
  msgid "Unable to connect to %s %s:"
  msgstr ""
@@@ -1767,7 -1770,7 +1767,7 @@@ msgstr "
  
  #: methods/gpgv.cc:214
  #, c-format
--msgid "Could not execute '%s' to verify signature (is gpgv installed?)"
++msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
  msgstr ""
  
  #: methods/gpgv.cc:219
@@@ -1855,15 -1858,19 +1855,15 @@@ msgstr "
  msgid "Error reading from server"
  msgstr ""
  
 -#: methods/http.cc:945 apt-pkg/contrib/mmap.cc:196
 -msgid "Failed to truncate file"
 -msgstr ""
 -
 -#: methods/http.cc:1105
 +#: methods/http.cc:1104
  msgid "Bad header data"
  msgstr ""
  
 -#: methods/http.cc:1122 methods/http.cc:1177
 +#: methods/http.cc:1121 methods/http.cc:1176
  msgid "Connection failed"
  msgstr ""
  
 -#: methods/http.cc:1229
 +#: methods/http.cc:1228
  msgid "Internal error"
  msgstr ""
  
@@@ -1876,7 -1883,11 +1876,7 @@@ msgstr "
  msgid "Couldn't make mmap of %lu bytes"
  msgstr ""
  
 -#: apt-pkg/contrib/mmap.cc:213
 -msgid "Dynamic MMap ran out of room"
 -msgstr ""
 -
--#: apt-pkg/contrib/strutl.cc:1014
++#: apt-pkg/contrib/strutl.cc:978
  #, c-format
  msgid "Selection %s not found"
  msgstr ""
@@@ -1891,42 -1902,42 +1891,47 @@@ msgstr "
  msgid "Opening configuration file %s"
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:662
++#: apt-pkg/contrib/configuration.cc:515
++#, c-format
++msgid "Line %d too long (max %u)"
++msgstr ""
++
++#: apt-pkg/contrib/configuration.cc:611
  #, c-format
  msgid "Syntax error %s:%u: Block starts with no name."
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:681
++#: apt-pkg/contrib/configuration.cc:630
  #, c-format
  msgid "Syntax error %s:%u: Malformed tag"
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:698
++#: apt-pkg/contrib/configuration.cc:647
  #, c-format
  msgid "Syntax error %s:%u: Extra junk after value"
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:738
++#: apt-pkg/contrib/configuration.cc:687
  #, c-format
  msgid "Syntax error %s:%u: Directives can only be done at the top level"
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:745
++#: apt-pkg/contrib/configuration.cc:694
  #, c-format
  msgid "Syntax error %s:%u: Too many nested includes"
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:749 apt-pkg/contrib/configuration.cc:754
++#: apt-pkg/contrib/configuration.cc:698 apt-pkg/contrib/configuration.cc:703
  #, c-format
  msgid "Syntax error %s:%u: Included from here"
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:758
++#: apt-pkg/contrib/configuration.cc:707
  #, c-format
  msgid "Syntax error %s:%u: Unsupported directive '%s'"
  msgstr ""
  
--#: apt-pkg/contrib/configuration.cc:809
++#: apt-pkg/contrib/configuration.cc:741
  #, c-format
  msgid "Syntax error %s:%u: Extra junk at end of file"
  msgstr ""
@@@ -1992,79 -2003,80 +1997,79 @@@ msgstr "
  msgid "Unable to stat the mount point %s"
  msgstr ""
  
 -#: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/contrib/cdromutl.cc:180
 -#: apt-pkg/acquire.cc:424 apt-pkg/acquire.cc:449 apt-pkg/clean.cc:40
 +#: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/acquire.cc:424 apt-pkg/clean.cc:40
  #, c-format
  msgid "Unable to change to %s"
  msgstr ""
  
 -#: apt-pkg/contrib/cdromutl.cc:188
 +#: apt-pkg/contrib/cdromutl.cc:187
  msgid "Failed to stat the cdrom"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:147
 -#: apt-pkg/contrib/fileutl.cc:149
++#: apt-pkg/contrib/fileutl.cc:82
  #, c-format
  msgid "Not using locking for read only lock file %s"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:152
 -#: apt-pkg/contrib/fileutl.cc:154
++#: apt-pkg/contrib/fileutl.cc:87
  #, c-format
  msgid "Could not open lock file %s"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:170
 -#: apt-pkg/contrib/fileutl.cc:172
++#: apt-pkg/contrib/fileutl.cc:105
  #, c-format
  msgid "Not using locking for nfs mounted lock file %s"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:174
 -#: apt-pkg/contrib/fileutl.cc:176
++#: apt-pkg/contrib/fileutl.cc:109
  #, c-format
  msgid "Could not get lock %s"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:442
 -#: apt-pkg/contrib/fileutl.cc:444
++#: apt-pkg/contrib/fileutl.cc:377
  #, c-format
  msgid "Waited for %s but it wasn't there"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:452
 -#: apt-pkg/contrib/fileutl.cc:454
++#: apt-pkg/contrib/fileutl.cc:387
  #, c-format
  msgid "Sub-process %s received a segmentation fault."
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:455
 -#: apt-pkg/contrib/fileutl.cc:457
++#: apt-pkg/contrib/fileutl.cc:390
  #, c-format
  msgid "Sub-process %s returned an error code (%u)"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:457
 -#: apt-pkg/contrib/fileutl.cc:459
++#: apt-pkg/contrib/fileutl.cc:392
  #, c-format
  msgid "Sub-process %s exited unexpectedly"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:501
 -#: apt-pkg/contrib/fileutl.cc:503
++#: apt-pkg/contrib/fileutl.cc:436
  #, c-format
  msgid "Could not open file %s"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:557
 -#: apt-pkg/contrib/fileutl.cc:559
++#: apt-pkg/contrib/fileutl.cc:492
  #, c-format
  msgid "read, still have %lu to read but none left"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:587
 -#: apt-pkg/contrib/fileutl.cc:589
++#: apt-pkg/contrib/fileutl.cc:522
  #, c-format
  msgid "write, still have %lu to write but couldn't"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:662
 -#: apt-pkg/contrib/fileutl.cc:664
++#: apt-pkg/contrib/fileutl.cc:597
  msgid "Problem closing the file"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:668
 -#: apt-pkg/contrib/fileutl.cc:670
++#: apt-pkg/contrib/fileutl.cc:603
  msgid "Problem unlinking the file"
  msgstr ""
  
- #: apt-pkg/contrib/fileutl.cc:679
 -#: apt-pkg/contrib/fileutl.cc:681
++#: apt-pkg/contrib/fileutl.cc:614
  msgid "Problem syncing the file"
  msgstr ""
  
@@@ -2240,28 -2252,28 +2245,22 @@@ msgstr "
  msgid "Index file type '%s' is not supported"
  msgstr ""
  
 -#: apt-pkg/algorithms.cc:248
 +#: apt-pkg/algorithms.cc:247
  #, c-format
  msgid ""
  "The package %s needs to be reinstalled, but I can't find an archive for it."
  msgstr ""
  
- #: apt-pkg/algorithms.cc:1106
 -#: apt-pkg/algorithms.cc:1107
++#: apt-pkg/algorithms.cc:1105
  msgid ""
  "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
  "held packages."
  msgstr ""
  
- #: apt-pkg/algorithms.cc:1108
 -#: apt-pkg/algorithms.cc:1109
++#: apt-pkg/algorithms.cc:1107
  msgid "Unable to correct problems, you have held broken packages."
  msgstr ""
  
- #: apt-pkg/algorithms.cc:1370 apt-pkg/algorithms.cc:1372
 -#: apt-pkg/algorithms.cc:1375 apt-pkg/algorithms.cc:1377
--msgid ""
--"Some index files failed to download, they have been ignored, or old ones "
--"used instead."
--msgstr ""
--
  #: apt-pkg/acquire.cc:59
  #, c-format
  msgid "Lists directory %spartial is missing."
@@@ -2274,12 -2286,12 +2273,12 @@@ msgstr "
  
  #. only show the ETA if it makes sense
  #. two days
 -#: apt-pkg/acquire.cc:828
 +#: apt-pkg/acquire.cc:827
  #, c-format
  msgid "Retrieving file %li of %li (%s remaining)"
  msgstr ""
  
 -#: apt-pkg/acquire.cc:830
 +#: apt-pkg/acquire.cc:829
  #, c-format
  msgid "Retrieving file %li of %li"
  msgstr ""
@@@ -2294,7 -2306,7 +2293,7 @@@ msgstr "
  msgid "Method %s did not start correctly"
  msgstr ""
  
--#: apt-pkg/acquire-worker.cc:399
++#: apt-pkg/acquire-worker.cc:398
  #, c-format
  msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
  msgstr ""
@@@ -2317,11 -2329,11 +2316,11 @@@ msgstr "
  msgid "You must put some 'source' URIs in your sources.list"
  msgstr ""
  
--#: apt-pkg/cachefile.cc:71
++#: apt-pkg/cachefile.cc:69
  msgid "The package lists or status file could not be parsed or opened."
  msgstr ""
  
--#: apt-pkg/cachefile.cc:75
++#: apt-pkg/cachefile.cc:73
  msgid "You may want to run apt-get update to correct these problems"
  msgstr ""
  
@@@ -2352,82 -2364,82 +2351,82 @@@ msgstr "
  msgid "Error occurred while processing %s (UsePackage1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:164
 +#: apt-pkg/pkgcachegen.cc:153
  #, c-format
  msgid "Error occurred while processing %s (NewFileDesc1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:189
 +#: apt-pkg/pkgcachegen.cc:178
  #, c-format
  msgid "Error occurred while processing %s (UsePackage2)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:193
 +#: apt-pkg/pkgcachegen.cc:182
  #, c-format
  msgid "Error occurred while processing %s (NewFileVer1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:224
 +#: apt-pkg/pkgcachegen.cc:213
  #, c-format
  msgid "Error occurred while processing %s (NewVersion1)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:228
 +#: apt-pkg/pkgcachegen.cc:217
  #, c-format
  msgid "Error occurred while processing %s (UsePackage3)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:232
 +#: apt-pkg/pkgcachegen.cc:221
  #, c-format
  msgid "Error occurred while processing %s (NewVersion2)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:256
 +#: apt-pkg/pkgcachegen.cc:245
  #, c-format
  msgid "Error occurred while processing %s (NewFileDesc2)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:262
 +#: apt-pkg/pkgcachegen.cc:251
  msgid "Wow, you exceeded the number of package names this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:265
 +#: apt-pkg/pkgcachegen.cc:254
  msgid "Wow, you exceeded the number of versions this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:268
 +#: apt-pkg/pkgcachegen.cc:257
  msgid "Wow, you exceeded the number of descriptions this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:271
 +#: apt-pkg/pkgcachegen.cc:260
  msgid "Wow, you exceeded the number of dependencies this APT is capable of."
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:299
 +#: apt-pkg/pkgcachegen.cc:288
  #, c-format
  msgid "Error occurred while processing %s (FindPkg)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:312
 +#: apt-pkg/pkgcachegen.cc:301
  #, c-format
  msgid "Error occurred while processing %s (CollectFileProvides)"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:318
 +#: apt-pkg/pkgcachegen.cc:307
  #, c-format
  msgid "Package %s %s was not found while processing file dependencies"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:690
 +#: apt-pkg/pkgcachegen.cc:678
  #, c-format
  msgid "Couldn't stat source package list %s"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:775
 +#: apt-pkg/pkgcachegen.cc:763
  msgid "Collecting File Provides"
  msgstr ""
  
 -#: apt-pkg/pkgcachegen.cc:902 apt-pkg/pkgcachegen.cc:909
 +#: apt-pkg/pkgcachegen.cc:890 apt-pkg/pkgcachegen.cc:897
  msgid "IO Error saving source cache"
  msgstr ""
  
@@@ -2440,35 -2452,35 +2439,35 @@@ msgstr "
  msgid "MD5Sum mismatch"
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:658 apt-pkg/acquire-item.cc:1426
 +#: apt-pkg/acquire-item.cc:647 apt-pkg/acquire-item.cc:1408
  msgid "Hash Sum mismatch"
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:1118
 +#: apt-pkg/acquire-item.cc:1100
  msgid "There is no public key available for the following key IDs:\n"
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:1231
 +#: apt-pkg/acquire-item.cc:1213
  #, 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:1290
 +#: apt-pkg/acquire-item.cc:1272
  #, 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:1331
 +#: apt-pkg/acquire-item.cc:1313
  #, c-format
  msgid ""
  "The package index files are corrupted. No Filename: field for package %s."
  msgstr ""
  
 -#: apt-pkg/acquire-item.cc:1418
 +#: apt-pkg/acquire-item.cc:1400
  msgid "Size mismatch"
  msgstr ""
  
@@@ -2522,8 -2534,8 +2521,8 @@@ msgstr "
  #: apt-pkg/cdrom.cc:678
  #, c-format
  msgid ""
--"Found %zu package indexes, %zu source indexes, %zu translation indexes and %"
--"zu signatures\n"
++"Found %u package indexes, %u source indexes, %u translation indexes and %u "
++"signatures\n"
  msgstr ""
  
  #: apt-pkg/cdrom.cc:715
@@@ -2574,79 -2586,78 +2573,68 @@@ msgstr "
  msgid "Wrote %i records with %i missing files and %i mismatched files\n"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:486
 -#: apt-pkg/deb/dpkgpm.cc:49
 -#, c-format
 -msgid "Installing %s"
 -msgstr ""
 -
 -#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:612
 -#, c-format
 -msgid "Configuring %s"
 -msgstr ""
 -
 -#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:627
 -#, c-format
 -msgid "Removing %s"
 -msgstr ""
 -
 -#: apt-pkg/deb/dpkgpm.cc:52
 -#, c-format
 -msgid "Running post-installation trigger %s"
 -msgstr ""
 -
 -#: apt-pkg/deb/dpkgpm.cc:521
++#: apt-pkg/deb/dpkgpm.cc:513
  #, c-format
  msgid "Directory '%s' missing"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:569
 -#: apt-pkg/deb/dpkgpm.cc:605
++#: apt-pkg/deb/dpkgpm.cc:596
  #, c-format
  msgid "Preparing %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:570
 -#: apt-pkg/deb/dpkgpm.cc:606
++#: apt-pkg/deb/dpkgpm.cc:597
  #, c-format
  msgid "Unpacking %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:575
 -#: apt-pkg/deb/dpkgpm.cc:611
++#: apt-pkg/deb/dpkgpm.cc:602
  #, c-format
  msgid "Preparing to configure %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:576 apt-pkg/deb/dpkgpm.cc:605
 -#: apt-pkg/deb/dpkgpm.cc:614 apt-pkg/deb/dpkgpm.cc:615
++#: apt-pkg/deb/dpkgpm.cc:603
 +#, c-format
 +msgid "Configuring %s"
 +msgstr ""
 +
- #: apt-pkg/deb/dpkgpm.cc:578 apt-pkg/deb/dpkgpm.cc:579
++#: apt-pkg/deb/dpkgpm.cc:605 apt-pkg/deb/dpkgpm.cc:606
  #, c-format
  msgid "Processing triggers for %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:581
 -#: apt-pkg/deb/dpkgpm.cc:617
++#: apt-pkg/deb/dpkgpm.cc:608
  #, c-format
  msgid "Installed %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:586 apt-pkg/deb/dpkgpm.cc:588
- #: apt-pkg/deb/dpkgpm.cc:589
 -#: apt-pkg/deb/dpkgpm.cc:622 apt-pkg/deb/dpkgpm.cc:624
 -#: apt-pkg/deb/dpkgpm.cc:625
++#: apt-pkg/deb/dpkgpm.cc:613 apt-pkg/deb/dpkgpm.cc:615
++#: apt-pkg/deb/dpkgpm.cc:616
  #, c-format
  msgid "Preparing for removal of %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:591 apt-pkg/deb/dpkgpm.cc:606
 -#: apt-pkg/deb/dpkgpm.cc:628
++#: apt-pkg/deb/dpkgpm.cc:618
 +#, c-format
 +msgid "Removing %s"
 +msgstr ""
 +
- #: apt-pkg/deb/dpkgpm.cc:592
++#: apt-pkg/deb/dpkgpm.cc:619
  #, c-format
  msgid "Removed %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:597
 -#: apt-pkg/deb/dpkgpm.cc:633
++#: apt-pkg/deb/dpkgpm.cc:624
  #, c-format
  msgid "Preparing to completely remove %s"
  msgstr ""
  
- #: apt-pkg/deb/dpkgpm.cc:598
 -#: apt-pkg/deb/dpkgpm.cc:634
++#: apt-pkg/deb/dpkgpm.cc:625
  #, c-format
  msgid "Completely removed %s"
  msgstr ""
  
- #. populate the "processing" map
- #: apt-pkg/deb/dpkgpm.cc:604
- #, c-format
- msgid "Installing %s"
- msgstr ""
- 
- #: apt-pkg/deb/dpkgpm.cc:607
- #, c-format
- msgid "Triggering %s"
- msgstr ""
- 
- #: apt-pkg/deb/dpkgpm.cc:756
 -#: apt-pkg/deb/dpkgpm.cc:791
++#: apt-pkg/deb/dpkgpm.cc:775
  msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n"
  msgstr ""