Re: apt-get install sysvinit-core removes gnome?
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
Reply to: