[Aptitude-devel] sigh, bad old upgrade behavior?
    Daniel Burrows 
    dburrows at debian.org
       
    Wed Feb 24 15:44:42 UTC 2010
    
    
  
On Wed, Feb 24, 2010 at 07:23:14AM -0800, Daniel Burrows <dburrows at debian.org> was heard to say:
>   aptitude itself will probably never distinguish between important
> and do-not-care packages (at least not in the sense of optimizing to
> avoid one or the other situation).  However, its resolver hints could
> be used to tweak the score and/or tier of one or more packages to avoid
> this.  Particularly once I finish the current round of changes, it'll
> be entirely conceivable that someone (such as the release team) could
> publish an apt.conf.d snippet containing hints to guide a particular
> upgrade.
  To follow up to myself, there's no reason that some basic hints
couldn't be shipped in the aptitude package.  I was thinking something
like:
Aptitude {
  Resolver::Hints {
    Mode "lenny-squeeze" {
        // Try not to remove package1 (if it's installed).
        "package1 UNINST  increase-cost-level squeeze-upgrade 1";
        // Before the resolver runs, install package3 squeeze-version
        // if package2 lenny-version is already present.
        "package2 lenny-version   prepare-by-installing package3 squeeze-version";
    }
  }
  Resolver::Level-Order {
    Mode "lenny-squeeze" {
      // Try hardest to obey package pin priorities; then avoid
      // deviating from the upgrade plan; then try to avoid canceling
      // upgrades and removing packages.
      "pin-priority, squeeze-upgrade, canceled-upgrades + removals";
    }
  }
}
  (I have no attachment to this syntax, it just came off the top of my
head)
  Then you'd run aptitude with --resolver-mode=lenny-squeeze to activate
those options.
  The level-order specifies a descending sequence of tie-breaks.  It'll
take some tweaking to figure out a "good" order -- I suspect that
removals should be a separate level from canceled-upgrades, but I wanted
to demonstrate that you can add two counters together. :-)
  Daniel
    
    
More information about the Aptitude-devel
mailing list