[Aptitude-devel] Bug#570377: aptitude chooses to remove packages instead of upgrading

Vincent Lefevre vincent at vinc17.net
Tue Feb 4 02:15:53 UTC 2014


On 2014-01-30 10:01:58 +0100, Axel Beckert wrote:
> Vincent Lefevre wrote:
> > aptitude sometimes prefers to remove packages instead of upgrading.
> 
> Which is IMHO fine in general.

I don't see why it would be fine. Upgrading (to satisfy the
dependencies) should always be favored. There could be exceptions in
theory, but I don't think they would occur in practice. I think that
the upgrade vs remove problem occurs because of "=" dependencies,
and an upgrade of some package should also upgrade by default the
corresponding packages with a "=" dependency instead of removing
them.

> In Debian Unstable, yes. But it is configurable behaviour, too:
> 
> Use
> 
>   Aptitude::ProblemResolver::Remove-Level "maximum";
> 
> or
> 
>   Aptitude::ProblemResolver::Hints {
>           "reject !~M :UNINST";
>   };
> 
> in your apt.conf and you're done.
> 
> The latter works better for this issue, but no more allows you to
> choose solutions which remove packages unless you explicitly select
> them for removal with "-" in the package list or on the commandline.

This is unacceptable: some packages may be safe to remove
automatically, e.g. old libraries, and sometimes the only
solution is to remove them. The user shouldn't be forced to
do anything special.

> This can be annoying, too, and is totally unsuited for dist-upgrades
> between two stable releases. It hence is _NOT_ a general solution, but
> is very suitable for unattended upgrades of security upates.

This doesn't really apply to unstable.

> The first variant is probably better suited for general use case, but
> can still cause packages to not be upgraded at all due to conflicts
> with obosolete packages which actually really should be removed.

Yes.

> (I think, this is one of the reasons why this issue is not trivial
> to fix generally without regressions in other fields like
> dist-upgrades between two stable releases.)

Well, apt-get does a better job than aptitude in general.

-- 
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