Control: tags -1 - confirmed + moreinfo

Hi Andrei,

2012-09-15 11:09 Andrei POPESCU:
Package: aptitude
Version: 0.6.8.1-1
Severity: normal

Dear Maintainer,

See below output.

$ aptitude search '?reverse-recommends(lxde)' | grep dm
p   gdm                             - GNOME Display Manager
p   gdm3                            - Next generation GNOME Display Manager
p   kdm                             - KDE Display Manager for X11
i A lightdm                         - simple display manager
p   wdm                             - WINGs Display Manager - an xdm replacement
p   xdm                             - X display manager
$ aptitude search '?reverse-depends(lxde)' | grep dm
p   gdm3                            - Next generation GNOME Display Manager
i A lightdm                         - simple display manager

For unknown reasons aptitude returns the two display managers which are
only recommended by lxde when searching for reverse-depends. This does
not happen on stable.

Contrary to the previous replies in the bug report, the reason seems to
be unrelated:

 $ aptitude search -F '%p' '?reverse-recommends(lxde)' | grep dm
 gdm3
 kdm
 lightdm
 lightdm:i386
 lxdm
 sddm
 wdm
 xdm
$ aptitude search -F '%p' '?reverse-depends(lxde)' | grep dm
 lightdm
$ aptitude search -F '%p' '?reverse-depends(^lxde$)' | grep dm $ aptitude search -F '%p' '?reverse-depends(^task-lxde-desktop$)' | grep dm
 lightdm

 $ aptitude search -F '%p' '?reverse-recommends(^education-desktop-lxde$)' | 
grep dm
 lightdm


That is, the problem is that "?reverse-*(lxde)" matches any package
*containing* "lxde" in the name, not the *exact match* "lxde".  These
are:

 $ aptitude search -F '%p' '?name(lxde)'
 education-desktop-lxde
 education-desktop-lxde:i386
 live-image-lxde-desktop
 lxde
 lxde-common
 lxde-core
 lxde-icon-theme
 lxde-settings-daemon
 lxde-settings-daemon:i386
 task-lxde-desktop

Of all of these packages, only task-lxde-desktop *depends* on lightdm,
and education-desktop-lxde *recommends* lightdm (same as "lxde"
package).  When the first of the queries is grepped by "dm", the result
is the same, because lightdm is included in the set of Display Managers.
But when not grepped by "dm":

 $ aptitude search -F '%p' '?reverse-recommends(^lxde$)' | wc -l
 64

 $ aptitude search -F '%p' '?reverse-recommends(lxde)' | wc -l
 179

Because the second includes all packages recommended by all packages
containing "lxde" in the name.


On the other hand, alternative dependencies, as speculated in previous
replies, seem to work fine:

 $ aptitude search -F '%p' '?reverse-depends(^aptitude$)'
 aptitude-common
 libapt-pkg5.0
 libboost-filesystem1.58.0
 libboost-iostreams1.58.0
 libboost-system1.58.0
 libc6
 libcwidget3v5
 libgcc1
 libncursesw5
 libsigc++-2.0-0v5
 libsqlite3-0
 libstdc++6
 libtinfo5
 libxapian22v5
$ aptitude search -F '%p' '?reverse-recommends(^aptitude$)'
 aptitude-doc
 aptitude-doc:i386
 aptitude-doc-cs
 aptitude-doc-en
 aptitude-doc-en:i386
 aptitude-doc-es
 aptitude-doc-fi
 aptitude-doc-fr
 aptitude-doc-it
 aptitude-doc-ja
 aptitude-doc-ru
 libparse-debianchangelog-perl
 sensible-utils
 sensible-utils:i386
$ apt-cache show aptitude | grep -E '^(Recommends|Depends):'
 Depends: aptitude-common (= 0.7.5-3), libapt-pkg5.0 (>= 1.1), libboost-filesystem1.58.0, 
libboost-iostreams1.58.0, libboost-system1.58.0, libc6 (>= 2.14), libcwidget3v5, libgcc1 (>= 
1:3.0), libncursesw5 (>= 6), libsigc++-2.0-0v5 (>= 2.6.1), libsqlite3-0 (>= 3.6.5), libstdc++6 
(>= 5.2), libtinfo5 (>= 6), libxapian22v5
 Recommends: aptitude-doc-en | aptitude-doc, libparse-debianchangelog-perl, 
sensible-utils


So I think that in the end this is just a result of the behaviour,
sometimes inducing to mistakes like this, that what goes between
parentheses is a pattern and not an exact name.


The fact that this didn't happen in stable at the time and other
differences is most probably because the package causing these to be
included (task-lxde-desktop) was changed at the time.  See mentions of
gdm3 and changing dependencies in the changelog, for example:

 ================================================================
 tasksel (3.13) unstable; urgency=low

 [ Christian Perrier ]
   * Replace gdm3 by lightdm in lxde-desktop task. Closes: #683345

 [ Joey Hess ]
 * Don't force browser-plugin-gnash onto desktops that don't themselves
   pull it in. This means gnome still installs it, but kde, xfce,
   and lxde do not. Closes: #655841
 * Use dh_perl -d, as tasksel does not need perl, only perl-base.
   Closes: #686021
 * Add gstreamer0.10-alsa to task-xfce-desktop, as a workaround for
   bug #651495, which was resulting in the mixer being broken.

 [ Debconf translations ]
 * Brazilian Portuguese (Adriano Rafael Gomes).  Closes: #685181

  -- Joey Hess <jo...@debian.org>  Sun, 02 Sep 2012 20:51:05 -0400
 ================================================================

 tasksel (3.12) unstable; urgency=low

 [ Andrew Lee (李健秋) ]
 * Really depending on gdm3 in task-lxde-desktop (Closes: #680519).
... ================================================================


Lastly, have you observed other problems related with this, that cannot
be explained by the reasons above?


Cheers.
--
Manuel A. Fernandez Montecelo <manuel.montez...@gmail.com>

Reply via email to