aboutsummaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
Diffstat (limited to 'man')
-rw-r--r--man/alternatives.eclass.559
-rw-r--r--man/check-kernel.eclass.553
-rw-r--r--man/check-reqs.eclass.555
-rw-r--r--man/cvs.eclass.580
-rw-r--r--man/dispatch-conf.193
-rw-r--r--man/distutils.eclass.539
-rw-r--r--man/ebook.eclass.575
-rw-r--r--man/ebuild.1184
-rw-r--r--man/ebuild.5837
-rw-r--r--man/emerge.1555
-rw-r--r--man/env-update.128
-rw-r--r--man/etc-update.140
-rw-r--r--man/eutils.eclass.5176
-rw-r--r--man/fixheadtails.eclass.532
-rw-r--r--man/flag-o-matic.eclass.584
-rw-r--r--man/font.eclass.564
-rw-r--r--man/fortran.eclass.553
-rw-r--r--man/games.eclass.5119
-rw-r--r--man/horde.eclass.551
-rw-r--r--man/libtool.eclass.548
-rw-r--r--man/make.conf.5395
-rw-r--r--man/perl-module.eclass.566
-rw-r--r--man/portage.5588
-rw-r--r--man/python.eclass.582
-rw-r--r--man/quickpkg.156
-rw-r--r--man/repoman.1127
-rw-r--r--man/rpm.eclass.537
-rw-r--r--man/ruby.eclass.547
-rw-r--r--man/ssl-cert.eclass.554
-rw-r--r--man/stardict.eclass.534
-rw-r--r--man/subversion.eclass.559
-rw-r--r--man/tla.eclass.552
-rw-r--r--man/toolchain-funcs.eclass.5112
-rw-r--r--man/versionator.eclass.553
-rw-r--r--man/vim-plugin.eclass.586
-rw-r--r--man/vim.eclass.556
36 files changed, 4629 insertions, 0 deletions
diff --git a/man/alternatives.eclass.5 b/man/alternatives.eclass.5
new file mode 100644
index 000000000..0e536b3b7
--- /dev/null
+++ b/man/alternatives.eclass.5
@@ -0,0 +1,59 @@
+.TH ALTERNATIVES.ECLASS 5 "Nov 2004" "Portage 2.0.51" portage
+.SH NAME
+alternatives \- interface for SLOT'ed packages requiring a symbolic link to the
+latest version
+.SH DESCRIPTION
+The \fBalternatives\fR eclass provides an interface for SLOT'ed packages that
+require a symbolic link that points to the latest version installed. Due to the
+varying order in which SLOT'ed versions may be installed, the symbolic link is
+not always guaranteed to point to the latest version. The \fBalternatives\fR
+eclass attempts to solve this problem.
+.br
+
+There are currently two methods in which this eclass may be used. The first
+method involves variable invocation (via \fBSOURCE\fR and \fBALTERNATIVES\fR),
+while the second method involves function invocation (via \fBalternatives_makesym\fR
+or \fBalternatives_auto_makesym\fR). These will be described below, however,
+please keep in mind that the two methods are not meant to be used in conjunction.
+.SH VARIABLES
+.TP
+.B SOURCE = \fI"/usr/bin/python"\fR
+Defines the name of the symbolic link that will be created to point to the
+latest installed version.
+.TP
+.B ALTERNATIVES = \fI"/usr/bin/python2.3 /usr/bin/python2.2"\fR
+Defines a whitespace-delimited list of alternatives. The first one found to
+exist will become the target of the created symbolic link.
+.SH FUNCTIONS
+.TP
+.B alternatives_makesym \fI< symlink > < alt1 alt2 ... >\fR
+Creates the specified symbolic link to point to the first specified alternative
+found to exist. This function is normally invoked from \fBpkg_postinst\fR and
+\fBpkg_postrm\fR.
+.TP
+.B alternatives_auto_makesym \fI< symlink > < alt_glob >\fR
+A "smart" version of \fBalternatives_makesym\fR that attempts to automatically
+deduce which version to link to, based on the specified alternatives glob
+pattern (eg. "python[0-9].[0-9]"). Like \fBalternatives_makesym\fR, this
+function is normally invoked from \fBpkg_postinst\fR and \fBpkg_postrm\fR.
+.TP
+\fBNOTE\fR: the following default pkg functions are only meant for use with the
+variable invocation method.
+.TP
+.B alternatives_pkg_postinst
+Default pkg_postinst that calls \fBalternatives_makesym\fR if both the
+\fBSOURCE\fR and \fBALTERNATIVES\fR variables are set.
+.TP
+.B alternatives_pkg_postrm
+Default pkg_postrm that calls \fBalternatives_makesym\fR if both the \fBSOURCE\fR
+and \fBALTERNATIVES\fR variables are set.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/alternatives.eclass
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/alternatives.eclass.5,v 1.1.2.1 2005/08/20 05:05:31 vapier Exp $
diff --git a/man/check-kernel.eclass.5 b/man/check-kernel.eclass.5
new file mode 100644
index 000000000..8402b0b23
--- /dev/null
+++ b/man/check-kernel.eclass.5
@@ -0,0 +1,53 @@
+.TH "CHECK-KERNEL.ECLASS" "5" "Aug 2004" "Portage 2.0.51" "portage"
+.SH "NAME"
+check-kernel.eclass \- check kernel sources
+.SH "DESCRIPTION"
+The \fBcheck-kernel\fR eclass provides an easy interface for detecting kernel
+sources and retrieving various information.
+.SH "VARIABLES"
+The following variables are exported by the \fBcheck-kernel\fR eclass:
+.TP
+.BR KV_full
+Full kernel version (eg. 2.4.27-gentoo-r1)
+.TP
+.BR KV_major
+Major kernel version (eg. 2)
+.TP
+.BR KV_minor
+Minor kernel version (eg. 4)
+.TP
+.BR KV_micro
+Micro kernel version (eg. 27)
+.SH "FUNCTIONS"
+.TP
+.BR check_version_h
+Checks to make sure the /usr/src/linux symlink is correctly setup. If it is not,
+this function will print a huge error message and halt the emerge process.
+.TP
+.BR get_KV_info
+Parses the kernel's version.h to fill in the \fB${KV_full}\fR, \fB${KV_major}\fR,
+\fB${KV_minor}\fR, and \fB${KV_micro}\fR variables.
+.TP
+\fINOTE:\fR The following functions all return shell true/false.
+.TP
+.BR is_2_4_kernel
+Checks for kernel version 2.4.
+.TP
+.BR is_2_5_kernel
+Checks for kernel version 2.5.
+.TP
+.BR is_2_6_kernel
+Checks for kernel version 2.6.
+.TP
+.BR kernel_supports_modules
+Check to see if the kernel supports modules (CONFIG_MODULES).
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/check-kernel.eclass
+.SH "AUTHORS"
+Aaron Walker <ka0ttic@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/check-kernel.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/check-reqs.eclass.5 b/man/check-reqs.eclass.5
new file mode 100644
index 000000000..3c3afcc96
--- /dev/null
+++ b/man/check-reqs.eclass.5
@@ -0,0 +1,55 @@
+.TH CHECK-REQS.ECLASS 5 "Dec 2004" "Portage 2.0.51" "portage"
+.SH NAME
+check-reqs.eclass \- functions for checking proper build requirements
+.SH DESCRIPTION
+The \fBcheck-reqs\fR eclass provides a uniform interface for handling ebuilds
+which require an abnormally high amount of system resources. The variable(s)
+and function(s) mentioned here should usually be set/called from \fBpkg_setup\fR.
+.br
+
+\fBNOTE\fR: Minimum criteria for use of this eclass is a build that requires
+>256MB of RAM and/or >1GB of temporary or install space.
+.SH VARIABLES
+\fBNOTE\fR: all numerical values are evaluated as megabytes (MB).
+.TP
+.B CHECKREQS_ACTION = \fI"(warn|error|ignore)"\fR
+Defines action to take if current system resources do not satisfy requirements.
+\fBNOTE\fR: this variable is for end user only. Ebuilds must *not* override or
+set a default for this variable.
+.TP
+.B CHECKREQS_MEMORY = \fI"256"\fR
+Defines amount of memory required. Note that the \fBcheck-reqs\fR eclass does
+not take swap space into account when checking current memory resources.
+.TP
+.B CHECKREQS_DISK_BUILD = \fI"1024"\fR
+Defines amount of temporary build space required.
+.TP
+.B CHECKREQS_DISK_USR = \fI"1024"\fR
+Defines amount of /usr space required.
+.TP
+.B CHECKREQS_DISK_VAR = \fI"1024"\fR
+Defines amount of /var space required.
+.SH FUNCTIONS
+\fBNOTE\fR: all numerical values are evaluated as megabytes (MB). Any values
+should merely be rough estimates, and a high degree of precision should not
+be implied -- for example, "2048" (or "2000") are more appropriate than "2137".
+.TP
+.B check_reqs
+Performs resource checks based on above defined variables. If the checks fail,
+the action specified by \fBCHECKREQS_ACTION\fR will be executed. If for some
+reason the \fBcheck-reqs\fR eclass is unable to determine current resources,
+then no action will be performed. This function should be called from within
+\fBpkg_setup\fR.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/check-reqs.eclass
+.SH AUTHORS
+.nf
+Aaron Walker <ka0ttic@gentoo.org>
+Ciaran McCreesh <ciaranm@gentoo.org>
+.fi
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/check-reqs.eclass.5,v 1.1.2.3 2005/05/10 11:30:32 swegener Exp $
diff --git a/man/cvs.eclass.5 b/man/cvs.eclass.5
new file mode 100644
index 000000000..b4fdcf2a0
--- /dev/null
+++ b/man/cvs.eclass.5
@@ -0,0 +1,80 @@
+.TH CVS.ECLASS 5 "Nov 2004" "Portage 2.0.51" portage
+.SH NAME
+cvs.eclass \- provides generic cvs fetching functions
+.SH DESCRIPTION
+The \fBcvs\fR eclass contains a suite of functions that are used to
+create 'live' cvs ebuilds. These ebuilds are called 'live' because
+they will checkout a cvs repository at the time of emerge and compile
+the source from the checkout. This eclass usually generates pretty
+unstable ebuilds ... but you can't get anymore bleeding edge than
+a live cvs checkout :).
+
+Common usage of this eclass involves setting \fBECVS_SERVER\fR and
+\fBECVS_MODULE\fR to grab the relevant cvs sources, and then letting
+the eclass define \fBsrc_unpack\fR for you.
+.SH VARIABLES
+.TP
+.B "ECVS_CVS_COMMAND" = \fI"cvs -q -f -z4"\fR
+The command to run in order to checkout the module from the cvs
+repository. You should not need to change this.
+.TP
+.B "ECVS_UP_OPTS" = \fI"-dP"\fR
+Options to pass to \fBECVS_CVS_COMMAND\fR when running an update.
+You should not have to modify this.
+.TP
+.B "ECVS_CO_OPTS" = \fI""\fR
+Options to pass to \fBECVS_CVS_COMMAND\fR when running a checkout.
+You should not have to modify this.
+.TP
+.B "ECVS_TOP_DIR" = \fI"${DISTDIR}/cvs-src"\fR
+Where the cvs modules will be stored and then accessed. You
+should not have to modify this.
+.TP
+.B "ECVS_SERVER" = \fI"offline"\fR
+Set this to the server that you will be checking the sources out of.
+If you set this to 'offline' then the eclass will assume the module
+is already checked out and in \fBECVS_TOP_DIR\fR. You almost always
+will set this variable.
+.TP
+.B "ECVS_AUTH" = \fI"pserver"\fR
+The authentication method to use to checkout the sources. Please
+note that the only method currently supported is 'pserver'. You
+should not need to modify this variable.
+.TP
+.B "ECVS_USER" = \fI"anonymous"\fR
+The user to log into the server with.
+.TP
+.B "ECVS_PASS" = \fI""\fR
+The password to log into the server with.
+.TP
+.B "ECVS_MODULE" = \fI""\fR
+The module to checkout from the cvs server. Please note that you
+*must* set this variable.
+.TP
+.B "ECVS_BRANCH" = \fI"HEAD"\fR
+The branch to checkout the sources from. The common targets are
+HEAD (current 'stable' cvs code) and SPLIT (current 'unstable' cvs
+code).
+.SH FUNCTIONS
+.TP
+.B cvs_fetch
+This function will setup \fBECVS_TOP_DIR\fR and any other pre-checkout
+steps that may need to be taken. Then it will login into the server
+and finally checkout the sources from cvs. You usually do not call
+this function yourself, but rather let it be handled by \fBcvs_src_unpack\fR.
+.TP
+.B cvs_src_unpack
+This function will determine where the cvs files need to be saved and
+then where they need to be placed after the checkout. The final result
+is that you will have a copy of \fBECVS_MODULE\fR in \fB${WORKDIR}\fR. Thus
+you will usually set \fB${S}\fR to be \fB${WORKDIR}/${ECVS_MODULE}\fR.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/cvs.eclass
+.SH AUTHORS
+Mike Frysinger <vapier@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/cvs.eclass.5,v 1.4.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/dispatch-conf.1 b/man/dispatch-conf.1
new file mode 100644
index 000000000..c28f516a4
--- /dev/null
+++ b/man/dispatch-conf.1
@@ -0,0 +1,93 @@
+.TH "DISPATCH-CONF" "1" "May 2004" "Portage 2.0.51" "Portage"
+.SH NAME
+dispatch-conf \- Sanely update configuration files after emerging new packages
+.SH SYNOPSIS
+.B dispatch-conf
+.SH DESCRIPTION
+.I dispatch-conf
+is designed to be run after merging new packages in order to see if
+there are updates to the configuration files. If a new
+configuration file will overwrite an old one,
+.I dispatch-conf
+will prompt the user for a decision about how to resolve the
+discrepancy.
+Advantages of
+.I dispatch-conf
+include easy rollback (changes to config files are stored either using
+patches or rcs) and the ability to automatically update config files
+that the user has never modified or
+that differ from the current version only in CVS cruft or white space.
+
+.I dispatch-conf
+will check all directories in the \fICONFIG_PROTECT\fR variable. All
+config files found in \fICONFIG_PROTECT_MASK\fR will automatically be
+updated for you by \fIdispatch-conf\fR. See \fBmake.conf\fR(5) for more
+information.
+.SH OPTIONS
+.TP
+None.
+.SH USAGE
+.I dispatch-conf
+must be run as root, since the config files to be replaced are generally
+owned by root. Before running
+.I dispatch-conf
+for the first time the settings in
+.B /etc/dispatch-conf.conf
+should be edited and the archive directory specified in
+\fI/etc/dispatch-conf.conf\fR will need to be created. All changes to
+config files will be saved in the archive directory either as patches
+or using rcs, making restoration to an earlier version rather simple.
+
+When dispatch-conf finds a config file that has a new update the user
+is provided
+with a menu of options for how to handle the update:
+.TP
+.B u
+Update (replace) the current config file with the new config file and continue.
+.TP
+.B z
+Zap (delete) the new config file and continue.
+.TP
+.B n
+Skip to the next config file, leaving both the original config file and any
+\fICONFIG_PROTECT\fRed files.
+.TP
+.B e
+Edit the new config file, using the editor defined in \fI$EDITOR\fR.
+.TP
+.B m
+Interactively merge the current and new config files.
+.TP
+.B l
+Look at the differences between the pre-merged and merged config files.
+.TP
+.B t
+Toggle between the merged and pre-merged config files (in terms of which
+should be installed using the
+.Qt u
+command).
+.TP
+.B h
+Display a help screen.
+.TP
+.B q
+Quit
+.I dispatch-conf.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR make.conf (5), etc-update (1)
+.SH "FILES"
+.TP
+.B /etc/dispatch-conf.conf
+Configuration settings for \fIdispatch-conf\fR are stored here.
+.SH AUTHORS
+Jeremy Wohl
+.br
+Karl Trygve Kalleberg <karltk@gentoo.org>
+.br
+Mike Frysinger <vapier@gentoo.org>
+.br
+Grant Goodyear <g2boojum@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/dispatch-conf.1,v 1.3.2.1 2004/11/02 23:59:57 vapier Exp $
diff --git a/man/distutils.eclass.5 b/man/distutils.eclass.5
new file mode 100644
index 000000000..10244ddf0
--- /dev/null
+++ b/man/distutils.eclass.5
@@ -0,0 +1,39 @@
+.TH "DISTUTILS.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+distutils.eclass \- allow easier installation of distutils-based python modules
+.SH "DESCRIPTION"
+The \fBdistutils\fR eclass is designed to allow easier installation of
+distutils-based python modules and their incorporation into the Gentoo
+Linux system. The eclass defines \fBsrc_compile\fR and \fBsrc_install\fR
+for you. You should be able to make a quick ebuild without setting up
+any extra variables or functions.
+.SH "VARIABLES"
+.TP
+.B PYTHON_SLOT_VERSION = \fI"[0|2.1]"\fR
+This allows you to depend on python-2.1. This is usually only
+needed by a -py21- ebuild. Otherwise you should not have to set this.
+.TP
+.B DOCS = \fI"<files to give to dodoc>"\fR
+This will cause \fBsrc_install\fR to install a few extra documentation
+files than normal.
+.SH "FUNCTIONS"
+.TP
+.B distutils_python_version
+This will setup the variables \fBPYVER_MAJOR\fR, \fBPYVER_MINOR\fR,
+and \fBPYVER\fR with the corresponding values of the python version.
+.TP
+.B distutils_python_tkinter
+If the package requires tkinter support, then calling this function
+will cause the ebuild to fail if tkinter support does not exist. An
+informative message will be displayed telling the user they need to
+recompile python with tkinter support for the ebuild to emerge.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/distutils.eclass
+.SH "AUTHORS"
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/distutils.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/ebook.eclass.5 b/man/ebook.eclass.5
new file mode 100644
index 000000000..eab786963
--- /dev/null
+++ b/man/ebook.eclass.5
@@ -0,0 +1,75 @@
+.TH "EBOOK.ECLASS" "5" "Aug 2004" "Portage 2.0.51" "portage"
+.SH "NAME"
+ebook.eclass \- easy installation of ebooks
+.SH "DESCRIPTION"
+The \fBebook\fR eclass makes writing ebuilds for ebooks a trivial task.
+.SH "VARIABLES"
+\fINOTE\fR: the following variables should be set \fBBEFORE\fR inheriting the
+\fBebook\fR eclass:
+.TP
+.BR "DESCRIPTION"
+Package description. Defaults to "\fB${P}\fR ebook based on ebook eclass".
+.TP
+.BR "RDEPEND"
+Run-time dependencies. Defaults to ">=dev-util/devhelp-0.6".
+.TP
+.BR "EBOOKNAME"
+The name of the ebook. This variable \fImust\fR be set.
+.TP
+.BR "EBOOKVERSION"
+The version of the ebook. This variable \fImust\fR be set, even if there is
+no version. See the \fB${NOVERSION}\fR variable below for more information.
+.TP
+.BR "SRC"
+The name of the file to download, minus the file extension. This variable
+defaults to \fB${EBOOKNAME}\fR-\fB${EBOOKVERSION}\fR.
+.TP
+.BR "SRC_URI"
+The ebook URI to download. Defaults to "http://lidn.sourceforge.net/books_download/\fB${SRC}\fR.\fB${EBOOKEXT}\fR".
+.TP
+.BR "EBOOKEXT"
+The file name extension of \fB${SRC}\fR. Defaults to tar.gz.
+.TP
+.BR "EBOOKDESTDIR"
+The directory inside \fB${DEVHELPROOT}\fR/books/\fB${EBOOKDIR}\fR in which the
+ebook will be installed. This variable defaults to \fB${EBOOKNAME}\fR-\fB${EBOOKVERSION}\fR
+or \fB${EBOOKNAME}\fR if the \fB${NOVERSION}\fR variable is set.
+.TP
+.BR "EBOOKFROMDIR"
+The directory in which the ebook's HTML files are located after unpacking
+\fB${SRC_URI}\fR. This directory is relative to \fB${WORKDIR}\fR. This
+variable defaults to \fB${EBOOKNAME}\fR-\fB${EBOOKVERSION}\fR or \fB${EBOOKNAME}\fR
+if the \fB${NOVERSION}\fR variable is set.
+.TP
+.BR "BOOKDEVHELPFILE"
+The file name that the ebook's book.devhelp will be installed as. This variable
+defaults to \fB${EBOOKNAME}\fR-\fB${EBOOKVERSION}\fR.devhelp or \fB${EBOOKNAME}\fR.devhelp
+if the \fB${NOVERSION}\fR variable is set.
+.TP
+.BR "BOOKDESTDIR"
+The directory in which the ebook's HTML will be installed into. Defaults to
+\fB${EBOOKNAME}\fR-\fB${EBOOKVERSION}\fR or \fB${EBOOKNAME}\fR is the \fB${NOVERSION}\fR
+variable is set.
+.TP
+.BR "NOVERSION"
+If this variable is not empty, all instances of \fB${EBOOKVERSION}\fR will be
+removed from all variables.
+.TP
+.BR "DEVHELPROOT"
+The location of devhelp's data directory. Defaults to usr/share/devhelp.
+.SH "FUNCTIONS"
+\fINOTE\fR: the following functions will be used as the defaults should they
+be omitted from the ebuild.
+.TP
+.BR "ebook_src_install"
+Installs \fB${BOOKDEVHELPFILE}\fR and all HTML files into \fB${DEVHELPROOT}\fR/books/\fB${EBOOKDESTDIR}\fR.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/ebook.eclass
+.SH "AUTHORS"
+Aaron Walker <ka0ttic@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/ebook.eclass.5,v 1.2.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/ebuild.1 b/man/ebuild.1
new file mode 100644
index 000000000..af5f493fd
--- /dev/null
+++ b/man/ebuild.1
@@ -0,0 +1,184 @@
+.TH "EBUILD" "1" "Nov 2002" "Portage 2.0.51" "Portage"
+.SH "NAME"
+ebuild \- manual page for the ebuild program, a low level interface to
+the Portage system.
+.SH "SYNOPSIS"
+.B ebuild
+.I file command [command]\fR...
+.SH "DESCRIPTION"
+The ebuild program is a direct interface to the Portage system. It
+allows for direct action upon an ebuild with specific subcommands or
+groups of commands to perform in a specific ebuild's context and
+functions. Accepting an ebuild script and one or more commands
+as arguments, the ebuild program parses the ebuild script and
+execute the specified commands. Commands exist to fetch sources,
+unpack sources, compile sources, install object files into a temporary
+directory "image", merge the image to the local filesystem, create a
+bzipped tarball package out of the image, and more.
+.SH "FILE"
+This must be a valid ebuild script. For further information read
+\fBebuild\fR(5).
+.SH "COMMANDS"
+.TP
+.BR help
+Show a condensed form of the man page along with a lot of package
+specific information.
+.TP
+.BR setup
+Run all package specific setup actions and exotic system checks.
+.TP
+.BR clean
+Cleans the temporary build directory that Portage has created for
+this particular ebuild file. The temporary build directory normally
+contains the extracted source files as well as a possible
+"install image" (all the files that will be merged to the local
+filesystem or stored in a package). The location of the build
+directory is set by the BUILD_PREFIX variable. For information
+on what this variable is, run \fIemerge [\-v] info\fR, or to override
+this variable, see \fBmake.conf\fR(5).
+
+Note: Portage cleans up almost everything after a package has been
+successfully merged unless FEATURES contains 'noclean'. Adding noclean
+to FEATURES will cause a lot of files to remain and will consume large
+amounts of space, very quickly. It is not recommended to leave this on
+unless you have use for the sources post\-merge. Optionally one may,
+manual clean \fIrm \-rf /var/tmp/portage\fR will take care of all
+of these files.
+.TP
+.BR fetch
+Checks to see if all the sources specified in SRC_URI are available in
+DISTDIR (see \fBmake.conf\fR(5) for more information) and have a valid
+md5 checksum. If the sources aren't available, an attempt is made to
+download them from the locations specified in SRC_URI. If multiple
+download locations are listed for a particular file, Portage pings
+each location to see which location is closer. (May not be true
+presently.) The Gentoo Linux mirrors defined by GENTOO_MIRRORS is
+always considered first. If for some reason the current or
+just\-downloaded sources' md5 digests don't match those recorded
+in files/digest\-[package]\-[version\-rev], a warning is printed
+and ebuild exits with an error code of 1.
+.TP
+.BR digest
+Creates a digest file for the package in
+/usr/portage/[category]/[package]/files/. This digest file lists the
+md5sum's of all the files found in the SRC_URI. If the fetched source
+of the package is corrupt/bogus in some way, the md5sum will catch this.
+.TP
+.BR unpack
+Extracts the sources to a subdirectory in the \fIbuild directory\fR
+(BUILD_PREFIX) by running the \fIsrc_unpack()\fR function in the ebuild
+file. If no src_unpack() function has been specified, a default
+src_unpack() function is used that extracts all the files specified in
+SRC_URI. The sources are normally extracted to
+${BUILD_PREFIX}/[package]\-[version\-rev]/work. This particular directory
+can be referenced by using the ${WORKDIR} variable.
+
+If you're creating an ebuild, you'll want to make sure that the S
+(source directory) variable defined at at the top of your ebuild script
+points to the directory that contains your extracted sources. This
+directory is defined by default to be ${WORKDIR}/${P}, so it is not
+often required. The src_unpack() function is also responsible for
+making the appropriate patches to the sources so that they're ready
+for compilation.
+.TP
+.BR compile
+Compiles the extracted sources by running the the \fIsrc_compile()\fR
+function specified in the ebuild file. When src_compile() starts, the
+current working directory will be set to ${S}. When src_compile()
+completes, the sources should be fully compiled.
+.TP
+.BR test
+Run package specific test cases to verify that everything was built
+properly.
+.TP
+.BR preinst
+Run package specific actions that need to be done before the package
+is installed into the live filesystem.
+.TP
+.BR install
+Installs the package to the temporary \fIinstall directory\fR by running
+the \fIsrc_install()\fR function. When completed, the
+\fIinstall directory\fR (${BUILD_PREFIX}/[package]\-[version\-rev]/image)
+will contain all the files that should either be merged to the local
+file system or included in a binary package.
+.TP
+.BR postinst
+Run package specific actions that need to be done after the package
+is installed into the live filesystem. Usually helpful messages are
+shown here.
+.TP
+.BR qmerge
+This function installs all the files in the \fIinstall directory\fR
+to the live filesystem. The process works as follows: first, the
+\fIpkg_preinst()\fR function (if specified) is run. Then, the files
+are merged into the live filesystem, and the installed files' md5
+digests are recorded in
+\fI/var/db/pkg/${CATEOGRY}/${PN}\-[version\-rev]/CONTENTS\fR. After
+all the files have been merged, the \fIpkg_postinst()\fR function
+(if specified) is executed.
+.TP
+.BR merge
+Normally, to merge an ebuild, you need to \fIfetch\fR, \fIunpack\fR,
+\fIcompile\fR, \fIinstall\fR and \fIqmerge\fR. If you're simply
+interested in merging the ebuild, you can use this command, which
+will perform all these steps for you, stopping along the way if a
+particular step doesn't complete successfully.
+.TP
+.BR unmerge
+This function first executes the \fIpkg_prerm\fR function (if specified).
+Then it removes all files from the live filesystem that have a valid md5
+checksum and mtime in the package contents file. Any empty directories
+are recursively removed. Finally, it runs \fIpkg_postrm\fR function (if
+specified). It is safe to merge a new version of a package first and
+then unmerge the old one. In fact, this is the recommended package
+upgrade method.
+.TP
+.BR prerm
+Run package specific actions that need to be executed before the package is
+removed from the filesystem. See also \fIunmerge\fR.
+.TP
+.BR postrm
+Run package specific actions that need to be executed after the package is
+removed from the filesystem. See also \fIunmerge\fR.
+.TP
+.BR config
+Run package specific actions needed to be executed after the emerge
+process has completed. This usually entails configuration file
+setup or other similar setups that the user may wish to run.
+.TP
+.BR package
+This command is a lot like the \fImerge\fR command, except that after
+fetching, unpacking, compiling and installing, a .tbz2 binary package
+tarball is created and stored in ${PKGDIR}/All (${PKGDIR} defaults to
+/usr/portage/packages). A symbolic link is created in
+${PKGDIR}/${CATEGORY} that points to the package in ${PKGDIR}/All.
+.TP
+.BR rpm
+Builds a RedHat RPM package from the files in the temporary
+\fIinstall directory\fR. At the moment, the ebuild's dependency
+information is not incorporated into the RPM.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR emerge (1),
+.BR ebuild (5),
+.BR make.conf (5)
+.TP
+The \fI/usr/sbin/ebuild.sh\fR script.
+.TP
+The helper apps in \fI/usr/lib/portage/bin\fR.
+.SH "FILES"
+.TP
+\fB/etc/make.conf\fR
+Contains variables for the build\-process and overwrites those
+in make.globals.
+.SH "AUTHORS"
+Achim Gottinger <achim@gentoo.org>
+.br
+Daniel Robbins <drobbins@gentoo.org>
+.br
+Nicholas Jones <carpaski@gentoo.org>
+.br
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/ebuild.1,v 1.16 2004/09/17 00:17:10 vapier Exp $"
diff --git a/man/ebuild.5 b/man/ebuild.5
new file mode 100644
index 000000000..349a2b81d
--- /dev/null
+++ b/man/ebuild.5
@@ -0,0 +1,837 @@
+.TH "EBUILD" "5" "Feb 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+ebuild \- the internal format, variables, and functions in an ebuild script
+.SH "DESCRIPTION"
+The
+.BR ebuild (1)
+program accepts a single ebuild script as an argument. This script
+contains variables and commands that specify how to download, unpack,
+patch, compile, install and merge a particular software package from
+its original sources. In addition to all of this, the ebuild script
+can also contain pre/post install/remove commands, as required.
+.SH "EXAMPLES"
+Here's a simple example ebuild:
+
+.DS
+.nf
+# Copyright 1999\-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header:
+
+inherit some_eclass another_eclass
+
+DESCRIPTION="Super\-useful stream editor (sed)"
+HOMEPAGE="http://www.gnu.org/software/sed/sed.html"
+SRC_URI="ftp://alpha.gnu.org/pub/gnu/sed/${P}.tar.gz"
+
+LICENSE="GPL\-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND="virtual/libc"
+RDEPEND="virtual/libc"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ into /usr
+ doinfo doc/sed.info
+ doman doc/sed.1
+ into /
+ dobin sed/sed || die "dobin sed failed"
+ dodir /usr/bin
+ dosym /bin/sed /usr/bin/sed
+ dodoc NEWS README* THANKS TODO AUTHORS BUGS ANNOUNCE
+}
+.fi
+.SH "VARIABLES"
+.TP
+.B MISC USAGE NOTES
+- PORTAGE* and PORTDIR* variables may be found in \fBmake.conf\fR(5).
+.br
+- When assigning values to variables in ebuilds, you \fBcannot have a space\fR
+between the variable name and the equal sign.
+.TP
+.B P
+This variable contains the package name without the ebuild revision.
+This variable must NEVER be modified.
+.br
+\fBxfree-4.2.1-r2.ebuild\fR --> \fB$P\fR=='\fIxfree-4.2.1\fR'
+.TP
+.B PN
+Contains the name of the script without the version number.
+.br
+\fBxfree-4.2.1-r2.ebuild\fR --> \fB$PN\fR=='\fIxfree\fR'
+.TP
+.B PV
+Contains the version number without the revision.
+.br
+\fBxfree-4.2.1-r2.ebuild\fR --> \fB$PV\fR=='\fI4.2.1\fR'
+.TP
+.B PR
+Contains the revision number or 'r0' if no revision number exists.
+.br
+\fBxfree-4.2.1-r2.ebuild\fR --> \fB$PR\fR=='\fIr2\fR'
+.TP
+.B PVR
+Contains the version number with the revision.
+.br
+\fBxfree-4.2.1-r2.ebuild\fR --> \fB$PVR\fR=='\fI4.2.1-r2\fR'
+.TP
+.B PF
+Contains the full package name \fI[PN]\-[PVR]\fR
+.br
+\fBxfree-4.2.1-r2.ebuild\fR --> \fB$PF\fR=='\fIxfree-4.2.1-r2\fR'
+.TP
+.B A
+Contains all source files required for the package. This variable must
+not be defined. It is autogenerated from the \fISRC_URI\fR variables.
+.TP
+\fBWORKDIR\fR = \fI"${PORTAGE_TMPDIR}/portage/${PF}/work"\fR
+Contains the path to the package build root. Do not modify this variable.
+.TP
+\fBFILESDIR\fR = \fI"${PORTDIR}/${CATEGORY}/${PN}/files"\fR
+Contains the path to the 'files' sub folder in the package specific
+location in the portage tree. Do not modify this variable.
+.TP
+\fBS\fR = \fI"${WORKDIR}/${P}"\fR
+Contains the path to the temporary \fIbuild directory\fR. This variable
+is used by the functions \fIsrc_compile\fR and \fIsrc_install\fR. Both
+are executed with \fIS\fR as the current directory. This variable may
+be modified to match the extraction directory of a tarball for the package.
+.TP
+\fBT\fR = \fI"${PORTAGE_TMPDIR}/portage/${PF}/temp"\fR
+Contains the path to a \fItemporary directory\fR. You may use this for
+whatever you like.
+.TP
+\fBD\fR = \fI"${PORTAGE_TMPDIR}/portage/${PF}/image"\fR
+Contains the path to the temporary \fIinstall directory\fR. Every write
+operation that does not involve the helper tools and functions (found below)
+should be prefixed with ${D}. Do not modify this variable. This will not be
+available inside of the pkg_* functions, see \fIIMAGE\fR below.
+.TP
+\fBIMAGE\fR = \fI"${PORTAGE_TMPDIR}/portage/${PF}/image"\fR
+Contains the path to the temporary \fIimage directory\fR. When inside of the
+\fIpkg_*\fR functions, you should access the \fIIMAGE\fR directory instead of
+the \fID\fR directory. Do not modify this variable.
+.TP
+\fBDESCRIPTION\fR = \fI"A happy little package"\fR
+Should contain a short description of the package.
+.TP
+\fBSRC_URI\fR = \fI"http://happy.com/little/${P}.tar.gz"\fR
+Contains a list of URI's for the required source files. It can contain
+multiple URI's for a single source file. The fastest location is chosen
+if the file was not found at \fIGENTOO_MIRROR\fB\fR.
+.TP
+\fBHOMEPAGE\fR = \fI"http://happy.com/"\fR
+Should contain a list of URL's for the sources main sites and other further
+package dependent information.
+.TP
+\fBKEYWORDS\fR = \fI[-~][x86,ppc,sparc,mips,alpha,arm,hppa]\fR
+Should contain appropriate list of arches that the ebuild is know to
+work/not work. By default if you do not know if an ebuild runs under
+a particular arch simply omit that KEYWORD. If the ebuild will not
+work on that arch include it as \-ppc for example. If the ebuild is
+being submitted for inclusion, it must have ~arch set for architectures
+where it has been PROVEN TO WORK. (Packages KEYWORDed this way may be
+unmasked for testing by setting ACCEPT_KEYWORDS="~arch" on the command
+line, or in \fBmake.conf\fR(5)) For an authoritative list please review
+/usr/portage/profiles/arch.list.
+.TP
+\fBSLOT\fR
+This sets the SLOT for packages that may need to co\-exist. By default
+you should set \fBSLOT\fR="0" unless you know what you are doing and need
+to do otherwise. This value should \fINEVER\fR be left undefined.
+.TP
+\fBLICENSE\fR
+This should be a space delimited list of licenses that the package falls
+under. This \fB_must_\fR be set to a matching license in
+/usr/portage/licenses/. If the license does not exist in portage yet you
+must add it first.
+.TP
+\fBIUSE\fR
+This should be a list of any and all USE flags that are leveraged within
+your build script. The only USE flags that should not be listed here are
+arch related flags (see \fBKEYWORDS\fR).
+.TP
+\fBDEPEND\fR
+This should contain a list of all packages that are required for the
+program to compile.
+.RS
+.TP
+.B DEPEND Atoms
+A depend atom is simply a dependency that is used by portage when calculating
+relationships between packages. Please note that if the atom has not already
+been emerged, then the latest version available is matched.
+.RS
+.TP
+.B Atom Bases
+The base atom is just a full category/packagename. Hence, these are base atoms:
+
+.nf
+.I sys-apps/sed
+.I sys-libs/zlib
+.I net-misc/dhcp
+.fi
+.TP
+.B Atom Versions
+It is nice to be more specific and say that only certain versions of atoms are
+acceptable. Note that versions must be combined with a prefix (see below). Hence
+you may add a version number as a postfix to the base:
+
+.nf
+sys-apps/sed\fI-4.0.5\fR
+sys-libs/zlib\fI-1.1.4-r1\fR
+net-misc/dhcp\fI-3.0_p2\fR
+.fi
+
+Versions are normally made up of two or three numbers separated by periods, such
+as 1.2 or 4.5.2. This string may be followed by a character such as 1.2a or 4.5.2z.
+Note that this letter is \fBnot\fR meant to indicate alpha, beta, etc... status.
+For that, use the optional suffix; either _alpha, _beta, _pre (pre-release), _rc
+(release candidate), or _p (patch). This means for the 3rd pre-release of a package,
+you would use something like 1.2_pre3.
+.TP
+.B Atom Prefix Operators [> >= = <= <]
+Sometimes you want to be able to depend on general versions rather than specifying
+exact versions all the time. Hence we provide standard boolean operators:
+
+.nf
+\fI>\fRmedia-libs/libgd-1.6
+\fI>=\fRmedia-libs/libgd-1.6
+\fI=\fRmedia-libs/libgd-1.6
+\fI<=\fRmedia-libs/libgd-1.6
+\fI<\fRmedia-libs/libgd-1.6
+.fi
+.TP
+.B Extended Atom Prefixes [!~] and Postfixes [*]
+Now to get even fancier, we provide the ability to define blocking packages and
+version range matching. Also note that these extended prefixes/postfixes may
+be combined in any way with the atom classes defined above. Here are some common
+examples you may find in the portage tree:
+
+.nf
+\fI!\fRapp-text/dos2unix
+=dev-libs/glib-2\fI*\fR
+\fI!\fR=net-fs/samba-2\fI*\fR
+\fI~\fRnet-libs/libnet-1.0.2a
+.fi
+
+\fI!\fR means block packages from being installed at the same time.
+.br
+\fI*\fR means match any version of the package so long as the specified base
+is matched. So with a version of '2*', we can match '2.1', '2.2', '2.2.1',
+etc... and not match version '1.0', '3.0', '4.1', etc...
+.br
+\fI~\fR means match any revision of the base version specified. So in the
+above example, we would match versions '1.0.2a', '1.0.2a-r1', '1.0.2a-r2',
+etc...
+.RE
+.TP
+.B Dynamic DEPENDs
+Sometimes programs may depend on different things depending on the USE
+variable. Portage offers a few options to handle this. Note that when
+using the following syntaxes, each case is considered as 1 Atom in the
+scope it appears. That means that each Atom both conditionally include
+multiple Atoms and be nested to an infinite depth.
+.RS
+.TP
+.B usevar? ( DEPEND Atom )
+To include the jpeg library when the user has jpeg in \fBUSE\fR, simply use the
+following syntax:
+.br
+.B jpeg? ( media-libs/jpeg)
+.TP
+.B !usevar? ( Atom )
+If you want to include a package only if the user does not have a certain option
+in their \fBUSE\fR variable, then use the following syntax:
+.br
+.B !nophysfs? ( dev-games/physfs )
+.br
+This is often useful for those times when you want to want to add optional support
+for a feature and have it enabled by default.
+.TP
+.B usevar? ( Atom if true ) !usevar? ( Atom if false )
+For functionality like the tertiary operator found in C you must use
+two statements, one normal and one inverted. If a package uses
+GTK2 or GTK1, but not both, then you can handle that like this:
+.br
+.B gtk2? ( =x11-libs/gtk+-2* ) !gtk2? ( =x11-libs/gtk+-1* )
+.br
+That way the default is the superior GTK2 library.
+.TP
+.B || ( Atom Atom ... )
+When a package can work with a few different packages but a virtual is not
+appropriate, this syntax can easily be used.
+.nf
+.B || (
+.B app-games/unreal-tournament
+.B app-games/unreal-tournament-goty
+.B )
+.fi
+Here we see that unreal-tournament has a normal version and it has a goty version.
+Since they provide the same base set of files, another package can use either.
+Adding a virtual is inappropriate due to the small scope of it.
+.br
+Another good example is when a package can be built with multiple video
+interfaces, but it can only ever have just one.
+.nf
+.B || (
+.B sdl? ( media-libs/libsdl )
+.B svga? ( media-libs/svgalib )
+.B opengl? ( virtual/opengl )
+.B ggi? ( media-libs/libggi )
+.B virtual/x11
+.B )
+.fi
+Here only one of the packages will be chosen, and the order of preference is
+determined by the order in which they appear. So sdl has the best chance of being
+chosen, followed by svga, then opengl, then ggi, with a default of X if the user
+does not specify any of the previous choices.
+.RE
+
+.RE
+.TP
+\fBRDEPEND\fR
+This should contain a list of all packages that are required for this
+program to run (aka runtime depend). If this is not set, then it
+defaults to the value of \fBDEPEND\fR.
+.br
+You may use the same syntax to vary dependencies as seen above in \fBDEPEND\fR.
+.TP
+\fBPDEPEND\fR
+This should contain a list of all packages that will have to be installed after
+the program has been merged.
+.br
+You may use the same syntax to vary dependencies as seen above in \fBDEPEND\fR.
+.TP
+\fBRESTRICT\fR = \fI[fetch,mirror,nostrip,userpriv]\fR
+This should be a space delimited list of portage features to restrict.
+.PD 0
+.RS
+.TP
+.I fetch
+like \fInomirror\fR but the files will not be fetched via \fBSRC_URI\fR either.
+.TP
+.I mirror
+files in \fBSRC_URI\fR will not be downloaded from the \fBGENTOO_MIRRORS\fR.
+.TP
+.I primaryuri
+fetch from URL's in \fBSRC_URI\fR before \fBGENTOO_MIRRORS\fR.
+.TP
+.I nostrip
+final binaries/libraries will not be stripped of debug symbols.
+.TP
+.I userpriv
+Disables userpriv for specific packages.
+.RE
+.PD 1
+.TP
+\fBPROVIDE\fR = \fI"virtual/TARGET"\fR
+This variable should only be used when a package provides a virtual target.
+For example, blackdown-jdk and sun-jdk provide \fIvirtual/jdk\fR. This
+allows for packages to depend on \fIvirtual/jdk\fR rather than on blackdown
+or sun specifically.
+.SH "PORTAGE DECLARATIONS"
+.TP
+.B inherit
+Inherit is portage's maintainance of extra classes of functions that
+are external to ebuilds and provided as inheritable capabilities and
+data. They define functions and set data types as drop-in replacements,
+expanded, and simplified routines for extremely common tasks to streamline
+the build process. Inherit may only be called once in an ebuild and it may
+\fBnever be wrapped within any conditionals\fR of any kind. Specification of
+the eclasses contains only their name and not the \fI.eclass\fR extention.
+.SH "FUNCTIONS"
+.TP
+.B pkg_nofetch
+If you turn on \fIfetch\fR in \fBRESTRICT\fR, then this function will be
+run when the files in \fBSRC_URI\fR cannot be found. Useful for
+displaying information to the user on *how* to obtain said files. All
+you have to do is output a message and let the function return. Do not
+end the function with a call to \fBdie\fR.
+.TP
+.B pkg_setup
+This function can be used if the package needs specific setup actions or
+checks to be preformed before anything else.
+.br
+Initial working directory of ${PORTAGE_TMPDIR}.
+.TP
+.B src_unpack
+This function is used to unpack all the sources in \fIA\fR to \fIWORKDIR\fR.
+If not defined in the \fIebuild script\fR it calls \fIunpack ${A}\fR. Any
+patches and other pre configure/compile modifications should be done here.
+.br
+Initial working directory of $WORKDIR.
+.TP
+.B src_compile
+All necessary steps for configuration and compilation should be done in here.
+.br
+Initial working directory of $S.
+.TP
+.B src_test
+Run all package specific test cases. The default is to run 'make check'
+followed 'make test'.
+.br
+Initial working directory of $S.
+.TP
+.B src_install
+Should contain everything required to install the package in the temporary
+\fIinstall directory\fR.
+.br
+Initial working directory of $S.
+.TP
+.B pkg_preinst pkg_postinst
+All modifications required on the live\-filesystem before and after the
+package is merged should be placed here. Also commentary for the user
+should be listed here as it will be displayed last.
+.br
+Initial working directory of $PWD.
+.TP
+.B pkg_prerm pkg_postrm
+Like the pkg_*inst functions but for unmerge.
+.br
+Initial working directory of $PWD.
+.TP
+.B pkg_config
+This function should contain optional basic configuration steps.
+.br
+Initial working directory of $PWD.
+.SH "HELPER FUNCTIONS: GENERAL"
+.TP
+\fBdie\fR \fI[reason]\fR
+Causes the current emerge process to be aborted. The final display will
+include \fIreason\fR.
+.TP
+\fBuse\fR \fI<USE item>\fR
+If \fIUSE item\fR is in the \fBUSE\fR variable, \fIUSE item\fR will be
+echoed and the function will return 0. If \fIUSE item\fR is not in the
+\fBUSE\fR variable, the function will return 1. \fBuseq\fR is a non-echoing
+version of \fBuse\fR.
+.RS
+.TP
+.I Example:
+.nf
+if useq gnome ; then
+ guiconf="--enable-gui=gnome --with-x"
+elif useq gtk ; then
+ guiconf="--enable-gui=gtk --with-x"
+elif useq X ; then
+ guiconf="--enable-gui=athena --with-x"
+else
+ # No gui version will be built
+ guiconf=""
+fi
+.fi
+.RE
+.TP
+\fBuse_with\fR \fI<USE item>\fR \fI[configure option]\fR
+Useful for creating custom options to pass to a configure script. If
+\fIUSE item\fR is in the \fBUSE\fR variable, then the string
+\fI--with-[configure option]\fR will be echoed. If \fIUSE item\fR is
+not in the \fBUSE\fR variable, then the string
+\fI--without-[configure option]\fR will be echoed. If
+\fIconfigure option\fR is not specified, then \fIUSE item\fR will be
+used in its place.
+.RS
+.TP
+.I Example:
+.nf
+USE="jpeg"
+myconf="$(use_with jpeg libjpeg)"
+(myconf now has the value "--with-libjpeg")
+
+USE=""
+myconf="$(use_with jpeg libjpeg)"
+(myconf now has the value "--without-libjpeg")
+
+USE="opengl"
+myconf="$(use_with opengl")
+(myconf now has the value "--with-opengl")
+.fi
+.RE
+.TP
+\fBuse_enable\fR \fI<USE item>\fR \fI[configure option]\fR
+Useful for creating custom options to pass to a configure script. If
+\fIUSE item\fR is in the \fBUSE\fR variable, then the string
+\fI--enable-[configure option]\fR will be echoed. If \fIUSE item\fR is
+not in the \fBUSE\fR variable, then the string
+\fI--disable-[configure option]\fR will be echoed. If \fIconfigure option\fR
+is not specified, then \fIUSE item\fR will be used in its place.
+.br
+See \fBuse_with\fR for an example.
+.TP
+\fBhas\fR \fI<item>\fR \fI<item list>\fR
+If \fIitem\fR is in \fIitem list\fR, then \fIitem\fR is echoed and \fBhas\fR
+returns 0. Otherwise, nothing is echoed and 1 is returned. As indicated with
+use, there is a non-echoing version \fBhasq\fR. Please use \fBhasq\fR in all
+places where output is to be disregarded. Never use the output for calculation.
+.br
+The \fIitem list\fR is delimited by the \fIIFS\fR variable. This variable
+has a default value of ' ', or a space. It is a \fBbash\fR(1) setting.
+.TP
+\fBhas_version\fR \fI<category/package-version>\fR
+Check to see if \fIcategory/package-version\fR is installed on the system.
+The parameter accepts all values that are acceptable in the \fBDEPEND\fR
+variable. The function returns 0 if \fIcategory/package-version\fR is
+installed, 1 otherwise.
+.TP
+\fBbest_version\fR \fI<package name>\fR
+This function will look up \fIpackage name\fR in the database of currently
+installed programs and echo the "best version" of the package that is
+currently installed. The function returns 0 if there is a package that
+matches \fIpackage name\fR. Otherwise, the function will return 1.
+.RS
+.TP
+.I Example:
+VERINS="$(best_version net-ftp/glftpd)"
+.br
+(VERINS now has the value "net-ftp/glftpd-1.27" if glftpd-1.27 is installed)
+.RE
+.SH "HELPER FUNCTIONS: OUTPUT"
+.TP
+\fBeinfo\fR \fI"informative message"\fR
+If you need to display an message that you wish the user to read and take
+notice of, then use \fBeinfo\fR. It works just like \fBecho\fR(1), but
+adds a little more to the output so as to catch the user's eye.
+.TP
+\fBewarn\fR \fI"warning message"\fR
+Same as \fBeinfo\fR, but should be used when showing a warning to the user.
+.TP
+\fBeerror\fR \fI"error message"\fR
+Same as \fBeinfo\fR, but should be used when showing an error to the user.
+.SH "HELPER FUNCTIONS: UNPACK"
+.TP
+\fBunpack\fR \fI<source>\fR \fI[list of more sources]\fR
+This function uncompresses and/or untars a list of sources into the current
+directory. The function will append \fIsource\fR to the \fBDISTDIR\fR variable.
+.SH "HELPER FUNCTIONS: COMPILE"
+.TP
+\fBeconf\fR \fI[configure options]\fR
+This is used as a replacement for configure. Performs:
+.nf
+configure \\
+ --prefix=/usr \\
+ --host=${CHOST} \\
+ --mandir=/usr/share/man \\
+ --infodir=/usr/share/info \\
+ --datadir=/usr/share \\
+ --sysconfdir=/etc \\
+ --localstatedir=/var/lib \\
+ \fI${EXTRA_ECONF}\fR \\
+ \fIconfigure options\fR
+.fi
+Note that the \fIEXTRA_ECONF\fR is for users only, not for ebuild
+writers. If you wish to pass more options to configure, just pass the
+extra arguements to \fBeconf\fR.
+.TP
+\fBemake\fR \fI[make options]\fR
+This is used as a replacement for make. Performs 'make ${MAKEOPTS}
+\fImake options\fR' (as set in /etc/make.globals), default is MAKEOPTS="\-j2".
+
+\fB***warning***\fR
+.br
+if you are going to use \fBemake\fR, make sure your build is happy with
+parallel makes (make \-j2). It should be tested thoroughly as parallel
+makes are notorious for failing _sometimes_ but not always.
+.SH "HELPER FUNCTIONS: INSTALL"
+.TP
+\fBeinstall\fR \fI[make options]\fR
+This is used as a replacement for make install. Performs:
+.nf
+make \\
+ prefix=${D}/usr \\
+ datadir=${D}/usr/share \\
+ infodir=${D}/usr/share/info \\
+ localstatedir=${D}/var/lib \\
+ mandir=${D}/usr/share/man \\
+ sysconfdir=${D}/etc \\
+ \fI${EXTRA_EINSTALL}\fR \\
+ \fImake options\fR \\
+ install
+.fi
+Please do \fBnot\fR use this in place of 'make install DESTDIR=${D}'.
+That is the preferred way of installing make-based packages. Also, do
+not utilize the \fIEXTRA_EINSTALL\fR variable since it is for users.
+
+.PD 0
+.TP
+.B prepall
+.TP
+.B prepalldocs
+.TP
+.B prepallinfo
+.TP
+.B prepallman
+.TP
+.B prepallstrip
+.PD 1
+Useful for when a package installs into \fB${D}\fR via scripts
+(i.e. makefiles). If you want to be sure that libraries are executable,
+aclocal files are installed into the right place, doc/info/man files are
+all compressed, and that executables are all stripped of debugging symbols,
+then use these suite of functions.
+.RS
+.PD 0
+.TP
+.B prepall:
+Runs \fBprepallman\fR, \fBprepallinfo\fR, \fBprepallstrip\fR, sets
+libraries +x, and then checks aclocal directories. Please note this
+does \fI*not*\fR run \fBprepalldocs\fR.
+.TP
+.B prepalldocs:
+Compresses all doc files in ${D}/usr/share/doc.
+.TP
+.B prepallinfo:
+Compresses all info files in ${D}/usr/share/info.
+.TP
+.B prepallman:
+Compresses all man files in ${D}/usr/share/man.
+.TP
+.B prepallstrip:
+Strips all executable files of debugging symboles. This includes libraries.
+.RE
+
+.TP
+\fBprepinfo\fR \fI[dir]\fR
+.TP
+\fBpreplib\fR \fI[dir]\fR
+.TP
+\fBpreplib.so\fR \fI[dir]\fR
+.TP
+\fBprepman\fR \fI[dir]\fR
+.TP
+\fBprepstrip\fR \fI[dir]\fR
+.PD 1
+Similiar to the \fBprepall\fR functions, these are subtle in their differences.
+.RS
+.PD 0
+.TP
+.B prepinfo:
+If a \fIdir\fR is not specified, then \fBprepinfo\fR will assume the dir
+\fIusr\fR. \fBprepinfo\fR will then compress all the files in
+${D}/\fIdir\fR/info.
+.TP
+.B preplib:
+If a \fIdir\fR is not specified, then \fBpreplib\fR will assume the dir
+\fIusr\fR. \fBpreplib\fR will then run 'ldconfig -n -N' on ${D}/\fIdir\fR/lib.
+.TP
+.B preplib.so:
+All the files with '.so' in their name and are found in ${D}/\fIdir\fR will
+be stripped of their debug symbols. You may specify multiple directories.
+.TP
+.B prepman:
+If a \fIdir\fR is not specified, then \fBprepman\fR will assume the dir
+\fIusr\fR. \fBprepman\fR will then compress all the files in
+${D}/\fIdir\fR/man/*/.
+.TP
+.B prepstrip:
+All the files found in ${D}/\fIdir\fR will be stripped. You may specify
+multiple directories.
+.RE
+.PD 1
+.TP
+\fBdopython\fR \fI<commands>\fR
+Performs \fIcommands\fR with python and returns the result.
+.TP
+\fBdosed\fR \fI"s:orig:change:g" <filename>\fR
+Performs sed (including cp/mv \fIfilename\fR) on \fIfilename\fR.
+.br
+.BR 'dosed\ "s:/usr/local:/usr:g"\ /usr/bin/some-script'
+runs sed on ${D}/usr/bin/some-script
+.TP
+\fBdodir\fR \fI<path>\fR
+Creates a directory inside of ${D}.
+.br
+.BR 'dodir\ /usr/lib/apache'
+creates ${D}/usr/lib/apache. Note that the do* functions will run
+\fBdodir\fR for you.
+.TP
+\fBdiropts\fR \fI[options for install(1)]\fR
+Can be used to define options for the install function used in
+\fBdodir\fR. The default is \fI-m0755\fR.
+.TP
+\fBinto\fR \fI<path>\fR
+Sets the root (\fIDESTTREE\fR) for other functions like \fBdobin\fR,
+\fBdosbin\fR, \fBdoman\fR, \fBdoinfo\fR, \fBdolib\fR.
+.br
+The default root is /usr.
+.TP
+\fBkeepdir\fR \fI<path>\fR
+Tells portage to leave a directory behind even if it is empty. Functions
+the same as \fBdodir\fR.
+.TP
+\fBdobin\fR \fI<binary> [list of more binaries]\fR
+Installs a \fIbinary\fR or a list of binaries into \fIDESTTREE\fR/bin.
+Creates all necessary dirs.
+.TP
+\fBdosbin\fR \fI<binary> [list of more binaries]\fR
+Installs a \fIbinary\fR or a list of binaries into \fIDESTTREE\fR/sbin.
+Creates all necessary dirs.
+.TP
+\fBdoinitd\fR \fI<init.d script> [list of more init.d scripts]\fR
+Install Gentoo \fIinit.d scripts\fR. They will be installed into the
+correct location for Gentoo init.d scripts (/etc/init.d/). Creates all
+necessary dirs.
+.TP
+\fBdoconfd\fR \fI<conf.d file> [list of more conf.d file]\fR
+Install Gentoo \fIconf.d files\fR. They will be installed into the
+correct location for Gentoo conf.d files (/etc/conf.d/). Creates all
+necessary dirs.
+.TP
+\fBdoenvd\fR \fI<env.d entry> [list of more env.d entries]\fR
+Install Gentoo \fIenv.d entries\fR. They will be installed into the
+correct location for Gentoo env.d entries (/etc/env.d/). Creates all
+necessary dirs.
+
+.PD 0
+.TP
+\fBdolib\fR \fI<library>\fR \fI[list of more libraries]\fR
+.TP
+\fBdolib.a\fR \fI<library>\fR \fI[list of more libraries]\fR
+.TP
+\fBdolib.so\fR \fI<library>\fR \fI[list of more libraries]\fR
+.PD 1
+Installs a library or a list of libraries into \fIDESTTREE\fR/lib.
+Creates all necessary dirs.
+.TP
+\fBlibopts\fR \fI[options for install(1)]\fR
+Can be used to define options for the install function used in
+the \fBdolib\fR functions. The default is \fI-m0644\fR.
+.TP
+\fBdoman\fR \fI[\-i18n=<locale>]\fR \fI<man-page> [list of more man\-pages]\fR
+Installs manual\-pages into /usr/share/man/man[0\-9n] depending on the
+manual file ending. The files are gzipped if they are not already. You can
+specify locale-specific manpages with the \fI\-i18n\fR option. Then the
+man-page will be installed into /usr/share/man/\fI<locale>\fR/man[0\-9n].
+Creates all necessary dirs.
+
+.PD 0
+.TP
+\fBdohard\fR \fI<filename> <linkname>\fR
+.TP
+\fBdosym\fR \fI<filename> <linkname>\fR
+.PD 1
+Performs the ln command as either a hard link or symlink.
+.TP
+\fBdohtml\fR \fI [\-a filetypes] [\-r] [\-x list\-of\-dirs\-to\-ignore] [list\-of\-files\-and\-dirs]\fR
+Installs the files in the list of files (space\-separated list) into
+/usr/share/doc/${PF}/html provided the file ends in .html, .png, .js, .jpg,
+or .css. Setting \fI\-a\fR limits what types of files will be included,
+\fI\-A\fR appends to the default list, setting \fI\-x\fR sets which dirs to
+exclude (CVS excluded by default), \fI\-r\fR sets recursive.
+.TP
+\fBdoinfo\fR \fI<info-file> [list of more info\-files]\fR
+Installs info\-pages into \fIDESTDIR\fR/info. Files are automatically
+gzipped. Creates all necessary dirs.
+.TP
+\fBdojar\fR \fI<jar file> [list of more jar files]\fR
+Installs jar files into /usr/share/${PN}/lib and adds them to
+/usr/share/${PN}/classpath.env.
+.TP
+\fBdomo\fR \fI<locale-file> [list of more locale\-files] \fR
+Installs locale\-files into \fIDESTDIR\fR/usr/share/locale/[LANG]
+depending on local\-file's ending. Creates all necessary dirs.
+
+.PD 0
+.TP
+\fBfowners\fR \fI<permissions> <file> [files]\fR
+.TP
+\fBfperms\fR \fI<permissions> <file> [files]\fR
+.PD 1
+Performs chown (\fBfowners\fR) or chmod (\fBfperms\fR), applying
+\fIpermissions\fR to \fIfiles\fR.
+.TP
+\fBinsinto\fR \fI[path]\fR
+Sets the root (\fIINSDESTTREE\fR) for the \fBdoins\fR function.
+.br
+The default root is /.
+.TP
+\fBinsopts\fR \fI[options for install(1)]\fR
+Can be used to define options for the install function used in
+\fBdoins\fR. The default is \fI\-m0644\fR.
+.TP
+\fBdoins\fR \fI<file> [list of more files]\fR
+Installs files into \fIINSDESTTREE\fR. This function uses \fBinstall\fR(1).
+Creates all necessary dirs.
+.TP
+\fBexeinto\fR \fI[path]\fR
+Sets the root (\fIEXEDESTTREE\fR) for the \fBdoexe\fR function.
+.br
+The default root is /.
+.TP
+\fBexeopts\fR \fI[options for install(1)]\fR
+Can be used to define options for the install function used in \fBdoexe\fR.
+The default is \fI\-m0755\fR.
+.TP
+\fBdoexe\fR \fI<executable> [list of more executables]\fR
+Installs a executable or a list of executable into \fIEXEDESTTREE\fR.
+This function uses \fBinstall\fR(1). Creates all necessary dirs.
+.TP
+\fBdocinto\fR \fI[path]\fR
+Sets the relative subdir (\fIDOCDESTTREE\fR) used by \fBdodoc\fR.
+.TP
+\fBdodoc\fR \fI<document> [list of more documents]\fR
+Installs a document or a list of document into /usr/share/doc/${PF}/\fIDOCDESTTREE\fR.
+Files are automatically gzipped. Creates all necessary dirs.
+
+.PD 0
+.TP
+\fBnewbin\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewsbin\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewinitd\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewconfd\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewenvd\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewlib\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewlib.so\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewlib.a\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewman\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewinfo\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewins\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewexe\fR \fI<old file> <new filename>\fR
+.TP
+\fBnewdoc\fR \fI<old file> <new filename>\fR
+.PD 1
+All these functions act like the do* functions, but they only work with one
+file and the file is installed as \fI[new filename]\fR.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (1),
+.BR make.conf (5)
+.TP
+The \fI/usr/sbin/ebuild.sh\fR script.
+.TP
+The helper apps in \fI/usr/lib/portage/bin\fR.
+.SH "FILES"
+.TP
+\fB/etc/make.conf\fR
+Contains variables for the build\-process and overwrites those in make.defaults.
+.TP
+\fB/etc/make.globals\fR
+Contains the default variables for the build\-process, you should edit
+\fI/etc/make.conf\fR instead.
+.SH "AUTHORS"
+.nf
+Achim Gottinger <achim@gentoo.org>
+Mark Guertin <gerk@gentoo.org>
+Nicholas Jones <carpaski@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+.fi
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/ebuild.5,v 1.73.2.8 2005/05/22 09:56:55 vapier Exp $
diff --git a/man/emerge.1 b/man/emerge.1
new file mode 100644
index 000000000..56f8a402f
--- /dev/null
+++ b/man/emerge.1
@@ -0,0 +1,555 @@
+.TH "EMERGE" "1" "Jun 2003" "Portage 2.0.51" "Portage"
+.SH "NAME"
+emerge \- Command\-line interface to the Portage system
+.SH "SYNOPSIS"
+.TP
+.BR emerge
+[\fIoptions\fR] [\fIaction\fR] [\fIebuild\fR | \fItbz2file\fR | \fIclass\fR | \fIdependency\fR] ...
+.TP
+.BR emerge
+\fB\-\-sync\fR | \fB\-\-info\fR | \fB\-\-version\fR
+.TP
+.BR emerge
+\fB\-\-search\fR \fIsomestring\fR
+.TP
+.BR emerge
+\fB\-\-help\fR [\fBsystem\fR | \fBconfig\fR | \fBsync\fR]
+.SH "DESCRIPTION"
+\fBemerge\fR is the definitive command\-line interface to the Portage
+system. It is primarily used for installing packages, and \fBemerge\fR
+can automatically handle any dependencies that the desired package has.
+\fBemerge\fR can also update the \fBportage tree\fR, making new and
+updated packages available. \fBemerge\fR gracefully handles updating
+installed packages to newer releases as well. It handles both source
+and binary packages, and it can be used to create binary packages for
+distribution.
+.SH "EBUILDS, TBZ2S, CLASSES AND DEPENDENCIES"
+\fBemerge\fR primarily installs packages. You can specify
+packages to install in one of four main ways: an \fIebuild\fR,
+a \fItbz2file\fR, a \fIclass\fR, or a \fIdependency\fR.
+.LP
+.TP
+.BR ebuild
+An \fIebuild\fR must be, at a minimum, a valid Portage
+package directory name without a version or category, such as
+\fBportage\fR or \fBpython\fR.
+Both categories and version numbers may be used in addition, such
+as \fBsys\-apps/portage\fR or \fB=python\-2.2.1\-r2\fR.
+\fBemerge\fR
+ignores a trailing slash so that filename completion can be used.
+The \fIebuild\fR may also be an actual filename, such as
+\fB/usr/portage/app\-admin/python/python\-2.2.1\-r2.ebuild\fR.
+WARNING: The implementation of \fBemerge /path/to/ebuild\fR is broken and so this syntax shouldn't be used.
+.TP
+.BR tbz2file
+A \fItbz2file\fR must be a valid .tbz2 created with \fBebuild
+<package>\-<version>.ebuild package\fR or \fBemerge \-\-buildpkg
+[category/]<package>\fR or \fBquickpkg /var/db/pkg/<category>/<package>\fR.
+.TP
+.BR class
+Package classes are a convenient shorthand for large groups of
+packages. Two classes are currently supported: \fBsystem\fR
+and \fBworld\fR. \fBsystem\fR refers to a set of packages
+deemed necessary for your system to run properly. \fBworld\fR
+contains all of the packages in \fBsystem\fR, along with any
+other packages listed in \fB/var/lib/portage/world\fR. [See
+\fBFILES\fR below for more information.] Note that these
+commands are generally used in conjunction with \fB\-\-update\fR.
+.TP
+.BR dependency
+A \fIdependency\fR describes bounds on a package that you wish to install.
+\fISee portage(5) for the details on these 'atoms'.\fR For example,
+\fB>=dev\-lang/python\-2.2.1\-r2\fR matches the latest available version of
+Python greater than or equal to 2.2.1\-r2. Similarly,
+\fB<dev\-lang/python\-2.0\fR matches the latest available version of Python
+before 2.0. Note that in many shells you will need to escape characters such
+as '<' and '='; use single\- or double\-quotes around the \fIdependency\fR
+to get around escaping problems.
+.SH "ACTIONS"
+.TP
+.BR "No action"
+If no action is specified, the action is to merge in the specified
+packages, satisfying any dependencies that they may have. The
+arguments can be \fIebuilds\fR, \fItbz2s\fR, \fIclasses\fR, or
+\fIdependencies\fR. \fBNote that you need to use the \-\-usepkg
+option if you want to install a tbz2\fR. The packages are added
+to the \fBworld\fR file at the end, so that they are considered for
+later updating.
+.TP
+.BR "\-\-clean " (\fB\-c\fR)
+Cleans the system by removing packages that will not affect the
+functionality of the system. The arguments can be \fIebuilds\fR,
+\fIclasses\fR, or \fIdependencies\fR. For example, \fBemerge
+clean binutils\fR cleans out old versions of binutils;
+\fBemerge \-\-clean net\-www/mozilla\-0.9.9\-r2\fR cleans out that
+specific version of Mozilla. This is generally safe to use.
+\fBNote that\fR \-\-clean \fBdoes not remove unslotted packages.\fR
+.TP
+.BR \-\-depclean
+Determines all packages installed on the system that have no
+explicit reason for being there. \fBemerge\fR generates a list
+of packages which it expects to be installed by checking the
+\fBsystem\fR package list and the \fBworld\fR file. It then
+compares that list to the list of packages which are actually
+installed; the differences are listed as unnecessary packages
+and then unmerged after a short timeout. \fBWARNING: Removing some
+packages may cause packages which link to the removed package
+to stop working and complain about missing libraries.\fR
+Re\-emerge the complaining package to fix this issue.
+\fBNote that changes in USE flags can drastically affect the
+output of \-\-depclean.\fR
+.TP
+.BR \-\-info
+This is a list of information to include in bug reports which aids the
+developers with fixing any problems you may report. \fBPlease include this
+information when submitting a bug report.\fR Expanded output can be obtained
+with the \fI\-\-verbose\fR option.
+.TP
+.BR \-\-metadata
+Causes portage to process all the metacache files as is normally done on the
+tail end of an rsync update using \fBemerge \-\-sync\fR. The processing
+creates the cache database that portage uses for pre\-parsed lookups of
+package data.
+.TP
+.BR \-\-nocolor
+Make sure none of the output from portage contains color.
+.TP
+.BR "\-\-prune " (\fB\-P\fR)
+\fBWARNING: This action can remove important packages!\fR Tries to remove
+all but the last version installed. Since the command currently does not
+handle multiple versions of the same package properly, beware! This does not
+check dependencies, so it may also remove packages necessary for the proper
+operation of your system. \fBUse\fR \-\-clean \fBinstead unless you really
+know what you're doing\fR. Its arguments can be \fIebuilds\fR,
+\fIclasses\fR, or \fIdependencies\fR \-\- see \fB\-\-clean\fR above for
+examples. You have been warned!
+.TP
+.BR \-\-regen
+Causes portage to check and update the dependency cache of all ebuilds in the
+portage tree. The cache is used to speed up searches and the building of
+dependency trees. This command is not recommended for rsync users as rsync
+updates the cache using server\-side caches. If you do not know the
+differences between a 'rsync user' and some other user, then you are a 'rsync
+user' :). Rsync users should simply run \fBemerge \-\-sync\fR to regenerate
+the cache. After a portage update, rsync users may find it convenient to run
+\fBemerge \-\-metadata\fR to rebuild the cache as portage does at the end of
+a sync operation.
+.TP
+.BR "\-\-search " (\fB\-s\fR)
+Searches for matches of the supplied string in the portage tree.
+The \-\-search string is a regular expression. For example, \fBemerge
+\-\-search "^kde"\fR searches for any package that starts with "kde";
+\fBemerge \-\-search "gcc$"\fR searches for any package that ends with
+"gcc"; \fBemerge \-\-search "office"\fR searches for any package that
+contains the word "office". If you want to search the package
+descriptions as well, use the \fB\-\-searchdesc\fR option.
+.TP
+.BR \-\-sync
+Initiates a portage tree update with one of the rsync.gentoo.org
+mirrors. \fBNote that any changes you have made to the portage
+tree will be erased\fR. Except for special circumstances,
+this uses \fBrsync\fR to do the update. See \fBmake.conf\fR(5)'s
+description of PORTDIR_OVERLAY for a method to avoid deletions.
+.TP
+.BR "\-\-unmerge " (\fB\-C\fR)
+\fBWARNING: This action can remove important packages!\fR Removes
+all matching packages. This does no checking of dependencies, so
+it may remove packages necessary for the proper operation of your
+system. Its arguments can be \fIebuilds\fR, \fIclasses\fR, or
+\fIdependencies\fR \-\- see \fB\-\-clean\fR above for examples.
+.SH "OPTIONS"
+.TP
+.BR "\-\-ask " (\fB\-a\fR)
+Before performing the merge, display what ebuilds and tbz2s will be
+installed, in the same format as when using \fB\-\-pretend\fR; then ask
+whether to continue with the merge or abort. Using \fB\-\-ask\fR is more
+efficient than using \fB\-\-pretend\fR and then executing the same command
+without \fB\-\-pretend\fR, as dependencies will only need to be calculated
+once.
+.TP
+.BR "\-\-buildpkg " (\fB\-b\fR)
+Tells emerge to build binary packages for all ebuilds processed in
+addition to actually merging the packages. Useful for maintainers
+or if you administrate multiple Gentoo Linux systems (build once,
+emerge tbz2s everywhere). The package will be created in the
+\fI${PKGDIR}/All\fR directory. An alternative for already\-merged
+packages is to use \fBquickpkg\fR which creates a tbz2 from the
+live filesystem.
+.TP
+.BR "\-\-buildpkgonly " (\fB\-B\fR)
+Creates binary packages for all ebuilds processed without actually
+merging the packages. This comes with the caveat that all build-time
+dependencies must already be emerged on the system.
+.TP
+.BR "\-\-changelog " (\fB\-l\fR)
+Use this in conjunction with the \fB\-\-pretend\fR action. This will
+show the ChangeLog entries for all the packages that will be upgraded.
+.TP
+.BR "\-\-columns"
+Used alongside \fB\-\-pretend\fR to cause the package name, new version,
+and old version to be displayed in an aligned format for easy cut\-n\-paste.
+.TP
+.BR "\-\-debug " (\fB\-d\fR)
+Tells emerge to run the emerge command in \fB\-\-debug\fR mode. In this
+mode the bash build environment will run with the \-x option,
+causing it to output verbose debugging information to stdout.
+\fB\-\-debug\fR is great for finding bash syntax errors.
+.TP
+.BR "\-\-deep " (\fB\-D\fR)
+When used in conjunction with \fB\-\-update\fR, this flag forces
+\fBemerge\fR to consider the entire dependency tree of packages,
+instead of checking only the immediate dependencies of the packages.
+As an example, this catches updates in libraries that are not directly
+listed in the dependencies of a package.
+.TP
+.BR "\-\-emptytree " (\fB\-e\fR)
+Virtually tweaks the tree of installed packages to contain nothing. This is
+great to use together with \fI\-\-pretend\fR. This makes it possible for
+developers to get a complete overview of the entire dependency tree of a
+certain package.
+.TP
+.BR "\-\-fetchonly " (\fB\-f\fR)
+Instead of doing any package building, just perform fetches for all
+packages (the main package as well as all dependencies).
+.TP
+.BR "\-\-fetch\-all\-uri " (\fB\-F\fR)
+Instead of doing any package building, just perform fetches for all
+packages (the main package as well as all dependencies), grabbing all potential
+files.
+.TP
+.BR "\-\-getbinpkg " (\fB\-g\fR)
+Using the server and location defined in \fIPORTAGE_BINHOST\fR (see
+\fBmake.conf\fR(5)), portage will download the information from each binary
+package found and it will use that information to help build the dependency
+list. This option implies \fB\-k\fR. (Use \fB\-gK\fR for binary\-only merging.)
+.TP
+.BR "\-\-getbinpkgonly " (\fB\-G\fR)
+This option is identical to \fB\-g\fR, as above, except it will not use ANY
+information from the local machine. All binaries will be downloaded from the
+remote server without consulting packages existing in the local packages
+directory.
+.TP
+.BR "\-\-help " (\fB\-h\fR)
+Displays help information for emerge. Adding one of the additional
+arguments listed above will give you more specific help information
+on that subject. The internal \fBemerge\fR help documentation is
+updated more frequently than this man page; check it out if you
+are having problems that this man page does not help resolve.
+.TP
+.BR "\-\-newuse " (\fB\-N\fR)
+Tells emerge to include installed packages where USE flags have changed since
+compilation. An asterisk marks when a USE flag has changed since the package
+was compiled.
+.TP
+.BR "\-\-noconfmem"
+Causes portage to disregard merge records indicating that a config file
+inside of a \fBCONFIG_PROTECT\fR directory has been merged already. Portage
+will normally merge those files only once to prevent the user from
+dealing with the same config multiple times. This flag will cause the
+file to always be merged.
+.TP
+.BR "\-\-nodeps " (\fB\-O\fR)
+Merges specified packages without merging any dependencies. Note that
+the build may fail if the dependencies aren't satisfied.
+.TP
+.BR "\-\-noreplace " (\fB\-n\fR)
+Skips the packages specified on the command\-line that have already
+been installed. Without this option, any packages, ebuilds, or deps
+you specify on the command\-line *will* cause Portage to remerge
+the package, even if it is already installed. Note that Portage will
+not remerge dependencies by default.
+.TP
+.BR "\-\-nospinner"
+Disables the spinner for the session. The spinner is active when the
+terminal device is determined to be a TTY. This flag disables it regardless.
+.TP
+.BR "\-\-oneshot " (\fB\-1\fR)
+Emerge as normal, but do not add the packages to the world profile
+for later updating.
+.TP
+.BR "\-\-onlydeps " (\fB\-o\fR)
+Only merge (or pretend to merge) the dependencies of the packages
+specified, not the packages themselves.
+.TP
+.BR "\-\-pretend " (\fB\-p\fR)
+Instead of actually performing the merge, simply display what *would*
+have been installed if \fB\-\-pretend\fR weren't used. Using \fB\-\-pretend\fR
+is strongly recommended before installing an unfamiliar package. In
+the printout,
+.br
+
+.br
+\fIN\fR = new, (not yet installed)
+.br
+\fIS\fR = new, slot installation (side-by-side versions)
+.br
+\fIU\fR = updating, (changing versions)
+.br
+\fID\fR = downgrade, (Best version seems lower)
+.br
+\fIR\fR = replacing, (Remerging same version))
+.br
+\fIF\fR = fetch restricted, (Manual download)
+.br
+\fIf\fR = fetch restricted, (Already downloaded)
+.br
+\fIB\fR = blocked by an already installed package
+.TP
+.BR "\-\-quiet " (\fB\-q\fR)
+Results may vary, but the general outcome is a reduced or condensed
+output from portage's displays.
+.TP
+.BR "\-\-resume"
+Resumes the last merge operation. Please note that this operation
+will only return an error on failure. If there is nothing for portage
+to do, then portage will exit with a message and a success condition.
+.TP
+.BR "\-\-searchdesc " (\fB\-S\fR)
+Matches the search string against the description field as well as
+the package name. \fBTake caution\fR as the descriptions are also
+matched as regular expressions.
+.TP
+.BR "\-\-skipfirst"
+This action is only valid when used with \fB\-\-resume\fR. It removes the
+first package in the resume list so that a merge may continue in the presence
+of an uncorrectable or inconsequential error. This should only be used in
+cases where skipping the package will not result in failed dependencies.
+.TP
+.BR "\-\-tree " (\fB\-t\fR)
+Shows the dependency tree for the given target by indenting dependencies.
+This is only really useful in combination with \fB\-\-emptytree\fR or
+\fB\-\-update\fR and \fB\-\-deep\fR.
+.TP
+.BR "\-\-update " (\fB\-u\fR)
+Updates packages to the best version available, which may not always be the
+highest version number due to masking for testing and development. This will
+also update direct dependencies which may not be what you want. In general,
+use this option only in combination with the world or system target.
+.TP
+.BR "\-\-upgradeonly " (\fB\-U\fR)
+Updates packages, but excludes updates that would result in a lower version
+of the package being installed. \fBSLOT\fRs are considered at a basic level.
+.br
+This option is deprecated and should not be used anymore. Please use the
+/etc/portage/package.* files from now on.
+.TP
+.BR "\-\-usepkg " (\fB\-k\fR)
+Tells emerge to use binary packages (from $PKGDIR) if they are available, thus possibly avoiding some
+time\-consuming compiles. This option is useful for CD installs; you can export PKGDIR=/mnt/cdrom/packages
+and then use this option to have emerge "pull" binary packages from the CD in order to satisfy dependencies.
+.TP
+.BR "\-\-usepkgonly " (\fB\-K\fR)
+Tells emerge to only use binary packages (from $PKGDIR). All the binary
+packages must be available at the time of dependency calculation or emerge
+will simply abort. Portage does not use $PORTDIR when calculating dependency
+information so all masking information is ignored.
+.TP
+.BR "\-\-verbose " (\fB\-v\fR)
+Tell emerge to run in verbose mode. Currently this flag causes emerge to print out GNU info errors, if any, and to show the USE flags that will be used for each package when pretending.
+.TP
+.BR "\-\-version " (\fB\-V\fR)
+Displays the version number of \fBemerge\fR. It cannot be used in
+conjunction with other options.
+.SH "OUTPUT"
+When utilizing \fBemerge\fR with the \fB\-\-pretend\fR and \fB\-\-verbose\fR
+flags, the output may be a little hard to understand at first. This section
+explains the abbreviations.
+.TP
+.B [blocks B ] app\-text/dos2unix (from pkg app\-text/hd2u\-0.8.0)
+Dos2unix is Blocking hd2u from being emerged. Blockers are defined when
+two packages will clobber each others files, or otherwise cause some form
+of breakage in your system. However, blockers usually do not need to be
+simultaneously emerged because they usually provide the same functionality.
+.TP
+.B [ebuild N ] app\-games/qstat\-25c
+Qstat is New to your system, and will be emerged for the first time.
+.TP
+.B [ebuild NS ] dev-libs/glib-2.4.7
+You already have a version of glib installed, but a 'new' version in
+a different SLOT is available.
+.TP
+.B [ebuild R ] sys\-apps/sed\-4.0.5
+Sed 4.0.5 has already been emerged, but if you run the command, then
+portage will Re\-emerge the specified package (sed in this case).
+.TP
+.B [ebuild F ] media\-video/realplayer\-8\-r6
+The realplayer package requires that you Fetch the sources manually.
+When you attempt to emerge the package, if the sources are not found,
+then portage will halt and you will be provided with instructions on how
+to download the required files.
+.TP
+.B [ebuild f ] media\-video/realplayer\-8\-r6
+The realplayer package's files are already downloaded.
+.TP
+.B [ebuild U ] net\-fs/samba\-2.2.8_pre1 [2.2.7a]
+Samba 2.2.7a has already been emerged and can be Updated to version
+2.2.8_pre1.
+.TP
+.B [ebuild UD] media\-libs/libgd\-1.8.4 [2.0.11]
+Libgd 2.0.11 is already emerged, but if you run the command, then
+portage will Downgrade to version 1.8.4 for you.
+.br
+This may occur if a newer version of a package has been masked because it is
+broken or it creates a security risk on your system and a fix has not been
+released yet.
+.br
+Another reason this may occur is if a package you are trying to emerge requires
+an older version of a package in order to emerge successfully. In this case,
+libgd 2.x is incompatible with libgd 1.x. This means that packages that were
+created with libgd 1.x will not compile with 2.x and must downgrade libgd first
+before they can emerge.
+.TP
+.B [ebuild U\-] x11\-base/xfree\-4.3.0 [4.2.99.902]
+The \- represents lack of \fBSLOT\fR information about Xfree. This will occur
+when the previous version emerged was injected (see \fBinject\fR for more info)
+or very outdated (so old that \fBSLOT\fR did not exist). Either way, a newer version
+of Xfree is availabe for your updating delight.
+.TP
+.B [ebuild U ] sys\-devel/distcc\-2.16 [2.13\-r1] \-gtk +ipv6* (\-selinux)
+The \-gtk reflects the status of \fBUSE\fR variables when emerging distcc.
+Here we see that distcc can use the \fBUSE\fR variable gtk, but that your
+current settings have gtk disabled. This means optional support for gtk will
+not be enabled in distcc when you emerge it. An asterisk shows that the
+\fBUSE\fR flags have changed since the package was last installed. In this
+case, ipv6 is enabled but was previously disabled. A \fBUSE\fR flag in
+pparenthesis, like (\-selinux), is always disabled and shows that the flag is
+not available for the current system profile.
+.br
+\fB*Note:\fR The \fBUSE\fR status is only displayed when you use the
+\fB\-\-pretend\fR and \fB\-\-verbose\fR options.
+.SH "NOTES"
+You should almost always precede any package install or update attempt with a
+\fB\-\-pretend\fR install or update. This lets you see how much will be
+done, and shows you any blocking packages that you will have to rectify.
+This goes doubly so for the \fBsystem\fR and \fBworld\fR classes, which can
+update a large number of packages if the portage tree has been particularly
+active.
+.LP
+You also want to typically use \fB\-\-update\fR, which ignores packages that
+are already fully updated but upgrades those that are not.
+.LP
+When you install a package with uninstalled dependencies and do
+not explicitly state those dependencies in the list of parameters,
+they will not be added to the world file. If you want them to be
+detected for world updates, make sure to explicitly list them as
+parameters to \fBemerge\fR.
+.LP
+\fBUSE variables\fR may be specified on the command line to
+override those specified in the default locations, letting you
+avoid using some dependencies you may not want to have. \fBUSE
+flags specified on the command line are NOT remembered\fR. For
+example, \fBUSE="\-X \-gnome" emerge mc\fR will emerge mc with
+those USE settings. If you want those USE settings to be more
+permanent, you can put them in /etc/portage/package.use instead.
+.LP
+If \fBemerge \-\-update system\fR or \fBemerge \-\-update world\fR
+fails with an error message, it may be that an ebuild uses some
+newer feature not present in this version of \fBemerge\fR. You
+can use \fBemerge \-\-update portage\fR to upgrade to the lastest
+version, which should support any necessary new features.
+.SH "MASKED PACKAGES"
+\fINOTE: Please use caution when using development packages. Problems
+and bugs resulting from misusing masked packages drains Gentoo
+developer time. Please be sure you are capable of handling any problems
+that may ensue.\fR
+.LP
+Masks in \fBportage\fR provide three primary functions: they allow a
+testing period where the packages can be used in live machines; they
+prevent the use of a package when it will fail; and they mask existing
+packages that are broken or could pose a security risk. Masking can be
+done by two methods: \fBpackage.mask\fR and \fBKEYWORDS\fR. Read below
+to find out how to unmask in either case. Also note that if you give
+\fBemerge\fR an ebuild, then all forms of masking will be ignored and
+\fBemerge\fR will attempt to emerge the package.
+.TP
+.BR package.mask
+The \fBpackage.mask\fR file primarily blocks the use of packages that cause
+problems or are known to have issues on different systems. It resides in
+\fI/usr/portage/profiles\fR.
+.TP
+.BR KEYWORDS
+The \fBKEYWORDS\fR variable in an \fBebuild\fR file is also used for masking
+a package still in testing. There are architecture\-specific keywords for
+each package that let \fBportage\fR know which systems are compatible with
+the package. Packages which compile on an architecture, but have not been
+proven to be "stable", are masked with a tilde (\fB~\fR) in front of the
+architecture name. \fBemerge\fR examines the \fBACCEPT_KEYWORDS\fR environment
+variable to allow or disallow the emerging of a package masked by \fBKEYWORDS\fR.
+To inform \fBemerge\fR that it should build these 'testing' versions
+of packages, you should update your \fI/etc/portage/package.keywords\fR file
+to list the packages you want the 'testing' version. See \fBportage\fR(5) for
+more information.
+.SH "REPORTING BUGS"
+Please report any bugs you encounter through our website:
+.LP
+\fBhttp://bugs.gentoo.org/\fR
+.LP
+Please include the output of \fBemerge \-\-info\fR when you submit your
+bug report.
+.SH "SEE ALSO"
+.BR "emerge \-\-help",
+.BR ebuild (1),
+.BR ebuild (5),
+.BR make.conf (5),
+.BR portage (5)
+.LP
+A number of helper applications reside in \fI/usr/lib/portage/bin\fR.
+.LP
+The \fBapp\-portage/gentoolkit\fR package contains useful scripts such as
+\fBequery\fR (a package query tool).
+.SH "FILES"
+.TP
+\fB/var/lib/portage/world\fR
+Contains a list of all user\-specified packages. You can safely edit
+this file, adding packages that you want to be considered in \fBworld\fR
+class updates and removing those that you do not want to be considered.
+.TP
+\fB/etc/make.conf\fR
+Contains variables for the build process, overriding those in
+\fBmake.globals\fR. \fBYou should edit this file instead of the ones
+listed below\fR.
+.TP
+.B /etc/dispatch\-conf.conf
+Contains settings to handle automatic updates/backups of configuration
+files.
+.TP
+\fB/etc/make.profile/make.defaults\fR
+Contains profile\-specific variables for the build process. \fBDo not
+edit this file\fR.
+.TP
+\fB/etc/make.profile/use.defaults\fR
+Contains a list of packages which, if installed, cause the respective USE
+flag to be enabled by default. \fBDo not edit this file\fR.
+.TP
+\fB/usr/portage/profiles/use.desc\fR
+Contains the master list of USE flags with descriptions of their
+functions. \fBDo not edit this file\fR.
+.TP
+\fB/etc/make.profile/virtuals\fR
+Contains a list of default packages used to resolve virtual dependencies.
+\fBDo not edit this file\fR.
+.TP
+\fB/etc/make.profile/packages\fR
+Contains a list of packages used for the base system. The \fBsystem\fR
+and \fBworld\fR classes consult this file. \fBDo not edit this file\fR.
+.TP
+\fB/etc/make.globals\fR
+Contains the default variables for the build process. \fBDo not edit
+this file\fR.
+.SH "AUTHORS"
+Daniel Robbins <drobbins@gentoo.org>
+.br
+Geert Bevin <gbevin@gentoo.org>
+.br
+Achim Gottinger <achim@gentoo.org>
+.br
+Nicholas Jones <carpaski@gentoo.org>
+.br
+Phil Bordelon <phil@thenexusproject.org>
+.br
+Mike Frysinger <vapier@gentoo.org>
+.br
+Marius Mauch <genone@gentoo.org>
+.br
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/emerge.1,v 1.70.2.15 2005/08/20 03:56:50 vapier Exp $
diff --git a/man/env-update.1 b/man/env-update.1
new file mode 100644
index 000000000..9588f84cb
--- /dev/null
+++ b/man/env-update.1
@@ -0,0 +1,28 @@
+.TH "ENV-UPDATE" "1" "Feb 2003" "Portage 2.0.51" "Portage"
+.SH NAME
+env-update \- updates environment settings automatically
+.SH SYNOPSIS
+.B env-update
+.SH DESCRIPTION
+.B env-update
+reads the files in \fI/etc/env.d\fR and automatically generates
+\fI/etc/profile.env\fR and \fI/etc/ld.so.conf\fR. Then \fBldconfig\fR(8)
+is run to update \fI/etc/ld.so.cache\fR. \fBenv-update\fR is run by
+\fBemerge\fR(1) automatically after each package merge. Also, if you
+make changes to \fI/etc/env.d\fR, you should run \fIenv-update\fR
+yourself for changes to take effect immediately. Note that this would
+only affect new processes. In order for the changes to affect your
+active shell, you will probably have to run \fIsource /etc/profile\fR
+first.
+.SH OPTIONS
+.TP
+None.
+.SH AUTHORS
+Daniel Robbins <drobbins@gentoo.org>
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR emerge (1),
+.BR ldconfig (8)
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/env-update.1,v 1.6 2004/09/17 00:17:10 vapier Exp $
diff --git a/man/etc-update.1 b/man/etc-update.1
new file mode 100644
index 000000000..f2bb827ce
--- /dev/null
+++ b/man/etc-update.1
@@ -0,0 +1,40 @@
+.TH "ETC-UPDATE" "1" "Feb 2003" "Portage 2.0.51" "Portage"
+.SH NAME
+etc-update \- handle configuration file updates
+.SH SYNOPSIS
+.B etc-update
+.SH DESCRIPTION
+.I etc-update
+is supposed to be run after merging a new package to see if
+there are updates to the configuration files. If a new
+configuration file will override an old one,
+.I etc-update
+will prompt the user for a decision.
+.PP
+.I etc-update
+will check all directories in the \fICONFIG_PROTECT\fR variable. All
+config files found in \fICONFIG_PROTECT_MASK\fR will automatically be
+updated for you by \fIetc-update\fR. See \fBmake.conf\fR(5) for more
+information.
+.SH OPTIONS
+.TP
+None.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR make.conf (5)
+.SH "FILES"
+.TP
+.B /etc/etc-update.conf
+Configuration settings for \fIetc-update\fR are stored here.
+.TP
+.B /etc/dispatch-conf.conf
+Settings for dispatching configuration files right before they're merged.
+.SH AUTHORS
+Jochem Kossen and Leo Lipelis
+.br
+Karl Trygve Kalleberg <karltk@gentoo.org>
+.br
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/etc-update.1,v 1.9 2004/09/17 00:17:10 vapier Exp $
diff --git a/man/eutils.eclass.5 b/man/eutils.eclass.5
new file mode 100644
index 000000000..a1a7d63f9
--- /dev/null
+++ b/man/eutils.eclass.5
@@ -0,0 +1,176 @@
+.TH "EUTILS.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+eutils.eclass \- many extra (but common) functions that are used in ebuilds
+.SH "DESCRIPTION"
+The \fBeutils\fR eclass contains a suite of functions that complement
+the ones that ebuild.sh already contain. The idea is that the functions
+are not required in all ebuilds but enough utilize them to have a common
+home.
+.SH "FUNCTIONS"
+.TP
+.BR "cdrom_get_cds " "\fI<cd1 file>\fR \fI[cd2 file]\fR \fI[cd n file]\fR"
+Useful function to help ebuilds that need to read files off of a CD. This is
+most commonly used with games. Just specify a list of files, one per cd, that
+will be used to detect whether the cd is mounted or not. This function
+handles all the messy details of interaction with the user. Once this
+function returns, you will have access to the \fICDROM_ROOT\fR variable. If
+you want the message to the user to name the CD in a particular way, then
+export the variable \fICDROM_NAME\fR before calling this function. If you want
+to name more than one cd, and you want them to each have a different name, then
+export the variables \fICDROM_NAME_1\fR, \fICDROM_NAME_2\fR, etc... For more
+information on multi-cd support, see \fBcdrom_load_next_cd\fR.
+.TP
+.BR "cdrom_load_next_cd"
+Some packages are so big they come on multiple CDs. When you're done reading
+files off a CD and want access to the next one, just call this function. Again,
+all the messy details of user interaction are taken care of for you. Once this
+returns, just read the variable \fICDROM_ROOT\fR for the location of the mounted
+CD. Note that you can only go forward in the CD list, so make sure you only
+call this function when you're done using the current CD.
+.TP
+.BR "draw_line"
+Simple function to draw a line consisting of '=' the same length as $*. So
+if you run `draw_line 1234 5678` you will get back 9 '=' characters in a line.
+.TP
+.BR "edos2unix " "\fI<files>\fR"
+A handy replacement for dos2unix, recode, fixdos, etc... This allows you
+to remove all of these text utilities from DEPEND variables because this
+is a script based solution. Just give it a list of files to convert and
+they will all be changed from the DOS CRLF format to the UNIX LF format.
+.TP
+.BR "enewgroup " "\fI<group>\fR \fI[gid]\fR"
+This function does not require you to understand how to properly add a
+group to the system. Just give it a \fIgroup name\fR to add and \fBenewgroup\fR will
+do the rest. You may specify the \fIgid\fR for the group or allow the group to
+allocate the next available one.
+.TP
+.BR "enewuser " "\fI<user>\fR \fI[uid]\fR \fI[shell]\fR \fI[homedir]\fR \fI[groups]\fR \fI[params]\fR"
+Same as \fBenewgroup\fR, you are not required to understand how to properly add
+a user to the system. The only required parameter is the \fIusername\fR.
+.br
+.BR "Default Values"
+.br
+\fIuid\fR: next available (pass -1 to get default behavior)
+.br
+\fIshell\fR: /bin/false
+.br
+\fIhomedir\fR: /dev/null
+.br
+\fIgroups\fR: no groups
+.br
+\fIparams\fR: any other parameters \fBuseradd\fR(8) accepts; see the manpage for more details
+.TP
+.BR "epatch"
+See the section on \fBepatch\fR below.
+.TP
+.BR "gen_usr_ldscript"
+Generate linker scripts in /usr/lib for dynamic libs in /lib. This is to fix linking
+problems when you have the .so in /lib, and the .a in /usr/lib. What happens is that
+in some cases when linking dynamic, the .a in /usr/lib is used instead of the .so in
+/lib due to gcc/libtool tweaking ld's library search path.
+.TP
+.BR "get_number_of_jobs"
+Checks how many cpu's are present in the system and then sets -j in MAKEOPTS accordingly.
+.TP
+.BR "have_NPTL"
+This function return true if we are using the NPTL pthreads implementation of glibc.
+.TP
+.BR "make_desktop_entry " "\fI<binary>\fR \fI[name]\fR \fI[icon]\fR \fI[type]\fR \fI[path]\fR"
+Make a little shortcut in GNOME/KDE menus for your application. Just pass the name
+of the binary to execute and the rest will be done for you. If you want to change
+the name that will show up in the menu, pass the function a \fIname\fR parameter. If you
+want to specify an \fIicon\fR (default is \fB${PN}\fR.png) then pass a name of a graphic file
+relative to /usr/share/pixmaps/ or the full path to a file. If you want to specify the
+section of the menu that the icon will install to (rather than the default determined
+by \fB${CATEGORY}\fR) then pass a \fItype\fR value (see http://www.freedesktop.org/standards/menu-spec/
+for valid values). Finally, if the application needs to start up in a special directory,
+pass the last value as the full \fIpath\fR name.
+.TP
+.BR "unpack_makeself " "\fI[makeself archive]\fR \fI[byte offset]\fR"
+Unpack a makeself archive rather than relying on the script to unpack itself. Useful for when
+the scripts use old (POSIX) syntax that is no longer supported properly. If you don't specify
+a file to unpack, then \fB${A}\fR is used instead. If you don't specify the offset, then the
+proper value will be located by searching the makeself script.
+For more information on makeself archives, please visit: http://www.megastep.org/makeself/
+.TP
+.BR "unpack_pdv " "\fI<pdv archive>\fR \fI<sizeof(off_t)>\fR"
+Unpack a pdv archive rather than relying on the binary to unpack itself. Useful for when
+the static binary crashes randomly on systems and for when the binary doesn't provide a
+non-interactive extraction process. You have to specify the off_t size since I (vapier@gentoo.org)
+am unaware of a way to extract that information out of the binary executable automatically.
+The value you pass is the size of the off_t type (in bytes) on the machine that built the
+pdv archive. If you don't know the value yourself, try guessing the values 2, 4, or 8.
+For more information on pdv archives, please visit: http://pdv.sourceforge.net/
+.SH "EPATCH"
+.TP
+.B "ABOUT"
+\fBepatch\fR is designed to make patching easy. It does all the common checks that
+a developer would do with the \fBpatch\fR(1) command and then some. It will attempt
+to apply the patch for a range of offset values (-p0 to -p5, all relative to the working
+directory when \fBepatch\fR was called). If the patch fails to apply (by testing via
+dryruns), then \fBpatch\fR will stop the emerge process by calling \fBdie\fR. You will
+be given a log file of the output of the patch attempt so as to ease debugging. The
+output of a successful patch is a pretty formatted message showing what patches were
+applied. \fBepatch\fR can be used for bulk patching or for just one or two patches.
+Additionally, it can handle patches in bzip2, gzip, compress (Z), and zip formats.
+.TP
+.B "USAGE"
+.RS
+.TP
+.B "epatch " "\fI<patch file>\fR"
+The most common and easiest way to use \fBepatch\fR is by just giving it the full path
+to a patch file.
+.TP
+.B "epatch " "\fI<directory>\fR"
+A more powerful use is to fill a directory with patches and then let \fBepatch\fR apply
+all the patches inside it. The patches must be in the format ??_${\fBARCH\fR}_foo.${\fBEPATCH_SUFFIX\fR}.
+This ensures that there are a set order, and you can have \fBARCH\fR specific patches.
+
+.br
+01_all_misc-fix.patch.bz2
+.br
+ apply the misc-fix patch first for all arches
+.br
+02_sparc_another-fix.patch.bz2
+.br
+ apply the another-fix patch second but only on sparc
+.RE
+.TP
+.B VARIABLES
+.RS
+.TP
+.B "EPATCH_SOURCE" = \fI"${WORKDIR}/patch"\fR
+The patch or directory of patches for \fBepatch\fR to apply. This is set
+automatically if you call \fBepatch\fR with a parameter.
+.TP
+.B "EPATCH_SUFFIX" = \fI"patch.bz2"\fR
+When applying bulk patches this is the suffix that all patches will have.
+.TP
+.B "EPATCH_OPTS" = \fI""\fR
+Any extra options you may want to pass to \fBpatch\fR(1). We can't think
+of everything so why restrict you :). The default is "" of course.
+.TP
+.B "EPATCH_EXCLUDE" = \fI""\fR
+A space delimited list (well, actually \fB$IFS\fR delimited ...) of patch
+files to skip while bulk patching. Use only file names, not full paths.
+.TP
+.B "EPATCH_SINGLE_MSG" = \fI"Applying <patch name>"\fR
+If you only apply a single patch, then instead of displaying the default
+message you can change it to say anything you want, even 'Dont call me Radio Unit 51',
+if you are so inclined of course.
+.TP
+.B "EPATCH_FORCE" = \fI"[yes|no]"\fR
+This allows you to apply all patches in \fBEPATCH_SOURCE\fR even if they
+dont match the ??_${\fBARCH\fR}_foo.${\fBEPATCH_SUFFIX\fR} file naming
+convention. By default we want you to use the above convention.
+.RE
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/eutils.eclass
+.SH "AUTHORS"
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/eutils.eclass.5,v 1.5.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/fixheadtails.eclass.5 b/man/fixheadtails.eclass.5
new file mode 100644
index 000000000..4ddd59404
--- /dev/null
+++ b/man/fixheadtails.eclass.5
@@ -0,0 +1,32 @@
+.TH "FIXHEADTAILS.ECLASS" "5" "Aug 2004" "Portage 2.0.51" "portage"
+.SH "NAME"
+fixheadtails.eclass \- functions for replacing obsolete head/tail invocations
+with newer POSIX compliant ones.
+.SH "DESCRIPTION"
+The \fBfixheadtails\fR eclass contains functions for parsing file(s) and
+replacing obsolete head/tail invocations in the form similar to:
+.TP
+head -# <file>
+.TP
+with the newer POSIX compliant form of:
+.TP
+head -n# <file>
+.SH "FUNCTIONS"
+\fBNOTE\fR: these functions are usually used in the \fIsrc_unpack\fR function.
+.TP
+.BR "ht_fix_file " "\fI<file1> [file2] [file3] [...]\fR"
+Fixes head/tail invocations in specific files.
+.TP
+.BR "ht_fix_all"
+Scans the current directory (recursively), calling \fBht_fix_file\fR for each
+file that contains an obsolete head/tail invocation.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/fixheadtails.eclass
+.SH "AUTHORS"
+Aaron Walker <ka0ttic@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/fixheadtails.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/flag-o-matic.eclass.5 b/man/flag-o-matic.eclass.5
new file mode 100644
index 000000000..967ee9c9c
--- /dev/null
+++ b/man/flag-o-matic.eclass.5
@@ -0,0 +1,84 @@
+.TH "FLAG-O-MATIC.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+flag\-o\-matic.eclass \- manipulate CFLAGS/CXXFLAGS easily and reliably
+.SH "DESCRIPTION"
+The \fBflag\-o\-matic\fR eclass contains a suite of functions to
+manipulate the CFLAGS/CXXFLAGS variables.
+.SH "FUNCTIONS"
+.TP
+.BR "append-flags " "\fI<flags>\fR"
+Add extra \fIflags\fR to the current CFLAGS/CXXFLAGS.
+.TP
+.BR "filter-flags " "\fI<flags>\fR"
+Remove particular \fIflags\fR from CFLAGS/CXXFLAGS. This function
+will only match complete flags.
+.TP
+.BR "replace-flags " "\fI<orig-flag>\fR \fI<new-flag>\fR"
+Replace all occurences of \fIoriginal flag\fR with \fInew flag\fR.
+.TP
+.BR "replace-cpu-flags " "\fI<old cpus>\fR \fI<new cpu>\fR"
+Replace all -march, -mcpu, and -mtune flags which contain \fIold cpus\fR
+with -march, -mcpu, and -mtune flags which contain \fInew cpu\fR.
+.TP
+.BR "get-flag " "\fI<flag>\fR"
+If \fIflag\fR is prefixed with -, then the whole flag will
+be echoed. If just the flag name is specified, and the flag has
+a setting, the value for the flag will be echoed instead.
+
+.I Examples:
+.br
+CFLAGS="-march=i586 -ffast-math"
+.br
+`get-flag -march` == "-march=i586"
+.br
+`get-flag march` == "i586"
+.br
+`get-flag -ffast-math` == "-ffast-math"
+.br
+`get-flag ffast-math` == "-ffast-math"
+.TP
+.BR "is-flag " "\fI<flag>\fR"
+Returns true if \fIflag\fR is in CFLAGS or CXXFLAGS.
+.TP
+.BR "filter-mfpmath " "\fI<math types>\fR"
+Remove specified \fImath types\fR from the selected fpmath units.
+If the user has -mfpmath=sse,386, running `filter-mfpmath sse`
+will leave the user with -mfpmath=386.
+.TP
+.BR "append-ldflags " "\fI<flags>\fR"
+Add extra \fIflags\fR to the current LDFLAGS.
+.TP
+.BR "filter-ldflags " "\fI<flags>\fR"
+Remove particular \fIflags\fR from LDFLAGS. This function
+will only match complete flags.
+.TP
+.BR "filter-lfs-flags"
+Remove flags that enable Large File Support.
+.TP
+.BR "append-lfs-flags"
+Add flags that enable Large File Support.
+.TP
+.BR "strip-flags"
+Strip CFLAGS/CXXFLAGS of everything except for flags known to
+be good flags, or are flags that affect the ABI. Users of stable
+profile are limited to these flags:
+.br
+.I "-O -O1 -O2 -mcpu -march -mtune -fstack-protector -pipe -g"
+.br
+Users of unstable profile are allowed the above flags and these flags:
+.br
+.I "-Os -O3 -freorder-blocks -fprefetch-loop-arrays"
+.TP
+.BR "test_flag " "\fI<flag>\fR"
+Tests to see if \fIflag\fR is supported by the active toolchain.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5),
+.BR make.conf (5)
+.SH "FILES"
+.BR /usr/portage/eclass/flag\-o\-matic.eclass
+.SH "AUTHORS"
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/flag-o-matic.eclass.5,v 1.5.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/font.eclass.5 b/man/font.eclass.5
new file mode 100644
index 000000000..879484762
--- /dev/null
+++ b/man/font.eclass.5
@@ -0,0 +1,64 @@
+.TH "FONT.ECLASS" "5" "Aug 2004" "Portage 2.0.51" "portage"
+.SH "NAME"
+font.eclass \- easy, uniform font installation
+.SH "DESCRIPTION"
+The \fBfont\fR eclass attempts to make font installation as easy as possible.
+Everything that usually involves installing fonts (such as creating scalable
+font indecis, updating the font cache, etc...) is transparently taken
+care of by the \fBfont\fR eclass.
+.SH "EXAMPLES"
+Here's a simple example ebuild:
+.nf
+inherit font
+
+DESCRIPTION="a collection of fonts for Nepali users"
+HOMEPAGE="http://www.mpp.org.np/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc x86"
+IUSE=""
+
+DEPEND=""
+
+S="${WORKDIR}/${PN}"
+FONT_S=${S}
+FONT_SUFFIX="ttf"
+.fi
+.SH "VARIABLES"
+.TP
+.B "FONT_SUFFIX"
+Space-delimited list of font suffixes to install.
+.TP
+.B "FONT_S"
+Directory containing the fonts. If omitted, \fB${S}\fR will be used.
+.TP
+.B "DOCS"
+Space-delimited list of documents to install.
+.SH "FUNCTIONS"
+.TP
+.B "font_xfont_config"
+Creates font indecis for X font files and also installs a fonts.alias file,
+if it exists. This function is called by \fIfont_src_install\fR.
+.TP
+.B "font_xft_config"
+Creates fontconfig cache. This function is also called by \fIfont_src_install\fR.
+.TP
+.B "font_src_install"
+Installs all fonts ending with suffixes listed in \fB${FONT_SUFFIX}\fR as well
+as any documents listed in \fB${DOCS}\fR. This function will be used as the
+default \fIsrc_install\fR function in an ebuild that omits one.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/font.eclass
+.SH "AUTHORS"
+.nf
+Aaron Walker <ka0ttic@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+.fi
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/font.eclass.5,v 1.2.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/fortran.eclass.5 b/man/fortran.eclass.5
new file mode 100644
index 000000000..c0dc53905
--- /dev/null
+++ b/man/fortran.eclass.5
@@ -0,0 +1,53 @@
+.TH FORTRAN.ECLASS 5 "Nov 2004" "Portage 2.0.51" "portage"
+.SH NAME
+fortran.eclass \- functions for fortran packages
+.SH DESCRIPTION
+The \fBfortran\fR eclass provides an interface to ease the integration of the
+various fortran compilers available.
+.SH VARIABLES
+\fBNOTE\fR: since the \fBfortran\fR eclass does not check to see if the
+following variables are set prior to inheritance, you must ensure that if you
+need to define any of them, that you do so after inheritance occurs.
+.TP
+.B FORTRAN
+Defines a list of fortran compilers that can be used for the build. Defaults
+to 'f77'.
+.TP
+.B f77_CONF
+Defines configure option that enables the use of the f77 compiler. Defaults
+to '--with-f77'.
+.TP
+.B f2c_CONF
+Defines configure option that enables the use of the f2c compiler. Defaults
+to '--with-f2c'.
+.SH FUNCTIONS
+.TP
+.B fortran_conf
+Displays the necessary configure options for the currently selected fortran
+compiler.
+.TP
+.B need_fortran \fI[ profile1 ] < profile2 >\fR
+Checks to see if at least one of the specified profiles is installed. Currently
+supported profiles include \fBf77\fR, \fBf2c\fR, and \fBifc\fR.
+.TP
+.B patch_fortran
+Applies any patches located in \fB${FILESDIR}\fR named "\fB${P}\fR-COMPILER*",
+where COMPILER is the fortran compiler currently selected for use.
+.TP
+.B fortran_pkg_setup
+Default pkg_setup which calls \fBneed_fortran\fR to ensure that a suitable
+fortran compiler is installed.
+.TP
+.B fortran_src_unpack
+Default src_unpack which besides unpacking the distfile(s), calls
+\fBpatch_fortran\fR to apply any compiler-specific patches.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/fortran.eclass
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/fortran.eclass.5,v 1.1.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/games.eclass.5 b/man/games.eclass.5
new file mode 100644
index 000000000..7335fce16
--- /dev/null
+++ b/man/games.eclass.5
@@ -0,0 +1,119 @@
+.TH "GAMES.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+games.eclass \- standardize the install of all games
+.SH "DESCRIPTION"
+The \fBgames\fR eclass is used to centrally control how all games
+will be emerged onto systems. Here we basically control the filesystem
+locations and the ownership of all files. If you want to change an
+aspect of how your games are installed, then just edit the \fBgames\fR
+eclass ! :)
+.SH "VARIABLES"
+.TP
+.B "GAMES_PREFIX" = \fI"/usr/games"\fR
+The prefix that the game will be installed under.
+.TP
+.B "GAMES_PREFIX_OPT" = \fI"/opt"\fR
+The prefix that the game will be installed under if it is a binary distribution.
+.TP
+.B "GAMES_DATADIR" = \fI"/usr/share/games"\fR
+The prefix for installing shared data files.
+.TP
+.B "GAMES_DATADIR_BASE" = \fI"/usr/share"\fR
+Same as above, but some games auto append '/games/' to the datadir path.
+.TP
+.B "GAMES_SYSCONFDIR" = \fI"/etc/games"\fR
+The location where games will save their configuration files.
+.TP
+.B "GAMES_STATEDIR" = \fI"/var/games"\fR
+The location where games will save their state in behind runs. This
+includes things like highscore files. If a game creates more than
+one file, have it save all files inside \fB${GAMES_STATEDIR}/${PN}\fR.
+Otherwise, just create the single file in \fB${GAMES_STATEDIR}/\fR.
+Again, try to use a package specific name for the file if you are
+creating it directly in the statedir.
+.TP
+.B "GAMES_LIBDIR" = \fI"/usr/games/lib"\fR
+The location where games will store their libraries.
+.TP
+.B "GAMES_BINDIR" = \fI"/usr/games/bin"\fR
+The location where the games will store/link their executables. Putting
+game binaries here helps to cut down on the $PATH bloat.
+.TP
+.B "GAMES_ENVD" = \fI"90games"\fR
+The filename that the env.d entry will use.
+.TP
+.B "GAMES_USER" = \fI"games"\fR
+The user that will own all game related files.
+.TP
+.B "GAMES_GROUP" = \fI"games"\fR
+The group that will own all game related files.
+.SH "FUNCTIONS: general"
+.TP
+.B "prepgamesdirs" \fI[directories]\fR
+This will change ownership on all files/directories found inside of
+the \fBGAMES_*\fR variables and any extra directories specified as
+parameters. It will change the permissions on all directories to
+750 (u+rwx,g+rx-w,u-rwx) and change the permissions of all files
+with a mask of g+r,o-rwx.
+.br
+\fB*NOTE\fR: This should *always* be the last thing called in the
+\fBsrc_install\fR function. If portage allowed for hookable calls then
+this would be hooked to the end of \fBsrc_install\fR, but until that
+happens, make sure to call!
+.TP
+.B games_pkg_setup
+This will automagically add \fBGAMES_USER\fR and \fBGAMES_GROUP\fR to
+your system. If you define \fBpkg_setup\fR in your ebuild, then make
+sure to call this function at the end of the function.
+.TP
+.B games_pkg_postinst
+This will automagically generate the \fBGAMES_ENVD\fR file and display
+a little message about being in the \fBGAMES_GROUP\fR in order to play
+a game. If you define \fBpkg_postinst\fR in your ebuild, then make
+sure to call this function at the end of the function.
+.SH "FUNCTIONS: compile"
+.TP
+.B egamesconf
+The same as \fBeconf\fR except this passes all the game related variables
+(see above). For more info on \fBeconf\fR see \fBebuild\fR(5).
+.SH "FUNCTIONS: install"
+.TP
+.B egamesinstall
+The same as \fBeinstall\fR except this passes all the game related variables
+(see above). For more info on \fBeinstall\fR see \fBebuild\fR(5).
+.TP
+.B dogamesbin dogamessbin
+The same as \fBdobin\fR and \fBdosbin\fR respectively except these will
+install binaries into \fBGAMES_PREFIX\fR. For more info see \fBebuild\fR(5).
+.TP
+.B dogameslib dogameslib.a dogameslib.so
+The same as \fBdolib\fR, \fBdolib.a\fR, and \fBdolib.so\fR respectively
+except these will install binaries into \fBGAMES_PREFIX\fR. For more info
+see \fBebuild\fR(5).
+.TP
+.B newgamesbin newgamessbin
+The same as \fBnewbin\fR and \fBnewsbin\fR respectively except these will
+install binaries into \fBGAMES_PREFIX\fR. For more info see \fBebuild\fR(5).
+.TP
+.B gamesowners \fI<files/directories>\fR
+\fBgamesowners\fR will change the user and group ownership to \fBGAMES_USER\fR
+and \fBGAMES_GROUP\fR respectively.
+.TP
+.B gamesperms \fI<files/directories>\fR
+\fBgamesperms\fR will change the permissions with a mask of u+rw,g+r-w,o-rwx.
+.TP
+.B games_make_wrapper \fI<wrapper>\fR \fI<bin>\fR \fI<chdir>\fR
+Create a small wrapper script. Useful when dealing with packages that need to
+change directory to the base of their data tree before running. This will create
+a wrapper script called \fIwrapper\fR that will chdir to \fIchdir\fR before
+executing \fIbin\fR. The \fIwrapper\fR will be placed in \fBGAMES_BINDIR\fR.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/games.eclass
+.SH "AUTHORS"
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/games.eclass.5,v 1.7.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/horde.eclass.5 b/man/horde.eclass.5
new file mode 100644
index 000000000..7a620a077
--- /dev/null
+++ b/man/horde.eclass.5
@@ -0,0 +1,51 @@
+.TH "HORDE.ECLASS" "5" "Aug 2004" "Portage 2.0.51" "portage"
+.SH "NAME"
+horde.eclass \- standardize the installation of horde packages
+.SH "DESCRIPTION"
+The \fBhorde\fR eclass provides generic functions to make the writing of
+horde ebuilds trivial. The \fBhorde\fR eclass also provides transparent
+support for live CVS ebuilds via the \fBcvs.eclass\fR(5) (when \fB${PN}\fR
+contains "-cvs").
+.SH "VARIABLES"
+.BR "HORDE_PHP_FEATURES"
+A whitespace-delimited list of mod_php USE flags. If set,
+\fIhorde_pkg_setup\fR will check to make sure that mod_php was compiled with
+the specified USE flags. If not, the build will fail, notifying the user that
+they must rebuild mod_php with the specified USE flags.
+.SH "FUNCTIONS"
+.TP
+.BR "horde_pkg_setup"
+Handles the nasty details of the \fBwebapp.eclass\fR(5) and checks
+\fIHORDE_PHP_FEATURES\fR, if set.
+.TP
+.BR "horde_src_unpack"
+In the case of a live CVS ebuild, this function calls \fIcvs_src_unpack\fR
+from the \fBcvs\fR eclass. Otherwise, \fIunpack\fR is called.
+.TP
+.BR "horde_src_install"
+Installs all files in \fB${S}\fR into the \fBwebapp\fR eclass'
+\fB${MY_HTDOCSDIR}\fR directory. This will also installs documentation
+(the README and all files in in \fB${S}/docs/\fR). Then the rest of the
+nasty details of the \fBwebapp.eclass\fR(5) are taken care of.
+.TP
+.BR "horde_pkg_postinst"
+Displays various informational and/or warning messages.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5),
+.BR cvs.eclass (5),
+.BR webapp.eclass (5)
+.SH "FILES"
+.nf
+.BR /usr/portage/eclass/horde.eclass
+.BR /usr/portage/eclass/webapp.eclass
+.BR /usr/portage/eclass/cvs.eclass
+.fi
+.SH "AUTHORS"
+.nf
+Aaron Walker <ka0ttic@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+.fi
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/horde.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/libtool.eclass.5 b/man/libtool.eclass.5
new file mode 100644
index 000000000..5281d629a
--- /dev/null
+++ b/man/libtool.eclass.5
@@ -0,0 +1,48 @@
+.TH "LIBTOOL.ECLASS" "5" "Aug 2004" "Portage 2.0.51" "portage"
+.SH "NAME"
+libtool.eclass \- fixes the libtool files that are distributed with some
+packages
+.SH "DESCRIPTION"
+The \fBlibtool\fR eclass provides an easy way to patch the libtool files
+that come with some packages. Often times these files are outdated and
+misbehave inside of the portage build environment.
+.SH "VARIABLES"
+.BR "ELT_APPLIED_PATCHES"
+This variable is exported by the \fBlibtool\fR eclass. It contains a
+whitespace-delimited list of patches that were successfully applied.
+.SH "FUNCTIONS"
+.TP
+.B "elibtoolize " "\fI[--portage] [--reverse-deps] [--patch-only] [--remove-internal-dep=DEP_TO_REMOVE] [--shallow]\fR"
+This function should be called from \fIsrc_unpack\fR. If called with no
+arguments, it will apply a default set of patches to all occurrences of
+ltmain.sh and then run libtoolize. The default set of patches are located
+in \fB${PORTDIR}\fR/eclass/ELT-patches.
+.RS
+.TP
+.BR "--portage"
+Apply the portage patch.
+.TP
+.BR "--reverse-deps"
+Apply the reverse dependencies patch. See http://bugzilla.gnome.org/show_bug.cgi?id=75635
+for more information.
+.TP
+.BR "--patch-only"
+If specified, libtoolize will not be run if none of the patches apply.
+.TP
+.BR "--remove-internal-deps=DEP_TO_REMOVE"
+Replaces @REM_INT_DEP@ with DEP_TO_REMOVE.
+.TP
+.BR "--shallow"
+Instead of recursively patching all occurrences of ltmain.sh, only patch the
+ltmain.sh in \fB${S}\fR.
+.RE
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/libtool.eclass
+.SH "AUTHORS"
+Aaron Walker <ka0ttic@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/libtool.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/make.conf.5 b/man/make.conf.5
new file mode 100644
index 000000000..07d1ac9ca
--- /dev/null
+++ b/man/make.conf.5
@@ -0,0 +1,395 @@
+.TH "MAKE.CONF" "5" "Feb 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+make.conf \- custom settings for Portage
+.SH "SYNOPSIS"
+.B /etc/make.conf
+.SH "DESCRIPTION"
+This file contains various variables that are used by Portage.
+Portage will check the currently\-defined environment variables
+first for any settings. If no environment settings are found,
+Portage then checks /etc/make.conf. If no setting is found
+in /etc/make.conf, Portage checks /etc/make.globals. If no
+setting is found there, the profile's default setting is grabbed
+from /etc/make.profile/make.defaults. Please note that all user
+settings should be made in the environment or in /etc/make.conf,
+which is intended to be customized by the user.
+.br
+Exceptions are incremental variables such as USE, CONFIG_PROTECT*,
+and ACCEPT_KEYWORDS. Incremental variables are propagated down from
+make.defaults to make.globals to make.conf to the environment
+settings. Clearing these variables requires a clear\-all as in:
+export USE="\-*"
+.SH "VARIABLES"
+.TP
+\fBACCEPT_KEYWORDS\fR = \fI[space delimited list of KEYWORDS]\fR
+Enable testing of ebuilds that have not yet been deemed 'stable'. Users
+of the 'x86' architecture would set this to '~x86' while ppc users would
+set this to '~ppc'. This is an incremental variable. Only define a
+~arch.
+.br
+Defaults to the value of $ARCH.
+.TP
+\fBAUTOCLEAN\fR = \fI["yes" | "no"]\fR
+Automatically cleans the system by removing outdated packages which will not
+remove functionalities or prevent your system from working. On major ABI
+changes this may need to be set to off to ensure that the system can be
+rebuilt using the new libs before the old ones are removed. Downgrading with
+this option turned off may result in missing symlinks and an inoperable system.
+.br
+Defaults to yes.
+.TP
+\fBBUILD_PREFIX\fR = \fI[path]\fR
+Defines the location of the package working directory.
+.br
+Defaults to ${PORTAGE_TMPDIR}/portage
+.TP
+.B CBUILD
+This variable is passed by the \fIebuild scripts\fR to the \fIconfigure\fR
+as \fI\-\-build=${CBUILD}\fR only if it is defined.
+.TP
+\fBCCACHE_SIZE\fR = \fI"size"\fR
+This controls the space use limitations for ccache. The default is 2 gigabytes
+('2G'). Sizes are specified with 'G', 'M', or 'K'.
+.TP
+.B CFLAGS CXXFLAGS
+Use these variables to set the desired optimization/CPU instruction settings
+for applications that you compile. Nearly all ebuild files will take advantage
+of your custom settings, resulting in a Gentoo Linux that is fully customized
+to your specifications. Please use sane settings as some packages will fail to
+compile/run if the optimizations are too extreme.
+
+For more information:
+.br
+http://gcc.gnu.org/onlinedocs/gcc\-3.2/gcc/Invoking\-GCC.html
+.br
+http://gcc.gnu.org/onlinedocs/gcc\-3.3/gcc/Invoking\-GCC.html
+.br
+http://gcc.gnu.org/onlinedocs/gcc\-2.95.3/gcc_2.html
+.TP
+.B CHOST
+This variable is passed by the \fIebuild scripts\fR to the \fIconfigure\fR
+step as \fI\-\-host=${CHOST}\fR. This way you can force the build\-host.
+
+For more information:
+.br
+http://gcc.gnu.org/onlinedocs/gcc\-3.2/gcc/Submodel\-Options.html
+.br
+http://gcc.gnu.org/onlinedocs/gcc\-3.3/gcc/Submodel\-Options.html
+.br
+http://gcc.gnu.org/onlinedocs/gcc\-2.95.3/gcc_2.html
+.TP
+\fBCLEAN_DELAY\fR = \fIinteger\fR
+Determines how long the countdown delay will be after running `emerge clean`.
+.br
+Defaults to 5 seconds.
+.TP
+\fBCONFIG_PROTECT\fR = \fI[space delimited list of dirs]\fR
+All directories that are defined here will have "config file protection"
+enabled for them. For more information, please see `emerge \-\-help config`.
+.TP
+\fBCONFIG_PROTECT_MASK\fR = \fI[space delimited list of dirs]\fR
+All directories that are defined here will have "config file protection"
+disabled for them. For more information, please see `emerge \-\-help config`.
+.TP
+.B CTARGET
+This variable is passed by the \fIebuild scripts\fR to the \fIconfigure\fR
+as \fI\-\-target=${CTARGET}\fR only if it is defined.
+.TP
+\fBDISTDIR\fR = \fI[path]\fR
+Defines the location of your local source file repository.
+.br
+Defaults to ${PORTDIR}/distfiles.
+.TP
+.B EBEEP_IGNORE
+Defines whether or not to ignore audible beeps when displaying important
+informational messages. This variable is unset by default.
+.TP
+.B EPAUSE_IGNORE
+Defines whether or not to ignore short pauses that occur when displaying
+important informational messages. This variable is unset by default.
+.TP
+\fBFEATURES\fR = \fI"sandbox ccache autoaddcvs"\fR
+Defines actions portage takes by default. These options should
+not be changed by anyone but developers and/or maintainers. 'sandbox' is an important
+part of \fBFEATURES\fR and should not be disabled by default. This is
+an incremental variable.
+.RS
+.TP
+.B autoaddcvs
+Causes portage to automatically try to add files to cvs that will have to be added
+later. Done at generation times and only works when \fIcvs\fR is also in
+\fBFEATURES\fR.
+.TP
+.B buildpkg
+Binary packages will be created for all packages that are merged.
+.TP
+.B ccache
+Enable portage support for the ccache package. If the ccache dir is not
+present in the user's environment, then portage will default to
+${PORTAGE_TMPDIR}/ccache (with \fIuserpriv\fR) and to /root/.ccache otherwise.
+.TP
+.B collision\-protect
+A QA\-feature to ensure that a package doesn't overwrite files it doesn't own.
+.TP
+.B cvs
+A feature for developers that causes portage to enable all USE flags in SRC_URI
+when creating digests.
+.TP
+.B digest
+Autogenerate a digest for packages.
+.TP
+.B distcc
+Enable portage support for the distcc package.
+.TP
+.B distlocks
+Portage uses lockfiles to ensure competing instances don't clobber
+each other's files. This feature is enabled by default but may cause
+heartache on less intelligent remote filesystems like NFSv2 and some
+strangely configured Samba server (oplocks off, NFS re-export). A tool
+/usr/lib/portage/bin/clean_locks exists to help handle lock issues
+when a problem arises (normally due to a crash or disconnect).
+.TP
+.B fixpackages
+Runs the script that will fix the dependencies in all binary packages. This is
+run whenever packages are moved around in the portage tree. Please note that this
+can take a lot of time.
+.TP
+.B getbinpkg
+Force emerges to always try to fetch files from the \fIPORTAGE_BINHOST\fR. See
+\fBmake.conf\fR(5) for more information.
+.TP
+.B gpg
+Check the signatures of Manifests and make sure they are correct.
+.TP
+.B keeptemp
+Do not delete the ${T} directory after the merge process.
+.TP
+.B keepwork
+Do not delete the ${WORKDIR} directory after the merge process.
+.TP
+.B mirror
+This will cause \fBFETCHCOMMAND\fR to always be run even if
+the file already exists in \fBDISTDIR\fR.
+.TP
+.B noauto
+When utilizing \fBebuild\fR(1), only run the function requested.
+.TP
+.B noclean
+Do not delete the the source and temporary files after the merge process.
+.TP
+.B nodoc
+Do not install doc files (/usr/share/doc).
+.TP
+.B noinfo
+Do not install info pages.
+.TP
+.B noman
+Do not install manpages.
+.TP
+.B nostrip
+Prevents the stripping of binaries that are merged to the live filesystem.
+.TP
+.B notitles
+Disables xterm titlebar updates (which contains status info).
+.TP
+.B sandbox
+Enable sandbox\-ing when running \fBemerge\fR(1) and \fBebuild(1)\fR.
+.TP
+.B severe
+When checking Manifests, only accept ones that have been signed by a
+key which you trust.
+.TP
+.B sfperms
+Stands for Smart Filesystem Permissions. Before merging packages to the
+live filesystem, automatically search for and set permissions on setuid
+and setgid files. Files that are setuid have the group and other read
+bits removed while files that are setgid have the other read bit removed.
+See also \fIsuidctl\fR below.
+.TP
+.B sign
+When commiting work to cvs with \fBrepoman\fR(1), sign the Manifest with
+a GPG key. Read about the \fIPORTAGE_GPG_KEY\fR variable in \fBmake.conf\fR(5).
+.TP
+.B strict
+Have portage react strongly to conditions that have the potential to be
+dangerous (like missing or incorrect Manifests).
+.TP
+.B suidctl
+Before merging packages to the live filesystem, automatically strip setuid
+bits from any file that is not listed in \fI/etc/portage/suidctl.conf\fR.
+.TP
+.B test
+Run package\-specific tests during each merge to help make sure
+the package compiled properly. See \fItest\fR in \fBebuild\fR(1)
+and \fIsrc_test()\fR in \fBebuild\fR(5).
+.TP
+.B userpriv
+Allow portage to drop root privledges and compile packages as
+portage:portage without a sandbox (unless \fIusersandbox\fR is also used).
+.TP
+.B usersandbox
+Enable the sandbox in the compile phase, when running without root privs (\fIuserpriv\fR).
+.RE
+.TP
+\fBFETCHCOMMAND\fR
+This variable contains the command used for fetching package\-sources from
+the internet.
+.TP
+\fBGENTOO_MIRRORS\fR = \fI[URLs]\fR
+Insert your space\-seperated list of local mirrors here. These
+locations are used to download files before the ones listed in
+the \fIebuild scripts\fR. Merging 'mirrorselect' can help.
+.TP
+\fBhttp_proxy ftp_proxy\fR = \fI[host:port]\fR
+These vars are used if the sources must be downloaded from the
+internet by \fBwget\fR(1). They are only required if you use a
+proxy server for internet access.
+.TP
+\fBMAKEOPTS\fR
+Use this variable if you want to use parallel make. For example, if you
+have a dual\-processor system, set this variable to "\-j2" or "\-j3" for
+enhanced build performance with many packages. Suggested settings are
+between \fICPUs+1\fR and \fI2*CPUs+1\fR.
+For more information, see \fBmake\fR(1).
+.TP
+\fBNOCOLOR\fR = \fI["true" | "false"]\fR
+Defines if color should be disabled by default.
+.br
+Defaults to false.
+.TP
+\fBPKGDIR\fR = \fI[path]\fR
+Defines the location where created .tbz2 binary packages will be stored.
+.br
+Defaults to ${PORTDIR}/packages.
+.TP
+.B PORT_LOGDIR
+This variable defines the directory in which per\-ebuild logs are kept.
+Logs are created only when this is set and writable.
+.TP
+\fBPORTAGE_BINHOST\fR = \fI"ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon\-xp"\fR
+This is the host from which portage will grab prebuilt\-binary packages.
+The list is a single entry specifying the full address of the directory
+serving the tbz2's for your system. This is only used when running with
+the get binary pkg options are given to \fBemerge\fR. Review \fBemerge\fR(1)
+for more information. Note that it should point to the 'All' directory on
+the host that creates the binary packages and not to the root of the \fBPKGDIR\fR.
+.TP
+\fBPORTAGE_NICENESS\fR = \fI[number]\fR
+The value of this variable will be added to the current nice level that
+emerge is running at. In other words, this will not set the nice level,
+it will increment it. For more information about nice levels and what
+are acceptable ranges, see \fBnice\fR(1).
+.TP
+\fBPORTAGE_TMPDIR\fR = \fI[path]\fR
+Defines the location of the temporary build directories.
+.br
+Defaults to /var/tmp.
+.TP
+\fBPORTDIR\fR = \fI[path]\fR
+Defines the location of your Portage tree.
+.br
+Defaults to /usr/portage.
+.TP
+\fBPORTDIR_OVERLAY\fR = \fI"[path] [different\-path] [etc...]"\fR
+Defines the directories in which user made ebuilds may be stored and not
+overwriten when `emerge \-\-sync` is run. This is a space delimited list of
+directories.
+.br
+Defaults to no value.
+.TP
+\fBRESUMECOMMAND\fR
+This variable contains the command used for resuming package\-sources that
+have been partially downloaded by the \fBFETCHCOMMAND\fR.
+.TP
+\fBROOT\fR = \fI[path]\fR
+Use \fBROOT\fR to specify the target root filesystem to be used for merging
+packages or ebuilds. All \fBRDEPEND\fR and \fBPDEPEND\fR will be installed
+into \fBROOT\fR while all \fBDEPEND\fR will be still be installed into /.
+Typically, you should set this setting in the environment rather than in
+\fI/etc/make.conf\fR itself. It's commonly used for creating new build
+images.
+.br
+Defaults to /.
+.TP
+\fBRSYNC_EXCLUDEFROM\fR = \fI"/etc/portage/rsync_excludes"\fR
+This is a file that portage will pass to rsync when it updates the portage
+tree. Specific chucks of the tree may be excluded from the sync process.
+This may cause dependency failures if you are not careful. The file format
+is pattern per line, blanks and ';' or '#' lines are comments. See
+\fBrsync\fR(1) for more details.
+.TP
+\fBRSYNC_RETRIES\fR = \fI[NUMBER]\fR
+The number of times rsync should retry on failed connections before
+giving up.
+.br
+Defaults to 3.
+.TP
+\fBRSYNC_TIMEOUT\fR = \fI[SECONDS]\fR
+The number of seconds rsync should remain idle before it determines the
+connection has timed out. Dialup users may need to set this value at or
+above 300 seconds.
+.br
+Defaults to 180 seconds.
+.TP
+\fBRPMDIR\fR = \fI[path]\fR
+Defines the location where created RPM packages will be stored.
+.br
+Defaults to ${PORTDIR}/rpm.
+.TP
+\fBSYNC\fR = \fI[RSYNC]\fR
+Insert your preferred rsync mirror here. This rsync server
+is used to sync the local portage tree when `emerge \-\-sync` is run.
+.br
+Defaults to rsync://rsync.gentoo.org/gentoo\-portage
+.TP
+\fBUSE\fR = \fI[space delimited list of USE items]\fR
+This variable contains options that control the build behavior of several
+packages. More information in \fBebuild\fR(5). Possible USE values
+can be found in \fI/usr/portage/profiles/use.desc\fR.
+.TP
+\fBUSE_ORDER\fR = \fI"env:pkg:conf:auto:defaults"\fR
+Determines precedence for incrementing the setting of the USE variable.
+The above setting will cause the environment (env) to override per package (pkg)
+settings to override make.conf (conf) to override auto generated values
+from merged packages (auto) to override make.defaults (defaults).
+.br
+\fB***warning***\fR
+.br
+Do not modify this value unless you're a developer and you know what
+you're doing. If you change this and something breaks, we will not help
+you fix it.
+.br
+Defaults to "env:pkg:conf:auto:defaults".
+
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR emerge (1),
+.BR portage (5),
+.BR ebuild (1),
+.BR ebuild (5)
+.TP
+The \fI/usr/sbin/ebuild.sh\fR script.
+.TP
+The helper apps in \fI/usr/lib/portage/bin\fR.
+.SH "FILES"
+.TP
+\fB/etc/make.conf\fR
+Contains variables for the build\-process and overwrites those in make.defaults.
+.TP
+\fB/etc/make.globals\fR
+Contains the default variables for the build\-process, you should edit \fI/etc/make.conf\fR instead.
+.TP
+\fB/usr/portage/profiles/use.desc\fR
+Contains a list of all global USE flags.
+.TP
+\fB/usr/portage/profiles/use.local.desc\fR
+Contains a list of all local USE variables.
+.SH "AUTHORS"
+Daniel Robbins <drobbins@gentoo.org>
+.br
+Nicholas Jones <carpaski@gentoo.org>
+.br
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/make.conf.5,v 1.44.2.4 2005/06/04 04:53:13 vapier Exp $
diff --git a/man/perl-module.eclass.5 b/man/perl-module.eclass.5
new file mode 100644
index 000000000..1f71a3330
--- /dev/null
+++ b/man/perl-module.eclass.5
@@ -0,0 +1,66 @@
+.TH "PERL-MODULE.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+perl-module.eclass \- handles generic perl module ebuilds
+.SH "DESCRIPTION"
+The \fBperl-module\fR eclass is used for the compilation, testing, and
+installation of perl modules within the portage system, following
+vanilla procedure for modules using either \fBExtUtils::MakeMaker\fR(3pm)
+or \fBModule::Builder\fR(3pm).
+.SH "VARIABLES"
+.TP
+.B "style" = \fI"[builder|makemaker]"\fR
+This variable allows you to choose which package to use as the default
+for building the module. If you do not specify a \fIstyle\fR, then
+the default \fBExtUtils::MakeMaker\fR(3pm) will be used.
+.SH "FUNCTIONS"
+.TP
+.B perl-module_src_prep
+Create the initial Makefile.
+.TP
+.B perl-module_src_compile
+Calls \fBperl-module_src_prep\fR if it hasn't been already. Runs
+initial make.
+.TP
+.B perl-module_src_test
+If invoked, runs all the tests distributed with the module.
+.TP
+.B perl-module_src_install
+Runs `make install` (or the \fBModule::Builder\fR(3pm) equivelant if it
+is a builder module). Also cleans build paths from pod files and
+generated perllocal.pod.
+.TP
+.B perl-module_pkg_setup
+Calls \fBperlinfo\fR.
+.TP
+.B perl-module_pkg_preinst
+Calls \fBperlinfo\fR.
+.TP
+.B perl-module_pkg_postinst
+Calls \fBupdatepod\fR.
+.TP
+.B perl-module_pkg_prerm
+Calls \fBupdatepod\fR.
+.TP
+.B perl-module_pkg_postrm
+Calls \fBupdatepod\fR.
+.TP
+.B perlinfo
+Updates the gentoo-pods documentation.
+.TP
+.B updatepod
+Cleans the perllocal.pods in ARCH_LIB and SITE_LIB.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5),
+.BR ExtUtils::MakeMaker (3pm),
+.BR Module::Build (3pm),
+.BR perl (1)
+.SH "FILES"
+.BR /usr/portage/eclass/perl-module.eclass
+.SH "AUTHORS"
+Michael Cummings <mcummings@gentoo.org>
+.br
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/perl-module.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/portage.5 b/man/portage.5
new file mode 100644
index 000000000..f9cad8b0e
--- /dev/null
+++ b/man/portage.5
@@ -0,0 +1,588 @@
+.TH "PORTAGE" "5" "Jan 2004" "Portage 2.0.51" "Portage"
+.SH NAME
+portage \- the heart of Gentoo
+.SH "DESCRIPTION"
+The current portage code uses many different configuration files, most of which
+are unknown to users and normal developers. Here we will try to collect all
+the odds and ends so as to help users more effectively utilize portage. This
+is a reference only for files which do not already have a man page.
+
+All files in the make.profile directory may be tweaked via parent profiles
+when using cascading profiles. For more info, please see
+http://www.gentoo.org/proj/en/releng/docs/cascading-profiles.xml
+.IP Note:
+If you are looking for information on how to emerge something, please see
+.BR emerge (1).
+.SH "SYNOPSIS"
+.TP
+.BR /etc/
+.nf
+make.globals
+.BR make.conf (5)
+.fi
+.TP
+.BR /etc/make.profile/
+.nf
+deprecated
+make.defaults
+packages
+packages.build
+package.provided
+parent
+use.defaults
+use.mask
+virtuals
+.fi
+.TP
+.BR /etc/portage/
+.nf
+bashrc
+package.mask
+package.unmask
+package.keywords
+package.use
+mirrors
+categories
+.fi
+.TP
+.BR /etc/portage/profile/
+site-specific overrides of \fB/etc/make.profile/\fR
+.TP
+.BR /usr/portage/profiles/
+.nf
+arch.list
+categories
+info_pkgs
+info_vars
+package.mask
+profiles.desc
+thirdpartymirrors
+use.desc
+use.local.desc
+.fi
+.TP
+.BR /var/lib/portage/
+world
+.SH "GLOSSARY"
+In the following sections, some terminology may be foreign to you or used
+with meaning specific to Portage. Please see the referenced manpages for
+more detailed explanations.
+.RS
+.TP
+.B DEPEND atom
+A string which matches a package. It is of the form category/package.
+It may also contain optional logical operators and versions.
+.br
+More reading:
+.BR ebuild (5)
+.TP
+.B KEYWORD
+Each architecture has a unique KEYWORD.
+.br
+More reading:
+.BR ebuild (5)
+.TP
+.B virtual
+A DEPEND atom that is part of the "virtual" category. They are used
+when different packages can satisfy a dependency and only one of them is
+needed.
+.br
+More reading:
+.BR ebuild (5)
+.RE
+.SH "SPECIFIC FILE DESCRIPTIONS"
+.TP
+.BR /etc/
+.RS
+.TP
+.BR make.globals
+The global default settings for Portage. This comes from the portage package
+itself. Settings in \fBmake.conf\fR override values here. The format
+is described extensivly in \fBmake.conf\fR(5).
+.TP
+.BR make.conf
+The global custom settings for Portage. See \fBmake.conf\fR(5).
+.RE
+.TP
+.BR /etc/make.profile/
+This is usually just a symlink to the correct profile in
+\fB/usr/portage/profiles/\fR. Since it is part of the portage tree, it
+may easily be updated/regenerated by running `emerge \-\-sync`. It defines
+what a profile is (usually arch specific stuff). If you need a custom
+profile, then you should make your own \fB/etc/make.profile/\fR
+directory and populate it. However, if you just wish to override some
+settings, do NOT edit these files because they WILL be lost with the
+next `emerge \-\-sync`. See the section below on \fB/etc/portage/\fR for
+overriding.
+.RS
+.TP
+.BR deprecated
+The existence of this file marks a profile as deprecated, meaning it is
+not supported by Gentoo anymore. The first line must be the profile to which
+users are encouraged to upgrade, optionally followed by some instructions
+explaining how they can upgrade.
+
+.I Example:
+.nf
+default-linux/x86/2005.0
+# emerge -n '>=sys-apps/portage-2.0.51'
+# rm -f /etc/make.profile
+# ln -s /usr/portage/profiles/default-linux/alpha/2005.0 /etc/make.profile
+.fi
+.TP
+.BR make.defaults
+The profile default settings for Portage. The general format is described
+in \fBmake.conf\fR(5). The \fImake.defaults\fR for your profile defines a
+few specific variables too:
+
+.PD 0
+.RS
+.TP
+.BR ARCH
+Architecture type (x86/ppc/hppa/etc...).
+.TP
+.B USERLAND = \fI"GNU"\fR
+Support BSD/cygwin/etc...
+.TP
+.B PORTAGE_LIBC = \fI"glibc"\fR
+Support uClibc/BSD libc/etc...
+.TP
+.BR PROFILE_ARCH
+Distinguish machines classes that have the same \fBARCH\fR. All sparc
+machines have ARCH=sparc but set this to either 'sparc32' or 'sparc64'.
+.TP
+.BR STAGE1_USE
+Special USE flags which may be needed when bootstrapping from stage1 to stage2.
+.TP
+.BR GRP_STAGE23_USE
+Special USE flags used by catalyst for building a stage3 and GRP sets.
+.RE
+.PD 1
+.TP
+.BR packages
+This file serves two purposes. The first is to mask out specific
+packages/versions on a per\-profile basis. The second is to provide the
+list of packages that compose the special \fIsystem\fR class.
+
+.I Format:
+.nf
+\- comments begin with #
+\- one DEPEND atom per line of what to mask OUT
+\- packages to be added to the system class begin with a *
+.fi
+.I Note:
+In a cascading profile setup, you can remove packages in children
+profiles which were added by parent profiles by prefixing the atom with
+a '\-'.
+
+.I Example:
+.nf
+# i am a comment !
+# only allow versions of glibc less than 2.3
+<sys\-libs/glibc\-2.3
+# add any version of bash to the system class
+*app\-shells/bash
+# only allow versions of readline earlier than 4.2
+# and add it to the system class
+*<sys\-libs/readline\-4.2
+.fi
+.TP
+.BR packages.build
+A list of packages (one per line) that make up a stage1 tarball. Really only
+useful for stage builders.
+.TP
+.BR package.provided
+A list of packages (one per line) that portage should assume have been
+provided. Useful for porting to non-Linux systems. Portage will not
+attempt to update a package that is listed here unless another package
+explicitly requires a version that is newer than what has been listed.
+Basically, it's a list that replaces the \fBemerge \-\-inject\fR syntax.
+
+For example, if you manage your own copy of a 2.6 kernel, then you can
+tell portage that 'sys-kernel/development-sources-2.6.7' is already taken
+care of and it should get off your back about it.
+
+.I Format:
+.nf
+\- comments begin with #
+\- one DEPEND atom per line
+\- relational operators are not allowed
+\- must include a version
+.fi
+
+.I Example:
+.nf
+# you take care of the kernel
+sys-kernel/development-sources-2.6.7
+
+# you installed your own special copy of QT
+x11-libs/qt-3.3.0
+.fi
+.TP
+.BR parent
+This contains a path to the parent profile. It may be either relative or
+absolute. The paths will be relative to the location of the profile. Most
+commonly this file contains '..' to indicate the directory above. Utilized
+only in cascading profiles.
+.TP
+.BR use.defaults
+Here we DO NOT define the default USE flags, but the so\-called auto\-USE
+flags. This rather unknown portage feature activates a USE flag if a
+specific package is installed and the flag was not explicitly
+deactivated. This file contains the associations between USE flags and
+packages that trigger the auto\-USE feature.
+
+In other words, if we never put "sdl" or "\-sdl" into our USE, but we
+have media\-libs/libsdl emerged, then portage automagically sticks "sdl"
+into our USE for us.
+
+.I Format:
+.nf
+\- comments begin with #
+\- one USE flag per line with a list of DEPEND atom bases
+.fi
+
+.I Example:
+.nf
+# media\-libs/libsdl will activate "sdl"
+sdl media\-libs/libsdl
+# activate tcltk only if we have both
+# dev\-lang/tcl and dev\-lang/tk
+tcltk dev\-lang/tcl dev\-lang/tk
+.fi
+.TP
+.BR use.mask
+Some USE flags don't make sense on some archs (for example altivec on
+non\-ppc or mmx on non\-x86), or haven't yet been tested. Here we list
+the masked ones.
+
+.I Note:
+In a cascading profile setup, you can remove USE flags in children
+profiles which were added by parent profiles by prefixing the flag with
+a '\-'.
+
+.I Format:
+.nf
+\- comments begin with #
+\- one USE flag per line
+.fi
+.TP
+.BR virtuals
+This controls what packages will provide a virtual by default. For example,
+if a package needs to send e\-mail, it will need virtual/mta. In the absence
+of a package that provides virtual/mta (like qmail, sendmail, postfix, etc...),
+portage will look here to see what package to use. In this case, Gentoo uses
+net\-mail/ssmtp as the default (as defined in the virtuals file) because it's
+the package that does the very bare minimum to send e\-mail.
+
+.I Format:
+.nf
+\- comments begin with #
+\- one virtual and DEPEND atom base pair per line
+.fi
+
+.I Example:
+.nf
+# use net\-mail/ssmtp as the default mta
+virtual/mta net\-mail/ssmtp
+# use app\-dicts/aspell\-en as the default dictionary
+virtual/aspell\-dict app\-dicts/aspell\-en
+.fi
+.RE
+.TP
+.BR /etc/portage/
+.RS
+.TP
+.BR bashrc
+If needed, this file can be used to set up a special environment for ebuilds,
+different from the standard root environment. The syntax is the same as for
+any other bash script.
+.TP
+.BR package.mask
+A list of DEPEND atoms to mask. Useful if specific versions of packages do
+not work well for you. For example, you swear by the Nvidia drivers, but only
+versions earlier than 1.0.4496. No problem!
+
+.I Format:
+.nf
+\- comments begin with #
+\- one DEPEND atom per line
+.fi
+
+.I Example:
+.nf
+# mask out versions 1.0.4496 of the nvidia
+# drivers and later
+>=media\-video/nvidia\-kernel\-1.0.4496
+>=media\-video/nvidia\-glx\-1.0.4496
+.fi
+.TP
+.BR package.unmask
+Just like package.mask above, except here you list packages you want to
+unmask. Useful for overriding the global package.mask file (see
+below). Note that this does not override packages that are masked via
+KEYWORDS.
+.TP
+.BR package.keywords
+Per\-package KEYWORDS. Useful for mixing unstable packages in with a normally
+stable machine or vice versa. This will allow you to augment ACCEPT_KEYWORDS
+for a single package.
+
+.nf
+\fINote:\fR There are two special KEYWORDS to help out here:
+\fB*\fR Match any stable KEYWORD
+\fB~*\fR Match any unstable KEYWORD
+
+.I Format:
+\- comments begin with #
+\- one DEPEND atom per line followed by additional KEYWORDS
+\- blank lines imply unstable host arch
+
+.I Example:
+# always use unstable libgd
+media\-libs/libgd ~x86
+# only use stable mplayer
+media\-video/mplayer \-~x86
+# always use unstable netcat
+net-analyzer/netcat
+.fi
+.TP
+.BR package.use
+Per\-package USE flags. Useful for tracking local USE flags or for
+enabling USE flags for certain packages only. Perhaps you develop GTK
+and thus you want documentation for it, but you don't want
+documentation for QT. Easy as pie my friend!
+
+.I Format:
+.nf
+\- comments begin with #
+\- one DEPEND atom per line with space-delimited USE flags
+.fi
+
+.I Example:
+.nf
+# turn on docs for GTK 2.x
+=x11\-libs/gtk+\-2* doc
+# disable mysql support for QT
+x11\-libs/qt \-mysql
+.fi
+.TP
+.BR mirrors
+Whenever portage encounters a mirror:// style URL it will look up the actual
+hosts here. If the mirror set is not found here, it will check the global
+mirrors file at /usr/portage/profiles/thirdpartymirrors. You may also set a
+special mirror type called "local". This list of mirrors will be checked
+before GENTOO_MIRRORS and will be used even if the package has
+RESTRICT="nomirror".
+
+.I Format:
+.nf
+\- comments begin with #
+\- mirror type followed by a list of hosts
+.fi
+
+.I Example:
+.nf
+# local private mirrors used only by my company
+local ftp://192.168.0.3/mirrors/gentoo http://192.168.0.4/distfiles
+
+# people in japan would want to use the japanese mirror first
+sourceforge http://keihanna.dl.sourceforge.net/sourceforge
+
+# people in tawain would want to use the local gnu mirror first
+gnu ftp://ftp.nctu.edu.tw/UNIX/gnu/
+.fi
+.TP
+.BR categories
+A simple list of valid categories that may be used in /usr/portage,
+PORTDIR_OVERLAY, and PKGDIR (see \fBmake.conf\fR(5)). This allows for custom
+categories to be created.
+
+.I Format:
+.nf
+\- one category per line
+.fi
+
+.I Example:
+.nf
+app\-hackers
+media\-other
+.fi
+.TP
+.BR /usr/portage/profiles/
+Global Gentoo settings that are controlled by the developers. To override
+these settings, you can use the files in \fB/etc/portage/\fR.
+.RS
+.TP
+.BR arch.list
+A list of all valid KEYWORDS. This does not include modifiers.
+
+.I Format:
+.nf
+\- one KEYWORD per line
+.fi
+
+.I Example:
+.nf
+x86
+ppc
+sparc
+.fi
+.TP
+.BR categories
+A simple list of valid categories that may be used in /usr/portage,
+PORTDIR_OVERLAY, and PKGDIR (see \fBmake.conf\fR(5)).
+
+.I Format:
+.nf
+\- one category per line
+.fi
+
+.I Example:
+.nf
+app\-admin
+dev\-lang
+games\-strategy
+sys\-kernel
+.fi
+.TP
+.BR info_pkgs
+A list of all the packages which will be displayed when you run `emerge info`.
+.TP
+.BR info_vars
+A list of all the variables which will be displayed when you run `emerge info`.
+.TP
+.BR package.mask
+This contains a list of DEPEND atoms for packages that should not be installed
+in any profile. Useful for adding the latest KDE betas and making sure no
+one accidentally upgrades to them. Also useful for quickly masking specific
+versions due to security issues. ALWAYS include a comment explaining WHY the
+package has been masked and WHO is doing the masking.
+
+.I Format:
+.nf
+\- comments begin with #
+\- one DEPEND atom per line
+.fi
+
+.I Example:
+.nf
+# masked for security reasons
+<sys\-libs/zlib\-1.1.4
+# <caleb@gentoo.org> (10 Sep 2003)
+# new kde betas
+=kde\-base/kde\-3.2.0_beta1
+=kde\-base/kdeaccessibility\-3.2.0_beta1
+.fi
+.TP
+.BR profiles.desc
+List all the current stable and development profiles. If a profile is listed
+here, then it will be checked by repoman. At the moment, only 1 profile is
+allowed per stable/dev/KEYWORD; the last one found is the last one used.
+
+.I Format:
+.nf
+\- comments begin with #
+\- one profile list per line in format: arch dir status
+\- arch must be listed in arch.list
+\- dir is relative to profiles.desc
+\- status must be 'stable' or 'dev'
+.fi
+
+.I Example:
+.nf
+alpha default-linux/alpha/2004.3 stable
+m68k default-linux/m68k dev
+x86 default-linux/x86/2004.3 stable
+.fi
+.TP
+.BR thirdpartymirrors
+Controls the mapping of mirror:// style URLs to actual lists of
+mirrors. Keeps us from overloading a single server.
+
+.I Format:
+.nf
+\- comments begin with #
+\- mirror type followed by a list of hosts
+.fi
+
+.I Example:
+.nf
+sourceforge http://aleron.dl.sourceforge.net/sourceforge http://unc.dl.sourceforge.net/sourceforge
+
+gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo/distfiles
+
+kernel http://www.kernel.org/pub http://www.us.kernel.org/pub
+.fi
+.TP
+.BR use.desc
+All global USE flags must be listed here with a description of what they do.
+
+.I Format:
+.nf
+\- comments begin with #
+\- use flag \- some description
+.fi
+
+.I Example:
+.nf
+3dfx \- Adds support for 3dfx video cards
+acl \- Adds support for Access Control Lists
+doc \- Adds extra documentation
+.fi
+.TP
+.BR use.local.desc
+All local USE flags must be listed here along with the package and a
+description.
+
+.nf
+.I Format:
+\- comments begin with #
+\- package:use flag \- description
+
+.I Example:
+app\-editors/nano:justify \- Toggles the justify option
+dev\-libs/DirectFB:fusion \- Adds Multi Application support
+games\-emulation/xmess:net \- Adds network support
+.fi
+.RE
+.TP
+.BR /var/lib/portage/
+.RS
+.TP
+.BR world
+Every time you emerge a package, the package that you requested is
+recorded here. Then when you run `emerge world \-up`, the list of
+packages is read from this file. Note that this does not mean that the
+packages that were installed as dependencies are listed here. For
+example, if you run `emerge mod_php` and you do not have apache
+already, then "dev\-php/mod_php" is recorded in the world file but
+"net\-www/apache" is not. For more information, review \fBemerge\fR(1).
+
+.I Format:
+.nf
+\- one DEPEND atom base per line
+.fi
+
+.I Example:
+.nf
+games\-misc/fortune\-mod\-gentoo\-dev
+dev\-libs/uclibc
+app\-cdr/cdemu
+.fi
+.RE
+.SH "AUTHORS"
+.nf
+Marius Mauch <genone@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+Drake Wyrm <wyrm@haell.com>
+.fi
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR emerge (1),
+.BR ebuild (1),
+.BR ebuild (5),
+.BR make.conf (5)
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/portage.5,v 1.17.2.12 2005/07/02 21:02:17 vapier Exp $
diff --git a/man/python.eclass.5 b/man/python.eclass.5
new file mode 100644
index 000000000..90db3530c
--- /dev/null
+++ b/man/python.eclass.5
@@ -0,0 +1,82 @@
+.TH PYTHON.ECLASS 5 "Nov 2004" "Portage 2.0.51" portage
+.SH NAME
+python.eclass \- functions for Python-related ebuilds
+.SH DESCRIPTION
+The \fBpython\fR eclass provides general utility functions for Python-related
+ebuilds.
+.SH VARIABLES
+.TP
+.B PYVER
+Defines major and minor Python version. This is a READ-ONLY variable, set by
+the \fBpython_version\fR function.
+.TP
+.B PYVER_MAJOR
+Defines major Python version. This is a READ-ONLY variable, set by the
+\fBpython_version\fR function.
+.TP
+.B PYVER_MINOR
+Defines minor Python version. This is a READ-ONLY variable, set by the
+\fBpython_version\fR function.
+.TP
+.B PYVER_MICRO
+Defines micro Python version. This is a READ-ONLY variable, set by the
+\fBpython_version\fR function.
+.TP
+.B PYTHON_OVERRIDE_PYVER = \fI"2.2"\fR
+When set, overrides the version of Python to use in the \fBpython_mod_compile\fR
+and \fBpython_mod_optimize\fR functions.
+.SH FUNCTIONS
+.TP
+.B python_version
+Sets variables \fBPYVER\fR, \fBPYVER_MAJOR\fR, \fBPYVER_MINOR\fR, and
+\fBPYVER_MICRO\fR to the version of Python currently available.
+.TP
+.B python_disable_pyc
+Disables automatic recompilation of modules to .pyc/.pyo. This is supported by
+>=dev-lang/python-2.2.3-r3 only.
+.TP
+.B python_enable_pyc
+Enables automatic recompilation of modules to .pyc/.pyo. This is supported by
+>=dev-lang/python-2.2.3-r2 only.
+.TP
+.B python_makesym
+Creates the /usr/bin/python symbolic link to point to the latest installed
+version of Python.
+.TP
+.B python_tkinter_exists
+Checks to see if Python was compiled with Tkinter support (via USE=tcltk).
+If not, this function will print an error message informing the user that
+Tkinter support is required and then die.
+.TP
+.B python_mod_exists \fI[ module ]\fR
+Checks to see if the specified module is installed and loadable. Returns true
+(0) if so or false (1) if not.
+.TP
+.B python_mod_compile \fI[ file ]\fR
+Precompiles the specified file, creating the module's pyc and pyo files. If
+the variable, \fBPYTHON_OVERRIDE_PYVER\fR is set, this function will use the
+specified version of Python to compile rather than the version detected by
+\fBpython_version\fR. This function should only be run from \fBpkg_postinst\fR.
+.TP
+.B python_mod_optimize \fI< dir1 > < dir 2 >\fR
+If called with no arguments, this function will recompile all modules under
+sys.path without recursing into subdirectories. Called with arguments, this
+function will recursively compile all modules in the specified directories.
+If the variable, \fBPYTHON_OVERRIDE_PYVER\fR is set, this function will use
+the specified version of Python rather than the version detected by
+\fBpython_version\fR.
+.TP
+.B python_mod_cleanup \fI< dir1 > < dir2 >\fR
+Recursively searches specified directories (or /usr/lib/python*/site-packages
+if called with no arguments) removing orphaned bytecode (.pyc/.pyo files with
+no corresponding .py file).
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/python.eclass
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/python.eclass.5,v 1.1.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/quickpkg.1 b/man/quickpkg.1
new file mode 100644
index 000000000..c7f07f5e9
--- /dev/null
+++ b/man/quickpkg.1
@@ -0,0 +1,56 @@
+.TH "QUICKPKG" "1" "Jul 2003" "Portage 2.0.51" "Portage"
+.SH NAME
+quickpkg \- creates portage packages
+.SH SYNOPSIS
+.B quickpkg <list of pkgs>
+.SH DESCRIPTION
+.I quickpkg
+can be utilized to quickly create a package for portage by
+utilizing the files already on your filesystem. This package
+then can be emerged on any system. To review syntax for
+emerging binary packages, review \fBemerge\fR(1). The upside
+of this process is that you don't have to wait for the package
+to unpack, configure, compile, and install before you can have
+the package ready to go. The downside is that the package will
+contain the files that exist on your filesystem even if they have
+modified since they were first installed.
+.br
+The packages, after being created, will be placed in \fBPKGDIR\fR.
+This variable is defined in \fBmake.conf\fR(5) and defaults to
+/var/tmp/portage-pkg.
+.SH OPTIONS
+.TP
+.B <list of packages>
+Each package in the list can be of two forms. First you can
+give it the full path to the installed entry in the virtual
+database. That is, /var/db/pkg/<CATEGORY>/<PKG-VERSION>/.
+The second form is a portage depend atom. This atom is of
+the same form that you would give \fBemerge\fR if you wanted
+to emerge something. See \fBebuild\fR(5) for full definition.
+.SH "EXAMPLES"
+.B quickpkg
+/var/db/pkg/dev-python/pyogg-1.1
+.br
+.B quickpkg
+planeshift
+.br
+.B quickpkg
+=apache-1.3.27-r1
+.br
+.B quickpkg
+=net-www/apache-2*
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5),
+.BR make.conf (5)
+.SH "FILES"
+.TP
+.B /etc/make.conf
+The \fBPKGDIR\fR variable is defined here.
+.SH AUTHORS
+Terry Chan (original author)
+.br
+Mike Frysinger <vapier@gentoo.org> (revamped version)
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/quickpkg.1,v 1.3 2004/09/17 00:17:10 vapier Exp $
diff --git a/man/repoman.1 b/man/repoman.1
new file mode 100644
index 000000000..5e7e422c9
--- /dev/null
+++ b/man/repoman.1
@@ -0,0 +1,127 @@
+.TH "REPOMAN" "1" "Nov 2002" "Portage 2.0.51" "Portage"
+.SH NAME
+repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
+.SH SYNOPSIS
+\fBrepoman\fR [\fIoption\fR] [\fImode\fR]
+.SH DESCRIPTION
+.BR "Quality is job zero."
+.br
+.BR repoman
+is meant for Gentoo developers only due to the fact it does not work on a per-ebuild basis.
+It checks the quality of CVS repositories.
+.br
+Note: \fBrepoman\fR only runs \fIinside local\fR CVS repositories.
+.SH OPTIONS
+.TP
+.B --pretend
+Don't actually perform commit or fix problems, just show what would be done.
+.TP
+.B --help
+Show the help screen.
+.SH MODES
+.TP
+.B scan
+Scan current directory tree for QA issues (default). See \fBQA KEYWORDS\fR for more
+information.
+.TP
+.B fix
+Fix those issues that can be fixed (stray digests, missing digests).
+.TP
+.B full
+Scan current directory tree for QA issues (full listing). See \fBQA KEYWORDS\fR for more
+information.
+.TP
+.B help
+Show the help screen.
+.TP
+.B commit
+Scan current directory tree for QA issues. If OK, commit via cvs.
+.SH QA KEYWORDS
+.TP
+.BR CVS/Entries.IO_error
+While attempting to commit, a CVS/Entries directory wasn't found- either the cvs co is damaged, or permissions block repoman from reading the file.
+.TP
+.BR digest.assumed
+Files listed in the digest were not found in your $DISTDIR so the existing
+digest entries are assumed to be correct.
+.TP
+.BR digest.disjointed
+The digests were not added to cvs when the matching ebuild had already been
+added.
+.TP
+.BR digest.missing
+Ebuild files were found that do not have a corresponding digest.
+.TP
+.BR digest.notadded
+The digests were found but have not been added to cvs.
+.TP
+.BR digest.stray
+Digest files were found that do not have a corresponding ebuild.
+.TP
+.BR ebuild.disjointed
+The ebuilds were not added to cvs when the matching digest had already been
+added.
+.TP
+.BR ebuild.invalidname
+The ebuild has a filename that is not-parseable by portage.
+.TP
+.BR changelog.missing
+The ChangeLog file was not found.
+.TP
+.BR ebuild.namenomatch
+The euild has a filename that does not have the same name as the parent
+directory.
+.TP
+.BR ebuild.notadded
+The ebuilds were found but have not been added to cvs.
+.TP
+.BR file.executable
+The file has the executable bit set, when it's not needed- check is limited to ebuilds, digests, Manifest, ChangeLog, and metadata.xml.
+.TP
+.BR file.size
+The file's size exceeds 20k, current policy is no files over 20k in a packages files directory.
+.TP
+.BR filedir.missing
+The package lacks a files directory.
+.TP
+.BR DEPEND.bad
+User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds).
+In other words, user-visiable ebuilds could not be found to satisfy the DEPEND settings.
+.TP
+.BR RDEPEND.bad
+User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds).
+In other words, user-visiable ebuilds could not be found to satisfy the RDEPEND settings.
+.TP
+.BR DEPEND.badmasked
+Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds)
+In other words, no ebuilds could not be found to satisfy the DEPEND settings.
+.TP
+.BR RDEPEND.badmasked
+Masked ebuilds with RDEPEND settings (matched against *all* ebuilds)
+In other words, no ebuilds could not be found to satisfy the RDEPEND settings.
+.TP
+.BR ebuild.syntax
+An error occured while generating the cache entry. This typically means the ebuild contains syntax error(s).
+.TP
+.BR ebuild.output
+A simple sourcing of the ebuild produces output. This breaks ebuild policy.
+.TP
+.BR KEYWORDS.missing
+The ebuild does not have a KEYWORDS variable.
+.TP
+.BR LICENSE.missing
+The ebuild does not have a LICENSE variable.
+.TP
+.BR DESCRIPTION.missing
+The ebuild does not have a DESCRIPTION variable.
+.TP
+.BR SLOT.missing
+The ebuild does not have a SLOT variable.
+.SH AUTHORS
+Daniel Robbins <drobbins@gentoo.org>
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR emerge (1)
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/repoman.1,v 1.7.2.1 2005/01/30 12:12:26 vapier Exp $
diff --git a/man/rpm.eclass.5 b/man/rpm.eclass.5
new file mode 100644
index 000000000..0e57e3e54
--- /dev/null
+++ b/man/rpm.eclass.5
@@ -0,0 +1,37 @@
+.TH "RPM.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+rpm.eclass \- convienence class for extracting RPM's
+.SH "DESCRIPTION"
+The \fBrpm\fR eclass exists in order to unpack RPM's for you. This
+way developers dont have to keep employing their own tricks just to
+extract the source archives from an RPM. The eclass will define the
+\fBsrc_unpack\fR function and do all the unpacking for you. The
+unpack function will utilize either \fBrpmoffset\fR or \fBrpm2cpio\fR to
+unpack the RPM. If both exist on the system, then \fBrpm2cpio\fR
+will be utilized.
+.SH "VARIABLES"
+.TP
+.B USE_RPMOFFSET_ONLY = \fI"[0|1]"\fR
+If you want to force the RPM extractor to utilize \fBrpmoffset\fR
+even if \fBrpm2cpio\fR is detected, then just set this variable to 1.
+.SH "FUNCTIONS"
+.TP
+.B rpm_unpack \fI"<file to unpack>"\fR
+Unpack an RPM file in the same manner that \fBunpack\fR unpacks any
+other archive. The contents of the RPM will be extracted to \fB${WORKDIR}\fR.
+.TP
+.B rpm_src_unpack
+This replacement for \fBsrc_unpack\fR will go through \fB${A}\fR and
+unpack all the files. If the file is an RPM, then \fBrpm_unpack\fR
+will be called. Otherwise the default \fBunpack\fR function will be
+utilized.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/rpm.eclass
+.SH "AUTHORS"
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/rpm.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/ruby.eclass.5 b/man/ruby.eclass.5
new file mode 100644
index 000000000..cc41fb176
--- /dev/null
+++ b/man/ruby.eclass.5
@@ -0,0 +1,47 @@
+.TH RUBY.ECLASS 5 "Nov 2004" "Portage 2.0.51" portage
+.SH NAME
+ruby.eclass \- functions to ease installation of Ruby software
+.SH DESCRIPTION
+The \fBruby\fR eclass provides an interface designed to ease the installation
+and integration of Ruby software.
+.SH VARIABLES
+.TP
+.B RUBY = \fI"/usr/bin/ruby"\fR
+Defines the location of the Ruby binary. Defaults to '/usr/bin/ruby'.
+.TP
+.B USE_RUBY = \fI"ruby18"\fR
+Defines a white-space delimited list of supported Ruby versions. This variable
+can be set to "any" if the ebuild only installs version independant files.
+Possible values for this variable include \fBany\fR, \fBruby16\fR, \fBruby18\fR,
+and \fBruby19\fR.
+.TP
+.B RUBY_ECONF = \fI"--with-foo"\fR
+Defines any extra arguments to pass to econf.
+.TP
+.B PATCHES = \fI"foo.patch *.diff"\fR
+Defines a white-space delimited list of patches that should be applied. In
+addition to literal filenames, globbing may also be used.
+.SH FUNCTIONS
+.TP
+.B ruby_einstall
+Default einstall that executes standard Ruby installation scripts in addition
+to installing all .rb files into the local Ruby site directory.
+.TP
+.B erubydoc
+Installs documentation, HTML, and examples into /usr/share/doc/\fB${PF}\fR.
+.TP
+.B ruby_src_compile
+Default src_compile that simply executes \fBruby_econf\fR and \fBruby_emake\fR.
+.TP
+.B ruby_src_install
+Default src_install that simply runs \fBruby_einstall\fR and \fBerubydoc\fR.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/ruby.eclass
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/ruby.eclass.5,v 1.1.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/ssl-cert.eclass.5 b/man/ssl-cert.eclass.5
new file mode 100644
index 000000000..4f6b2baae
--- /dev/null
+++ b/man/ssl-cert.eclass.5
@@ -0,0 +1,54 @@
+.TH "SSL-CERT.ECLASS" "5" "Oct 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+ssl-cert.eclass \- provides common SSL certificates installation routines
+.SH "DESCRIPTION"
+The \fBssl-cert\fR eclass contains a function used to generate and
+install SSL certificates and related files for testing and initial
+configuration purposes of TLS/SSL compatible services.
+.SH "VARIABLES"
+.TP
+\fBSSL_DAYS =\fR \fI"730"\fR (2 years)
+The generated certificate will be expired after this many days.
+.TP
+\fBSSL_BITS =\fR \fI"1024"\fR
+The number of bits used for the certificate keys.
+.TP
+\fBSSL_COUNTRY =\fR \fI"US"\fR
+The country (code only) for the generated certificate.
+.TP
+\fBSSL_STATE =\fR \fI"California"\fR
+The state (no abbreviation) for the generated certificate.
+.TP
+\fBSSL_LOCALITY =\fR \fI"Santa Barbara"\fR
+The locality (city) name for the generated certificate.
+.TP
+\fBSSL_ORGANIZATION =\fR \fI"SSL Server"\fR
+The organization (business) name for the generated certificate.
+.TP
+\fBSSL_UNIT =\fR \fI"For Testing Purposes Only"\fR
+The organizational unit (department) name for the generated certificate.
+.TP
+\fBSSL_COMMONNAME =\fR \fI"localhost"\fR
+The hostname (FQDN) for the generated certificate.
+.TP
+\fBSSL_EMAIL =\fR \fI"root@localhost"\fR
+The technical contact (email address) for the generated certificate.
+.SH "FUNCTIONS"
+.TP
+.B docert \fI<cert1>\fR \fI[cert2 ...]\fR
+This function will generate and install the requested certificates into
+the current \fB${INSDESTTREE}\fR location. For example:
+.br
+\fBinsinto\fR \fI/etc/ssl/server\fR
+.br
+\fBdocert\fR \fImail\fR \fIimap\fR || die "Error creating certificates"
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/ssl-cert.eclass
+.SH "AUTHORS"
+Max Kalika <max@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/ssl-cert.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/stardict.eclass.5 b/man/stardict.eclass.5
new file mode 100644
index 000000000..c2a7e7d36
--- /dev/null
+++ b/man/stardict.eclass.5
@@ -0,0 +1,34 @@
+.TH "STARDICT.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+startdict.eclass \- convienence class to do stardict dictionary installations
+.SH "DESCRIPTION"
+The \fBstartdict\fR eclass contains appropriate variables and functions
+to quickly make ebuild's for stardictionaries. The eclass will define
+\fBsrc_compile\fR and \fBsrc_install\fR functions for you. All you
+need to do is to set the \fBDICT_SUFFIX\fR, \fBDICT_P\fR, \fBFROM_LANG\fR,
+and \fBTO_LANG\fR variables before inheriting the eclass.
+.SH "VARIABLES"
+.TP
+.B FROM_LANG = \fI"From this language"\fR
+What language is the dictionary translating from? If you have an
+English to German dictionary, this variable would be set to 'English'.
+.TP
+.B TO_LANG = \fI"To this language"\fR
+What language is the dictionary translating to? If you have an
+English to German dictionary, this variable would be set to 'German'.
+.TP
+.B DICT_PREFIX = \fI"SRC_URI prefix, like 'dictd_www.mova.org_'"\fR
+SRC_URI prefix, like "dictd_www.mova.org_".
+.TP
+.B DICT_SUFFIX = \fI"SRC_URI after the prefix"\fR
+SRC_URI after the prefix.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/stardict.eclass
+.SH "AUTHORS"
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/stardict.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/subversion.eclass.5 b/man/subversion.eclass.5
new file mode 100644
index 000000000..ddc2b5df0
--- /dev/null
+++ b/man/subversion.eclass.5
@@ -0,0 +1,59 @@
+.TH SUBVERSION.ECLASS 5 "Nov 2004" "Portage 2.0.51" portage
+.SH NAME
+subversion.eclass \- provides subversion fetching functions
+.SH DESCRIPTION
+The \fBsubversion\fR eclass provides functions that enable the ebuild author
+to create 'live' ebuilds that fetch the program's sources from a subversion
+repository.
+.br
+
+\fBNOTE\fR: At the very minimum, the \fBsubversion\fR eclass requires the
+\fBESVN_REPO_URI\fR variable to be set (see below).
+.SH VARIABLES
+.TP
+.B "ESVN_REPO_URI" = \fI"svn://foo/bar/trunk"\fR
+This variable sets the URI from which the sources will be fetched. The
+\fBsubversion\fR eclass supports fetching from the following protocols:
+\fIhttp\fR, \fIhttps\fR, and \fIsvn\fR. This variable is required to be set.
+.TP
+.B "ESVN_STORE_DIR" = \fI"${DISTDIR}/svn-src"\fB
+This variable defines the location in which the fetched sources will be kept.
+The default value is '${DISTDIR}/svn-src' and should be sufficient in most
+cases.
+.TP
+.B "ESVN_FETCH_CMD" = \fI"svn checkout"\fB
+This variable defines the command used for initial checkout and defaults to 'svn checkout'.
+.TP
+.B "ESVN_UPDATE_CMD" = \fI"svn update"\fB
+This variable defines the command used for updating sources and defaults to 'svn update'.
+.TP
+.B "ESVN_PROJECT" = \fI"foobar"\fB
+This variable defines the name of the project and defaults to '${PN/-svn}'.
+.TP
+.B "ESVN_BOOTSTRAP" = \fI"autogen.sh"\fB
+This variable defines the name of the bootstrap script to execute in
+preparation for the build process. This variable is empty by default. Note:
+"./" is automatically prepended, so it is unnecessary for the ebuild author to
+do so.
+.TP
+.B "ESVN_PATCHES" = \fI"foo.patch *.diff"\fB
+This variable defines a list of patches to apply prior to fetching the sources.
+In addition to literal filenames, you may also use globbing such as *.diff.
+This variable is empty by default.
+.SH FUNCTIONS
+.TP
+.B subversion_src_unpack
+The default \fBsrc_unpack\fR provided by the \fBsubversion\fR eclass simply
+fetches the program's sources from the URI specified by \fBESVN_REPO_URI\fR,
+applies any patches specified by \fBESVN_PATCHES\fR, and then executes the
+bootstrap script specified by \fBESVN_BOOTSTRAP\fR.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/subversion.eclass
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/subversion.eclass.5,v 1.1.2.3 2005/05/10 11:30:32 swegener Exp $
diff --git a/man/tla.eclass.5 b/man/tla.eclass.5
new file mode 100644
index 000000000..53df4fee7
--- /dev/null
+++ b/man/tla.eclass.5
@@ -0,0 +1,52 @@
+.TH TLA.ECLASS 5 "Nov 2004" "Portage 2.0.51" portage
+.SH NAME
+tla.eclass \- provides generic tla fetching functions
+.SH DESCRIPTION
+The \fBtla\fR eclass provides an interface to easily allow ebuild authors to
+create 'live' tla ebuilds that fetch their sources from a tla repository.
+.SH VARIABLES
+.TP
+.B ETLA_TLA_CMD = \fI"tla"\fR
+Defines tla executable. Defaults to 'tla'.
+.TP
+.B ETLA_GET_CMD = \fI"get"\fR
+Defines tla get option. Defaults to 'get'.
+.TP
+.B ETLA_UPDATE_CMD = \fI"replay"\fR
+Defines tla update option. Defaults to 'replay'.
+.TP
+.B ETLA_TOP_DIR = \fI"${DISTDIR}/tla-src"\fR
+Defines location where fetched sources will be kept. Defaults to '${DISTDIR}/tla-src'.
+.TP
+.B ETLA_VERSION = \fI"foo@bar.com--archive-name/category--branch--version"\fR
+Defines tla version in the above format. This variable will be passed as the
+argument to a tla subcommand such as get, replay, etc.
+.TP
+.B ETLA_CACHE_DIR = \fI"${ELTA_VERSION}"\fR
+Defines the location where the version shall be cached. This location is
+relative to \fBETLA_TOP_DIR\fR. Defaults to '\fBETLA_VERSION\fR'.
+.TP
+.B ETLA_ARCHIVES
+Defines a whitespace-delimited list of significant archive URI's. This variable
+should at least include the URI of the archive that the wanted version is stored
+in.
+.TP
+.B ETLA_CLEAN
+Defines whether or not to fetch a clean copy of sources if there is already a
+working copy available. If set, the working copy will be removed and a fresh
+copy will be fetched. Otherwise, the working copy will just be updated (via
+\fBETLA_UPDATE_CMD\fR). This variable is unset by default.
+.SH FUNCTIONS
+.TP
+.B tla_src_unpack
+Default src_unpack that fetches the sources and places them in \fB${WORKDIR}\fR/\fB${P}\fR.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/tla.eclass
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/tla.eclass.5,v 1.1.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/toolchain-funcs.eclass.5 b/man/toolchain-funcs.eclass.5
new file mode 100644
index 000000000..481ce1389
--- /dev/null
+++ b/man/toolchain-funcs.eclass.5
@@ -0,0 +1,112 @@
+.TH "TOOLCHAIN-FUNCS.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+toolchain-funcs.eclass \- functions to get commonly needed info about the
+toolchain (binutils/gcc/glibc/etc...)
+.SH "DESCRIPTION"
+The \fBtoolchain-funcs\fR eclass contains a suite of functions that are
+used to glean information about the toolchain that is used to compile.
+This allows developers to worry about gcc specs rather than figuring
+out how to find the specs in the first place.
+.SH "TOOL FUNCTIONS"
+.TP
+.B tc-getAR
+Returns the name of the binutils archiver. Usually 'ar'.
+.TP
+.B tc-getAS
+Returns the name of the assembler. Usually 'as'.
+.TP
+.B tc-getBUILD_CC
+Returns the name of the compiler for the build system.
+Useful only when you have to compile and run a utility while
+building the package.
+.TP
+.B tc-getCC
+Returns the name of the C compiler binary. Usually 'gcc'.
+.TP
+.B tc-getCXX
+Returns the name of the C++ compiler binary. Usually 'g++'.
+.TP
+.B tc-getF77
+Returns the name of the fortran compiler.
+.TP
+.B tc-getGCJ
+Returns the name of the java compiler. Usually 'gcj'.
+.TP
+.B tc-getLD
+Returns the name of the linker. Usually 'ld'.
+.TP
+.B tc-getNM
+Returns the name of the symbol/object thingy. Usually 'nm'.
+.TP
+.B tc-getRANLIB
+Returns the name of the archiver indexer. Usually 'ranlib'.
+.SH "MISC FUNCTIONS"
+.TP
+\fBtc-arch\fR [\fITARGET\fR]
+Echo the portage $ARCH that the current toolchain represents.
+Basically this is a drop-in replacment for $ARCH usage. If no
+\fITARGET\fR is specified, then CHOST will be used.
+.TP
+\fBtc-arch-kernel\fR [\fITARGET\fR]
+Echo the kernel $ARCH that the current toolchain represents. If no
+\fITARGET\fR is specified, then CHOST will be used.
+.TP
+\fBtc-endian\fR [\fITARGET\fR]
+Echo 'little' or 'big' based upon what the current toolchain represents.
+If no \fITARGET\fR is specified, then CHOST will be used.
+.TP
+\fBtc-export\fR <\fBlist of variables\fR>
+Quickly export \fBlist of variables\fR to the environment. Much easier
+than exporting each idividual variable at a time.
+
+For example: \fBtc-export\fR CC CXX AR RANLIB
+.TP
+.B tc-is-cross-compiler
+Return shell true/false based upon whether the current building
+setup is for a cross compiler.
+.SH "VERSION FUNCTIONS"
+.TP
+.B gcc-fullversion
+Returns the version as by `$CC -dumpversion`.
+.br
+GCC \fI2.95.3\fR will return \fI2.95.3\fR
+.br
+GCC \fI3.2.1\fR will return \fI3.2.1\fR
+.TP
+.B gcc-version
+Returns the version, but only the <major>.<minor>.
+.br
+GCC \fI2.95\fR.3 will return \fI2.95\fR
+.br
+GCC \fI3.2\fR.1 will return \fI3.2\fR
+.TP
+.B gcc-major-version
+Returns the Major version.
+.br
+GCC \fI2\fR.95.3 will return \fI2\fR
+.br
+GCC \fI3\fR.2.1 will return \fI3\fR
+.TP
+.B gcc-minor-version
+Returns the Minor version.
+.br
+GCC 2.\fI95\fR.3 will return \fI95\fR
+.br
+GCC 3.\fI2\fR.1 will return \fI2\fR
+.TP
+.B gcc-micro-version
+Returns the Micro version.
+.br
+GCC 2.95.\fI3\fR will return \fI3\fR
+.br
+GCC 3.2.\fI1\fR will return \fI1\fR
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.SH "FILES"
+.BR /usr/portage/eclass/toolchain-funcs.eclass
+.SH "AUTHORS"
+Mike Frysinger <vapier@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/toolchain-funcs.eclass.5,v 1.1.2.2 2005/01/15 00:19:23 vapier Exp $
diff --git a/man/versionator.eclass.5 b/man/versionator.eclass.5
new file mode 100644
index 000000000..bded105fb
--- /dev/null
+++ b/man/versionator.eclass.5
@@ -0,0 +1,53 @@
+.TH VERSIONATOR.ECLASS 5 "Nov 2004" "Portage 2.0.51" portage
+.SH NAME
+versionator.eclass \- provides functions for easy manipulation of versions
+.SH DESCRIPTION
+The \fBversionator\fR eclass provides functions to ease manipulation of
+software versions. The most common use of this eclass is for manipulation of
+the \fB${PV}\fR variable (and saving the result in a variable such as
+\fB${MY_PV}\fR).
+.SH FUNCTIONS
+\fBNOTE\fR: the following functions all operate on a version string (denoted
+as \fIPV\fR in this manual page), which defaults to \fB${PV}\fR if omitted.
+See the eclass for example version strings and their respective results.
+.TP
+.B get_all_version_components \fI< PV >\fR
+Splits PV into its component parts.
+.TP
+.B get_version_components \fI< PV >\fR
+Splits PV into its component parts, ignoring '.', '-', and '_'.
+.TP
+.B get_major_version \fI< PV >\fR
+Retrieves major version from PV.
+.TP
+.B get_version_component_range \fI[ RANGE ] < PV >\fR
+Retrieves a component or range of components, RANGE, from PV. RANGE may be
+a single number for a particular component, a range such as 1-2 for a range
+of components, or a range such as 2- for that component and everything after it.
+.TP
+.B get_after_major_version \fI< PV >\fR
+Retrieves everything after the major version and its separator (if present).
+.TP
+.B replace_version_separator \fI[ N ] [ SEP ] < PV >\fR
+Replaces the Nth separator of PV with separator, SEP. If N is a character
+literal (eg. '-'), the first separator of this kind is replaced.
+.TP
+.B replace_all_version_separators \fI[ SEP ] < PV >\fR
+Replaces all version separators in PV with separator, SEP.
+.TP
+.B delete_version_separator \fI[ N ] < PV >\fR
+Deletes the Nth separator of PV. If N is a character literal (eg. '-'), the first
+separator of this kind is deleted.
+.TP
+.B delete_all_version_separators \fI<PV>\fR
+Deletes all version separators in PV.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.BR /usr/portage/eclass/versionator.eclass
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/versionator.eclass.5,v 1.1.2.4 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/vim-plugin.eclass.5 b/man/vim-plugin.eclass.5
new file mode 100644
index 000000000..0960345e6
--- /dev/null
+++ b/man/vim-plugin.eclass.5
@@ -0,0 +1,86 @@
+.TH VIM-PLUGIN.ECLASS 5 "Dec 2004" "Portage 2.0.51" portage
+.SH NAME
+vim-plugin.eclass \- functions to ease installation of Vim plugins
+.SH DESCRIPTION
+The \fBvim-plugin\fR eclass provides functions meant to simplify the
+installation of Vim plugins into a version-independent directory,
+/usr/share/vim/vimfiles.
+.SH VARIABLES
+.TP
+.B VIM_PLUGIN_HELPFILES
+Defines a white-space delimited list of help files, used soley for informing
+the user how to access them within Vim.
+.TP
+.B VIM_PLUGIN_HELPTEXT
+Defines help text to display. Used only if \fBVIM_PLUGIN_HELPFILES\fR is unset.
+.TP
+.B VIM_PLUGIN_HELPURI
+Defines a URI where on-line plugin documentation is available. This variable
+is only used if \fBVIM_PLUGIN_HELPFILES\fR and \fBVIM_PLUGIN_HELPTEXT\fR are
+unset.
+.TP
+.B VIM_PLUGIN_MESSAGES
+Defines a white-space delimited list of settings that the Vim plugin makes use
+of. Currently, only 'filetype' is supported; any other specified settings will
+be ignored.
+.SH FUNCTIONS
+.TP
+.B update_vim_afterscripts
+Creates scripts in /usr/share/vim/vimfiles/after that are comprised of the
+snippets located in /usr/share/vim/vimfiles/after/*/*.vim.d. In addition,
+any stale scripts that were previously generated by this function are removed.
+.TP
+.B display_vim_plugin_help
+Displays a message containing plugin help information. This function checks
+the variables \fBVIM_PLUGIN_HELPFILES\fR, \fBVIM_PLUGIN_HELPTEXT\fR, and
+\fBVIM_PLUGIN_HELPURI\fR (in that order) and displays the first one that is
+defined. In addition, any setting-specific messages that correspond to
+settings listed in \fBVIM_PLUGIN_MESSAGES\fR will be displayed.
+.TP
+.B vim-plugin_src_install
+Default src_install. Installs plugin documentation prior to installing the
+entire contents of \fB${S}\fR to /usr/share/vim/vimfiles.
+.TP
+.B vim-plugin_pkg_postinst
+Default pkg_postinst that updates Vim helptags (see \fBupdate_vim_helptags\fR
+in vim-doc.eclass), updates after scripts, and calls \fBdisplay_vim_plugin_help\fR.
+.TP
+.B vim-plugin_pkg_postrm
+Default pkg_postrm that updates Vim helptags (see \fBupdate_vim_helptags\fR
+in vim-doc.eclass), updates after scripts, and removes any empty directories
+in /usr/share/vim/vimfiles.
+.SH PACKAGING
+In general, tarballs for plugins cannot be used directly because of vim.org's
+idiosyncratic download system. Instead, a Gentoo-specific tarball must be made
+with the following format for contents:
+
+.nf
+ packagename-version/
+ packagename-version/doc/
+ packagename-version/doc/whatever.txt
+ packagename-version/plugin/
+ packagename-version/plugin/whatever.vim
+ packagename-version/syntax/
+ packagename-version/syntax/whatever.vim
+.fi
+.SH PACKAGE NAMING CONVENTIONS
+Where possible, the upstream script name should be used as the package name.
+For packages which provide syntax or filetype files, the name should be suffixed
+with "-syntax" (for example, "app-vim/gentoo-syntax", "app-vim/fluxbox-syntax",
+"app-vim/selinux-syntax").
+.SH PACKAGE VARIABLE CONVENTIONS
+The canonical form for the HOMEPAGE variable for vim.org scripts is
+http://www.vim.org/scripts/script.php?script_id=123.
+.SH REPORTING BUGS
+Please report bugs via http://bugs.gentoo.org/
+.SH SEE ALSO
+.BR ebuild (5)
+.SH FILES
+.nf
+.B /usr/portage/eclass/vim-plugin.eclass
+.B /usr/portage/eclass/vim-doc.eclass
+.fi
+.SH AUTHORS
+Aaron Walker <ka0ttic@gentoo.org>
+.SH CVS HEADER
+$Header: /var/cvsroot/gentoo-src/portage/man/vim-plugin.eclass.5,v 1.1.2.2 2005/01/15 00:19:36 vapier Exp $
diff --git a/man/vim.eclass.5 b/man/vim.eclass.5
new file mode 100644
index 000000000..24ff42c11
--- /dev/null
+++ b/man/vim.eclass.5
@@ -0,0 +1,56 @@
+.TH "VIM.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage"
+.SH "NAME"
+vim.eclass \- common build routines for vim-core, vim and gvim
+.SH "DESCRIPTION"
+The \fBvim\fR eclass contains a suite of functions that are used to
+build \fBvim-core\fR, \fBvim\fR and \fBgvim\fR. The vim-core ebuild
+contains the common files installed in /usr/share/vim, /usr/share/doc
+and /etc/vim, as well as the binaries xxd and vimtutor. The vim
+ebuild contains the terminal-based version of vim. The gvim ebuild
+contains the graphical version of vim. All three of these are built
+from common source, common patches and using mostly-common configure
+options.
+.P
+There are no functions to define in an ebuild using \fBvim.eclass\fR
+because the eclass does all the unpacking, compilation and
+installation.
+.SH "VARIABLES"
+.TP
+.B VIM_VERSION = \fI"version string"\fR
+This variable is important because the ebuild version (for example
+6.2_pre5) corresponds to a vim version (for example 6.2e) but there is
+no way to make that jump without help from the ebuild author.
+Historically there was a method in the vim.eclass to calculate the vim
+version from the ebuild version, but that meant that the ebuild author
+had to make sure the ebuild was correctly versioned each time. To
+avoid that headache, it became easier to simply specify
+\fBVIM_VERSION\fR in the ebuild itself.
+.TP
+.B VIM_GENTOO_PATCHES = \fI"filename"\fR
+The filename of the Gentoo patches to apply. It's not always
+necessary to update the Gentoo patches for a new version of vim,
+so this variable separates the ebuild and vim versions from the patch
+tarball version. Take a look at
+\fBvim-6.2.011-gentoo-patches.tar.bz2\fR
+for an example of the patch directory layout.
+.TP
+.B VIM_ORG_PATCHES = \fI"filename"\fR
+The filename of the vim patches to apply. This is a tarball of
+patches from \fBftp://ftp.vim.org/pub/vim/patches/\fR which apply to
+the current version. See \fBvim-6.2.011-patches.tar.bz2\fR for an
+example of the vim.org patch tarballs.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "SEE ALSO"
+.BR ebuild (5)
+.BR vim (1)
+.SH "FILES"
+.BR /usr/portage/eclass/vim.eclass
+.SH "AUTHORS"
+Aron Griffis <agriffis@gentoo.org>
+.br
+Ryan Phillips <rphillips@gentoo.org>
+.br
+Seemant Kulleen <seemant@gentoo.org>
+.SH "CVS HEADER"
+$Header: /var/cvsroot/gentoo-src/portage/man/vim.eclass.5,v 1.3.2.1 2005/01/15 00:19:36 vapier Exp $