RazmjenaVjestina
MakeConf: Revision 5

{{{

  1. Copyright 1999-2004 Gentoo Foundation
  2. Distributed under the terms of the GNU General Public License v2
  3. $Header: /var/cvsroot/gentoo-src/portage/cnf/make.conf.x86,v 1.5.2.4 2005/02/15 23:27:44 jstubbs Exp $
  4. Contains local system settings for Portage system
  1. Please review 'man make.conf' for more information.
  1. Build-time functionality
  2. ========================
  3.  
  4. The USE variable is used to enable optional build-time functionality. For
  5. example, quite a few packages have optional X, gtk or GNOME functionality
  6. that can only be enabled or disabled at compile-time. Gentoo Linux has a
  7. very extensive set of USE variables described in our USE variable HOWTO at
  8. http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
  9.  
  10. The available list of use flags with descriptions is in your portage tree.
  11. Use 'less' to view them: --> less /usr/portage/profiles/use.desc <--
  12.  
  13. 'ufed' is an ncurses/dialog interface available in portage to make handling
  14. useflags for you. 'emerge app-portage/ufed'
  15.  
  16. Example:

USE="X gtk gnome alsa dvd kde cdr imap jack aalib -moznoxft truetype png jpeg apm arts avi cups encode foomaticdb gif gpm gtk2 mad mpeg qt"

  1. Host Setting
  2. ============
  3.  
  4. DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
  5. Change this line as appropriate (i686, i586, i486 or i386).
  6. All modern systems (even Athlons) should use "i686-pc-linux-gnu".
  7. All K6's are i586.

CHOST="i686-pc-linux-gnu"

  1. Host and optimization settings
  2. ==============================
  3.  
  4. For optimal performance, enable a CFLAGS setting appropriate for your CPU.
  5.  
  6. Please note that if you experience strange issues with a package, it may be
  7. due to gcc's optimizations interacting in a strange way. Please test the
  8. package (and in some cases the libraries it uses) at default optimizations
  9. before reporting errors to developers.
  10.  
  11. -mcpu=<cpu-type> means optimize code for the particular type of CPU without
  12. breaking compatibility with other CPUs.
  13.  
  14. -march=<cpu-type> means to take full advantage of the ABI and instructions
  15. for the particular CPU; this will break compatibility with older CPUs (for
  16. example, -march=athlon-xp code will not run on a regular Athlon, and
  17. -march=i686 code will not run on a Pentium Classic.
  18.  
  19. CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
  20. athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
  21. (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
  22. pentium3, and pentium4.
  23.  
  24. Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
  25.  
  26. CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
  27. (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
  28.  
  29. CRITICAL WARNINGS: ****************************************************** #
  30. K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
  31. Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
  32. ************************************************************************* #
  33.  
  34. Decent examples:
  35.  
  36. #CFLAGS="-mcpu=athlon-xp -O3 -pipe"

CFLAGS="-march=pentium4 -O3 -pipe -fdelete-null-pointer-checks -fomit-frame-pointer -fprefetch-loop-arrays -ffast-math -falign-functions -falign-labels -falign-loops -falign-jumps"

  1. If you set a CFLAGS above, then this line will set your default C++ flags to
  2. the same settings.

CXXFLAGS="${CFLAGS}"

  1. Advanced Masking
  2. ================
  3.  
  4. Gentoo is using a new masking system to allow for easier stability testing
  5. on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
  6. on the platform they are set for. A special form has been added that
  7. indicates packages and revisions that are expected to work, but have not yet
  8. been approved for the stable set. '~arch' is a superset of 'arch' which
  9. includes the unstable, in testing, packages. Users of the 'x86' architecture
  10. would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
  11. '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
  12.  
  13. Please note that this is not for development, alpha, beta, nor cvs release
  14. packages. "Broken" packages will not be added to testing and should not be
  15. requested to be added. Alternative routes are available to developers
  16. for experimental packages, and it is at their discretion to use them.
  17.  
  18. DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
  19. IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
  20.  
  21. #ACCEPT_KEYWORDS="~arch"
  1. Portage Directories
  2. ===================
  3.  
  4. Each of these settings controls an aspect of portage's storage and file
  5. system usage. If you change any of these, be sure it is available when
  6. you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
  7.  
  8. PORTAGE_TMPDIR is the location portage will use for compilations and
  9. temporary storage of data. This can get VERY large depending upon
  10. the application being installed.
  11. #PORTAGE_TMPDIR=/var/tmp
  12.  
  13. PORTDIR is the location of the portage tree. This is the repository
  14. for all profile information as well as all ebuilds. This directory
  15. itself can reach 200M. If you change this, you must update your
  16. /etc/make.profile symlink accordingly.

PORTDIR=/usr/portage
#

  1. DISTDIR is where all of the source code tarballs will be placed for
  2. emerges. The source code is maintained here unless you delete
  3. it. The entire repository of tarballs for gentoo is 9G. This is
  4. considerably more than any user will ever download. 2-3G is
  5. a large DISTDIR.

DISTDIR=${PORTDIR}/distfiles
#

  1. PKGDIR is the location of binary packages that you can have created
  2. with '--buildpkg' or '-b' while emerging a package. This can get
  3. upto several hundred megs, or even a few gigs.

PKGDIR=${PORTDIR}/packages
#PKGDIR="/mnt/cdrom"
#

  1. PORT_LOGDIR is the location where portage will store all the logs it
  2. creates from each individual merge. They are stored as NNNN-$PF.log
  3. in the directory specified. This is disabled until you enable it by
  4. providing a directory. Permissions will be modified as needed IF the
  5. directory exists, otherwise logging will be disabled. NNNN is the
  6. increment at the time the log is created. Logs are thus sequential.
  7. #PORT_LOGDIR=/var/log/portage
  8.  
  9. PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
  10. concern that they will be deleted by rsync updates. Default is not
  11. defined.
  12. #PORTDIR_OVERLAY=/usr/local/portage
  1. Fetching files
  2. ==============
  3.  
  4. If you need to set a proxy for wget or lukemftp, add the appropriate "export
  5. ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
  6. all users on your system should use them.
  7.  
  8. Portage uses wget by default. Here are some settings for some alternate
  9. downloaders -- note that you need to merge these programs first before they
  10. will be available.
  11.  
  12. Default fetch command (5 tries, passive ftp for firewall compatibility)
  13. #FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" #RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
  14.  
  15. Using wget, ratelimiting downloads
  16. #FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" #RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
  17.  
  18. Lukemftp (BSD ftp):
  19. #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" #RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
  20.  
  21. Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
  22. The list is a space separated list which is read left to right. If you use
  23. another mirror we highly recommend leaving the default mirror at the end of
  24. the list so that portage will fall back to it if the files cannot be found
  25. on your specified mirror. We HIGHLY recommend that you change this setting
  26. to a nearby mirror by merging and using the 'mirrorselect' tool.
  27. #GENTOO_MIRRORS="ftp://ftp.nymphomatic.org/gentoo/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"

GENTOO_MIRRORS="ftp://ftp.nymphomatic.org/gentoo/"
#

  1. Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
  2. The list is a single entry specifying the full address of the directory
  3. serving the tbz2's for your system. Running emerge with either '--getbinpkg'
  4. or '--getbinpkgonly' will cause portage to retrieve the metadata from all
  5. packages in the directory specified, and use that data to determine what will
  6. be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
  7. consult the man pages and 'emerge --help' for more information. For FTP, the
  8. default connection is passive -- If you require an active connection, affix
  9. an asterisk (*) to the end of the host:port string before the path.
  10. #PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
  11. This ftp connection is passive ftp.
  12. #PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
  13. This ftp connection is active ftp.
  14. #PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
  1. Synchronizing Portage
  2. =====================
  3.  
  4. Each of these settings affects how Gentoo synchronizes your Portage tree.
  5. Synchronization is handled by rsync and these settings allow some control
  6. over how it is done.
  7.  
  8.  
  9. SYNC is the server used by rsync to retrieve a localized rsync mirror
  10. rotation. This allows you to select servers that are geographically
  11. close to you, yet still distribute the load over a number of servers.
  12. Please do not single out specific rsync mirrors. Doing so places undue
  13. stress on particular mirrors. Instead you may use one of the following
  14. continent specific rotations:
  15.  
  16. Default: "rsync://rsync.gentoo.org/gentoo-portage"
  17. North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
  18. South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
  19. Europe: "rsync://rsync.europe.gentoo.org/gentoo-portage"
  20. Asia: "rsync://rsync.asia.gentoo.org/gentoo-portage"
  21. Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
  22. #SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
  23.  
  24. RSYNC_RETRIES sets the number of times portage will attempt to retrieve
  25. a current portage tree before it exits with an error. This allows
  26. for a more successful retrieval without user intervention most times.
  27. #RSYNC_RETRIES="3"
  28.  
  29. RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
  30. on a connection. Most users will benefit from this setting as it will
  31. reduce the amount of 'dead air' they experience when they run across
  32. the occasional, unreachable mirror. Dialup users might want to set this
  33. value up around the 300 second mark.
  34. #RSYNC_TIMEOUT=180
  1. Advanced Features
  2. =================
  3.  
  4. MAKEOPTS provides extra options that may be passed to 'make' when a
  5. program is compiled. Presently the only use is for specifying
  6. the number of parallel makes (-j) to perform. The suggested number
  7. for parallel makes is CPUs+1.

MAKEOPTS="-j2"
#

  1. PORTAGE_NICENESS provides a default increment to emerge's niceness level.
  2. Note: This is an increment. Running emerge in a niced environment will
  3. reduce it further. Default is unset.
  4. #PORTAGE_NICENESS=3
  5.  
  6. AUTOCLEAN enables portage to automatically clean out older or overlapping
  7. packages from the system after every successful merge. This is the
  8. same as running 'emerge -c' after every merge. Set with: "yes" or "no".
  9. This does not affect the unpacked source. See 'noclean' below.
  10. #AUTOCLEAN="yes"
  11.  
  12. PORTAGE_TMPFS is a location where portage may create temporary files.
  13. If specified, portage will use this directory whenever possible
  14. for all rapid operations such as lockfiles and transient data.
  15. It is highly recommended that this be a tmpfs or ramdisk. Do not
  16. set this to anything that does not give a significant performance
  17. enhancement and proper FS compliance for locks and read/write.
  18. /dev/shm is a glibc mandated tmpfs, and should be a reasonable
  19. setting for all linux kernel+glibc based systems.
  20. #PORTAGE_TMPFS="/dev/shm"
  21.  
  22. FEATURES are settings that affect the functionality of portage. Most of
  23. these settings are for developer use, but some are available to non-
  24. developers as well.
  25.  
  26. 'autoaddcvs' causes portage to automatically try to add files to cvs
  27. that will have to be added later. Done at generation times
  28. and only has an effect when 'cvs' is also set.
  29. 'buildpkg' causes binary packages to be created of all packages that
  30. are being merged.
  31. 'ccache' enables ccache support via CC.
  32. 'collision-protect'
  33. prevents packages from overwriting files that are owned by
  34. another package or by no package at all.
  35. 'cvs' causes portage to enable all cvs features (commits, adds),
  36. and to apply all USE flags in SRC_URI for digests -- for
  37. developers only.
  38. 'digest' causes digests to be generated for all packages being merged.
  39. 'distcc' enables distcc support via CC.
  40. 'distlocks' enables distfiles locking using fcntl or hardlinks. This
  41. is enabled by default. Tools exist to help clean the locks
  42. after crashes: /usr/lib/portage/bin/clean_locks.
  43. 'fixpackages' allows portage to fix binary packages that are stored in
  44. PKGDIR. This can consume a lot of time. 'fixpackages' is
  45. also a script that can be run at any given time to force
  46. the same actions.
  47. 'gpg' enables basic verification of Manifest files using gpg.
  48. This features is UNDER DEVELOPMENT and reacts to features
  49. of strict and severe. Heavy use of gpg sigs is coming.
  50. 'keeptemp' prevents the clean phase from deleting the temp files ($T)
  51. from a merge.
  52. 'keepwork' prevents the clean phase from deleting the WORKDIR.
  53. 'maketest' causes ebuilds to perform testing phases if they are capable
  54. of it. Some packages support this automaticaly via makefiles.
  55. 'noauto' causes ebuild to perform only the action requested and
  56. not any other required actions like clean or unpack -- for
  57. debugging purposes only.
  58. 'noclean' prevents portage from removing the source and temporary files
  59. after a merge -- for debugging purposes only.
  60. 'nostrip' prevents the stripping of binaries.
  61. 'notitles' disables xterm titlebar updates (which contain status info).
  62. 'sandbox' enables sandboxing when running emerge and ebuild.
  63. 'strict' causes portage to react strongly to conditions that are
  64. potentially dangerous, like missing/incorrect Manifest files.
  65. 'userpriv' allows portage to drop root privileges while it is compiling,
  66. as a security measure. As a side effect this can remove
  67. sandbox access violations for users.
  68. 'usersandbox' enables sandboxing while portage is running under userpriv.

FEATURES="sandbox buildpkg"
#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
#

  1. CCACHE_SIZE sets the space use limitations for ccache. The default size is
  2. 2G, and will be set if not defined otherwise and ccache is in features.
  3. Portage will set the default ccache dir if it is not present in the
  4. user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
  5. (/var/tmp/ccache), and for regular use the default is /root/.ccache.
  6. Sizes are specified with 'G' 'M' or 'K'.
  7. '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
  8. #CCACHE_SIZE="512M"
  9.  
  10. DISTCC_DIR sets the temporary space used by distcc.
  11. #DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
  12.  
  13. RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
  14. the portage tree. Specific chunks of the tree may be excluded from
  15. consideration. This may cause dependency failures if you are not careful.
  16. The file format is one pattern per line, blanks and ';' or '#' lines are
  17. comments. See 'man rsync' for more details on the exclude-from format.
  18. #RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes

}}}