[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