[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Aptitude oddity

On Sat, Aug 09, 2008 at 10:56:22AM -0700, Daniel Burrows <dburrows@debian.org> was heard to say:
>   No, it'll spew large amounts of debugging information to your
> terminal which you can then paste into a mail to me. :-)

  Aha.  The aptitude resolver isn't touching those packages at all, but
think maybe I see what *is* happening.  The code that I wrote to use the
apt resolver as a fallback option is accidentally resetting every hold
state in the database.  Does this patch help?

diff -r aabbcab08cd3 src/cmdline/cmdline_upgrade.cc
--- a/src/cmdline/cmdline_upgrade.cc	Sat Aug 09 09:58:13 2008 -0700
+++ b/src/cmdline/cmdline_upgrade.cc	Sat Aug 09 16:41:07 2008 -0700
@@ -112,7 +112,10 @@
 	// Reset all the package states.
 	for(pkgCache::PkgIterator i=(*apt_cache_file)->PkgBegin();
 	    !i.end(); ++i)
-	  (*apt_cache_file)->mark_keep(i, false, false, NULL);
+	  {
+	    bool held = (*apt_cache_file)->get_ext_state(i).selection_state == pkgCache::State::Hold;
+	    (*apt_cache_file)->mark_keep(i, false, held, NULL);
+	  }
       // Use the apt 'upgrade' algorithm as a fallback against, e.g.,

Reply to: