| make.conf |
| ********* |
| |
| Available make.conf settings for portage |
| |
| SYNOPSIS |
| ======== |
| |
| /etc/make.conf |
| |
| DESCRIPTION |
| =========== |
| |
| This file contains various variables that are used by Portage. |
| Portage will check the currently-defined environment variables |
| first for any settings. If no environment settings are found, |
| Portage then checks /etc/make.conf. If no setting is found |
| in /etc/make.conf, Portage checks the profile's default setting |
| from /etc/make.profile/make.defaults. If no setting is found there, |
| it finally checks make.globals. |
| Please note that all user |
| settings should be made in the environment or in /etc/make.conf, |
| which is intended to be customized by the user. |
| |
| VARIABLES |
| ========= |
| |
| ACCEPT_KEYWORDS |
| --------------- |
| |
| :suggest: |accept_keywords| |
| :valdesc: space delimited list of KEYWORDS |
| |
| 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. |
| |
| CCACHE_DIR |
| ---------- |
| |
| :suggest: ${PORTAGE_TMPDIR}/ccache |
| :valdesc: path |
| |
| Defines the location of the ccache working directory. See the ccache(1) man |
| page for more information. |
| |
| CCACHE_SIZE |
| ----------- |
| |
| :valdesc: size |
| |
| This controls the space use limitations for ccache. The default is 2 gigabytes |
| ('2G'). Sizes are specified with 'G', 'M', or 'K'. |
| |
| CFLAGS |
| ------ |
| |
| :suggest: |cflags| |
| :valdesc: valid gcc flags, see gcc manual |
| |
| Use these variables to set the desired optimization/CPU instruction settings |
| for applications that you compile. Nearly all ebuild files will take advantage |
| of your custom settings, resulting in a Gentoo Linux that is fully customized |
| to your specifications. Please use sane settings as some packages will fail to |
| compile/run if the optimizations are too extreme. |
| |
| CXXFLAGS |
| -------- |
| |
| :suggest: ${CFLAGS} |
| :valdesc: valid gcc flags, see gcc manual |
| |
| `CFLAGS`_ |
| |
| CHOST |
| ----- |
| |
| :suggest: |chost| |
| |
| This variable is passed by the ebuild scripts to the configure step as |
| --host=${CHOST}. This way you can force the build-host. |
| |
| CLEAN_DELAY |
| ----------- |
| |
| :default: 5 |
| :valdesc: integer |
| |
| Determines how long the countdown delay will be for unmerge operations (including |
| autoclean). |
| |
| COLLISION_IGNORE |
| ---------------- |
| |
| :valdesc: space delimited list of files and/or directories |
| |
| This variable allows the user to disable `collision-protect`_ for specific files |
| and/or directories. |
| |
| CONFIG_PROTECT |
| -------------- |
| |
| :default: /etc |
| :valdesc: space delimited list of files and/or directories |
| |
| All files and/or directories that are defined here will have "config file |
| protection" enabled for them (unless overridden by _`CONFIG_PROTECT_MASK`). |
| |
| CONFIG_PROTECT_MASK |
| ------------------- |
| |
| :default: /etc/env.d |
| :valdesc: space delimited list of files and/or directories |
| |
| All files and/or directories that are defined here will have "config file |
| protection" disabled for them. |
| |
| DISTCC_DIR |
| ---------- |
| |
| :suggest: ${PORTAGE_TMPDIR}/.distcc |
| :valdesc: path |
| |
| Defines the location of the distcc working directory. See the distcc(1) man |
| page for more information. |
| |
| DISTDIR |
| ------- |
| |
| :default: |portdir|/distfiles |
| :valdesc: path |
| |
| Defines the location of your local source file repository. |
| |
| EBEEP_IGNORE |
| ------------ |
| |
| Defines whether or not to ignore audible beeps when displaying important |
| informational messages. This variable is unset by default. |
| |
| EMERGE_DEFAULT_OPTS |
| ------------------- |
| |
| :valdesc: emerge options |
| |
| Options to append to the end of the emerge(1) command line on every invocation. |
| These options will not be appended to the command line if --ignore-default-opts |
| is specified. |
| |
| EPAUSE_IGNORE |
| ------------- |
| |
| Defines whether or not to ignore short pauses that occur when displaying |
| important informational messages. This variable is unset by default. |
| |
| FEATURES |
| -------- |
| |
| :default: sandbox distlocks metadata-transfer |
| :suggest: userpriv usersandbox |
| :valdesc: space separated list of feature flags |
| |
| Various settings affecting portage behavior. Don't disable the defaults without |
| a good reason. This is an incremental variable. It can take a combination of the |
| following flags: |
| |
| _`assume-digests` |
| When commiting work to cvs with repoman(1), assume that all existing SRC_URI |
| digests are correct. This feature also affects digest generation via |
| ebuild(1) and emerge(1) (emerge generates digests only when the digest |
| feature is enabled). |
| |
| _`buildpkg` |
| Binary packages will be created for all packages that are merged. |
| |
| _`buildsyspkg` |
| Build binary packages for just packages in the system set. |
| |
| _`ccache` |
| Enable portage support for the ccache package. If ${CCACHE_DIR} is not set |
| in the users environment, then portage will default to ${PORTAGE_TMPDIR}/ccache |
| (with userpriv) and to /root/.ccache otherwise. |
| |
| _`collision-protect` |
| A QA-feature to ensure that a package doesn't overwrite files it doesn't own. |
| The `COLLISION_IGNORE`_ variable can be used to selectively disable this feature. |
| |
| _`digest` |
| Autogenerate digests for packages when running the emerge(1) command. If |
| the `assume-digests`_ feature is also enabled then existing SRC_URI digests |
| will be reused whenever they are available. |
| |
| _`distcc` |
| Enable portage support for the distcc package. |
| |
| _`distlocks` |
| Portage uses lockfiles to ensure competing instances don't clobber |
| each other's files. This feature is enabled by default but may cause |
| heartache on less intelligent remote filesystems like NFSv2 and some |
| strangely configured Samba server (oplocks off, NFS re\-export). A tool |
| /usr/lib/portage/bin/clean_locks exists to help handle lock issues |
| when a problem arises (normally due to a crash or disconnect). |
| |
| _`fixpackages` |
| Updates dependencies in binary packages to match the current tree, for |
| example after package moves. This can take a ot of time if you have many |
| binary packages in `PKGDIR`_. |
| |
| _`getbinpkg` |
| Force emerges to always try to fetch files from the `PORTAGE_BINHOST`_. |
| |
| _`installsources` |
| Install source code into /usr/src/debug/${CATEGORY}/${PF} (also see |
| `splitdebug`_). This feature works only if debugedit is installed. |
| |
| _`keeptemp` |
| Do not delete the temporary ebuild directory ${T} after the merge process. |
| |
| _`keepwork` |
| Do not delete the build directory ${WORKDIR} after the merge process. This |
| may occupy a lot of diskspace. |
| |
| _`metadata-transfer` |
| Automatically perform a metadata transfer when emerge --sync is run. |
| |
| _`mirror` |
| This will cause `FETCHCOMMAND`_ to always be run even if the file already |
| exists in `DISTDIR`_. |
| |
| _`noauto` |
| When utilizing ebuild(1), only run the requested function. |
| |
| _`noclean` |
| Do no delete the source and temporary files after the merge process. |
| |
| _`nodoc` |
| Do not install documentation files in /usr/share/doc. |
| |
| _`noinfo` |
| Do not install info pages. |
| |
| _`noman` |
| Do not install manpages. |
| |
| _`nostrip` |
| Prevents the stripping of binaries that are merged to the live filesystem. |
| |
| _`notitles` |
| Disables xterm titlebar updates (which contains status info). |
| |
| _`parallel-fetch` |
| Fetch in the background while compiling. |
| |
| _`sandbox` |
| Use sys-apps/sandbox when building packages to protect the live filesystem. |
| |
| _`sfperms` |
| Stands for Smart Filesystem Permissions. Before merging packages to the |
| live filesystem, automatically search for and set permissions on setuid |
| and setgid files. Files that are setuid have the group and other read |
| bits removed while files that are setgid have the other read bit removed. |
| See also `suidctl`_ below. |
| |
| _`sign` |
| When commiting work to cvs with repoman(1), sign the Manifest with |
| a GPG key. Read about the `PORTAGE_GPG_KEY`_ variable. |
| |
| _`splitdebug` |
| Prior to stripping ELF etdyn and etexec files, the debugging info is |
| stored for later use by debuggers. This feature is disabled by |
| `nostrip`_. For installation of source code, see `installsources`_. |
| |
| _`strict` |
| Have portage react strongly to conditions that have the potential to be |
| dangerous (like missing or incorrect Manifests entries). |
| |
| _`stricter` |
| Have portage react strongly to conditions that may conflict with system |
| security provisions (for example textrels, executable stack). Read about |
| the `QA_STRICT`_ variables below. |
| |
| _`suidctl` |
| Before merging packages to the live filesystem, automatically strip setuid |
| bits from any file that is not listed in /etc/portage/suidctl.conf. |
| |
| _`test` |
| Run package-specific tests during each merge to help make sure |
| the package compiled properly. See *test* in ebuild(1) |
| and *src_test()* in ebuild(5). |
| |
| _`userfetch` |
| When portage is run as root, drop privileges to portage:portage during the |
| fetching of package sources. |
| |
| _`userpriv` |
| Allow portage to drop root privileges and compile packages as |
| portage:portage without `sandbox`_ (unless `usersandbox`_ is also used). |
| |
| _`usersandbox` |
| Enable the sandbox in the compile phase, when running without root privs |
| (`userpriv`_). |
| |
| FETCHCOMMAND |
| ------------ |
| |
| :default: /usr/bin/wget -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI} |
| :suggest: /usr/bin/wget -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR} |
| |
| This variable contains the command used for fetching package sources from |
| the internet. It must contain the full path to the executable as well as the |
| place-holders \${DISTDIR} and \${URI}. |
| |
| GENTOO_MIRRORS |
| -------------- |
| |
| :default: http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo |
| :valdesc: space separated list of mirror locations |
| |
| Insert your space-seperated list of local mirrors here. These locations are |
| used to download files before the ones listed in the ebuild scripts. Merging |
| 'app-portage/mirrorselect' can help to select an appropriate mirror. |
| |
| INSTALL_MASK |
| ------------ |
| |
| :valdesc: space delimited list of file names |
| |
| Use this variable if you want to selectively prevent certain files from being |
| copied into your file system tree. This does not work on symlinks, but only on |
| actual files. Useful if you wish to filter out files like HACKING.gz and |
| TODO.gz. |
| |
| MAKEOPTS |
| -------- |
| |
| :suggest: -j2 |
| :valdesc: make options |
| |
| Use this variable if you want to use parallel make. For example, if you |
| have a dual-processor system, set this variable to "-j2" or "-j3" for |
| enhanced build performance with many packages. Suggested settings are |
| between CPUs+1 and 2*CPUs+1. For more information, see make(1). |
| |
| NOCOLOR |
| ------- |
| |
| :default: false |
| :valdesc: true | false |
| |
| Defines if color should be disabled (this is overridden by CLI options). |
| |
| PKGDIR |
| ------ |
| |
| :default: |portdir|/packages |
| :valdesc: path |
| |
| Defines the location where created .tbz2 binary packages will be stored. |
| |
| PORT_LOGDIR |
| ----------- |
| |
| :suggest: /var/log/portage |
| :valdesc: path |
| |
| This variable defines the directory in which per-ebuild logs are kept. |
| Logs are created only when this is set and writable. |
| |
| PORTAGE_BINHOST |
| --------------- |
| |
| :suggest: ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp |
| :valdesc: URI to a binary package server |
| |
| This is the host from which portage will grab prebuilt-binary packages. |
| The list is a single entry specifying the full address of the directory |
| serving the tbz2's for your system. This is only used when running with |
| the get binary pkg options are given to emerge. Review emerge(1) |
| for more information. Note that it should point to the 'All' directory on |
| the host that creates the binary packages and not to the root of the `PKGDIR`_. |
| |
| PORTAGE_ELOG_CLASSES |
| -------------------- |
| |
| :default: log warn error |
| :valdesc: space separated list of logging levels |
| |
| This variable defines which ebuild messages should be logged by the elog |
| subsystem. Possible values are info, log, warn and error. |
| |
| PORTAGE_ELOG_SYSTEM |
| ------------------- |
| |
| :suggest: save mail |
| :valdesc: space separated list of elog handlers |
| |
| Selects which elog message handlers are invoked by portage to deliver messages |
| captured by elog. If no handler is specified logging is effectively disabled. |
| Default handlers (other packages may contain additional handlers) are: |
| |
| save |
| saves one logfile per package in ${PORT_LOGDIR}/elog, /var/log/portage/elog |
| if `PORT_LOGDIR`_ is unset |
| |
| custom |
| passes all messages to `PORTAGE_ELOG_COMMAND`_ |
| |
| syslog |
| sends all messages to syslog |
| |
| mail |
| sends all messages to the address configured in `PORTAGE_ELOG_MAILURI`_ |
| |
| PORTAGE_ELOG_COMMAND |
| -------------------- |
| |
| :suggest: /path/to/logprocessor -p '\${PACKAGE}' -f '\${LOGFILE}' |
| |
| Only used with the "custom" logging module. Specifies a command |
| to process log messages. Two variables are expanded: |
| |
| ${PACKAGE} |
| expands to the cpv entry of the processed package (see PVR in ebuild(5)) |
| |
| ${LOGFILE} |
| absolute path to the logfile |
| |
| Both variables have to be quoted with single quotes |
| |
| PORTAGE_ELOG_MAILURI |
| -------------------- |
| |
| :default: root |
| :suggest: user@some.domain mail.some.domain |
| |
| This variable holds all important settings for the mail module. In most cases |
| listing the recipient address andthe receiving mailserver should be sufficient, |
| but you can also use advanced settings like authentication or TLS. The full |
| syntax is: |
| ``address [[user:passwd@]mailserver[:port]]`` |
| where |
| |
| address |
| recipient address |
| |
| user |
| username for smtp auth (defaults to none) |
| |
| passwd |
| password for smtp auth (defaults to none) |
| |
| mailserver |
| SMTP server that should be used to deliver the mail (defaults to localhost). |
| Alternatively this can also be a the path to a sendmail binary if you don't |
| want to use SMTP (e.g. if you only need local delivery to a mbox). |
| |
| port |
| port to use on the given SMTP server (defaults to 25, values > 100000 |
| indicate that starttls should be used on (port-100000)) |
| |
| PORTAGE_ELOG_MAILFROM |
| --------------------- |
| |
| :default: portage |
| :suggest: portage@some.domain |
| :valdesc: sender address |
| |
| You can set the from-address of logmails with this variable, if unset mails |
| are sent by "portage" (this default may fail in some environments). |
| |
| PORTAGE_ELOG_MAILSUBJECT |
| ------------------------ |
| |
| :default: [portage] ebuild log for \${PACKAGE} on \${HOST} |
| :suggest: package \${PACKAGE} merged on \${HOST} with notice |
| :valdesc: mail subject template |
| |
| Template string to be used as subject for logmails. The following variables |
| are exanded: |
| |
| ${PACKAGE} |
| see description of `PORTAGE_ELOG_COMMAND`_ |
| |
| ${HOST} |
| FQDN of the host portage is running on |
| |
| PORTAGE_GPG_KEY |
| --------------- |
| |
| :valdesc: GPG key id |
| |
| This variable tells repoman which GPG key to use for signing Manifests. |
| |
| PORTAGE_NICENESS |
| ---------------- |
| |
| :suggest: 3 |
| :valdesc: integer |
| |
| The value of this variable will be added to the current nice level that |
| emerge is running at. In other words, this will not set the nice level, |
| it will increment it. For more information about nice levels and what |
| are acceptable ranges, see nice(1). |
| |
| PORTAGE_RSYNC_EXTRA_OPTS |
| ------------------------ |
| |
| :suggest: --exclude=/etc/portage/rsync_exclude |
| :valdesc: rsync options |
| |
| Additional rsync options to be used by emerge --sync. |
| |
| PORTAGE_RSYNC_OPTS |
| ------------------ |
| |
| :default: --recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages |
| :valdesc: rsync options |
| |
| Default rsync options to be used by emerge --sync. **Don't change this unless |
| you know exactly what you're doing!** |
| |
| PORTAGE_RSYNC_RETRIES |
| --------------------- |
| |
| :default: -1 |
| :valdesc: integer |
| |
| The number of times rsync should retry on failed connections before giving up. |
| |
| PORTAGE_TMPDIR |
| -------------- |
| |
| :default: /var/tmp |
| :valdesc: path |
| |
| Defines the location of the temporary build directories. |
| |
| PORTDIR |
| ------- |
| |
| :default: |portdir| |
| :valdesc: path |
| |
| Defines the location of your Portage tree. |
| |
| PORTDIR_OVERLAY |
| --------------- |
| |
| :suggest: |portdir|/local |
| :valdesc: space separated list of overlay paths |
| |
| Defines the directories in which user made ebuilds are be stored. |
| |
| RESUMECOMMAND |
| ------------- |
| |
| :default: /usr/bin/wget -c -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI} |
| :suggest: /usr/bin/wget -c -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR} |
| |
| This variable contains the command used for resuming package sources that |
| have been partially downloaded. It should be defined using the same format |
| as `FETCHCOMMAND`_. |
| |
| .. _QA_STRICT: |
| |
| QA_STRICT_EXECSTACK |
| ------------------- |
| |
| :suggest: set |
| |
| Set this to instruct portage to ignore any QA_EXECSTACK override settings from |
| ebuilds. See also ebuild(5). |
| |
| QA_STRICT_WX_LOAD |
| ----------------- |
| |
| :suggest: set |
| |
| Set this to instruct portage to ignore any QA_WX_LOAD override settings from |
| ebuilds. See also ebuild(5). |
| |
| QA_STRICT_TEXTRELS |
| ------------------ |
| |
| :suggest: set |
| |
| Set this to instruct portage to ignore any QA_TEXTRELS override settings from |
| ebuilds. See also ebuild(5). |
| |
| ROOT |
| ---- |
| |
| :default: / |
| :valdesc: path |
| |
| Use this variable to specify the target root filesystem to be used for merging |
| packages or ebuilds. All RDEPEND and PDEPEND will be installed |
| into ROOT while all DEPEND will be still be installed into /. |
| Typically, you should set this setting in the environment rather than in |
| /etc/make.conf itself. It's commonly used for creating new build |
| images. Make sure you use an absolute path. |
| |
| RPMDIR |
| ------ |
| |
| :default: |portdir|/rpm |
| :valdesc: path |
| |
| Defines the location where created RPM packages will be stored. Note that RPM |
| support in portage is experimental at best. |
| |
| SYNC |
| ---- |
| |
| :default: rsync://rsync.gentoo.org/gentoo-portage |
| :valdesc: URI to a portage tree server (rsync or cvs) |
| |
| Insert your preferred rsync mirror here. This rsync server is used to sync |
| the local portage tree when emerge --sync is run. Only one server can be |
| specified. |
| |
| USE |
| --- |
| |
| :suggest: X gtk gnome -alsa |
| :valdesc: space delimited list of USE items |
| |
| This variable contains options that control the build behavior of several |
| packages. More information in ebuild(5). Possible USE values |
| can be found in |portdir|/profiles/use.desc and |portdir|/profiles/use.local.desc. |
| |
| USE_EXPAND |
| ---------- |
| |
| :suggest: LINGUAS VIDEO_CARDS |
| :valdesc: space separated list of variable names |
| |
| 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". |
| |
| USE_EXPAND_HIDDEN |
| ----------------- |
| |
| :valdesc: space separated list of variable names |
| |
| Names of `USE_EXPAND`_ variables that should not be shown in the verbose merge |
| list output of the emerge(1) command. |
| |
| USE_ORDER |
| --------- |
| |
| :default: env:pkg:conf:defaults:pkginternal |
| :valdesc: colon separated list of portage config layers |
| |
| Determines the precedence of layers in the incremental stacking of the USE |
| variable. Precedence decreases from left to right such that env overrides |
| pkg, pkg overrides conf, and so forth. *Don't change this unless you know what |
| you're doing!* Available layers are: |
| |
| env |
| USE from the current USE environment variable if it exists |
| |
| pkg |
| Per-package USE from /etc/portage/package.use (see portage(5)) |
| |
| conf |
| USE from make.conf |
| |
| defaults |
| USE from make.defaults and package.use in the profile (see portage(5)) |
| |
| pkginternal |
| USE from ebuild IUSE defaults (flags enabled via a + prefix; see ebuild(5)) |
| |
| REPORTING BUGS |
| ============== |
| |
| Please report bugs via http://bugs.gentoo.org/ |
| |
| AUTHORS |
| ======= |
| |
| - Daniel Robbins <drobbins@gentoo.org> |
| - Nicholas Jones <carpaski@gentoo.org> |
| - Mike Frysinger <vapier@gentoo.org> |
| - Saleem Abdulrasool <compnerd@gentoo.org> |
| - Marius Mauch <genone@gentoo.org> |
| |
| FILES |
| ===== |
| |
| /etc/make.conf |
| Contains user-supplied variables and overwrites those in make.defaults. |
| |
| /usr/share/portage/config/make.globals |
| Contains portage defaults for many variables listed here. Don't change this, |
| edit /etc/make.conf instead. |
| |
| |portdir|/profiles/use.desc |
| Contains a list of all global USE flags with brief descriptions. |
| |
| |portdir|/profiles/use.local.desc |
| Contains a list of all local USE variables with brief descriptions. |
| |
| SEE ALSO |
| ======== |
| |
| - emerge(1) |
| - portage(5) |
| - ebuild(1) |
| - ebuild(5) |
| |
| .. Substitutions: |
| .. |accept_keywords| replace:: ~x86 |
| .. |cflags| replace:: -march=i686 -O2 -pipe |
| .. |chost| replace:: i686-gentoo-linux-gnu |
| .. |portdir| replace:: /usr/portage |
| |