<?xml version="1.0" encoding="UTF-8"?>
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoolkit.xml,v 1.13 2004/08/31 18:57:03 neysx Exp $ -->
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">

<guide link="/doc/en/gentoolkit.xml">
<title>Gentoolkit</title>

<author title="Author">
  <mail link="mbutcher@aleph-null.tv">Matt Butcher</mail>
</author>
<author title="Editor">
  <!-- zhen@gentoo.org -->John P. Davis
</author>
<author title="Editor">
  <mail link="erwin@gentoo.org">Erwin</mail>
</author>
<author title="Editor">
  <mail link="fox2mike@gmail.com">Shyam Mani</mail>
</author>
<author title="Editor">
  <mail link="neysx@gentoo.org">Xavier Neys</mail>
</author>

<!-- Licensed under GFDL -->

<abstract>
Gentoolkit is a suite of tools to ease the administration of a Gentoo system.
This document covers the basics of some of the tools present in Gentoolkit.
</abstract>

<version>1.4</version>
<date>August 25, 2004</date>

<chapter>
<title>Introduction</title>
<section>
<title>What is Gentoolkit?</title>
<body>

<p>
Gentoo is a unique distribution and presents some complexities that simply
don't exist for other distributions. As Gentoo developers and contributors
discovered some of these complexities, they also wrote tools to help users and
administrators work around them. Many of these tools have been contributed to
the Gentoo project and are included in the package
<c>app-portage/gentoolkit</c>.
</p>

<note>
As of now, there are two versions of gentoolkit: <c>app-portage/gentoolkit</c>
and <c>app-portage/gentoolkit-dev</c>. While the former contains administration
scripts, the latter contains scripts specific to help development on Gentoo.
This document discusses gentoolkit only.
</note>

<p>
Gentoolkit contains a whole bunch of useful tools to help manage your packages
and keep track of what is going on in your system. Most users̶ --&nbsp;particularly
those who update systems often&nbsp;-- will benefit from having gentoolkit
installed.
</p>

</body>
</section>
<section>
<title>Installation</title>
<body>

<p>
Just as with any Gentoo package, installation is just a simple emerge.
</p>

<pre caption="Getting gentoolkit">
# <i>emerge gentoolkit</i>
</pre>

<note>
Many of the tools in gentoolkit reveal important information about your system
or require root privilege. For that reason, some of the programs may only be
executed (or only function properly) if run by a user with root permission.
</note>

</body>
</section>
<section>
<title>Finding Documentation</title>
<body>

<p>
Any documentation that a program might have (other than man pages) is stored in
<path>/usr/doc/gentoolkit-[version]/[program-name]/</path>.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Querying Package Data with qpkg</title>
<section>
<title>Introduction</title>
<body>

<p>
<c>qpkg</c> is a flexible tool for determining information about installed
ebuilds.  It can provide information about what files belong to which ebuilds,
whether multiple versions of the same package are installed and what a
particular ebuild does. It can also be used to query some information about
ebuilds that have not been installed.
</p>

<p>
Calling <c>qpkg</c> with no arguments prints a list of all ebuilds with
asterisks (*) next to the packages that are installed on the system.
</p>

<note>
By default, <c>qpkg</c> prints output in color. To turn this off on the command
line, use the <c>--no-color</c> or <c>-nc</c> flag.
</note>

</body>
</section>
<section>
<title>Querying Package Information</title>
<body>

<p>
One of the most common uses for <c>qpkg</c> is determining what a given package
is. For instance, while looking through <path>net-misc</path>, I saw a package
called <path>neon</path>. Having no idea what it was, I ran qpkg.
</p>

<pre caption="Package Information">
# <i>qpkg -i net-misc/neon</i>
net-misc/neon-0.24.4
        HTTP and WebDAV client library [ http://www.webdav.org/neon ]
net-misc/neon-0.23.8
        HTTP and WebDAV client library [ http://www.webdav.org/neon ]
net-misc/neon-0.24.6
        HTTP and WebDAV client library [ http://www.webdav.org/neon/ ]
net-misc/neon-0.24.5
        HTTP and WebDAV client library [ http://www.webdav.org/neon ]
net-misc/neon-0.24.0
        HTTP and WebDAV client library [ http://www.webdav.org/neon ]
net-misc/neon-0.21.3
        HTTP and WebDAV client library [ http://www.webdav.org/neon ]
net-misc/neon-0.23.9
        HTTP and WebDAV client library [ http://www.webdav.org/neon ]
net-misc/neon-0.24.7
        HTTP and WebDAV client library [ http://www.webdav.org/neon/ ]
net-misc/neon-0.24.2
        HTTP and WebDAV client library [ http://www.webdav.org/neon ]
</pre>

<p>
<c>qpkg</c> read through the ebuild files for the nine
<path>net-misc/neon</path> ebuilds and printed out the information stored in
DESCRIPTION and HOMEPAGE.
</p>

</body>
</section>
<section>
<title>Listing Files Belonging to an Ebuild</title>
<body>

<p>
<c>qpkg</c> can also list the files that belong to an installed ebuild. I
know that gentoolkit installed several tools, but I don't know what they
all are. To find out, I can do a <c>qpkg -l</c>.
</p>

<pre caption="Package File list using qpkg">
# <i>qpkg -l app-portage/gentoolkit</i>
app-portage/gentoolkit-0.2.0_pre8 *
CONTENTS:
/usr
/usr/bin
/usr/bin/euse
/usr/bin/qpkg
/usr/bin/etcat
/usr/bin/revdep-rebuild
/usr/bin/glsa-check
/usr/bin/dep-clean
/usr/bin/equery
/usr/bin/ewhich
/usr/bin/pkg-size
/usr/lib
/usr/lib/gentoolkit
/usr/lib/gentoolkit/pym
/usr/lib/gentoolkit/pym/glsa.py
/usr/lib/gentoolkit/pym/gentoolkit.py
/usr/sbin
/usr/sbin/pkg-clean
/usr/sbin/mkebuild
/usr/share
/usr/share/doc
/usr/share/doc/gentoolkit-0.2.0_pre8
/usr/share/doc/gentoolkit-0.2.0_pre8/NEWS
/usr/share/doc/gentoolkit-0.2.0_pre8/TODO
/usr/share/doc/gentoolkit-0.2.0_pre8/euse
/usr/share/doc/gentoolkit-0.2.0_pre8/euse/TODO
/usr/share/doc/gentoolkit-0.2.0_pre8/euse/README
/usr/share/doc/gentoolkit-0.2.0_pre8/euse/AUTHORS
/usr/share/doc/gentoolkit-0.2.0_pre8/euse/ChangeLog
/usr/share/doc/gentoolkit-0.2.0_pre8/qpkg
/usr/share/doc/gentoolkit-0.2.0_pre8/qpkg/README
/usr/share/doc/gentoolkit-0.2.0_pre8/qpkg/AUTHORS
/usr/share/doc/gentoolkit-0.2.0_pre8/qpkg/ChangeLog
/usr/share/doc/gentoolkit-0.2.0_pre8/etcat
/usr/share/doc/gentoolkit-0.2.0_pre8/etcat/README
/usr/share/doc/gentoolkit-0.2.0_pre8/etcat/AUTHORS
/usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild
/usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild/TODO
/usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild/README
/usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild/AUTHORS
/usr/share/doc/gentoolkit-0.2.0_pre8/README
/usr/share/doc/gentoolkit-0.2.0_pre8/equery
/usr/share/doc/gentoolkit-0.2.0_pre8/equery/README
/usr/share/doc/gentoolkit-0.2.0_pre8/equery/AUTHORS
/usr/share/doc/gentoolkit-0.2.0_pre8/AUTHORS
/usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit
/usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/TODO
/usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/README
/usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/AUTHORS
/usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/ChangeLog
/usr/share/doc/gentoolkit-0.2.0_pre8/ChangeLog
/usr/share/doc/gentoolkit-0.2.0_pre8/COPYING
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/revdep-rebuild.1.gz
/usr/share/man/man1/mkebuild.1.gz
/usr/share/man/man1/qpkg.1.gz
/usr/share/man/man1/pkg-clean.1.gz
/usr/share/man/man1/etcat.1.gz
/usr/share/man/man1/ewhich.1.gz
/usr/share/man/man1/equery.1.gz
/usr/share/man/man1/euse.1.gz
/usr/share/man/man1/dep-clean.1.gz
/usr/share/man/man1/pkg-size.1.gz
</pre>

<note>
In case you have gentoolkit-dev installed, <c>qpkg</c> will list out files for
that as well, i.e. it displays the file list for all installed packages with
the name gentoolkit.
</note>

</body>
</section>
<section>
<title>Finding the Package That a File Came From</title>
<body>

<p>
To find the package that a file came from, use the <c>-f</c> or
<c>--find-file</c> flag.
</p>

<pre caption="Finding the ebuild that installed a given file">
# <i>qpkg -f /usr/lib/mozilla</i>
net-www/mozilla *
</pre>

</body>
</section>
<section>
<title>Listing Duplicate Packages</title>
<body>

<p>
Sometimes multiple versions of the same package may exist. <c>qpkg --dups</c>
will print a list of duplicate packages. The existence of a duplicate package
though may not indicate that the older version may be removed. They may fill
different slots. To look for duplicates in the same slot, use <c>qpkg --dups
--slot</c>. I just updated KDE from 3.0 to 3.0.2, so I have some duplicates in
the same slot.
</p>

<pre caption="Finding duplicate packages">
# <i>qpkg --dups --slot</i>
app-portage/gentoolkit
kde-base/kdeaddons
kde-base/kdeadmin
kde-base/kdeartwork
kde-base/kdebase
kde-base/kdegames
kde-base/kdelibs
kde-base/kdemultimedia
kde-base/kdenetwork
kde-base/kdetoys
kde-base/kdeutils
media-libs/freetype
x11-libs/qt
</pre>

</body>
</section>
<section>
<title>Verifying Package Integrity</title>
<body>

<p>
Sometimes it is useful to check a package's integrity to know that files have
not been replaced since they were installed. <c>qpkg</c> can verify md5 sums as
well as install times to indicate whether files for the package might have been
corrupted, replaced, or removed.
</p>

<p>
To check both mtimes and md5 sums, use the <c>-c</c> flag.
</p>

<pre caption="See the Difference?">
# <i>qpkg cdrtools -c -v</i>
app-cdr/cdrtools-2.01_alpha25 *
/etc/default/rscsi.dfl !mtime!
/usr/bin/devdump !md5! !mtime!
/usr/bin/mkisofs !md5! !mtime!
/usr/bin/isovfy !md5! !mtime!
/usr/bin/readcd !md5! !mtime!
/usr/bin/cdda2wav !md5! !mtime!
/usr/bin/cdrecord !md5! !mtime!
/usr/bin/isodump !md5! !mtime!
/usr/bin/isoinfo !md5! !mtime!
/usr/lib/libfile.a !md5! !mtime!
/usr/lib/librscg.a !md5! !mtime!
/usr/lib/libunls.a !md5! !mtime!
/usr/lib/libedc_ecc.a !md5! !mtime!
/usr/lib/libdeflt.a !md5! !mtime!
/usr/lib/libhfs.a !md5! !mtime!
/usr/lib/libscg.a !md5! !mtime!
/usr/lib/libparanoia.a !md5! !mtime!
/usr/lib/libschily.a !md5! !mtime!
/usr/sbin/rscsi !md5! !mtime!
/usr/share/man/man1/cdrecord.1.gz !md5! !mtime!
/usr/share/man/man1/readcd.1.gz !md5! !mtime!
/usr/share/man/man1/cdda2wav.1.gz !md5! !mtime!
/usr/share/man/man8/mkisofs.8.gz !md5! !mtime!
76/150

app-cdr/cdrtools-2.01_alpha37 *
0/122
</pre>

<p>
As you can see, I have more than one version of cdrtools installed. <c>qpkg</c>
reports that many of the files from the older version have been changed since I
installed it. Those packages were most likely modified when I updated from
<path>cdrtools-2.01_alpha25</path> to <path>cdrtools-2.01_alpha37</path>. Note
that the last two lines indicate that 0 of 122 files from <path>cdrtools-2.01
_alpha37</path> have been changed since I installed. That is good. If any of
them had been changed, I would be worried.
</p>

</body>
</section>
<section>
<title>But Wait... There's More</title>
<body>

<p>
<c>qpkg</c> can be used for other querying tasks that I will not cover here.
There is a very complete man page for <c>qpkg</c>. Please read it for more
information.
</p>

</body>
</section>
</chapter>

<chapter>
<title>equery</title>
<section>
<title>Introduction</title>
<body>

<p>
<c>equery</c> is a tool that supports features that <c>qpkg</c> and <c>epm</c>
have but has its own set of features that make it really useful. <c>equery
--help</c> gives you the full set of options. <c>equery</c> will eventually
replace <c>etcat</c> at some point of time.
</p>

<note>
Not all features listed by <c>equery --help</c> have been implemented yet.
Those that have not been, are mentioned clearly.
</note>

</body>
</section>
<section>
<title>Finding out Package Sizes</title>
<body>

<p>
Ever been curious to find out how much space a specific package is occupying?
Since a package could have its files over a number of directories, the usual
<c>du -hc</c> might not give you the correct figure. Not to worry, here comes
<c>equery</c> to the rescue!
</p>

<pre caption="Package Size">
# <i>equery size openoffice-bin</i>
* app-office/openoffice-bin-1.1.2
	   Total Files : 2908
	   Total Size  : 223353.31 KiB
</pre>

<p>
As you can see, <c>equery</c> prints the total space used in kilobytes and also
lists the total number of files the package has.
</p>

</body>
</section>
<section>
<title>Package-wise list of USE Flags</title>
<body>

<p>
<c>equery</c> can be used to give us information about what USE flags are being
used by a specific package. It tells us what our current USE flags are for a
package and what USE flags are available for the package.
</p>

<pre caption="Set and Unset USE Flags">
# <i>equery uses ethereal</i>
[ 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-analyzer/ethereal-0.10.6 ]
 - - adns  : Adds support for the adns DNS client library
 + + gtk   : Adds support for x11-libs/gtk+ (The GIMP Toolkit)
 - - ipv6  : Adds support for IP version 6
 - - snmp  : Adds support for the Simple Network Management Protocol if available
 + + ssl   : Adds support for Secure Socket Layer connections
 + + gtk2  : Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both.
 - - debug : Tells configure and the makefiles to build for debugging. Effects vary across packages, but generally it will at least add -g to CFLAGS. Remember to set FEATURES=nostrip too
</pre>

<p>
I have installed ethereal with only the gtk, ssl and gtk2 flags set, but the
other USE flags for ethereal are adns, ipv6, snmp and debug. For more
information on USE flags, please refer to the <uri
link="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">USE
Flags</uri> chapter of the <uri
link="http://www.gentoo.org/doc/en/handbook/">Gentoo Handbook</uri>.
</p>

</body>
</section>
<section>
<title>Where's the ebuild?</title>
<body>

<p>
We can also find out which ebuild is being used for a specific package using
<c>equery</c>. This is done my using the <c>equery which</c> command which
displays the full path to the ebuild.
</p>

<pre caption="Displaying the ebuild path">
# <i>equery which cdrtools</i>
/usr/portage/app-cdr/cdrtools/cdrtools-2.01_alpha37.ebuild
</pre>

</body>
</section>
<section>
<title>Dependency Graphs</title>
<body>

<p>
<c>equery</c> is capable of giving us a dependency graph for a specified package.
The dependency graph gives a listing of all the packages that have direct and
indirect dependencies on the package in question.
</p>

<pre caption="Dependency Graph for cdrtools">
# <i>equery depgraph cdrtools</i>
Displaying dependencies for app-cdr/cdrtools-2.01_alpha37
`-- app-cdr/cdrtools-2.01_alpha37
 `-- sys-libs/glibc-2.3.4.20040808 (virtual/libc)
  `-- sys-kernel/linux-headers-2.4.22 (virtual/os-headers)
   `-- sys-apps/baselayout-1.10.4
    `-- sys-apps/sysvinit-2.85-r1
     `-- sys-apps/gawk-3.1.3-r1
      `-- sys-apps/util-linux-2.12-r4
          `-- sys-apps/sed-4.0.9
	      `-- sys-libs/ncurses-5.4-r4
	          `-- sys-apps/pam-login-3.14
	          `-- sys-libs/pam-0.77-r1
                 `-- sys-libs/cracklib-2.7-r10
               `-- sys-apps/miscfiles-1.3-r1
              `-- app-arch/gzip-1.3.5-r1
              `-- sys-apps/portage-2.0.50-r10
</pre>

<p>
For example, while glibc may be a direct dependency for cdrtools, the linux-headers
are an indirect dependency for cdrtools.
</p>

</body>
</section>
</chapter>

<chapter>
<title>euse</title>
<section>
<title>Introduction</title>
<body>

<p>
<c>euse</c> is a tool to see, set and unset USE flags at various places. For
more information on USE flags, please refer to the <uri
link="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">USE
Flags</uri>. <c>euse -i</c> lists all USE flags.
</p>

</body>
</section>
<section>
<title>Reading, Setting and Unsetting USE Flags</title>
<body>

<p>
The <c>euse --conf</c> command reads the current USE flags set/unset from
make.conf.
</p>

<pre caption="Viewing Current flags from make.conf">
# <i> euse --conf</i>
USE setting in make.conf:
alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib
</pre>

<p>
Setting a USE flag is done with the help of the <c>euse --enable</c> command
which requires a mandatory flag name argument. If the flag is not already set,
<c>euse</c> appends the USE flag to the end of the current USE flag settings.
In case the USE flag is invalid, there is a warning. Removing a USE flag is
done using the <c>euse --disable</c> command. If an invalid flag is specified,
the user is warned suitably. If the flag is present, it is unset with a -flag
in make.conf
</p>

<pre caption="Setting a USE Flag, 3dfx">
# <i>euse --enable 3dfx</i>
USE setting in make.conf after enabling:
alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib 3dfx
</pre>

<pre caption="Unsetting a USE Flag, 3dfx">
# <i>euse --disable 3dfx</i>
USE setting in make.conf after disabling:
alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib -3dfx
</pre>

<note>
<c>euse</c> does not physically remove the flag from make.conf. It just adds a
- (minus) before the flag to unset it. You may have to manually clean up your
make.conf to avoid unwanted variables.
</note>

</body>
</section>
</chapter>

<chapter>
<title>Other tools</title>
<section>
<title>revdep-rebuild</title>
<body>

<p>
This tool is Gentoo's Reverse Dependency rebuilder.  It will scan your installed
ebuilds to find packages that have become broken as a result of an upgrade of a
package they depend on. It can emerge those packages for you but it can also
happen that a given package does not work anymore with the currently installed
dependencies, in which cas you should upgrade the broken package to a more
recent version. revdep-rebuild will pass flags to emerge which lets you use the
<c>--pretend</c> flag to see what is going to be emerged again before you go any
further.
</p>

<pre caption="Running revdep-rebuild in pretend mode">
# <i>revdep-rebuild -p</i>

Checking reverse dependencies...
Packages containing binaries and libraries broken by any package update,
will be recompiled.

Collecting system binaries and libraries... done.
  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.
  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...
  broken /usr/lib/ao/plugins-2/libarts.so (requires libartsc.so.0)
  broken /usr/lib/kde3/libkpresenterpart.so (requires libartskde.so.1 libqtmcop.so.1
         libsoundserver_idl.so.1 libkmedia2_idl.so.1 libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
  broken /usr/lib/ruby/site_ruby/1.8/i686-linux/fox.so (requires libFOX-1.0.so.0)
  broken /usr/lib/xine/plugins/1.0.0/xineplug_ao_out_arts.so (requires libartsc.so.0)
  broken /usr/lib/perl5/vendor_perl/5.8.0/i686-linux/auto/SDL_perl/SDL_perl.so (requires libSDL_gfx.so.0)
  broken /usr/lib/libloudmouth-1.so.0.0.0 (requires libgnutls.so.10)
  broken /usr/bin/k3b (requires libartskde.so.1 libqtmcop.so.1 libsoundserver_idl.so.1 libkmedia2_idl.so.1
         libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
  broken /usr/bin/lua (requires libhistory.so.4)
  broken /usr/bin/lyx (requires libAiksaurus-1.0.so.0)
  broken /usr/bin/luac (requires libhistory.so.4)
  broken /usr/bin/avidemux2 (requires libartsc.so.0)
  broken /usr/bin/pptout (requires libxml++-0.1.so.11)
  broken /usr/bin/xml2ps (requires libxml++-0.1.so.11)
 done.
  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... done.
  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.
  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...
emerge --oneshot --nodeps -p =app-cdr/k3b-0.11.14 =app-office/koffice-1.3.2 =app-office/lyx-1.3.4 \
       =app-office/passepartout-0.2 =dev-lang/lua-5.0.2 =dev-ruby/fxruby-1.0.29 =media-libs/libao-0.8.5 \
       =media-libs/xine-lib-1_rc5-r3 =media-video/avidemux-2.0.26 =net-libs/loudmouth-0.16 

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] app-cdr/k3b-0.11.14  
[ebuild   R   ] app-office/koffice-1.3.2  
[ebuild   R   ] app-office/lyx-1.3.4  
[ebuild   R   ] app-office/passepartout-0.2  
[ebuild   R   ] dev-lang/lua-5.0.2  
[ebuild   R   ] dev-ruby/fxruby-1.0.29  
[ebuild   R   ] media-libs/libao-0.8.5  
[ebuild   R   ] media-libs/xine-lib-1_rc5-r3  
[ebuild   R   ] media-video/avidemux-2.0.26  
[ebuild   R   ] net-libs/loudmouth-0.16  

Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
</pre>

<p>
If you need to rebuild some packages, you may run <c>revdep-rebuild</c> without
the <c>-p</c> flag and the listed packages will be emerged again.
</p>

</body>
</section>

<section>
<title>glsa-check</title>
<body>

<p>
<c>glsa-check</c> is mainly a test tool that keeps track of the various GLSA's
(Gentoo Linux Security Advisory) and will eventually be integrated into
<c>emerge</c> and <c>equery</c>. For more information, please visit the <uri
link="http://www.gentoo.org/proj/en/portage/glsa-integration.xml">Portage GLSA
Integration Page</uri>.
</p> 

</body>
</section>
</chapter>

</guide>
