4 Available make.conf settings for portage
14 This file contains various variables that are used by Portage.
15 Portage will check the currently-defined environment variables
16 first for any settings. If no environment settings are found,
17 Portage then checks /etc/make.conf. If no setting is found
18 in /etc/make.conf, Portage checks the profile's default setting
19 from /etc/make.profile/make.defaults. If no setting is found there,
20 it finally checks /etc/make.globals. Please note that all user
21 settings should be made in the environment or in /etc/make.conf,
22 which is intended to be customized by the user.
30 :suggest: |accept_keywords|
31 :valdesc: space delimited list of KEYWORDS
33 Enable testing of ebuilds that have not yet been deemed 'stable'. Users
34 of the 'x86' architecture would set this to '~x86' while ppc users would
35 set this to '~ppc'. This is an incremental variable.
40 :suggest: ${PORTAGE_TMPDIR}/ccache
43 Defines the location of the ccache working directory. See the ccache(1) man
44 page for more information.
51 This controls the space use limitations for ccache. The default is 2 gigabytes
52 ('2G'). Sizes are specified with 'G', 'M', or 'K'.
58 :valdesc: valid gcc flags, see gcc manual
60 Use these variables to set the desired optimization/CPU instruction settings
61 for applications that you compile. Nearly all ebuild files will take advantage
62 of your custom settings, resulting in a Gentoo Linux that is fully customized
63 to your specifications. Please use sane settings as some packages will fail to
64 compile/run if the optimizations are too extreme.
70 :valdesc: valid gcc flags, see gcc manual
79 This variable is passed by the ebuild scripts to the configure step as
80 --host=${CHOST}. This way you can force the build-host.
88 Determines how long the countdown delay will be for unmerge operations (including
94 :valdesc: space delimited list of files and/or directories
96 This variable allows the user to disable `collision-protect`_ for specific files
103 :valdesc: space delimited list of files and/or directories
105 All files and/or directories that are defined here will have "config file
106 protection" enabled for them (unless overridden by _`CONFIG_PROTECT_MASK`).
112 :valdesc: space delimited list of files and/or directories
114 All files and/or directories that are defined here will have "config file
115 protection" disabled for them.
120 :suggest: ${PORTAGE_TMPDIR}/.distcc
123 Defines the location of the distcc working directory. See the distcc(1) man
124 page for more information.
129 :default: |portdir|/distfiles
132 Defines the location of your local source file repository.
137 Defines whether or not to ignore audible beeps when displaying important
138 informational messages. This variable is unset by default.
143 :valdesc: emerge options
145 Options to append to the end of the emerge(1) command line on every invocation.
146 These options will not be appended to the command line if --ignore-default-opts
152 Defines whether or not to ignore short pauses that occur when displaying
153 important informational messages. This variable is unset by default.
158 :default: sandbox distlocks metadata-transfer
159 :suggest: userpriv usersandbox
160 :valdesc: space separated list of feature flags
162 Various settings affecting portage behavior. Don't disable the defaults without
163 a good reason. This is an incremental variable. It can take a combination of the
167 When commiting work to cvs with repoman(1), assume that all existing SRC_URI
168 digests are correct. This feature also affects digest generation via
169 ebuild(1) and emerge(1) (emerge generates digests only when the digest
173 Binary packages will be created for all packages that are merged.
176 Build binary packages for just packages in the system set.
179 Enable portage support for the ccache package. If ${CCACHE_DIR} is not set
180 in the users environment, then portage will default to ${PORTAGE_TMPDIR}/ccache
181 (with userpriv) and to /root/.ccache otherwise.
184 Enable confcache support; global configure caching, speeds up autotool based
185 configure calls via the econf helper function. See ebuild(5) for more information.
188 A QA-feature to ensure that a package doesn't overwrite files it doesn't own.
189 The `COLLISION_IGNORE`_ variable can be used to selectively disable this feature.
192 Autogenerate digests for packages when running the emerge(1) command. If
193 the `assume-digests`_ feature is also enabled then existing SRC_URI digests
194 will be reused whenever they are available.
197 Enable portage support for the distcc package.
200 Portage uses lockfiles to ensure competing instances don't clobber
201 each other's files. This feature is enabled by default but may cause
202 heartache on less intelligent remote filesystems like NFSv2 and some
203 strangely configured Samba server (oplocks off, NFS re\-export). A tool
204 /usr/lib/portage/bin/clean_locks exists to help handle lock issues
205 when a problem arises (normally due to a crash or disconnect).
208 Updates dependencies in binary packages to match the current tree, for
209 example after package moves. This can take a ot of time if you have many
210 binary packages in `PKGDIR`_.
213 Force emerges to always try to fetch files from the `PORTAGE_BINHOST`_.
216 Install source code into /usr/src/debug/${CATEGORY}/${PF} (also see
217 `splitdebug`_). This feature works only if debugedit is installed.
220 Do not delete the temporary ebuild directory ${T} after the merge process.
223 Do not delete the build directory ${WORKDIR} after the merge process. This
224 may occupy a lot of diskspace.
227 Automatically perform a metadata transfer when emerge --sync is run.
230 This will cause `FETCHCOMMAND`_ to always be run even if the file already
231 exists in `DISTDIR`_.
234 When utilizing ebuild(1), only run the requested function.
237 Do no delete the source and temporary files after the merge process.
240 Do not install documentation files in /usr/share/doc.
243 Do not install info pages.
246 Do not install manpages.
249 Prevents the stripping of binaries that are merged to the live filesystem.
252 Disables xterm titlebar updates (which contains status info).
255 Fetch in the background while compiling.
258 Use sys-apps/sandbox when building packages to protect the live filesystem.
261 Stands for Smart Filesystem Permissions. Before merging packages to the
262 live filesystem, automatically search for and set permissions on setuid
263 and setgid files. Files that are setuid have the group and other read
264 bits removed while files that are setgid have the other read bit removed.
265 See also `suidctl`_ below.
268 When commiting work to cvs with repoman(1), sign the Manifest with
269 a GPG key. Read about the `PORTAGE_GPG_KEY`_ variable.
272 Prior to stripping ELF etdyn and etexec files, the debugging info is
273 stored for later use by debuggers. This feature is disabled by
274 `nostrip`_. For installation of source code, see `installsources`_.
277 Have portage react strongly to conditions that have the potential to be
278 dangerous (like missing or incorrect Manifests entries).
281 Have portage react strongly to conditions that may conflict with system
282 security provisions (for example textrels, executable stack). Read about
283 the `QA_STRICT`_ variables below.
286 Before merging packages to the live filesystem, automatically strip setuid
287 bits from any file that is not listed in /etc/portage/suidctl.conf.
290 Run package-specific tests during each merge to help make sure
291 the package compiled properly. See *test* in ebuild(1)
292 and *src_test()* in ebuild(5).
295 When portage is run as root, drop privileges to portage:portage during the
296 fetching of package sources.
299 Allow portage to drop root privileges and compile packages as
300 portage:portage without `sandbox`_ (unless `usersandbox`_ is also used).
303 Enable the sandbox in the compile phase, when running without root privs
309 :default: /usr/bin/wget -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI}
310 :suggest: /usr/bin/wget -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}
312 This variable contains the command used for fetching package sources from
313 the internet. It must contain the full path to the executable as well as the
314 place-holders \${DISTDIR} and \${URI}.
319 :default: http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo
320 :valdesc: space separated list of mirror locations
322 Insert your space-seperated list of local mirrors here. These locations are
323 used to download files before the ones listed in the ebuild scripts. Merging
324 'app-portage/mirrorselect' can help to select an appropriate mirror.
329 :valdesc: space delimited list of file names
331 Use this variable if you want to selectively prevent certain files from being
332 copied into your file system tree. This does not work on symlinks, but only on
333 actual files. Useful if you wish to filter out files like HACKING.gz and
340 :valdesc: make options
342 Use this variable if you want to use parallel make. For example, if you
343 have a dual-processor system, set this variable to "-j2" or "-j3" for
344 enhanced build performance with many packages. Suggested settings are
345 between CPUs+1 and 2*CPUs+1. For more information, see make(1).
351 :valdesc: true | false
353 Defines if color should be disabled (this is overridden by CLI options).
358 :default: |portdir|/packages
361 Defines the location where created .tbz2 binary packages will be stored.
366 :suggest: /var/log/portage
369 This variable defines the directory in which per-ebuild logs are kept.
370 Logs are created only when this is set and writable.
375 :suggest: ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp
376 :valdesc: URI to a binary package server
378 This is the host from which portage will grab prebuilt-binary packages.
379 The list is a single entry specifying the full address of the directory
380 serving the tbz2's for your system. This is only used when running with
381 the get binary pkg options are given to emerge. Review emerge(1)
382 for more information. Note that it should point to the 'All' directory on
383 the host that creates the binary packages and not to the root of the `PKGDIR`_.
388 :default: log warn error
389 :valdesc: space separated list of logging levels
391 This variable defines which ebuild messages should be logged by the elog
392 subsystem. Possible values are info, log, warn and error.
398 :valdesc: space separated list of elog handlers
400 Selects which elog message handlers are invoked by portage to deliver messages
401 captured by elog. If no handler is specified logging is effectively disabled.
402 Default handlers (other packages may contain additional handlers) are:
405 saves one logfile per package in ${PORT_LOGDIR}/elog, /var/log/portage/elog
406 if `PORT_LOGDIR`_ is unset
409 passes all messages to `PORTAGE_ELOG_COMMAND`_
412 sends all messages to syslog
415 sends all messages to the address configured in `PORTAGE_ELOG_MAILURI`_
420 :suggest: /path/to/logprocessor -p '\${PACKAGE}' -f '\${LOGFILE}'
422 Only used with the "custom" logging module. Specifies a command
423 to process log messages. Two variables are expanded:
426 expands to the cpv entry of the processed package (see PVR in ebuild(5))
429 absolute path to the logfile
431 Both variables have to be quoted with single quotes
437 :suggest: user@some.domain mail.some.domain
439 This variable holds all important settings for the mail module. In most cases
440 listing the recipient address andthe receiving mailserver should be sufficient,
441 but you can also use advanced settings like authentication or TLS. The full
443 ``address [[user:passwd@]mailserver[:port]]``
450 username for smtp auth (defaults to none)
453 password for smtp auth (defaults to none)
456 SMTP server that should be used to deliver the mail (defaults to localhost).
457 Alternatively this can also be a the path to a sendmail binary if you don't
458 want to use SMTP (e.g. if you only need local delivery to a mbox).
461 port to use on the given SMTP server (defaults to 25, values > 100000
462 indicate that starttls should be used on (port-100000))
464 PORTAGE_ELOG_MAILFROM
465 ---------------------
468 :suggest: portage@some.domain
469 :valdesc: sender address
471 You can set the from-address of logmails with this variable, if unset mails
472 are sent by "portage" (this default may fail in some environments).
474 PORTAGE_ELOG_MAILSUBJECT
475 ------------------------
477 :default: [portage] ebuild log for \${PACKAGE} on \${HOST}
478 :suggest: package \${PACKAGE} merged on \${HOST} with notice
479 :valdesc: mail subject template
481 Template string to be used as subject for logmails. The following variables
485 see description of `PORTAGE_ELOG_COMMAND`_
488 FQDN of the host portage is running on
495 This variable tells repoman which GPG key to use for signing Manifests.
503 The value of this variable will be added to the current nice level that
504 emerge is running at. In other words, this will not set the nice level,
505 it will increment it. For more information about nice levels and what
506 are acceptable ranges, see nice(1).
508 PORTAGE_RSYNC_EXTRA_OPTS
509 ------------------------
511 :suggest: --exclude=/etc/portage/rsync_exclude
512 :valdesc: rsync options
514 Additional rsync options to be used by emerge --sync.
519 :default: --recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages
520 :valdesc: rsync options
522 Default rsync options to be used by emerge --sync. **Don't change this unless
523 you know exactly what you're doing!**
525 PORTAGE_RSYNC_RETRIES
526 ---------------------
531 The number of times rsync should retry on failed connections before giving up.
539 Defines the location of the temporary build directories.
547 Defines the location of your Portage tree.
552 :suggest: |portdir|/local
553 :valdesc: space separated list of overlay paths
555 Defines the directories in which user made ebuilds are be stored.
560 :default: /usr/bin/wget -c -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI}
561 :suggest: /usr/bin/wget -c -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}
563 This variable contains the command used for resuming package sources that
564 have been partially downloaded. It should be defined using the same format
574 Set this to instruct portage to ignore any QA_EXECSTACK override settings from
575 ebuilds. See also ebuild(5).
582 Set this to instruct portage to ignore any QA_WX_LOAD override settings from
583 ebuilds. See also ebuild(5).
590 Set this to instruct portage to ignore any QA_TEXTRELS override settings from
591 ebuilds. See also ebuild(5).
599 Use this variable to specify the target root filesystem to be used for merging
600 packages or ebuilds. All RDEPEND and PDEPEND will be installed
601 into ROOT while all DEPEND will be still be installed into /.
602 Typically, you should set this setting in the environment rather than in
603 /etc/make.conf itself. It's commonly used for creating new build
604 images. Make sure you use an absolute path.
609 :default: |portdir|/rpm
612 Defines the location where created RPM packages will be stored. Note that RPM
613 support in portage is experimental at best.
618 :default: rsync://rsync.gentoo.org/gentoo-portage
619 :valdesc: URI to a portage tree server (rsync or cvs)
621 Insert your preferred rsync mirror here. This rsync server is used to sync
622 the local portage tree when emerge --sync is run. Only one server can be
628 :suggest: X gtk gnome -alsa
629 :valdesc: space delimited list of USE items
631 This variable contains options that control the build behavior of several
632 packages. More information in ebuild(5). Possible USE values
633 can be found in |portdir|/profiles/use.desc and |portdir|/profiles/use.local.desc.
638 :suggest: LINGUAS VIDEO_CARDS
639 :valdesc: space separated list of variable names
641 Any variable listed here will be used to augment `USE`_ by inserting a new flag
642 for every value in that variable, so USE_EXPAND="FOO" and FOO="bar bla" results
643 in USE="foo_bar foo_bla".
648 :valdesc: space separated list of variable names
650 Names of `USE_EXPAND`_ variables that should not be shown in the verbose merge
651 list output of the emerge(1) command.
656 :default: env:pkg:conf:defaults:pkginternal
657 :valdesc: colon separated list of portage config layers
659 Determines the precedence of layers in the incremental stacking of the USE
660 variable. Precedence decreases from left to right such that env overrides
661 pkg, pkg overrides conf, and so forth. *Don't change this unless you know what
662 you're doing!* Available layers are:
665 USE from the current USE environment variable if it exists
668 Per-package USE from /etc/portage/package.use (see portage(5))
674 USE from make.defaults and package.use in the profile (see portage(5))
677 USE from ebuild IUSE defaults (flags enabled via a + prefix; see ebuild(5))
682 Please report bugs via http://bugs.gentoo.org/
687 - Daniel Robbins <drobbins@gentoo.org>
688 - Nicholas Jones <carpaski@gentoo.org>
689 - Mike Frysinger <vapier@gentoo.org>
690 - Saleem Abdulrasool <compnerd@gentoo.org>
691 - Marius Mauch <genone@gentoo.org>
697 Contains user-supplied variables and overwrites those in make.defaults.
700 Contains portage defaults for many variables listed here. Don't change this,
701 edit /etc/make.conf instead.
703 |portdir|/profiles/use.desc
704 Contains a list of all global USE flags with brief descriptions.
706 |portdir|/profiles/use.local.desc
707 Contains a list of all local USE variables with brief descriptions.
718 .. |accept_keywords| replace:: ~x86
719 .. |cflags| replace:: -march=i686 -O2 -pipe
720 .. |chost| replace:: i686-gentoo-linux-gnu
721 .. |portdir| replace:: /usr/portage