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 A QA-feature to ensure that a package doesn't overwrite files it doesn't own.
185 The `COLLISION_IGNORE`_ variable can be used to selectively disable this feature.
188 Autogenerate digests for packages when running the emerge(1) command. If
189 the `assume-digests`_ feature is also enabled then existing SRC_URI digests
190 will be reused whenever they are available.
193 Enable portage support for the distcc package.
196 Portage uses lockfiles to ensure competing instances don't clobber
197 each other's files. This feature is enabled by default but may cause
198 heartache on less intelligent remote filesystems like NFSv2 and some
199 strangely configured Samba server (oplocks off, NFS re\-export). A tool
200 /usr/lib/portage/bin/clean_locks exists to help handle lock issues
201 when a problem arises (normally due to a crash or disconnect).
204 Updates dependencies in binary packages to match the current tree, for
205 example after package moves. This can take a ot of time if you have many
206 binary packages in `PKGDIR`_.
209 Force emerges to always try to fetch files from the `PORTAGE_BINHOST`_.
212 Install source code into /usr/src/debug/${CATEGORY}/${PF} (also see
213 `splitdebug`_). This feature works only if debugedit is installed.
216 Do not delete the temporary ebuild directory ${T} after the merge process.
219 Do not delete the build directory ${WORKDIR} after the merge process. This
220 may occupy a lot of diskspace.
223 Automatically perform a metadata transfer when emerge --sync is run.
226 This will cause `FETCHCOMMAND`_ to always be run even if the file already
227 exists in `DISTDIR`_.
230 When utilizing ebuild(1), only run the requested function.
233 Do no delete the source and temporary files after the merge process.
236 Do not install documentation files in /usr/share/doc.
239 Do not install info pages.
242 Do not install manpages.
245 Prevents the stripping of binaries that are merged to the live filesystem.
248 Disables xterm titlebar updates (which contains status info).
251 Fetch in the background while compiling.
254 Use sys-apps/sandbox when building packages to protect the live filesystem.
257 Stands for Smart Filesystem Permissions. Before merging packages to the
258 live filesystem, automatically search for and set permissions on setuid
259 and setgid files. Files that are setuid have the group and other read
260 bits removed while files that are setgid have the other read bit removed.
261 See also `suidctl`_ below.
264 When commiting work to cvs with repoman(1), sign the Manifest with
265 a GPG key. Read about the `PORTAGE_GPG_KEY`_ variable.
268 Prior to stripping ELF etdyn and etexec files, the debugging info is
269 stored for later use by debuggers. This feature is disabled by
270 `nostrip`_. For installation of source code, see `installsources`_.
273 Have portage react strongly to conditions that have the potential to be
274 dangerous (like missing or incorrect Manifests entries).
277 Have portage react strongly to conditions that may conflict with system
278 security provisions (for example textrels, executable stack). Read about
279 the `QA_STRICT`_ variables below.
282 Before merging packages to the live filesystem, automatically strip setuid
283 bits from any file that is not listed in /etc/portage/suidctl.conf.
286 Run package-specific tests during each merge to help make sure
287 the package compiled properly. See *test* in ebuild(1)
288 and *src_test()* in ebuild(5).
291 When portage is run as root, drop privileges to portage:portage during the
292 fetching of package sources.
295 Allow portage to drop root privileges and compile packages as
296 portage:portage without `sandbox`_ (unless `usersandbox`_ is also used).
299 Enable the sandbox in the compile phase, when running without root privs
305 :default: /usr/bin/wget -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI}
306 :suggest: /usr/bin/wget -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}
308 This variable contains the command used for fetching package sources from
309 the internet. It must contain the full path to the executable as well as the
310 place-holders \${DISTDIR} and \${URI}.
315 :default: http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo
316 :valdesc: space separated list of mirror locations
318 Insert your space-seperated list of local mirrors here. These locations are
319 used to download files before the ones listed in the ebuild scripts. Merging
320 'app-portage/mirrorselect' can help to select an appropriate mirror.
325 :valdesc: space delimited list of file names
327 Use this variable if you want to selectively prevent certain files from being
328 copied into your file system tree. This does not work on symlinks, but only on
329 actual files. Useful if you wish to filter out files like HACKING.gz and
336 :valdesc: make options
338 Use this variable if you want to use parallel make. For example, if you
339 have a dual-processor system, set this variable to "-j2" or "-j3" for
340 enhanced build performance with many packages. Suggested settings are
341 between CPUs+1 and 2*CPUs+1. For more information, see make(1).
347 :valdesc: true | false
349 Defines if color should be disabled (this is overridden by CLI options).
354 :default: |portdir|/packages
357 Defines the location where created .tbz2 binary packages will be stored.
362 :suggest: /var/log/portage
365 This variable defines the directory in which per-ebuild logs are kept.
366 Logs are created only when this is set and writable.
371 :suggest: ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp
372 :valdesc: URI to a binary package server
374 This is the host from which portage will grab prebuilt-binary packages.
375 The list is a single entry specifying the full address of the directory
376 serving the tbz2's for your system. This is only used when running with
377 the get binary pkg options are given to emerge. Review emerge(1)
378 for more information. Note that it should point to the 'All' directory on
379 the host that creates the binary packages and not to the root of the `PKGDIR`_.
384 :default: log warn error
385 :valdesc: space separated list of logging levels
387 This variable defines which ebuild messages should be logged by the elog
388 subsystem. Possible values are info, log, warn and error.
394 :valdesc: space separated list of elog handlers
396 Selects which elog message handlers are invoked by portage to deliver messages
397 captured by elog. If no handler is specified logging is effectively disabled.
398 Default handlers (other packages may contain additional handlers) are:
401 saves one logfile per package in ${PORT_LOGDIR}/elog, /var/log/portage/elog
402 if `PORT_LOGDIR`_ is unset
405 passes all messages to `PORTAGE_ELOG_COMMAND`_
408 sends all messages to syslog
411 sends all messages to the address configured in `PORTAGE_ELOG_MAILURI`_
416 :suggest: /path/to/logprocessor -p '\${PACKAGE}' -f '\${LOGFILE}'
418 Only used with the "custom" logging module. Specifies a command
419 to process log messages. Two variables are expanded:
422 expands to the cpv entry of the processed package (see PVR in ebuild(5))
425 absolute path to the logfile
427 Both variables have to be quoted with single quotes
433 :suggest: user@some.domain mail.some.domain
435 This variable holds all important settings for the mail module. In most cases
436 listing the recipient address andthe receiving mailserver should be sufficient,
437 but you can also use advanced settings like authentication or TLS. The full
439 ``address [[user:passwd@]mailserver[:port]]``
446 username for smtp auth (defaults to none)
449 password for smtp auth (defaults to none)
452 SMTP server that should be used to deliver the mail (defaults to localhost).
453 Alternatively this can also be a the path to a sendmail binary if you don't
454 want to use SMTP (e.g. if you only need local delivery to a mbox).
457 port to use on the given SMTP server (defaults to 25, values > 100000
458 indicate that starttls should be used on (port-100000))
460 PORTAGE_ELOG_MAILFROM
461 ---------------------
464 :suggest: portage@some.domain
465 :valdesc: sender address
467 You can set the from-address of logmails with this variable, if unset mails
468 are sent by "portage" (this default may fail in some environments).
470 PORTAGE_ELOG_MAILSUBJECT
471 ------------------------
473 :default: [portage] ebuild log for \${PACKAGE} on \${HOST}
474 :suggest: package \${PACKAGE} merged on \${HOST} with notice
475 :valdesc: mail subject template
477 Template string to be used as subject for logmails. The following variables
481 see description of `PORTAGE_ELOG_COMMAND`_
484 FQDN of the host portage is running on
491 This variable tells repoman which GPG key to use for signing Manifests.
499 The value of this variable will be added to the current nice level that
500 emerge is running at. In other words, this will not set the nice level,
501 it will increment it. For more information about nice levels and what
502 are acceptable ranges, see nice(1).
504 PORTAGE_RSYNC_EXTRA_OPTS
505 ------------------------
507 :suggest: --exclude=/etc/portage/rsync_exclude
508 :valdesc: rsync options
510 Additional rsync options to be used by emerge --sync.
515 :default: --recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages
516 :valdesc: rsync options
518 Default rsync options to be used by emerge --sync. **Don't change this unless
519 you know exactly what you're doing!**
521 PORTAGE_RSYNC_RETRIES
522 ---------------------
527 The number of times rsync should retry on failed connections before giving up.
535 Defines the location of the temporary build directories.
543 Defines the location of your Portage tree.
548 :suggest: |portdir|/local
549 :valdesc: space separated list of overlay paths
551 Defines the directories in which user made ebuilds are be stored.
556 :default: /usr/bin/wget -c -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI}
557 :suggest: /usr/bin/wget -c -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}
559 This variable contains the command used for resuming package sources that
560 have been partially downloaded. It should be defined using the same format
570 Set this to instruct portage to ignore any QA_EXECSTACK override settings from
571 ebuilds. See also ebuild(5).
578 Set this to instruct portage to ignore any QA_WX_LOAD override settings from
579 ebuilds. See also ebuild(5).
586 Set this to instruct portage to ignore any QA_TEXTRELS override settings from
587 ebuilds. See also ebuild(5).
595 Use this variable to specify the target root filesystem to be used for merging
596 packages or ebuilds. All RDEPEND and PDEPEND will be installed
597 into ROOT while all DEPEND will be still be installed into /.
598 Typically, you should set this setting in the environment rather than in
599 /etc/make.conf itself. It's commonly used for creating new build
600 images. Make sure you use an absolute path.
605 :default: |portdir|/rpm
608 Defines the location where created RPM packages will be stored. Note that RPM
609 support in portage is experimental at best.
614 :default: rsync://rsync.gentoo.org/gentoo-portage
615 :valdesc: URI to a portage tree server (rsync or cvs)
617 Insert your preferred rsync mirror here. This rsync server is used to sync
618 the local portage tree when emerge --sync is run. Only one server can be
624 :suggest: X gtk gnome -alsa
625 :valdesc: space delimited list of USE items
627 This variable contains options that control the build behavior of several
628 packages. More information in ebuild(5). Possible USE values
629 can be found in |portdir|/profiles/use.desc and |portdir|/profiles/use.local.desc.
634 :suggest: LINGUAS VIDEO_CARDS
635 :valdesc: space separated list of variable names
637 Any variable listed here will be used to augment `USE`_ by inserting a new flag
638 for every value in that variable, so USE_EXPAND="FOO" and FOO="bar bla" results
639 in USE="foo_bar foo_bla".
644 :valdesc: space separated list of variable names
646 Names of `USE_EXPAND`_ variables that should not be shown in the verbose merge
647 list output of the emerge(1) command.
652 :default: env:pkg:conf:defaults:pkginternal
653 :valdesc: colon separated list of portage config layers
655 Determines the precedence of layers in the incremental stacking of the USE
656 variable. Precedence decreases from left to right such that env overrides
657 pkg, pkg overrides conf, and so forth. *Don't change this unless you know what
658 you're doing!* Available layers are:
661 USE from the current USE environment variable if it exists
664 Per-package USE from /etc/portage/package.use (see portage(5))
670 USE from make.defaults and package.use in the profile (see portage(5))
673 USE from ebuild IUSE defaults (flags enabled via a + prefix; see ebuild(5))
678 Please report bugs via http://bugs.gentoo.org/
683 - Daniel Robbins <drobbins@gentoo.org>
684 - Nicholas Jones <carpaski@gentoo.org>
685 - Mike Frysinger <vapier@gentoo.org>
686 - Saleem Abdulrasool <compnerd@gentoo.org>
687 - Marius Mauch <genone@gentoo.org>
693 Contains user-supplied variables and overwrites those in make.defaults.
696 Contains portage defaults for many variables listed here. Don't change this,
697 edit /etc/make.conf instead.
699 |portdir|/profiles/use.desc
700 Contains a list of all global USE flags with brief descriptions.
702 |portdir|/profiles/use.local.desc
703 Contains a list of all local USE variables with brief descriptions.
714 .. |accept_keywords| replace:: ~x86
715 .. |cflags| replace:: -march=i686 -O2 -pipe
716 .. |chost| replace:: i686-gentoo-linux-gnu
717 .. |portdir| replace:: /usr/portage