Add "blank" to the default PORTAGE_ELOG_CLASSES setting.
[portage.git] / cnf / make.conf
1 # Copyright 1999-2007 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4 # Contains local system settings for Portage system
5
6 # Please review 'man make.conf' for more information.
7
8 # Build-time functionality
9 # ========================
10 #
11 # The USE variable is used to enable optional build-time functionality. For
12 # example, quite a few packages have optional X, gtk or GNOME functionality
13 # that can only be enabled or disabled at compile-time. Gentoo Linux has a
14 # very extensive set of USE variables described in our USE variable HOWTO at
15 # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
16 #
17 # The available list of use flags with descriptions is in your portage tree.
18 # Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
19 #
20 # 'ufed' is an ncurses/dialog interface available in portage to make handling
21 # useflags for you. 'emerge app-portage/ufed'
22 #
23 # Example:
24 #USE="X gtk gnome -alsa"
25
26 # Host and optimization settings 
27 # ==============================
28 #
29 # For optimal performance, enable a CFLAGS setting appropriate for your CPU.
30 #
31 # Please note that if you experience strange issues with a package, it may be
32 # due to gcc's optimizations interacting in a strange way. Please test the
33 # package (and in some cases the libraries it uses) at default optimizations
34 # before reporting errors to developers.
35 #
36 # Please refer to the GCC manual for a list of possible values.
37 #
38 #CFLAGS="-O2 -pipe"
39 #
40 # If you set a CFLAGS above, then this line will set your default C++ flags to
41 # the same settings.
42 #CXXFLAGS="${CFLAGS}"
43
44 # Advanced Masking
45 # ================
46 #
47 # Gentoo is using a new masking system to allow for easier stability testing
48 # on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
49 # on the platform they are set for. A special form has been added that
50 # indicates packages and revisions that are expected to work, but have not yet
51 # been approved for the stable set. '~arch' is a superset of 'arch' which
52 # includes the unstable, in testing, packages. Users of the 'x86' architecture
53 # would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
54 # '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
55 #
56 # Please note that this is not for development, alpha, beta, nor cvs release
57 # packages. "Broken" packages will not be added to testing and should not be
58 # requested to be added. Alternative routes are available to developers
59 # for experimental packages, and it is at their discretion to use them.
60 #
61 # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
62 # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
63 #
64 #ACCEPT_KEYWORDS="~arch"
65
66 # Portage Directories
67 # ===================
68 #
69 # Each of these settings controls an aspect of portage's storage and file
70 # system usage. If you change any of these, be sure it is available when
71 # you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
72 #
73 # PORTAGE_TMPDIR is the location portage will use for compilations and
74 #     temporary storage of data. This can get VERY large depending upon
75 #     the application being installed.
76 #PORTAGE_TMPDIR=/var/tmp
77 #
78 # PORTDIR is the location of the portage tree. This is the repository
79 #     for all profile information as well as all ebuilds. If you change
80 #     this, you must update your /etc/make.profile symlink accordingly.
81 #     ***Warning***
82 #     Data stored inside PORTDIR is in peril of being overwritten or deleted by
83 #     the emerge --sync command. The default value of PORTAGE_RSYNC_OPTS
84 #     will protect the default locations of DISTDIR and PKGDIR, but users are
85 #     warned that any other locations inside PORTDIR are not necessarily safe
86 #     for data storage.
87 #PORTDIR=/usr/portage
88 #
89 # DISTDIR is where all of the source code tarballs will be placed for
90 #     emerges. After packages are built, it is safe to remove any and
91 #     all files from this directory since they will be automatically
92 #     fetched on demand for a given build. If you would like to
93 #     selectively prune obsolete files from this directory, see
94 #     eclean from the gentoolkit package. Note that locations under
95 #     /usr/portage are not necessarily safe for data storage. See the
96 #     PORTDIR documentation for more information.
97 #DISTDIR=/usr/portage/distfiles
98 #
99 # PKGDIR is the location of binary packages that you can have created
100 #     with '--buildpkg' or '-b' while emerging a package. This can get
101 #     up to several hundred megs, or even a few gigs. Note that
102 #     locations under /usr/portage are not necessarily safe for data
103 #     storage. See the PORTDIR documentation for more information.
104 #PKGDIR=/usr/portage/packages
105 #
106 # PORT_LOGDIR is the location where portage will store all the logs it
107 #     creates from each individual merge. They are stored as
108 #     ${CATEGORY}:${PF}:YYYYMMDD-HHMMSS.log in the directory specified.
109 #     If the direcory does not exist, it will be created automatically and
110 #     group permissions will be applied to it.  If the directory already
111 #     exists, portage will not modify it's permissions.
112 #PORT_LOGDIR=""
113 #
114 # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
115 #     concern that they will be deleted by rsync updates. Default is not
116 #     defined.
117 #PORTDIR_OVERLAY=/usr/local/portage
118
119 # Fetching files 
120 # ==============
121 #
122 # If you need to set a proxy for wget or lukemftp, add the appropriate "export
123 # ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
124 # all users on your system should use them.
125 #
126 # Portage uses wget by default. Here are some settings for some alternate
127 # downloaders -- note that you need to merge these programs first before they
128 # will be available.
129 #
130 # Default fetch command (5 tries, passive ftp for firewall compatibility)
131 #FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp \${URI} -P \${DISTDIR}"
132 #RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp \${URI} -P \${DISTDIR}"
133 #
134 # Using wget, ratelimiting downloads
135 #FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
136 #RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
137 #
138 # Lukemftp (BSD ftp):
139 #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
140 #RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
141 #
142 # Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
143 # The list is a space separated list which is read left to right. If you use
144 # another mirror we highly recommend leaving the default mirror at the end of
145 # the list so that portage will fall back to it if the files cannot be found
146 # on your specified mirror. We _HIGHLY_ recommend that you change this setting
147 # to a nearby mirror by merging and using the 'mirrorselect' tool.
148 #GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
149 #
150 # Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
151 # The list is a single entry specifying the full address of the directory
152 # serving the tbz2's for your system. Running emerge with either '--getbinpkg'
153 # or '--getbinpkgonly' will cause portage to retrieve the metadata from all
154 # packages in the directory specified, and use that data to determine what will
155 # be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
156 # consult the man pages and 'emerge --help' for more information. For FTP, the
157 # default connection is passive -- If you require an active connection, affix
158 # an asterisk (*) to the end of the host:port string before the path.
159 #PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
160 # This ftp connection is passive ftp.
161 #PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
162 # This ftp connection is active ftp.
163 #PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
164
165 # Synchronizing Portage
166 # =====================
167 #
168 # Each of these settings affects how Gentoo synchronizes your Portage tree.
169 # Synchronization is handled by rsync and these settings allow some control
170 # over how it is done.
171 #
172 # SYNC is the server used by rsync to retrieve a localized rsync mirror
173 #     rotation. This allows you to select servers that are geographically
174 #     close to you, yet still distribute the load over a number of servers.
175 #     Please do not single out specific rsync mirrors. Doing so places undue
176 #     stress on particular mirrors.  Instead you may use one of the following
177 #     continent specific rotations:
178 #
179 #   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
180 #   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
181 #   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
182 #   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
183 #   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
184 #   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
185 #
186 #     If you have multiple Gentoo boxes, it is probably a good idea to have only
187 #     one of them sync from the rotations above. The other boxes can then rsync
188 #     from the local rsync server, reducing the load on the mirrors.
189 #     Instructions for setting up a local rsync server are available here:
190 #     http://www.gentoo.org/doc/en/rsync.xml
191 #
192 #SYNC="rsync://rsync.gentoo.org/gentoo-portage"
193 #
194 # PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
195 #     a current portage tree before it exits with an error. This allows
196 #     for a more successful retrieval without user intervention most times.
197 #PORTAGE_RSYNC_RETRIES="3"
198 #
199 # PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
200 #     command used by `emerge --sync`. This will not change the default options
201 #     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
202 #     exactly what you're doing).
203 #PORTAGE_RSYNC_EXTRA_OPTS=""
204 #
205 # Advanced Features
206 # =================
207 #
208 # EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
209 #     specified on every run. Useful options include --ask, --verbose,
210 #     --usepkg and many others. Options that are not useful, such as --help,
211 #     are not filtered.
212 #EMERGE_DEFAULT_OPTS=""
213 #
214 # INSTALL_MASK allows certain files to not be installed into your file system.
215 #     This is useful when you wish to filter out a certain set of files from
216 #     ever being installed, such as INSTALL.gz or TODO.gz
217 #INSTALL_MASK=""
218 #
219 # MAKEOPTS provides extra options that may be passed to 'make' when a
220 #     program is compiled. Presently the only use is for specifying
221 #     the number of parallel makes (-j) to perform. The suggested number
222 #     for parallel makes is CPUs+1.
223 #MAKEOPTS="-j2"
224 #
225 # PORTAGE_NICENESS provides a default increment to emerge's niceness level.
226 #     Note: This is an increment. Running emerge in a niced environment will
227 #     reduce it further. Default is unset.
228 #PORTAGE_NICENESS=3
229 #
230 # AUTOCLEAN enables portage to automatically clean out older or overlapping
231 #     packages from the system after every successful merge. This is the
232 #     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
233 #     This does not affect the unpacked source. See 'noclean' below.
234 #
235 #     Warning: AUTOCLEAN="no" can cause serious problems due to overlapping
236 #              packages.  Do not use it unless absolutely necessary!
237 #AUTOCLEAN="yes"
238 #
239 # FEATURES are settings that affect the functionality of portage. Most of
240 #     these settings are for developer use, but some are available to non-
241 #     developers as well.
242 #
243 #  'buildpkg'    causes binary packages to be created of all packages that 
244 #                are being merged.
245 #  'buildsyspkg' only build binary packages for system packages.
246 #  'ccache'      enable support for the dev-util/ccache package, which can
247 #                noticably decrease the time needed to remerge previously built
248 #                packages.
249 #  'collision-protect'
250 #                prevents packages from overwriting files that are owned by
251 #                another package or by no package at all.
252 #  'distcc'      enables distcc support via CC.
253 #  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
254 #                is enabled by default. Tools exist to help clean the locks
255 #                after crashes: /usr/lib/portage/bin/clean_locks.
256 #  'installsources'
257 #                Install source code into /usr/src/debug/${CATEGORY}/${PF}
258 #                (also see 'splitdebug'). This feature works only if debugedit
259 #                is installed and CFLAGS is set to include debug information
260 #                (such as with the -ggdb flag).
261 #  'test'        causes ebuilds to perform testing phases if they are capable
262 #                of it. Some packages support this automatically via makefiles.
263 #  'metadata-transfer'
264 #                automatically perform a metadata transfer when `emerge --sync`
265 #                is run.
266 #  'noauto'      causes ebuild to perform only the action requested and 
267 #                not any other required actions like clean or unpack -- for
268 #                debugging purposes only.
269 #  'nostrip'     prevents the stripping of binaries.
270 #  'notitles'    disables xterm titlebar updates (which contain status info). 
271 #  'parallel-fetch'
272 #                do fetching in parallel to compilation
273 #  'preserve-libs'
274 #                keep libraries around that would normally removed by an upgrade, 
275 #                but are still needed by other packages
276 #  'sandbox'     enables sandboxing when running emerge and ebuild.
277 #  'splitdebug'  Prior to stripping ELF etdyn and etexec files, the debugging
278 #                info is stored for later use by various debuggers.  This
279 #                feature is disabled by 'nostrip'.  For installation of source
280 #                code, see 'installsources'.
281 #  'strict'      causes portage to react strongly to conditions that are
282 #                potentially dangerous, like missing/incorrect Manifest files.
283 #  'stricter'    causes portage to react strongly to conditions that may
284 #                conflict with system security provisions (for example
285 #                textrels, executable stacks).
286 #  'userfetch'   when portage is run as root, drop privileges to
287 #                portage:portage during the fetching of package sources.
288 #  'userpriv'    allows portage to drop root privileges while it is compiling,
289 #                as a security measure.  As a side effect this can remove 
290 #                sandbox access violations for users. 
291 #  'usersandbox' enables sandboxing while portage is running under userpriv.
292 #FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noauto"
293 #FEATURES="sandbox ccache distcc distlocks"
294
295 # CCACHE_SIZE and CCACHE_DIR are used to control the behavior of ccache, and
296 #     and are only used if "ccache" is in FEATURES.
297 #
298 # CCACHE_SIZE sets the space limitations for ccache. The default size is
299 #     "2G", or 2 gigabytes.  Units are specified with 'G', 'M', or 'K'.
300 #
301 #CCACHE_SIZE="512M"
302 #
303 # CCACHE_DIR sets the ccache path.  If not specified, portage will default
304 #     to "${PORTAGE_TMPDIR}/ccache".
305 #
306 #     Note that to display ccache statistics outside of portage, you must
307 #     remember to give the correct path to the cache.
308 #
309 #        $ CCACHE_DIR=/var/tmp/ccache ccache -s 
310 #
311 #CCACHE_DIR="${PORTAGE_TMPDIR}/ccache"
312
313 # DISTCC_DIR sets the temporary space used by distcc.
314 #DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
315
316 # logging related variables:
317 # PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
318 #                          blank, info, warn, error, log, qa, *
319 #                       Warning: commenting this will disable elog
320 PORTAGE_ELOG_CLASSES="blank log warn error"
321
322 # PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
323 #                      included in portage are (empty means logging is disabled):
324 #                          echo (display messages again when emerge exits)
325 #                          save (saves one log per package in $PORT_LOGDIR/elog, 
326 #                                /var/log/portage/elog if $PORT_LOGDIR is unset)
327 #                          custom (passes all messages to $PORTAGE_ELOG_COMMAND)
328 #                          syslog (sends all messages to syslog)
329 #                          mail (send all messages to the mailserver defined 
330 #                                in $PORTAGE_ELOG_MAILURI)
331 #                          save_summary (like "save" but merges all messages
332 #                                        in $PORT_LOGDIR/elog/summary.log,
333 #                                        /var/log/portage/elog/summary.log if
334 #                                        $PORT_LOGDIR is unset)
335 #                          mail_summary (like "mail" but sends all messages in
336 #                                        a single mail when emerge exits)
337 #                      To use elog you should enable at least one module
338 #                      The module name may be followed by a colon and a comma
339 #                      separated list of loglevels to override PORTAGE_ELOG_CLASSES
340 #                      for this module (e.g.
341 #                        PORTAGE_ELOG_SYSTEM="mail:warn,error syslog:* save")
342 #PORTAGE_ELOG_SYSTEM="save mail"
343
344 # PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
345 #                      to process log messages. Two variables are expanded:
346 #                          ${PACKAGE} - expands to the cpv entry of the processed 
347 #                                       package (see $PVR in ebuild(5))
348 #                          ${LOGFILE} - absolute path to the logfile
349 #                                               Both variables have to be quoted with single quotes
350 #PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '\${PACKAGE}' -f '\${LOGFILE}'"
351
352 # PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
353 #                       module. In most cases listing the recipient address and
354 #                       the receiving mailserver should be sufficient, but you can
355 #                       also use advanced settings like authentication or TLS. The
356 #                       full syntax is:
357 #                           address [[user:passwd@]mailserver[:port]]
358 #                       where
359 #                           address:    recipient address
360 #                           user:       username for smtp auth (defaults to none)
361 #                           passwd:     password for smtp auth (defaults to none)
362 #                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
363 #                                       alternatively this can also be a the path to a sendmail binary if you don't want to use smtp
364 #                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
365 #                       Examples:
366 #PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
367 #PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
368 #PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader exercise ;)
369
370 # PORTAGE_ELOG_MAILFROM: you can set the from-address of logmails with this variable,
371 #                        if unset mails are sent by "portage" (this default may fail
372 #                        in some environments).
373 #PORTAGE_ELOG_MAILFROM="portage@some.domain"
374
375 # PORTAGE_ELOG_MAILSUBJECT: template string to be used as subject for logmails. The following
376 #                           variables are expanded:
377 #                               ${PACKAGE} - see description of PORTAGE_ELOG_COMMAND
378 #                               ${HOST} - FQDN of the host portage is running on
379 #PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for \${PACKAGE} on \${HOST}"