On Sun Oct 19, 2014 09:32:54AM +0200, Matthias Urlichs wrote:
> David Kalnischkies:
> > Selecting one package in an or-group is a grand example of people not
> > understand their tools although the policy is simple and logic: If it
> > isn't impossible to let it win, the first alternative wins. If the
> > package manager would go for any heuristic based on simplicity of
> > installation instead everyone would have lsb-invalid-mta as MTA because
> > that is damn easy to install by any standard. Maintainers are very
> > heavily relying on this property while e.g. building packages.
> 
> You don't have to drop that part of its logic. Choosing a different package
> as a dependency should of course be a "last resort" action (i.e. be heavily
> penalized). I'm not talking about changing that. I'm talking about the fact
> that aptitude treats upgrading to a slightly-lower-prioritized version of a
> package as a *way* worse solution than removing that package (and/or 500
> others).
> 
> Basically, this boils down to the fact that people shouldn't have to read a
> manpage about a complex priority scheme in an equally-complex resolver.
> All I want is for aptitude to behave in a sane way by default.

I think it's time to use apt-cudf. On a standard sid installation with
gnome, it could perfectly resolve this situation:

 % apt-get -s --solver aspcud install sysvinit-core                             
                                                
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 Execute external solver... Done
 The following extra packages will be installed:
   cgmanager libcgmanager0 libnih-dbus1 libnih1 systemd-shim
 The following packages will be REMOVED:
   systemd-sysv
 The following NEW packages will be installed:
   cgmanager libcgmanager0 libnih-dbus1 libnih1 systemd-shim sysvinit-core
 0 upgraded, 6 newly installed, 1 to remove and 0 not upgraded.

Compare with apt-get without aspcud:

 % sudo apt-get -s install sysvinit-core                                        
                                                         
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 The following package was automatically installed and is no longer required:
   linux-image-amd64
 Use 'apt-get autoremove' to remove it.
 The following extra packages will be installed:
   cgmanager libcgmanager0 libnih-dbus1 libnih1 systemd-shim
 The following packages will be REMOVED:
   aptdaemon brasero colord gdm3 gnome gnome-bluetooth gnome-color-manager 
gnome-control-center gnome-core gnome-disk-utility gnome-packagekit
   gnome-packagekit-session gnome-session gnome-settings-daemon gnome-shell 
gnome-shell-extensions gnome-sushi gnome-system-log gnome-user-share gvfs
   gvfs-backends gvfs-daemons gvfs-fuse libpam-systemd nautilus nautilus-sendto 
network-manager network-manager-gnome packagekit packagekit-tools
   policykit-1 policykit-1-gnome systemd-sysv task-gnome-desktop udisks2
 The following NEW packages will be installed:
   cgmanager libcgmanager0 libnih-dbus1 libnih1 systemd-shim sysvinit-core
 0 upgraded, 6 newly installed, 35 to remove and 0 not upgraded.

Best,
TK


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141019090313.ga29...@kr.tuwien.ac.at

Reply via email to