aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
Diffstat (limited to 'man')
-rw-r--r--man/color.map.518
-rw-r--r--man/dispatch-conf.177
-rw-r--r--man/ebuild.136
-rw-r--r--man/ebuild.51173
-rw-r--r--man/egencache.178
-rw-r--r--man/emaint.115
-rw-r--r--man/emerge.1423
-rw-r--r--man/emirrordist.1148
-rw-r--r--man/env-update.121
-rw-r--r--man/etc-update.146
-rw-r--r--man/make.conf.5326
-rw-r--r--man/portage.5664
-rw-r--r--man/quickpkg.134
-rw-r--r--man/repoman.1139
-rw-r--r--man/ru/color.map.5217
-rw-r--r--man/ru/dispatch-conf.1100
-rw-r--r--man/ru/ebuild.1249
-rw-r--r--man/ru/env-update.135
-rw-r--r--man/ru/etc-update.163
-rw-r--r--man/ru/fixpackages.122
-rw-r--r--man/xpak.55
21 files changed, 2771 insertions, 1118 deletions
diff --git a/man/color.map.5 b/man/color.map.5
index ca6b17dd791..5543628f80c 100644
--- a/man/color.map.5
+++ b/man/color.map.5
@@ -1,4 +1,4 @@
-.TH "COLOR.MAP" "5" "Mar 2010" "Portage VERSION" "Portage"
+.TH "COLOR.MAP" "5" "Jul 2013" "Portage VERSION" "Portage"
.SH "NAME"
color.map \- custom color settings for Portage
.SH "SYNOPSIS"
@@ -9,9 +9,11 @@ Portage will check this file first for color classes settings. If no setting
of given color class is found in /etc/portage/color.map, Portage uses default
value defined internally.
.SH "SYNTAX"
-\fBVARIABLE\fR = \fI[space delimited list of attributes or ansi code pattern]\fR
+\fBVARIABLE\fR = \fI[space delimited list of attributes or ansi code
+pattern]\fR
.TP
-\fBATTRIBUTE\fR = \fI[space delimited list of attributes or ansi code pattern]\fR
+\fBATTRIBUTE\fR = \fI[space delimited list of attributes or ansi code \
+pattern]\fR
.SH "VARIABLES"
.TP
\fBNORMAL\fR = \fI"normal"\fR
@@ -54,10 +56,12 @@ Defines color used for world packages planned to be merged.
Defines color used for packages planned to be merged using a binary package.
.TP
\fBPKG_BINARY_MERGE_SYSTEM\fR = \fI"purple"\fR
-Defines color used for system packages planned to be merged using a binary package.
+Defines color used for system packages planned to be merged using a binary
+package.
.TP
\fBPKG_BINARY_MERGE_WORLD\fR = \fI"fuchsia"\fR
-Defines color used for world packages planned to be merged using a binary package.
+Defines color used for world packages planned to be merged using a binary
+package.
.TP
\fBPKG_NOMERGE\fR = \fI"darkblue"\fR
Defines color used for packages not planned to be merged.
@@ -185,14 +189,14 @@ Defines color used for warnings.
Please report bugs via http://bugs.gentoo.org/
.SH "AUTHORS"
.nf
-Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@gmail.com>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
.fi
.SH "FILES"
.TP
.B /etc/portage/color.map
Contains variables customizing colors.
.TP
-.B /etc/make.conf
+.B /etc/portage/make.conf
Contains other variables.
.SH "SEE ALSO"
.BR console_codes (4),
diff --git a/man/dispatch-conf.1 b/man/dispatch-conf.1
index b82c2152da7..3a5264a16e6 100644
--- a/man/dispatch-conf.1
+++ b/man/dispatch-conf.1
@@ -1,46 +1,36 @@
.TH "DISPATCH-CONF" "1" "Jan 2011" "Portage VERSION" "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
+.SH "NAME"
+dispatch\-conf \- Sanely update configuration files after emerging new packages
+.SH "SYNOPSIS"
+.B dispatch\-conf
+.SH "DESCRIPTION"
+\fIdispatch\-conf\fR 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, \fIdispatch\-conf\fR
+will prompt the user for a decision about how to resolve the discrepancy.
+Advantages of \fIdispatch\-conf\fR 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
+\fIdispatch\-conf\fR 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
+.SH "USAGE"
+\fIdispatch\-conf\fR must be run as root, since the config files to be
+replaced are generally owned by root. Before running \fIdispatch\-conf\fR
+for the first time the settings in \fB/etc/dispatch\-conf.conf\fR
+should be edited and the archive directory specified in
+\fB/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:
+When \fIdispatch\-conf\fR 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.
@@ -53,7 +43,7 @@ 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.
+Edit the new config file, using the editor defined in \fIEDITOR\fR.
.TP
.B m
Interactively merge the current and new config files.
@@ -63,17 +53,14 @@ 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).
+should be installed using the \fBu\fR command).
.TP
.B h
Display a help screen.
.TP
.B q
-Quit
-.I dispatch-conf.
-.SH FILE MODES
+Quit \fIdispatch\-conf\fR.
+.SH "FILE MODES"
\fBWARNING:\fR When \fB/etc/dispatch\-conf.conf\fR is configured
to use \fBrcs\fR(1), read and execute permissions of archived
files may be inherited from the first check in of a working file,
@@ -85,7 +72,7 @@ to RCS files by setting the permissions of the directory
containing the files.
.SH "REPORTING BUGS"
Please report bugs via http://bugs.gentoo.org/
-.SH AUTHORS
+.SH "AUTHORS"
.nf
Jeremy Wohl
Karl Trygve Kalleberg <karltk@gentoo.org>
@@ -94,8 +81,8 @@ Grant Goodyear <g2boojum@gentoo.org>
.fi
.SH "FILES"
.TP
-.B /etc/dispatch-conf.conf
-Configuration settings for \fIdispatch-conf\fR are stored here.
+.B /etc/dispatch\-conf.conf
+Configuration settings for \fIdispatch\-conf\fR are stored here.
.SH "SEE ALSO"
.BR make.conf (5),
.BR ci (1),
diff --git a/man/ebuild.1 b/man/ebuild.1
index e74779a66ae..29f88b02dd2 100644
--- a/man/ebuild.1
+++ b/man/ebuild.1
@@ -1,4 +1,4 @@
-.TH "EBUILD" "1" "Feb 2011" "Portage VERSION" "Portage"
+.TH "EBUILD" "1" "Mar 2013" "Portage VERSION" "Portage"
.SH "NAME"
ebuild \- a low level interface to the Portage system
.SH "SYNOPSIS"
@@ -19,11 +19,15 @@ This must be a valid ebuild script. For further information read
\fBebuild\fR(5).
.SH "COMMANDS"
By default, portage will execute all the functions in order up to the
-one actually specified. For example, simply issuing the command \fBcompile\fR
-will trigger the functions before it to also be run (such as \fBsetup\fR
-and \fBunpack\fR). If you wish to only have the specified command run, then
-you should use the \fInoauto\fR option in the \fBFEATURES\fR environment
-variable. See the \fBmake.conf\fR(5) man page for more information.
+one actually specified, except for the functions that have already been
+executed in a previous invocation of ebuild. For example, simply issuing the
+command \fBcompile\fR will trigger the functions before it to also be run (such
+as \fBsetup\fR and \fBunpack\fR), unless they were run in a previous invocation
+of ebuild. If you want to make sure they are all run, you need to use
+the command \fBclean\fR first. If you wish to only have the specified command
+run, then you should use the \fInoauto\fR option in the \fBFEATURES\fR
+environment variable. See the \fBmake.conf\fR(5) man page for more
+information.
.TP
.BR help
@@ -53,13 +57,13 @@ manually clean these files with \fIrm \-rf /var/tmp/portage\fR.
.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
+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
+just\-downloaded sources' checksums 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
@@ -74,7 +78,7 @@ for all of the files listed in SRC_URI for each ebuild. For further
information regarding the behavior of this command, see the documentation for
the \fIassume\-digests\fR value of the \fBFEATURES\fR variable in
\fBmake.conf\fR(5). See the \fB\-\-force\fR option if you would like to
-prevent digests from being assumed.
+prevent digests from being assumed.
.TP
.BR unpack
Extracts the sources to a subdirectory in the \fIbuild directory\fR
@@ -112,7 +116,7 @@ current working directory will be set to ${S}. When src_compile()
completes, the sources should be fully compiled.
.TP
.BR test
-Runs package-specific test cases to verify that everything was built
+Runs package-specific test cases to verify that everything was built
properly.
.TP
.BR preinst
@@ -135,8 +139,8 @@ shown here.
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
+are merged into the live filesystem, and the installed files'
+checksums are recorded in
\fI/var/db/pkg/${CATEGORY}/${PN}\-${PVR}/CONTENTS\fR. After
all the files have been merged, the \fIpkg_postinst()\fR function
(if specified) is executed.
@@ -150,7 +154,7 @@ 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
+Then it removes all files from the live filesystem that have a valid
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
@@ -179,7 +183,7 @@ tarball is created and stored in \fBPKGDIR\fR (see \fBmake.conf\fR(5)).
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 OPTIONS
+.SH "OPTIONS"
.TP
.BR "\-\-debug"
Run bash with the \-x option, causing it to output verbose debugging
@@ -212,7 +216,7 @@ Mike Frysinger <vapier@gentoo.org>
.fi
.SH "FILES"
.TP
-.B /etc/make.conf
+.B /etc/portage/make.conf
Contains variables for the build\-process and overwrites those
in make.globals.
.TP
@@ -224,6 +228,6 @@ Contains variables customizing colors.
.BR make.conf (5),
.BR color.map (5)
.TP
-The \fI/usr/sbin/ebuild.sh\fR script.
+The \fI/usr/lib/portage/bin/ebuild.sh\fR script.
.TP
The helper apps in \fI/usr/lib/portage/bin\fR.
diff --git a/man/ebuild.5 b/man/ebuild.5
index e9e718e0d7f..89bd6a2751b 100644
--- a/man/ebuild.5
+++ b/man/ebuild.5
@@ -1,57 +1,373 @@
-.TH "EBUILD" "5" "Dec 2011" "Portage VERSION" "Portage"
+.TH "EBUILD" "5" "Jan 2014" "Portage VERSION" "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. All
-ebuild scripts are written in bash.
-.SH "EXAMPLES"
-Here's a simple example ebuild:
+The \fBebuild\fR(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. All ebuild scripts are
+written in bash.
-.DS
+.SS "Dependencies"
+A \fIdepend atom\fR 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.
+.TP
+.B Atom Bases
+The base atom is just a full category/packagename.
+
+Examples:
.nf
-# Copyright 1999\-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
+.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.
-EAPI="4"
+Examples:
+.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
-inherit some_eclass another_eclass
+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 \fInot\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. The
+suffixes here can be arbitrarily chained without limitation.
+.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:
-DESCRIPTION="Super\-useful stream editor (sed)"
-HOMEPAGE="http://www.gnu.org/software/sed/sed.html"
-SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.gz"
+Examples:
+.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.
+.RS
+.TP
+.I ~
+means match any revision of the base version specified. So in the
+example below, we would match versions '1.0.2a', '1.0.2a\-r1', '1.0.2a\-r2',
+etc...
-LICENSE="GPL\-2"
-SLOT="0"
-KEYWORDS="~x86"
-IUSE=""
+Example:
+.nf
+ \fI~\fRnet\-libs/libnet\-1.0.2a
+.fi
+.TP
+.I !
+means block packages from being installed at the same time.
-RDEPEND=""
-DEPEND="nls? ( sys-devel/gettext )"
+Example:
+.nf
+ \fI!\fRapp\-text/dos2unix
+.fi
+.TP
+.I !!
+means block packages from being installed at the same time
+and explicitly disallow them from being temporarily installed
+simultaneously during a series of upgrades. This syntax is supported
+beginning with \fBEAPI 2\fR.
-src_configure() {
- econf \\
- \-\-bindir="${EPREFIX}"/bin
-}
+Example:
+.nf
+ \fI!!\fR<sys\-apps/portage\-2.1.4_rc1
+.fi
+.TP
+.I *
+means match any version of the package so long
+as the specified string prefix 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...
+Beware that, due to the string matching nature, '20'
+will also be matched by '2*'. The version part
+that comes before the '*' must be a valid version in the absence of the '*'.
+For example, '2' is a valid version and '2.' is not. Therefore, '2*' is
+allowed and '2.*' is not.
-src_install() {
- emake DESTDIR="${D}" install
- dodoc NEWS README* THANKS AUTHORS BUGS ChangeLog
-}
+Examples:
+.nf
+ =dev\-libs/glib\-2\fI*\fR
+ \fI!\fR=net\-fs/samba\-2\fI*\fR
+.fi
+.RE
+.TP
+.B Atom Slots
+Beginning with \fBEAPI 1\fR, any atom can be constrained to match a specific
+\fBSLOT\fR. This is accomplished by appending a colon followed by a
+\fBSLOT\fR:
+
+Examples:
+.nf
+ x11\-libs/qt:3
+ \fI~\fRx11\-libs/qt-3.3.8:3
+ \fI>=\fRx11\-libs/qt-3.3.8:3
+ \fI=\fRx11\-libs/qt-3.3*:3
+.fi
+.TP
+.B Sub Slots
+Beginning with \fBEAPI 5\fR, a slot dependency may contain an
+optional sub\-slot part that follows the regular slot and is
+delimited by a \fI/\fR character.
+
+Examples:
+.nf
+ dev\-libs/icu:0/0
+ dev\-libs/icu:0/49
+ dev\-lang/perl:0/5.12
+ dev\-libs/glib:2/2.30
+.fi
+.TP
+.B Atom Slot Operators
+Beginning with \fBEAPI 5\fR, slot operator dependency consists
+of a colon followed by one of the following operators:
+.RS
+.TP
+.I *
+Indicates that any slot value is acceptable. In addition,
+for runtime dependencies, indicates that the package will not
+break if the matched package is uninstalled and replaced by
+a different matching package in a different slot.
+
+Examples:
+.nf
+ dev\-libs/icu:*
+ dev\-lang/perl:*
+ dev-libs/glib:*
+.fi
+.TP
+.I =
+Indicates that any slot value is acceptable. In addition,
+for runtime dependencies, indicates that the package will
+break unless a matching package with slot and sub\-slot equal
+to the slot and sub\-slot of the best installed version at the
+time the package was installed is available.
+
+Examples:
+.nf
+ dev\-libs/icu:=
+ dev\-lang/perl:=
+ dev-libs/glib:=
+.fi
+.TP
+.I slot=
+Indicates that only a specific slot value is acceptable, and
+otherwise behaves identically to the plain equals slot operator.
+
+Examples:
+.nf
+ dev\-libs/icu:0=
+ dev\-lang/perl:0=
+ dev-libs/glib:2=
.fi
+.PP
+To implement the equals slot operator, the package manager
+will need to store the slot/sub\-slot pair of the best installed
+version of the matching package. This syntax is only for package
+manager use and must not be used by ebuilds. The package manager
+may do this by inserting the appropriate slot/sub\-slot pair
+between the colon and equals sign when saving the package's
+dependencies. The sub\-slot part must not be omitted here
+(when the SLOT variable omits the sub\-slot part, the package
+is considered to have an implicit sub\-slot which is equal to
+the regular slot).
+
+Examples:
+.nf
+ dev\-libs/icu:0/0=
+ dev\-libs/icu:0/49=
+ dev\-lang/perl:0/5.12=
+ dev-libs/glib:2/2.30=
+.fi
+.RE
+.TP
+.B Atom USE
+Beginning with \fBEAPI 2\fR, any atom can be constrained to match specific
+\fBUSE\fR flag settings. When used together with \fBSLOT\fR dependencies,
+\fBUSE\fR dependencies appear on the right hand side of \fBSLOT\fR
+dependencies.
+.RS
+.TP
+.B Unconditional USE Dependencies
+.TS
+l l
+__
+l l.
+Example Meaning
+foo[bar] foo must have bar enabled
+foo[bar,baz] foo must have both bar and baz enabled
+foo[\-bar,baz] foo must have bar disabled and baz enabled
+.TE
+.TP
+.B Conditional USE Dependencies
+.TS
+l l
+__
+l l.
+Compact Form Equivalent Expanded Form
+foo[bar?] bar? ( foo[bar] ) !bar? ( foo )
+foo[!bar?] bar? ( foo ) !bar? ( foo[\-bar] )
+foo[bar=] bar? ( foo[bar] ) !bar? ( foo[\-bar] )
+foo[!bar=] bar? ( foo[\-bar] ) !bar? ( foo[bar] )
+.TE
+.RE
+.TP
+.B Atom USE defaults
+Beginning with \fBEAPI 4\fR, \fBUSE\fR dependencies may specify default
+assumptions about values for flags that may or may not be missing from
+the \fBIUSE\fR of the matched package. Such defaults are specified by
+immediately following a flag with either \fI(+)\fR or \fI(\-)\fR. Use
+\fI(+)\fR to behave as if a missing flag is present and enabled, or
+\fI(\-)\fR to behave as if it is present and disabled:
+
+Examples:
+.nf
+ media\-video/ffmpeg[threads(+)]
+ media\-video/ffmpeg[-threads(\-)]
+.fi
+.TP
+.B Dynamic Dependencies
+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? ( Atom )
+To include the jpeg library when the user has jpeg in \fBUSE\fR, simply use the
+following syntax:
+
+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:
+
+!nophysfs? ( dev\-games/physfs )
+
+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:
+
+gtk2? ( =x11\-libs/gtk+\-2* ) !gtk2? ( =x11\-libs/gtk+\-1* )
+
+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.
+
+Example:
+.nf
+|| (
+ app\-games/unreal\-tournament
+ app\-games/unreal\-tournament\-goty
+)
+.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.
+
+Another good example is when a package can be built with multiple video
+interfaces, but it can only ever have just one.
+
+Example:
+.nf
+|| (
+ sdl? ( media\-libs/libsdl )
+ svga? ( media\-libs/svgalib )
+ opengl? ( virtual/opengl )
+ ggi? ( media\-libs/libggi )
+ virtual/x11
+)
+.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.
+
+Note that if any of the packages listed are already merged, the package manager
+will use that to consider the dependency satisfied.
+
+.SS "Cross-compilation"
+Portage supports cross-compilation into a subdirectory specified by \fBROOT\fR.
+.TP
+.B Host
+\fIHost\fR in this context means the platform hosting the build process, i.e.
+what autotools calls CBUILD.
+Its packages are contained in the root of the filesystem ("\fI/\fR").
+
+If \fBROOT\fR is "\fI/\fR", all dependency types will be installed there.
+Otherwise, for EAPIs that support \fBHDEPEND\fR (experimental
+\fBEAPI 5-hdepend\fR), only \fBHDEPEND\fR is installed into "\fI/\fR".
+For EAPIs that do not support \fBHDEPEND\fR, the behaviour is controlled by the
+\fI\-\-root-deps\fR flag to \fBemerge\fR(1), defaulting to install only
+\fBDEPEND\fR into the \fIhost\fR.
+.TP
+.B Target
+\fITarget\fR refers to the platform that the package will later run on, i.e.
+what autotools calls CHOST.
+The directory housing this system is specified by \fBROOT\fR.
+If it is different from "\fI/\fR", i.e. \fIhost\fR and \fItarget\fR are not the
+same, this variable contains the path to the directory housing the \fItarget\fR
+system.
+
+For EAPIs that support \fBHDEPEND\fR (experimental \fBEAPI 5-hdepend\fR),
+\fBDEPEND\fR, \fBRDEPEND\fR, and \fBPDEPEND\fR
+list the \fItarget\fR dependencies, i.e. those to be installed into \fBROOT\fR.
+For EAPIs that do not support \fBHDEPEND\fR, the \fBemerge\fR(1) flag
+\fI\-\-root-deps\fR controls what the package manager installs there.
+Without it, \fBemerge\fR defaults to install only runtime dependencies (i.e.
+\fBRDEPEND\fR and \fBPDEPEND\fR) into \fBROOT\fR.
+.PP
+See section \fBVARIABLES\fR for more information about the \fBDEPEND\fR,
+\fBRDEPEND\fR and \fBHDEPEND\fR variables.
+.TP
+.B The targetroot USE flag
+For EAPIs that support the "\fItargetroot\fR" USE flag, that flag is
+automatically enabled by the package manager if \fIhost\fR and \fItarget\fR
+system are not the same, i.e. if the \fBROOT\fR is not "\fI/\fR".
+This is necessary where the package to be built needs an executable copy of
+itself during the build process.
+A known example is dev-lang/python, which needs to run a Python interpreter
+during compilation.
+
.SH "VARIABLES"
.TP
-.B MISC USAGE NOTES
-\- All variables defined in \fBmake.conf\fR(5) are available for use in
-ebuilds (such as the PORTAGE* and PORTDIR* variables)
+.B Usage Notes
+\- Variables defined in \fBmake.conf\fR(5) are available for use in
+ebuilds (except Portage\-specific variables, which might be not supported by
+other package managers).
.br
-\- When assigning values to variables in ebuilds, you \fBcannot have a
+\- When assigning values to variables in ebuilds, you \fIcannot have a
space\fR between the variable name and the equal sign.
.br
\- Variable values should only contain characters that are members of the
@@ -60,47 +376,57 @@ space\fR between the variable name and the equal sign.
.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'
+
+xfree\-4.2.1\-r2.ebuild \-\-> $P=='xfree\-4.2.1'
.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'
+
+xfree\-4.2.1\-r2.ebuild \-\-> $PN=='xfree'
.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'
+
+xfree\-4.2.1\-r2.ebuild \-\-> $PV=='4.2.1'
.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'
+
+xfree\-4.2.1\-r2.ebuild \-\-> $PR=='r2'
.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'
+
+xfree\-4.2.1\-r2.ebuild \-\-> $PVR=='4.2.1\-r2'
.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'
+Contains the full package name \fBPN\fR\-\fBPVR\fR
+
+xfree\-4.2.1\-r2.ebuild \-\-> $PF=='xfree\-4.2.1\-r2'
.TP
.B CATEGORY
Contains the package category name.
.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 variable.
+not be defined. It is autogenerated from the \fBSRC_URI\fR variable.
.TP
-\fBWORKDIR\fR = \fI"${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/work"\fR
+.B WORKDIR\fR = \fI"${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/work"
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.
+.B FILESDIR\fR = \fI"${repository_location}/${CATEGORY}/${PN}/files"
+Contains the path to the 'files' subdirectory in the package specific
+location in given repository. Do not modify this variable.
+.TP
+.B EBUILD_PHASE
+Contains the abreviated name of the phase function that is
+currently executing, such as "setup", "unpack", "compile", or
+"preinst".
+.TP
+.B EBUILD_PHASE_FUNC
+Beginning with \fBEAPI 5\fR, contains the full name of the phase
+function that is currently executing, such as "pkg_setup",
+"src_unpack", "src_compile", or "pkg_preinst".
.TP
.B EPREFIX
Beginning with \fBEAPI 3\fR, contains the offset
@@ -110,17 +436,17 @@ and is available in such cases as ${EPREFIX}. EPREFIX does not contain
a trailing slash, therefore an absent offset is represented by the empty
string. Do not modify this variable.
.TP
-\fBS\fR = \fI"${WORKDIR}/${P}"\fR
+.B S\fR = \fI"${WORKDIR}/${P}"
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/${CATEGORY}/${PF}/temp"\fR
+.B T\fR = \fI"${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/temp"
Contains the path to a \fItemporary directory\fR. You may use this for
whatever you like.
.TP
-\fBD\fR = \fI"${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/image/"\fR
+.B D\fR = \fI"${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/image/"
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}.
@@ -129,12 +455,12 @@ to be taken into account here, for which the variable
${ED} is provided (see below).
Do not modify this variable.
.TP
-\fBED\fT = \fI"${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/image/${EPREFIX}/"\fR
+.B ED\fR = \fI"${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/image/${EPREFIX}/"
Beginning with \fBEAPI 3\fR, contains the path
"${D%/}${EPREFIX}/" for convenience purposes.
-For \fBEAPI\fR values prior to \fBEAPI 3\fR which do
-not support \fB${ED}\fR, helpers use \fB${D}\fR where
-they would otherwise use \fB${ED}\fR.
+For EAPI values prior to \fBEAPI 3\fR which do
+not support ED, helpers use \fBD\fR where
+they would otherwise use ED.
Do not modify this variable.
.TP
.B MERGE_TYPE
@@ -148,7 +474,6 @@ l l
__
l l.
Value Meaning
-
binary previously\-built which is scheduled for merge
buildonly source\-build which is not scheduled for merge
source source\-build which is scheduled for merge
@@ -157,7 +482,7 @@ source source\-build which is scheduled for merge
.TP
.B PORTAGE_LOG_FILE
Contains the path of the build log. If \fBPORT_LOGDIR\fR variable is unset then
-\fBPORTAGE_LOG_FILE\fR=\fB"${T}/build.log"\fR.
+PORTAGE_LOG_FILE=\fI"${T}/build.log"\fR.
.TP
.B REPLACED_BY_VERSION
Beginning with \fBEAPI 4\fR, the REPLACED_BY_VERSION variable can be
@@ -176,22 +501,22 @@ to the package version(s) being replaced. Typically, this variable will
not contain more than one version, but according to PMS it can contain
more.
.TP
-\fBROOT\fR = \fI"/"\fR
+.B ROOT\fR = \fI"/"
Contains the path that portage should use as the root of the live filesystem.
When packages wish to make changes to the live filesystem, they should do so in
the tree prefixed by ${ROOT}. Often the offset prefix needs to be taken
into account here, for which the variable ${EROOT} is provided (see
below). Do not modify this variable.
.TP
-\fBEROOT\fR = \fI"${ROOT%/}${EPREFIX}/"\fR
+.B EROOT\fR = \fI"${ROOT%/}${EPREFIX}/"
Beginning with \fBEAPI 3\fR, contains
"${ROOT%/}${EPREFIX}/" for convenience
purposes. Do not modify this variable.
.TP
-\fBDESCRIPTION\fR = \fI"A happy little package"\fR
+.B DESCRIPTION\fR = \fI"A happy little package"
Should contain a short description of the package.
.TP
-\fBEAPI\fR = \fI"0"\fR
+.B EAPI\fR = \fI"0"
Defines the ebuild API version to which this package conforms. If not
defined then it defaults to "0". If portage does not recognize the
EAPI value then it will mask the package and refuse to perform any
@@ -202,7 +527,7 @@ who uses the \fBebuild\fR(1) and \fBrepoman\fR(1) commands with this
package will be required to have a version of portage that recognizes
the EAPI to which this package conforms.
.TP
-\fBSRC_URI\fR = \fI"http://example.com/path/${P}.tar.gz"\fR
+.B SRC_URI\fR = \fI"http://example.com/path/${P}.tar.gz"
Contains a list of URIs for the required source files. It can contain
multiple URIs for a single source file. The list is processed in order
if the file was not found on any of the \fIGENTOO_MIRRORS\fR.
@@ -211,11 +536,11 @@ customized with a "->" operator on the right hand side, followed by the
desired output file name. All tokens, including the operator and output
file name, should be separated by whitespace.
.TP
-\fBHOMEPAGE\fR = \fI"http://example.com/"\fR
+.B HOMEPAGE\fR = \fI"http://example.com/"
Should contain a list of URIs for the sources main sites and other further
package dependent information.
.TP
-\fBKEYWORDS\fR = \fI[\-~][x86,ppc,sparc,mips,alpha,arm,hppa]\fR
+.B KEYWORDS\fR = \fI[\-~][x86,ppc,sparc,mips,alpha,arm,hppa]
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
@@ -226,19 +551,31 @@ 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. Please keep this list in alphabetical order.
.TP
-\fBSLOT\fR
+.B SLOT
This sets the SLOT for packages that may need to have multiple versions
co\-exist. By default you should set \fBSLOT\fR="0". If you are unsure, then
do not fiddle with this until you seek some guidance from some guru. This
value should \fINEVER\fR be left undefined.
-.TP
-\fBLICENSE\fR
+
+Beginning with \fBEAPI 5\fR, the SLOT variable may contain
+an optional sub\-slot part that follows the regular slot and
+is delimited by a / character. The sub\-slot must be a valid
+slot name. The sub\-slot is used to represent cases in which
+an upgrade to a new version of a package with a different
+sub\-slot may require dependent packages to be rebuilt. When
+the sub\-slot part is omitted from the SLOT definition, the
+package is considered to have an implicit sub\-slot which is
+equal to the regular slot. Refer to the \fBAtom Slot
+Operators\fR section for more information about sub\-slot
+usage.
+.TP
+.B LICENSE
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
+.B IUSE
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). Beginning with \fBEAPI 1\fR, it
@@ -250,237 +587,51 @@ negative IUSE default settings are effective only for negation of
repo\-level USE settings, since profile and user configuration settings
override them.
.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:
+.B DEPEND
+This should contain a list of all packages that are required for the program
+to compile (aka \fIbuildtime\fR dependencies). These are usually libraries and
+headers.
-.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:
+Starting from experimental \fBEAPI 5-hdepend\fR, tools should go into the
+\fBHDEPEND\fR variable instead, as \fBDEPEND\fR will only be installed into the
+\fItarget\fR system and hence cannot be executed in a cross\-compile setting.
+(See section \fBCross\-compilation\fR for more information.)
-.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. The
-suffixes here can be arbitrarily chained without limitation.
+You may use the syntax described above in the \fBDependencies\fR section.
.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!!\fR<sys\-apps/portage\-2.1.4_rc1\fI\fR
-.fi
-
-\fI!\fR means block packages from being installed at the same time.
-.br
-\fI!!\fR means block packages from being installed at the same time
-and explicitly disallow them from being temporarily installed
-simultaneously during a series of upgrades. This syntax is supported
-beginning with \fBEAPI 2\fR.
-.br
-\fI*\fR means match any version of the package so long
-as the specified string prefix 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...
-Beware that, due to the string matching nature, '20'
-will also be matched by '2*'. The version part
-that comes before the '*' must be a valid version in the absence of the '*'.
-For example, '2' is a valid version and '2.' is not. Therefore, '2*' is
-allowed and '2.*' is not.
-.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...
-.TP
-.B Atom Slots
-Beginning with \fBEAPI 1\fR, any atom can be constrained to match a specific
-\fBSLOT\fR. This is accomplished by appending a colon followed by a
-\fBSLOT\fR:
+.B RDEPEND
+This should contain a list of all packages that are required for this
+program to run (aka \fIruntime\fR dependencies). These are usually libraries.
-.nf
-x11\-libs/qt:3
-\fI~\fRx11\-libs/qt-3.3.8:3
-\fI>=\fRx11\-libs/qt-3.3.8:3
-\fI=\fRx11\-libs/qt-3.3*:3
-.fi
-.TP
-.B Atom USE
-Beginning with \fBEAPI 2\fR, any atom can be constrained to match specific
-\fBUSE\fR flag settings. When used together with \fBSLOT\fR dependencies,
-\fBUSE\fR dependencies appear on the right hand side of \fBSLOT\fR
-dependencies.
+In \fBEAPI 3\fR or earlier, if this is not set, then it defaults to the value
+of \fBDEPEND\fR. In \fBEAPI 4\fR or later, \fBRDEPEND\fR will never be
+implicitly set.
-.RS
+You may use the syntax described above in the \fBDependencies\fR section.
.TP
-.B Unconditional USE Dependencies
-.TS
-l l
-__
-l l.
-Example Meaning
+.B HDEPEND
+This should contain a list of all packages that are required to be executable
+during compilation of this program (aka \fIhost\fR buildtime dependencies).
+These are usually tools, like interpreters or (cross\-)compilers.
-foo[bar] foo must have bar enabled
-foo[bar,baz] foo must have both bar and baz enabled
-foo[\-bar,baz] foo must have bar disabled and baz enabled
-.TE
+This variable is new in experimental \fBEAPI 5-hdepend\fR and will be installed
+into the \fIhost\fR system.
+(See section \fBCross-compilation\fR for more information.)
+You may use the syntax described above in the \fBDependencies\fR section.
.TP
-.B Conditional USE Dependencies
-.TS
-l l
-__
-l l.
-Compact Form Equivalent Expanded Form
+.B PDEPEND
+This should contain a list of all packages that should be merged after this
+one (aka \fIpost\fR merge dependencies), but which may be installed by the
+package manager at any time, if that is not possible.
-foo[bar?] bar? ( foo[bar] ) !bar? ( foo )
-foo[!bar?] bar? ( foo ) !bar? ( foo[\-bar] )
-foo[bar=] bar? ( foo[bar] ) !bar? ( foo[\-bar] )
-foo[!bar=] bar? ( foo[\-bar] ) !bar? ( foo[bar] )
-.TE
-.RE
-.TP
-.B Atom USE defaults
-Beginning with \fBEAPI 4\fR, \fBUSE\fR dependencies may specify default
-assumptions about values for flags that may or may not be missing from
-the \fBIUSE\fR of the matched package. Such defaults are specified by
-immediately following a flag with either \fB(+)\fR or \fB(\-)\fR. Use
-\fB(+)\fR to behave as if a missing flag is present and enabled, or
-\fB(\-)\fR to behave as if it is present and disabled:
-
-.RS
-.nf
-media\-video/ffmpeg[threads(+)]
-media\-video/ffmpeg[-threads(\-)]
-.fi
-.RE
-.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.
+.B ***WARNING***
.br
-Note that if any of the packages listed are already merged, the package manager
-will use that to consider the dependency satisfied.
-.RE
+Use this only as last resort to break cyclic dependencies!
-.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 in \fBEAPI 3\fR
-or earlier, then it defaults to the value of \fBDEPEND\fR. In
-\fBEAPI 4\fR or later, \fBRDEPEND\fR will never be implicitly set.
-.br
-You may use the same syntax to vary dependencies as seen above in \fBDEPEND\fR.
+You may use the syntax described above in the \fBDependencies\fR section.
.TP
-\fBPDEPEND\fR
-This should contain a list of all packages that should be merged after this one,
-but may be merged before if need be.
-.br
-You may use the same syntax to vary dependencies as seen above in \fBDEPEND\fR.
-.TP
-\fBREQUIRED_USE\fR
+.B REQUIRED_USE
Beginning with \fBEAPI 4\fR, the \fBREQUIRED_USE\fR variable can be
used to specify combinations of \fBUSE\fR flags that are allowed
or not allowed. Elements can be nested when necessary.
@@ -489,16 +640,16 @@ l l
__
l l.
Behavior Expression
-
If flag1 enabled then flag2 disabled flag1? ( !flag2 )
If flag1 enabled then flag2 enabled flag1? ( flag2 )
If flag1 disabled then flag2 enabled !flag1? ( flag2 )
If flag1 disabled then flag2 disabled !flag1? ( !flag2 )
Must enable any one or more (inclusive or) || ( flag1 flag2 flag3 )
Must enable exactly one but not more (exclusive or) ^^ ( flag1 flag2 flag3 )
+May enable at most one (EAPI 5 or later) ?? ( flag1 flag2 flag3 )
.TE
.TP
-\fBRESTRICT\fR = \fI[strip,mirror,fetch,userpriv]\fR
+.B RESTRICT\fR = \fI[strip,mirror,fetch,userpriv]
This should be a space delimited list of portage features to restrict.
You may use conditional syntax to vary restrictions as seen above in DEPEND.
.PD 0
@@ -524,9 +675,19 @@ binaries that are not compatible with debugedit.
.I mirror
files in \fBSRC_URI\fR will not be downloaded from the \fBGENTOO_MIRRORS\fR.
.TP
+.I preserve\-libs
+Disables preserve\-libs for specific packages. Note than when a package is
+merged, RESTRICT=preserve\-libs applies if either the new instance or the
+old instance sets RESTRICT=preserve\-libs.
+.TP
.I primaryuri
fetch from URIs in \fBSRC_URI\fR before \fBGENTOO_MIRRORS\fR.
.TP
+.I splitdebug
+Disables splitdebug for specific packages. This is for packages with
+binaries that trigger problems with splitdebug, such as file\-collisions
+between symlinks in /usr/lib/debug/.build-id (triggered by bundled libraries).
+.TP
.I strip
final binaries/libraries will not be stripped of debug symbols.
.TP
@@ -538,7 +699,7 @@ Disables userpriv for specific packages.
.RE
.PD 1
.TP
-\fBPROPERTIES\fR = \fI[interactive]\fR
+.B PROPERTIES\fR = \fI[interactive]
A space delimited list of properties, with conditional syntax support.
.PD 0
.RS
@@ -548,30 +709,35 @@ One or more ebuild phases will produce a prompt that requires user interaction.
.RE
.PD 1
.TP
-\fBPROVIDE\fR = \fI"virtual/TARGET"\fR
+.B PROVIDE\fR = \fI"virtual/TARGET"
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.
+
+The \fBPROVIDE\fR variable has been deprecated. See
+\fIhttp://www.gentoo.org/proj/en/glep/glep-0037.html\fR for details.
+
.TP
-\fBDOCS\fR
+.B DOCS
Beginning with \fBEAPI 4\fR, an array or space\-delimited list of documentation
files for the default src_install function to install using dodoc. If
undefined, a reasonable default list is used. See the documentation for
src_install below.
-.SH "QA CONTROL VARIABLES"
+
+.SS "QA Control Variables:"
.TP
-.B USAGE NOTES
+.B Usage Notes
Several QA variables are provided which allow an ebuild to manipulate some
of the QA checks performed by portage. Use of these variables in ebuilds
should be kept to an absolute minimum otherwise they defeat the purpose
of the QA checks, and their use is subject to agreement of the QA team.
They are primarily intended for use by ebuilds that install closed\-source
binary objects that cannot be altered.
-.br
+
Note that objects that violate these rules may fail on some architectures.
.TP
-\fBQA_PREBUILT\fR
+.B QA_PREBUILT
This should contain a list of file paths, relative to the image
directory, of files that are pre\-built binaries. Paths
listed here will be appended to each of the QA_* variables
@@ -581,65 +747,78 @@ the QA_* variables that support regular expressions instead
of fnmatch patterns. The translation mechanism simply replaces
"*" with ".*".
.TP
-\fBQA_TEXTRELS\fR
+.B QA_TEXTRELS
This variable can be set to a list of file paths, relative to the image
directory, of files that contain text relocations that cannot be eliminated.
The paths may contain fnmatch patterns.
-.br
+
This variable is intended to be used on closed\-source binary objects that
cannot be altered.
.TP
-\fBQA_EXECSTACK\fR
+.B QA_EXECSTACK
This should contain a list of file paths, relative to the image directory, of
objects that require executable stack in order to run.
The paths may contain fnmatch patterns.
-.br
+
This variable is intended to be used on objects that truly need executable
stack (i.e. not those marked to need it which in fact do not).
.TP
-\fBQA_WX_LOAD\fR
+.B QA_WX_LOAD
This should contain a list of file paths, relative to the image directory, of
files that contain writable and executable segments. These are rare.
The paths may contain fnmatch patterns.
.TP
-\fBQA_FLAGS_IGNORED\fR
+.B QA_FLAGS_IGNORED
This should contain a list of file paths, relative to the image directory, of
files that do not contain .GCC.command.line sections or contain .hash sections.
-The paths may contain regular expressions with escape\-quoted special characters.
-.br
+The paths may contain regular expressions with escape\-quoted special
+characters.
+
This variable is intended to be used on files of binary packages which ignore
CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, and LDFLAGS variables.
.TP
-.TP
-\fBQA_DT_HASH\fR
+.B QA_MULTILIB_PATHS
This should contain a list of file paths, relative to the image directory, of
-files that contain .hash sections. The paths may contain regular expressions
-with escape\-quoted special characters. This variable is deprecated. Use
-\fBQA_FLAGS_IGNORED\fR instead.
-.br
-This variable is intended to be used on files of binary packages which ignore
-LDFLAGS variable.
+files that should be ignored for the multilib\-strict checks.
+The paths may contain regular expressions with escape\-quoted special
+characters.
.TP
-\fBQA_PRESTRIPPED\fR
+.B QA_PRESTRIPPED
This should contain a list of file paths, relative to the image directory, of
files that contain pre-stripped binaries. The paths may contain regular
expressions with escape\-quoted special characters.
.TP
-\fBQA_SONAME\fR
+.B QA_SONAME
This should contain a list of file paths, relative to the image directory, of
shared libraries that lack SONAMEs. The paths may contain regular expressions
with escape\-quoted special characters.
.TP
-\fBQA_SONAME_NO_SYMLINK\fR
+.B QA_SONAME_NO_SYMLINK
This should contain a list of file paths, relative to the image directory, of
shared libraries that have SONAMEs but should not have a corresponding SONAME
symlink in the same directory. The paths may contain regular expressions
with escape\-quoted special characters.
.TP
-\fBQA_DT_NEEDED\fR
+.B QA_AM_MAINTAINER_MODE
+This should contain a list of lines containing automake missing \-\-run
+commands. The lines may contain regular expressions with escape\-quoted
+special characters.
+.TP
+.B QA_CONFIGURE_OPTIONS
+This should contain a list of configure options which trigger warnings about
+unrecognized options. The options may contain regular expressions with
+escape\-quoted special characters.
+.TP
+.B QA_DT_NEEDED
This should contain a list of file paths, relative to the image directory, of
shared libraries that lack NEEDED entries. The paths may contain regular
expressions with escape\-quoted special characters.
+.TP
+.B QA_DESKTOP_FILE
+This should contain a list of file paths, relative to the image directory, of
+desktop files which should not be validated. The paths may contain regular
+expressions with escape\-quoted special characters.
+
.SH "PORTAGE DECLARATIONS"
.TP
.B inherit
@@ -652,6 +831,7 @@ ebuild. Specification of the eclasses contains only their name and not the
\fI.eclass\fR extension. Also note that the inherit statement must come
before other variable declarations unless these variables are used in global
scope of eclasses.
+
.SH "PHASE FUNCTIONS"
.TP
.B pkg_pretend
@@ -664,9 +844,10 @@ is used to execute pkg_pretend is not saved and therefore is not
available in phases that execute afterwards.
.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
+This function will be executed when the files in \fBSRC_URI\fR
+cannot be fetched for any reason. If you turn on \fIfetch\fR in
+\fBRESTRICT\fR, this is 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
@@ -674,45 +855,48 @@ end the function with a call to \fBdie\fR.
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}.
+Initial working directory: $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.
+Initial working directory: $WORKDIR
.TP
.B src_prepare
All preparation of source code, such as application of patches, should be done
here. This function is supported beginning with \fBEAPI 2\fR.
.br
-Initial working directory of $S.
+Initial working directory: $S
.TP
.B src_configure
All necessary steps for configuration should be done here. This function is
supported beginning with \fBEAPI 2\fR.
.br
-Initial working directory of $S.
+Initial working directory: $S
.TP
.B src_compile
With less than \fBEAPI 2\fR, all necessary steps for both configuration and
compilation should be done here. Beginning with \fBEAPI 2\fR, only compilation
steps should be done here.
.br
-Initial working directory of $S.
+Initial working directory: $S
.TP
.B src_test
-Run all package specific test cases. The default is to run 'make check'
-followed 'make test'.
+Run all package specific test cases. The default is to run
+\'emake check\' followed \'emake test\'. Prior to \fBEAPI 5\fR,
+the default src_test implementation will automatically pass the
+\-j1 option as the last argument to emake, and beginning with
+\fBEAPI 5\fR it will allow the tests to run in parallel.
.br
-Initial working directory of $S.
+Initial working directory: $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.
+Initial working directory: $S
Beginning with \fBEAPI 4\fR, if src_install is undefined then the
following default implementation is used:
@@ -742,18 +926,20 @@ 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.
+Initial working directory: $PWD
.TP
.B pkg_prerm pkg_postrm
Like the pkg_*inst functions but for unmerge.
.br
-Initial working directory of $PWD.
+Initial working directory: $PWD
.TP
.B pkg_config
This function should contain optional basic configuration steps.
.br
-Initial working directory of $PWD.
-.SH "HELPER FUNCTIONS: PHASES"
+Initial working directory: $PWD
+
+.SH "HELPER FUNCTIONS"
+.SS "Phases:"
.TP
.B default
Calls the default phase function implementation for the currently executing
@@ -772,7 +958,6 @@ l
_
l.
Default Phase Functions
-
default_pkg_nofetch
default_src_unpack
default_src_prepare
@@ -781,9 +966,10 @@ default_src_compile
default_src_test
.TE
.RE
-.SH "HELPER FUNCTIONS: GENERAL"
+
+.SS "General:"
.TP
-\fBdie\fR \fI[reason]\fR
+.B die\fR \fI[reason]
Causes the current emerge process to be aborted. The final display will
include \fIreason\fR.
@@ -791,11 +977,11 @@ Beginning with \fBEAPI 4\fR, all helpers automatically call \fBdie\fR
whenever some sort of error occurs. Helper calls may be prefixed with
the \fBnonfatal\fR helper in order to prevent errors from being fatal.
.TP
-\fBnonfatal\fR \fI<helper>\fR
+.B nonfatal\fR \fI<helper>
Execute \fIhelper\fR and \fIdo not\fR call die if it fails.
The \fBnonfatal\fR helper is available beginning with \fBEAPI 4\fR.
.TP
-\fBuse\fR \fI<USE item>\fR
+.B use\fR \fI<USE item>
If \fIUSE item\fR is in the \fBUSE\fR variable, the function will silently
return 0 (aka shell true). If \fIUSE item\fR is not in the \fBUSE\fR
variable, the function will silently return 1 (aka shell false). \fBusev\fR
@@ -817,17 +1003,26 @@ fi
.fi
.RE
.TP
-\fBuse_with\fR \fI<USE item>\fR \fI[configure name]\fR \fI[configure opt]\fR
+.B usev\fR \fI<USE item>
+Like \fBuse\fR, but also echoes \fIUSE item\fR when \fBuse\fR returns true.
+.TP
+.B usex\fR \fI<USE flag>\fR \fI[true output]\fR \fI[false output]\fR \fI[true \
+suffix]\fR \fI[false suffix]
+If USE flag is set, echo [true output][true suffix] (defaults to
+"yes"), otherwise echo [false output][false suffix] (defaults to
+"no"). The usex helper is available beginning with \fBEAPI 5\fR.
+.TP
+.B use_with\fR \fI<USE item>\fR \fI[configure name]\fR \fI[configure opt]
Useful for creating custom options to pass to a configure script. If \fIUSE
item\fR is in the \fBUSE\fR variable and a \fIconfigure opt\fR is specified,
-then the string \fI\-\-with\-[configure name]=[configure opt]\fR will be echoed.
-If \fIconfigure opt\fR is not specified, then just \fI\-\-with\-[configure
-name]\fR will be echoed. If \fIUSE item\fR is not in the \fBUSE\fR variable,
-then the string \fI\-\-without\-[configure name]\fR will be echoed. If
-\fIconfigure name\fR is not specified, then \fIUSE item\fR will be used in
-its place. Beginning with \fBEAPI 4\fR, an empty \fIconfigure opt\fR argument
-is recognized. In \fBEAPI 3\fR and earlier, an empty \fIconfigure opt\fR
-argument is treated as if it weren't provided.
+then the string \fI\-\-with\-[configure name]=[configure opt]\fR will be
+echoed. If \fIconfigure opt\fR is not specified, then just
+\fI\-\-with\-[configure name]\fR will be echoed. If \fIUSE item\fR is not in
+the \fBUSE\fR variable, then the string \fI\-\-without\-[configure name]\fR
+will be echoed. If \fIconfigure name\fR is not specified, then \fIUSE item\fR
+will be used in its place. Beginning with \fBEAPI 4\fR, an empty \fIconfigure
+opt\fR argument is recognized. In \fBEAPI 3\fR and earlier, an empty
+\fIconfigure opt\fR argument is treated as if it weren't provided.
.RS
.TP
.I Examples:
@@ -850,88 +1045,96 @@ myconf=$(use_with sdl SDL all\-plugins)
.fi
.RE
.TP
-\fBuse_enable\fR \fI<USE item>\fR \fI[configure name]\fR \fI[configure opt]\fR
+.B use_enable\fR \fI<USE item>\fR \fI[configure name]\fR \fI[configure opt]
Same as \fBuse_with\fR above, except that the configure options are
-\fI\-\-enable\-\fR instead of \fI\-\-with\-\fR and \fI\-\-disable\-\fR instead of
-\fI\-\-without\-\fR. Beginning with \fBEAPI 4\fR, an empty \fIconfigure opt\fR
-argument is recognized. In \fBEAPI 3\fR and earlier, an empty
+\fI\-\-enable\-\fR instead of \fI\-\-with\-\fR and \fI\-\-disable\-\fR instead
+of \fI\-\-without\-\fR. Beginning with \fBEAPI 4\fR, an empty \fIconfigure
+opt\fR argument is recognized. In \fBEAPI 3\fR and earlier, an empty
\fIconfigure opt\fR argument is treated as if it weren't provided.
.TP
-\fBhasv\fR \fI<item>\fR \fI<item list>\fR
-If \fIitem\fR is in \fIitem list\fR, then \fIitem\fR is echoed and \fBhasv\fR
-returns 0. Otherwise, nothing is echoed and 1 is returned. As indicated with
-use, there is a non\-echoing version \fBhas\fR. Please use \fBhas\fR in all
-places where output is to be disregarded. Never use the output for calculation.
+.B has\fR \fI<item>\fR \fI<item list>
+If \fIitem\fR is in \fIitem list\fR, then \fBhas\fR returns
+0. Otherwise, 1 is returned. There is another version, \fBhasv\fR, that
+will conditionally echo \fIitem\fR.
.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
+.B hasv\fR \fI<item>\fR \fI<item list>
+Like \fBhas\fR, but also echoes \fIitem\fR when \fBhas\fR returns true.
+.TP
+.B has_version\fR \fI[\-\-host\-root]\fR \fI<category/package\-version>
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.
+installed, 1 otherwise. Beginning with \fBEAPI 5\fR, the
+\-\-host\-root option may be used in order to cause the query
+to apply to the host root instead of ${ROOT}.
.TP
-\fBbest_version\fR \fI<package name>\fR
+.B best_version\fR \fI[\-\-host\-root]\fR \fI<package name>
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.
-.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: HOOKS"
+currently installed. Beginning with \fBEAPI 5\fR, the
+\-\-host\-root option may be used in order to cause the query
+to apply to the host root instead of ${ROOT}.
+
+Example:
+.nf
+ VERINS="$(best_version net\-ftp/glftpd)"
+ (VERINS now has the value "net\-ftp/glftpd\-1.27" if glftpd\-1.27 is \
+ installed)
+.fi
+
+.SS "Hooks:"
.TP
-\fBregister_die_hook\fR \fI[list of function names]\fR
+.B register_die_hook\fR \fI[list of function names]
Register one or more functions to call when the ebuild fails for any reason,
including file collisions with other packages.
.TP
-\fBregister_success_hook\fR \fI[list of function names]\fR
+.B register_success_hook\fR \fI[list of function names]
Register one or more functions to call when the ebuild builds and/or installs
successfully.
+
+.SS "Output:"
.TP
-.RE
-.SH "HELPER FUNCTIONS: OUTPUT"
-.TP
-\fBeinfo\fR \fI"disposable message"\fR
+.B einfo\fR \fI"disposable message"
Same as \fBelog\fR, but should be used when the message isn't important to the
user (like progress or status messages during the build process).
.TP
-\fBelog\fR \fI"informative message"\fR
+.B elog\fR \fI"informative message"
If you need to display a message that you wish the user to read and take
notice of, then use \fBelog\fR. It works just like \fBecho\fR(1), but
adds a little more to the output so as to catch the user's eye. The message
will also be logged by portage for later review.
.TP
-\fBewarn\fR \fI"warning message"\fR
+.B ewarn\fR \fI"warning message"
Same as \fBeinfo\fR, but should be used when showing a warning to the user.
.TP
-\fBeqawarn\fR \fI"QA warning message"\fR
+.B eqawarn\fR \fI"QA warning message"
Same as \fBeinfo\fR, but should be used when showing a QA warning to the user.
.TP
-\fBeerror\fR \fI"error message"\fR
+.B eerror\fR \fI"error message"
Same as \fBeinfo\fR, but should be used when showing an error to the user.
.TP
-\fBebegin\fR \fI"helpful message"\fR
+.B ebegin\fR \fI"helpful message"
Like \fBeinfo\fR, we output a \fIhelpful message\fR and then hint that the
following operation may take some time to complete. Once the task is
finished, you need to call \fBeend\fR.
.TP
-\fBeend\fR \fI<status>\fR \fI["error message"]\fR
+.B eend\fR \fI<status>\fR \fI["error message"]
Followup the \fBebegin\fR message with an appropriate "OK" or "!!" (for
errors) marker. If \fIstatus\fR is non\-zero, then the additional \fIerror
message\fR is displayed.
-.SH "HELPER FUNCTIONS: UNPACK"
+
+.SS "Unpack:"
.TP
-\fBunpack\fR \fI<source>\fR \fI[list of more sources]\fR
+.B unpack\fR \fI<source>\fR \fI[list of more sources]
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"
+
+.SS "Compile:"
.TP
-\fBeconf\fR \fI[configure options]\fR
+.B econf\fR \fI[configure options]
This is used as a replacement for configure. Performs:
.nf
${\fIECONF_SOURCE\fR:-.}/configure \\
@@ -958,21 +1161,26 @@ Beginning with \fBEAPI 4\fR, \fBeconf\fR adds
\fI\-\-disable\-dependency\-tracking\fR to the arguments if the
string \fIdisable\-dependency\-tracking\fR occurs in the output
of \fIconfigure \-\-help\fR.
+Beginning with \fBEAPI 5\fR, \fBeconf\fR adds
+\fIdisable\-silent\-rules\fR to the arguments if the
+string \fIdisable\-silent\-rules\fR occurs in the output
+of \fIconfigure \-\-help\fR.
.TP
-\fBemake\fR \fI[make options]\fR
+.B emake\fR \fI[make options]
This is used as a replacement for make. Performs 'make ${MAKEOPTS}
\fImake options\fR' (as set in make.globals), default is MAKEOPTS="\-j2".
-\fB***warning***\fR
+.B ***WARNING***
.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. If you determine
that your package fails to build in parallel, and you are unable to resolve
the issue, then you should run '\fBemake\fR \-j1' instead of 'make'.
-.SH "HELPER FUNCTIONS: INSTALL"
+
+.SS "Install:"
.TP
-\fBeinstall\fR \fI[make options]\fR
+.B einstall\fR \fI[make options]
This is used as a replacement for make install. Performs:
.nf
make \\
@@ -1029,11 +1237,11 @@ Strips all executable files of debugging symboles. This includes libraries.
.RE
.TP
-\fBprepinfo\fR \fI[dir]\fR
+.B prepinfo\fR \fI[dir]
.TP
-\fBprepman\fR \fI[dir]\fR
+.B prepman\fR \fI[dir]
.TP
-\fBprepstrip\fR \fI[dir]\fR
+.B prepstrip\fR \fI[dir]
.PD 1
Similar to the \fBprepall\fR functions, these are subtle in their differences.
.RS
@@ -1055,7 +1263,7 @@ multiple directories.
.RE
.PD 1
.TP
-\fBdocompress\fR \fI[\-x] <path> [list of more paths]\fR
+.B docompress\fR \fI[\-x] <path> [list of more paths]
.RS
Beginning with \fBEAPI 4\fR, the \fBdocompress\fR helper is used to
manage lists of files to be included or excluded from optional compression.
@@ -1094,7 +1302,7 @@ If the item does not exist, it is ignored.
.RE
.RE
.TP
-\fBdosed\fR \fI"s:orig:change:g" <filename>\fR
+.B dosed\fR \fI"s:orig:change:g" <filename>
Beginning with \fBEAPI 4\fR, the \fBdosed\fR helper no longer exists. Ebuilds
should call \fBsed(1)\fR directly (and assume that it is GNU sed).
@@ -1105,66 +1313,66 @@ that this expression does \fBNOT\fR use the offset prefix.
.BR 'dosed\ "s:/usr/local:/usr:g"\ /usr/bin/some\-script'
runs sed on ${ED}/usr/bin/some\-script
.TP
-\fBdodir\fR \fI<path> [more paths]\fR
+.B dodir\fR \fI<path> [more paths]
Creates directories inside of ${ED}.
.br
.BR 'dodir\ /usr/lib/apache'
creates ${ED}/usr/lib/apache. Note that the do* functions will run
\fBdodir\fR for you.
.TP
-\fBdiropts\fR \fI[options for install(1)]\fR
+.B diropts\fR \fI[options for install(1)]
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
+.B into\fR \fI<path>
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> [more paths]\fR
+.B keepdir\fR \fI<path> [more paths]
Tells portage to leave directories behind even if they're empty. Functions
the same as \fBdodir\fR.
.TP
-\fBdobin\fR \fI<binary> [list of more binaries]\fR
+.B dobin\fR \fI<binary> [list of more binaries]
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
+.B dosbin\fR \fI<binary> [list of more binaries]
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
+.B doinitd\fR \fI<init.d script> [list of more init.d scripts]
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
+.B doconfd\fR \fI<conf.d file> [list of more conf.d file]
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
+.B doenvd\fR \fI<env.d entry> [list of more env.d entries]
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
+.B dolib\fR \fI<library>\fR \fI[list of more libraries]
.TP
-\fBdolib.a\fR \fI<library>\fR \fI[list of more libraries]\fR
+.B dolib.a\fR \fI<library>\fR \fI[list of more libraries]
.TP
-\fBdolib.so\fR \fI<library>\fR \fI[list of more libraries]\fR
+.B dolib.so\fR \fI<library>\fR \fI[list of more libraries]
.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
+.B libopts\fR \fI[options for install(1)]
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
+.B doman\fR \fI[\-i18n=<locale>]\fR \fI<man\-page> [list of more man\-pages]
Installs manual\-pages into /usr/share/man/man[0\-9n] depending on the
manual file ending. The files are compressed if they are not already. You
can specify locale\-specific manpages with the \fI\-i18n\fR option. Then the
@@ -1177,135 +1385,186 @@ foo.\fI<locale>\fR.1 will be installed as
/usr/share/man/\fI<locale>\fR/man1/foo.1. Beginning with \fBEAPI 4\fR,
the \fI\-i18n\fR option takes precedence over the locale suffix of the
file name.
+
.PD 0
.TP
-\fBdohard\fR \fI<filename> <linkname>\fR
+.B dohard\fR \fI<filename> <linkname>
Beginning with \fBEAPI 4\fR, the \fBdohard\fR helper no longer exists. Ebuilds
should call \fBln(1)\fR directly.
.TP
-\fBdosym\fR \fI<filename> <linkname>\fR
+.B dosym\fR \fI<filename> <linkname>
.PD 1
Performs the ln command to create a symlink.
.TP
-\fBdohtml\fR \fI [\-a filetypes] [\-r] [\-x list\-of\-dirs\-to\-ignore] [list\-of\-files\-and\-dirs]\fR
+.B doheader\fR \fI[\-r] <file> [list of more files]
+Installs the given header files into /usr/include/, by default
+with file mode \fI0644\fR (this can be overridden with the
+\fBinsopts\fR function). Setting \-r sets recursive. The
+\fBdoheader\fR helper is available beginning with \fBEAPI 5\fR.
+.TP
+.B dohtml\fR \fI [\-a filetypes] [\-r] [\-x list\-of\-dirs\-to\-ignore] \
+[list\-of\-files\-and\-dirs]
Installs the files in the list of files (space\-separated list) into
-/usr/share/doc/${PF}/html provided the file ends in .htm, .html, .css, .js, .gif, .jpeg, .jpg, or .png.
+/usr/share/doc/${PF}/html provided the file ends in .htm, .html, .css, .js, \
+.gif, .jpeg, .jpg, or .png.
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\-p\fR sets a document prefix, \fI\-r\fR sets recursive.
+exclude (CVS excluded by default), \fI\-p\fR sets a document prefix,
+\fI\-r\fR sets recursive.
.TP
-\fBdoinfo\fR \fI<info\-file> [list of more info\-files]\fR
+.B doinfo\fR \fI<info\-file> [list of more info\-files]
Installs info\-pages into \fIDESTDIR\fR/info. Files are automatically
gzipped. Creates all necessary dirs.
.TP
-\fBdomo\fR \fI<locale\-file> [list of more locale\-files] \fR
+.B domo\fR \fI<locale\-file> [list of more locale\-files]
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
+.B fowners\fR \fI<permissions> <file> [files]
.TP
-\fBfperms\fR \fI<permissions> <file> [files]\fR
+.B fperms\fR \fI<permissions> <file> [files]
.PD 1
Performs chown (\fBfowners\fR) or chmod (\fBfperms\fR), applying
\fIpermissions\fR to \fIfiles\fR.
.TP
-\fBinsinto\fR \fI[path]\fR
+.B insinto\fR \fI[path]
Sets the destination path for the \fBdoins\fR function.
.br
The default path is /.
.TP
-\fBinsopts\fR \fI[options for install(1)]\fR
+.B insopts\fR \fI[options for install(1)]
Can be used to define options for the install function used in
\fBdoins\fR. The default is \fI\-m0644\fR.
.TP
-\fBdoins\fR \fI[\-r] <file> [list of more files]\fR
+.B doins\fR \fI[\-r] <file> [list of more files]
Installs files into the path controlled by \fBinsinto\fR. This function
uses \fBinstall\fR(1). Creates all necessary dirs.
Setting \-r sets recursive. Beginning with \fBEAPI 4\fR, both
\fBdoins\fR and \fBnewins\fR preserve symlinks. In \fBEAPI 3\fR and
earlier, symlinks are dereferenced rather than preserved.
.TP
-\fBexeinto\fR \fI[path]\fR
+.B exeinto\fR \fI[path]
Sets the destination path for the \fBdoexe\fR function.
.br
The default path is /.
.TP
-\fBexeopts\fR \fI[options for install(1)]\fR
+.B exeopts\fR \fI[options for install(1)]
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
+.B doexe\fR \fI<executable> [list of more executables]
Installs executables into the path controlled by \fBexeinto\fR. This function
uses \fBinstall\fR(1). Creates all necessary dirs.
.TP
-\fBdocinto\fR \fI[path]\fR
+.B docinto\fR \fI[path]
Sets the subdir used by \fBdodoc\fR and \fBdohtml\fR
when installing into the document tree
(based in /usr/share/doc/${PF}/). Default is no subdir, or just "".
.TP
-\fBdodoc\fR \fI[-r] <document> [list of more documents]\fR
-Installs a document or a list of documents into /usr/share/doc/${PF}/\fI<docinto path>\fR.
+.B dodoc\fR \fI[-r] <document> [list of more documents]
+Installs a document or a list of documents into
+/usr/share/doc/${PF}/\fI<docinto path>\fR.
Documents are marked for compression. Creates all necessary dirs.
Beginning with \fBEAPI 4\fR, there is support for recursion, enabled by the
new \fI\-r\fR option.
.PD 0
.TP
-\fBnewbin\fR \fI<old file> <new filename>\fR
+.B newbin\fR \fI<old file> <new filename>
.TP
-\fBnewsbin\fR \fI<old file> <new filename>\fR
+.B newsbin\fR \fI<old file> <new filename>
.TP
-\fBnewinitd\fR \fI<old file> <new filename>\fR
+.B newinitd\fR \fI<old file> <new filename>
.TP
-\fBnewconfd\fR \fI<old file> <new filename>\fR
+.B newconfd\fR \fI<old file> <new filename>
.TP
-\fBnewenvd\fR \fI<old file> <new filename>\fR
+.B newenvd\fR \fI<old file> <new filename>
.TP
-\fBnewlib.so\fR \fI<old file> <new filename>\fR
+.B newlib.so\fR \fI<old file> <new filename>
.TP
-\fBnewlib.a\fR \fI<old file> <new filename>\fR
+.B newlib.a\fR \fI<old file> <new filename>
.TP
-\fBnewman\fR \fI<old file> <new filename>\fR
+.B newman\fR \fI<old file> <new filename>
.TP
-\fBnewinfo\fR \fI<old file> <new filename>\fR
+.B newins\fR \fI<old file> <new filename>
.TP
-\fBnewins\fR \fI<old file> <new filename>\fR
+.B newexe\fR \fI<old file> <new filename>
.TP
-\fBnewexe\fR \fI<old file> <new filename>\fR
-.TP
-\fBnewdoc\fR \fI<old file> <new filename>\fR
+.B newdoc\fR \fI<old file> <new filename>
.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 "AUTHORS"
+Beginning with \fBEAPI 5\fR, standard input is read when the
+first parameter is \- (a hyphen).
+
+.SH "EXAMPLES"
+.DS
.nf
-Achim Gottinger <achim@gentoo.org>
-Mark Guertin <gerk@gentoo.org>
-Nicholas Jones <carpaski@gentoo.org>
-Mike Frysinger <vapier@gentoo.org>
-Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@gmail.com>
-Fabian Groffen <grobian@gentoo.org>
+# Copyright 1999\-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+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/${PN}/${P}.tar.gz"
+
+LICENSE="GPL\-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="nls? ( sys-devel/gettext )"
+
+src_configure() {
+ econf \\
+ \-\-bindir="${EPREFIX}"/bin
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc NEWS README* THANKS AUTHORS BUGS ChangeLog
+}
.fi
+.DE
+
.SH "FILES"
.TP
-The \fI/usr/sbin/ebuild.sh\fR script.
+The \fI/usr/lib/portage/bin/ebuild.sh\fR script.
.TP
The helper apps in \fI/usr/lib/portage/bin\fR.
.TP
-.B /etc/make.conf
-Contains variables for the build\-process and overwrites those in make.defaults.
+.B /etc/portage/make.conf
+Contains variables for the build\-process and overwrites those in
+make.defaults.
.TP
.B /usr/share/portage/config/make.globals
Contains the default variables for the build\-process, you should edit
-\fI/etc/make.conf\fR instead.
+\fI/etc/portage/make.conf\fR instead.
.TP
.B /etc/portage/color.map
Contains variables customizing colors.
+
.SH "SEE ALSO"
.BR ebuild (1),
.BR make.conf (5),
.BR color.map (5)
+
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+
+.SH "AUTHORS"
+.nf
+Achim Gottinger <achim@gentoo.org>
+Mark Guertin <gerk@gentoo.org>
+Nicholas Jones <carpaski@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
+Fabian Groffen <grobian@gentoo.org>
+.fi
diff --git a/man/egencache.1 b/man/egencache.1
index 90945950294..f71feb3712a 100644
--- a/man/egencache.1
+++ b/man/egencache.1
@@ -1,4 +1,4 @@
-.TH "EGENCACHE" "1" "Oct 2010" "Portage VERSION" "Portage"
+.TH "EGENCACHE" "1" "Jul 2013" "Portage VERSION" "Portage"
.SH "NAME"
egencache \- generate metadata cache for ebuild repositories
.SH "SYNOPSIS"
@@ -6,12 +6,13 @@ egencache \- generate metadata cache for ebuild repositories
.I [options] --update [ATOM]\fR...
.SH "DESCRIPTION"
The egencache program generates metadata cache for ebuild repositories and
-stores it in the \fImetadata/cache/\fR directory within the repository itself,
-for distribution.
+stores it in the \fImetadata/md5\-cache/\fR directory within the repository
+itself, for distribution.
.SH ACTIONS
.TP
.BR "\-\-update [ATOM] ... "
-Update the \fImetadata/cache/\fR directory (generate metadata as necessary).
+Update the \fImetadata/md5\-cache/\fR directory (generate metadata as
+necessary).
If no package atoms are specified then all will be updated. See ebuild(5)
for the details on package atom syntax.
.TP
@@ -20,6 +21,12 @@ Update the ChangeLog files from SCM logs (supported only in git repos).
.TP
.BR "\-\-update\-use\-local\-desc"
Update the \fIprofiles/use.local.desc\fR file from metadata.xml.
+.TP
+.BR "\-\-update\-manifests"
+Update manifest files, and sign them if signing is enabled. This supports
+parallelization if enabled via the \-\-jobs option. The \-\-thin\-manifests
+and \-\-sign\-manifests options may be used to manually override layout.conf
+settings.
.SH OPTIONS
.TP
.BR "\-\-cache\-dir=CACHE_DIR"
@@ -34,6 +41,12 @@ Location of portage config files.
.br
Defaults to /.
.TP
+.BR "\-\-gpg\-dir"
+Override the PORTAGE_GPG_DIR variable.
+.TP
+.BR "\-\-gpg\-key"
+Override the PORTAGE_GPG_KEY variable.
+.TP
.BR "\-\-ignore-default-opts"
Causes \fIEGENCACHE_DEFAULT_OPTS\fR to be ignored.
.TP
@@ -45,21 +58,24 @@ Also see the related \fB\-\-load\-average\fR option.
Specifies that maximum load allowed when spawning multiple jobs.
.TP
.BR "\-\-portdir=PORTDIR"
-Override the portage tree location.
+Override the PORTDIR variable. This option is deprecated in favor of
+\-\-repositories\-configuration option.
.TP
.BR "\-\-portdir\-overlay=PORTDIR_OVERLAY"
-Override the PORTDIR_OVERLAY variable (requires that
-\-\-repo is also specified).
+Override the PORTDIR_OVERLAY variable. This option is deprecated in favor of
+\-\-repositories\-configuration option.
.TP
.BR "\-\-preserve\-comments"
Preserve the comments found in the output use.local.desc file. This requires
the output file to exist before egencache is called.
.TP
.BR "\-\-repo=REPO"
-Name of the repo to operate on (default repo is located at \fBPORTDIR\fR).
-The name should correspond the value of a \fBrepo_name\fR entry (see
-\fBportage\fR(5)) from one of the repositories that is configured via the
-\fBPORTDIR\fR or \fBPORTDIR_OVERLAY\fR variables (see \fBmake.conf\fR(5)).
+Name of the repo to operate on. The name should correspond the value of
+a \fBrepo_name\fR entry (see \fBportage\fR(5)) from one of the repositories.
+.TP
+.BR "\-\-repositories\-configuration=REPOSITORIES_CONFIGURATION"
+Override configuration of repositories. The argument of this option has
+the same format as repos.conf (see \fBportage\fR(5)).
.TP
.BR "\-\-rsync"
When used together with the \fB\-\-update\fR action, this enables a workaround
@@ -72,6 +88,15 @@ This option should only be needed for distribution via something like
more thorough mechanism which allows it to detect changed inode numbers
(described in \fIracy-git.txt\fR in the git technical docs).
.TP
+.BR "\-\-sign\-manifests< y | n >"
+Manually override layout.conf sign-manifests setting.
+.TP
+.BR "\-\-strict\-manifests< y | n >"
+Manually override "strict" FEATURES setting.
+.TP
+.BR "\-\-thin\-manifests< y | n >"
+Manually override layout.conf thin-manifests setting.
+.TP
.BR "\-\-tolerant"
Exit successfully if only minor errors occurred, such as skipped cache
updates due to ebuilds that either fail to source or are not sourced
@@ -87,10 +112,10 @@ contains will be added to the beginning of the command line on every
invocation. These options will not be added if the
\fB\-\-ignore-default\-opts\fR option is specified.
.SH "BUGS"
-There are significant limitations associated with the metadata
-cache format that is distributed in the \fImetadata/cache/\fR directory
-of the repository. These limitations are related to the cache validation
-mechanism. Currently, the validation mechanism involves comparison of
+Prior to portage-2.1.11.32, the 'pms' cache format was enabled by default.
+This 'pms' format, which is distributed in the \fImetadata/cache/\fR
+directory of the repository, has significant limitations related to the
+cache validation mechanism which involves comparison of
a cache entry mtime to the mtime of the corresponding \fBebuild(5)\fR. This
mechanism is unreliable in cases when eclass changes result in metadata
changes, since no information about eclass state is available in the cache.
@@ -102,11 +127,21 @@ implemented in \fBemerge\fR(1) \fB\-\-sync\fR which updates ebuild mtimes
to match their corresponding cache entries (except for ebuilds that are
modified relative to HEAD).
-In order to solve the above problems, a future extension
-to the cache format will include additional
-validation data in the form of digests for both the ebuild
-and its inherited eclasses. Until the
-cache format has been extended in this way, it is necessary to enable
+In order to solve the above problems, the newer 'md5-dict' format has been
+enabled by default since portage-2.1.11.32. This format is distributed in
+the \fImetadata/md5-cache/\fR directory of the repository, and includes
+additional validation data in the form of digests for both the ebuild
+and its inherited eclasses. \fBWARNING:\fR Portage versions prior to
+portage-2.1.11.14 will \fBNOT\fR recognize the 'md5-dict' format unless it is
+explicitly listed in \fImetadata/layout.conf\fR (refer to \fBportage\fR(5)
+for example usage).
+
+\fBWARNING:\fR For backward compatibility, the obsolete 'pms' cache format
+will still be generated by default if the \fImetadata/cache/\fR directory
+exists in the repository. It can also be explicitly enabled via the
+cache\-formats setting in \fImetadata/layout.conf\fR (refer to \fBportage\fR(5)
+for example usage). If the 'pms' cache format is enabled and the 'md5-dict'
+format is not enabled, then it is necessary to enable
\fBmetadata-transfer\fR in \fBFEATURES\fR (see \fBmake.conf(5)\fR).
This causes intermediate cache (in a different format that includes
eclass state) to be generated inside the directory which is configurable
@@ -116,10 +151,11 @@ Please report bugs via http://bugs.gentoo.org/
.SH "AUTHORS"
.nf
Zac Medico <zmedico@gentoo.org>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
.fi
.SH "FILES"
.TP
-.B /etc/make.conf
+.B /etc/portage/make.conf
Contains variables.
.SH "SEE ALSO"
.BR emerge (1),
diff --git a/man/emaint.1 b/man/emaint.1
index c588a0bfe59..83562998f30 100644
--- a/man/emaint.1
+++ b/man/emaint.1
@@ -26,9 +26,10 @@ Discard no longer installed config tracker entries.
Discard merge lists saved for the \fBemerge\fR(1) \fB--resume\fR action.
.TP
.BR logs
-Clean out old logs from the \fBPORT_LOGDIR\fR using the command \fBPORT_LOGDIR_CLEAN\fR
-See the \fBmake.conf\fR(5) man page for additional information as well as enabling the
-\fB'clean-logs'\fR feature in emerge to do this automatically.
+Clean out old logs from the \fBPORT_LOGDIR\fR using the command
+\fBPORT_LOGDIR_CLEAN\fR
+See the \fBmake.conf\fR(5) man page for additional information as well as
+enabling the \fB'clean-logs'\fR feature in emerge to do this automatically.
.TP
.BR movebin
Perform package move updates for binary packages located in \fBPKGDIR\fR.
@@ -38,7 +39,7 @@ Perform package move updates for installed packages.
.TP
.BR world
Fix problems in the \fIworld\fR file.
-.SH DEFAULT OPTIONS
+.SH DEFAULT OPTIONS
.TP
.B \-c, \-\-check
Check for any problems that may exist. (all commands)
@@ -51,10 +52,12 @@ Fix any problems that may exist. (not all commands)
Cleans the logs from \fBPORT_LOGDIR\fR (logs command only)
.TP
.B \-p, \-\-pretend
-Sets pretend mode (same as \-c, \-\-check) for use with the \-C, \-\-clean OPTION (logs command only)
+Sets pretend mode (same as \-c, \-\-check) for use with the \-C, \-\-clean
+OPTION (logs command only)
.TP
.B \-t NUM, \-\-time NUM
-Changes the minimum age \fBNUM\fR (in days) of the logs to be listed or deleted. (logs command only)
+Changes the minimum age \fBNUM\fR (in days) of the logs to be listed or
+deleted. (logs command only)
.SH "REPORTING BUGS"
Please report bugs via http://bugs.gentoo.org/
.SH AUTHORS
diff --git a/man/emerge.1 b/man/emerge.1
index 7aa46226cbc..abb0ed89804 100644
--- a/man/emerge.1
+++ b/man/emerge.1
@@ -1,10 +1,11 @@
-.TH "EMERGE" "1" "Jun 2012" "Portage VERSION" "Portage"
+.TH "EMERGE" "1" "Mar 2014" "Portage VERSION" "Portage"
.SH "NAME"
emerge \- Command\-line interface to the Portage system
.SH "SYNOPSIS"
.TP
.BR emerge
-[\fIoptions\fR] [\fIaction\fR] [\fIebuild\fR | \fItbz2file\fR | \fIfile\fR | \fI@set\fR | \fIatom\fR] ...
+[\fIoptions\fR] [\fIaction\fR] [\fIebuild\fR | \fItbz2file\fR | \fIfile\fR |
+\fI@set\fR | \fIatom\fR] ...
.TP
.BR emerge
\fB\-\-sync\fR | \fB\-\-version\fR
@@ -16,7 +17,7 @@ emerge \- Command\-line interface to the Portage system
\fB\-\-search\fR \fIsomestring\fR
.TP
.BR emerge
-\fB\-\-help\fR [\fB\-\-verbose\fR]
+\fB\-\-help\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
@@ -48,7 +49,7 @@ 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
+<package>\-<version>.ebuild package\fR or \fBemerge \-\-buildpkg
[category/]<package>\fR or \fBquickpkg /var/db/pkg/<category>/<package>\fR.
.TP
.BR file
@@ -72,20 +73,22 @@ on the current configuration. The default set configuration is located
in the \fB/usr/share/portage/config/sets\fR directory.
User sets may be created by placing files in the \fB/etc/portage/sets/\fR
directory (see \fBportage\fR(5)). Note that a \fIset\fR
-is generally used in conjunction with \fB\-\-update\fR. When used as
+is generally used in conjunction with \fB\-\-update\fR. When used as
arguments to \fBemerge\fR sets have to be prefixed with \fB@\fR to be
recognized. Use the \fB\-\-list\-sets\fR action to display a list of
available package sets.
.TP
.BR atom
-An \fIatom\fR describes bounds on a package that you wish to install.
+An \fIatom\fR describes bounds on a package that you wish to install.
\fISee ebuild(5) for the details on atom syntax.\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 \fIatom\fR
-to get around escaping problems.
+\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 \fIatom\fR
+to get around escaping problems. You may also constrain an atom to match a
+specific \fBSLOT\fR by appending a colon and a \fBSLOT\fR. Example:
+\fBx11\-libs/qt:3\fR.
.SH "ACTIONS"
.TP
.BR "No action"
@@ -100,18 +103,20 @@ later updating.
.TP
.BR \-\-check\-news
Scan all repositories for relevant unread GLEP 42 news items, and display
-how many are found. See \fIhttp://www.gentoo.org/proj/en/glep/glep-0042.html\fR.
+how many are found. See
+\fIhttp://www.gentoo.org/proj/en/glep/glep-0042.html\fR.
.TP
.BR \-\-clean
Cleans up the system by examining the installed packages and removing older
-packages. This is accomplished by looking at each installed package and separating
-the installed versions by \fBslot\fR. Clean will \fBremove all but the most recently
-installed version in each \fbslot\fR. Clean should not remove unslotted packages.
-Note: Most recently installed means most \fBrecent\fR, not highest version.
+packages. This is accomplished by looking at each installed package and
+separating the installed versions by \fBslot\fR. Clean will \fBremove all but
+the most recently installed version in each \fbslot\fR. Clean should not
+remove unslotted packages. Note: Most recently installed means most
+\fBrecent\fR, not highest version.
.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
+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 "\-\-depclean (-c)"
@@ -161,21 +166,21 @@ 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 \-\-info
-Produces a list of information to include in bug reports which aids the
-developers when fixing the reported problem. \fBPlease include this
-information when submitting a bug report.\fR Expanded output can be obtained
+Produces a list of information to include in bug reports which aids the
+developers when fixing the reported problem. \fBPlease include this
+information when submitting a bug report.\fR Expanded output can be obtained
with the \fI\-\-verbose\fR option.
.TP
.BR \-\-list\-sets
Displays a list of available package sets.
.TP
.BR \-\-metadata
-Transfers metadata cache from ${PORTDIR}/metadata/cache/ to
-/var/cache/edb/dep/ as is normally done on the
-tail end of an rsync update using \fBemerge \-\-sync\fR. This process
-populates the cache database that portage uses for pre-parsed lookups of
-package data. It does not populate cache for the overlays listed in
-PORTDIR_OVERLAY. In order to generate cache for overlays, use \fB\-\-regen\fR.
+Transfers pregenerated metadata cache from ${repository_location}/metadata/md5\-cache/
+to /var/cache/edb/dep/ as is normally done on the tail end of an rsync update using
+\fBemerge \-\-sync\fR. This process populates the cache database that Portage uses
+for pre-parsed lookups of package data. It does not populate cache for repositories
+not distributing pregenerated metadata cache. In order to generate cache for these
+repositories, use \fB\-\-regen\fR.
In versions of portage >=2.1.5 the \-\-metadata action is totally unnecessary
unless the user has enabled FEATURES="metadata-transfer" in \fBmake.conf\fR(5).
.TP
@@ -188,40 +193,45 @@ the emerge output of the next \-\-depclean run carefully! Use
\-\-depclean to avoid this issue.\fR
.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
+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. In order to specify parallel \fB\-\-regen\fR behavior, use
the \fB\-\-jobs\fR and \fB\-\-load\-average\fR options. If you would like to
generate and distribute cache for use by others, use \fBegencache\fR(1).
.TP
.BR "\-\-resume" (\fB\-r\fR)
Resumes the most recent merge list that has been aborted due to an error.
-This re\-uses the options that were given with the original
+This re\-uses the arguments and options that were given with the original
command that's being resumed, and the user may also provide
-additional options when calling \fB\-\-resume\fR.
+additional options when calling \fB\-\-resume\fR. It is an error to provide
+atoms or sets as arguments to \fB\-\-resume\fR, since the arguments from the
+resumed command are used instead.
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. A resume list will persist until it has been completed in
entirety or until another aborted merge list replaces it. The resume history
is capable of storing two merge lists. After one resume list completes, it is
possible to invoke \-\-resume once again in order to resume an older list.
+The resume lists are stored in \fI/var/cache/edb/mtimedb\fR, and may be
+explicitly discarded by running `emaint \-\-fix cleanresume` (see
+\fBemaint\fR(1)).
.TP
.BR "\-\-search " (\fB\-s\fR)
Searches for matches of the supplied string in the portage tree.
-By default emerge uses a case-insensitive simple search, but you can
+By default emerge uses a case-insensitive simple search, but you can
enable a regular expression search by prefixing the search string with %.
-For example, \fBemerge \-\-search "%^kde"\fR searches for any package whose
-name 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 include the
-category into the search string, prepend an @: \fBemerge \-\-search
-"%@^dev-java.*jdk"\fR. If you want to search the package descriptions as well,
+For example, \fBemerge \-\-search "%^kde"\fR searches for any package whose
+name 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 include the
+category into the search string, prepend an @: \fBemerge \-\-search
+"%@^dev-java.*jdk"\fR. If you want to search the package descriptions as well,
use the \fB\-\-searchdesc\fR action.
.TP
.BR "\-\-searchdesc " (\fB\-S\fR)
@@ -230,20 +240,15 @@ the package name. \fBTake caution\fR as the descriptions are also
matched as regular expressions.
.TP
.BR \-\-sync
-This updates the portage tree that is located in the
-directory that the PORTDIR variable refers to (default
-location is /usr/portage). The SYNC variable specifies
-the remote URI from which files will be synchronized.
+Updates repositories, for which sync\-type and sync\-uri attributes are
+set in repos.conf. See \fBportage\fR(5) for more information.
The \fBPORTAGE_SYNC_STALE\fR variable configures
warnings that are shown when emerge \-\-sync has not
been executed recently.
\fBWARNING:\fR
-The emerge \-\-sync action will modify and/or delete
-files located inside the directory that the PORTDIR
-variable refers to (default location is /usr/portage).
-For more information, see the PORTDIR documentation in
-the make.conf(5) man page.
+The emerge \-\-sync action will revert local changes (e.g. modifications or
+additions of files) inside repositories synchronized using rsync.
\fBNOTE:\fR
The \fBemerge\-webrsync\fR program will download the entire
@@ -277,6 +282,21 @@ temporarily mask interactive packages. With default
configuration, this would result in an effective
\fBACCEPT_PROPERTIES\fR value of "* -interactive".
.TP
+.BR \-\-accept\-restrict=ACCEPT_RESTRICT
+This option temporarily overrides the \fBACCEPT_RESTRICT\fR
+variable. The \fBACCEPT_RESTRICT\fR variable is incremental,
+which means that the specified setting is appended to the
+existing value from your configuration. The special \fB-*\fR
+token can be used to discard the existing configuration
+value and start fresh. See the \fBMASKED PACKAGES\fR section
+and \fBmake.conf\fR(5) for more information about
+ACCEPT_RESTRICT. A typical usage example for this option
+would be to use \fI\-\-accept\-restrict=\-bindist\fR to
+temporarily mask packages that are not binary
+re\-distributable. With default
+configuration, this would result in an effective
+\fBACCEPT_RESTRICT\fR value of "* -bindist".
+.TP
.BR "\-\-alphabetical "
When displaying USE and other flag output, combines the enabled and
disabled lists into one list and sorts the whole list alphabetically.
@@ -286,9 +306,10 @@ Before performing the action, display what will take place (server info for
\fB\-\-sync\fR, \fB\-\-pretend\fR output for merge, and so forth), then ask
whether to proceed with the action 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.
-\fBWARNING: If the "Enter" key is pressed at the prompt (with no other input),
-it is interpreted as acceptance of the first choice. Note that the input
+without \fB\-\-pretend\fR, as dependencies will only need to be calculated
+once. \fBWARNING: If the "Enter" key is pressed at the prompt (with no other
+input), it is interpreted as acceptance of the first choice. Note that the
+input
buffer is not cleared prior to the prompt, so an accidental press of the
"Enter" key at any time prior to the prompt will be interpreted as a choice!
Use the \-\-ask\-enter\-invalid option if you want a single "Enter" key
@@ -360,7 +381,7 @@ possible ways to enable building of binary packages.
.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
+merging the packages. This comes with the caveat that all build-time
dependencies must already be emerged on the system.
.TP
.BR "\-\-changed\-use"
@@ -369,6 +390,10 @@ changed since installation. This option also implies the
\fB\-\-selective\fR option. Unlike \fB\-\-newuse\fR, the
\fB\-\-changed\-use\fR option does not trigger reinstallation when
flags that the user has not enabled are added or removed.
+
+NOTE: This option ignores the state of the "test" USE flag, since that flag
+has a special binding to FEATURES="test" (see \fBmake.conf\fR(5) for more
+information about \fBFEATURES\fR settings).
.TP
.BR "\-\-changelog " (\fB\-l\fR)
Use this in conjunction with the \fB\-\-pretend\fR option. This will
@@ -380,7 +405,7 @@ Enable or disable color output. This option will override \fINOCOLOR\fR
is not a tty (by default, color is disabled unless stdout is a tty).
.TP
.BR "\-\-columns"
-Used alongside \fB\-\-pretend\fR to cause the package name, new version,
+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 "\-\-complete\-graph [ y | n ]"
@@ -409,7 +434,7 @@ Set the \fBPORTAGE_CONFIGROOT\fR environment variable.
.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
+mode the bash build environment will run with the \-x option, causing
it to output verbose debugging information to stdout. This also enables
a plethora of other output (mostly dependency resolution messages).
.TP
@@ -424,12 +449,17 @@ required.
.TP
.BR "\-\-depclean\-lib\-check [ y | n ]"
Account for library link-level dependencies during
-\fB\-\-depclean\fR and \fB\-\-prune\fR actions. This
-option is enabled by default. In some cases this can
-be somewhat time\-consuming. This option is ignored
-when FEATURES="preserve\-libs" is enabled in
-\fBmake.conf\fR(5), since any libraries that have
-consumers will simply be preserved.
+\fB\-\-depclean\fR and \fB\-\-prune\fR actions.
+This option is enabled by default. If FEATURES="preserve\-libs" is
+enabled in \fBmake.conf\fR(5), and preserve\-libs is not restricted
+for any of the packages selected for removal, then this option is
+ignored because any libraries that have consumers will simply be
+preserved.
+.TP
+.BR \-\-digest
+Prevent corruption from being noticed. The `repoman manifest` command is the
+preferred way to generate manifests and it is capable of doing an entire
+repository or category at once (see \fBrepoman\fR(1)).
.TP
.BR "\-\-dynamic\-deps < y | n >"
In dependency calculations, substitute the dependencies of installed
@@ -472,10 +502,10 @@ Instead of doing any package building, just perform fetches for all
packages (fetch everything in SRC_URI regardless of USE setting).
.TP
.BR "\-\-getbinpkg [ y | n ] (\-g short option)"
-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
+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 [ y | n ] (\-G short option)"
@@ -485,12 +515,12 @@ remote server are preferred over local packages if they are not identical.
.BR "\-\-ignore-default-opts"
Causes \fIEMERGE_DEFAULT_OPTS\fR (see \fBmake.conf\fR(5)) to be ignored.
.TP
-.BR "\-\-ignore\-built\-slot\-abi\-deps < y | n >"
-Ignore the SLOT/ABI := operator parts of dependencies that have
+.BR "\-\-ignore\-built\-slot\-operator\-deps < y | n >"
+Ignore the slot/sub\-slot := operator parts of dependencies that have
been recorded when packages where built. This option is intended
only for debugging purposes, and it only affects built packages
-that specify SLOT/ABI := operator dependencies using the
-experimental "4\-slot\-abi" EAPI.
+that specify slot/sub\-slot := operator dependencies which are
+supported beginning with \fBEAPI 5\fR.
.TP
.BR "-j [JOBS], \-\-jobs[=JOBS]"
Specifies the number of packages to build simultaneously. If this option is
@@ -508,9 +538,10 @@ dependencies are recalculated for remaining packages and any with
unsatisfied dependencies are automatically dropped. Also see
the related \fB\-\-skipfirst\fR option.
.TP
-.BR \-\-load\-average=LOAD
+.BR "\-\-load\-average [LOAD]"
Specifies that no new builds should be started if there are other builds
running and the load average is at least LOAD (a floating-point number).
+With no argument, removes a previous load limit.
This option is recommended for use in combination with \fB\-\-jobs\fR in
order to avoid excess load. See \fBmake\fR(1) for information about
analogous options that should be configured via \fBMAKEOPTS\fR in
@@ -522,6 +553,11 @@ a list of packages with similar names when a package doesn't exist.
The \fIEMERGE_DEFAULT_OPTS\fR variable may be used to disable this
option by default.
.TP
+.BR "\-\-newrepo "
+Tells emerge to recompile a package if it is now being pulled from a
+different repository. This option also implies the
+\fB\-\-selective\fR option.
+.TP
.BR "\-\-newuse " (\fB\-N\fR)
Tells emerge to include installed packages where USE
flags have changed since compilation. This option
@@ -538,6 +574,10 @@ settings. If you would like to skip rebuilds for which disabled flags have
been added to or removed from IUSE, see the related
\fB\-\-changed\-use\fR option. If you would like to skip rebuilds for
specific packages, see the \fB\-\-exclude\fR option.
+
+NOTE: This option ignores the state of the "test" USE flag, since that flag
+has a special binding to FEATURES="test" (see \fBmake.conf\fR(5) for more
+information about \fBFEATURES\fR settings).
.TP
.BR "\-\-noconfmem"
Causes portage to disregard merge records indicating that a config file
@@ -555,7 +595,8 @@ Skips the packages specified on the command\-line that have already
been installed. Without this option, any package atoms or package sets
you specify on the command\-line \fBwill\fR cause Portage to remerge
the package, even if it is already installed. Note that Portage will
-not remerge dependencies by default.
+not remerge dependencies by default. This option can be used to update the
+world file without rebuilding the packages.
.TP
.BR "\-\-nospinner"
Disables the spinner for the session. The spinner is active when the
@@ -599,6 +640,13 @@ exhaustively apply the entire history of package moves,
regardless of whether or not any of the package moves have
been previously applied.
.TP
+.BR \-\-pkg\-format
+Specify which binary package format will be created as target.
+Possible choices now are tar and rpm or their combinations.
+.TP
+.BR \-\-prefix=DIR
+Set the \fBEPREFIX\fR environment variable.
+.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
@@ -608,10 +656,11 @@ the printout:
.TS
lI l.
N new (not yet installed)
-S new SLOT installation (side-by-side versions)
+S new SLOT installation (side-by-side versions)
U updating (to another version)
D downgrading (best version seems lower)
-R replacing (remerging same version))
+r reinstall (forced for some reason, possibly due to slot or sub\-slot)
+R replacing (remerging same version)
F fetch restricted (must be manually downloaded)
f fetch restricted (already downloaded)
I interactive (requires user input)
@@ -626,7 +675,8 @@ output from portage's displays.
.BR "\-\-quiet\-build [ y | n ]"
Redirect all build output to logs alone, and do not display it on
stdout. If a build failure occurs for a single package, the build
-log will be automatically displayed on stdout. If there are multiple
+log will be automatically displayed on stdout (unless the
+\fI\-\-quiet\-fail\fR option is enabled). If there are multiple
build failures (due to options like \-\-keep\-going or \-\-jobs),
then the content of the log files will not be displayed, and instead
the paths of the log files will be displayed together with the
@@ -635,6 +685,12 @@ Note that interactive packages currently force all build output to
be displayed on stdout. This issue can be temporarily avoided
by specifying \fI\-\-accept\-properties=\-interactive\fR.
.TP
+.BR "\-\-quiet\-fail [ y | n ]"
+Suppresses display of the build log on stdout when build output is hidden
+due to options such as \fI\-\-jobs\fR, \fI\-\-quiet\fR, or
+\fI\-\-quiet\-build\fR. Only the die message and the path of the build log
+will be displayed on stdout.
+.TP
.BR "\-\-quiet\-repo\-display"
In the package merge list display, suppress ::repository output, and
instead use numbers to indicate which repositories package come from.
@@ -645,16 +701,23 @@ Disable the warning message that's shown prior to
to be set in the \fBmake.conf\fR(5)
\fBEMERGE_DEFAULT_OPTS\fR variable.
.TP
-.BR "\-\-rebuild\-if\-new\-slot\-abi [ y | n ]"
-Automatically rebuild or reinstall packages when SLOT/ABI :=
+.BR "\-\-rebuild\-if\-new\-slot [ y | n ]"
+Automatically rebuild or reinstall packages when slot/sub\-slot :=
operator dependencies can be satisfied by a newer slot, so that
older packages slots will become eligible for removal by the
\-\-depclean action as soon as possible. This option only
-affects packages that specify SLOT/ABI dependencies using the
-experimental "4\-slot\-abi" EAPI. Since this option requires
+affects packages that specify slot/sub\-slot := dependencies
+which are supported beginning with \fBEAPI 5\fR.
+Since this option requires
checking of reverse dependencies, it enables \-\-complete\-graph
mode whenever a new slot is installed. This option is enabled by
default.
+
+NOTE: If you want to skip all rebuilds involving slot\-operator
+dependecies (including those that involve sub\-slot changes alone),
+then \fI\-\-ignore\-built\-slot\-operator\-deps=y\fR is the option
+that you are looking for, since \fI\-\-rebuild\-if\-new\-slot\fR
+does not affect rebuilds triggered by sub\-slot changes alone.
.TP
.BR "\-\-rebuild\-if\-new\-rev [ y | n ]"
Rebuild packages when build\-time dependencies are built from source, if the
@@ -696,16 +759,20 @@ Set the \fBROOT\fR environment variable.
.TP
.BR "\-\-root\-deps[=rdeps]"
If no argument is given then build\-time dependencies of packages for
-\fBROOT\fR are installed to
-\fBROOT\fR instead of /. If the \fBrdeps\fR argument is given then discard
-all build\-time dependencies of packages for \fBROOT\fR. This option is
-only meaningful when used together with \fBROOT\fR and it should not
-be enabled under normal circumstances. For currently supported
-\fBEAPI\fR values, the build-time dependencies are specified in the
-\fBDEPEND\fR variable. However, behavior may change for new
-\fBEAPI\fRs when related extensions are added in the future.
-.TP
-.BR "\-\-select [ y | n ]"
+\fBROOT\fR are installed to \fBROOT\fR instead of /.
+If the \fBrdeps\fR argument is given then discard all build\-time dependencies
+of packages for \fBROOT\fR.
+This option is only meaningful when used together with \fBROOT\fR and it should
+not be enabled under normal circumstances!
+
+Does not affect EAPIs that support \fBHDEPEND\fR.
+Experimental \fBEAPI 5-hdepend\fR provides \fBHDEPEND\fR as a new
+means to adjust installation into "\fI/\fR" and \fBROOT\fR.
+If ebuilds using EAPIs which \fIdo not\fR support \fBHDEPEND\fR are built in
+the same \fBemerge\fR run as those using EAPIs which \fIdo\fR support
+\fBHDEPEND\fR, this option affects only the former.
+.TP
+.BR "\-\-select [ y | n ] (\-w short option)"
Add specified packages to the world set (inverse of
\fB\-\-oneshot\fR). This is useful if you want to
use \fBEMERGE_DEFAULT_OPTS\fR to make
@@ -719,7 +786,7 @@ Use \fB\-\-selective=n\fR if you want to forcefully disable
\fB\-\-newuse\fR, \fB\-\-noreplace\fR, or \fB\-\-update\fR.
.TP
.BR "\-\-skipfirst"
-This option is only valid when used with \fB\-\-resume\fR. It removes the
+This option is only valid when used with \fB\-\-resume\fR. It removes the
first package in the resume list. Dependencies are recalculated for
remaining packages and any that have unsatisfied dependencies or are
masked will be automatically dropped. Also see the related
@@ -727,7 +794,7 @@ masked will be automatically dropped. Also see the related
.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
+This is only really useful in combination with \fB\-\-emptytree\fR or
\fB\-\-update\fR and \fB\-\-deep\fR.
.TP
.BR "\-\-unordered\-display"
@@ -753,20 +820,21 @@ A space separated list of package names or slot atoms. Emerge will prefer
matching binary packages over newer unbuilt packages.
.TP
.BR "\-\-usepkg [ y | n ] (\-k short option)"
-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.
+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 [ y | n ] (\-K short option)"
-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
+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 ebuild repositories when calculating
+dependency information so all masking information is ignored.
+.TP
+.BR "\-\-verbose [ y | n ] (\-v short option)"
+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. The following symbols are affixed to USE flags
in order to indicate their status:
@@ -780,11 +848,20 @@ Symbol Location Meaning
* suffix transition to or from the enabled state
% suffix newly added or removed
() circumfix forced, masked, or removed
+{} circumfix state is bound to FEATURES settings
.TE
.TP
+.BR "\-\-verbose\-conflicts"
+Make slot conflicts more verbose. Note that this may in some cases output
+hundreds of packages for slot conflicts.
+.TP
.BR "\-\-verbose\-main\-repo\-display"
In the package merge list display, print ::repository even for main repository.
.TP
+.BR "\-\-verbose\-slot\-rebuilds [ y | n ]"
+Turns on/off the extra emerge output to list which packages are causing rebuilds.
+The default is set to "y" (on).
+.TP
.BR "\-\-with\-bdeps < y | n >"
In dependency calculations, pull in build time dependencies
that are not strictly required. This defaults to \'n\' for
@@ -795,6 +872,13 @@ This setting can be added to
command line.
.SH "ENVIRONMENT OPTIONS"
.TP
+\fBEPREFIX\fR = \fI[path]\fR
+Use \fBEPREFIX\fR to specify the target prefix to be used for merging packages
+or ebuilds. This variable can be set via the \fB\-\-prefix\fR
+option or in \fBmake.conf\fR(5) (the command line overrides other settings).
+.br
+Defaults to the prefix where portage is currently installed.
+.TP
\fBROOT\fR = \fI[path]\fR
Use \fBROOT\fR to specify the target root filesystem to be used for
merging packages or ebuilds. This variable can be set via the \fB\-\-root\fR
@@ -803,18 +887,19 @@ option or in \fBmake.conf\fR(5) (the command line overrides other settings).
Defaults to /.
.TP
\fBPORTAGE_CONFIGROOT\fR = \fI[path]\fR
-Use \fBPORTAGE_CONFIGROOT\fR to specify the location for various portage
+Use \fBPORTAGE_CONFIGROOT\fR to specify the location for various portage
configuration files
(see \fBFILES\fR for a detailed list of configuration files). This variable
can be set via the \fB\-\-config\-root\fR option.
.br
Defaults to /.
.SH "OUTPUT"
-When utilizing \fBemerge\fR with the \fB\-\-pretend\fR and \fB\-\-verbose\fR
+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 ("app\-text/dos2unix" is blocking app\-text/hd2u\-0.8.0)
+.B [blocks B ] app\-text/dos2unix ("app\-text/dos2unix" is blocking \
+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
@@ -824,34 +909,34 @@ simultaneously emerged because they usually provide the same functionality.
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
+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
+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
+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
+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
+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
+.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
+.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
@@ -872,6 +957,19 @@ displayed when you use the \fB\-\-pretend\fR and \fB\-\-verbose\fR options.
Using the \fB\-\-quiet\fR option will prevent all information from being
displayed.
.TP
+.B [ebuild r U ] dev\-libs/icu\-50.1.1:0/50.1.1 [50.1\-r2:0/50.1]
+Icu 50.1\-r2 has already been emerged and can be Updated to version
+50.1.1. The \fBr\fR symbol indicates that a sub\-slot change (from 50.1
+to 50.1.1 in this case) will force packages having slot\-operator
+dependencies on it to be rebuilt (as libxml2 will be rebuilt in the next
+example).
+.TP
+.B [ebuild rR ] dev\-libs/libxml2\-2.9.0\-r1:2 USE="icu"
+Libxml2 2.9.0\-r1 has already been emerged, but if you run the command,
+then portage will Re\-emerge it in order to satisfy a slot\-operator
+dependency which forces it to be rebuilt when the icu sub\-slot changes
+(as it changed in the previous example).
+.TP
.B [ebuild U *] sys\-apps/portage\-2.2.0_alpha6 [2.1.9.25]
Portage 2.1.9.25 is installed, but if you run the command, then
portage will upgrade to version 2.2.0_alpha6. In this case,
@@ -899,14 +997,14 @@ globally via \fBACCEPT_KEYWORDS\fR.
.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 sets, which can
-update a large number of packages if the portage tree has been particularly
+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 sets, 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
+You also want to typically use \fB\-\-update\fR, which ignores packages that
are already fully updated but updates those that are not.
.LP
When you install a package with uninstalled dependencies and do
@@ -921,7 +1019,7 @@ avoid using some dependencies you may not want to have. \fBUSE
flags specified on the command line are NOT remembered\fR. For
example, \fBenv USE="\-X \-gnome" emerge mc\fR will emerge mc with
those USE settings (on Bourne-compatible shells you may omit the \fBenv\fR
-part). If you want those USE settings to be more
+part). 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
@@ -939,7 +1037,7 @@ Masks in \fBportage\fR have many uses: 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. Read below
-to find out how to unmask in various cases. Also note that if you give
+to find out how to unmask in various cases. 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
@@ -965,15 +1063,15 @@ that are not supported by the current version of portage. Packages masked by
\fBEAPI\fR can only be installed after portage has been upgraded.
.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
+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.accept_keywords\fR
file to list the packages you want the
\'testing\' version. See \fBportage\fR(5) for more information.
@@ -994,6 +1092,15 @@ of a package masked by \fBPROPERTIES\fR. See \fBmake.conf\fR(5) for information
about \fBACCEPT_PROPERTIES\fR, and see \fBportage\fR(5) for information about
\fI/etc/portage/package.properties\fR. Use the \fB\-\-accept\-properties\fR
option to temporarily override \fBACCEPT_PROPERTIES\fR.
+.TP
+.BR RESTRICT
+The \fBRESTRICT\fR variable in an \fBebuild\fR file can be used to mask
+packages based on RESTRICT tokens. \fBemerge\fR examines the
+\fBACCEPT_RESTRICT\fR environment variable to allow or disallow the emerging
+of a package masked by \fBRESTRICT\fR. See \fBmake.conf\fR(5) for information
+about \fBACCEPT_RESTRICT\fR, and see \fBportage\fR(5) for information about
+\fI/etc/portage/package.accept_restrict\fR. Use the \fB\-\-accept\-restrict\fR
+option to temporarily override \fBACCEPT_RESTRICT\fR.
.SH "CONFIGURATION FILES"
Portage has a special feature called "config file protection". The purpose of
this feature is to prevent new package installs from clobbering existing
@@ -1002,8 +1109,8 @@ and the KDE configuration dirs; more may be added in the future.
.LP
When Portage installs a file into a protected directory tree like /etc, any
existing files will not be overwritten. If a file of the same name already
-exists, Portage will change the name of the to\-be\-installed file from 'foo' to
-\'._cfg0000_foo\'. If \'._cfg0000_foo\' already exists, this name becomes
+exists, Portage will change the name of the to\-be\-installed file from 'foo'
+to \'._cfg0000_foo\'. If \'._cfg0000_foo\' already exists, this name becomes
\'._cfg0001_foo\', etc. In this way, existing files are not overwritten,
allowing the administrator to manually merge the new config files and avoid any
unexpected changes.
@@ -1015,21 +1122,23 @@ deleted, which is of paramount importance.
.LP
Protected directories are set using the \fICONFIG_PROTECT\fR variable, normally
defined in make.globals. Directory exceptions to the CONFIG_PROTECTed
-directories can be specified using the \fICONFIG_PROTECT_MASK\fR variable. To find
-files that need to be updated in /etc, type \fBfind /etc \-iname \'._cfg????_*\'\fR.
+directories can be specified using the \fICONFIG_PROTECT_MASK\fR variable.
+To find files that need to be updated in /etc, type \fBfind /etc \-name
+\[aq]._cfg????_*\[aq]\fR.
.LP
-You can disable this feature by setting \fICONFIG_PROTECT="\-*"\fR in /etc/make.conf.
+You can disable this feature by setting \fICONFIG_PROTECT="\-*"\fR in
+\fBmake.conf\fR(5).
Then, Portage will mercilessly auto\-update your config files. Alternatively,
you can leave Config File Protection on but tell Portage that it can overwrite
files in certain specific /etc subdirectories. For example, if you wanted
Portage to automatically update your rc scripts and your wget configuration,
but didn't want any other changes made without your explicit approval, you'd
-add this to /etc/make.conf:
+add this to \fBmake.conf\fR(5):
.LP
.I CONFIG_PROTECT_MASK="/etc/wget /etc/rc.d"
.LP
-Tools such as dispatch\-conf, cfg\-update, and etc\-update are also available to
-aid in the merging of these files. They provide interactive merging and can
+Tools such as dispatch\-conf, cfg\-update, and etc\-update are also available
+to aid in the merging of these files. They provide interactive merging and can
auto\-merge trivial changes.
.SH "REPORTING BUGS"
Please report any bugs you encounter through our website:
@@ -1050,9 +1159,10 @@ Marius Mauch <genone@gentoo.org>
Jason Stubbs <jstubbs@gentoo.org>
Brian Harring <ferringb@gmail.com>
Zac Medico <zmedico@gentoo.org>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
.fi
.SH "FILES"
-Here is a common list of files you will probably be interested in. For a
+Here is a common list of files you will probably be interested in. For a
complete listing, please refer to the \fBportage\fR(5) man page.
.TP
.B /usr/share/portage/config/sets/
@@ -1068,7 +1178,7 @@ This is like the world file but instead of package atoms it contains
packages sets which always begin with the \fB@\fR character. Use
\fB/etc/portage/sets/\fR to define user package sets.
.TP
-.B /etc/make.conf
+.B /etc/portage/make.conf
Contains variables for the build process, overriding those in
\fBmake.globals\fR.
.TP
@@ -1079,10 +1189,10 @@ Contains variables customizing colors.
Contains user package set definitions (see \fBportage\fR(5)).
.TP
.B /etc/dispatch\-conf.conf
-Contains settings to handle automatic updates/backups of configuration
+Contains settings to handle automatic updates/backups of configuration
files.
.TP
-.B /etc/make.profile/make.defaults
+.B /etc/portage/make.profile/make.defaults
Contains profile\-specific variables for the build process. \fBDo not
edit this file\fR.
.TP
@@ -1090,17 +1200,28 @@ edit this file\fR.
Contains the master list of USE flags with descriptions of their
functions. \fBDo not edit this file\fR.
.TP
-.B /etc/make.profile/virtuals
+.B /etc/portage/make.profile/virtuals
Contains a list of default packages used to resolve virtual dependencies.
\fBDo not edit this file\fR.
.TP
-.B /etc/make.profile/packages
+.B /etc/portage/make.profile/packages
Contains a list of packages used for the base system. The \fBsystem\fR
and \fBworld\fR sets consult this file. \fBDo not edit this file\fR.
.TP
.B /usr/share/portage/config/make.globals
Contains the default variables for the build process. \fBDo not edit
this file\fR.
+.TP
+.B /var/log/emerge.log
+Contains a log of all emerge output. This file is always appended to, so if you
+want to clean it, you need to do so manually.
+.TP
+.B /var/log/emerge-fetch.log
+Contains a log of all the fetches in the previous emerge invocation.
+.TP
+.B
+/var/log/portage/elog/summary.log
+Contains the emerge summaries. Installs \fI/etc/logrotate/elog-save-summary\fR.
.SH "SEE ALSO"
.BR "emerge \-\-help",
.BR quickpkg (1),
@@ -1112,5 +1233,5 @@ this file\fR.
.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
+The \fBapp\-portage/gentoolkit\fR package contains useful scripts such as
\fBequery\fR (a package query tool).
diff --git a/man/emirrordist.1 b/man/emirrordist.1
new file mode 100644
index 00000000000..2c9383018cf
--- /dev/null
+++ b/man/emirrordist.1
@@ -0,0 +1,148 @@
+.TH "EMIRRORDIST" "1" "Jul 2013" "Portage VERSION" "Portage"
+.SH "NAME"
+emirrordist \- a fetch tool for mirroring of package distfiles
+.SH SYNOPSIS
+.B emirrordist
+[\fIoptions\fR] \fI<action>\fR
+.SH ACTIONS
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show a help message and exit.
+.TP
+\fB\-\-version\fR
+Display portage version and exit.
+.TP
+\fB\-\-mirror\fR
+Mirror distfiles for the selected repository.
+.SH OPTIONS
+.TP
+\fB\-\-dry\-run\fR
+Perform a trial run with no changes made (typically combined
+with \fI\-v\fR or \fI\-vv\fR).
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Display extra information on stderr (multiple occurences
+increase verbosity).
+.TP
+\fB\-\-ignore\-default\-opts\fR
+Do not use the \fIEMIRRORDIST_DEFAULT_OPTS\fR environment
+variable.
+.TP
+\fB\-\-distfiles\fR=\fIDIR\fR
+Distfiles directory to use (required).
+.TP
+\fB\-j\fR JOBS, \fB\-\-jobs\fR=\fIJOBS\fR
+Number of concurrent jobs to run.
+.TP
+\fB\-l\fR LOAD, \fB\-\-load\-average\fR=\fILOAD\fR
+Load average limit for spawning of new concurrent jobs.
+.TP
+\fB\-\-tries\fR=\fITRIES\fR
+Maximum number of tries per file, 0 means unlimited
+(default is 10).
+.TP
+\fB\-\-repo\fR=\fIREPO\fR
+Name of repo to operate on.
+.TP
+\fB\-\-config\-root\fR=\fIDIR\fR
+Location of portage config files.
+.TP
+\fB\-\-portdir\fR=\fIDIR\fR
+Override the PORTDIR variable. This option is deprecated in favor of
+\-\-repositories\-configuration option.
+.TP
+\fB\-\-portdir\-overlay\fR=\fIPORTDIR_OVERLAY\fR
+Override the PORTDIR_OVERLAY variable. This option is deprecated in favor of
+\-\-repositories\-configuration option.
+.TP
+\fB\-\-repositories\-configuration\fR=\fIREPOSITORIES_CONFIGURATION\fR
+Override configuration of repositories. The argument of this option has
+the same format as repos.conf (see \fBportage\fR(5)).
+.TP
+\fB\-\-strict\-manifests=\fR<y|n>
+Manually override "strict" FEATURES setting.
+.TP
+\fB\-\-failure\-log\fR=\fIFILE\fR
+Log file for fetch failures, with tab\-delimited output, for
+reporting purposes. Opened in append mode.
+.TP
+\fB\-\-success\-log\fR=\fIFILE\fR
+Log file for fetch successes, with tab\-delimited output, for
+reporting purposes. Opened in append mode.
+.TP
+\fB\-\-scheduled\-deletion\-log\fR=\fIFILE\fR
+Log file for scheduled deletions, with tab\-delimited output, for
+reporting purposes. Overwritten with each run.
+.TP
+\fB\-\-delete\fR
+Enable deletion of unused distfiles.
+.TP
+\fB\-\-deletion\-db\fR=\fIFILE\fR
+Database file used to track lifetime of files scheduled for
+delayed deletion.
+.TP
+\fB\-\-deletion\-delay\fR=\fISECONDS\fR
+Delay time for deletion of unused distfiles, measured in seconds.
+.TP
+\fB\-\-temp\-dir\fR=\fIDIR\fR
+Temporary directory for downloads.
+.TP
+\fB\-\-mirror\-overrides\fR=\fIFILE\fR
+File holding a list of mirror overrides.
+.TP
+\fB\-\-mirror\-skip\fR=\fIMIRROR_SKIP\fR
+Comma delimited list of mirror targets to skip when
+fetching.
+.TP
+\fB\-\-restrict\-mirror\-exemptions\fR=\fIRESTRICT_MIRROR_EXEMPTIONS\fR
+Comma delimited list of mirror targets for which to ignore
+RESTRICT="mirror" (see \fBebuild\fR(5)).
+.TP
+\fB\-\-verify\-existing\-digest\fR
+Use digest as a verification of whether existing
+distfiles are valid.
+.TP
+\fB\-\-distfiles\-local\fR=\fIDIR\fR
+The distfiles\-local directory to use.
+.TP
+\fB\-\-distfiles\-db\fR=\fIFILE\fR
+Database file used to track which ebuilds a distfile belongs to.
+.TP
+\fB\-\-recycle\-dir\fR=\fIDIR\fR
+Directory for extended retention of files that are removed from
+distdir with the \-\-delete option. These files may be be recycled if
+they are needed again, instead of downloading them again.
+.TP
+\fB\-\-recycle\-db\fR=\fIFILE\fR
+Database file used to track lifetime of files in recycle dir.
+.TP
+\fB\-\-recycle\-deletion\-delay\fR=\fISECONDS\fR
+Delay time for deletion of unused files from recycle dir,
+measured in seconds (defaults to the equivalent of 60 days).
+.TP
+\fB\-\-fetch\-log\-dir\fR=\fIDIR\fR
+Directory for individual fetch logs.
+.TP
+\fB\-\-whitelist\-from\fR=\fIFILE\fR
+Specifies a file containing a list of files to whitelist, one per line,
+# prefixed lines ignored. Use this option multiple times in order to
+specify multiple whitelists.
+.SH "REPORTING BUGS"
+Please report bugs via http://bugs.gentoo.org/
+.SH "THANKS"
+Special thanks to Brian Harring, author of the mirror\-dist program from
+which emirrordist is derived.
+.SH "AUTHORS"
+.nf
+Zac Medico <zmedico@gentoo.org>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
+.fi
+.SH "FILES"
+.TP
+.B /etc/portage/make.conf
+Contains variables.
+.SH "SEE ALSO"
+.BR ebuild (5),
+.BR egencache (1),
+.BR make.conf (5),
+.BR portage (5)
diff --git a/man/env-update.1 b/man/env-update.1
index 4561ab4b942..9ceddab1a20 100644
--- a/man/env-update.1
+++ b/man/env-update.1
@@ -1,26 +1,27 @@
.TH "ENV-UPDATE" "1" "Aug 2008" "Portage VERSION" "Portage"
-.SH NAME
+.SH "NAME"
env\-update \- updates environment settings automatically
-.SH SYNOPSIS
+.SH "SYNOPSIS"
\fBenv\-update\fR \fI[options]\fR
-.SH DESCRIPTION
+.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
+make changes to \fI/etc/env.d\fR, you should run \fBenv-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
+.SH "OPTIONS"
.TP
.B \-\-no\-ldconfig
-Do not run ldconfig (and thus skip rebuilding the ld.so cache, etc...).
+Do not run \fBldconfig\fR (and thus skip rebuilding the \fIld.so.cache\fR,
+etc...).
.SH "REPORTING BUGS"
Please report bugs via http://bugs.gentoo.org/
-.SH AUTHORS
+.SH "AUTHORS"
Daniel Robbins <drobbins@gentoo.org>
.SH "SEE ALSO"
.BR emerge (1),
diff --git a/man/etc-update.1 b/man/etc-update.1
index 366e8500bd4..71900da4a9b 100644
--- a/man/etc-update.1
+++ b/man/etc-update.1
@@ -1,28 +1,24 @@
.TH "ETC-UPDATE" "1" "Mar 2012" "Portage VERSION" "Portage"
-.SH NAME
-etc-update \- handle configuration file updates
-.SH SYNOPSIS
-.BR etc-update
+.SH "NAME"
+etc\-update \- handle configuration file updates
+.SH "SYNOPSIS"
+.BR etc\-update
[\fIoptions\fR] [\fI--automode <mode>\fR] [\fIpaths to scan\fR]
-.SH DESCRIPTION
-.I etc-update
-is supposed to be run after merging a new package to see if
+.SH "DESCRIPTION"
+\fIetc\-update\fR 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.
+configuration file will override an old one,
+\fIetc\-update\fR will prompt the user for a decision.
.PP
-.I etc-update
-will check all directories specified on the command line. If no paths
-are given, then the \fICONFIG_PROTECT\fR variable will be used. 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.
+\fIetc\-update\fR will check all directories specified on the command
+line. If no paths are given, then the \fICONFIG_PROTECT\fR variable
+will be used. 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.
.PP
-.I etc-update
-respects the normal \fIPORTAGE_CONFIGROOT\fR and \fIEROOT\fR variables
-for finding the aforementioned config protect variables.
-.SH OPTIONS
+\fIetc\-update\fR respects the normal \fIPORTAGE_CONFIGROOT\fR and
+\fIEROOT\fR variables for finding the aforementioned config protect variables.
+.SH "OPTIONS"
.TP
.BR \-d ", " \-\-debug
Run with shell tracing enabled.
@@ -37,11 +33,11 @@ Automerge trivial changes only and quit.
Show settings and important decision info while running.
.TP
.BR "\-\-automode <mode>"
-Select one of the automatic merge modes. Valid modes are: -3 -5 -7 -9.
+Select one of the automatic merge modes. Valid modes are: \-3 \-5 \-7 \-9.
See the \fI\-\-help\fR text for more details.
.SH "REPORTING BUGS"
Please report bugs via http://bugs.gentoo.org/
-.SH AUTHORS
+.SH "AUTHORS"
.nf
Jochem Kossen and Leo Lipelis
Karl Trygve Kalleberg <karltk@gentoo.org>
@@ -49,8 +45,8 @@ Mike Frysinger <vapier@gentoo.org>
.fi
.SH "FILES"
.TP
-.B /etc/etc-update.conf
-Configuration settings for \fIetc-update\fR are stored here.
+.B /etc/etc\-update.conf
+Configuration settings for \fIetc\-update\fR are stored here.
.SH "SEE ALSO"
-.BR dispatch-conf (1),
+.BR dispatch\-conf (1),
.BR make.conf (5)
diff --git a/man/make.conf.5 b/man/make.conf.5
index 876a8a330fe..228101408fa 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -1,10 +1,20 @@
-.TH "MAKE.CONF" "5" "Jul 2012" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "Jan 2014" "Portage VERSION" "Portage"
.SH "NAME"
make.conf \- custom settings for Portage
.SH "SYNOPSIS"
\fB/etc/make.conf\fR and \fB/etc/portage/make.conf\fR
.SH "DESCRIPTION"
-This file contains various variables that are used by Portage.
+
+This file contains various variables that are used by Portage. The file has a
+newline\-delimited list of \fI<key>=<value>\fR pairs (see the default file for
+examples) which are accessible from the environment of ebuilds. It supports
+simple shell\-like expansion of the form \fIvar="${var}"\fR, the source
+keyword and variable substitution, but not some of the more advanced BASH
+features like arrays and special parameter expansions. For more details, see
+the Simple lexical analysis documentation:
+\fLhttp://docs.python.org/3/library/shlex.html\fR. Note that if you source
+files, they need to be in the same shlex syntax for portage to read them.
+.br
Portage will check the currently\-defined environment variables
first for any settings. If no environment settings are found,
Portage then checks the make.conf files. Both /etc/make.conf and
@@ -13,7 +23,7 @@ Portage then checks the make.conf files. Both /etc/make.conf and
If no setting is found in the make.conf files, Portage checks
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
+from /etc/portage/make.profile/make.defaults. Please note that all user
settings should be made in the environment or in the make.conf
files, which are intended to be customized by the user.
.br
@@ -37,7 +47,7 @@ Defaults to the value of $CHOST.
\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
+set this to '~ppc'. This is an incremental variable. Only define a
~arch.
.br
Defaults to the value of $ARCH.
@@ -55,12 +65,12 @@ Defaults to the value of * -@EULA.
.br
.I Examples:
.nf
-# Accept any license
-ACCEPT_LICENSE="*"
-# Accept any license except the "public-domain" license
-ACCEPT_LICENSE="* -public-domain"
-# Only accept licenses in the FSF-APPROVED license group
-ACCEPT_LICENSE="-* @FSF-APPROVED"
+# Only accept licenses in the FREE license group (i.e. Free Software)
+ACCEPT_LICENSE="-* @FREE"
+# As before, but exclude the "Artistic" license
+ACCEPT_LICENSE="-* @FREE -Artistic"
+# Accept any license except those in the EULA license group (default)
+ACCEPT_LICENSE="* -@EULA"
.fi
.TP
\fBACCEPT_PROPERTIES\fR = \fI[space delimited list of properties]\fR
@@ -68,7 +78,7 @@ This variable is used to mask packages based on PROPERTIES restrictions.
In addition to property names, the \fI*\fR and \fI-*\fR wildcard tokens are
also supported. This variable can be temporarily overridden using the
\fB\-\-accept\-properties\fR option of \fBemerge\fR(1).
-See \fBebuild\fR(5) for more information about PROPERTIES.
+See \fBebuild\fR(5) for more information about PROPERTIES.
.br
Defaults to the value of *.
.br
@@ -80,6 +90,23 @@ ACCEPT_PROPERTIES="*"
ACCEPT_PROPERTIES="* -interactive"
.fi
.TP
+\fBACCEPT_RESTRICT\fR = \fI[space delimited list of RESTRICT tokens]\fR
+This variable is used to mask packages based on RESTRICT tokens.
+In addition to RESTRICT tokens, the \fI*\fR and \fI-*\fR wildcard tokens are
+also supported. This variable can be temporarily overridden using the
+\fB\-\-accept\-restrict\fR option of \fBemerge\fR(1).
+See \fBebuild\fR(5) for more information about RESTRICT.
+.br
+Defaults to the value of *.
+.br
+.I Examples:
+.nf
+# Accept any restrict tokens
+ACCEPT_RESTRICT="*"
+# Accept any tokens except "bindist"
+ACCEPT_RESTRICT="* -bindist"
+.fi
+.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. Do not set this yourself
@@ -92,7 +119,7 @@ man page for more information.
Defaults to /var/tmp/ccache
.TP
\fBCCACHE_SIZE\fR = \fI"size"\fR
-This controls the space use limitations for ccache. The default is 2 gigabytes
+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
@@ -137,13 +164,14 @@ automatically have /* appended to them.
Defaults to "/lib/modules/* *.py[co]".
.TP
\fBCONFIG_PROTECT\fR = \fI[space delimited list of files and/or directories]\fR
-All files and/or directories that are defined here will have "config file protection"
-enabled for them. See the \fBCONFIGURATION FILES\fR section
+All files and/or directories that are defined here will have "config file
+protection" enabled for them. See the \fBCONFIGURATION FILES\fR section
of \fBemerge\fR(1) for more information.
.TP
-\fBCONFIG_PROTECT_MASK\fR = \fI[space delimited list of files and/or directories]\fR
-All files and/or directories that are defined here will have "config file protection"
-disabled for them. See the \fBCONFIGURATION FILES\fR section
+\fBCONFIG_PROTECT_MASK\fR = \fI[space delimited list of files and/or \
+directories]\fR
+All files and/or directories that are defined here will have "config file
+protection" disabled for them. See the \fBCONFIGURATION FILES\fR section
of \fBemerge\fR(1) for more information.
.TP
.B CTARGET
@@ -166,6 +194,10 @@ See the \fBPORTDIR\fR documentation for more information.
.br
Defaults to /usr/portage/distfiles.
.TP
+.B DCO_SIGNED_OFF_BY
+This variable may contain a name and email address which will be used by
+\fBrepoman\fR(1) to add a Signed\-off\-by line to each commit message.
+.TP
.B DOC_SYMLINKS_DIR
If this variable contains a directory then symlinks to html documentation will
be installed into it.
@@ -175,9 +207,9 @@ Defines whether or not to ignore audible beeps when displaying important
informational messages. This variable is unset by default.
.TP
.B EMERGE_DEFAULT_OPTS
-Options to append to the end of the \fBemerge\fR(1) command line on every invocation.
-These options will not be appended to the command line if \-\-ignore\-default\-opts
-is specified.
+Options to append to the end of the \fBemerge\fR(1) command line on every
+invocation. These options will not be appended to the command line if
+\-\-ignore\-default\-opts is specified.
.TP
.B EMERGE_LOG_DIR
Controls the location of emerge.log and emerge-fetch.log.
@@ -207,7 +239,7 @@ should not be disabled by default.
.RS
.TP
.B assume\-digests
-When commiting work to cvs with \fBrepoman\fR(1), assume that all existing
+When commiting work to cvs with \fBrepoman\fR(1), assume that all existing
SRC_URI digests are correct. This feature also affects digest generation via
\fBebuild\fR(1) and \fBemerge\fR(1) (emerge generates digests only when the
\fIdigest\fR feature is enabled). Existing digests for files that do not exist
@@ -234,8 +266,8 @@ Enable a special progress indicator when \fBemerge\fR(1) is calculating
dependencies.
.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
+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.
\fBWarning\fR: This feature is known to cause numerous compilation failures.
@@ -245,6 +277,10 @@ like "File not recognized: File truncated"), try recompiling the application
with ccache disabled before reporting a bug. Unless you are doing development
work, do not enable ccache.
.TP
+.B cgroup
+Use Linux control group to control processes spawned by ebuilds. This allows
+emerge to safely kill all subprocesses when ebuild phase exits.
+.TP
.B clean\-logs
Enable automatic execution of the command specified by the
PORT_LOGDIR_CLEAN variable. The default PORT_LOGDIR_CLEAN setting will
@@ -268,6 +304,13 @@ space. Make sure you have built both binutils and gdb with USE=zlib
support for this to work. See \fBsplitdebug\fR for general split debug
information (upon which this feature depends).
.TP
+.B compress\-index
+If set then a compressed copy of 'Packages' index file will be written.
+This feature is intended for Gentoo binhosts using certain webservers
+(such as, but not limited to, Nginx with gzip_static module) to avoid
+redundant on\-the\-fly compression. The resulting file will be called
+\[aq]Packages.gz' and its modification time will match that of 'Packages'.
+.TP
.B config\-protect\-if\-modified
This causes the \fBCONFIG_PROTECT\fR behavior to be skipped for files
that have not been modified since they were installed. This feature is
@@ -315,7 +358,7 @@ Both the \fBebuild\fR(1) command and the \fInoclean\fR feature cause the
\fIfail\-clean\fR feature to be automatically disabled.
.TP
.B getbinpkg
-Force emerges to always try to fetch files from the \fIPORTAGE_BINHOST\fR. See
+Force emerges to always try to fetch files from the \fIPORTAGE_BINHOST\fR. See
\fBmake.conf\fR(5) for more information.
.TP
.B installsources
@@ -347,6 +390,10 @@ would otherwise be useless with prefix configurations. This brings
compatibility with the prefix branch of portage, which also supports EPREFIX
for all EAPIs (for obvious reasons).
.TP
+.B ipc\-sandbox
+Isolate the ebuild phase functions from host IPC namespace. Supported
+only on Linux. Requires IPC namespace support in kernel.
+.TP
.B lmirror
When \fImirror\fR is enabled in \fBFEATURES\fR, fetch files even
when \fImirror\fR is also in the \fBebuild\fR(5) \fBRESTRICT\fR variable.
@@ -354,18 +401,17 @@ Do \fBNOT\fR use \fIlmirror\fR for clients that need to override \fBRESTRICT\fR
when fetching from a local mirror, but instead use a "local" mirror setting
in \fI/etc/portage/mirrors\fR, as described in \fBportage\fR(5).
.TP
+.B merge\-sync
+After a package is merged or unmerged, sync relevant files to
+disk in order to avoid data\-loss in the event of a power failure.
+This feature is enabled by default.
+.TP
.B metadata\-transfer
Automatically perform a metadata transfer when `emerge \-\-sync` is run.
In versions of portage >=2.1.5, this feature is disabled by
default. When metadata\-transfer is disabled, metadata cache from the
-${PORTDIR}/metadata/cache/ directory will be used directly (if available)
-and eclasses in ${PORTDIR}/eclass/ must not be modified except by
-`emerge \-\-sync` operations since the cache validation mechanism
-will not recognize eclass modifications. Normally, this issue only
-pertains to users of the rsync tree since the cvs tree does not contain
-a metadata/cache/ directory. Users of the rsync tree who want to modify
-eclasses should use \fBPORTDIR_OVERLAY\fR in order for the cache
-validation mechanism to work correctly.
+${repository_location}/metadata/md5\-cache/ directory will be used directly
+(if available).
.TP
.B mirror
Fetch everything in \fBSRC_URI\fR regardless of \fBUSE\fR settings,
@@ -378,12 +424,18 @@ isn't a symlink to /usr/lib64. To find the bad packages, we have a
portage feature called \fImultilib\-strict\fR. It will prevent emerge
from putting 64bit libraries into anything other than (/usr)/lib64.
.TP
+.B network\-sandbox
+Isolate the ebuild phase functions from host network interfaces.
+Supported only on Linux. Requires network namespace support in kernel.
+.TP
.B news
Enable GLEP 42 news support. See
\fIhttp://www.gentoo.org/proj/en/glep/glep-0042.html\fR.
.TP
.B noauto
-When utilizing \fBebuild\fR(1), only run the function requested.
+When utilizing \fBebuild\fR(1), only run the function requested. Also, forces
+the corresponding ebuild and eclasses to be sourced again for each phase, in
+order to account for modifications.
.TP
.B noclean
Do not delete the the source and temporary files after the merge process.
@@ -413,11 +465,6 @@ Use finer\-grained locks when installing packages, allowing for greater
parallelization. For additional parallelization, disable
\fIebuild\-locks\fR.
.TP
-.B parse\-eapi\-ebuild\-head
-Parse \fBEAPI\fR from the head of the ebuild as specified in PMS section
-7.3.1, and treat non\-conformant ebuilds as invalid. This feature is
-enabled by default, and will soon become enabled unconditionally.
-.TP
.B prelink\-checksums
If \fBprelink\fR(8) is installed then use it to undo any prelinks on files
before computing checksums for merge and unmerge. This feature is
@@ -434,6 +481,9 @@ already prelinked files to be merged.
.B preserve\-libs
Preserve libraries when the sonames change during upgrade or downgrade.
Libraries are preserved only if consumers of those libraries are detected.
+Preserved libraries are automatically removed when there are no remaining
+consumers. Run `emerge @preserved\-rebuild` in order to rebuild all
+consumers of preserved libraries.
.TP
.B protect\-owned
This is identical to the \fIcollision\-protect\fR feature except that files
@@ -447,10 +497,10 @@ selectively disable this feature. It is recommended to leave either
since otherwise file collisions between packages may result in files being
overwritten or uninstalled at inappropriate times.
If \fIcollision\-protect\fR is enabled then it takes precedence over
-\fIprotect\-owned\fR.
+\fIprotect\-owned\fR.
.TP
.B python\-trace
-Output a verbose trace of python execution to stderr when a command's
+Output a verbose trace of python execution to stderr when a command's
\-\-debug option is enabled.
.TP
.B sandbox
@@ -460,15 +510,16 @@ Enable sandbox\-ing when running \fBemerge\fR(1) and \fBebuild\fR(1).
Enable SELinux sandbox\-ing. Do not toggle this \fBFEATURE\fR yourself.
.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.
+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).
+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 skiprocheck
Skip write access checks on \fBDISTDIR\fR when fetching files. This is
@@ -483,20 +534,20 @@ incompatibility.
Store logs created by \fBPORTAGE_ELOG_SYSTEM="save"\fR in category
subdirectories of \fBPORT_LOGDIR/elog\fR, instead of using
\fBPORT_LOGDIR/elog\fR directly.
-.TP
+.TP
.B split\-log
Store build logs in category subdirectories of \fBPORT_LOGDIR/build\fR,
instead of using \fBPORT_LOGDIR\fR directly.
.TP
.B splitdebug
-Prior to stripping ELF etdyn and etexec files, the debugging info is
+Prior to stripping ELF etdyn and etexec files, the debugging info is
stored for later use by various debuggers. This feature is disabled by
\fBnostrip\fR. You should also consider setting \fBcompressdebug\fR so
the files don't suck up a lot of space. For installation of source code,
see \fBinstallsources\fR.
.TP
.B strict
-Have portage react strongly to conditions that have the potential to be
+Have portage react strongly to conditions that have the potential to be
dangerous (like missing or incorrect digests for ebuilds).
.TP
.B stricter
@@ -505,14 +556,17 @@ security provisions (for example textrels, executable stack). Read about
the \fIQA_STRICT_*\fR variables in \fBmake.conf\fR(5).
.TP
.B suidctl
-Before merging packages to the live filesystem, automatically strip setuid
+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)
+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). This feature implies the "test"
-\fBUSE\fR flag.
+\fBUSE\fR flag if it is a member of \fBIUSE\fR, either explicitly or
+implicitly (see \fBebuild\fR(5) for more information about \fBIUSE\fR).
+The "test" \fBUSE\fR flag is also automatically disabled when the
+"test" feature is disabled.
.TP
.B test\-fail\-continue
If "test" is enabled \fBFEATURES\fR and the test phase of an ebuild fails,
@@ -545,22 +599,28 @@ When portage is run as root, drop privileges to portage:portage during the
fetching of package sources.
.TP
.B userpriv
-Allow portage to drop root privileges and compile packages as
+Allow portage to drop root privileges 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).
+Enable the sandbox in the compile phase, when running without root privs
+(\fIuserpriv\fR).
.TP
.B usersync
-Drop privileges to the owner of \fBPORTDIR\fR for \fBemerge(1) --sync\fR
-operations.
+Drop privileges to the owner of ${repository_location} for \fBemerge(1) --sync\fR
+operations. Note that this feature assumes that all subdirectories of
+${repository_location} have the same ownership as ${repository_location} itself.
+It is the user's responsibility to ensure correct ownership, since otherwise
+Portage would have to waste time validating ownership for each and every sync
+operation.
.TP
.B webrsync-gpg
Enable GPG verification when using \fIemerge\-webrsync\fR.
.TP
.B xattr
Preserve extended attributes (filesystem-stored metadata) when installing
-files (see \fBattr\fR(1)).
+files (see \fBattr\fR(1)). The \fBPORTAGE_XATTR_EXCLUDE\fR variable may be
+used to exclude specific attributes from being preserved.
.RE
.TP
.B FETCHCOMMAND
@@ -587,9 +647,9 @@ the \fIebuild scripts\fR. Merging 'mirrorselect' can help. Entries in this
variable that have no protocol and simply start with a '/' path separator may
be used to specify mounted filesystem mirrors.
.TP
-\fBhttp_proxy ftp_proxy\fR = \fI[protocol://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
+\fBhttp_proxy ftp_proxy RSYNC_PROXY\fR = \fI[protocol://host:port]\fR
+These variables are used by network clients such as \fBwget\fR(1) and
+\fBrsync\fR(1). They are only required if you use a
proxy server for internet access.
.TP
\fBINSTALL_MASK\fR = \fI[space delimited list of file names]\fR
@@ -615,7 +675,7 @@ enabled for these flags may be closed as INVALID.
.TP
.B MAKEOPTS
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
+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. In order to avoid
excess load, the \fB\-\-load\-average\fR option is recommended.
@@ -644,9 +704,9 @@ Defaults to /usr/portage/packages.
This variable defines the directory in which per\-ebuild logs are kept.
Logs are created only when this is set. They are stored as
${CATEGORY}:${PF}:YYYYMMDD\-HHMMSS.log in the directory specified. If the
-directory does not exist, it will be created automatically and group permissions
-will be applied to it. If the directory already exists, portage will not
-modify it's permissions.
+directory does not exist, it will be created automatically and group
+permissions will be applied to it. If the directory already exists, portage
+will not modify it's permissions.
.TP
.B PORT_LOGDIR_CLEAN
This variable should contain a command for portage to call in order
@@ -658,16 +718,13 @@ unless \fBclean\-logs\fR is enabled in \fBFEATURES\fR.
\fBPORTAGE_BINHOST\fR = \fI[space delimited URI list]\fR
This is a list of hosts from which portage will grab prebuilt\-binary packages.
Each entry in the list must specify the full address of a directory
-serving 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. For versions of portage less that 2.1.6, this variable
-should point to the 'All' directory on the host that creates the binary
-packages and not to the root of the \fBPKGDIR\fR. Starting with portage 2.1.6,
-it should point to a directory containing a 'Packages' index file. If
-${PORTAGE_BINHOST}/Packages does not exist then portage will attempt to use
-the older protocol.
-.TP
-\fBPORTAGE_BINHOST_HEADER_URI\fR = \fI"ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon\-xp/"\fR
+serving tbz2's for your system (this directory must contain a 'Packages' index
+file). This is only used when running with
+the get binary pkg options are given to \fBemerge\fR. Review \fBemerge\fR(1)
+for more information.
+.TP
+\fBPORTAGE_BINHOST_HEADER_URI\fR = \
+\fI"ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon\-xp/"\fR
This variable only makes sense on a system that will serve as a binhost and
build packages for clients. It defines the URI header field for the package
index file which is located at ${PKGDIR}/Packages. Clients that have
@@ -680,6 +737,10 @@ setting as the base URI.
This variable contains options to be passed to the tar command for creation
of binary packages.
.TP
+.B PORTAGE_BINPKG_FORMAT
+This variable sets default format used for binary packages. Possible values
+are tar and rpm or both.
+.TP
\fBPORTAGE_BUNZIP2_COMMAND\fR = \fI[bunzip2 command string]\fR
This variable should contain a command that is suitable for portage to call
for bunzip2 extraction operations.
@@ -690,6 +751,23 @@ for bzip2 compression operations. \fBPORTAGE_BZIP2_COMMAND\fR will also be
called for extraction operation, with -d appended, unless the
\fBPORTAGE_BUNZIP2_COMMAND\fR variable is set.
.TP
+\fBPORTAGE_CHECKSUM_FILTER\fR = \fI[space delimited list of hash names]\fR
+This variable may be used to filter the hash functions that are used to
+verify integrity of files. Hash function names are case\-insensitive, and
+the \fI*\fR and \fI\-*\fR wildcard tokens are supported.
+.br
+Defaults to the value of *.
+.br
+.I Examples:
+.nf
+# Use all available hash functions
+PORTAGE_CHECKSUM_FILTER="*"
+# Use any function except whirlpool
+PORTAGE_CHECKSUM_FILTER="* \-whirlpool"
+# Only use sha256
+PORTAGE_CHECKSUM_FILTER="\-* sha256"
+.fi
+.TP
\fBPORTAGE_COMPRESS\fR = \fI"bzip2"\fR
This variable contains the command used to compress documentation during the
install phase.
@@ -794,7 +872,7 @@ Additional rsync options to be used by \fBemerge \-\-sync\fR.
Defaults to no value.
.TP
\fBPORTAGE_RSYNC_OPTS\fR = \fI[rsync options string]\fR
-Default rsync options to be used by \fBemerge \-\-sync\fR.
+Default rsync options to be used by \fBemerge \-\-sync\fR.
.br
\fBDon't change this unless you know exactly what you're doing!\fR
.br
@@ -810,6 +888,14 @@ addresses are exhausted.
.br
Defaults to -1.
.TP
+\fBPORTAGE_SSH_OPTS\fR = \fI[list of ssh options]\fR
+Additional ssh options to be used when portage executes ssh or sftp.
+This variable supports use of embedded quote characters to quote
+whitespace or special shell characters within arguments (embedded
+quotes must be escaped in make.conf settings).
+.br
+Defaults to no value.
+.TP
\fBPORTAGE_SYNC_STALE\fR = \fI[NUMBER]\fR
Defines the number of days after the last `emerge \-\-sync` that a warning
message should be produced. A value of 0 will disable warnings.
@@ -820,6 +906,8 @@ Defaults to 30.
Defines the location of the temporary build directories.
.br
Defaults to /var/tmp.
+
+This should not be set to point anywhere under location of any repository.
.TP
\fBPORTAGE_USERNAME\fR = \fI[user]\fR
Defines the username to use when executing in userpriv/etc... modes (i.e.
@@ -830,12 +918,18 @@ Defaults to portage.
\fBPORTAGE_WORKDIR_MODE\fR = \fI"0700"\fR
This variable controls permissions for \fIWORKDIR\fR (see \fBebuild\fR(5)).
.TP
+\fBPORTAGE_XATTR_EXCLUDE\fR = \fI[space delimited list of fnmatch patterns]\fR
+This variable may be used to exclude specific attributes from being preserved
+when \fBxattr\fR is in \fBFEATURES\fR.
+.br
+Defaults to "security.*" (security labels are special, see bug #461868).
+.TP
\fBPORTDIR\fR = \fI[path]\fR
-Defines the location of the Portage tree. This is the repository for all
-profile information as well as all ebuilds. If you change this, you must update
-your /etc/make.profile symlink accordingly.
+Defines the location of main repository. This variable is deprecated in favor of
+settings in \fBrepos.conf\fR. If you change this, you must update
+your /etc/portage/make.profile symlink accordingly.
.br
-Defaults to /usr/portage.
+Defaults to /usr/portage.
.br
\fB***Warning***\fR
.br
@@ -843,13 +937,13 @@ Data stored inside \fBPORTDIR\fR is in peril of being overwritten or deleted by
the emerge \-\-sync command. The default value of
\fBPORTAGE_RSYNC_OPTS\fR will protect the default locations of
\fBDISTDIR\fR and \fBPKGDIR\fR, but users are warned that any other locations
-inside \fBPORTDIR\fR are not necessarily safe for data storage. You should not
-put other data (such as overlays) in your \fBPORTDIR\fB. Portage will walk
-directory structures and may arbitrary add invalid categories as packages.
+inside \fBPORTDIR\fR are not necessarily safe for data storage. You should not
+put other data (such as overlays) in your \fBPORTDIR\fB. Portage will walk
+directory structures and may arbitrarily add invalid categories as packages.
.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
+Defines the locations of other repositories. This variable is deprecated in
+favor of settings in \fBrepos.conf\fR. This variable is a space\-delimited list of
directories.
.br
Defaults to no value.
@@ -870,10 +964,9 @@ settings from ebuilds. See also \fBebuild\fR(5).
Set this to cause portage to ignore any \fIQA_FLAGS_IGNORED\fR override
settings from ebuilds. See also \fBebuild\fR(5).
.TP
-\fBQA_STRICT_DT_HASH = \fI"set"\fR
-Set this to cause portage to ignore any \fIQA_DT_HASH\fR override
-settings from ebuilds. This variable is deprecated. Use
-\fIQA_STRICT_FLAGS_IGNORED\fR instead.
+\fBQA_STRICT_MULTILIB_PATHS = \fI"set"\fR
+Set this to cause portage to ignore any \fIQA_MULTILIB_PATHS\fR override
+settings from ebuilds. See also \fBebuild\fR(5).
.TP
\fBQA_STRICT_PRESTRIPPED = \fI"set"\fR
Set this to cause portage to ignore any \fIQA_PRESTRIPPED\fR override
@@ -887,25 +980,46 @@ be necessary in order to continue a partially downloaded file located at
\\${DISTDIR}/\\${FILE}.
.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. Make sure you use an absolute path.
+Use \fBROOT\fR to specify the target root filesystem to be used for merging
+packages or ebuilds.
+Typically, you should set this setting in the environment rather than in
+\fImake.conf\fR itself. It's commonly used for creating new build
+images. Make sure you use an absolute path. Refer to the
+\fBCross-compilation\fR section of \fBebuild\fR(5) for information about
+how dependencies are handled for \fBROOT\fR.
.br
Defaults to /.
.TP
\fBRPMDIR\fR = \fI[path]\fR
Defines the location where created RPM packages will be stored.
.br
-Defaults to ${PORTDIR}/rpm.
+Defaults to /usr/portage/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
+
+Note that the \fBSYNC\fR variable is now deprecated, and instead the
+sync\-type and sync\-uri attributes in repos.conf should be used. See
+\fBportage\fR(5) for more information.
+
Defaults to rsync://rsync.gentoo.org/gentoo\-portage
+.RS
+.TP
+.B Usage:
+(rsync|ssh)://[username@]hostname[:port]/(module|path)
+.TP
+.B Examples:
+rsync://private\-mirror.com/portage\-module
+.br
+rsync://rsync\-user@private\-mirror.com:873/gentoo\-portage
+.br
+ssh://ssh\-user@192.168.0.1:22/usr/portage
+.br
+ssh://ssh\-user@192.168.0.1:22/\\${HOME}/portage\-storage
+.TP
+Note: For the ssh:// scheme, key\-based authentication might be of interest.
+.RE
.TP
\fBUNINSTALL_IGNORE\fR = \fI[space delimited list of fnmatch patterns]\fR
This variable prevents uninstallation of files that match
@@ -920,15 +1034,6 @@ 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_EXPAND\fR = \fI[space delimited list of variable names]\fR
-Any variable listed here will be used to augment USE by inserting a new flag
-for every value in that variable, so USE_EXPAND="FOO" and FOO="bar bla" results
-in USE="foo_bar foo_bla".
-.TP
-\fBUSE_EXPAND_HIDDEN\fR = \fI[space delimited list of variable names]\fR
-Names of \fBUSE_EXPAND\fR variables that should not be shown in the verbose merge
-list output of the \fBemerge\fR(1) command.
-.TP
\fBUSE_ORDER\fR = \fI"env:pkg:conf:defaults:pkginternal:repo:env.d"\fR
Determines the precedence of layers in the incremental stacking of the USE
variable. Precedence decreases from left to right such that env overrides
@@ -975,14 +1080,17 @@ Daniel Robbins <drobbins@gentoo.org>
Nicholas Jones <carpaski@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
Saleem Abdulrasool <compnerd@gentoo.org>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
.fi
.SH "FILES"
.TP
\fB/etc/make.conf\fR and \fB/etc/portage/make.conf\fR
-Contains variables for the build\-process and overwrites those in make.defaults.
+Contains variables for the build\-process and overwrites those in
+make.defaults.
.TP
.B /usr/share/portage/config/make.globals
-Contains the default variables for the build\-process, you should edit \fI/etc/make.conf\fR instead.
+Contains the default variables for the build\-process, you should edit
+\fI/etc/portage/make.conf\fR instead.
.TP
.B /etc/portage/color.map
Contains variables customizing colors.
@@ -998,6 +1106,6 @@ Contains a list of all local USE variables.
.BR ebuild (1),
.BR ebuild (5)
.TP
-The \fI/usr/sbin/ebuild.sh\fR script.
+The \fI/usr/lib/portage/bin/ebuild.sh\fR script.
.TP
The helper apps in \fI/usr/lib/portage/bin\fR.
diff --git a/man/portage.5 b/man/portage.5
index ad84ff1a758..e399f0fca8e 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -1,26 +1,21 @@
-.TH "PORTAGE" "5" "Jun 2012" "Portage VERSION" "Portage"
+.TH "PORTAGE" "5" "Feb 2014" "Portage VERSION" "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
+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
+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
+If you are looking for information on how to emerge something, please see
.BR emerge (1).
.SH "SYNOPSIS"
.TP
-.BR /etc/
-.nf
-.BR make.conf (5)
-.fi
-.TP
-\fB/etc/make.profile/\fR or \fB/etc/portage/make.profile/\fR
+\fB/etc/portage/make.profile/\fR or \fB/etc/make.profile/\fR
site\-specific overrides go in \fB/etc/portage/profile/\fR
.nf
deprecated
@@ -36,10 +31,14 @@ package.unmask
package.use
package.use.force
package.use.mask
+package.use.stable.force
+package.use.stable.mask
parent
profile.bashrc
use.force
use.mask
+use.stable.mask
+use.stable.force
virtuals
.fi
.TP
@@ -49,10 +48,11 @@ bashrc
categories
color.map
license_groups
-make.conf
+.BR make.conf (5)
mirrors
modules
package.accept_keywords
+package.accept_restrict
package.env
package.keywords
package.license
@@ -67,7 +67,7 @@ repos.conf
package-specific bashrc files
.TP
.BR /etc/portage/profile/
-site-specific overrides of \fB/etc/make.profile/\fR
+site-specific overrides of \fB/etc/portage/make.profile/\fR
.TP
.BR /etc/portage/sets/
user\-defined package sets
@@ -90,6 +90,8 @@ package.unmask
package.use
package.use.force
package.use.mask
+package.use.stable.force
+package.use.stable.mask
profiles.desc
repo_name
thirdpartymirrors
@@ -97,11 +99,14 @@ use.desc
use.force
use.local.desc
use.mask
+use.stable.mask
+use.stable.force
.fi
.TP
.BR /usr/share/portage/config/
.nf
make.globals
+repos.conf
.fi
.TP
.BR /var/cache/edb/
@@ -117,8 +122,8 @@ world
world_sets
.fi
.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
+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
@@ -127,7 +132,7 @@ An atom is either of the form category/package or consists of an operator
followed by category/package followed by a hyphen and a version specification.
An atom might be suffixed by a slot specification.
.br
-More reading:
+More reading:
.BR ebuild (5)
.B Extended Atom Syntax
@@ -141,8 +146,7 @@ configuration files and command line arguments for programs such as
Atoms with repository constraints have a '::' separator appended to the
right side, followed by a repository name. Each repository name should
correspond to the value of a \fBrepo_name\fR entry from one of the
-repositories that is configured via the \fBPORTDIR\fR or
-\fBPORTDIR_OVERLAY\fR variables (see \fBmake.conf\fR(5)).
+repositories that is configured in \fBrepos.conf\fR file.
.I Examples:
.nf
@@ -165,6 +169,8 @@ next to each other.
# match anything with a version containing 9999, which can be used in
# package.mask to prevent emerge --autounmask from selecting live ebuilds
=*/*-*9999*
+# match anything with a version containing _beta
+=*/*-*_beta*
# match anything from the 'sys\-apps' category
sys\-apps/*
# match packages named 'zlib' from any category
@@ -181,38 +187,31 @@ net\-*/*
.B KEYWORD
Each architecture has a unique KEYWORD.
.br
-More reading:
+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
+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:
+More reading:
.BR ebuild (5)
.RE
.SH "SPECIFIC FILE DESCRIPTIONS"
.TP
-.BR /etc/
-.RS
-.TP
-.BR make.conf
-The global custom settings for Portage. See \fBmake.conf\fR(5).
-.RE
-.TP
-\fB/etc/make.profile/\fR or \fB/etc/portage/make.profile/\fR
-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
+\fB/etc/portage/make.profile/\fR or \fB/etc/make.profile/\fR
+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 \fBmake.profile\fR
+directory and populate it. However, if you just wish to override some
settings, use \fB/etc/portage/profile/\fR (it supports all of the same file
-types that \fB/etc/make.profile/\fR does, except parent). Do NOT edit the
-settings in \fB/etc/make.profile/\fR because they WILL be lost with the next
-`emerge \-\-sync`. If both \fB/etc/make.profile/\fR and
-\fB/etc/portage/make.profile/\fR exist, then \fB/etc/make.profile/\fR
+types that \fBmake.profile\fR does, except parent). Do NOT edit the
+settings in \fBmake.profile\fR because they WILL be lost with the next
+`emerge \-\-sync`. If both \fB/etc/portage/make.profile/\fR and
+\fB/etc/make.profile/\fR exist, then \fB/etc/portage/make.profile/\fR
will be preferred.
Any file in this directory, directories of other profiles or top-level
@@ -224,33 +223,39 @@ portage-2.1.6.7, and it is not included in PMS at this time.
.I Example:
.nf
-${PORTDIR}/profiles/package.mask/removals
-${PORTDIR}/profiles/package.mask/testing
+${repository_location}/profiles/package.mask/removals
+${repository_location}/profiles/package.mask/testing
.fi
.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
+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
+# rm -f /etc/portage/make.profile
+# ln -s /usr/portage/profiles/default-linux/alpha/2005.0 \
+/etc/portage/make.profile
.fi
.TP
.BR eapi
The first line of this file specifies the \fBEAPI\fR to which files in the
same directory conform. See \fBebuild\fR(5) for information about \fBEAPI\fR
-and related features.
+and related features. Beginning with \fBEAPI 5\fR, new USE
+configuration files are supported: use.stable.mask,
+use.stable.force, package.use.stable.mask and
+package.use.stable.force. These files behave similarly to
+previously supported USE configuration files, except that they
+only influence packages that are merged due to a stable keyword.
.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
+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
@@ -259,21 +264,66 @@ few specific variables too:
.BR ARCH
Architecture type (x86/ppc/hppa/etc...).
.TP
+\fBIUSE_IMPLICIT\fR = \fI[space delimited list of USE flags]\fR
+Defines implicit \fBIUSE\fR for ebuilds using \fBEAPI 5\fR or
+later. Flags that come from \fBUSE_EXPAND\fR or
+\fBUSE_EXPAND_UNPREFIXED\fR variables do not belong in
+\fBIUSE_IMPLICIT\fR, since \fBUSE_EXPAND_VALUES_*\fR variables
+are used to define implicit \fBIUSE\fR for those flags. See
+\fBebuild\fR(5) for more information about \fBIUSE\fR.
+.TP
.B USERLAND = \fI"GNU"\fR
Support BSD/cygwin/etc...
.TP
+\fBUSE_EXPAND\fR = \fI[space delimited list of variable names]\fR
+Any variable listed here will be used to augment USE by inserting a new flag
+for every value in that variable, so USE_EXPAND="FOO" and FOO="bar bla" results
+in USE="foo_bar foo_bla".
+.TP
+\fBUSE_EXPAND_HIDDEN\fR = \fI[space delimited list of variable names]\fR
+Names of \fBUSE_EXPAND\fR variables that should not be shown in the verbose
+merge list output of the \fBemerge\fR(1) command.
+.TP
+\fBUSE_EXPAND_IMPLICIT\fR = \fI[space delimited list of variable names]\fR
+Defines \fBUSE_EXPAND\fR and \fBUSE_EXPAND_UNPREFIXED\fR
+variables for which the corresponding USE flags may have
+implicit \fBIUSE\fR for ebuilds using \fBEAPI 5\fR or later.
+.TP
+\fBUSE_EXPAND_UNPREFIXED\fR = \fI[space delimited list of variable names]\fR
+Any variable listed here will be used to augment USE by
+inserting a new flag for every value in that variable, so
+USE_EXPAND_UNPREFIXED="FOO" and FOO="bar bla" results in
+USE="bar bla".
+.TP
+\fBUSE_EXPAND_VALUES_ARCH\fR = \fI[space delimited list of ARCH values]\fR
+Defines ARCH values used to generate implicit
+\fBIUSE\fR for ebuilds using \fBEAPI 5\fR or later.
+.TP
+\fBUSE_EXPAND_VALUES_ELIBC\fR = \fI[space delimited list of ELIBC values]\fR
+Defines ELIBC values used to generate implicit
+\fBIUSE\fR for ebuilds using \fBEAPI 5\fR or later.
+.TP
+\fBUSE_EXPAND_VALUES_KERNEL\fR = \fI[space delimited list of KERNEL values]\fR
+Defines KERNEL values used to generate implicit
+\fBIUSE\fR for ebuilds using \fBEAPI 5\fR or later.
+.TP
+\fBUSE_EXPAND_VALUES_USERLAND\fR = \fI[space delimited list of USERLAND \
+values]\fR
+Defines USERLAND values used to generate implicit
+\fBIUSE\fR for ebuilds using \fBEAPI 5\fR or later.
+.TP
.B ELIBC = \fI"glibc"\fR
Support uClibc/BSD libc/etc...
.TP
.B PROFILE_ONLY_VARIABLES = \fI"ARCH"\fR
-Prevent critical variables from being changed by the user in make.conf
+Prevent critical variables from being changed by the user in make.conf
or the env.
.TP
.BR PROFILE_ARCH
-Distinguish machines classes that have the same \fBARCH\fR. All sparc
+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
+.BR BOOTSTRAP_USE
Special USE flags which may be needed when bootstrapping from stage1 to stage2.
.RE
.PD 1
@@ -289,8 +339,8 @@ Provides the list of packages that compose the special \fIsystem\fR set.
\- atoms without * only appear for legacy reasons
.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
+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:
@@ -305,16 +355,16 @@ a '\-'.
.fi
.TP
.BR packages.build
-A list of packages (one per line) that make up a stage1 tarball. Really only
+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
+A list of packages (one per line) that portage should assume have been
provided. Useful for porting to non-Linux systems. 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
+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.
Portage will not attempt to update a package that is listed here unless
@@ -324,7 +374,9 @@ entries may cause installed packages satisfying equivalent dependencies
to be removed by \fBemerge\fR(1) \fB\-\-depclean\fR actions (see the
\fBACTIONS\fR section of the \fBemerge\fR(1) man page for more information).
-Virtual packages (virtual/*) should not be specified in package.provided.
+Virtual packages (virtual/*) should not be specified in package.provided,
+since virtual packages themselves do not provide any files, and
+package.provided is intended to represent packages that do provide files.
Depending on the type of virtual, it may be necessary to add an entry to the
virtuals file and/or add a package that satisfies a virtual to
package.provided.
@@ -349,12 +401,12 @@ x11-libs/qt-3.3.0
x11-base/xorg-x11-6.8
.fi
.TP
-.BR package.use.force
+\fBpackage.use.force\fR and \fBpackage.use.stable.force\fR
Per\-package USE flag forcing.
.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
+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:
@@ -371,12 +423,12 @@ a '\-'.
x11\-libs/qt \-mysql
.fi
.TP
-.BR package.use.mask
+\fBpackage.use.mask\fR and \fBpackage.use.stable.mask\fR
Per\-package USE flag masks.
.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
+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:
@@ -394,23 +446,31 @@ x11\-libs/qt \-mysql
.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.
+This contains paths to the parent profiles (one per line). They may be either
+relative (to the location of the profile) or absolute. Most commonly this file
+contains '..' to indicate the directory above. Utilized only in cascading
+profiles.
+
+When multiple parent profiles are specified, they are inherited in order from
+the first line to the last.
+
+If \fBlayout.conf\fR is new enough, you can also use the <repo>:<path>
+syntax. The <repo> is the same string as is stored in the \fBrepo_name\fR
+file (or omitted to refer to the current repo), and <path> is a subdir starting
+at profiles/.
.TP
.BR profile.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 use.force
+\fBuse.force\fR and \fBuse.stable.force\fR
Some USE flags don't make sense to disable under certain conditions. Here we
list forced flags.
.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
+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:
@@ -419,14 +479,14 @@ a '\-'.
\- one USE flag per line
.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
+\fBuse.mask\fR and \fBuse.stable.mask\fR
+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
+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:
@@ -444,12 +504,13 @@ doc
.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.
+The virtuals file controls default preferences for virtuals that
+are defined via the \fBPROVIDE\fR ebuild variable (see
+\fBebuild\fR(5)). Since Gentoo now uses \fBGLEP 37\fR virtuals
+instead of \fBPROVIDE\fR virtuals, the virtuals file is
+irrelevant for all Gentoo ebuilds. However, it is still possible
+for third\-parties to distribute ebuilds that make use of
+\fBPROVIDE\fR.
.I Format:
.nf
@@ -467,10 +528,10 @@ virtual/aspell\-dict app\-dicts/aspell\-en
.RE
.TP
.BR /etc/portage/
-Any file in this directory that begins with "package." can be more than just a
-flat file. If it is a directory, then all the files in that directory will be
-sorted in ascending alphabetical order by file name and summed together as if
-it were a single file.
+Any file in this directory that begins with "package." or is repos.conf can be
+more than just a flat file. If it is a directory, then all the files in that
+directory will be sorted in ascending alphabetical order by file name and summed
+together as if it were a single file.
.I Example:
.nf
@@ -488,9 +549,8 @@ any other bash script.
Additional package-specific bashrc files can be created in /etc/portage/env.
.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.
+A simple list of valid categories that may be used in repositories and PKGDIR
+(see \fBmake.conf\fR(5)). This allows for custom categories to be created.
.I Format:
.nf
@@ -508,14 +568,13 @@ Contains variables customizing colors. See \fBcolor.map\fR(5).
.TP
.BR make.conf
The global custom settings for Portage. See \fBmake.conf\fR(5).
-If present, this file will override settings from /etc/make.conf.
.TP
.BR mirrors
-Whenever portage encounters a mirror:// style URI 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
+Whenever portage encounters a mirror:// style URI 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="mirror" or RESTRICT="fetch".
.I Format:
@@ -550,15 +609,15 @@ After changing the portdbapi.auxdbmodule setting, it may be necessary to
transfer or regenerate metadata cache. Users of the rsync tree need to
run `emerge \-\-metadata` if they have enabled FEATURES="metadata-transfer"
in \fBmake.conf\fR(5). In order to regenerate metadata for repositories
-listed in \fBPORTDIR_OVERLAY\fR or a cvs tree, run `emerge \-\-regen`
+not distributing pregenerated metadata cache, run `emerge \-\-regen`
(see \fBemerge\fR(1)). If you use something like the sqlite module and want
to keep all metadata in that format alone (useful for querying), enable
FEATURES="metadata-transfer" in \fBmake.conf\fR(5).
.TP
\fBpackage.accept_keywords\fR and \fBpackage.keywords\fR
-Per\-package ACCEPT_KEYWORDS. Useful for mixing unstable packages in with a normally
-stable system or vice versa. This will allow ACCEPT_KEYWORDS to be augmented
-for a single package. If both \fBpackage.accept_keywords\fR and
+Per\-package ACCEPT_KEYWORDS. Useful for mixing unstable packages in with a
+normally stable system or vice versa. This will allow ACCEPT_KEYWORDS to be
+augmented for a single package. If both \fBpackage.accept_keywords\fR and
\fBpackage.keywords\fR are present, both of them will be used, and values
from \fBpackage.accept_keywords\fR will override values from
\fBpackage.keywords\fR. The \fBpackage.accept_keywords\fR file is
@@ -593,22 +652,37 @@ three special tokens:
.fi
.I Additional Note:
-If you encounter the \fB-*\fR KEYWORD, this indicates that the package is known
-to be broken on all systems which are not otherwise listed in KEYWORDS. For
+If you encounter the \fB-*\fR KEYWORD, this indicates that the package is known
+to be broken on all systems which are not otherwise listed in KEYWORDS. For
example, a binary only package which is built for x86 will look like:
games-fps/quake3-demo-1.11.ebuild:KEYWORDS="-* x86"
-If you wish to accept this package anyways, then use one of the other keywords in your
-package.accept_keywords like this:
+If you wish to accept this package anyways, then use one of the other keywords
+in your package.accept_keywords like this:
games-fps/quake3-demo x86
.TP
+.BR package.accept_restrict
+This will allow ACCEPT_RESTRICT (see \fBmake.conf\fR(5)) to be augmented for a
+single package.
+
+.I Format:
+.nf
+\- comment lines begin with # (no inline comments)
+\- one DEPEND atom per line followed by additional RESTRICT tokens
+.fi
+.TP
.BR package.env
Per\-package environment variable settings. Entries refer to
environment files that are placed in the \fB/etc/portage/env/\fR
-directory and have the same format as \fBmake.conf\fR(5).
+directory and have the same format as \fBmake.conf\fR(5). Note that these
+files are interpreted much earlier than the package\-specific \fIbashrc\fR
+files which are described in a later section about \fB/etc/portage/env/\fR.
+Beginners should be careful to recognize the difference between these two types
+of files. When environment variable settings are all that's needed,
+\fBpackage.env\fR is the recommended approach to use.
.I Format:
.nf
@@ -618,13 +692,15 @@ directory and have the same format as \fBmake.conf\fR(5).
.I Example:
.nf
-# use environment variables from /etc/portage/env/glibc.conf for the glibc package
+# use environment variables from /etc/portage/env/glibc.conf for the glibc \
+package
sys\-libs/glibc glibc.conf
.fi
.TP
.BR package.license
-This will allow ACCEPT_LICENSE to be augmented for a single package.
+This will allow ACCEPT_LICENSE (see \fBmake.conf\fR(5)) to be augmented for a
+single package.
.I Format:
.nf
@@ -652,7 +728,8 @@ versions earlier than 1.0.4496. No problem!
.fi
.TP
.BR package.properties
-This will allow ACCEPT_PROPERTIES to be augmented for a single package.
+This will allow ACCEPT_PROPERTIES (see \fBmake.conf\fR(5)) to be augmented for
+a single package.
.I Format:
.nf
@@ -661,15 +738,15 @@ This will allow ACCEPT_PROPERTIES to be augmented for a single package.
.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
-above). Note that this does not override packages that are masked via
+Just like package.mask above, except here you list packages you want to
+unmask. Useful for overriding the global package.mask file (see
+above). Note that this does not override packages that are masked via
KEYWORDS.
.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
+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:
@@ -687,30 +764,153 @@ x11\-libs/qt \-mysql
.fi
.TP
.BR repos.conf
-Specifies \fIsite\-specific\fR repository configuration information. Note that
-configuration settings which are specified here do not apply to tools
-such as \fBrepoman\fR(1) and \fBegencache\fR(1), since operations
-performed by these tools
-are inherently \fBnot\fR \fIsite\-specific\fR. \fBWARNING:\fR Use of
-\fBrepos.conf\fR is generally not recommended since resulting changes in
-eclass inheritance (especially due to \fBeclass\-overrides\fR) may trigger
-performance issues under some circumstances (see \fBbug #124041\fR). When
-using \fBeclass\-overrides\fR, due to bug #276264, you must ensure that
-your portage tree does not contain a metadata/cache/ directory. If that
-directory exists then you should remove it entirely, and set
-PORTAGE_RSYNC_EXTRA_OPTS="\-\-exclude=/metadata/cache" in
-make.conf in order to exclude the metadata/cache/ directory during
-\fBemerge\fR(1) \-\-sync operations.
+Specifies \fIsite\-specific\fR repository configuration information.
+.br
+Configuration specified in \fBrepos.conf\fR can be overriden by \fBPORTAGE_REPOSITORIES\fR
+environmental variable, which has the same format as \fBrepos.conf\fR.
+
+.I Format:
+.nf
+\- comments begin with # (no inline comments)
+\- configuration of each repository is specified in a section starting with \
+"[${repository_name}]"
+\- attributes are specified in "${attribute} = ${value}" format
+.fi
+
+.I Attributes supported in DEFAULT section:
+.RS
+.RS
+.TP
+.B main\-repo
+Specifies main repository.
+.TP
+.B eclass\-overrides
+Makes all repositories inherit eclasses from specified repositories.
+.br
+Setting this attribute is generally not recommended since resulting changes
+in eclass inheritance may trigger performance issues due to invalidation
+of metadata cache.
+.br
+When 'force = eclass\-overrides' attribute is not set, \fBegencache\fR(1),
+\fBemirrordist\fR(1) and \fBrepoman\fR(1) ignore this attribute,
+since operations performed by these tools are inherently
+\fBnot\fR \fIsite\-specific\fR.
+.TP
+.B force
+Specifies names of attributes, which should be forcefully respected by
+\fBegencache\fR(1), \fBemirrordist\fR(1) and \fBrepoman\fR(1).
+.br
+Valid values: aliases, eclass\-overrides, masters
+.RE
+
+.I Attributes supported in sections of repositories:
+.RS
+.TP
+.B aliases
+Specifies aliases of given repository.
+.br
+Setting this attribute is generally not recommended since resulting changes
+in eclass inheritance may trigger performance issues due to invalidation
+of metadata cache.
+.br
+When 'force = aliases' attribute is not set, \fBegencache\fR(1),
+\fBemirrordist\fR(1) and \fBrepoman\fR(1) ignore this attribute,
+since operations performed by these tools are inherently
+\fBnot\fR \fIsite\-specific\fR.
+.TP
+.B eclass\-overrides
+Makes given repository inherit eclasses from specified repositories.
+.br
+Setting this attribute is generally not recommended since resulting changes
+in eclass inheritance may trigger performance issues due to invalidation
+of metadata cache.
+.br
+When 'force = eclass\-overrides' attribute is not set, \fBegencache\fR(1),
+\fBemirrordist\fR(1) and \fBrepoman\fR(1) ignore this attribute,
+since operations performed by these tools are inherently
+\fBnot\fR \fIsite\-specific\fR.
+.TP
+.B force
+Specifies names of attributes, which should be forcefully respected by
+\fBegencache\fR(1), \fBemirrordist\fR(1) and \fBrepoman\fR(1).
+.br
+Valid values: aliases, eclass\-overrides, masters
+.TP
+.B location
+Specifies location of given repository.
+.TP
+.B masters
+Specifies master repositories of given repository.
+.br
+Setting this attribute is generally not recommended since resulting changes
+in eclass inheritance may trigger performance issues due to invalidation
+of metadata cache.
+.br
+When 'force = masters' attribute is not set, \fBegencache\fR(1),
+\fBemirrordist\fR(1) and \fBrepoman\fR(1) ignore this attribute,
+since operations performed by these tools are inherently
+\fBnot\fR \fIsite\-specific\fR.
+.TP
+.B priority
+Specifies priority of given repository.
+.TP
+.B sync\-cvs\-repo
+Specifies CVS repository.
+.TP
+.B sync\-type
+Specifies type of synchronization performed by `emerge \-\-sync`.
+.br
+Valid non\-empty values: cvs, git, rsync
+.br
+This attribute can be set to empty value to disable synchronization of given
+repository. Empty value is default.
+.TP
+.B sync\-uri
+Specifies URI of repository used for synchronization performed by `emerge
+\-\-sync`.
+.br
+This attribute can be set to empty value to disable synchronization of given
+repository. Empty value is default.
+.RS
+.TP
+Syntax:
+cvs: [cvs://]:access_method:[username@]hostname[:port]:/path
+.br
+git: (git|git+ssh|http|https)://[username@]hostname[:port]/path
+.br
+rsync: (rsync|ssh)://[username@]hostname[:port]/(module|path)
+.TP
+Examples:
+.RS
+rsync://private\-mirror.com/portage\-module
+.br
+rsync://rsync\-user@private\-mirror.com:873/gentoo\-portage
+.br
+ssh://ssh\-user@192.168.0.1:22/usr/portage
+.br
+ssh://ssh\-user@192.168.0.1:22/\\${HOME}/portage\-storage
+.RE
+.TP
+Note: For the ssh:// scheme, key\-based authentication might be of interest.
+.RE
+.RE
.I Example:
.nf
[DEFAULT]
+# make gentoo the main repository, which makes it the default master
+# repository for repositories that do not specify masters
+main\-repo = gentoo
# make all repositories inherit eclasses from the java\-overlay and
# java\-experimental repositories, with eclasses from java\-experimental
# taking precedence over those from java\-overlay
eclass\-overrides = java\-overlay java\-experimental
[gentoo]
+# repos with higher priorities are preferred when ebuilds with equal versions
+# are found in multiple repos (see the `emerge \-\-info \-\-verbose` repo
+# display for a listing of repos and their corresponding priorities).
+priority = 9999
# disable all eclass overrides for ebuilds from the gentoo repository
eclass\-overrides =
# when processing metadata/layout.conf from other repositories, substitute
@@ -728,8 +928,16 @@ masters = gentoo kde
# those master repos won't be required as dependencies (the user must
# ensure that any required dependencies such as eclasses are satisfied)
masters =
+
+# Repository 'gentoo' synchronized using CVS
+[gentoo]
+location = /usr/portage
+sync\-type = cvs
+sync\-uri = :pserver:anonymous@anoncvs.gentoo.org:/var/cvsroot
+sync\-cvs\-repo = gentoo\-x86
.fi
.RE
+.RE
.TP
.BR /etc/portage/env/
.RS
@@ -739,20 +947,9 @@ needed, then \fB/etc/portage/package.env\fR should be used instead of the
bashrc approach that is described here. Also note that special variables
such as \fBFEATURES\fR and \fBINSTALL_MASK\fR will not produce the intended
results if they are set in bashrc, and therefore
-\fB/etc/portage/package.env\fR should be used instead.
-
-set_unless_changed and unset_unless_changed functions can be used to set or
-unset given variables only if these variable have not been set to values
-different than values set in make.conf. This functionality can be useful for
-temporary overriding of these variables during emerge invocation. Variables
-set without using set_unless_changed will unconditionally override variables
-set during emerge invocation.
-
-.I Syntax:
-.nf
-set_unless_changed VARIABLE=VALUE
-unset_unless_changed VALUE
-.fi
+\fB/etc/portage/package.env\fR should be used instead. Lastly, note that these
+files are interpreted much later than the portage environment file
+\fBpackage.env\fR.
Portage will source all of these bashrc files after \fB/etc/portage/bashrc\fR
in the following order:
@@ -771,8 +968,10 @@ in the following order:
.RS
For each file in this directory, a package set is created with its name
corresponding to the name of the file. Each file should contain a list
-of package atoms, one per line. When referencing package sets in
-\fBemerge\fR(1) arguments, the set name is prefixed with \fB@\fR.
+of package atoms and nested package sets, one per line. When a package
+set is referenced as an \fBemerge\fR(1) argument or when it is
+referenced as a nested package set (inside of another package set), the
+set name is prefixed with \fB@\fR.
Also see \fB/var/lib/portage/world_sets\fR and the \fBemerge\fR(1)
\fB\-\-list\-sets\fR option.
@@ -782,49 +981,127 @@ Also see \fB/var/lib/portage/world_sets\fR and the \fBemerge\fR(1)
.RS
.TP
.BR layout.conf
-Specifies information about the repository layout. A
-"masters" attribute is supported, which is used to specify names of
-repositories which satisfy dependencies on eclasses and/or ebuilds. Each
-repository name should correspond the value of a \fBrepo_name\fR entry
-from one of the repositories that is configured via the \fBPORTDIR\fR or
-\fBPORTDIR_OVERLAY\fR variables (see \fBmake.conf\fR(5)). Repositories listed
-toward the right of the \fBmasters\fR list take precedence over those listed
-toward the left of the list. An "aliases" attribute is also supported, which
-behaves like an "aliases" attribute in \fBrepos.conf\fR. \fISite-specific\fR
-overrides to \fBlayout.conf\fR settings may be specified in
-\fB/etc/portage/repos.conf\fR. Settings in \fBrepos.conf\fR take
-precedence over settings in \fBlayout.conf\fR, except tools such as
-\fBrepoman\fR(1) and \fBegencache\fR(1) will entirely ignore
+Specifies information about the repository layout.
+\fISite-specific\fR overrides to \fBlayout.conf\fR settings may be specified in
+\fB/etc/portage/repos.conf\fR.
+Settings in \fBrepos.conf\fR take precedence over settings in
+\fBlayout.conf\fR, except tools such as \fBrepoman\fR(1) and \fBegencache\fR(1)
+ignore "aliases", "eclass-overrides" and "masters" attributes set in
\fBrepos.conf\fR since their operations are inherently \fBnot\fR
\fIsite\-specific\fR.
+.I Format:
+.nf
+\- comments begin with # (no inline comments)
+\- attributes are specified in "${attribute} = ${value}" format
+.fi
+
+.I Supported attributes.
+.RS
+.RS
+.TP
+.BR aliases
+Behaves like an "aliases" attribute in \fBrepos.conf\fR.
+.TP
+.BR eapis\-banned
+List of EAPIs which are not allowed in this repo.
+.TP
+.BR eapis\-deprecated
+List of EAPIs which are allowed but generate warnings when used.
+.TP
+.BR masters
+Names of repositories which satisfy dependencies on eclasses and from which
+settings specified in various repository\-level files (\fBpackage.mask\fR,
+\fBpackage.use.mask\fR, \fBuse.mask\fR etc.) are inherited. Each repository
+name should correspond to the value of a \fBrepo_name\fR entry from one of
+the repositories that is configured in \fBrepos.conf\fR file. Repositories
+listed toward the right of the \fBmasters\fR list take precedence over those
+listed toward the left of the list.
+.TP
+.BR repo\-name " = <value of profiles/repo_name>"
+The name of this repository (overrides profiles/repo_name if it exists).
+.TP
+.BR sign\-commits " = [true|" false "]"
+Boolean value whether we should sign commits in this repo.
+.TP
+.BR sign\-manifests " = [" true "|false]"
+Boolean value whether we should sign Manifest files in this repo.
+.TP
+.BR thin\-manifests " = [true|" false "]"
+Boolean value whether Manifest files contain only DIST entries.
+.TP
+.BR use\-manifests " = [" strict "|true|false]"
+How Manifest files get used. Possible values are "strict" (require an entry
+for every file), "true" (if an entry exists for a file, enforce it), or "false"
+(don't check Manifest files at all).
+.TP
+.BR manifest\-hashes
+List of hashes to generate/check in Manifest files. Valid hashes depend on the
+current version of portage; see the portage.const.MANIFEST2_HASH_FUNCTIONS
+constant for the current list.
+.TP
+.BR update\-changelog " = [true|" false "]"
+The default setting for repoman's --echangelog option.
+.TP
+.BR cache\-formats " = [pms] [md5-dict]"
+The cache formats supported in the metadata tree. There is the old "pms" format
+and the newer/faster "md5-dict" format. Default is to detect dirs.
+.TP
+.BR profile\-formats " = [pms|portage-1|portage-2]"
+Control functionality available to profiles in this repo such as which files
+may be dirs, or the syntax available in parent files. Use "portage-2" if you're
+unsure. The default is "portage-1-compat" mode which is meant to be compatible
+with old profiles, but is not allowed to be opted into directly.
+.RE
+.RE
+
+.RS
.I Example:
.nf
+# Specify the repository name (overriding profils/repo_name).
+repo\-name = foo-overlay
+
# eclasses provided by java-overlay take precedence over identically named
# eclasses that are provided by gentoo
masters = gentoo java-overlay
+
# indicate that this repo can be used as a substitute for foo-overlay
aliases = foo-overlay
+
+# indicate that ebuilds with the specified EAPIs are banned
+eapis\-banned = 0 1
+
+# indicate that ebuilds with the specified EAPIs are deprecated
+eapis\-deprecated = 2 3
+
# sign commits in this repo, which requires Git >=1.7.9, and
# key configured by `git config user.signingkey key_id`
sign\-commits = true
-# do not sign manifests in this repo
+
+# do not sign Manifest files in this repo
sign\-manifests = false
-# thin\-manifests only contain DIST entries
+
+# Manifest files only contain DIST entries
thin\-manifests = true
+
# indicate that this repo requires manifests for each package, and is
# considered a failure if a manifest file is missing/incorrect
use\-manifests = strict
+
# customize the set of hashes generated for Manifest entries
manifest\-hashes = SHA256 SHA512 WHIRLPOOL
+
# indicate that this repo enables repoman's --echangelog=y option automatically
update\-changelog = true
+
# indicate that this repo contains both md5-dict and pms cache formats,
# which may be generated by egencache(1)
cache\-formats = md5-dict pms
+
# indicate that this repo contains profiles that may use directories for
-# package.mask, package.provided, package.use, package.use.mask,
-# package.use.force, use.mask and use.force.
+# package.mask, package.provided, package.use, package.use.force,
+# package.use.mask, package.use.stable.force, package.use.stable.mask,
+# use.force, use.mask, use.stable.force, and use.stable.mask.
# profile\-formats = portage-1
# indicate that paths such as 'gentoo:targets/desktop' or ':targets/desktop' in
# profile parent files can be used to express paths relative to the root
@@ -833,9 +1110,10 @@ cache\-formats = md5-dict pms
profile\-formats = portage-2
.fi
.RE
+.RE
.TP
.BR /usr/portage/profiles/
-Global Gentoo settings that are controlled by the developers. To override
+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
@@ -855,8 +1133,8 @@ 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)).
+A simple list of valid categories that may be used in repositories and PKGDIR
+(see \fBmake.conf\fR(5)).
.I Format:
.nf
@@ -925,10 +1203,10 @@ net-analyzer/netcat -*
.fi
.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
+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:
@@ -948,7 +1226,7 @@ package has been masked and WHO is doing the masking.
.fi
.TP
.BR profiles.desc
-List all the current stable and development profiles. If a profile is listed
+List all the current stable and development profiles. If a profile is listed
here, then it will be checked by repoman.
.I Format:
.nf
@@ -970,10 +1248,11 @@ x86-linux prefix/linux/x86 exp
.BR repo_name
The first line of the file should define a unique repository name. The name
may contain any of the characters [A\-Za\-z0\-9_\-]. It must not begin with a
-hyphen.
+hyphen. If the repo\-name attribute is specified in layout.conf, then that
+setting will take precedence.
.TP
.BR thirdpartymirrors
-Controls the mapping of mirror:// style URIs to actual lists of
+Controls the mapping of mirror:// style URIs to actual lists of
mirrors. Keeps us from overloading a single server.
.I Format:
@@ -984,15 +1263,17 @@ mirrors. Keeps us from overloading a single server.
.I Example:
.nf
-sourceforge http://aleron.dl.sourceforge.net/sourceforge http://unc.dl.sourceforge.net/sourceforge
+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
+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.
+All global USE flags must be listed here with a description of what they do.
.I Format:
.nf
@@ -1008,7 +1289,7 @@ doc \- Adds extra documentation
.fi
.TP
.BR use.local.desc
-All local USE flags are listed here along with the package and a
+All local USE flags are listed here along with the package and a
description. This file is automatically generated from the
metadata.xml files that are included with each individual package.
Refer to GLEP 56 for further information:
@@ -1030,10 +1311,15 @@ games\-emulation/xmess:net \- Adds network support
.RS
.TP
.BR make.globals
-The global default settings for Portage. This comes from the portage package
-itself. Settings in \fBmake.conf\fR or \fBpackage.env\fR
-override values here. The format
-is described extensivly in \fBmake.conf\fR(5).
+The global default settings for Portage. This comes from the portage package
+itself. Settings in \fBmake.conf\fR or \fBpackage.env\fR override values set
+here. The format is described extensively in \fBmake.conf\fR(5).
+.TP
+.BR repos.conf
+The default configuration of repositories for Portage. This comes from
+the portage package itself. Settings in \fB/etc/portage/repos.conf\fR
+override values set here. The format is described extensively in section
+for \fB/etc/portage/repos.conf\fR.
.RE
.TP
.BR /var/cache/edb/
@@ -1077,12 +1363,12 @@ directories have been modified since being installed. Files which have not
been modified will automatically be unmerged.
.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_wsgi` and you do not have apache
-already, then "www\-apache/mod_wsgi" is recorded in the world file but
+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_wsgi` and you do not have apache
+already, then "www\-apache/mod_wsgi" is recorded in the world file but
"www\-servers/apache" is not. For more information, review \fBemerge\fR(1).
.I Format:
@@ -1114,7 +1400,7 @@ Please report bugs via http://bugs.gentoo.org/
Marius Mauch <genone@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
Drake Wyrm <wyrm@haell.com>
-Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
.fi
.SH "SEE ALSO"
.BR emerge (1),
diff --git a/man/quickpkg.1 b/man/quickpkg.1
index 7389400633d..a3f6165e483 100644
--- a/man/quickpkg.1
+++ b/man/quickpkg.1
@@ -1,22 +1,22 @@
-.TH "QUICKPKG" "1" "Mar 2010" "Portage VERSION" "Portage"
+.TH "QUICKPKG" "1" "Dec 2012" "Portage VERSION" "Portage"
.SH NAME
quickpkg \- creates portage packages
.SH SYNOPSIS
-.B quickpkg <list of packages or package\-sets>
+.B quickpkg [options] <list of packages or package\-sets>
.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
+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
+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
+The packages, after being created, will be placed in \fBPKGDIR\fR.
+This variable is defined in \fBmake.conf\fR(5) and defaults to
/usr/portage/packages.
.SH OPTIONS
.TP
@@ -28,6 +28,20 @@ The second form is a portage depend atom or a portage package
set. The atom or set is of the same form that you would give
\fBemerge\fR if you wanted to emerge something.
See \fBebuild\fR(5) for full definition.
+.TP
+.BR "\-\-ignore\-default\-opts"
+Causes the \fIQUICKPKG_DEFAULT_OPTS\fR environment variable to be ignored.
+.TP
+.BR "\-\-include\-config < y | n >"
+Include all files protected by CONFIG_PROTECT (as a security precaution,
+default is 'n').
+.TP
+.BR "\-\-include\-unmodified\-config < y | n >"
+Include files protected by CONFIG_PROTECT that have not been modified
+since installation (as a security precaution, default is 'n').
+.TP
+.BR \-\-umask=UMASK
+The umask used during package creation (default is 0077).
.SH "EXAMPLES"
.B quickpkg
/var/db/pkg/dev-python/pyogg-1.1
@@ -52,7 +66,7 @@ Mike Frysinger <vapier@gentoo.org> (revamped version)
.fi
.SH "FILES"
.TP
-.B /etc/make.conf
+.B /etc/portage/make.conf
The \fBPKGDIR\fR variable is defined here.
.SH "SEE ALSO"
.BR ebuild (5),
diff --git a/man/repoman.1 b/man/repoman.1
index b8c0f48e39f..a78f94e9011 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -1,6 +1,7 @@
-.TH "REPOMAN" "1" "June 2012" "Portage VERSION" "Portage"
+.TH "REPOMAN" "1" "Aug 2013" "Portage VERSION" "Portage"
.SH NAME
-repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
+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
@@ -9,7 +10,8 @@ repoman \- Gentoo's program to enforce a minimal level of quality assurance in p
.BR repoman
checks the quality of ebuild repositories.
-Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or subversion repositories.
+Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or
+subversion repositories.
.SH OPTIONS
.TP
\fB-a\fR, \fB--ask\fR
@@ -63,6 +65,10 @@ can be enabled by default for a particular repository by setting
"update\-changelog = true" in metadata/layout.conf (see
\fBportage(5)\fR).
.TP
+\fB\-\-experimental\-inherit=<y|n>\fR
+Enable experimental inherit.missing checks which may misbehave when the
+internal eclass database becomes outdated.
+.TP
\fB\-\-if\-modified=<y|n>\fR
Only check packages that have uncommitted modifications
.TP
@@ -75,9 +81,16 @@ Do not use the \fIREPOMAN_DEFAULT_OPTS\fR environment variable.
\fB\-I\fR, \fB\-\-ignore\-masked\fR
Ignore masked packages (not allowed with commit mode)
.TP
+.BR "\-\-include\-arches " ARCHES
+A space separated list of arches used to filter the selection of
+profiles for dependency checks.
+.TP
\fB\-d\fR, \fB\-\-include\-dev\fR
Include dev profiles in dependency checks.
.TP
+\fB\-e <y|n>\fR, \fB\-\-include\-exp\-profiles=<y|n>\fR
+Include exp profiles in dependency checks.
+.TP
\fB\-\-unmatched\-removal\fR
Enable strict checking of package.mask and package.unmask files for
unmatched removal atoms.
@@ -124,24 +137,6 @@ Scan directory tree for QA issues; if OK, commit via cvs
.B CVS/Entries.IO_error
Attempting to commit, and an IO error was encountered access the Entries file
.TP
-.B DEPEND.bad
-User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds)
-.TP
-.B DEPEND.badindev
-User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds) in developing arch
-.TP
-.B DEPEND.badmasked
-Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds)
-.TP
-.B DEPEND.badmaskedindev
-Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds) in developing arch
-.TP
-.B DEPEND.badtilde
-DEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)
-.TP
-.B DEPEND.syntax
-Syntax error in DEPEND (usually an extra/missing space/parenthesis)
-.TP
.B DESCRIPTION.missing
Ebuilds that have a missing or empty DESCRIPTION variable
.TP
@@ -165,19 +160,19 @@ Ebuilds that have a missing or empty HOMEPAGE variable
Virtuals that have a non-empty HOMEPAGE variable
.TP
.B IUSE.invalid
-This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file
+This ebuild has a variable in IUSE that is not in the use.desc or its
+metadata.xml file
.TP
.B IUSE.missing
-This ebuild has a USE conditional which references a flag that is not listed in IUSE
-.TP
-.B IUSE.undefined
-This ebuild does not define IUSE (style guideline says to define IUSE even when empty)
+This ebuild has a USE conditional which references a flag that is not listed in
+IUSE
.TP
.B KEYWORDS.dropped
Ebuilds that appear to have dropped KEYWORDS for some arch
.TP
.B KEYWORDS.invalid
-This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found
+This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for
+which no valid profile was found
.TP
.B KEYWORDS.missing
Ebuilds that have a missing or empty KEYWORDS variable
@@ -188,6 +183,9 @@ Ebuilds that have been added directly with stable KEYWORDS
.B KEYWORDS.stupid
Ebuilds that use KEYWORDS=-* instead of package.mask
.TP
+.B LICENSE.deprecated
+This ebuild is listing a deprecated license.
+.TP
.B LICENSE.invalid
This ebuild is listing a license that doesnt exist in portages license/ dir.
.TP
@@ -201,51 +199,19 @@ Syntax error in LICENSE (usually an extra/missing space/parenthesis)
Virtuals that have a non-empty LICENSE variable
.TP
.B LIVEVCS.stable
-Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout with stable keywords.
+Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout with stable
+keywords.
.TP
.B LIVEVCS.unmasked
Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout but has keywords
and is not masked in the global package.mask.
.TP
-.B PDEPEND.bad
-User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds)
-.TP
-.B PDEPEND.badindev
-User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds) in developing arch
-.TP
-.B PDEPEND.badmasked
-Masked ebuilds with PDEPEND settings (matched against *all* ebuilds)
-.TP
-.B PDEPEND.badmaskedindev
-Masked ebuilds with PDEPEND settings (matched against *all* ebuilds) in developing arch
-.TP
-.B PDEPEND.badtilde
-PDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)
-.TP
.B PDEPEND.suspect
PDEPEND contains a package that usually only belongs in DEPEND
.TP
-.B PDEPEND.syntax
-Syntax error in PDEPEND (usually an extra/missing space/parenthesis)
-.TP
.B PROVIDE.syntax
Syntax error in PROVIDE (usually an extra/missing space/parenthesis)
.TP
-.B RDEPEND.bad
-User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds)
-.TP
-.B RDEPEND.badindev
-User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds) in developing arch
-.TP
-.B RDEPEND.badmasked
-Masked ebuilds with RDEPEND settings (matched against *all* ebuilds)
-.TP
-.B RDEPEND.badmaskedindev
-Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) in developing arch
-.TP
-.B RDEPEND.badtilde
-RDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)
-.TP
.B RDEPEND.implicit
RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND
assignment (prior to EAPI 4)
@@ -253,9 +219,6 @@ assignment (prior to EAPI 4)
.B RDEPEND.suspect
RDEPEND contains a package that usually only belongs in DEPEND
.TP
-.B RDEPEND.syntax
-Syntax error in RDEPEND (usually an extra/missing space/parenthesis)
-.TP
.B PROPERTIES.syntax
Syntax error in PROPERTIES (usually an extra/missing space/parenthesis)
.TP
@@ -276,6 +239,28 @@ Missing ChangeLog files
.B changelog.notadded
ChangeLogs that exist but have not been added to cvs
.TP
+.B dependency.bad
+User-visible ebuilds with unsatisfied dependencies (matched against *visible*
+ebuilds)
+.TP
+.B dependency.badindev
+User-visible ebuilds with unsatisfied dependencies (matched against *visible*
+ebuilds) in developing arch
+.TP
+.B dependency.badmasked
+Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds)
+.TP
+.B dependency.badmaskedindev
+Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds) in
+developing arch
+.TP
+.B dependency.badtilde
+Uses the ~ dep operator with a non-zero revision part, which is useless (the
+revision is ignored)
+.TP
+.B dependency.syntax
+Syntax error in dependency string (usually an extra/missing space/parenthesis)
+.TP
.B dependency.unknown
Ebuild has a dependency that refers to an unknown package (which may be
valid if it is a blocker for a renamed/removed package, or is an
@@ -294,10 +279,12 @@ Some files listed in the Manifest aren't referenced in SRC_URI
This ebuild has a malformed header
.TP
.B ebuild.invalidname
-Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1 versioning extensions)
+Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1
+versioning extensions)
.TP
.B ebuild.majorsyn
-This ebuild has a major syntax error that may cause the ebuild to fail partially or fully
+This ebuild has a major syntax error that may cause the ebuild to fail
+partially or fully
.TP
.B ebuild.minorsyn
This ebuild has a minor syntax error that contravenes gentoo coding style
@@ -318,14 +305,15 @@ A simple sourcing of the ebuild produces output; this breaks ebuild policy.
PATCHES variable should be a bash array to ensure white space safety
.TP
.B ebuild.syntax
-Error generating cache entry for ebuild; typically caused by ebuild syntax error
-or digest verification failure.
+Error generating cache entry for ebuild; typically caused by ebuild syntax
+error or digest verification failure.
.TP
.B file.UTF8
File is not UTF8 compliant
.TP
.B file.executable
-Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit
+Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the
+executable bit
.TP
.B file.name
File/dir name must be composed of only the following chars: a-zA-Z0-9._-+:
@@ -358,8 +346,19 @@ Missing metadata.xml files
.B metadata.warning
Warnings in metadata.xml files
.TP
+.B repo.eapi.banned
+The ebuild uses an EAPI which is banned by the repository's
+metadata/layout.conf settings.
+.TP
+.B repo.eapi.deprecated
+The ebuild uses an EAPI which is deprecated by the repository's
+metadata/layout.conf settings.
+.TP
+.B IUSE.rubydeprecated
+The ebuild has set a ruby interpreter in USE_RUBY, that is not available as a ruby target anymore
+.TP
.B portage.internal
-The ebuild uses an internal Portage function
+The ebuild uses an internal Portage function or variable
.TP
.B upstream.workaround
The ebuild works around an upstream bug, an upstream bug should be filed and
diff --git a/man/ru/color.map.5 b/man/ru/color.map.5
new file mode 100644
index 00000000000..f7e65e339c7
--- /dev/null
+++ b/man/ru/color.map.5
@@ -0,0 +1,217 @@
+.TH "COLOR.MAP" "5" "Jul 2013" "Portage VERSION" "Portage"
+.SH "НАЗВАНИЕ"
+color.map \- пользовательские настройки цвета в Portage
+.SH "ПАРАМЕТРЫ"
+.B /etc/portage/color.map
+.SH "ОПИСАНИЕ"
+Указанный файл содержит переменные, определяющие классы цвета, которые
+использует Portage. Проверяя настройки цвета, Portage в первую очередь
+обращается к нему. Если тот или иной класс цвета не определен в
+\fB/etc/portage/color.map\fR, Portage использует внутренние значения,
+принятые по умолчанию.
+.SH "СИНТАКСИС"
+\fBПЕРЕМЕННАЯ\fR = \fI[атрибуты или коды ansi, через пробел]\fR
+.TP
+\fBАТРИБУТ\fR = \fI[атрибуты или коды ansi, через пробел]]\fR
+.SH "ПЕРЕМЕННЫЕ"
+.TP
+\fBNORMAL\fR = \fI"normal"\fR
+Определяет цвет, используемый для некоторых слов, встречающихся в контекстах,
+отличных от перечисленных ниже.
+.TP
+\fBBAD\fR = \fI"red"\fR
+Определяет цвет, используемый для некоторых слов, встречающихся в отрицательном
+контексте.
+.TP
+\fBBRACKET\fR = \fI"blue"\fR
+Определяет цвет, используемый для скобок.
+.TP
+\fBGOOD\fR = \fI"green"\fR
+Определяет цвет, используемый для некоторых слов, встречающихся в положительном
+контексте.
+.TP
+\fBHILITE\fR = \fI"teal"\fR
+Определяет цвет, используемый для выделения слов.
+.TP
+\fBINFORM\fR = \fI"darkgreen"\fR
+Определяет цвет, используемый для информационных сообщений.
+.TP
+\fBMERGE_LIST_PROGRESS\fR = \fI"yellow"\fR
+Определяет цвет, используемый для чисел, отображающих ход установки.
+.TP
+\fBPKG_BLOCKER\fR = \fI"red"\fR
+Определяет цвет, используемый для пакетов, создающих неразрешенный конфликт.
+.TP
+\fBPKG_BLOCKER_SATISFIED\fR = \fI"darkblue"\fR
+Определяет цвет, используемый для пакетов, создававших конфликт, который
+затем был разрешен.
+.TP
+\fBPKG_MERGE\fR = \fI"darkgreen"\fR
+Определяет цвет, используемый для пакетов, которые будут установлены.
+.TP
+\fBPKG_MERGE_SYSTEM\fR = \fI"darkgreen"\fR
+Определяет цвет, используемый для system-пакетов, которые будут установлены.
+.TP
+\fBPKG_MERGE_WORLD\fR = \fI"green"\fR
+Определяет цвет, используемый для world-пакетов, которые будут установлены.
+.TP
+\fBPKG_BINARY_MERGE\fR = \fI"purple"\fR
+Определяет цвет, используемый для пакетов, которые будут установлены в бинарной версии.
+.TP
+\fBPKG_BINARY_MERGE_SYSTEM\fR = \fI"purple"\fR
+Определяет цвет, используемый для system-пакетов, которые будут установлены в
+бинарной версии.
+.TP
+\fBPKG_BINARY_MERGE_WORLD\fR = \fI"fuchsia"\fR
+Определяет цвет, используемый для world-пакетов, которые будут установлены в
+бинарной версии.
+.TP
+\fBPKG_NOMERGE\fR = \fI"darkblue"\fR
+Определяет цвет, используемый для имен пакетов, которые не будут установлены.
+.TP
+\fBPKG_NOMERGE_SYSTEM\fR = \fI"darkblue"\fR
+Определяет цвет, используемый для имен system-пакетов, которые не будут установлены.
+.TP
+\fBPKG_NOMERGE_WORLD\fR = \fI"blue"\fR
+Определяет цвет, используемый для имен world-пакетов, которые не будут установлены.
+.TP
+\fBPKG_UNINSTALL\fR = \fI"red"\fR
+Определяет цвет, используемый для имен пакетов, которые должны быть удалены для
+разрешения конфликтов.
+.TP
+\fBPROMPT_CHOICE_DEFAULT\fR = \fI"green"\fR
+Определяет цвет, используемый для предлагаемого на выбор значения по умолчанию.
+.TP
+\fBPROMPT_CHOICE_OTHER\fR = \fI"red"\fR
+Определяет цвет, используемый для предлагаемого на выбор значения не по умолчанию.
+.TP
+\fBSECURITY_WARN\fR = \fI"red"\fR
+Определяет цвет, используемый для предупреждений о безопасности.
+.TP
+\fBUNMERGE_WARN\fR = \fI"red"\fR
+Определяет цвет, используемый для предупреждений об удалении пакета.
+.TP
+\fBWARN\fR = \fI"yellow"\fR
+Определяет цвет, используемый для предупреждений.
+.SH "ДОПУСТИМЫЕ АТРИБУТЫ"
+.TP
+.B Цвет текста
+.RS
+.TP
+.B black - черный
+.TP
+.B darkgray - темно-серый
+.TP
+.B darkred - темно-красный
+.TP
+.B red - красный
+.TP
+.B darkgreen - темно-зеленый
+.TP
+.B green - зеленый
+.TP
+.B brown - коричневый
+.TP
+.B yellow - желтый
+.TP
+.B darkyellow - темно-желтый
+.TP
+.B darkblue - темно-синий
+.TP
+.B blue - синий
+.TP
+.B purple - фиолетовый
+.TP
+.B fuchsia - лиловый
+.TP
+.B teal - серо-зеленый
+.TP
+\fBturquoise\fR = \fBdarkteal\fR - \fBбирюзовый\fR
+.TP
+.B lightgray - светло-серый
+.TP
+.B white - белый
+.RE
+.TP
+.B Цвет фона
+.RS
+.TP
+.B bg_black - черный фон
+.TP
+.B bg_darkred - темно-красный фон
+.TP
+.B bg_darkgreen - темно-зеленый фон
+.TP
+\fBbg_brown\fR = \fBbg_darkyellow\fR - \fBкоричневый фон\fR
+.TP
+.B bg_darkblue - темно-синий фон
+.TP
+.B bg_purple - фиолетовый фон
+.TP
+.B bg_teal - серо-зеленый фон
+.TP
+.B bg_lightgray - светло-серый фон
+.RE
+.TP
+.B Другие атрибуты
+.RS
+.TP
+.B normal - обычный
+.TP
+.B no\-attr - без атрибутов
+.TP
+.B reset - переопределить
+.TP
+.B bold - жирный
+.TP
+.B faint - бледный
+.TP
+.B standout - стандартный вывод
+.TP
+.B no\-standout - не использовать стандартный вывод
+.TP
+.B underline - с подчеркиванием
+.TP
+.B no\-underline - без подчеркивания
+.TP
+.B blink - мигающий
+.TP
+.B no\-blink - без мигания
+.TP
+.B overline - с надчеркиванием
+.TP
+.B no\-overline - без надчеркивания
+.TP
+.B reverse - негатив
+.TP
+.B no\-reverse - не отражать цвет
+.TP
+.B invisible - невидимый
+.RE
+.SH "БАГТРЕКЕР"
+Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/
+.SH "АВТОРЫ"
+.nf
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
+.fi
+.SH "ФАЙЛЫ"
+.TP
+.B /etc/portage/color.map
+Содержит переменные, используемые для пользовательской настройки цветного вывода.
+.TP
+.B /etc/portage/make.conf
+Содержит другие переменные.
+.SH "СМ. ТАКЖЕ"
+.BR console_codes (4),
+.BR make.conf (5),
+.BR portage (5),
+.BR emerge (1),
+.BR ebuild (1),
+.BR ebuild (5)
+.TP
+Модуль \fIPython /usr/lib/portage/pym/portage/output.py\fR.
+.SH "ПЕРЕВОД"
+.nf
+\fRПереводчик\fR - Елена Гаврилова <e.vl.gavrilova@yandex.ru>
+\fRРедактор\fR - Романов Владимир <blueboar2@gmail.com>
+.fi
diff --git a/man/ru/dispatch-conf.1 b/man/ru/dispatch-conf.1
new file mode 100644
index 00000000000..a511e97e071
--- /dev/null
+++ b/man/ru/dispatch-conf.1
@@ -0,0 +1,100 @@
+.TH "DISPATCH-CONF" "1" "Jan 2011" "Portage VERSION" "Portage"
+.SH "НАЗВАНИЕ"
+dispatch\-conf \- безопасное обновление конфигурационных файлов после
+установки новых пакетов
+.SH "СИНТАКСИС"
+.B dispatch\-conf
+.SH "ОПИСАНИЕ"
+Утилиту \fIdispatch\-conf\fR следует запускать после установки новых
+пакетов для проверки конфигурационных файлов на обновления. Если
+новый конфигурационный файл попытается затереть текущий,
+\fIdispatch\-conf\fR предложит пользователю самому решить, каким
+образом разрешить эту ситуацию. Среди достоинств \fIdispatch\-conf\fR \-
+легкость отката изменений (изменения конфигурационных файлов сохраняются
+с помощью либо патчей, либо RCS) и возможность автоматического
+обновления тех файлов, которые пользователь не изменял, и тех, которые
+отличаются от текущей версии только CVS-мусором или пробелом.
+
+\fIdispatch\-conf\fR проверит на обновления все каталоги, указанные в
+переменной \fICONFIG_PROTECT\fR. Также, программа \fIdispatch\-conf\fR
+автоматически обновит все файлы конфигурации, найденные в
+\fICONFIG_PROTECT_MASK\fR. Подробнее см. в \fBmake.conf\fR(5).
+.SH "ОПЦИИ"
+.TP
+Нет.
+.SH "СИНТАКСИС"
+\fIdispatch\-conf\fR следует запускать от пользователя root, поскольку
+владельцем файлов, с которыми работает утилита, как правило, является
+именно пользователь root. Перед первым запуском \fIdispatch\-conf\fR
+необходимо отредактировать настройки в файле \fB/etc/dispatch\-conf.conf\fR
+и создать каталог архивов, указанный в \fB/etc/dispatch\-conf.conf\fR.
+Все изменения конфигурационных файлов сохраняются в каталоге архивов \-
+либо как патчи, либо с помощью RCS, благодаря чему довольно просто
+вернуться к предыдущей версии.
+
+Всякий раз, когда \fIdispatch\-conf\fR обнаруживает конфигурационный файл,
+который был обновлен, пользователю дается возможность выбрать один из
+следующих вариантов, чтобы решить, что делать с предлагаемым обновлением:
+.TP
+.B u
+Обновить (заменить) текущий конфигурационный файл новым и продолжить.
+.TP
+.B z
+Затереть (удалить) новый конфигурационный файл и продолжить.
+.TP
+.B n
+Пропустить и перейти к следующему конфигурационному файлу, не удаляя ни
+исходную версию, ни файлы, защищенные \fICONFIG_PROTECT\fR.
+.TP
+.B e
+Редактировать новый конфигурационный файл в редакторе текста,
+определенном переменной \fIEDITOR\fR.
+.TP
+.B m
+В интерактивном режиме произвести слияние текущего и нового конфигурационных файлов.
+.TP
+.B l
+Просмотреть различия между текущим и новым конфигурационными файлами.
+.TP
+.B t
+Переключаться между текущим и новым конфигурационными файлами
+(в конечном итоге потребуется установить конечную версию, нажав \fBu\fR).
+.TP
+.B h
+Вывести справку.
+.TP
+.B q
+Выйти из \fIdispatch\-conf\fR.
+.SH "ПРАВА НА ФАЙЛЫ"
+\fBВНИМАНИЕ\fR: Если \fB/etc/dispatch\-conf.conf\fR сконфигурирован
+для использования \fBrcs\fR(1), права на чтение и исполнение
+архивированных файлов могут быть унаследованы от первой проверки
+рабочего файла, как описано в man\-руководстве \fBci\fR(1). Это
+означает, что даже если права доступа к рабочему файлу изменились,
+прежние права, действовавшие при первой проверке, могут быть
+возвращены. Согласно руководству \fBci\fR(1), пользователи могут
+управлять доступом к RCS\-файлам, изменив права на доступ к
+каталогу, в котором они лежат.
+.SH "БАГТРЕКЕР"
+Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/
+.SH "АВТОРЫ"
+.nf
+Jeremy Wohl
+Karl Trygve Kalleberg <karltk@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+Grant Goodyear <g2boojum@gentoo.org>
+.fi
+.SH "ФАЙЛЫ"
+.TP
+.B /etc/dispatch\-conf.conf
+Здесь хранятся настройки конфигурации для \fIdispatch\-conf\fR.
+.SH "СМОТРИ ТАКЖЕ"
+.BR make.conf (5),
+.BR ci (1),
+.BR etc-update (1),
+.BR rcs (1)
+.SH "ПЕРЕВОД"
+.nf
+Переводчик: Елена Гаврилова <e.vl.gavrilova@yandex.ru>
+Редактор: Романов Владимир <blueboar2@gmail.com>
+.fi
diff --git a/man/ru/ebuild.1 b/man/ru/ebuild.1
new file mode 100644
index 00000000000..98d4b5ab557
--- /dev/null
+++ b/man/ru/ebuild.1
@@ -0,0 +1,249 @@
+.TH "EBUILD" "1" "Jan 2014" "Portage VERSION" "Portage"
+.SH "НАЗВАНИЕ"
+ebuild \- низкоуровневый интерфейс системы Portage
+.SH "СИНТАКСИС"
+.B ebuild
+.I файл команда [команда]\fR...
+.SH "ОПИСАНИЕ"
+Программа ebuild представляет собой низкоуровневый интерфейс
+системы Portage. Она обеспечивает возможность непосредственного
+взаимодействия со сценарием ebuild при помощи специальных
+подкоманд или групп команд, выполняемых в контексте данного файла,
+и функций. Утилита ebuild принимает в качестве аргументов
+ebuild-сценарий и одну или более команд, подвергает сценарий
+синтаксическому анализу и выполняет указанные команды. Имеются
+отдельные команды для загрузки исходных файлов, их распаковки,
+компиляции, установки объектных файлов во временный каталог image,
+установки образа в локальную файловую систему, создания архива
+пакета из образа и т.д.
+.SH "ФАЙЛ"
+Должен быть рабочим ebuild-сценарием. Подробнее смотри в руководстве
+по \fBebuild\fR(5).
+.SH "КОМАНДЫ"
+По умолчанию portage выполняет все функции по порядку вплоть до
+указанной, кроме функций, которые уже были вызваны в предыдущих
+вызовах ebuild. Например, если вы дадите команду \fBcompile\fR, то
+вызовете тем самым и предшествующие ей функции (такие как
+\fBsetup\fR и \fBunpack\fR), если они не были запущены в
+предыдущем запуске ebuild. Если вы хотите быть уверенным, что
+все они были выполнены, вам нужно сначала использовать команду
+\fBclean\fR. Если вы хотите, чтобы запускалась только одна команда,
+вам следует добавить опцию \fInoauto\fR к значению переменной
+окружения \fBFEATURES\fR. Подробнее смотри в справке по \fBmake.conf\fR(5).
+
+.TP
+.BR help
+Выводит справочную информацию о программе в сжатом изложении,
+а также целый ряд сведений о пакете.
+.TP
+.BR setup
+Запускает все действия по настройке данного пакета, в том числе
+специфические системные тесты.
+.TP
+.BR clean
+Очищает временный каталог сборки, созданный Portage специально для
+этого файла ebuild. Временный каталог сборки обычно содержит
+извлеченный из архива исходный код, а также, возможно, так называемый
+установочный образ (все файлы, которые будут установлены в локальную
+файловую систему или сохранены в пакете). Расположение каталога
+сборки определяется значением переменной PORTAGE_TMPDIR. Чтобы узнать
+ее текущее значение, выполните \fIemerge \-\-info\fR. О том, как
+переопределить эту переменную, смотри \fBmake.conf\fR(5).
+
+Примечание: Portage удаляет практически все данные, оставшиеся после
+успешной установки пакета, за исключением тех случаев, когда в
+переменной FEATURES явно указано 'noclean'. Если вы добавите noclean
+в значение FEATURES, очень скоро большой объем дискового пространства
+будет занят ненужными файлами. Не рекомендуется пользоваться этим
+режимом постоянно, а лишь в том случае, если исходники пакетов
+потребуются вам после установки. Впрочем, возможно и ручное удаление
+этих файлов: для этого следует выполнить \fIrm \-rf /var/tmp/portage\fR.
+.TP
+.BR fetch
+Проверяет, все ли источники данных, фигурирующие в SRC_URI, доступны
+в каталоге DISTDIR (подробнее см. в \fBmake.conf\fR(5)) и имеют
+верную контрольную сумму. Если исходные коды недоступны, будет
+предпринята попытка загрузить их с серверов, адреса которых указаны
+в SRC_URI. Если для того или иного файла имеется несколько адресов
+загрузки, Portage проверит каждый из них и выберет тот сервер,
+который ближе. (Точность этого выбора на данный момент не
+гарантируется.) В первую очередь всегда обрабатываются зеркала Gentoo
+Linux, содержащиеся в переменной GENTOO_MIRRORS. Если по какой-либо
+причине контрольная сумма текущих или только что загруженных исходных
+кодов не совпадает с контрольной суммой, записанной в файле
+files/digest\-[пакет]\-[версия\-ревизия], выводится предупреждение, и
+программа ebuild завершает работу с кодом ошибки 1.
+.TP
+.BR digest
+В настоящее время \- эквивалент команды \fImanifest\fR.
+.TP
+.BR manifest
+Обновляет Manifest\-файл пакета. В результате создаются контрольные суммы
+для всех файлов, обнаруженных в одном каталоге с обрабатываемым файлом
+ebuild, а также содержимое вложенных каталогов подкаталога files.
+При этом контрольные суммы генерируются и для всех файлов, перечисленных
+в SRC_URI для каждого файла ebuild. Подробнее о поведении данной команды,
+см. в разделе о смысле значения \fIassume\-digests\fR переменной
+\fBFEATURES\fR справочного руководства по \fBmake.conf\fR(5). Если вы
+не хотите, чтобы дайджесты принимались неявно, см. опцию \fB\-\-force\fR.
+.TP
+.BR unpack
+Извлекает исходные коды в подкаталог \fIкаталога сборки\fR (BUILD_PREFIX),
+вызывая функцию \fIsrc_unpack()\fR внутри файла ebuild. Если функция
+src_unpack() не определена, для распаковки всех файлов, перечисленных в
+SRC_URI, будет использована стандартная src_unpack(). Как правило,
+исходники распаковываются в каталог ${BUILD_PREFIX}/[пакет]\-[версия-ревизия]/work.
+Обращаться к нему можно с помощью переменной ${WORKDIR}.
+
+Создавая файл ebuild самостоятельно, убедитесь, что переменная S
+(каталог исходных файлов), определенная в начале ebuild-сценария, указывает
+на каталог, в котором действительно содержатся распакованные исходные коды.
+По умолчанию он определяется как ${WORKDIR}/${P}, поэтому, как правило,
+ничего не требуется исправлять. Функция src_unpack() также отвечает за
+наложение патчей перед компиляцией пакетов.
+.TP
+.BR prepare
+Подготавливает извлеченные из архива исходные коды, вызывая функцию
+\fIsrc_prepare()\fR, определенную в ebuild-файле. При запуске src_prepare()
+текущим рабочим каталогом становится ${S}. Данная функция поддерживается,
+начиная с \fBEAPI 2\fR.
+.TP
+.BR configure
+Производит конфигурирование распакованных исходных кодов, вызывая функцию
+\fIsrc_configure()\fR, определенную в ebuild-файле. При запуске src_configure()
+текущим рабочим каталогом становится ${S}. Данная функция поддерживается
+начиная с \fBEAPI 2\fR.
+.TP
+.BR compile
+Компилирует распакованные исходные коды, вызывая функцию \fIsrc_compile()\fR,
+определенную в ebuild-файле. При запуске src_compile() текущим рабочим
+каталогом становится ${S}. По завершении работы src_compile() исходные
+коды должны быть полностью скомпилированы.
+.TP
+.BR test
+Выполняет специальные тесты для отдельных пакетов, проверяя сборку.
+.TP
+.BR preinst
+Выполняет специальные действия для отдельных пакетов, которые
+требуется произвести до установки пакета в текущую файловую систему.
+.TP
+.BR install
+Устанавливает пакет во временный \fIкаталог установки\fR, вызывая
+функцию \fIsrc_install()\fR. По завершении каталог установки в
+(${BUILD_PREFIX}/[пакет]\-[версия\-ревизия]/image) будет содержать
+все файлы, которые должны быть либо установлены в текущую файловую
+систему, либо включены в бинарный пакет.
+.TP
+.BR postinst
+Выполняет специальные действия для отдельных пакетов, которые
+требуется произвести после установки пакета в текущую файловую
+систему. Как правило, при этом выводятся полезные сообщения.
+.TP
+.BR qmerge
+Эта функция устанавливает все файлы в \fIкаталоге установки\fR на
+текущую файловую систему. Это производится следующим образом:
+сначала запускается функция \fIpkg_preinst()\fR (если она существует).
+Затем все файлы устанавливаются в файловую систему, а их
+контрольные суммы записываются в
+\fI/var/db/pkg/${CATEGORY}/${PN}-${PVR}/CONTENTS\fR. Наконец, по
+завершении установки всех файлов выполняется функция
+\fIpkg_postinst()\fR (если она существует).
+.TP
+.BR merge
+Обычно для установки файла ebuild, необходимо последовательно выполнить
+следующие действия: \fIfetch\fR, \fIunpack\fR, \fIcompile\fR,
+\fIinstall\fR и \fIqmerge\fR. Если вам нужно только установить
+файл ebuild, вы можете использовать данную команду: она сама выполнит
+все перечисленные операции и остановится в процессе выполнения только
+в том случае, если какая-либо функция отрабатывает с ошибкой.
+.TP
+.BR unmerge
+Эта команда сначала вызывает функцию \fIpkg_prerm()\fR (если она существует).
+Затем она удаляет все файлы из текущих файловых систем, файл содержимого
+пакета для которых имеет верную контрольную сумму и время изменения.
+Все пустые каталоги удаляются вместе с вложенными. Наконец, команда
+запускает функцию \fIpkg_postrm()\fR (если она существует). Можно сначала
+установить новую версию пакета, а затем удалить прежнюю - собственно,
+именно в этом заключается рекомендуемый метод обновления.
+.TP
+.BR prerm
+Запускает для определенного пакета действия, которые необходимо выполнить
+до удаления пакета из файловой системы. См. также \fIunmerge\fR.
+.TP
+.BR postrm
+Запускает для определенного пакета действия, которые необходимо выполнить
+после удаления пакета из файловой системы. См. также \fIunmerge\fR.
+.TP
+.BR config
+Запускает для определенного пакета действия, которые необходимо выполнить
+до начала установки. Как правило, это настройка конфигурационных файлов
+или другие настроечные действия, которые пользователь может захотеть
+выполнить.
+.TP
+.BR package
+Эта команда очень напоминает \fImerge\fR, за исключением того, что после
+загрузки, распаковки, компиляции и установки создается .tbz2-архив
+бинарного пакета, который затем сохраняется в каталоге \fBPKGDIR\fR
+(см. \fBmake.conf\fR(5)).
+.TP
+.BR rpm
+Собирает RPM\-пакет RedHat из файлов во временном \fIкаталоге установки\fR.
+На данный момент сведения о зависимостях файла ebuild не включаются в RPM.
+.SH "ОПЦИИ"
+.TP
+.BR "\-\-debug"
+Запустить bash с опцией \-x, в результате чего стандартный вывод будет
+включать подробную отладочную информацию.
+.TP
+.BR "\-\-color < y | n >"
+Включить или отключить цветное отображение. Эта опция переопределяет
+значение переменной \fINOCOLOR\fR (см. \fBmake.conf\fR(5)) и может быть
+использована для принудительного назначения цвета в том случае, если
+стандартный вывод - не терминал (по умолчанию цвет включен только в том
+случае, если стандартный вывод - терминал).
+.TP
+.BR "\-\-force"
+При использовании в связке с командой digest или manifest данная опция
+принудительно генерирует новые дайджесты для всех файлов исходного кода,
+относящихся к данному файлу ebuild. Если в каталоге ${DISTDIR} требуемых
+исходников нет, они будут автоматически загружены.
+.TP
+.BR "\-\-ignore\-default\-opts"
+Не использовать переменную окружения \fIEBUILD_DEFAULT_OPTS\fR.
+.TP
+.BR "\-\-skip\-manifest"
+Пропустить проверку Manifest-файлов.
+.SH "БАГТРЕКЕР"
+Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/
+.SH "АВТОРЫ"
+.nf
+Achim Gottinger <achim@gentoo.org>
+Daniel Robbins <drobbins@gentoo.org>
+Nicholas Jones <carpaski@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+.fi
+.SH "ФАЙЛЫ"
+.TP
+.B /etc/portage/make.conf
+Содержит переменные сборки, имеющие приоритет перед значениями,
+указанными в файле make.globals.
+.TP
+.B /etc/portage/color.map
+Содержит переменные, позволяющие назначать пользовательские настройки
+цветного вывода.
+.SH "СМОТРИ ТАКЖЕ"
+.BR emerge (1),
+.BR ebuild (5),
+.BR make.conf (5),
+.BR color.map (5)
+.TP
+Сценарий \fI/usr/lib/portage/bin/ebuild.sh\fR.
+.TP
+Вспомогательные приложения в \fI/usr/lib/portage/bin\fR.
+
+.SH "ПЕРЕВОД"
+.nf
+Переводчик: Елена Гаврилова <e.vl.gavrilova@yandex.ru>
+Правка и обновление: Романов Владимир <blueboar2@gmail.com>
+Переведенная версия соответствует английской версии от 2013-07-31
+.fi
diff --git a/man/ru/env-update.1 b/man/ru/env-update.1
new file mode 100644
index 00000000000..9e0775e86f0
--- /dev/null
+++ b/man/ru/env-update.1
@@ -0,0 +1,35 @@
+.TH "ENV-UPDATE" "1" "Aug 2008" "Portage VERSION" "Portage"
+.SH "НАЗВАНИЕ"
+env\-update \- автоматическое обновление настроек окружения
+.SH "СИНТАКСИС"
+\fBenv\-update\fR \fI[опции]\fR
+.SH "ОПИСАНИЕ"
+.B env\-update
+читает файлы в каталоге \fI/etc/env.d\fR и автоматически генерирует
+\fI/etc/profile.env\fR и \fI/etc/ld.so.conf\fR. Затем для обновления
+\fI/etc/ld.so.cache\fR запускается \fBldconfig\fR(8). \fBemerge\fR(1)
+автоматически вызывает \fBenv-update\fR после каждой установки пакета.
+Если же вы вносите изменения в \fI/etc/env.d\fR, вам следует
+самостоятельно выполнить \fBenv-update\fR, чтобы внесенные
+изменения вступили в силу. Обратите внимание, что это повлияет
+только на последующие операции. Чтобы изменения отразились на уже
+запущенных процессах, вероятно, понадобится выполнить
+\fIsource /etc/profile\fR.
+.SH "ОПЦИИ"
+.TP
+.B \-\-no\-ldconfig
+Не запускать \fBldconfig\fR (и, тем самым, опустить пересборку
+кэша \fIld.so.cache\fR и т.д.).
+.SH "БАГТРЕКЕР"
+Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/
+.SH "АВТОРЫ"
+Daniel Robbins <drobbins@gentoo.org>
+.SH "СМОТРИ ТАКЖЕ"
+.BR emerge (1),
+.BR ldconfig (8)
+
+.SH "ПЕРЕВОД"
+.nf
+Переводчик: Елена Гаврилова <e.vl.gavrilova@yandex.ru>
+Правка и обновление: Романов Владимир <blueboar2@gmail.com>
+.fi
diff --git a/man/ru/etc-update.1 b/man/ru/etc-update.1
new file mode 100644
index 00000000000..f799317f361
--- /dev/null
+++ b/man/ru/etc-update.1
@@ -0,0 +1,63 @@
+.TH "ETC-UPDATE" "1" "Mar 2012" "Portage VERSION" "Portage"
+.SH "НАЗВАНИЕ"
+etc\-update \- обработка изменений конфигурационных файлов
+.SH "СИНТАКСИС"
+.BR etc\-update
+[\fIопции\fR] [\fI--automode <режим>\fR] [\fIпути для сканирования\fR]
+.SH "ОПИСАНИЕ"
+Утилиту \fIetc\-update\fR следует запускать после установки
+новых пакетов для проверки предлагаемых обновлений
+конфигурационных файлов. Если новый конфигурационный файл
+может перезаписать имеющийся, \fIetc\-update\fR спросит
+у пользователя, как с ним поступить.
+.PP
+\fIetc\-update\fR проверяет все каталоги, заданные в командной
+строке. Если никаких путей не задано, тогда будет использована
+переменная \fICONFIG_PROTECT\fR. Все конфигурационные файлы,
+которые будут найдены в переменной \fICONFIG_PROTECT_MASK\fR
+будут обновлены программой \fIetc\-update\fR автоматически.
+Подробнее об этом смотри в справке по \fBmake.conf\fR(5).
+.PP
+\fIetc\-update\fR учитывает переменные \fIPORTAGE_CONFIGROOT\fR
+и \fIEROOT\fR при использовании ранее означенных переменных
+(\fICONFIG_PROTECT\fR и \fICONFIG_PROTECT_MASK\fR).
+.SH "ОПЦИИ"
+.TP
+.BR \-d ", " \-\-debug
+Запускает оболочку со включенным режимом отладки.
+.TP
+.BR \-h ", " \-\-help
+Неожиданно, показывает помощь.
+.TP
+.BR \-p ", " \-\-preen
+Автоматически применить тривиальные изменения и выйти.
+.TP
+.BR \-v ", " \-\-verbose
+Показывать в процессе работы настройки и информацию о
+важных решениях.
+.TP
+.BR "\-\-automode <режим>"
+Выбрать один из автоматических режимов работы. Разрешенные
+режимы работы это \-3, \-5, \-7, \-9. Для более подробной
+информации смотри текст, выдаваемый опцией \fI\-\-help\fR.
+.SH "БАГТРЕКЕР"
+Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/
+.SH "АВТОРЫ"
+.nf
+Jochem Kossen and Leo Lipelis
+Karl Trygve Kalleberg <karltk@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+.fi
+.SH "ФАЙЛЫ"
+.TP
+.B /etc/etc-update.conf
+Здесь хранятся настройки \fIetc-update\fR.
+.SH "СМОТРИ ТАКЖЕ"
+.BR dispatch-conf (1),
+.BR make.conf (5)
+
+.SH "ПЕРЕВОД"
+.nf
+Переводчик: Елена Гаврилова <e.vl.gavrilova@yandex.ru>
+Правка и обновление: Романов Владимир <blueboar2@gmail.com>
+.fi
diff --git a/man/ru/fixpackages.1 b/man/ru/fixpackages.1
new file mode 100644
index 00000000000..41eb2843df0
--- /dev/null
+++ b/man/ru/fixpackages.1
@@ -0,0 +1,22 @@
+.TH "FIXPACKAGES" "1" "Dec 2011" "Portage VERSION" "Portage"
+.SH "НАЗВАНИЕ"
+fixpackages \- выполняет переносы пакетов при обновлениях
+для всех пакетов
+.SH "СИНТАКСИС"
+\fBfixpackages\fR
+.SH "ОПИСАНИЕ"
+Программа fixpackages выполняет переносы пакетов при обновлениях
+для конфигурационных файлов, установленных пакетов и двоичных
+пакетов.
+.SH "БАГТРЕКЕР"
+Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/
+.SH "АВТОРЫ"
+Zac Medico <zmedico@gentoo.org>
+.SH "СМОТРИ ТАКЖЕ"
+.BR emaint (1),
+.BR emerge (1)
+
+.SH "ПЕРЕВОД"
+.nf
+Переводчик: Романов Владимир <blueboar2@gmail.com>
+.fi
diff --git a/man/xpak.5 b/man/xpak.5
index 0b5b87495e1..536810db5e3 100644
--- a/man/xpak.5
+++ b/man/xpak.5
@@ -11,7 +11,8 @@ The following conventions cover all occurrences in this documentation
.IP Integer
All offsets/lengths are big endian unsigned 32bit integers
.IP String
-All strings are ASCII encoded, and not NUL terminated (quotes are for illustration only)
+All strings are ASCII encoded, and not NUL terminated (quotes are for
+illustration only)
.IP Values
The actual values of the individual xpak entries are stored as Strings
.P
@@ -46,7 +47,7 @@ String \fI"STOP"\fR.
|<xpak_offset>|
<tar>|<---xpak---->|<xpak_offset>"STOP"
-Here you see the \fItar\fR archive, the attached \fIxpak\fR blob, the
+Here you see the \fItar\fR archive, the attached \fIxpak\fR blob, the
\fIxpak_offset\fR and the string \fI"STOP"\fR at the end. This metadata
is not considered "part" of the \fIxpak\fR, but rather part of the binpkg.