- I would like to be able to declare "favorites" among packages, to
guide conflict resolution.

I was actually working on this a few weeks ago but I got sidetracked
by the fact that the GTK+ interface was starting to become interesting
to hack on...
I was looking at something like this:
Aptitude::Resolver::Hints {
// To reject a package completely, like pressing "r" on
// all its versions:
"reject dselect";
// To reject a particular version, like pressing "r" on it:
"reject foopackage=1.0.0.bad-version-number";
// To always take a package over alternatives:
"accept aptitude-doc-cs";
// To always take a particular package version over alternatives:
"accept linux-2.6/etch";
// We can use patterns too. Maybe we want to prefer German docs:
"accept ?name(.*-doc-de)";
// Weights can be adjusted, too. Give a bonus to emacs and
// a penalty to vi:
"+100 ?name(^emacs)";
"-100 ?name(^vi)";
};

Ooh, that will be nice to have, thanks a lot!
(Also, I really like the Monty-Pythonesque absurd humor in the last example.)
--
Regards,
Florian