-.TH "MAKE.CONF" "5" "August 2011" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "Mar 2013" "Portage VERSION" "Portage"
.SH "NAME"
make.conf \- custom settings for Portage
.SH "SYNOPSIS"
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
.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
.br
Defaults to 5 seconds.
.TP
-\fBCOLLISION_IGNORE\fR = \fI[space delimited list of files and/or directories]\fR
+\fBCOLLISION_IGNORE\fR = \fI[space delimited list of fnmatch patterns]\fR
This variable allows the user to disable \fIcollision\-protect\fR and
-\fIprotect\-owned\fR for specific files and/or directories.
+\fIprotect\-owned\fR for specific \fBfnmatch\fR(3) patterns. For backward
+compatibility, directories that are listed without a fnmatch pattern will
+automatically have /* appended to them.
.br
-Defaults to /lib/modules.
+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"
type. Currently, only \fBgzip\fR(1) compression is supported, so build
logs will have a '.gz' extension when this feature is enabled.
.TP
+.B compressdebug
+Compress the debug sections in the split debug files with zlib to save
+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.
+that have not been modified since they were installed. This feature is
+enabled by default.
.TP
.B digest
Autogenerate digests for packages when running the
/usr/lib/portage/bin/clean_locks exists to help handle lock issues
when a problem arises (normally due to a crash or disconnect).
.TP
+.B downgrade\-backup
+When a package is downgraded to a lower version, call \fBquickpkg\fR(1)
+in order to create a backup of the installed version before it is
+unmerged (if a binary package of the same version does not already
+exist). Also see the related \fIunmerge\-backup\fR feature.
+.TP
.B ebuild\-locks
Use locks to ensure that unsandboxed ebuild phases never execute
concurrently. Also see \fIparallel\-install\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
parallelization. For additional parallelization, disable
\fIebuild\-locks\fR.
.TP
-.B parse\-eapi\-ebuild\-head
-Parse \fBEAPI\fR from the head of the ebuild (first 30 lines). This feature
-is only intended for experimental purposes and should not be enabled under
-normal circumstances.
-.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
.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
.B splitdebug
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. For installation of source code, see \fBinstallsources\fR.
+\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
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,
Note that the test phase for a specific package may be disabled by masking
the "test" \fBUSE\fR flag in \fBpackage.use.mask\fR (see \fBportage\fR(5)).
.TP
+.B unmerge\-backup
+Call \fBquickpkg\fR(1) to create a backup of each package before it is
+unmerged (if a binary package of the same version does not already exist).
+Also see the related \fIdowngrade\-backup\fR feature.
+.TP
.B unmerge\-logs
Keep logs from successful unmerge phases. This is relevant only when
\fBPORT_LOGDIR\fR is set.
.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
\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
+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. 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.
+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
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.
.TP
.B PORTAGE_GPG_KEY
The \fBgpg\fR(1) key used by \fBrepoman\fR(1) to sign manifests
-when \fBsign\fR is in \fBFEATURES\fR.
+when \fBsign\fR is in \fBFEATURES\fR. In order to sign commits with
+\fBgit\fR(1), you will need Git >=1.7.9 and your commit key will have
+to be configured by \fI`git config user.signingkey key_id`\fR.
.TP
.B PORTAGE_GPG_SIGNING_COMMAND
The command used by \fBrepoman\fR(1) to sign manifests when \fBsign\fR is
in \fBFEATURES\fR.
.TP
+\fBPORTAGE_GRPNAME\fR = \fI[group]\fR
+Defines the groupname to use when executing in userpriv/etc... modes (i.e.
+non-root).
+.br
+Defaults to portage.
+.TP
+\fBPORTAGE_INST_GID\fR = \fI[gid]\fR
+Defines the group id when installing files via dobin/dosbin. Useful when
+running ebuild as yourself.
+.br
+Defaults to 0.
+.TP
+\fBPORTAGE_INST_UID\fR = \fI[uid]\fR
+Defines the user id when installing files via dobin/dosbin. Useful when
+running ebuild as yourself.
+.br
+Defaults to 0.
+.TP
\fBPORTAGE_IONICE_COMMAND\fR = \fI[ionice command string]\fR
This variable should contain a command for portage to call in order
to adjust the io priority of portage and it's subprocesses. The command
Defines the location of the temporary build directories.
.br
Defaults to /var/tmp.
+
+This should not be set to point anywhere under the directory tree
+specified by \fBPORTDIR\fR (/usr/portage by default).
+.TP
+\fBPORTAGE_USERNAME\fR = \fI[user]\fR
+Defines the username to use when executing in userpriv/etc... modes (i.e.
+non-root).
+.br
+Defaults to portage.
.TP
\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.
+your /etc/portage/make.profile symlink accordingly.
.br
Defaults to /usr/portage.
.br
\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.
+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
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
.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 /.
+packages or ebuilds.
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.
+\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
.br
Defaults to rsync://rsync.gentoo.org/gentoo\-portage
.TP
+\fBUNINSTALL_IGNORE\fR = \fI[space delimited list of fnmatch patterns]\fR
+This variable prevents uninstallation of files that match
+specific \fBfnmatch\fR(3) patterns. In order to ignore file
+collisions with these files at install time, the same patterns
+can be added to the \fBCOLLISION_IGNORE\fR variable.
+.br
+Defaults to "/lib/modules/*".
+.TP
\fBUSE\fR = \fI[space delimited list of USE items]\fR
This variable contains options that control the build behavior of several
packages. More information in \fBebuild\fR(5). Possible USE values
can be found in \fI/usr/portage/profiles/use.desc\fR.
.TP
-\fBUSE_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
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.