[Aptitude-devel] Bug#687700: aptitude returns some reverse-recommends when searching for reverse-depends
Manuel A. Fernandez Montecelo
manuel.montezelo at gmail.com
Wed Jan 13 20:21:08 UTC 2016
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 <joeyh at 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.montezelo at gmail.com>
More information about the Aptitude-devel
mailing list