[Aptitude-devel] Towards better upgrading.

Daniel Burrows dburrows at debian.org
Tue Feb 3 04:27:46 UTC 2009


  Right now, the upgrade procedure for aptitude-gtk users is
something like this:

  (a) start aptitude.
  (b) push the upgrade button.
    if there are broken dependencies,
  (b.1) click "resolve dependencies" and enter the dependency resolver
  (b.2) click "apply"
  (c) click "apply changes"

  I'd like to smooth this out and make it more along the lines of
"safe-upgrade".  Here's what I imagine:

  (a) start aptitude.
  (b) push the upgrade button.
  (b.1)
    if there are broken dependencies, as many packages as possible are
    marked for upgrade.  A notification appears saying something to the
    effect of "some upgrades couldn't be installed without taking
    'risky' actions.  Fix manually?"  (or "no upgrades could be ..."
    as appropriate)

    The user can either
  (b.1.1) click "apply changes" to immediately install the upgrades, or
  (b.1.2) click "resolve dependencies manually" and enter the dependency
        resolver, then click "apply" and "apply changes".
  (b.2)
    if, instead, there are no broken dependencies, the preview screen
    will appear as usual with the view / apply changes buttons
    available.
  (b.2.1) click "apply changes".

  The big change is that manual dependency resolution is no longer
*required*; users can opt for the safe, default solution or try to
find a better one manually.


  I'm looking at whether it's possible to equip the resolver with the
ability to reason about "hypotheticals", so that it can run in the
background without altering the current package states.  I haven't
decided whether this is actually desirable in this case (with
upgrades), but it's not too hard a hack and may be useful in other
circumstances anyway.

  Daniel



More information about the Aptitude-devel mailing list