[Aptitude-devel] Bug#762932: aptitude Bug#762932: With Aptitude::ProblemResolver::SolutionCost=removals, aptitude full-upgrade chooses to downgrade a package

Vincent Lefevre vincent at vinc17.net
Tue Apr 5 14:21:32 UTC 2016

On 2016-04-05 13:42:49 +0100, Manuel A. Fernandez Montecelo wrote:
> So after studying this for a while, this is normal behaviour when using
> "removals", which only pays attention to minimise the number of
> removals, no matter any other considerations like upgrades, downgrades,
> or prefering packages with higher priorities.

Well, there are two issues:

1. The documentation /usr/share/doc/aptitude/html/en/ch02s03s04.html
does not mention downgrades at all. So, since downgrades are not
supported by Debian, the user is right to assume that downgrades
will never be proposed. If aptitude proposes downgrades, then this
MUST be documented.

2. There should be a way to avoid downgrades completely.

> Using the default ("safety, priority") puts dangerous actions like
> downgrades or changing to other non-default versions in a different
> "safety" level, so they are not offered as the first solutions.
> "safety, removals" can probably be used to avoid having downgrades while
> minimising removals.
> Even in this case, the fact that it was offering downgrades instead of
> upgrades at the time when this was reported was because of the chaos
> caused by the GCC-5/C++11 transition (the worst in a decade).

I think that this is not a good excuse. The system should offer a way
to exclude downgrades whatever the context.

How about adding a basic component "downgrades"?

One already has:

upgrades    Counter     Counts the number of packages that the
                        solution upgrades.

I propose to add:

downgrades  Counter     Counts the number of packages that the
                        solution downgrades.

BTW, I'm quite surprised to see upgrades counted with a positive

Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

More information about the Aptitude-devel mailing list