[Aptitude-devel] Bug#651410: aptitude: in dependency resolutions, aptitude should favor library removal
Manuel A. Fernandez Montecelo
manuel.montezelo at gmail.com
Fri Mar 18 15:15:11 UTC 2016
Hi Vincent,
2011-12-08 11:53 Vincent Lefevre:
>Package: aptitude
>Version: 0.6.4-1.2
>Severity: normal
>
>The dependency resolution is suboptimal, even buggy. For instance:
>
># aptitude install evolution
>The following NEW packages will be installed:
> libgnome-desktop-3-2{a}
>The following packages will be upgraded:
> evolution gnome-desktop3-data
>The following packages are RECOMMENDED but will NOT be installed:
> bogofilter spamassassin
>2 packages upgraded, 1 newly installed, 0 to remove and 34 not upgraded.
>Need to get 1955 kB of archives. After unpacking 20.5 kB will be used.
>The following packages have unmet dependencies:
> libgnome-desktop-3-0: Depends: gnome-desktop3-data (= 3.0.2-2) but 3.2.1-3 is to be installed.
> evolution-plugins: Depends: evolution (= 3.0.3-3) but 3.0.3-3+b1 is to be installed.
>The following actions will resolve these dependencies:
>
> Remove the following packages:
>1) cheese
>2) eog
>3) evolution
>4) evolution-plugins
>5) gnome-accessibility
>6) gnome-applets
>7) gnome-control-center
>8) gnome-core
>9) gnome-panel
>10) gnome-power-manager
>11) gnome-screensaver
>12) gnome-session
>13) gnome-session-fallback
>14) gnome-settings-daemon
>15) gnome-shell
>16) gnome-sushi
>17) libevolution
>18) libgnome-desktop-3-0
>19) nautilus
>20) nautilus-sendto
>
> Leave the following dependencies unresolved:
>21) alacarte recommends gnome-panel
>22) evolution-common recommends evolution
>23) gdm3 recommends gnome-power-manager (>= 2.28)
>24) gdm3 recommends gnome-settings-daemon
>25) gnome-control-center recommends gnome-session
>26) gnome-control-center-data recommends gnome-control-center (>= 1:3.0.2-3)
>27) gnome-session recommends gnome-power-manager
>28) gnome-session-fallback recommends gnome-power-manager
>29) gnome-system-tools recommends gnome-control-center (>= 1:2.10.1-1)
>30) metacity recommends gnome-session | x-session-manager
>31) mousetweaks recommends gnome-control-center
>32) evolution recommends evolution-plugins
>33) gnome-panel-data recommends gnome-panel
>34) nautilus-data recommends nautilus
>35) totem-plugins recommends gnome-settings-daemon
>36) gnome-panel recommends gnome-session (>= 2.26)
>37) gnome-panel recommends gnome-control-center
>
>Accept this solution? [Y/n/q/?] n
>The following actions will resolve these dependencies:
>
> Remove the following packages:
>1) libgnome-desktop-3-0
>
> Upgrade the following packages:
>2) cheese [3.2.2-1 (now, testing) -> 3.2.2-1+b1 (unstable)]
>3) eog [3.2.2-2 (now, testing) -> 3.2.2-2+b1 (unstable)]
>4) evolution-plugins [3.0.3-3 (now, testing) -> 3.0.3-3+b1 (unstable)]
>5) gnome-control-center [1:3.0.2-3 (now, testing) -> 1:3.0.2-3+b1 (unstable
>6) gnome-panel [3.2.1-1 (now) -> 3.2.1-1+b1 (unstable)]
>7) gnome-screensaver [3.0.1-3 (now, testing) -> 3.2.0-2+b1 (unstable)]
>8) gnome-settings-daemon [3.0.3-3 (now, testing) -> 3.0.3-3+b1 (unstable)]
>9) gnome-shell [3.0.2-8 (now, testing) -> 3.0.2-8+b1 (unstable)]
>10) libevolution [3.0.3-3 (now, testing) -> 3.0.3-3+b1 (unstable)]
>11) nautilus [3.2.1-2 (now) -> 3.2.1-2+b1 (unstable)]
>
>Accept this solution? [Y/n/q/?]
>
>The first solution is really bad as it removes various useful packages,
>including evolution, that was asked to be installed on the command line
>(I regard this one as a bug).
Agree. Since there are many duplicates about other conflict resolution
preferences including not honouring user's requests, for the rest of the
reply I don't consider this question.
>The second solution is OK, as only a library package is removed, and
>such a package with no dependencies on it is useless.
Not necessarily. The library might have been installed by hand for
extra sound plugins or other codecs, mesa libraries not strictly needed
according to the dependency system but worthy to have in that machine,
dvd decoding, or to support something installed in the system outside of
the package managers (e.g. a special version of a webserver or other
software, compiled in /usr/local, mounted through NFS, etc).
If it's not really installed for a special purpose, should have been
marked as automatically installed to get rid of it sooner.
I don't think that libraries should be treated that specially for
reasons of removals as in the example of the original report. "useless"
doc packages or conflicts between icon sets might also come to mind as
being favoured to remove in conflict resolutions -- after all not having
doc installed usually doesn't break binaries ;-)
But more seriously, I think that the real problem is prefering many
removals and some keeps rather than a few upgrades and a single removal,
but not because it's specifically a library involved in that.
Cheers.
--
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>
More information about the Aptitude-devel
mailing list