Package: aptitude
Version: 0.6.3-3
Severity: important

(I'm marking this as important because I think it might point to a deeper
conceptual oversight in aptitude; downgrade if appropriate.)

This is using the debian package state as of today. I have squeeze, sid, and
experimental in my sources.list, in that order.

Consider:

$ aptitude search 'aspell-am ~Rrecommends:~i'
p   aspell-am                                                                   
    - Amharic dictionary for aspell                                             
                
## So, aspell-am is recommended by an installed package.

$ aptitude search '~i ~Drecommends:aspell-am'
## What? No installed packages recommend aspell-am?
## OK, because aspell-am provides aspell-dictionary, which is recommended by an
## installed package.

$ aptitude search 'aspell-am ~Rrecommends:~i !~Dprovides:(~Rprovides:~i)'
## We can exclude packages that provide an already-satisfied virtual package.

---

$ aptitude search 'xz-lzma ~Rrecommends:~i'
p   xz-lzma                                                                     
    - XZ-format compression utilities - compatibility commands                  
                
$ aptitude search '~i ~Drecommends:xz-lzma'
$ aptitude search 'xz-lzma ~Rrecommends:~i !~Rprovides:(~Dprovides:~i)'
p   xz-lzma                                                                     
    - XZ-format compression utilities - compatibility commands                  
                
## Argh it didn't work!
## Because xz-lzma provides lzma, which is a *real* package.

$ aptitude search 'xz-lzma ~Rrecommends:~i !~Dprovides:~i'               
## We can exclude packages that provide an already-installed real package.

----

In summary, these two commands are not duals:

$ aptitude search '~i ~Drecommends:X'
$ aptitude search 'X ~Rrecommends:~i'

but instead you need to do

$ aptitude search 'X ~Rrecommends:~i !~Dprovides:~i !~Dprovides:(~Rprovides:~i)'

This is very confusing, tedious for admins to figure out, and inconsistent.

It seems it'd be much simpler (at least for search) if aptitude treated virtual
packages in the same way as real packages, and the "provides" dependency as
other normal dependencies.


Ximin


-- Package-specific info:
aptitude 0.6.3 compiled at Jul 10 2010 21:01:05
Compiler: g++ 4.4.4
Compiled against:
  apt version 4.8.0
  NCurses version 5.7
  libsigc++ version: 2.2.4.2
  Ept support enabled.
  Gtk+ version 2.20.1
  Gtk-- version 2.20.3

Current library versions:
  NCurses version: ncurses 5.7.20100313
  cwidget version: 0.5.16
  Apt version: 4.8.0
        linux-vdso.so.1 =>  (0x00007fffb4a8c000)
        libapt-pkg-libc6.9-6.so.4.8 => /usr/lib/libapt-pkg-libc6.9-6.so.4.8 
(0x00007f5672e8e000)
        libncursesw.so.5 => /lib/libncursesw.so.5 (0x00007f5672c3b000)
        libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0x00007f5672a35000)
        libcwidget.so.3 => /usr/lib/libcwidget.so.3 (0x00007f5672769000)
        libept.so.1 => /usr/lib/libept.so.1 (0x00007f5672517000)
        libxapian.so.15 => /usr/lib/libxapian.so.15 (0x00007f56721c2000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f5671fab000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007f5671d15000)
        libboost_iostreams.so.1.42.0 => /usr/lib/libboost_iostreams.so.1.42.0 
(0x00007f5671af9000)
        libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0x00007f567189e000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f5671657000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f5671452000)
        librt.so.1 => /lib/librt.so.1 (0x00007f567124a000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f5670f6e000)
        libgtkmm-2.4.so.1 => /usr/lib/libgtkmm-2.4.so.1 (0x00007f56708fa000)
        libatkmm-1.6.so.1 => /usr/lib/libatkmm-1.6.so.1 (0x00007f56706ad000)
        libgdkmm-2.4.so.1 => /usr/lib/libgdkmm-2.4.so.1 (0x00007f5670460000)
        libgiomm-2.4.so.1 => /usr/lib/libgiomm-2.4.so.1 (0x00007f56701ab000)
        libpangomm-1.4.so.1 => /usr/lib/libpangomm-1.4.so.1 (0x00007f566ff7c000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f566f95c000)
        libcairomm-1.0.so.1 => /usr/lib/libcairomm-1.0.so.1 (0x00007f566f73a000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f566f48d000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f566f26c000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 
(0x00007f566f041000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 
(0x00007f566ee25000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 
(0x00007f566ec19000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f566e99b000)
        libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f566e6e9000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f566e49d000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f566e214000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f566dfdf000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f566dddc000)
        libglademm-2.4.so.1 => /usr/lib/libglademm-2.4.so.1 (0x00007f566dbd1000)
        libglade-2.0.so.0 => /usr/lib/libglade-2.0.so.0 (0x00007f566d9b8000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f566d668000)
        libm.so.6 => /lib/libm.so.6 (0x00007f566d3e5000)
        libvte.so.9 => /usr/lib/libvte.so.9 (0x00007f566d14a000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f566ce0e000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f566cbf1000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f566c8dd000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f566c6c7000)
        libc.so.6 => /lib/libc.so.6 (0x00007f566c365000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007f566c162000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f566bf5e000)
        libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00007f566bd4d000)
        libpcre.so.3 => /lib/libpcre.so.3 (0x00007f566bb1d000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f5673170000)
        libpng12.so.0 => /lib/libpng12.so.0 (0x00007f566b8f6000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f566b6f3000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f566b4f1000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f566b2ec000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f566b0d9000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f566aecf000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f566accd000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f566aabd000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f566a8b5000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f566a6ab000)
        libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f566a452000)
        libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 
(0x00007f566a24f000)
        libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f566a046000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f5669e2a000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00007f5669c14000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x00007f56699f5000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f56697cd000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x00007f5669586000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f5669382000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f566917d000)
Terminal: xterm
$DISPLAY is set.
`which aptitude`: /usr/bin/aptitude
aptitude version information:

aptitude linkage:

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages aptitude depends on:
ii  apt [libapt-pkg-libc6.9 0.7.25.3         Advanced front-end for dpkg
ii  libboost-iostreams1.42. 1.42.0-4         Boost.Iostreams Library
ii  libc6                   2.11.2-2         Embedded GNU C Library: Shared lib
ii  libcwidget3             0.5.16-3         high-level terminal interface libr
ii  libept1                 1.0.3            High-level library for managing De
ii  libgcc1                 1:4.4.4-8        GCC support library
ii  libncursesw5            5.7+20100313-2   shared libraries for terminal hand
ii  libsigc++-2.0-0c2a      2.2.4.2-1        type-safe Signal Framework for C++
ii  libsqlite3-0            3.7.0.1-1        SQLite 3 shared library
ii  libstdc++6              4.4.4-8          The GNU Standard C++ Library v3
ii  libxapian15             1.0.20-2         Search engine library
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages aptitude recommends:
ii  apt-xapian-index              0.38       maintenance tools for a Xapian ind
ii  aptitude-doc-en [aptitude-doc 0.6.3-3    English manual for aptitude, a ter
ii  libparse-debianchangelog-perl 1.1.1-2.1  parse Debian changelogs and output
ii  sensible-utils                0.0.4      Utilities for sensible alternative

Versions of packages aptitude suggests:
pn  debtags                       <none>     (no description available)
pn  tasksel                       <none>     (no description available)

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to