merge -r 2966:3000 from trunk
authorKito <kito@gentoo.org>
Sat, 25 Mar 2006 03:55:09 +0000 (03:55 -0000)
committerKito <kito@gentoo.org>
Sat, 25 Mar 2006 03:55:09 +0000 (03:55 -0000)
svn path=/main/branches/prefix/; revision=3001

32 files changed:
bin/emerge
bin/misc-functions.sh
bin/repoman
cnf/make.conf.alpha [deleted file]
cnf/make.conf.alpha.diff [new file with mode: 0644]
cnf/make.conf.amd64 [deleted file]
cnf/make.conf.amd64.diff [new file with mode: 0644]
cnf/make.conf.arm [deleted file]
cnf/make.conf.arm.diff [new file with mode: 0644]
cnf/make.conf.hppa [deleted file]
cnf/make.conf.hppa.diff [new file with mode: 0644]
cnf/make.conf.ia64 [deleted file]
cnf/make.conf.ia64.diff [new file with mode: 0644]
cnf/make.conf.mips [deleted file]
cnf/make.conf.mips.diff [new file with mode: 0644]
cnf/make.conf.ppc [deleted file]
cnf/make.conf.ppc.diff [new file with mode: 0644]
cnf/make.conf.ppc64 [deleted file]
cnf/make.conf.ppc64.diff [new file with mode: 0644]
cnf/make.conf.s390 [deleted file]
cnf/make.conf.s390.diff [new file with mode: 0644]
cnf/make.conf.sparc [deleted file]
cnf/make.conf.sparc.diff [new file with mode: 0644]
cnf/make.conf.x86 [deleted file]
cnf/make.conf.x86-fbsd [deleted file]
cnf/make.conf.x86-fbsd.diff [new file with mode: 0644]
cnf/make.conf.x86.diff [new file with mode: 0644]
make.conf-repatch.sh [new file with mode: 0644]
pym/portage.py
pym/portage_checksum.py
pym/portage_const.py
pym/portage_manifest.py [new file with mode: 0644]

index 6afc9afad3d09c577db70e5ce4f933b336e19a0a..aa1110eff10e1f65a991ff4e9f40ed89002f3089 100755 (executable)
@@ -2130,9 +2130,9 @@ def unmerge(unmerge_action, unmerge_files):
        syslist = []
        for x in realsyslist:
                mycp = portage.dep_getkey(x)
-               if mycp in portage.settings.virtuals:
+               if mycp in portage.settings.getvirtuals():
                        providers = []
-                       for provider in portage.settings.virtuals[mycp]:
+                       for provider in portage.settings.getvirtuals()[mycp]:
                                if portage.db[portage.root]["vartree"].dbapi.match(provider):
                                        providers.append(provider)
                        if len(providers) == 1:
index 952cd48256eefbe2f551990a4362a098d68e6b14..ead6396e4b9020dcdb41e96d7486912f4a667c2c 100644 (file)
@@ -408,16 +408,17 @@ preinst_selinux_labels() {
 dyn_package() {
        cd "${PORTAGE_BUILDDIR}/image"
        install_mask "${PORTAGE_BUILDDIR}/image" ${PKG_INSTALL_MASK}
-       tar cpvf - ./ | bzip2 -f > ../bin.tar.bz2 || die "Failed to create tarball"
-       cd ..
-       xpak build-info inf.xpak
-       tbz2tool join bin.tar.bz2 inf.xpak "${PF}.tbz2"
+       local pkg_dest="${PKGDIR}/All/${PF}.tbz2"
+       local pkg_tmp="${PKGDIR}/All/${PF}.tbz2.$$"
        addwrite "${PKGDIR}"
-       mv -f "${PF}.tbz2" "${PKGDIR}/All" || die "Failed to move tbz2 to ${PKGDIR}/All"
-       rm -f inf.xpak bin.tar.bz2
-       if [ ! -d "${PKGDIR}/${CATEGORY}" ]; then
-               install -d "${PKGDIR}/${CATEGORY}"
+       tar cpvf - ./ | bzip2 -f > "${pkg_tmp}" || die "Failed to create tarball"
+       cd ..
+       python -c "import xpak; t=xpak.tbz2('${pkg_tmp}'); t.recompose('${PORTAGE_BUILDDIR}/build-info')"
+       if [ $? -ne 0 ]; then
+               rm -f "${pkg_tmp}"
+               die "Failed to append metadata to the tbz2 file"
        fi
+       mv -f "${pkg_tmp}" "${pkg_dest}" || die "Failed to move tbz2 to ${pkg_dest}"
        ln -sf "../All/${PF}.tbz2" "${PKGDIR}/${CATEGORY}/${PF}.tbz2" || die "Failed to create symlink in ${PKGDIR}/${CATEGORY}"
        echo ">>> Done."
        cd "${PORTAGE_BUILDDIR}"
index dc5215c3cd4380abe72e2b57a8555ca0678b1a44..c2fe77caece341ffc67aa19d8254be417f179098 100755 (executable)
@@ -1164,7 +1164,7 @@ for x in scanlist:
        
                                for myprovide in myaux["PROVIDE"].split():
                                        prov_cp = portage.dep_getkey(myprovide)
-                                       if prov_cp not in dep_settings.virtuals:
+                                       if prov_cp not in dep_settings.getvirtuals():
                                                stats["virtual.unavailable"]+=1
                                                fails["virtual.unavailable"].append(x+"/"+y+".ebuild: "+keyword+"("+prof[0]+") "+prov_cp)
 
diff --git a/cnf/make.conf.alpha b/cnf/make.conf.alpha
deleted file mode 100644 (file)
index 6a5609d..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.alpha,v 1.40.2.5 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
-# The generic HOST setting on alpha is alpha-unknown-linux-gnu. If your machine
-# is an ev6 or ev67 based system you might want to use 
-# either alphaev6-unknown-linux-gnu or alphaev67-unknown-linux-gnu accordingly.
-#
-#CHOST="alphaev67-unknown-linux-gnu"
-CHOST="alpha-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mcpu=<cpu-type> means optimize code for the particular type of CPU. In 
-#                  difference to x86 for example -mcpu does break compatibility
-#                  to older cpu types in case of ev6 or higher.
-#                  On Alpha there is no -march= option in gcc-3.
-#
-# CPU types supported in gcc-3.2 or higher: ev4, ev45, ev5, ev56, ev6, ev67
-#
-# Decent examples:
-#
-#CFLAGS="-mcpu=ev67 -O3 -pipe "
-CFLAGS="-mcpu=ev5 -O3 -pipe "
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~alpha"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.alpha.diff b/cnf/make.conf.alpha.diff
new file mode 100644 (file)
index 0000000..5fa4ae3
--- /dev/null
@@ -0,0 +1,50 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.alpha    2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,17 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
++# The generic HOST setting on alpha is alpha-unknown-linux-gnu. If your machine
++# is an ev6 or ev67 based system you might want to use 
++# either alphaev6-unknown-linux-gnu or alphaev67-unknown-linux-gnu accordingly.
++#
++#CHOST="alphaev67-unknown-linux-gnu"
++CHOST="alpha-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +44,18 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -mcpu=<cpu-type> means optimize code for the particular type of CPU. In 
++#                  difference to x86 for example -mcpu does break compatibility
++#                  to older cpu types in case of ev6 or higher.
++#                  On Alpha there is no -march= option in gcc-3.
+ #
+-#CFLAGS="-O2 -pipe"
++# CPU types supported in gcc-3.2 or higher: ev4, ev45, ev5, ev56, ev6, ev67
+ #
++# Decent examples:
++#
++#CFLAGS="-mcpu=ev67 -O3 -pipe "
++CFLAGS="-mcpu=ev5 -O3 -pipe "
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +80,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~alpha"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.amd64 b/cnf/make.conf.amd64
deleted file mode 100644 (file)
index 2b83eb5..0000000
+++ /dev/null
@@ -1,367 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.amd64,v 1.5.2.4 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-CHOST="x86_64-pc-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
-# breaking compatibility with other CPUs. GCC 3.4 has deprecated support for
-# -mcpu, so use -mtune instead if using this compiler.
-#
-# -march=<cpu-type> means to take full advantage of the ABI and instructions
-# for the particular CPU; this will break compatibility with older CPUs (for
-# example, -march=athlon-xp code will not run on a regular Athlon, and
-# -march=i686 code will not run on a Pentium Classic.)
-#
-# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
-# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
-# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
-# pentium3, and pentium4.
-#
-# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
-#
-# amd64 CPU types supported in gcc-3.4: athlon64, opteron, k8
-# 
-# CRITICAL WARNINGS: ****************************************************** #
-# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
-# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
-# GCC 3.3 doesnt support an amd64 specific -march setting, use 3.4.         #
-# ************************************************************************* #
-#
-# Decent examples:
-#
-#CFLAGS="-mtune=k8 -O2 -pipe"
-#CFLAGS="-march=athlon64 -O2 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~amd64"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.amd64.diff b/cnf/make.conf.amd64.diff
new file mode 100644 (file)
index 0000000..397e8cb
--- /dev/null
@@ -0,0 +1,61 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.amd64    2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,11 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++CHOST="x86_64-pc-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +38,35 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
++# breaking compatibility with other CPUs. GCC 3.4 has deprecated support for
++# -mcpu, so use -mtune instead if using this compiler.
++#
++# -march=<cpu-type> means to take full advantage of the ABI and instructions
++# for the particular CPU; this will break compatibility with older CPUs (for
++# example, -march=athlon-xp code will not run on a regular Athlon, and
++# -march=i686 code will not run on a Pentium Classic.)
++#
++# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
++# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
++# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
++# pentium3, and pentium4.
++#
++# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
++#
++# amd64 CPU types supported in gcc-3.4: athlon64, opteron, k8
++# 
++# CRITICAL WARNINGS: ****************************************************** #
++# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
++# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
++# GCC 3.3 doesnt support an amd64 specific -march setting, use 3.4.         #
++# ************************************************************************* #
+ #
+-#CFLAGS="-O2 -pipe"
++# Decent examples:
+ #
++#CFLAGS="-mtune=k8 -O2 -pipe"
++#CFLAGS="-march=athlon64 -O2 -pipe"
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +91,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~amd64"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.arm b/cnf/make.conf.arm
deleted file mode 100644 (file)
index d9a4bda..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.arm,v 1.31.2.5 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
-# It's very important you select the right CHOST from the start.  A wrong
-# CHOST could easily lead to weird errors either in compiling or running.
-#
-# Netwinder (or any StrongArm110): armv4l-unknown-linux-gnu
-# nslu2: armvbe-unknown-linux-gnu
-# Generic ARM: arm-unknown-linux-gnu
-#
-CHOST="armv4l-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
-# breaking compatibility with other CPUs.
-#
-# -march=<cpu-type> means to take full advantage of the ABI and instructions
-# for the particular CPU; this will break compatibility with older CPUs (for
-# example, -march=xscale code will not run on a StrongARM 11x0, and
-# -march=strongarm110 code will not run on a regular StrongARM).
-#
-# Don't use -O3.  Even -O2 may be risky in some cases.
-#
-# For a full listing of supported CPU models, please refer to the GCC website:
-# http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/ARM-Options.html
-#
-# Netwinder:
-#CFLAGS="-mcpu=strongarm110 -O2 -pipe"
-# NSLU2:
-#CFLAGS="-mcpu=armeb -O2 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~arch"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.arm.diff b/cnf/make.conf.arm.diff
new file mode 100644 (file)
index 0000000..6c1e7f1
--- /dev/null
@@ -0,0 +1,50 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.arm      2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,19 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
++# It's very important you select the right CHOST from the start.  A wrong
++# CHOST could easily lead to weird errors either in compiling or running.
++#
++# Netwinder (or any StrongArm110): armv4l-unknown-linux-gnu
++# nslu2: armvbe-unknown-linux-gnu
++# Generic ARM: arm-unknown-linux-gnu
++#
++CHOST="armv4l-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +46,24 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
+-#
+-#CFLAGS="-O2 -pipe"
++# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
++# breaking compatibility with other CPUs.
+ #
++# -march=<cpu-type> means to take full advantage of the ABI and instructions
++# for the particular CPU; this will break compatibility with older CPUs (for
++# example, -march=xscale code will not run on a StrongARM 11x0, and
++# -march=strongarm110 code will not run on a regular StrongARM).
++#
++# Don't use -O3.  Even -O2 may be risky in some cases.
++#
++# For a full listing of supported CPU models, please refer to the GCC website:
++# http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/ARM-Options.html
++#
++# Netwinder:
++#CFLAGS="-mcpu=strongarm110 -O2 -pipe"
++# NSLU2:
++#CFLAGS="-mcpu=armeb -O2 -pipe"
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
diff --git a/cnf/make.conf.hppa b/cnf/make.conf.hppa
deleted file mode 100644 (file)
index ffe0e32..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.hppa,v 1.37.2.5 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
-# The generic CHOST value for hppa is hppa-unknown-linux-gnu.
-# But you might want to use hppa1.1-unknown-linux-gnu or hppa2.0-unknown-linux-gnu
-# according to your station.
-#
-CHOST="hppa-unknown-linux-gnu"
-#CHOST="hppa1.1-unknown-linux-gnu"
-#CHOST="hppa2.0-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -march=<cpu-type> means to take full advantage of the ABI and instructions
-# for the particular CPU; this will break compatibility with older CPUs (for
-# example, -march=2.0 code will not run on a regular hppa1.1 station)
-#
-# -mschedule=cpu-type create schedule code according to the constraints for the machine
-# cpu-type.  The choices for cpu-type are 700 7100, 7100LC, 7200, and 8000.
-# Use 'cat /proc/cpuinfo' to know the right schedule for your hppa.
-# Note that you must use 7100LC for 7300LC.
-#
-# Architectures types supported in gcc-3.2 and higher: 1.0, 1.1 and 2.0
-# Note that 64bit userspace is not yet implemented.
-#
-# Decent examples:
-#
-
-# Use this one if you have a hppa1.1
-#CFLAGS="-march=1.1 -O2 -pipe -mschedule=7100LC"
-
-# Or this one if you have a hppa2.0
-# Note that -march=2.0 was unstable on some stations.
-# -march=1.0 will create problems too.
-#CFLAGS="-O2 -pipe -mschedule=8000"
-
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Btw it's recommended to use this setting for stability.
-# There are still many bugs with higher level of optimisation.
-#CXXFLAGS="-O1 -pipe"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'hppa' architecture
-# would add '~hppa' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~arch"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.hppa.diff b/cnf/make.conf.hppa.diff
new file mode 100644 (file)
index 0000000..a3d0147
--- /dev/null
@@ -0,0 +1,71 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.hppa     2006-03-24 18:36:24.000000000 +0100
+@@ -23,6 +23,18 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
++# The generic CHOST value for hppa is hppa-unknown-linux-gnu.
++# But you might want to use hppa1.1-unknown-linux-gnu or hppa2.0-unknown-linux-gnu
++# according to your station.
++#
++CHOST="hppa-unknown-linux-gnu"
++#CHOST="hppa1.1-unknown-linux-gnu"
++#CHOST="hppa2.0-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,14 +45,38 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -march=<cpu-type> means to take full advantage of the ABI and instructions
++# for the particular CPU; this will break compatibility with older CPUs (for
++# example, -march=2.0 code will not run on a regular hppa1.1 station)
++#
++# -mschedule=cpu-type create schedule code according to the constraints for the machine
++# cpu-type.  The choices for cpu-type are 700 7100, 7100LC, 7200, and 8000.
++# Use 'cat /proc/cpuinfo' to know the right schedule for your hppa.
++# Note that you must use 7100LC for 7300LC.
++#
++# Architectures types supported in gcc-3.2 and higher: 1.0, 1.1 and 2.0
++# Note that 64bit userspace is not yet implemented.
+ #
+-#CFLAGS="-O2 -pipe"
++# Decent examples:
+ #
++
++# Use this one if you have a hppa1.1
++#CFLAGS="-march=1.1 -O2 -pipe -mschedule=7100LC"
++
++# Or this one if you have a hppa2.0
++# Note that -march=2.0 was unstable on some stations.
++# -march=1.0 will create problems too.
++#CFLAGS="-O2 -pipe -mschedule=8000"
++
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+ 
++# Btw it's recommended to use this setting for stability.
++# There are still many bugs with higher level of optimisation.
++#CXXFLAGS="-O1 -pipe"
++
+ # Advanced Masking
+ # ================
+ #
+@@ -61,7 +97,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~hppa"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.ia64 b/cnf/make.conf.ia64
deleted file mode 100644 (file)
index 2701114..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.ia64,v 1.1.2.4 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# All Itanium systems should use this host setting:
-
-CHOST="ia64-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-#CFLAGS="-O2 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~arch"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.ia64.diff b/cnf/make.conf.ia64.diff
new file mode 100644 (file)
index 0000000..a612707
--- /dev/null
@@ -0,0 +1,40 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.ia64     2006-03-19 18:26:21.000000000 +0100
+@@ -23,20 +23,18 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# All Itanium systems should use this host setting:
++
++CHOST="ia64-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
+-#
+-# Please note that if you experience strange issues with a package, it may be
+-# due to gcc's optimizations interacting in a strange way. Please test the
+-# package (and in some cases the libraries it uses) at default optimizations
+-# before reporting errors to developers.
+-#
+-# Please refer to the GCC manual for a list of possible values.
+-#
+ #CFLAGS="-O2 -pipe"
+-#
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +80,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~ia64"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.mips b/cnf/make.conf.mips
deleted file mode 100644 (file)
index 16ac25b..0000000
+++ /dev/null
@@ -1,353 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.mips,v 1.38.2.4 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# All MIPS systems should use this host setting:
-
-CHOST="mips-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mcpu=<cpu-type> for MIPS systems selects the type of processor you want
-# to optimize your code for.   Code generated under those options will run best
-# on that processor, and may not run at all on others.
-#
-# GCC 3.2 supports many mips processor types including: r2000, r3000, r3900, r4000, 
-# r4100, r4300, r4400, r4600, r4650, r5000, r6000, r8000 , orion
-#
-#CFLAGS="-O2 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~mips"
-
-
-
-
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.mips.diff b/cnf/make.conf.mips.diff
new file mode 100644 (file)
index 0000000..1ee10ec
--- /dev/null
@@ -0,0 +1,43 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.mips     2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,13 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# All MIPS systems should use this host setting:
++
++CHOST="mips-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +40,15 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -mcpu=<cpu-type> for MIPS systems selects the type of processor you want
++# to optimize your code for.   Code generated under those options will run best
++# on that processor, and may not run at all on others.
+ #
+-#CFLAGS="-O2 -pipe"
++# GCC 3.2 supports many mips processor types including: r2000, r3000, r3900, r4000, 
++# r4100, r4300, r4400, r4600, r4650, r5000, r6000, r8000 , orion
+ #
++#CFLAGS="-O2 -pipe"
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +73,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~mips"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.ppc b/cnf/make.conf.ppc
deleted file mode 100644 (file)
index 5bfc411..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.ppc,v 1.57.2.4 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-# 
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# All PowerPC systems should use this host setting:
-
-CHOST="powerpc-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mcpu=<cpu-type> for PowerPC systems selects the type of processor you want
-# to optimize your code for.   Code generated under those options will run best
-# on that processor, and may not run at all on others.
-#
-# GCC 3.4 supports many powerpc processor types including: 401, 403, 405,
-# 405fp, 440, 440fp, 505, 601, 602, 603, 603e, 604, 604e, 620, 630, 740, 7400,
-# 7450, 750, 801, 821, 823, 860, 970, 8540, common, ec603e, G3, G4, G5, power,
-# power2, power3, power4, power5, powerpc, powerpc64, rios, rios1, rios2, rsc,
-# and rs64a
-#
-# Recommended settings for GCC 3.4 only :
-#
-# -maltivec enables optional altivec support and should be used
-# only for G4 processors,  on GCC 3.2 or newer.  It also requires that you have
-# the alitvec option compiled into your kernel to take full advantage of this
-# feature.  Note: you should also include -mabi=altivec flag if using this 
-# option.
-#
-# The newer gcc has a stricter aliasing ruleset that makes type punned 
-# expression faulty compiled if -fstrict-aliasing is enabled.
-# That option is implied by -O2 -Os and -O3. Make SURE you don't have that
-# option enabled by adding -fno-strict-aliasing to your CFLAGS and CXXFLAGS
-#
-# Long term testing has shown that -O3 opts can be unreliable on G4's but work
-# on G3 series processors or earlier.
-#
-# The following is the suggested CFLAGS for a generic G4 cpu
-#
-#CFLAGS="-O2 -pipe -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing"
-#
-#
-# All non G4 PPC boxen should choose this next option.  It will work fine for
-# all G3 and pre machines.  (note it will not hurt pre G3 machines either to 
-# use this mcpu option as it is the default for gcc 3.2.x anyway)
-#
-#CFLAGS="-O3 -pipe -mcpu=G3 -fno-strict-aliasing"
-
-# Recommended settings for GCC 2.95.3 only (Gentoo 1.2 or older):
-#
-# PowerPC 750 > up: this works on G3's and G4s, gcc 2.95.3 doesn't make the
-# distinction between G3 and G4, so this is fine for all NewWorld machines, if
-# you use yaboot to boot you should select this option
-#
-#CFLAGS="-O2 -pipe -mcpu=750 -mpowerpc-gfxopt -mmultiple -mstring"
-#
-# This will run on all other processors, by building more generic code This is
-# safe for all PPC machines running gcc 2.95.3, and works for all OldWorld
-# machines - if you use BootX to boot you should select this option
-#CFLAGS="-O2 -pipe -mmultiple -mstring"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-# Note: this really shouldn't be enabled until _AFTER_ you bootstrap and emerge
-# system.  If you want the testing things update after these steps are completed.
-#
-#ACCEPT_KEYWORDS="~ppc"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.ppc.diff b/cnf/make.conf.ppc.diff
new file mode 100644 (file)
index 0000000..f01a2da
--- /dev/null
@@ -0,0 +1,87 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.ppc      2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,13 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# All PowerPC systems should use this host setting:
++
++CHOST="powerpc-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +40,56 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -mcpu=<cpu-type> for PowerPC systems selects the type of processor you want
++# to optimize your code for.   Code generated under those options will run best
++# on that processor, and may not run at all on others.
++#
++# GCC 3.4 supports many powerpc processor types including: 401, 403, 405,
++# 405fp, 440, 440fp, 505, 601, 602, 603, 603e, 604, 604e, 620, 630, 740, 7400,
++# 7450, 750, 801, 821, 823, 860, 970, 8540, common, ec603e, G3, G4, G5, power,
++# power2, power3, power4, power5, powerpc, powerpc64, rios, rios1, rios2, rsc,
++# and rs64a
++#
++# Recommended settings for GCC 3.4 only :
++#
++# -maltivec enables optional altivec support and should be used
++# only for G4 processors,  on GCC 3.2 or newer.  It also requires that you have
++# the alitvec option compiled into your kernel to take full advantage of this
++# feature.  Note: you should also include -mabi=altivec flag if using this 
++# option.
++#
++# The newer gcc has a stricter aliasing ruleset that makes type punned 
++# expression faulty compiled if -fstrict-aliasing is enabled.
++# That option is implied by -O2 -Os and -O3. Make SURE you don't have that
++# option enabled by adding -fno-strict-aliasing to your CFLAGS and CXXFLAGS
++#
++# Long term testing has shown that -O3 opts can be unreliable on G4's but work
++# on G3 series processors or earlier.
++#
++# The following is the suggested CFLAGS for a generic G4 cpu
++#
++#CFLAGS="-O2 -pipe -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing"
+ #
+-#CFLAGS="-O2 -pipe"
+ #
++# All non G4 PPC boxen should choose this next option.  It will work fine for
++# all G3 and pre machines.  (note it will not hurt pre G3 machines either to 
++# use this mcpu option as it is the default for gcc 3.2.x anyway)
++#
++#CFLAGS="-O3 -pipe -mcpu=G3 -fno-strict-aliasing"
++
++# Recommended settings for GCC 2.95.3 only (Gentoo 1.2 or older):
++#
++# PowerPC 750 > up: this works on G3's and G4s, gcc 2.95.3 doesn't make the
++# distinction between G3 and G4, so this is fine for all NewWorld machines, if
++# you use yaboot to boot you should select this option
++#
++#CFLAGS="-O2 -pipe -mcpu=750 -mpowerpc-gfxopt -mmultiple -mstring"
++#
++# This will run on all other processors, by building more generic code This is
++# safe for all PPC machines running gcc 2.95.3, and works for all OldWorld
++# machines - if you use BootX to boot you should select this option
++#CFLAGS="-O2 -pipe -mmultiple -mstring"
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +114,10 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++# Note: this really shouldn't be enabled until _AFTER_ you bootstrap and emerge
++# system.  If you want the testing things update after these steps are completed.
++#
++#ACCEPT_KEYWORDS="~ppc"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.ppc64 b/cnf/make.conf.ppc64
deleted file mode 100644 (file)
index f0816ea..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.ppc64,v 1.1.2.5 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-# 
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# All PowerPC64 systems should use this host setting:
-
-CHOST="powerpc64-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mtarget=<cpu-type> for PowerPC64 systems instructs the gcc compiler that
-# it can use instruction scheduling specific for that type of processor
-# specified
-#
-# -mcpu=<cpu-type> for PowerPC64 systems selects the type of processor you want
-# to optimize your code for.   Code generated under those options will run best
-# on that processor.
-#
-# -mcpu=<cpu-type>  and -mtarget=<cpu-type>  should both be specified
-#
-# GCC 3.x supports many ppc64 processor types including: power3, power4,
-# 970 (aka G5), and power5.
-#
-# RS64 processors should specify power3. 
-#
-# Additional options of interest:
-#
-# -maltivec enables optional altivec support and should be used
-# only for 970 processors.  It also requires that you have
-# the alitvec option compiled into your kernel to take full advantage of this
-# feature.  Note: you should also include -mabi=altivec flag if using this option.
-#
-# -O3 for the most part seems ok but should be used with caution as
-# for instance app-editors/vim has problems if it is used. -O2 is a
-# good selection.
-#
-#Example CFLAGS setting
-#CFLAGS="-O2 -pipe -mcpu=970 -mtarget=970 -maltivec -mabi=altivec"
-#
-#or
-#
-#CFLAGS="-O2 -pipe -mcpu=power3 -mtarget=power3"
-#
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'ppc64' architecture
-# would add '~ppc64' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc64', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-# Note: this really shouldn't be enabled until _AFTER_ you bootstrap and emerge
-# system.  If you want the testing things update after these steps are completed.
-#
-#ACCEPT_KEYWORDS="ppc64"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.ppc64.diff b/cnf/make.conf.ppc64.diff
new file mode 100644 (file)
index 0000000..fa3f20d
--- /dev/null
@@ -0,0 +1,69 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.ppc64    2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,13 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# All PowerPC64 systems should use this host setting:
++
++CHOST="powerpc64-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,9 +40,38 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -mtarget=<cpu-type> for PowerPC64 systems instructs the gcc compiler that
++# it can use instruction scheduling specific for that type of processor
++# specified
++#
++# -mcpu=<cpu-type> for PowerPC64 systems selects the type of processor you want
++# to optimize your code for.   Code generated under those options will run best
++# on that processor.
++#
++# -mcpu=<cpu-type>  and -mtarget=<cpu-type>  should both be specified
++#
++# GCC 3.x supports many ppc64 processor types including: power3, power4,
++# 970 (aka G5), and power5.
++#
++# RS64 processors should specify power3. 
++#
++# Additional options of interest:
++#
++# -maltivec enables optional altivec support and should be used
++# only for 970 processors.  It also requires that you have
++# the alitvec option compiled into your kernel to take full advantage of this
++# feature.  Note: you should also include -mabi=altivec flag if using this option.
+ #
+-#CFLAGS="-O2 -pipe"
++# -O3 for the most part seems ok but should be used with caution as
++# for instance app-editors/vim has problems if it is used. -O2 is a
++# good selection.
++#
++#Example CFLAGS setting
++#CFLAGS="-O2 -pipe -mcpu=970 -mtarget=970 -maltivec -mabi=altivec"
++#
++#or
++#
++#CFLAGS="-O2 -pipe -mcpu=power3 -mtarget=power3"
+ #
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+@@ -61,7 +97,10 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++# Note: this really shouldn't be enabled until _AFTER_ you bootstrap and emerge
++# system.  If you want the testing things update after these steps are completed.
++#
++#ACCEPT_KEYWORDS="ppc64"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.s390 b/cnf/make.conf.s390
deleted file mode 100644 (file)
index 55f727b..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.s390,v 1.3.2.4 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# All s390 systems should use this host setting:
-
-CHOST="s390-ibm-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-#CFLAGS="-O2 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~arch"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.s390.diff b/cnf/make.conf.s390.diff
new file mode 100644 (file)
index 0000000..b2514d5
--- /dev/null
@@ -0,0 +1,40 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.s390     2006-03-19 18:26:21.000000000 +0100
+@@ -23,20 +23,18 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# All s390 systems should use this host setting:
++
++CHOST="s390-ibm-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
+-#
+-# Please note that if you experience strange issues with a package, it may be
+-# due to gcc's optimizations interacting in a strange way. Please test the
+-# package (and in some cases the libraries it uses) at default optimizations
+-# before reporting errors to developers.
+-#
+-# Please refer to the GCC manual for a list of possible values.
+-#
+ #CFLAGS="-O2 -pipe"
+-#
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +80,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~s390"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.sparc b/cnf/make.conf.sparc
deleted file mode 100644 (file)
index 13605c5..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.sparc,v 1.42.2.5 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-# This should be left to the default value of sparc-unknown-linux-gnu unless
-# you are absolutely certain of the consequences.  In addition to potentially
-# destroying your system, you will recieve no support and your bugs will be 
-# marked INVALID if you change this.
-#
-# CHOST="sparc-unknown-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# Sparc specific cpu optimizatiobn flags can be found here:
-# http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/SPARC-Options.html#SPARC%20Options
-# 
-# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
-# breaking compatibility with other CPUs.
-#
-# -mtune=<cpu-type> set the instruction scheduling parameters for machine, but
-# do not set the instruction set or register set.
-#
-# Here is a list of each supported architecture and their supported
-# implementations:
-#
-# gcc-3.2 and higher:
-#    v7:             cypress
-#    v8:             supersparc, hypersparc
-#    sparclite:      f930, f934, sparclite86x
-#    sparclet:       tsc701
-#    v9:             ultrasparc
-#
-# Additionally in gcc-3.3 and higher:
-#    v9:             ultrasparc3
-#
-# Decent examples:
-#
-#CFLAGS="-mcpu=supersparc -O3 -pipe"
-#CFLAGS="-mcpu=ultrasparc -O3 -pipe"
-#CFLAGS="-mcpu=v8 -mtune=v9 -O2 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~sparc"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.sparc.diff b/cnf/make.conf.sparc.diff
new file mode 100644 (file)
index 0000000..68c4428
--- /dev/null
@@ -0,0 +1,66 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.sparc    2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,15 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++# This should be left to the default value of sparc-unknown-linux-gnu unless
++# you are absolutely certain of the consequences.  In addition to potentially
++# destroying your system, you will recieve no support and your bugs will be 
++# marked INVALID if you change this.
++#
++# CHOST="sparc-unknown-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +42,34 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
+-#
+-#CFLAGS="-O2 -pipe"
+-#
++# Sparc specific cpu optimizatiobn flags can be found here:
++# http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/SPARC-Options.html#SPARC%20Options
++# 
++# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
++# breaking compatibility with other CPUs.
++#
++# -mtune=<cpu-type> set the instruction scheduling parameters for machine, but
++# do not set the instruction set or register set.
++#
++# Here is a list of each supported architecture and their supported
++# implementations:
++#
++# gcc-3.2 and higher:
++#    v7:             cypress
++#    v8:             supersparc, hypersparc
++#    sparclite:      f930, f934, sparclite86x
++#    sparclet:       tsc701
++#    v9:             ultrasparc
++#
++# Additionally in gcc-3.3 and higher:
++#    v9:             ultrasparc3
++#
++# Decent examples:
++#
++#CFLAGS="-mcpu=supersparc -O3 -pipe"
++#CFLAGS="-mcpu=ultrasparc -O3 -pipe"
++#CFLAGS="-mcpu=v8 -mtune=v9 -O2 -pipe"
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +94,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~sparc"
+ 
+ # Portage Directories
+ # ===================
diff --git a/cnf/make.conf.x86 b/cnf/make.conf.x86
deleted file mode 100644 (file)
index c053d72..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.x86,v 1.5.2.5 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
-# Change this line as appropriate (i686, i586, i486 or i386).
-# All modern systems (even Athlons) should use "i686-pc-linux-gnu".
-# All K6's are i586.
-CHOST="i686-pc-linux-gnu"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
-# breaking compatibility with other CPUs.
-#
-# -march=<cpu-type> means to take full advantage of the ABI and instructions
-# for the particular CPU; this will break compatibility with older CPUs (for
-# example, -march=athlon-xp code will not run on a regular Athlon, and
-# -march=i686 code will not run on a Pentium Classic.
-#
-# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
-# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
-# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
-# pentium3, and pentium4.
-#
-# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
-# 
-# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
-# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
-#
-# CRITICAL WARNINGS: ****************************************************** #
-# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
-# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
-# ************************************************************************* #
-#
-# Decent examples:
-#
-#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
-#CFLAGS="-march=pentium3 -O3 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~arch"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# PORTAGE_TMPFS is a location where portage may create temporary files.
-#     If specified, portage will use this directory whenever possible
-#     for all rapid operations such as lockfiles and transient data.
-#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
-#     set this to anything that does not give a significant performance
-#     enhancement and proper FS compliance for locks and read/write.
-#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
-#     setting for all linux kernel+glibc based systems.
-#PORTAGE_TMPFS="/dev/shm"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'confcache'   enable confcache support; speeds up autotool based configure
-#                calls
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.x86-fbsd b/cnf/make.conf.x86-fbsd
deleted file mode 100644 (file)
index 5357118..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.x86-fbsd,v 1.1.2.2 2005/04/13 15:28:38 jstubbs Exp $
-# Contains local system settings for Portage system
-
-# Please review 'man make.conf' for more information.
-
-# Build-time functionality
-# ========================
-#
-# The USE variable is used to enable optional build-time functionality. For
-# example, quite a few packages have optional X, gtk or GNOME functionality
-# that can only be enabled or disabled at compile-time. Gentoo Linux has a
-# very extensive set of USE variables described in our USE variable HOWTO at
-# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
-#
-# The available list of use flags with descriptions is in your portage tree.
-# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
-#
-# 'ufed' is an ncurses/dialog interface available in portage to make handling
-# useflags for you. 'emerge app-portage/ufed'
-#
-# Example:
-#USE="X gtk gnome -alsa"
-
-# Host Setting
-# ============
-#
-# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
-# Change this line as appropriate (i686, i586, i486 or i386).
-# All modern systems (even Athlons) should use "i686-pc-linux-gnu".
-# All K6's are i586.
-CHOST="i686-unknown-freebsd5.3"
-
-# Host and optimization settings 
-# ==============================
-#
-# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
-#
-# Please note that if you experience strange issues with a package, it may be
-# due to gcc's optimizations interacting in a strange way. Please test the
-# package (and in some cases the libraries it uses) at default optimizations
-# before reporting errors to developers.
-#
-# -mtune=<cpu-type> means optimize code for the particular type of CPU without
-# breaking compatibility with other CPUs.
-#
-# -march=<cpu-type> means to take full advantage of the ABI and instructions
-# for the particular CPU; this will break compatibility with older CPUs (for
-# example, -march=athlon-xp code will not run on a regular Athlon, and
-# -march=i686 code will not run on a Pentium Classic.
-#
-# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
-# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
-# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
-# pentium3, and pentium4.
-#
-# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
-# 
-# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
-# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
-#
-# CRITICAL WARNINGS: ****************************************************** #
-# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
-# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
-# ************************************************************************* #
-#
-# Decent examples:
-#
-#CFLAGS="-mtune=athlon-xp -O3 -pipe"
-#CFLAGS="-march=pentium3 -O3 -pipe"
-
-# If you set a CFLAGS above, then this line will set your default C++ flags to
-# the same settings.
-#CXXFLAGS="${CFLAGS}"
-
-# Advanced Masking
-# ================
-#
-# Gentoo is using a new masking system to allow for easier stability testing
-# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
-# on the platform they are set for. A special form has been added that
-# indicates packages and revisions that are expected to work, but have not yet
-# been approved for the stable set. '~arch' is a superset of 'arch' which
-# includes the unstable, in testing, packages. Users of the 'x86' architecture
-# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
-# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
-#
-# Please note that this is not for development, alpha, beta, nor cvs release
-# packages. "Broken" packages will not be added to testing and should not be
-# requested to be added. Alternative routes are available to developers
-# for experimental packages, and it is at their discretion to use them.
-#
-# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
-# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
-#
-#ACCEPT_KEYWORDS="~arch"
-
-# Portage Directories
-# ===================
-#
-# Each of these settings controls an aspect of portage's storage and file
-# system usage. If you change any of these, be sure it is available when
-# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
-#
-# PORTAGE_TMPDIR is the location portage will use for compilations and
-#     temporary storage of data. This can get VERY large depending upon
-#     the application being installed.
-#PORTAGE_TMPDIR=/var/tmp
-#
-# PORTDIR is the location of the portage tree. This is the repository
-#     for all profile information as well as all ebuilds. If you change
-#     this, you must update your /etc/make.profile symlink accordingly.
-#PORTDIR=/usr/portage
-#
-# DISTDIR is where all of the source code tarballs will be placed for
-#     emerges. The source code is maintained here unless you delete
-#     it. The entire repository of tarballs for gentoo is 9G. This is
-#     considerably more than any user will ever download. 2-3G is
-#     a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
-#
-# PKGDIR is the location of binary packages that you can have created
-#     with '--buildpkg' or '-b' while emerging a package. This can get
-#     upto several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
-#
-# PORT_LOGDIR is the location where portage will store all the logs it
-#     creates from each individual merge. They are stored as NNNN-$PF.log
-#     in the directory specified. This is disabled until you enable it by
-#     providing a directory. Permissions will be modified as needed IF the
-#     directory exists, otherwise logging will be disabled. NNNN is the
-#     increment at the time the log is created. Logs are thus sequential.
-#PORT_LOGDIR=/var/log/portage
-#
-# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
-#     concern that they will be deleted by rsync updates. Default is not
-#     defined.
-#PORTDIR_OVERLAY=/usr/local/portage
-
-# Fetching files 
-# ==============
-#
-# If you need to set a proxy for wget or lukemftp, add the appropriate "export
-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
-# all users on your system should use them.
-#
-# Portage uses wget by default. Here are some settings for some alternate
-# downloaders -- note that you need to merge these programs first before they
-# will be available.
-#
-# Default fetch command (5 tries, passive ftp for firewall compatibility)
-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
-#
-# Using wget, ratelimiting downloads
-#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}"
-#
-# Lukemftp (BSD ftp):
-#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
-#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
-#
-# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
-# The list is a space separated list which is read left to right. If you use
-# another mirror we highly recommend leaving the default mirror at the end of
-# the list so that portage will fall back to it if the files cannot be found
-# on your specified mirror. We _HIGHLY_ recommend that you change this setting
-# to a nearby mirror by merging and using the 'mirrorselect' tool.
-#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
-#
-# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
-# The list is a single entry specifying the full address of the directory
-# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
-# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
-# packages in the directory specified, and use that data to determine what will
-# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
-# consult the man pages and 'emerge --help' for more information. For FTP, the
-# default connection is passive -- If you require an active connection, affix
-# an asterisk (*) to the end of the host:port string before the path.
-#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
-# This ftp connection is passive ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
-# This ftp connection is active ftp.
-#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
-
-# Synchronizing Portage
-# =====================
-#
-# Each of these settings affects how Gentoo synchronizes your Portage tree.
-# Synchronization is handled by rsync and these settings allow some control
-# over how it is done.
-#
-#
-# SYNC is the server used by rsync to retrieve a localized rsync mirror
-#     rotation. This allows you to select servers that are geographically
-#     close to you, yet still distribute the load over a number of servers.
-#     Please do not single out specific rsync mirrors. Doing so places undue
-#     stress on particular mirrors.  Instead you may use one of the following
-#     continent specific rotations:
-#
-#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
-#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
-#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
-#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
-#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
-#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
-#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
-#
-# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
-#     a current portage tree before it exits with an error. This allows
-#     for a more successful retrieval without user intervention most times.
-#PORTAGE_RSYNC_RETRIES="3"
-#
-# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
-#     command used by `emerge --sync`. This will not change the default options
-#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
-#     exactly what you're doing).
-#PORTAGE_RSYNC_EXTRA_OPTS=""
-#
-# Advanced Features
-# =================
-#
-# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
-#     specified on every run. Useful options include --ask, --verbose,
-#     --usepkg and many others. Options that are not useful, such as --help,
-#     are not filtered.
-#EMERGE_DEFAULT_OPTS=""
-#
-# MAKEOPTS provides extra options that may be passed to 'make' when a
-#     program is compiled. Presently the only use is for specifying
-#     the number of parallel makes (-j) to perform. The suggested number
-#     for parallel makes is CPUs+1.
-#MAKEOPTS="-j2"
-#
-# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
-#     Note: This is an increment. Running emerge in a niced environment will
-#     reduce it further. Default is unset.
-#PORTAGE_NICENESS=3
-#
-# AUTOCLEAN enables portage to automatically clean out older or overlapping
-#     packages from the system after every successful merge. This is the
-#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
-#     This does not affect the unpacked source. See 'noclean' below.
-#AUTOCLEAN="yes"
-#
-# FEATURES are settings that affect the functionality of portage. Most of
-#     these settings are for developer use, but some are available to non-
-#     developers as well. 
-#
-#  'autoaddcvs'  causes portage to automatically try to add files to cvs
-#                that will have to be added later. Done at generation times
-#                and only has an effect when 'cvs' is also set.
-#  'buildpkg'    causes binary packages to be created of all packages that 
-#                are being merged.
-#  'ccache'      enables ccache support via CC.
-#  'collision-protect'
-#                prevents packages from overwriting files that are owned by
-#                another package or by no package at all.
-#  'cvs'         causes portage to enable all cvs features (commits, adds),
-#                and to apply all USE flags in SRC_URI for digests -- for
-#                developers only.
-#  'digest'      causes digests to be generated for all packages being merged.
-#  'distcc'      enables distcc support via CC.
-#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
-#                is enabled by default. Tools exist to help clean the locks
-#                after crashes: /usr/lib/portage/bin/clean_locks.
-#  'fixpackages' allows portage to fix binary packages that are stored in
-#                PKGDIR. This can consume a lot of time. 'fixpackages' is
-#                also a script that can be run at any given time to force
-#                the same actions.
-#  'gpg'         enables basic verification of Manifest files using gpg.
-#                This features is UNDER DEVELOPMENT and reacts to features
-#                of strict and severe. Heavy use of gpg sigs is coming.
-#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
-#                from a merge.
-#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
-#  'test'    causes ebuilds to perform testing phases if they are capable
-#                of it. Some packages support this automaticaly via makefiles.
-#  'metadata-transfer'
-#                automatically perform a metadata transfer when `emerge --sync`
-#                is run.
-#  'noauto'      causes ebuild to perform only the action requested and 
-#                not any other required actions like clean or unpack -- for
-#                debugging purposes only.
-#  'noclean'     prevents portage from removing the source and temporary files 
-#                after a merge -- for debugging purposes only. 
-#  'nostrip'     prevents the stripping of binaries.
-#  'notitles'    disables xterm titlebar updates (which contain status info). 
-#  'sandbox'     enables sandboxing when running emerge and ebuild. Doesn't 
-#                work on *BSD-based systems.
-#  'strict'      causes portage to react strongly to conditions that are
-#                potentially dangerous, like missing/incorrect Manifest files.
-#  'userpriv'    allows portage to drop root privileges while it is compiling,
-#                as a security measure.  As a side effect this can remove 
-#                sandbox access violations for users. 
-#  'usersandbox' enables sandboxing while portage is running under userpriv.
-#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork autoaddcvs"
-#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
-#
-# CCACHE_SIZE sets the space use limitations for ccache. The default size is
-#     2G, and will be set if not defined otherwise and ccache is in features. 
-#     Portage will set the default ccache dir if it is not present in the
-#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
-#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
-#     Sizes are specified with 'G' 'M' or 'K'.
-#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
-#CCACHE_SIZE="512M"
-#
-# DISTCC_DIR sets the temporary space used by distcc.
-#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
-#
-# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
-#     the portage tree. Specific chunks of the tree may be excluded from
-#     consideration. This may cause dependency failures if you are not careful.
-#     The file format is one pattern per line, blanks and ';' or '#' lines are
-#     comments. See 'man rsync' for more details on the exclude-from format.
-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
-
-# logging related variables:
-# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
-#                          info, warn, error, log
-#                       Warning: commenting this will disable elog
-PORTAGE_ELOG_CLASSES="warn error log"
-
-# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
-#                      included in portage are (empty means logging is disabled):
-#                          save (saves one log per package in $PORTAGE_TMPDIR/elogs)
-#                          custom (passes all messages to $PORTAGE_LOG_COMMAND)
-#                          syslog (sends all messages to syslog)
-#                          mail (send all messages to the mailserver defined 
-#                                in $PORTAGE_LOG_MAILURI)
-#                      To use elog you should enable at least one module
-#PORTAGE_ELOG_SYSTEM="save mail"
-
-# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
-#                      to process log messages. Two variables are expanded:
-#                          ${PACKAGE} - expands to the cpv entry of the processed 
-#                                       package (see $PVR in ebuild(5))
-#                          ${LOGFILE} - absolute path to the logfile
-#                                              Both variables have to be quoted with single quotes
-#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '${PACKAGE}' -f '${LOGFILE}'"
-
-# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
-#                       module. In most cases listing the recipient address and
-#                       the receiving mailserver should be sufficient, but you can
-#                       also use advanced settings like authentication or TLS. The
-#                       full syntax is:
-#                           address [[user:passwd@]mailserver[:port]]
-#                       where
-#                           address:     recipient adress
-#                           user:       username for smtp auth (defaults to none)
-#                           passwd:     password for smtp auth (defaults to none)
-#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
-#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
-#                       Examples:
-#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
-#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
-#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader excercise ;)
diff --git a/cnf/make.conf.x86-fbsd.diff b/cnf/make.conf.x86-fbsd.diff
new file mode 100644 (file)
index 0000000..b469e34
--- /dev/null
@@ -0,0 +1,73 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.x86-fbsd 2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,15 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
++# Change this line as appropriate (i686, i586, i486 or i386).
++# All modern systems (even Athlons) should use "i686-pc-linux-gnu".
++# All K6's are i586.
++CHOST="i686-unknown-freebsd5.3"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +42,34 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -mtune=<cpu-type> means optimize code for the particular type of CPU without
++# breaking compatibility with other CPUs.
++#
++# -march=<cpu-type> means to take full advantage of the ABI and instructions
++# for the particular CPU; this will break compatibility with older CPUs (for
++# example, -march=athlon-xp code will not run on a regular Athlon, and
++# -march=i686 code will not run on a Pentium Classic.
++#
++# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
++# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
++# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
++# pentium3, and pentium4.
++#
++# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
++# 
++# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
++# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
++#
++# CRITICAL WARNINGS: ****************************************************** #
++# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
++# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
++# ************************************************************************* #
+ #
+-#CFLAGS="-O2 -pipe"
++# Decent examples:
+ #
++#CFLAGS="-mtune=athlon-xp -O3 -pipe"
++#CFLAGS="-march=pentium3 -O3 -pipe"
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +80,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~x86-fbsd"
+ 
+ # Portage Directories
+ # ===================
+@@ -268,7 +289,8 @@
+ #  'notitles'    disables xterm titlebar updates (which contain status info). 
+ #  'parallel-fetch'
+ #                do fetching in parallel to compilation
+-#  'sandbox'     enables sandboxing when running emerge and ebuild.
++#  'sandbox'     enables sandboxing when running emerge and ebuild. Doesn't 
++#                work on *BSD-based systems.
+ #  'strict'      causes portage to react strongly to conditions that are
+ #                potentially dangerous, like missing/incorrect Manifest files.
diff --git a/cnf/make.conf.x86.diff b/cnf/make.conf.x86.diff
new file mode 100644 (file)
index 0000000..39a2bb1
--- /dev/null
@@ -0,0 +1,64 @@
+--- make.conf  2006-03-19 18:40:11.000000000 +0100
++++ make.conf.x86      2006-03-19 18:26:21.000000000 +0100
+@@ -23,6 +23,15 @@
+ # Example:
+ #USE="X gtk gnome -alsa"
+ 
++# Host Setting
++# ============
++#
++# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
++# Change this line as appropriate (i686, i586, i486 or i386).
++# All modern systems (even Athlons) should use "i686-pc-linux-gnu".
++# All K6's are i586.
++CHOST="i686-pc-linux-gnu"
++
+ # Host and optimization settings 
+ # ==============================
+ #
+@@ -33,10 +42,34 @@
+ # package (and in some cases the libraries it uses) at default optimizations
+ # before reporting errors to developers.
+ #
+-# Please refer to the GCC manual for a list of possible values.
++# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
++# breaking compatibility with other CPUs.
+ #
+-#CFLAGS="-O2 -pipe"
++# -march=<cpu-type> means to take full advantage of the ABI and instructions
++# for the particular CPU; this will break compatibility with older CPUs (for
++# example, -march=athlon-xp code will not run on a regular Athlon, and
++# -march=i686 code will not run on a Pentium Classic.
++#
++# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
++# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
++# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
++# pentium3, and pentium4.
++#
++# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
++# 
++# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
++# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
++#
++# CRITICAL WARNINGS: ****************************************************** #
++# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
++# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
++# ************************************************************************* #
+ #
++# Decent examples:
++#
++#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
++#CFLAGS="-march=pentium3 -O3 -pipe"
++
+ # If you set a CFLAGS above, then this line will set your default C++ flags to
+ # the same settings.
+ #CXXFLAGS="${CFLAGS}"
+@@ -61,7 +80,7 @@
+ # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
+ # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
+ #
+-#ACCEPT_KEYWORDS="~arch"
++#ACCEPT_KEYWORDS="~x86"
+ 
+ # Portage Directories
+ # ===================
diff --git a/make.conf-repatch.sh b/make.conf-repatch.sh
new file mode 100644 (file)
index 0000000..6589e6b
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+die() {
+       echo "ERROR: $*" > /dev/stderr
+       patch -p0 make.conf < make.conf.diff
+       exit 1
+}
+
+if [ ! -f "make.conf" -o ! -f "make.conf.x86.diff" -o ! -d ".svn" ]; then
+       echo "ERROR: current directory is invalid" > /dev/stderr
+       exit 1
+fi
+
+svn diff make.conf > make.conf.diff
+svn revert make.conf
+
+for x in make.conf.*.diff; do
+       archs="$archs $(basename ${x:10} .diff)"
+done
+
+
+for arch in $archs; do
+       echo "* Patching $arch"
+       cp make.conf make.conf.$arch || die "copy failed"
+       patch -p0 make.conf.$arch < make.conf.${arch}.diff > /dev/null || die "arch-patch failed"
+       patch -p0 make.conf.$arch < make.conf.diff > /dev/null || die "patch failed"
+done
+
+echo "* Re-patching make.conf"
+patch -p0 make.conf < make.conf.diff > /dev/null || die "repatch failed"
+
+for arch in $archs; do
+       echo "* Creating diff for $arch"
+       diff -u make.conf make.conf.$arch > make.conf.${arch}.diff
+       [ -z "${KEEP_ARCH_MAKE_CONF}" ] && rm -f make.conf.$arch make.conf.${arch}.orig
+done
+
+rm make.conf.diff
+
+echo "Done"
\ No newline at end of file
index 09bec1bf12aa5b16d2fdfba2568fd04ca5577e0c..aff6af34cacac7539d47c6c23b74dbcb93f61d2a 100644 (file)
@@ -73,6 +73,7 @@ try:
 
        from portage_data import ostype, lchown, userland, secpass, uid, wheelgid, \
                                 portage_uid, portage_gid
+       from portage_manifest import Manifest
 
        import portage_util
        from portage_util import atomic_ofstream, apply_secpass_permissions, apply_recursive_permissions, \
@@ -881,6 +882,8 @@ class config:
                self.modifiedkeys = []
 
                self.virtuals = {}
+               self.virts_p = {}
+               self.dirVirtuals = None
                self.v_count  = 0
 
                # Virtuals obtained from the vartree
@@ -1141,9 +1144,6 @@ class config:
                        archlist = stack_lists(archlist, incremental=1)
                        self.configdict["conf"]["PORTAGE_ARCHLIST"] = " ".join(archlist)
 
-                       # get virtuals -- needs categories
-                       self.loadVirtuals('/')
-
                        #package.mask
                        pkgmasklines = [grabfile_package(os.path.join(x, "package.mask")) for x in self.profiles]
                        for l in locations:
@@ -1184,7 +1184,8 @@ class config:
                if not useorder:
                        # reasonable defaults; this is important as without USE_ORDER,
                        # USE will always be "" (nothing set)!
-                       useorder="env:pkg:conf:auto:defaults"
+                       useorder = "env:pkg:conf:defaults"
+                       self.backupenv["USE_ORDER"] = useorder
                useordersplit=useorder.split(":")
 
                self.uvlist=[]
@@ -1261,7 +1262,9 @@ class config:
                        self.setcpv(mycpv)
 
        def loadVirtuals(self,root):
-               self.virtuals = self.getvirtuals(root)
+               """Not currently used by portage."""
+               writemsg("DEPRECATED: portage.config.loadVirtuals\n")
+               self.getvirtuals(root)
 
        def load_best_module(self,property_string):
                best_mod = best_from_dict(property_string,self.modules,self.module_priority)
@@ -1349,6 +1352,8 @@ class config:
                self.reset(keeping_pkg=1,use_cache=use_cache)
 
        def setinst(self,mycpv,mydbapi):
+               if len(self.virtuals) == 0:
+                       self.getvirtuals()
                # Grab the virtuals this package provides and add them into the tree virtuals.
                provides = mydbapi.aux_get(mycpv, ["PROVIDE"])[0]
                if isinstance(mydbapi, portdbapi):
@@ -1387,7 +1392,7 @@ class config:
                        if mykey=="USE":
                                mydbs=self.uvlist
                                # XXX Global usage of db... Needs to go away somehow.
-                               if db.has_key(root) and db[root].has_key("vartree"):
+                               if "auto" in self["USE_ORDER"].split(":") and db.has_key(root) and db[root].has_key("vartree"):
                                        self.configdict["auto"]["USE"]=autouse(db[root]["vartree"],use_cache=use_cache)
                                else:
                                        self.configdict["auto"]["USE"]=""
@@ -1453,7 +1458,20 @@ class config:
 
                self.already_in_regenerate = 0
 
-       def getvirtuals(self, myroot):
+       def get_virts_p(self, myroot):
+               if self.virts_p:
+                       return self.virts_p
+               virts = self.getvirtuals(myroot)
+               if virts:
+                       myvkeys = virts.keys()
+                       for x in myvkeys:
+                               vkeysplit = x.split("/")
+                               if not self.virts_p.has_key(vkeysplit[1]):
+                                       self.virts_p[vkeysplit[1]] = virts[x]
+               return self.virts_p
+
+       def getvirtuals(self, myroot="/"):
+               #XXX: due to caching, myroot is ignored on all but the first call
                if self.virtuals:
                        return self.virtuals
 
@@ -1507,7 +1525,8 @@ class config:
                        # Reduce the provides into a list by CP.
                        self.treeVirtuals = map_dictlist_vals(getCPFromCPV,temp_vartree.get_all_provides())
 
-               return self.__getvirtuals_compile()
+               self.virtuals = self.__getvirtuals_compile()
+               return self.virtuals
 
        def __getvirtuals_compile(self):
                """Actually generate the virtuals we have collected.
@@ -2025,179 +2044,73 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks",
                        return 0
        return 1
 
-
-def digestCreate(myfiles,basedir,oldDigest={}):
-       """Takes a list of files and the directory they are in and returns the
-       dict of dict[filename][CHECKSUM_KEY] = hash
-       returns None on error."""
-       mydigests={}
-       for x in myfiles:
-               print "<<<",x
-               myfile=os.path.normpath(basedir+"///"+x)
-               if os.path.exists(myfile):
-                       if not os.access(myfile, os.R_OK):
-                               print "!!! Given file does not appear to be readable. Does it exist?"
-                               print "!!! File:",myfile
-                               return None
-                       mydigests[x] = portage_checksum.perform_multiple_checksums(myfile, hashes=portage_const.MANIFEST1_HASH_FUNCTIONS)
-                       mysize       = os.stat(myfile)[stat.ST_SIZE]
-               else:
-                       if x in oldDigest:
-                               # DeepCopy because we might not have a unique reference.
-                               mydigests[x] = copy.deepcopy(oldDigest[x])
-                               mysize       = copy.deepcopy(oldDigest[x]["size"])
-                       else:
-                               print "!!! We have a source URI, but no file..."
-                               print "!!! File:",myfile
-                               return None
-
-               if mydigests[x].has_key("size") and (mydigests[x]["size"] != mysize):
-                       raise portage_exception.DigestException, "Size mismatch during checksums"
-               mydigests[x]["size"] = copy.deepcopy(mysize)
-       return mydigests
-
-def digestCreateLines(filelist, mydict):
-       mylines = []
-       mydigests = copy.deepcopy(mydict)
-       for myarchive in filelist:
-               mysize = mydigests[myarchive]["size"]
-               if len(mydigests[myarchive]) == 0:
-                       raise portage_exception.DigestException, "No generate digest for '%(file)s'" % {"file":myarchive}
-               for sumName in mydigests[myarchive].keys():
-                       if sumName not in portage_checksum.get_valid_checksum_keys():
-                               continue
-                       mysum = mydigests[myarchive][sumName]
-
-                       myline  = sumName[:]
-                       myline += " "+mysum
-                       myline += " "+myarchive
-                       myline += " "+str(mysize)
-                       mylines.append(myline)
-       return mylines
-
-def digestgen(myarchives,mysettings,overwrite=1,manifestonly=0):
+def digestgen(myarchives,mysettings,db=None,overwrite=1,manifestonly=0):
        """generates digest file if missing.  Assumes all files are available.  If
-       overwrite=0, the digest will only be created if it doesn't already exist."""
-
-       # archive files
-       basedir=mysettings["DISTDIR"]+"/"
-       digestfn=mysettings["FILESDIR"]+"/digest-"+mysettings["PF"]
-
-       # portage files -- p(ortagefiles)basedir
-       pbasedir=mysettings["O"]+"/"
-       manifestfn=pbasedir+"Manifest"
-
-       if not manifestonly:
-               if not os.path.isdir(mysettings["FILESDIR"]):
-                       os.makedirs(mysettings["FILESDIR"])
-               mycvstree=cvstree.getentries(pbasedir, recursive=1)
-
-               if ("cvs" in features) and os.path.exists(pbasedir+"/CVS"):
-                       if not cvstree.isadded(mycvstree,"files"):
-                               if "autoaddcvs" in features:
-                                       print ">>> Auto-adding files/ dir to CVS..."
-                                       spawn("cd "+pbasedir+"; cvs add files",mysettings,free=1)
-                               else:
-                                       print "--- Warning: files/ is not added to cvs."
-
-               if (not overwrite) and os.path.exists(digestfn):
-                       return 1
-
-               print green(">>> Generating the digest file...")
-
-               # Track the old digest so we can assume checksums without requiring
-               # all files to be downloaded. 'Assuming'
-               myolddigest = {}
-               if os.path.exists(digestfn):
-                       myolddigest = digestParseFile(digestfn)
-
-               myarchives.sort()
+       overwrite=0, the digest will only be created if it doesn't already exist.
+       DEPRECATED: this now only is a compability wrapper for 
+                   portage_manifest.Manifest()"""
+
+       # NOTE: manifestonly is useless with manifest2 and therefore ignored
+       # NOTE: the old code contains a lot of crap that should really be elsewhere 
+       #       (e.g. cvs stuff should be in ebuild(1) and/or repoman)
+       # TODO: error/exception handling
+
+       if db == None:
+               db = portagetree().dbapi
+
+       mf = Manifest(mysettings["O"], db, mysettings)
+       for f in myarchives:
+               # the whole type evaluation is only for the case that myarchives isn't a 
+               # DIST file as create() determines the type on its own
+               mytype = mf.guessType(f)
+               if mytype == "AUX":
+                       f = f[5:]
+               elif mytype == None:
+                       continue
+               myrealtype = mf.findFile(f)
+               if myrealtype != None:
+                       mytype = myrealtype
+               writemsg(">>> Creating Manifest for %s\n" % mysettings["O"])
+               mf.create(assumeDistfileHashes=True)
                try:
-                       mydigests=digestCreate(myarchives, basedir, oldDigest=myolddigest)
-               except portage_exception.DigestException, s:
-                       print "!!!",s
-                       return 0
-               if mydigests==None: # There was a problem, exit with an errorcode.
+                       writemsg(">>> Adding digests for file %s\n" % f)
+                       mf.updateFileHashes(mytype, f, checkExisting=False, reuseExisting=not os.path.exists(os.path.join(mysettings["DISTDIR"], f)))
+               except portage_exception.FileNotFound, e:
+                       writemsg("!!! File %s doesn't exist, can't update Manifest\n" % str(e))
                        return 0
-
-               if mydigests != myolddigest:
-                       digest_lines = digestCreateLines(myarchives, mydigests)
-                       digest_success = True
-                       try:
-                               write_atomic(digestfn, "\n".join(digest_lines) + "\n")
-                               digest_success = apply_secpass_permissions(
-                                       digestfn, gid=portage_gid, mode=0664)
-                       except (IOError, OSError), e:
-                               writemsg("!!! %s\n" % str(e))
-                               digest_success = False
-                       except portage_exception.PortageException:
-                               writemsg("!!! %s\n" % str(e))
-                               digest_success = False
-                       if not digest_success:
-                               writemsg("!!! Filesystem error, skipping generation.\n")
-                               return 0
-
-       print green(">>> Generating the manifest file...")
-       mypfiles=listdir(pbasedir,recursive=1,filesonly=1,ignorecvs=1,EmptyOnError=1)
-       mypfiles=cvstree.apply_cvsignore_filter(mypfiles)
-       mypfiles.sort()
-       for x in ["Manifest"]:
-               if x in mypfiles:
-                       mypfiles.remove(x)
-
-       mydigests=digestCreate(mypfiles, pbasedir)
-       if mydigests==None: # There was a problem, exit with an errorcode.
-               return 0
-
-       try:
-               outfile=open(manifestfn, "w+")
-       except SystemExit, e:
-               raise
-       except Exception, e:
-               print "!!! Filesystem error skipping generation. (Read-Only?)"
-               print "!!!",e
-               return 0
-       for x in digestCreateLines(mypfiles, mydigests):
-               outfile.write(x+"\n")
-       outfile.close()
-       try:
-               os.chown(manifestfn,os.getuid(),portage_gid)
-               os.chmod(manifestfn,0664)
-       except SystemExit, e:
-               raise
-       except Exception,e:
-               print e
-
-       if "cvs" in features and os.path.exists(pbasedir+"/CVS"):
-               mycvstree=cvstree.getentries(pbasedir, recursive=1)
-               myunaddedfiles=""
-               if not manifestonly and not cvstree.isadded(mycvstree,digestfn):
-                       if digestfn[:len(pbasedir)]==pbasedir:
-                               myunaddedfiles=digestfn[len(pbasedir):]+" "
-                       else:
-                               myunaddedfiles=digestfn+" "
-               if not cvstree.isadded(mycvstree,manifestfn[len(pbasedir):]):
-                       if manifestfn[:len(pbasedir)]==pbasedir:
-                               myunaddedfiles+=manifestfn[len(pbasedir):]+" "
-                       else:
-                               myunaddedfiles+=manifestfn
-               if myunaddedfiles:
-                       if "autoaddcvs" in features:
-                               print blue(">>> Auto-adding digest file(s) to CVS...")
-                               spawn("cd "+pbasedir+"; cvs add "+myunaddedfiles,mysettings,free=1)
-                       else:
-                               print "--- Warning: digests are not yet added into CVS."
-       print darkgreen(">>> Computed message digests.")
-       print
+       # NOTE: overwrite=0 is only used by emerge --digest, not sure we wanna keep that
+       if overwrite or not os.path.exists(mf.getFullname()):
+               mf.write(sign=False)
+       
        return 1
 
-
-def digestParseFile(myfilename):
+def digestParseFile(myfilename,mysettings=None,db=None):
        """(filename) -- Parses a given file for entries matching:
        <checksumkey> <checksum_hex_string> <filename> <filesize>
        Ignores lines that don't start with a valid checksum identifier
        and returns a dict with the filenames as keys and {checksumkey:checksum}
-       as the values."""
+       as the values.
+       DEPRECATED: this function is now only a compability wrapper for
+                   portage_manifest.Manifest()."""
+
+       mysplit = myfilename.split(os.sep)
+       if mysplit[-2] == "files" and mysplit[-1].startswith("digest-"):
+               pkgdir = os.sep+os.sep.join(mysplit[:-2])
+       elif mysplit[-1] == "Manifest":
+               pkgdir = os.sep+os.sep.join(mysplit[:-1])
+
+       if db == None:
+               db = portagetree().dbapi
+       if mysettings == None:
+               mysettings = config(clone=settings)
+
+       mf = Manifest(pkgdir, db, mysettings)
+
+       return mf.getDigests()
+       
+       #########################################
+       # Old code that's replaced by the above #
+       #########################################
 
        if not os.path.exists(myfilename):
                return None
@@ -2231,7 +2144,11 @@ def digestCheckFiles(myfiles, mydigests, basedir, note="", strict=0):
        """(fileslist, digestdict, basedir) -- Takes a list of files and a dict
        of their digests and checks the digests against the indicated files in
        the basedir given. Returns 1 only if all files exist and match the checksums.
+       DEPRECATED: this function isn't compatible with manifest2, use
+                   portage_manifest.Manifest() instead for any digest related tasks.
        """
+       print "!!! use of deprecated function digestCheckFiles(), use portage_manifest instead"""
+       return 0
        for x in myfiles:
                if not mydigests.has_key(x):
                        print
@@ -2263,8 +2180,46 @@ def digestCheckFiles(myfiles, mydigests, basedir, note="", strict=0):
        return 1
 
 
-def digestcheck(myfiles, mysettings, strict=0, justmanifest=0):
-       """Verifies checksums.  Assumes all files have been downloaded."""
+def digestcheck(myfiles, mysettings, strict=0, justmanifest=0, db=None):
+       """Verifies checksums.  Assumes all files have been downloaded.
+       DEPRECATED: this is now only a compability wrapper for 
+                   portage_manifest.Manifest()."""
+       
+       pkgdir = mysettings["O"]
+       if db == None:
+               db = portagetree().dbapi
+       mf = Manifest(pkgdir, db, mysettings)
+       try:
+               if strict:
+                       print ">>> checking ebuild checksums",
+                       mf.checkTypeHashes("EBUILD")
+                       print ":-)"
+                       print ">>> checking auxfile checksums",
+                       mf.checkTypeHashes("AUX")
+                       print ":-)"
+                       print ">>> checking miscfile checksums",
+                       mf.checkTypeHashes("MISC", ignoreMissingFiles=True)
+                       print ":-)"
+               for f in myfiles:
+                       if f.startswith("files/"):
+                               f = f[5:]
+                       print ">>> checking %s checksums" % f,
+                       mf.checkFileHashes(mf.findFile(f), f)   
+                       print ":-)"
+       except portage_exception.DigestException, e:
+               print e.value
+               print red("!!! ")+"Digest verification failed:"
+               print red("!!! ")+"    "+e.value[0]
+               print red("!!! ")+"Reason: "+e.value[1]
+               print red("!!! ")+"Got: "+str(e.value[2])
+               print red("!!! ")+"Expected: "+str(e.value[3])
+               return 0
+       return 1
+       
+       #########################################
+       # Old code that's replaced by the above #
+       #########################################   
+       
        # archive files
        basedir=mysettings["DISTDIR"]+"/"
        digestfn=mysettings["FILESDIR"]+"/digest-"+mysettings["PF"]
@@ -2617,15 +2572,22 @@ def prepare_build_dirs(myroot, mysettings, cleanup):
 
        workdir_mode = 0700
        try:
-               parsed_mode = int(eval(mysettings["PORTAGE_WORKDIR_MODE"]))
+               mode = mysettings["PORTAGE_WORKDIR_MODE"]
+               if mode.isdigit():
+                       parsed_mode = int(mode, 8)
+               elif mode == "":
+                       raise KeyError()
+               else:
+                       raise ValueError()
                if parsed_mode & 07777 != parsed_mode:
-                       raise ValueError("Invalid file mode: %s" % mysettings["PORTAGE_WORKDIR_MODE"])
+                       raise ValueError("Invalid file mode: %s" % mode)
                else:
                        workdir_mode = parsed_mode
        except KeyError, e:
-               writemsg("!!! PORTAGE_WORKDIR_MODE is unset, using %s." % oct(workdir_mode))
-       except (ValueError, SyntaxError), e:
-               writemsg("%s\n" % e)
+               writemsg("!!! PORTAGE_WORKDIR_MODE is unset, using %s.\n" % oct(workdir_mode))
+       except ValueError, e:
+               if len(str(e)) > 0:
+                       writemsg("%s\n" % e)
                writemsg("!!! Unable to parse PORTAGE_WORKDIR_MODE='%s', using %s.\n" % \
                (mysettings["PORTAGE_WORKDIR_MODE"], oct(workdir_mode)))
        mysettings["PORTAGE_WORKDIR_MODE"] = oct(workdir_mode)
@@ -3150,16 +3112,17 @@ def dep_virtual(mysplit, mysettings):
                        newsplit.append(dep_virtual(x, mysettings))
                else:
                        mykey=dep_getkey(x)
-                       if mysettings.virtuals.has_key(mykey):
-                               if len(mysettings.virtuals[mykey])==1:
-                                       a=string.replace(x, mykey, mysettings.virtuals[mykey][0])
+                       myvirtuals = mysettings.getvirtuals()
+                       if myvirtuals.has_key(mykey):
+                               if len(myvirtuals[mykey]) == 1:
+                                       a = string.replace(x, mykey, myvirtuals[mykey][0])
                                else:
                                        if x[0]=="!":
                                                # blocker needs "and" not "or(||)".
                                                a=[]
                                        else:
                                                a=['||']
-                                       for y in mysettings.virtuals[mykey]:
+                                       for y in myvirtuals[mykey]:
                                                a.append(string.replace(x, mykey, y))
                                newsplit.append(a)
                        else:
@@ -3467,6 +3430,9 @@ def cpv_getkey(mycpv):
 
 def key_expand(mykey,mydb=None,use_cache=1):
        mysplit=mykey.split("/")
+       global settings
+       virts = settings.getvirtuals("/")
+       virts_p = settings.get_virts_p("/")
        if len(mysplit)==1:
                if mydb and type(mydb)==types.InstanceType:
                        for x in settings.categories:
@@ -3488,6 +3454,9 @@ def cpv_expand(mycpv,mydb=None,use_cache=1):
        are no installed/available candidates."""
        myslash=mycpv.split("/")
        mysplit=pkgsplit(myslash[-1])
+       global settings
+       virts = settings.getvirtuals("/")
+       virts_p = settings.get_virts_p("/")
        if len(myslash)>2:
                # this is illegal case.
                mysplit=[]
@@ -6633,20 +6602,9 @@ def getvirtuals(myroot):
        return settings.getvirtuals(myroot)
 
 def do_vartree(mysettings):
-       global virts,virts_p
-       virts=mysettings.getvirtuals("/")
-       virts_p={}
-
-       if virts:
-               myvkeys=virts.keys()
-               for x in myvkeys:
-                       vkeysplit=x.split("/")
-                       if not virts_p.has_key(vkeysplit[1]):
-                               virts_p[vkeysplit[1]]=virts[x]
-       db["/"]={"virtuals":virts,"vartree":vartree("/",virts)}
+       db["/"] = {"vartree":vartree("/")}
        if root!="/":
-               virts=mysettings.getvirtuals(root)
-               db[root]={"virtuals":virts,"vartree":vartree(root,virts)}
+               db[root] = {"vartree":vartree(root)}
        #We need to create the vartree first, then load our settings, and then set up our other trees
 
 usedefaults=settings.use_defs
@@ -6912,7 +6870,7 @@ def global_updates():
                                        writemsg("%s\n" % msg)
                update_config_files(myupd)
 
-               db["/"]["bintree"] = binarytree("/", settings["PKGDIR"], virts)
+               db["/"]["bintree"] = binarytree("/", settings["PKGDIR"], settings.getvirtuals("/"))
                for update_cmd in myupd:
                        if update_cmd[0] == "move":
                                db["/"]["vartree"].dbapi.move_ent(update_cmd)
@@ -6959,11 +6917,11 @@ if (secpass==2) and (not os.environ.has_key("SANDBOX_ACTIVE")):
                global_updates()
 
 #continue setting up other trees
-db["/"]["porttree"]=portagetree("/",virts)
-db["/"]["bintree"]=binarytree("/",settings["PKGDIR"],virts)
+db["/"]["porttree"] = portagetree("/")
+db["/"]["bintree"] = binarytree("/", settings["PKGDIR"])
 if root!="/":
-       db[root]["porttree"]=portagetree(root,virts)
-       db[root]["bintree"]=binarytree(root,settings["PKGDIR"],virts)
+       db[root]["porttree"] = portagetree(root)
+       db[root]["bintree"] = binarytree(root, settings["PKGDIR"])
 
 profileroots = [settings["PORTDIR"]+"/profiles/"]
 for x in settings["PORTDIR_OVERLAY"].split():
index 8196628ca4c855fc0309ee8dd679425d4231576e..171ecba2fb9ae8cdc0c058f5a1436225023a0ff1 100644 (file)
@@ -58,6 +58,11 @@ try:
 except ImportError:
        pass
 
+def getsize(filename):
+       size = os.stat(filename).st_size
+       return (size, size)
+hashfunc_map["size"] = getsize
+
 # end actual hash functions
 
 prelink_capable = False
@@ -68,7 +73,7 @@ if os.path.exists(PRELINK_BINARY):
        del results
 
 def perform_md5(x, calc_prelink=0):
-       return perform_checksum(x, md5hash, calc_prelink)[0]
+       return perform_checksum(x, "MD5", calc_prelink)[0]
 
 def perform_all(x, calc_prelink=0):
        mydict = {}
@@ -94,7 +99,7 @@ def verify_all(filename, mydict, calc_prelink=0, strict=0):
                if   x == "size":
                        continue
                elif x in hashfunc_map.keys():
-                       myhash = perform_checksum(filename, hashfunc_map[x], calc_prelink=calc_prelink)[0]
+                       myhash = perform_checksum(filename, x, calc_prelink=calc_prelink)[0]
                        if mydict[x] != myhash:
                                if strict:
                                        raise portage_exception.DigestException, "Failed to verify '$(file)s' on checksum type '%(type)s'" % {"file":filename, "type":x}
@@ -118,7 +123,7 @@ def pyhash(filename, hashobject):
 
        return (sum.hexdigest(), size)
 
-def perform_checksum(filename, hash_function=md5hash, calc_prelink=0):
+def perform_checksum(filename, hashname="MD5", calc_prelink=0):
        myfilename      = filename[:]
        prelink_tmpfile = os.path.join("/", PRIVATE_PATH, "prelink-checksum.tmp." + str(os.getpid()))
        mylock          = None
@@ -132,10 +137,12 @@ def perform_checksum(filename, hash_function=md5hash, calc_prelink=0):
                        #portage_util.writemsg(">>> prelink checksum '"+str(filename)+"'.\n")
                        myfilename=prelink_tmpfile
        try:
-               myhash, mysize = hash_function(myfilename)
+               if hashname not in hashfunc_map:
+                       raise portage_exception.DigestException, hashname+" hash function not available (needs dev-python/pycrypto)"
+               myhash, mysize = hashfunc_map[hashname](myfilename)
        except (OSError, IOError), e:
                if e.errno == errno.ENOENT:
-                       raise portage_exception.FileNotFound(e)
+                       raise portage_exception.FileNotFound(myfilename)
                else:
                        raise e
        if calc_prelink and prelink_capable:
@@ -155,5 +162,5 @@ def perform_multiple_checksums(filename, hashes=["MD5"], calc_prelink=0):
        for x in hashes:
                if x not in hashfunc_map:
                        raise portage_exception.DigestException, x+" hash function not available (needs dev-python/pycrypto)"
-               rVal[x] = perform_checksum(filename, hashfunc_map[x], calc_prelink)[0]
+               rVal[x] = perform_checksum(filename, x, calc_prelink)[0]
        return rVal
index 2a5ed719d4a9ca2e53f19c0a593d4fad8076a1c0..11079b4bcfae83b277098d3d83dcea1641f71722 100644 (file)
@@ -53,10 +53,10 @@ EBUILD_PHASES                       = ["setup","unpack","compile","test","install","preinst","postin
 EAPI = "prefix"
 
 HASHING_BLOCKSIZE              = 32768
-# Disabling until behaviour when missing the relevant python module is
-# corrected.  #116485
 MANIFEST1_HASH_FUNCTIONS = ["MD5","SHA256","RMD160"]
+MANIFEST2_HASH_FUNCTIONS = ["SHA1","SHA256","RMD160"]
 
+MANIFEST2_IDENTIFIERS = ["AUX","MISC","DIST","EBUILD"]
 # ===========================================================================
 # END OF CONSTANTS -- END OF CONSTANTS -- END OF CONSTANTS -- END OF CONSTANT
 # ===========================================================================
diff --git a/pym/portage_manifest.py b/pym/portage_manifest.py
new file mode 100644 (file)
index 0000000..962dbb4
--- /dev/null
@@ -0,0 +1,337 @@
+import os, sets
+
+import portage, portage_exception, portage_versions, portage_const
+from portage_checksum import *
+from portage_exception import *
+
+class FileNotInManifestException(PortageException):
+       pass
+
+def manifest2AuxfileFilter(filename):
+       filename = filename.strip(os.sep)
+       return not (filename in ["CVS", ".svn"] or filename.startswith("digest-"))
+
+def manifest2MiscfileFilter(filename):
+       filename = filename.strip(os.sep)
+       return not (filename in ["CVS", ".svn", "files", "Manifest"] or filename.endswith(".ebuild"))
+
+class Manifest(object):
+       def __init__(self, pkgdir, db, mysettings, manifest1_compat=True, from_scratch=False):
+               """ create new Manifest instance for package in pkgdir, using db and mysettings for metadata lookups,
+                   and add compability entries for old portage versions if manifest1_compat == True.
+                   Do not parse Manifest file if from_scratch == True (only for internal use) """
+               self.pkgdir = pkgdir+os.sep
+               self.fhashdict = {}
+               self.hashes = portage_const.MANIFEST2_HASH_FUNCTIONS[:]
+               self.hashes.append("size")
+               if manifest1_compat:
+                       self.hashes.extend(portage_const.MANIFEST1_HASH_FUNCTIONS)
+               self.hashes = sets.Set(self.hashes)
+               for t in portage_const.MANIFEST2_IDENTIFIERS:
+                       self.fhashdict[t] = {}
+               if not from_scratch:
+                       self._read()
+               self.compat = manifest1_compat
+               self.db = db
+               self.mysettings = mysettings
+               if mysettings.has_key("PORTAGE_ACTUAL_DISTDIR"):
+                       self.distdir = mysettings["PORTAGE_ACTUAL_DISTDIR"]
+               else:
+                       self.distdir = mysettings["DISTDIR"]
+               
+       def guessType(self, filename):
+               """ Perform a best effort guess of which type the given filename is, avoid using this if possible """
+               if filename.startswith("files"+os.sep+"digest-"):
+                       return None
+               if filename.startswith("files"+os.sep):
+                       return "AUX"
+               elif filename.endswith(".ebuild"):
+                       return "EBUILD"
+               elif filename in ["ChangeLog", "metadata.xml"]:
+                       return "MISC"
+               else:
+                       return "DIST"
+       
+       def getFullname(self):
+               """ Returns the absolute path to the Manifest file for this instance """
+               return os.path.join(self.pkgdir, "Manifest")
+       
+       def getDigests(self):
+               """ Compability function for old digest/manifest code, returns dict of filename:{hashfunction:hashvalue} """
+               rval = {}
+               for t in portage_const.MANIFEST2_IDENTIFIERS:
+                       rval.update(self.fhashdict[t])
+               return rval
+       
+       def _readDigests(self):
+               """ Parse old style digest files for this Manifest instance """
+               mycontent = ""
+               for d in portage.listdir(os.path.join(self.pkgdir, "files"), filesonly=True, recursive=False):
+                       if d.startswith("digest-"):
+                               mycontent += open(os.path.join(self.pkgdir, "files", d), "r").read()
+               return mycontent
+               
+       def _read(self):
+               """ Parse Manifest file for this instance """
+               if not os.path.exists(self.getFullname()):
+                       return
+               fd = open(self.getFullname(), "r")
+               mylines = fd.readlines()
+               fd.close()
+               mylines.extend(self._readDigests().split("\n"))
+               for l in mylines:
+                       myname = ""
+                       mysplit = l.split()
+                       if len(mysplit) == 4 and mysplit[0] in portage_const.MANIFEST1_HASH_FUNCTIONS:
+                               myname = mysplit[2]
+                               mytype = self.guessType(myname)
+                               if mytype == "AUX" and myname.startswith("files"+os.sep):
+                                       myname = myname[6:]
+                               if mytype == None:
+                                       continue
+                               mysize = int(mysplit[3])
+                               myhashes = {mysplit[0]: mysplit[1]}
+                       if len(mysplit) > 4 and mysplit[0] in portage_const.MANIFEST2_IDENTIFIERS:
+                               mytype = mysplit[0]
+                               myname = mysplit[1]
+                               mysize = int(mysplit[2])
+                               myhashes = dict(zip(mysplit[3::2], mysplit[4::2]))
+                       if len(myname) == 0:
+                               continue
+                       if not self.fhashdict[mytype].has_key(myname):
+                               self.fhashdict[mytype][myname] = {} 
+                       self.fhashdict[mytype][myname].update(myhashes)
+                       self.fhashdict[mytype][myname]["size"] = mysize
+       
+       def _writeDigests(self):
+               """ Create old style digest files for this Manifest instance """
+               cpvlist = [os.path.join(self.pkgdir.rstrip(os.sep).split(os.sep)[-2], x[:-7]) for x in portage.listdir(self.pkgdir) if x.endswith(".ebuild")]
+               rval = []
+               for cpv in cpvlist:
+                       dname = os.path.join(self.pkgdir, "files", "digest-"+portage.catsplit(cpv)[1])
+                       mylines = []
+                       distlist = self._getCpvDistfiles(cpv)
+                       for f in self.fhashdict["DIST"].keys():
+                               if f in distlist:
+                                       for h in self.fhashdict["DIST"][f].keys():
+                                               if h not in portage_const.MANIFEST1_HASH_FUNCTIONS:
+                                                       continue
+                                               myline = " ".join([h, str(self.fhashdict["DIST"][f][h]), f, str(self.fhashdict["DIST"][f]["size"])])
+                                               mylines.append(myline)
+                       fd = open(dname, "w")
+                       fd.write("\n".join(mylines))
+                       fd.write("\n")
+                       fd.close()
+                       rval.append(dname)
+               return rval
+       
+       def _addDigestsToManifest(self, digests, fd):
+               """ Add entries for old style digest files to Manifest file """
+               mylines = []
+               for dname in digests:
+                       myhashes = perform_multiple_checksums(dname, portage_const.MANIFEST1_HASH_FUNCTIONS+["size"])
+                       for h in myhashes.keys():
+                               mylines.append((" ".join([h, str(myhashes[h]), os.path.join("files", os.path.basename(dname)), str(myhashes["size"])])))
+               fd.write("\n".join(mylines))
+               fd.write("\n")
+       
+       def _write(self, fd):
+               """ Actual Manifest file generator """
+               mylines = []
+               for t in self.fhashdict.keys():
+                       for f in self.fhashdict[t].keys():
+                               myline = " ".join([t, f, str(self.fhashdict[t][f]["size"])])
+                               myhashes = self.fhashdict[t][f]
+                               for h in myhashes.keys():
+                                       if h not in portage_const.MANIFEST2_HASH_FUNCTIONS:
+                                               continue
+                                       myline += " "+h+" "+str(myhashes[h])
+                               mylines.append(myline)
+                               if self.compat and t != "DIST":
+                                       for h in myhashes.keys():
+                                               if h not in portage_const.MANIFEST1_HASH_FUNCTIONS:
+                                                       continue
+                                               mylines.append((" ".join([h, str(myhashes[h]), f, str(myhashes["size"])])))
+               fd.write("\n".join(mylines))
+               fd.write("\n")
+
+       def write(self, sign=False):
+               """ Write Manifest instance to disk, optionally signing it """
+               fd = open(self.getFullname(), "w")
+               self._write(fd)
+               if self.compat:
+                       digests = self._writeDigests()
+                       self._addDigestsToManifest(digests, fd)
+               fd.close()
+               if sign:
+                       self.sign()
+       
+       def sign(self):
+               """ Sign the Manifest """
+               raise NotImplementedError()
+       
+       def validateSignature(self):
+               """ Validate signature on Manifest """
+               raise NotImplementedError()
+       
+       def addFile(self, ftype, fname, hashdict=None):
+               """ Add entry to Manifest optionally using hashdict to avoid recalculation of hashes """
+               if not os.path.exists(self.pkgdir+fname):
+                       raise FileNotFound(fname)
+               if not ftype in portage_const.MANIFEST2_IDENTIFIERS:
+                       raise InvalidDataType(ftype)
+               self.fhashdict[ftype][fname] = {}
+               if hashdict != None:
+                       self.fhashdict[ftype][fname].update(hashdict)
+               if not portage_const.MANIFEST2_REQUIRED_HASH in self.fhashdict[ftype][fname].keys():
+                       self.updateFileHashes(ftype, fname)
+       
+       def removeFile(self, ftype, fname):
+               """ Remove given entry from Manifest """
+               del self.fhashdict[ftype][fname]
+       
+       def hasFile(self, ftype, fname):
+               """ Return wether the Manifest contains an entry for the given type,filename pair """
+               return (fname in self.fhashdict[ftype].keys())
+       
+       def findFile(self, fname):
+               """ Return entrytype of the given file if present in Manifest or None if not present """
+               for t in portage_const.MANIFEST2_IDENTIFIERS:
+                       if fname in self.fhashdict[t]:
+                               return t
+               return None
+       
+       def create(self, checkExisting=False, assumeDistfileHashes=True):
+               """ Recreate this Manifest from scratch, not using any existing checksums
+               (exception: if assumeDistfileHashes is true then existing DIST checksums are
+               reused if the file doesn't exist in DISTDIR."""
+               if checkExisting:
+                       self.checkAllHashes()
+               if assumeDistfileHashes:
+                       distfilehashes = self.fhashdict["DIST"]
+               else:
+                       distfilehashes = {}
+               self.__init__(self.pkgdir, self.db, self.mysettings, from_scratch=True)
+               for f in portage.listdir(self.pkgdir, filesonly=True, recursive=False):
+                       if f.endswith(".ebuild"):
+                               mytype = "EBUILD"
+                       elif manifest2MiscfileFilter(f):
+                               mytype = "MISC"
+                       else:
+                               continue
+                       self.fhashdict[mytype][f] = perform_multiple_checksums(self.pkgdir+f, self.hashes)
+               for f in portage.listdir(self.pkgdir+"files", filesonly=True, recursive=True):
+                       if not manifest2AuxfileFilter(f):
+                               continue
+                       self.fhashdict["AUX"][f] = perform_multiple_checksums(self.pkgdir+"files"+os.sep+f, self.hashes)
+               cpvlist = [os.path.join(self.pkgdir.rstrip(os.sep).split(os.sep)[-2], x[:-7]) for x in portage.listdir(self.pkgdir) if x.endswith(".ebuild")]
+               distlist = []
+               for cpv in cpvlist:
+                       distlist.extend(self._getCpvDistfiles(cpv))
+               for f in distlist:
+                       fname = os.path.join(self.distdir, f)
+                       if os.path.exists(fname):
+                               self.fhashdict["DIST"][f] = perform_multiple_checksums(fname, self.hashes)
+                       elif assumeDistfileHashes and f in distfilehashes.keys():
+                               self.fhashdict["DIST"][f] = distfilehashes[f]
+                       else:
+                               raise FileNotFound(fname)                       
+       
+       def _getAbsname(self, ftype, fname):
+               if ftype == "DIST":
+                       absname = os.path.join(self.distdir, fname)
+               elif ftype == "AUX":
+                       absname = os.path.join(self.pkgdir, "files", fname)
+               else:
+                       absname = os.path.join(self.pkgdir, fname)
+               return absname  
+       
+       def checkAllHashes(self, ignoreMissingFiles=False):
+               for t in portage_const.MANIFEST2_IDENTIFIERS:
+                       self.checkTypeHashes(t, ignoreMissingFiles=ignoreMissingFiles)
+       
+       def checkTypeHashes(self, idtype, ignoreMissingFiles=False):
+               for f in self.fhashdict[idtype].keys():
+                       self.checkFileHashes(idtype, f, ignoreMissing=ignoreMissingFiles)
+       
+       def checkFileHashes(self, ftype, fname, ignoreMissing=False):
+               myhashes = self.fhashdict[ftype][fname]
+               ok,reason = verify_all(self._getAbsname(ftype, fname), self.fhashdict[ftype][fname])
+               if not ok:
+                       raise DigestException(tuple([self._getAbsname(ftype, fname)]+list(reason)))
+               return ok, reason
+
+       def checkCpvHashes(self, cpv, checkDistfiles=True, onlyDistfiles=False, checkMiscfiles=False):
+               """ check the hashes for all files associated to the given cpv, include all
+               AUX files and optionally all MISC files. """
+               if not onlyDistfiles:
+                       self.checkTypeHashes("AUX", ignoreMissingFiles=False)
+                       if checkMiscfiles:
+                               self.checkTypeHashes("MISC", ignoreMissingFiles=False)
+                       ebuildname = portage.catsplit(cpv)[1]+".ebuild"
+                       self.checkFileHashes("EBUILD", ebuildname, ignoreMissing=False)
+               if checkDistfiles:
+                       if onlyDistfiles:
+                               for f in self._getCpvDistfiles(cpv):
+                                       self.checkFileHashes("DIST", f, ignoreMissing=False)
+       
+       def _getCpvDistfiles(self, cpv):
+               """ Get a list of all DIST files associated to the given cpv """
+               return self.db.getfetchlist(cpv, mysettings=self.mysettings, all=True)[1]
+       
+       def updateFileHashes(self, ftype, fname, checkExisting=True, ignoreMissing=True, reuseExisting=False):
+               """ Regenerate hashes for the given file """
+               if checkExisting:
+                       self.checkFileHashes(fname)
+               if not ignoreMissing and not self.fhashdict[ftype].has_key(fname):
+                       raise FileNotInManifestException(fname)
+               if not self.fhashdict[ftype].has_key(fname):
+                       self.fhashdict[ftype][fname] = {}
+               myhashkeys = list(self.hashes)
+               if reuseExisting:
+                       for k in [h for h in self.fhashdict[ftype][fname].keys() if h in myhashkeys]:
+                               myhashkeys.remove(k)
+               myhashes = perform_multiple_checksums(self._getAbsname(ftype, fname), myhashkeys)
+               self.fhashdict[ftype][fname].update(myhashes)
+       
+       def updateTypeHashes(self, idtype, checkExisting=False, ignoreMissingFiles=True):
+               """ Regenerate all hashes for all files of the given type """
+               for fname in self.fhashdict[idtype].keys():
+                       self.updateFileHashes(idtype, fname, checkExisting)
+       
+       def updateAllHashes(self, checkExisting=False, ignoreMissingFiles=True):
+               """ Regenerate all hashes for all files in this Manifest. """
+               for ftype in portage_const.MANIFEST2_IDENTIFIERS:
+                       self.updateTypeHashes(idtype, fname, checkExisting)
+
+       def updateCpvHashes(self, cpv, ignoreMissingFiles=True):
+               """ Regenerate all hashes associated to the given cpv (includes all AUX and MISC
+               files)."""
+               self.updateTypeHashes("AUX", ignoreMissingFiles=ignoreMissingFiles)
+               self.updateTypeHashes("MISC", ignoreMissingFiles=ignoreMissingFiles)
+               ebuildname = portage.catsplit(cpv)[1]+".ebuild"
+               self.updateFileHashes("EBUILD", ebuildname, ignoreMissingFiles=ignoreMissingFiles)
+               for f in self._getCpvDistfiles(cpv):
+                       self.updateFileHashes("DIST", f, ignoreMissingFiles=ignoreMissingFiles)
+
+       def getFileData(self, ftype, fname, key):
+               """ Return the value of a specific (type,filename,key) triple, mainly useful
+               to get the size for distfiles."""
+               return self.fhashdict[ftype][fname][key]
+
+       def getVersions(self):
+               """ Returns a list of manifest versions present in the manifest file. """
+               rVal = []
+               mfname = self.getFullname()
+               if not os.path.exists(mfname):
+                       return rVal
+               myfile = open(mfname, "r")
+               lines = myfile.readlines()
+               myfile.close()
+               for l in lines:
+                       mysplit = l.split()
+                       if len(mysplit) == 4 and mysplit[0] in portage_const.MANIFEST1_HASH_FUNCTIONS and not 1 in rVal:
+                               rVal.append(1)
+                       elif len(mysplit) > 4 and mysplit[0] in portage_const.MANIFEST2_IDENTIFIERS and ((len(mysplit) - 3) % 2) == 0 and not 2 in rVal:
+                               rVal.append(2)
+               return rVal