On 2016-09-29 10:17:57 +0100, Darac Marjal wrote: > Looking at the documentation for SolutionCost, it only makes removals more > costly. There is no way to say "never remove any packages".
Actually, the problem doesn't seem to be a cost one, but the fact that Aptitude *skips* solutions where some packages are kept at their current version (which would allow it to avoid any removal), i.e. it will never propose such solutions even though they cost less than the solution proposed first. > But what if PackageA is something like libc? A hundred packages are to be > upgraded but PackageB is old and incompatible. Clearly, even though you've > boosted the cost of removals, it's STILL cheaper to remove PackageB than it > is to cancel those hundred installs. Wrong. I've said "removals" in SolutionCost. So, 1 removal is cheaper than *any* number of canceled actions. If I wanted some compromise between removals and canceled actions, I would have put something like: removals + 100 * canceled-actions. Note than in practice, a single package can block hundreds of upgrades e.g. during transitions, because there is a temporary failure to rebuild this package. I generally prefer to wait for a few days than removing this package. By not proposing such a solution, Aptitude blocks even upgrades of packages than could be done (unless I upgrade each other package manually, which is tedious). -- Vincent Lefèvre <vinc...@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)