gentoo.LinuxHowtos.orgedit this article

Querying Portage with etcat

This tip shows you how to use the etcat command to retrieve information on Portage, USE flags, package versions, and much more.

While there are other package query utilities such as qpkg or epm, etcat has some unique features. Some of these features include the ability to display the amount of disk space a particular package is using, the USE flags the package was compiled with, and the versions available for a package.

The first step is installing the app-admin/gentoolkit package from Portage. This installs etcat (among other utilities) to /usr/bin/.

Code Listing 1: Getting etcat>

# emerge app-admin/gentoolkit

To view the size of the package, use etcat size [package].

Code Listing 2: Displaying the size of a package

# etcat size mozilla
[ Results for search key : mozilla ]
[ Applications found : 4 ]  
  
 Only printing found installed programs.  
  
* mozilla-firebird-bin-0.5  
           Total Files : 338  
            Total Size : 20925.18 KB  
* mozilla-1.3-r1  
           Total Files : 3155  
            Total Size : 52073.05 KB  
  
# etcat size evolution  
[ Results for search key : evolution ]  
[ Applications found : 1 ]  
  
 Only printing found installed programs.  
  
* evolution-1.2.4  
           Total Files : 1421  
            Total Size : 33456.65 KB  
  
# etcat size fluxbox  
[ Results for search key : fluxbox ]  
[ Applications found : 1 ]  
  
 Only printing found installed programs.  
  
* fluxbox-0.1.14-r1  
           Total Files : 26  
            Total Size : 806.92 KB

To look at the USE flags a package was compiled with, use etcat uses [package]. For example, the following command shows which USE flags Postfix was compiled with.

Code Listing 3: Displaying USE flags

# etcat uses net-mail/postfix  
[ Colour Code : set unset ]  
[ Legend      : (U) Col 1 - Current USE flags        ]  
[             : (I) Col 2 - Installed With USE flags ]  
  
 U I [ Found these USE variables in : net-mail/postfix-2.0.9 ]  
 + + ssl     : Adds support for Secure Socket Layer connections  
 + + mysql   : Adds mySQL support  
 + + sasl    : Adds support for the Simple Authentication and Security Layer  
 + + ldap    : Adds LDAP support (Lightweight Directory Access Protocol)  
 - - ipv6    : Adds support for IP version 6  
 - - maildir : Adds support for maildir (~/.maildir) style mail spools  
 - - mbox    : Adds support for mbox (/var/spool/mail) style mail spools  
  
# etcat uses fluxbox  
[ Colour Code : set unset ]  
[ Legend      : (U) Col 1 - Current USE flags        ]  
[             : (I) Col 2 - Installed With USE flags ]  
  
 U I [ Found these USE variables in : x11-wm/fluxbox-0.1.14-r1 ]  
 - - kde      : Adds support for kde-base/kde (K Desktop Enviroment)  
 + + gnome    : Adds GNOME support  
 + + nls      : unknown  
 + - xinerama : Add support for XFree86's xinerama extension,
                which allows you to stretch  your display across
                multiple monitors  
 + + truetype : Adds support for FreeType and/or FreeType2 fonts

To see which versions of a specific package are available, use etcat versions [package]

Code Listing 4: Displaying available package versions

# etcat versions kde-base/kde  
[ Results for search key : kde-base/kde ]  
[ Applications found : 1 ]  
  
*  kde-base/kde :  
        [   ] kde-base/kde-2.2.2-r1 (2)  
        [   ] kde-base/kde-3.0.4 (3.0)  
        [   ] kde-base/kde-3.0.5a (3.0)  
        [   ] kde-base/kde-3.0.5b (3.0)  
        [   ] kde-base/kde-3.1.1a (3.1)  
        [   ] kde-base/kde-3.1.1 (3.1)  
        [   ] kde-base/kde-3.1.2 (3.1)  
        [   ] kde-base/kde-3.1 (3.1)  
  
# etcat versions net-mail/evolution  
[ Results for search key : net-mail/evolution ]  
[ Applications found : 1 ]  
  
*  net-mail/evolution :  
        [   ] net-mail/evolution-1.2.3 (0)  
        [  I] net-mail/evolution-1.2.4 (0)  
        [M~ ] net-mail/evolution-1.3.92 (2)  
        [M~ ] net-mail/evolution-1.4.0 (0)  
  
# etcat versions net-www/apache  
[ Results for search key : net-www/apache ]  
[ Applications found : 1 ]  
  
*  net-www/apache :  
        [   ] net-www/apache-1.3.27 (1)  
        [   ] net-www/apache-1.3.27-r1 (1)  
        [M~ ] net-www/apache-1.3.27-r2 (1)  
        [   ] net-www/apache-1.3.27-r3 (1)  
        [M~ ] net-www/apache-1.3.27-r4 (1)  
        [M~ ] net-www/apache-2.0.43-r1 (2)  
        [M~ ] net-www/apache-2.0.44 (2)  
        [M~ ] net-www/apache-2.0.45 (2)  
        [M~I] net-www/apache-2.0.46 (2)

Note: If you don't specify the category, etcat will try to find all possible matches in Portage. If the package name is common or occurs in many other package names, you may get a lot more output that you wanted.

For more detailed information, type man etcat. For a quick overview of available options, just type etcat.

From http://www.gentoo.org/news/en/gwn/20030623-newsletter.xml


rate this article:
current rating: average rating: 2.0 (1 votes) (1=very good 6=terrible)
Your rating:
Very good (1) Good (2) ok (3) average (4) bad (5) terrible (6)

back