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