* fixes in the auto-mark code (thanks to Daniel
authorMichael Vogt <michael.vogt@ubuntu.com>
Fri, 29 Jun 2007 20:40:44 +0000 (22:40 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Fri, 29 Jun 2007 20:40:44 +0000 (22:40 +0200)
  Burrows)

apt-pkg/depcache.cc
debian/changelog

index 50a7584..7f57194 100644 (file)
@@ -1285,6 +1285,7 @@ void pkgDepCache::MarkPackage(const pkgCache::PkgIterator &pkg,
                              bool follow_suggests)
 {
    pkgDepCache::StateCache &state = PkgState[pkg->ID];
+   VerIterator currver            = pkg.CurrentVer();
    VerIterator candver            = state.CandidateVerIter(*this);
    VerIterator instver            = state.InstVerIter(*this);
 
@@ -1305,9 +1306,11 @@ void pkgDepCache::MarkPackage(const pkgCache::PkgIterator &pkg,
    }
 #endif
 
-   // Ignore versions other than the InstVer, and ignore packages
-   // that are already going to be removed or just left uninstalled.
-   if(!(ver == instver && !instver.end()))
+   // For packages that are not going to be removed, ignore versions
+   // other than the InstVer.  For packages that are going to be
+   // removed, ignore versions other than the current version.
+   if(!(ver == instver && !instver.end()) &&
+      !(ver == currver && instver.end() && !ver.end()))
       return;
 
    // if we are marked already we are done
index 23780b5..d0103f4 100644 (file)
@@ -2,6 +2,8 @@ apt (0.7.3) unstable; urgency=low
 
   * fixed compile errors with g++ 7.3 (thanks to 
     Daniel Burrows, closes: #429378)
+  * fixes in the auto-mark code (thanks to Daniel
+    Burrows)
   * fix FTFBFS by changing build-depends to
     libcurl4-gnutls-dev (closes: #428363)
   * cmdline/apt-get.cc: