Merge changes from trunk rev 2368.
authorKito <kito@gentoo.org>
Wed, 14 Dec 2005 18:08:29 +0000 (18:08 -0000)
committerKito <kito@gentoo.org>
Wed, 14 Dec 2005 18:08:29 +0000 (18:08 -0000)
svn path=/main/branches/prefix/; revision=2369

25 files changed:
RELEASE-NOTES [new file with mode: 0644]
bin/dodoc
bin/ebuild.sh
bin/emaint
bin/emerge
bin/env-update.sh
bin/portageq
bin/repoman
cnf/make.conf
cnf/make.conf.alpha
cnf/make.conf.amd64
cnf/make.conf.arm
cnf/make.conf.hppa
cnf/make.conf.ia64
cnf/make.conf.mips
cnf/make.conf.ppc
cnf/make.conf.ppc64
cnf/make.conf.s390
cnf/make.conf.sparc
cnf/make.conf.x86
cnf/make.conf.x86-fbsd
pym/emergehelp.py
pym/portage.py
pym/portage_const.py
tarball.sh

diff --git a/RELEASE-NOTES b/RELEASE-NOTES
new file mode 100644 (file)
index 0000000..c153fd4
--- /dev/null
@@ -0,0 +1,42 @@
+Release Notes for portage-2.2_pre1
+==================================
+
+New features / Major changes
+----------------------------
+* elog framework: This finally adds a flexible way to log all einfo, ewarn and
+       eerror messages as well as adding a new elog command for ebuilds. New ebuilds
+       should use elog instead of einfo for delivering important information as 
+       einfo messages will not be logged by default. [genone]
+* elog modules: Together with the framework some basic modules implementing
+       common logging facilities are shipped, these include:
+       - mod_syslog for relaying messages to syslog
+       - mod_mail for sending messages to a predefined mail adress
+       - mod_save for saving messages to a file
+       - mod_custom for processing messages with a custom command
+       NOTE: The elog interfaces are still subject to change, so don't rely on the
+       exact format yet. [genone]
+* version syntax enhancements: The version parsing and comparison code was 
+       completely rewritten and now supports two extensions to previous versions:
+       - a cvs prefix to denote live cvs (or svn or any other vcs) ebuilds, so now
+               you can have a package foo with the ebuilds foo-1.ebuild and 
+               foo-cvs.1.ebuild in the same directory. cvs ebuilds will always be 
+               ranked higher than any non-cvs ebuild.
+       - multiple suffixes now allow for constructions like foo-1.0_pre1_rc5
+       Also the new code is now separated into its own module portage_versions.py
+       with no dependencies on the main portage module. [genone]
+* recursive config files: Most of the config files in /etc/portage can now
+       also be directories, if they are then portage will recursively use all
+       files in them. So you could have /etc/portage/package.keywords/kde/base
+       and /etc/portage/package.keywords/gnome instead of a single package.keywords.
+       This applies to the following files:
+       - package.keywords
+       - package.mask
+       - package.unmask
+       - package.use
+       - mirrors
+       [genone]
+
+Bug fixes / Minor Changes
+-------------------------
+* Removal of "masked by -*" message [genone]
+* Fixed some minor screwup in the sort algorithm for versions [genone]
index aefec427f53feb5476ef56dda6f6cb531b601ee9..b8134ed15a87959ea7c844d1c89e9d50e8dbf05d 100755 (executable)
--- a/bin/dodoc
+++ b/bin/dodoc
@@ -1,7 +1,6 @@
 #!@BASH@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/bin/dodoc,v 1.6.2.2 2005/05/15 11:04:21 jstubbs Exp $
 
 if [ $# -lt 1 ] ; then
        echo "$0: at least one argument needed" 1>&2
index 5d3775b6f5e4cd354305ea7c21d901033fd2165d..becb5b6db9bfe9f880b29e4fb0020885f94140e2 100755 (executable)
@@ -1129,6 +1129,7 @@ dyn_test() {
        trap SIGINT SIGQUIT
 }
 
+
 PORTAGE_INST_UID="0"
 PORTAGE_INST_GID="0"
 
index 9e0f324d9b662578088f55f79533e01464c65438..308e511f7189a2dbdc4bc56249895a14dbf0c3c0 100755 (executable)
@@ -66,6 +66,12 @@ def exclusive(option, unused1, unused2, unused3, var=None):
 
 
 usage = "usage: emaint [options] " + " | ".join(module_names)
+
+usage+= "\n\nCurrently emaint can only check and fix problems with one's world\n"
+usage+= "file.  Future versions will integrate other portage check-and-fix\n"
+usage+= "tools and provide a single interface to system health checks."
+
+
 parser = OptionParser(usage=usage)
 parser.add_option("-c", "--check", help="check for problems",
        action="callback", callback=exclusive, callback_kwargs={"var":"action"})
index f271123ddf4221fbfe2059c73216868d6b58d53c..295dbc9976492112be744a83fabe85ecbc443e10 100755 (executable)
@@ -296,7 +296,7 @@ for x in cmdline:
 if "moo" in myfiles:
        print """
 
-  Gentoo (""" + os.uname()[0] + """)
+  Larry loves Gentoo (""" + os.uname()[0] + """)
 
  _______________________
 < Have you mooed today? >
@@ -1467,6 +1467,28 @@ class depgraph:
 
                if "--verbose" in myopts:
                        overlays = string.split(portage.settings['PORTDIR_OVERLAY'])
+                       use_expand = portage.settings["USE_EXPAND"].lower().split()
+                       use_expand_hidden = portage.settings["USE_EXPAND_HIDDEN"].lower().split()
+
+                       def create_use_string(iuse, cur_use, old_use, masked_use):
+                               usestr=""
+                               for flag in iuse:
+                                       usechange=""
+                                       if old_use:
+                                               if (flag in old_use and flag not in cur_use) or (flag not in old_use and flag in cur_use):
+                                                       usechange="*"
+
+                                       if flag in cur_use:
+                                               if usechange == "*":
+                                                       substr = green("+"+flag)
+                                               else:
+                                                       substr = red("+"+flag)
+                                       elif flag in masked_use:
+                                               substr = blue("(-"+flag+")")
+                                       else:
+                                               substr = blue("-"+flag)
+                                       usestr += substr + usechange + " "
+                               return usestr
 
                if "--tree" in myopts:
                        mylist.reverse()
@@ -1569,8 +1591,13 @@ class depgraph:
                                                portage.writemsg("!!! Error getting IUSE (report this to bugs.gentoo.org)\n")
                                                portage.writemsg("!!! %s\n" % x)
                                                iuse_split = []
+
+                                       iuse_split = portage.unique_array(iuse_split)
                                        iuse_split.sort()
-                                       old_use=None
+
+                                       cur_use = self.applied_useflags[x[2]]
+
+                                       old_use = []
                                        if myoldbest:
                                                pkg=myoldbest
                                        else:
@@ -1582,24 +1609,40 @@ class depgraph:
                                                        raise # Needed else can't exit
                                                except:
                                                        pass
-                                       iuse=""
-                                       now_use=self.applied_useflags[x[2]]
-                                       for ebuild_iuse in portage_util.unique_array(iuse_split):
-                                               usechange=""
-                                               if old_use:
-                                                       if (old_use.count(ebuild_iuse) and not now_use.count(ebuild_iuse)) or (not old_use.count(ebuild_iuse) and now_use.count(ebuild_iuse)):
-                                                               usechange="*"
-
-                                               if ebuild_iuse in self.applied_useflags[x[2]]:
-                                                       if usechange == "*":
-                                                               iuse=green("+"+ebuild_iuse)
-                                                       else:
-                                                               iuse=red("+"+ebuild_iuse)
-                                               elif ebuild_iuse in portage.settings.usemask:
-                                                       iuse=blue("(-"+ebuild_iuse+")")
-                                               else:
-                                                       iuse=blue("-"+ebuild_iuse)
-                                               verboseadd+=iuse+usechange+" "
+
+                                       reg_use = []
+                                       exp_map = {}
+                                       for flag in iuse_split:
+                                               found = False
+                                               for var in use_expand:
+                                                       if flag.startswith(var+"_"):
+                                                               if var in exp_map:
+                                                                       exp_map[var]+= [flag[len(var)+1:]]
+                                                               else:
+                                                                       exp_map[var] = [flag[len(var)+1:]]
+                                                               found = True
+                                                               break
+                                               if not found:
+                                                       reg_use.append(flag)
+
+                                       usestr = create_use_string(reg_use, cur_use, old_use, portage.settings.usemask).strip()
+                                       if usestr:
+                                               verboseadd += 'USE="'+usestr+"'  "
+
+                                       for var in use_expand:
+                                               if var not in exp_map:
+                                                       continue
+                                               expcur = []
+                                               expold = []
+                                               expmask = []
+                                               for flag in exp_map[var]:
+                                                       if var+"_"+flag in cur_use:
+                                                               expcur+= [flag]
+                                                       if var+"_"+flag in old_use:
+                                                               expold+= [flag]
+                                                       if var+"_"+flag in portage.settings.usemask:
+                                                               expmask+= [flag]
+                                               verboseadd += var.upper()+'="'+create_use_string(exp_map[var],expcur,expold,expmask).strip()+'"  '
 
                                        # size verbose
                                        mysize=0
index 90e37000d33a2347db828c2046a42f99989850de..9f3c939cfd07371459283589337e1a188be12ee7 100755 (executable)
@@ -217,5 +217,3 @@ cat << EOF > ${CSHENV}
 
 $(set | grep '^my_envd_' | sed -e 's:^my_envd_\([[:alpha:]_][[:alnum:]_]*\)=:setenv \1 :')
 EOF
-
-[[ ${ROOT} == / ]] && ${PREFIX}/sbin/depscan.sh
index 82464a7db4628864abac455da228734179f861bb..a3125a13d479889c2e25557df7ca57b5105a1f82 100755 (executable)
@@ -149,42 +149,42 @@ def gentoo_mirrors(argv):
 
 def portdir(argv):
        """
-       Returns the PORTDIR path as defined in the portage configuration.
+       Returns the PORTDIR path.
        """
        print portage.settings["PORTDIR"]
 
 
 def config_protect(argv):
        """
-       Returns the CONFIG_PROTECT paths as defined in the portage configuration.
+       Returns the CONFIG_PROTECT paths.
        """
        print portage.settings["CONFIG_PROTECT"]
 
 
 def config_protect_mask(argv):
        """
-       Returns the CONFIG_PROTECT_MASK paths as defined in the portage configuration.
+       Returns the CONFIG_PROTECT_MASK paths.
        """
        print portage.settings["CONFIG_PROTECT_MASK"]
 
 
 def portdir_overlay(argv):
        """
-       Returns the PORTDIR_OVERLAY path as defined in the portage configuration.
+       Returns the PORTDIR_OVERLAY path.
        """
        print portage.settings["PORTDIR_OVERLAY"]
 
 
 def pkgdir(argv):
        """
-       Returns the PKGDIR path as defined in the portage configuration.
+       Returns the PKGDIR path.
        """
        print portage.settings["PKGDIR"]
 
 
 def distdir(argv):
        """
-       Returns the DISTDIR path as defined in the portage configuration.
+       Returns the DISTDIR path.
        """
        print portage.settings["DISTDIR"]
 
@@ -269,5 +269,4 @@ def main():
 
 main()
 
-
 #-----------------------------------------------------------------------------
index f64309691bd40b7e60d0869b0c27f9707ef6b324..7643b1597203b3db1aa8adcdbad9cf80be42fc82 100755 (executable)
@@ -160,7 +160,9 @@ qawarnings=[
 "file.size",
 "metadata.missing",
 "metadata.bad",
-"virtual.versioned"
+"virtual.versioned",
+"virtual.exists",
+"virtual.unavailable"
 ]
 
 missingvars=["KEYWORDS","LICENSE","DESCRIPTION","HOMEPAGE","SLOT"]
index 000cfdc8373c90f624d6cf71ab834a352cd9f0c6..211aa85a57932ea26b0bee73c1f4998381121ce0 100644 (file)
@@ -317,3 +317,43 @@ CHOST="i686-pc-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index d90a75fd36347af08560d2c3d2b63ceef4c0ed3e..b4d7a780a9bbd2c547605e9b8cca8c9aa8d7c3c6 100644 (file)
@@ -303,3 +303,43 @@ CFLAGS="-mcpu=ev5 -O3 -pipe "
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index cd73d793afa67e268cbcbd00acac8e95c5e78675..2b8cc72843ff56f4aadba87e0f0a0f53ed674421 100644 (file)
@@ -314,3 +314,43 @@ CHOST="x86_64-pc-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index 528e8e6cb783adb58595814189d8bccc21f098fb..ef4b0da1f3c228cb888b568462130a6b626ad4c9 100644 (file)
@@ -311,3 +311,43 @@ CHOST="armv4l-unknown-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index f935d13d2f18d4d0cde01be510407788defa245c..53807126a58d3b613097323bad5e139c32a313bd 100644 (file)
@@ -320,3 +320,43 @@ CHOST="hppa-unknown-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index 20a81f7c5204e18836d84aff01d10d6dc8075d9e..b3ef70ff26fc3b4aee160b407343336c2dcaabc8 100644 (file)
@@ -282,3 +282,43 @@ CHOST="ia64-unknown-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index e06cbd9ec766d904463d6034189ece2b46c564bb..e67d419c5b11f2c50822acf9b9c5424f8d9061aa 100644 (file)
@@ -300,3 +300,43 @@ CHOST="mips-unknown-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index 3cf2c73694a1eb44b51dadb3d2d7bb0ca2111c86..f173ed2c66c11e4c518590a5c3e22e21f1ed3906 100644 (file)
@@ -340,3 +340,43 @@ CHOST="powerpc-unknown-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index 54ac76cae9b57be7f02eb74755a67141428a5d7e..18d172bd82025b9752f0f2e9ed1b4dabda3a86ba 100644 (file)
@@ -318,3 +318,43 @@ CHOST="powerpc64-unknown-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index 6f5297d1d3f037fac38ed8bc34e633049409829d..c5bf313e0ea57441d0852ab181568da793d6b52c 100644 (file)
@@ -282,3 +282,43 @@ CHOST="s390-ibm-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index 48c5ddb43a6d07a7bd58c99ac719661f9185be0f..eed13cae4312ac4d52907cd92e53e94f92c341fb 100644 (file)
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index cd2da93dbe899e212c59e48a575c269242f38dd2..32b5de7199d48870aa3e9a6775b165d2511ff24d 100644 (file)
@@ -317,3 +317,43 @@ CHOST="i686-pc-linux-gnu"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index 98650bfaacfecf499b32ad18bc5807071cba6921..340bd2b61ae06c1118888db0a0b3eb8430250635 100644 (file)
@@ -308,3 +308,43 @@ CHOST="i686-unknown-freebsd5.3"
 #     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
+#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 adress and
+#                       the receiving mailserver should be sufficient, but you can
+#                       also use advanced settings like authentication or TLS. The
+#                       full syntax is:
+#                           adress [[user:passwd@]mailserver[:port]]
+#                       where
+#                           adress:     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 ;)
index ed88eac03aa8ea9b8046effb2d29be07267d9677..19b30a6c594e6a91ef18fbd7c33b89b365157f7b 100644 (file)
@@ -113,6 +113,11 @@ def help(myaction,myopts,havecolor=1):
                print "              your system. Specify arguments using the dependency specification"
                print "              format described in the "+bold("--clean")+" action above."
                print
+               print "       "+green("--config")
+               print "              Run package specific actions needed to  be  executed  after  the"
+               print "              emerge  process  has completed.  This usually entails configuration"
+               print "              file setup or other similar setups that the user  may  wish to run."
+               print
                print turquoise("Options:")
                print "       "+green("--ask")+" ("+green("-a")+" short option)"
                print "              before performing the merge, display what ebuilds and tbz2s will"
index 05e0939cc270dcbd5a3dcf6f934e911816b80b27..ec237f2c4904a3b22557fc794efac8ece1b957fb 100644 (file)
@@ -1455,7 +1455,7 @@ class config:
                                if self.has_key(var):
                                        for x in string.split(self[var]):
                                                mystr = string.lower(var)+"_"+x
-                                               if mystr not in usesplit:
+                                               if mystr not in usesplit and mystr not in self.usemask:
                                                        usesplit.append(mystr)
 
                # Pre-Pend ARCH variable to USE settings so '-*' in env doesn't kill arch.
index 0a031ba3a43eabab1fef0b1b6dedd2e827cf5d5b..7d6c28b992754af04c17bfffc5a73c5c4f332ef1 100644 (file)
@@ -45,7 +45,7 @@ INVALID_ENV_FILE        = "/etc/spork/is/not/valid/profile.env"
 CUSTOM_MIRRORS_FILE     = USER_CONFIG_PATH+"/mirrors"
 CONFIG_MEMORY_FILE      = PRIVATE_PATH + "/config"
 
-INCREMENTALS=["USE","USE_EXPAND","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"]
+INCREMENTALS=["USE","USE_EXPAND","USE_EXPAND_HIDDEN","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"]
 STICKIES=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EINSTALL","EXTRA_EMAKE"]
 EBUILD_PHASES                  = ["setup","unpack","compile","test","install","preinst","postinst","prerm","postrm"]
 DEFAULT_PATH = ":".join(map(lambda x: os.path.join(PREFIX, x), ["/sbin", "/usr/sbin/", "/bin", "/usr/bin"]))
index eb8e7ae15668bbd80f86528f8025b8097923b9d4..4cbacd25c412ce57ea070de332e886a311710d8e 100755 (executable)
@@ -9,7 +9,7 @@ if [ -z "$1" ]; then
        exit 0
 fi
 
-export PKG="portage"
+export PKG="portage-prefix"
 export TMP="/tmp"
 export V="$1"
 export DEST="${TMP}/${PKG}-${V}"
@@ -24,16 +24,7 @@ fi
 
 rm -rf ${DEST}
 install -d -m0755 ${DEST}
-#get any binaries out of the way
-cd src/sandbox-1.1
-make clean
-cd ../..
-for x in bin cnf man pym src 
-do
-       cp -ax $x ${DEST}
-done
-# Clean invalid sandbox sources
-rm -rf ${DEST}/src/{sandbox,sandbox-dev}
+cp -pPR . ${DEST}
 cp ${DEST}/pym/portage.py ${DEST}/pym/portage.py.orig
 sed '/^VERSION=/s/^.*$/VERSION="'${V}'"/' < ${DEST}/pym/portage.py.orig > ${DEST}/pym/portage.py
 cp ${DEST}/man/emerge.1 ${DEST}/man/emerge.1.orig
@@ -46,14 +37,16 @@ cp ChangeLog ${DEST}
 
 cd ${DEST}
 find -name CVS -exec rm -rf {} \;
-find -name '.svn' -exec rm -rf {} \;
+find -name '.svn' -type d -exec rm -rf {} \;
 find -name '*~' -exec rm -rf {} \;
 find -name '*.pyc' -exec rm -rf {} \;
 find -name '*.pyo' -exec rm -rf {} \;
-chown -R root:root ${DEST}
+chown -R root:0 ${DEST}
 cd $TMP
 rm -f ${PKG}-${V}/bin/emerge.py ${PKG}-${V}/bin/{pmake,sandbox} ${PKG}-${V}/{bin,pym}/'.#'* ${PKG}-${V}/{bin,pym}/*.{orig,diff} ${PKG}-${V}/{bin,pym}/*.py[oc]
-tar cjvf ${TMP}/${PKG}-${V}.tar.bz2 ${PKG}-${V}
-
+cd $TMP/${PKG}-${V}
+chmod a+x autogen.sh && ./autogen.sh
+rm -f AUTHORS NEWS autogen.sh make-man-tarball.sh tabcheck.py tarball.sh ChangeLog.000 COPYING
+tar cjvf ${TMP}/${PKG}-${V}.tar.bz2 ${TMP}/${PKG}-${V}
 #scp ${TMP}/${PKG}-${V}.tar.bz2 carpaski@twobit.net:/home/html/gentoo/portage/
 #scp ${TMP}/${PKG}-${V}.tar.bz2 carpaski@zarquon.twobit.net:/home/www/localhost/htdocs/gentoo/portage/