Here are two outputs from equery and the deprecated qpkg atmos linux # qpkg -I gtk app-text/gtkspell * dev-cpp/gtkmm * dev-python/pygtk * gnome-extra/libgtkhtml * x11-libs/gtk+ * x11-libs/gtkglarea * x11-libs/gtksourceview * x11-libs/wxGTK * x11-themes/gtk-engines * atmos linux # equery list gtk [ Searching for package 'gtk' in all categories among: ] * installed packages [I--] [ ] x11-themes/gtk-engines-2.6.5 (2) On a side note the "-I" flag described in the man page doesn't work : atmos linux # equery list -I gtk+ !!! You must specify one of -i, -p or -o I was under the impression that equery was reliable ... am I missing something? Reproducible: Always Steps to Reproduce: 1. equery list gtk 2. see missing packages Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r1, 2.6.12-gentoo-r10 i686) ================================================================= System uname: 2.6.12-gentoo-r10 i686 Intel(R) Pentium(R) M processor 1.70GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-Os -march=pentium3 -fomit-frame-pointer -pipe -mmmx -msse" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-Os -march=pentium3 -fomit-frame-pointer -pipe -mmmx -msse" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://adelie.polymtl.ca/" LANG="fr_FR.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.ca.gentoo.org/gentoo-portage" USE="x86 X a52 acpi alsa avi berkdb bitmap-fonts cdparanoia cdr crypt cups dbus dga directfb dts dvd dvdr dvdread eds emboss encode evo exif ffmpeg foomaticdb fortran gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 hal howl imlib jpeg libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis opengl pam pda pdflib perl png ppds python quicktime readline real sdl spell sse ssl svg tcpd theora tiff truetype truetype-fonts type1-fonts unicode userlocales vorbis win32codecs wxwindows xml2 xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS
equery list searches for exactly gtk, rather than anything containing gtk. The fact that gtk-engines shows up is a bug caused by the fact that equery in this case treats it as package gtk with version engines-2.6.5. To find all packages containing gtk, the less friendly equery list '.*gtk.*' can be used. (Also, in equery, the search is case sensitive, so this won't find wxGTK, which contains GTK rather than gtk.) Yes, it's true that this is not very intuitive. > On a side note the "-I" flag described in the man page doesn't work : > atmos linux # equery list -I gtk+ > !!! You must specify one of -i, -p or -o From the manpage: "if -I is used, -p and/or -o must be also" Also, bug #77113 may be of interest.
oh ok, I reread the man page again and it didn't specify that searching meant using grep type regexp, and I figured it would work like qpkg. Maybe the man page on this aspect could be made clearer. For the -I switch maybe the error message could say "You must _also_ specify one of -i, -p or -o" or maybe imply the "-p" switch automagically if no other switch is specified. Thanks for taking the time to answer, if you feel like my ideas aren't worth much, feel free to close this bug as it's turned more into a feature request. R
oh ok, I reread the man page again and it didn't specify that searching meant using grep type regexp, and I figured it would work like qpkg. Maybe the man page on this aspect could be made clearer. For the -I switch maybe the error message could say "You must _also_ specify one of -i, -p or -o" or maybe imply the "-p" switch automagically if no other switch is specified. Thanks for taking the time to answer, if you feel like my ideas aren't worth much, feel free to close this bug as it's turned more into a feature request. Rémi
I'm still thinking about this one. If I do anything it will be to automatically add -p if -I is used by itself.
Created attachment 143910 [details, diff] equery_default_package_finder.diff This patch causes equery to always use a default package finder. In other words: (test) black equery # equery list -I portage # OLD !!! You must specify one of -i, -p or -o (test) black equery # ./equery list -I portage # NEW !!! With -I you must specify one of -i, -p or -o. Assuming -p [ Searching for package 'portage' in all categories among: ] * Portage tree (/usr/portage) [-P-] [ ] app-portage/portage-manpages-20060913 (0) [-P-] [M~] app-portage/portage-mod_jabber-0.0.2 (0) [-P-] [M~] app-portage/portage-mod_jabber-0.0.3 (0) [-P-] [M~] app-portage/portage-utils-0.1.29 (0) [-P-] [M~] dev-python/yolk-portage-0.1 (0) [-P-] [ ] sys-apps/portage-2.0.51.22-r3 (0) [-P-] [ ] sys-apps/portage-2.1.1-r2 (0) [-P-] [ ] sys-apps/portage-2.1.2.12 (0) [-P-] [ ] sys-apps/portage-2.1.3.19 (0) [-P-] [M~] sys-apps/portage-2.2_pre2 (0)
$ svn commit -m "Assume the -p flag when equery list -I is used by itself. (Bug 106278)" Sending equery/equery Transmitting file data . Committed revision 469.
Released in gentoolkit-0.2.4_rc2