]> git.saurik.com Git - apt.git/commitdiff
* merged the apt--DoListUpdate branch, this provides a common interface
authorMichael Vogt <michael.vogt@ubuntu.com>
Mon, 7 Jan 2008 17:48:47 +0000 (18:48 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Mon, 7 Jan 2008 17:48:47 +0000 (18:48 +0100)
  for "apt-get update" like operations for the frontends and also provides
  hooks to run stuff in APT::Update::{Pre,Post}-Invoke
* 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

1  2 
apt-pkg/deb/dpkgpm.cc
apt-pkg/deb/dpkgpm.h
cmdline/apt-get.cc
debian/changelog
doc/examples/configure-index

diff --combined apt-pkg/deb/dpkgpm.cc
index afedc3c13b41072f58089b0a16862342f176b769,34e166447684276082ddadec7168a7bdbb27927e..8123a7aba96c36437d2b76e9e26f2e1496b8406b
  #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>
  
  #include <unistd.h>
  #include <stdlib.h>
@@@ -96,68 -96,6 +97,6 @@@ bool pkgDPkgPM::Remove(PkgIterator Pkg,
     return true;
  }
                                                                        /*}}}*/
- // DPkgPM::RunScripts - Run a set of scripts                          /*{{{*/
- // ---------------------------------------------------------------------
- /* This looks for a list of script sto run from the configuration file,
-    each one is run with system from a forked child. */
- bool pkgDPkgPM::RunScripts(const char *Cnf)
- {
-    Configuration::Item const *Opts = _config->Tree(Cnf);
-    if (Opts == 0 || Opts->Child == 0)
-       return true;
-    Opts = Opts->Child;
-    // Fork for running the system calls
-    pid_t Child = ExecFork();
-    
-    // This is the child
-    if (Child == 0)
-    {
-       if (chdir("/tmp/") != 0)
-        _exit(100);
-        
-       unsigned int Count = 1;
-       for (; Opts != 0; Opts = Opts->Next, Count++)
-       {
-        if (Opts->Value.empty() == true)
-           continue;
-        
-        if (system(Opts->Value.c_str()) != 0)
-           _exit(100+Count);
-       }
-       _exit(0);
-    }      
-    // Wait for the child
-    int Status = 0;
-    while (waitpid(Child,&Status,0) != Child)
-    {
-       if (errno == EINTR)
-        continue;
-       return _error->Errno("waitpid","Couldn't wait for subprocess");
-    }
-    // Restore sig int/quit
-    signal(SIGQUIT,SIG_DFL);
-    signal(SIGINT,SIG_DFL);   
-    // Check for an error code.
-    if (WIFEXITED(Status) == 0 || WEXITSTATUS(Status) != 0)
-    {
-       unsigned int Count = WEXITSTATUS(Status);
-       if (Count > 100)
-       {
-        Count -= 100;
-        for (; Opts != 0 && Count != 1; Opts = Opts->Next, Count--);
-        _error->Error("Problem executing scripts %s '%s'",Cnf,Opts->Value.c_str());
-       }
-       
-       return _error->Error("Sub-process returned an error code");
-    }
-    
-    return true;
- }
-                                                                         /*}}}*/
  // DPkgPM::SendV2Pkgs - Send version 2 package info                   /*{{{*/
  // ---------------------------------------------------------------------
  /* This is part of the helper script communication interface, it sends
@@@ -335,6 -273,7 +274,6 @@@ bool pkgDPkgPM::RunScriptsWithPkgs(cons
  
     return true;
  }
 -
                                                                        /*}}}*/
  // DPkgPM::DoStdin - Read stdin and pass to slave pty                 /*{{{*/
  // ---------------------------------------------------------------------
@@@ -422,8 -361,6 +361,8 @@@ void pkgDPkgPM::ProcessDpkgStatusLine(i
         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)
@@@ -872,6 -809,7 +811,6 @@@ bool pkgDPkgPM::Go(int OutStatusFd
            signal(SIGINT,old_SIGINT);
            return _error->Errno("waitpid","Couldn't wait for subprocess");
         }
 -
         // wait for input or output here
         FD_ZERO(&rfds);
         if (!stdin_is_dev_null)
@@@ -955,115 -893,3 +894,115 @@@ 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)
 +      return;
 +
 +   // only report the first error if we are in StopOnError=false mode
 +   // to prevent bogus reports
 +   if((_config->FindB("Dpkg::StopOnError",true) == false) && pkgFailures > 1)
 +      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 83b3f95fcdf8d7571f8e1e5d9d39c9f63108e09a,ebc7e32bf9fc3c3ddf204b66708363fc152a308b..3801d5625b5d45e881004f11e6d44064ab18fd95
@@@ -31,7 -31,6 +31,7 @@@ class pkgDPkgPM : public pkgPackageMana
     FILE *term_out;
     
     protected:
 +   int pkgFailures;
  
     // progress reporting
     struct DpkgState 
     vector<Item> List;
  
     // Helpers
-    bool RunScripts(const char *Cnf);
     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 cmdline/apt-get.cc
index e9902ec897ec8513cb28e3698c8bbfc9d82b849d,258133c194b711b9bc2137060e9af5755a6516ce..46172332fc6dda655087da546c48532da57ab710
@@@ -1351,14 -1351,15 +1351,15 @@@ bool DoUpdate(CommandLine &CmdL
         return _error->Error(_("Unable to lock the list directory"));
     }
     
-    // Create the download object
+    // Create the progress
     AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0));
-    pkgAcquire Fetcher(&Stat);
-    
+       
     // Just print out the uris an exit if the --print-uris flag was used
     if (_config->FindB("APT::Get::Print-URIs") == true)
     {
+       // get a fetcher
+       pkgAcquire Fetcher(&Stat);
        // Populate it with the source selection and get all Indexes 
        // (GetAll=true)
        if (List.GetIndexes(&Fetcher,true) == false)
        return true;
     }
  
-    // Populate it with the source selection
-    if (List.GetIndexes(&Fetcher) == false)
-        return false;
-    
-    // Run it
-    if (Fetcher.Run() == pkgAcquire::Failed)
-       return false;
-    bool Failed = false;
-    bool TransientNetworkFailure = false;
-    for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++)
-    {
-       if ((*I)->Status == pkgAcquire::Item::StatDone)
-        continue;
-       (*I)->Finished();
-       fprintf(stderr,_("Failed to fetch %s  %s\n"),(*I)->DescURI().c_str(),
-             (*I)->ErrorText.c_str());
-       if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError) 
-       {
-        TransientNetworkFailure = true;
-        continue;
-       }
-       Failed = true;
-    }
-    
-    // Clean out any old list files
-    if (!TransientNetworkFailure &&
-        _config->FindB("APT::Get::List-Cleanup",true) == true)
-    {
-       if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false ||
-         Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") == false)
-        return false;
-    }
-    
-    // Prepare the cache.   
+    // do the work
     CacheFile Cache;
+    bool res = ListUpdate(Stat, List);
+      
+    // Rebuild the cache.   
     if (Cache.BuildCaches() == false)
        return false;
     
-    if (TransientNetworkFailure == true)
-       _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead."));
-    else if (Failed == true)
-       return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead."));
     return true;
  }
                                                                        /*}}}*/
@@@ -2125,33 -2086,6 +2086,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)
diff --combined debian/changelog
index 34037f262fc699b5552710610c3c46c2aee8f816,9f78d591680d70e81b8393555fbaab4a6023d6c3..22555e57b50fd93d967469c418350260c8aaf609
@@@ -1,6 -1,13 +1,14 @@@
 -apt (0.7.10) UNRELEASED; urgency=low
++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 <egon@localhost.localdomain>  Mon, 07 Jan 2008 17:23:32 +0100
++
 +apt (0.7.9ubuntu2) hardy; urgency=low
  
    [ 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.
    * 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: #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 ]
 -    - Basque updated. Closes: #453088
      - Vietnamese updated. Closes: #453774
      - Japanese updated. Closes: #456909
      - French updated.
  
    [ Michael Vogt ]
 -  * debian/rules
 -    - fix https install location
 +  * 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
 -  * apt-pkg/packagemanager.{cc,h}:
 -    - propergate the Immediate flag to make hitting the 
 -      "E: Internal Error, Could not perform immediate configuration (2)"
 -      harder
    * 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
 -  
 -  [ 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
 -
 - -- Christian Perrier <bubulle@debian.org>  Mon, 17 Dec 2007 10:10:17 +0530
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 13 Dec 2007 14:46:27 +0100
  
  apt (0.7.9) unstable; urgency=low
  
@@@ -222,192 -195,12 +233,192 @@@ 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.6ubuntu14) gutsy; urgency=low
 +
 +  * apt-pkg/deb/dpkgpm.cc:
 +    - fix resource leak (LP: #148806) 
 +
 + -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 15 Oct 2007 20:57:44 +0200
 +
 +apt (0.7.6ubuntu13) gutsy; urgency=low
 +
 +  * 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 <michael.vogt@ubuntu.com>  Tue, 09 Oct 2007 01:48:26 +0200
 +
 +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
  
@@@ -436,14 -229,6 +447,14 @@@ apt (0.7.5) unstable; urgency=lo
  
   -- 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
  
    [ Michael Vogt ]
@@@ -503,90 -288,6 +514,90 @@@ apt (0.7.3) unstable; urgency=lo
            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
  
@@@ -654,16 -355,12 +665,16 @@@ apt (0.7.1) experimental; urgency=lo
    * 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
  
   -- 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
  
   -- 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
@@@ -860,26 -447,6 +871,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á\e%GÄ\8d\e%@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:
@@@ -954,46 -521,10 +965,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:
        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
  
      * 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
  
 - -- Michael Vogt <mvo@debian.org>  Wed, 14 Jun 2006 12:00:57 +0200
 +apt (0.6.44.2ubuntu2) edgy; urgency=low
 +
 +  * create a empty extended_states file if none exists already
 +
 + -- 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
  
@@@ -1274,26 -685,6 +1285,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:
      * 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)
    * 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
  
  
   -- 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
  
   -- 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:  
    
   -- 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:
@@@ -1518,13 -830,13 +1529,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)
    * 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)
  
@@@ -1551,8 -863,8 +1562,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
    * 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)
    * 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
  
  
   -- 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
  
   -- 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
    * 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
  
index a4a955b6a43fa55d2c4ef12b665f46aec0b2ecd0,8893b5b74808aeb1b56c245f27865efdebfcb320..cbede198bf1926f904ec73225f9dc10d1cc0e431
@@@ -77,6 -77,12 +77,12 @@@ AP
       NoAct "false";
    };
  
+   Update
+   {
+      Pre-Invoke {"touch /var/lib/apt/pre-update-stamp"; };
+      Post-Invoke {"touch /var/lib/apt/post-update-stamp"; };
+   };
    Authentication
    {
       TrustCDROM "false";            // consider the CDROM always trusted
    Install-Recommends "false";
    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"; };
  
@@@ -189,20 -192,6 +195,20 @@@ Acquir
    {
     Options {"--ignore-time-conflict";}        // not very usefull 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
@@@ -216,7 -205,6 +222,7 @@@ Dir "/
       userstatus "status.user";
       status "/var/lib/dpkg/status";
       cdroms "cdroms.list";
 +     mirrors "mirrors/";
    };
    
    // Location of the cache dir
@@@ -312,9 -300,9 +318,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