config additions for elog
[portage.git] / cnf / make.conf
1 # Copyright 1999-2004 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf,v 1.84.2.5 2005/04/13 15:28:38 jstubbs Exp $
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 Setting
27 # ============
28 #
29 # DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
30 # Change this line as appropriate (i686, i586, i486 or i386).
31 # All modern systems (even Athlons) should use "i686-pc-linux-gnu".
32 # All K6's are i586.
33 CHOST="i686-pc-linux-gnu"
34
35 # Host and optimization settings 
36 # ==============================
37 #
38 # For optimal performance, enable a CFLAGS setting appropriate for your CPU.
39 #
40 # Please note that if you experience strange issues with a package, it may be
41 # due to gcc's optimizations interacting in a strange way. Please test the
42 # package (and in some cases the libraries it uses) at default optimizations
43 # before reporting errors to developers.
44 #
45 # -mcpu=<cpu-type> means optimize code for the particular type of CPU without
46 # breaking compatibility with other CPUs.
47 #
48 # -march=<cpu-type> means to take full advantage of the ABI and instructions
49 # for the particular CPU; this will break compatibility with older CPUs (for
50 # example, -march=athlon-xp code will not run on a regular Athlon, and
51 # -march=i686 code will not run on a Pentium Classic.
52 #
53 # CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
54 # athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
55 # (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
56 # pentium3, and pentium4.
57 #
58 # Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
59
60 # CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
61 # (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
62 #
63 # CRITICAL WARNINGS: ****************************************************** #
64 # K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
65 # Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
66 # ************************************************************************* #
67 #
68 # Decent examples:
69 #
70 #CFLAGS="-mcpu=athlon-xp -O3 -pipe"
71 #CFLAGS="-march=pentium3 -O3 -pipe"
72
73 # If you set a CFLAGS above, then this line will set your default C++ flags to
74 # the same settings.
75 #CXXFLAGS="${CFLAGS}"
76
77 # Advanced Masking
78 # ================
79 #
80 # Gentoo is using a new masking system to allow for easier stability testing
81 # on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
82 # on the platform they are set for. A special form has been added that
83 # indicates packages and revisions that are expected to work, but have not yet
84 # been approved for the stable set. '~arch' is a superset of 'arch' which
85 # includes the unstable, in testing, packages. Users of the 'x86' architecture
86 # would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
87 # '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
88 #
89 # Please note that this is not for development, alpha, beta, nor cvs release
90 # packages. "Broken" packages will not be added to testing and should not be
91 # requested to be added. Alternative routes are available to developers
92 # for experimental packages, and it is at their discretion to use them.
93 #
94 # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
95 # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
96 #
97 #ACCEPT_KEYWORDS="~arch"
98
99 # Portage Directories
100 # ===================
101 #
102 # Each of these settings controls an aspect of portage's storage and file
103 # system usage. If you change any of these, be sure it is available when
104 # you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
105 #
106 # PORTAGE_TMPDIR is the location portage will use for compilations and
107 #     temporary storage of data. This can get VERY large depending upon
108 #     the application being installed.
109 #PORTAGE_TMPDIR=/var/tmp
110 #
111 # PORTDIR is the location of the portage tree. This is the repository
112 #     for all profile information as well as all ebuilds. If you change
113 #     this, you must update your /etc/make.profile symlink accordingly.
114 #PORTDIR=/usr/portage
115 #
116 # DISTDIR is where all of the source code tarballs will be placed for
117 #     emerges. The source code is maintained here unless you delete
118 #     it. The entire repository of tarballs for gentoo is 9G. This is
119 #     considerably more than any user will ever download. 2-3G is
120 #     a large DISTDIR.
121 #DISTDIR=${PORTDIR}/distfiles
122 #
123 # PKGDIR is the location of binary packages that you can have created
124 #     with '--buildpkg' or '-b' while emerging a package. This can get
125 #     upto several hundred megs, or even a few gigs.
126 #PKGDIR=${PORTDIR}/packages
127 #
128 # PORT_LOGDIR is the location where portage will store all the logs it
129 #     creates from each individual merge. They are stored as NNNN-$PF.log
130 #     in the directory specified. This is disabled until you enable it by
131 #     providing a directory. Permissions will be modified as needed IF the
132 #     directory exists, otherwise logging will be disabled. NNNN is the
133 #     increment at the time the log is created. Logs are thus sequential.
134 #PORT_LOGDIR=/var/log/portage
135 #
136 # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
137 #     concern that they will be deleted by rsync updates. Default is not
138 #     defined.
139 #PORTDIR_OVERLAY=/usr/local/portage
140
141 # Fetching files 
142 # ==============
143 #
144 # If you need to set a proxy for wget or lukemftp, add the appropriate "export
145 # ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
146 # all users on your system should use them.
147 #
148 # Portage uses wget by default. Here are some settings for some alternate
149 # downloaders -- note that you need to merge these programs first before they
150 # will be available.
151 #
152 # Default fetch command (5 tries, passive ftp for firewall compatibility)
153 #FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
154 #RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
155 #
156 # Using wget, ratelimiting downloads
157 #FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
158 #RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
159 #
160 # Lukemftp (BSD ftp):
161 #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
162 #RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
163 #
164 # Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
165 # The list is a space separated list which is read left to right. If you use
166 # another mirror we highly recommend leaving the default mirror at the end of
167 # the list so that portage will fall back to it if the files cannot be found
168 # on your specified mirror. We _HIGHLY_ recommend that you change this setting
169 # to a nearby mirror by merging and using the 'mirrorselect' tool.
170 #GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
171 #
172 # Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
173 # The list is a single entry specifying the full address of the directory
174 # serving the tbz2's for your system. Running emerge with either '--getbinpkg'
175 # or '--getbinpkgonly' will cause portage to retrieve the metadata from all
176 # packages in the directory specified, and use that data to determine what will
177 # be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
178 # consult the man pages and 'emerge --help' for more information. For FTP, the
179 # default connection is passive -- If you require an active connection, affix
180 # an asterisk (*) to the end of the host:port string before the path.
181 #PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
182 # This ftp connection is passive ftp.
183 #PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
184 # This ftp connection is active ftp.
185 #PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
186
187 # Synchronizing Portage
188 # =====================
189 #
190 # Each of these settings affects how Gentoo synchronizes your Portage tree.
191 # Synchronization is handled by rsync and these settings allow some control
192 # over how it is done.
193 #
194 #
195 # SYNC is the server used by rsync to retrieve a localized rsync mirror
196 #     rotation. This allows you to select servers that are geographically
197 #     close to you, yet still distribute the load over a number of servers.
198 #     Please do not single out specific rsync mirrors. Doing so places undue
199 #     stress on particular mirrors.  Instead you may use one of the following
200 #     continent specific rotations:
201 #
202 #   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
203 #   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
204 #   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
205 #   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
206 #   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
207 #   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
208 #SYNC="rsync://rsync.gentoo.org/gentoo-portage"
209 #
210 # RSYNC_RETRIES sets the number of times portage will attempt to retrieve
211 #     a current portage tree before it exits with an error. This allows
212 #     for a more successful retrieval without user intervention most times.
213 #RSYNC_RETRIES="3"
214 #
215 # RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
216 #     on a connection. Most users will benefit from this setting as it will
217 #     reduce the amount of 'dead air' they experience when they run across
218 #     the occasional, unreachable mirror. Dialup users might want to set this
219 #     value up around the 300 second mark.
220 #RSYNC_TIMEOUT=180
221
222 # Advanced Features
223 # =================
224 #
225 # MAKEOPTS provides extra options that may be passed to 'make' when a
226 #     program is compiled. Presently the only use is for specifying
227 #     the number of parallel makes (-j) to perform. The suggested number
228 #     for parallel makes is CPUs+1.
229 #MAKEOPTS="-j2"
230 #
231 # PORTAGE_NICENESS provides a default increment to emerge's niceness level.
232 #     Note: This is an increment. Running emerge in a niced environment will
233 #     reduce it further. Default is unset.
234 #PORTAGE_NICENESS=3
235 #
236 # AUTOCLEAN enables portage to automatically clean out older or overlapping
237 #     packages from the system after every successful merge. This is the
238 #     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
239 #     This does not affect the unpacked source. See 'noclean' below.
240 #AUTOCLEAN="yes"
241 #
242 # PORTAGE_TMPFS is a location where portage may create temporary files.
243 #     If specified, portage will use this directory whenever possible
244 #     for all rapid operations such as lockfiles and transient data.
245 #     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
246 #     set this to anything that does not give a significant performance
247 #     enhancement and proper FS compliance for locks and read/write.
248 #     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
249 #     setting for all linux kernel+glibc based systems.
250 #PORTAGE_TMPFS="/dev/shm"
251 #
252 # FEATURES are settings that affect the functionality of portage. Most of
253 #     these settings are for developer use, but some are available to non-
254 #     developers as well. 
255 #
256 #  'autoaddcvs'  causes portage to automatically try to add files to cvs
257 #                that will have to be added later. Done at generation times
258 #                and only has an effect when 'cvs' is also set.
259 #  'buildpkg'    causes binary packages to be created of all packages that 
260 #                are being merged.
261 #  'ccache'      enables ccache support via CC.
262 #  'collision-protect'
263 #                prevents packages from overwriting files that are owned by
264 #                another package or by no package at all.
265 #  'cvs'         causes portage to enable all cvs features (commits, adds),
266 #                and to apply all USE flags in SRC_URI for digests -- for
267 #                developers only.
268 #  'digest'      causes digests to be generated for all packages being merged.
269 #  'distcc'      enables distcc support via CC.
270 #  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
271 #                is enabled by default. Tools exist to help clean the locks
272 #                after crashes: /usr/lib/portage/bin/clean_locks.
273 #  'fixpackages' allows portage to fix binary packages that are stored in
274 #                PKGDIR. This can consume a lot of time. 'fixpackages' is
275 #                also a script that can be run at any given time to force
276 #                the same actions.
277 #  'gpg'         enables basic verification of Manifest files using gpg.
278 #                This features is UNDER DEVELOPMENT and reacts to features
279 #                of strict and severe. Heavy use of gpg sigs is coming.
280 #  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
281 #                from a merge.
282 #  'keepwork'    prevents the clean phase from deleting the WORKDIR.
283 #  'maketest'    causes ebuilds to perform testing phases if they are capable
284 #                of it. Some packages support this automaticaly via makefiles.
285 #  'noauto'      causes ebuild to perform only the action requested and 
286 #                not any other required actions like clean or unpack -- for
287 #                debugging purposes only.
288 #  'noclean'     prevents portage from removing the source and temporary files 
289 #                after a merge -- for debugging purposes only. 
290 #  'nostrip'     prevents the stripping of binaries.
291 #  'notitles'    disables xterm titlebar updates (which contain status info). 
292 #  'sandbox'     enables sandboxing when running emerge and ebuild.
293 #  'strict'      causes portage to react strongly to conditions that are
294 #                potentially dangerous, like missing/incorrect Manifest files.
295 #  'userpriv'    allows portage to drop root privileges while it is compiling,
296 #                as a security measure.  As a side effect this can remove 
297 #                sandbox access violations for users. 
298 #  'usersandbox' enables sandboxing while portage is running under userpriv.
299 #FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
300 #FEATURES="sandbox ccache distcc distlocks autoaddcvs"
301 #
302 # CCACHE_SIZE sets the space use limitations for ccache. The default size is
303 #     2G, and will be set if not defined otherwise and ccache is in features. 
304 #     Portage will set the default ccache dir if it is not present in the
305 #     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
306 #     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
307 #     Sizes are specified with 'G' 'M' or 'K'.
308 #     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
309 #CCACHE_SIZE="512M"
310 #
311 # DISTCC_DIR sets the temporary space used by distcc.
312 #DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
313 #
314 # RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
315 #     the portage tree. Specific chunks of the tree may be excluded from
316 #     consideration. This may cause dependency failures if you are not careful.
317 #     The file format is one pattern per line, blanks and ';' or '#' lines are
318 #     comments. See 'man rsync' for more details on the exclude-from format.
319 #RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
320
321 # logging related variables:
322 # PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
323 #                          info, warn, error, log
324 #                       Warning: commenting this will disable elog
325 PORTAGE_ELOG_CLASSES="warn error log"
326
327 # PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
328 #                      included in portage are (empty means logging is disabled):
329 #                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
330 #                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
331 #                          syslog (sends all messages to syslog)
332 #                          mail (send all messages to the mailserver defined 
333 #                                in $PORTAGE_LOG_MAILURI)
334 #                      To use elog you should enable at least one module
335 #PORTAGE_ELOG_SYSTEM="save mail"
336
337 # PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
338 #                      to process log messages. Two variables are expanded:
339 #                          ${PACKAGE} - expands to the cpv entry of the processed 
340 #                                       package (see $PVR in ebuild(5))
341 #                          ${LOGFILE} - absolute path to the logfile
342 #PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p ${PACKAGE} -f ${LOGFILE}"
343
344 # PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
345 #                       module. In most cases listing the recipient adress and
346 #                       the receiving mailserver should be sufficient, but you can
347 #                       also use advanced settings like authentication or TLS. The
348 #                       full syntax is:
349 #                           adress [[user:passwd@]mailserver[:port]]
350 #                       where
351 #                           adress:     recipient adress
352 #                           user:       username for smtp auth (defaults to none)
353 #                           passwd:     password for smtp auth (defaults to none)
354 #                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
355 #                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
356 #                       Examples:
357 #PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
358 #PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
359 #PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)