=============================================================================
2.1.2.7
2007-05-06
branches/2.1.2 revision 6495
=============================================================================


bin/ebuild.sh
  6481 zmedico  For bug #177211, use chmod -R on the children of the current
                directory in order to reduce the size of the argument list.
                (trunk r6479:6480


bin/emerge
  6483 zmedico  Use match_from_list in order to potentially avoid more
                blocks. (trunk r6481:6482)
  6493 zmedico  Use shlex for better splitting of PORTAGE_RSYNC_OPTS and
                PORTAGE_RSYNC_EXTRA_OPTS. (trunk r6491:6492)
  6495 zmedico  Prevent blockers that are only partially resolvable by merge
                order from accidentally being ignored. (trunk r6493:6494)


pym/portage.py
  6479 zmedico  For bug #175058, comment #15, expand all possible variables
                in each argument. (trunk r6477:6478)
  6488 zmedico  Use varexpand to expand FETCHCOMMAND and RESUMECOMMAND.
                (trunk r6486:6487)
  6491 zmedico  Use shlex for better splitting of FETCHCOMMAND. (trunk
                r6489:6490)


pym/portage_versions.py
  6486 zmedico  For bug #171259, fix vercmp so that implicit _p0 is less than
                explicit _p0. Thanks to TGL <degrenier@easyconnect.fr> for
                the patch. (trunk r6484:6485)


=============================================================================
2.1.2.6
2007-05-04
branches/2.1.2 revision 6476
=============================================================================


bin/emerge
  6445 zmedico  For bug #176305, validate the resume merge list before
                attempting to verify the ebuild manifests. (trunk r6443:6444)
  6447 zmedico  Fix up missing mymergelist variable from the previous commit.
                (trunk r6445:6446)
  6455 zmedico  For bug #176384, adjust config according to options of the
                command being resumed. (trunk r6453:6454)
  6474 zmedico  For bug #176765, when a new package is blocked by another one
                that is being replaced, handle another case where the
                conflict can be avoided. (trunk r6472:6473)


bin/isolated-functions.sh
pym/output.py
  6468 zmedico  Fix eend so that it works properly on a standard BSD console.
                Thanks to UberLord. (trunk r6466:6467)


cnf/make.globals
  6453 zmedico  For bug #175058, properly quote the variables in FETCHCOMMAND
                and RESUMECOMMAND since the command is spawned in a bash
                shell. (trunk r6451:6452)
  6457 zmedico  For bug #175058, avoid potential quoting issues by spawning
                FETCHCOMMAND without a shell. (trunk r6455:6456)


man/ebuild.1
  6476 zmedico  document the behavior of `ebuild` wrt FEATURES=noauto #175444
                (trunk r6470:6471)


man/make.conf.5
  6448 zmedico  In the installsources docs, note that CFLAGS needs to be set
                to include debug information. Thanks to tigger^ for
                reporting. (trunk r6441:6442)


pym/portage.py
  6457 zmedico  For bug #175058, avoid potential quoting issues by spawning
                FETCHCOMMAND without a shell. (trunk r6455:6456)


=============================================================================
2.1.2.5
2007-04-26
branches/2.1.2 revision 6441
=============================================================================


bin/ecompressdir
  6430 zmedico  Use portable sh syntax rather than bash syntax. Thanks to
                drizzt. (trunk r6428:6429)


bin/emerge
  6418 zmedico  For bug #175344, use cp_list instead of xmatch in order to
                avoid dep_expand calls. (trunk r6416:6417)
  6420 zmedico  For bug #175344, handle a potential InvalidDependString
                exception when parsing PROVIDE. (trunk r6418:6419)


bin/repoman
  6422 zmedico  For bug #175344, handle a potential InvalidDependString
                exception when parsing PROVIDE. (trunk r6420:6421)


pym/portage.py
  6424 zmedico  For bug #175344, validate LICENSE and PROVIDE inside
                doebuild(). (trunk r6422:6423)
  6426 zmedico  Also validate SRC_URI inside doebuild(). (trunk r6424:6425)
  6428 zmedico  Also validate RESTRICT inside doebuild(). (trunk r6426:6427)
  6433 zmedico  For bug #175781, add a higher preference priority for choices
                where all matching slots are installed (not just any slot).
                (trunk r6431:6432)
  6439 zmedico  For bug #176139, only symlink the distfiles that are required
                according the current USE settings. (trunk r6437:6438)
  6441 zmedico  Always ensure permissions in DISTCC_DIR in order to try to
                prevent potential permission problems for non-root users who
                are in the portage group (userpriv, etc.). (trunk r6439:6440)


=============================================================================
2.1.2.4
2007-04-15
branches/2.1.2 revision 6414
=============================================================================


bin/dohard
  6397 zmedico  create leading directories to match behavior of other do*
                programs (trunk r6393:6394 and r6395:6396)


bin/doins
  6404 zmedico  revise tests so that does not trigger an error (trunk
                r6400:6401)
  6405 zmedico  misc style fixes (trunk r6400:6401)


bin/ebuild.sh
bin/emerge-webrsync
bin/etc-update
bin/prepall
bin/prepstrip
bin/sed
  6414 zmedico  convert `type -p` to `type -P` as noted by grobian (trunk
                r6410:6411)


bin/ecompressdir
  6389 zmedico  Use relative paths inside ecompressdir in order to avoid
                'Argument list too long' errors with large file sets
                (observed when installing sys-apps/man-pages). (trunk
                r6387:6388)


bin/emerge
  6340 zmedico  Punt the sorted_versions() function in favor of
                list.sort(vercmp). (trunk r6338:6339)


bin/misc-functions.sh
  6393 zmedico  simplify unsafe file checking so files/paths with spaces dont
                cause troubles (trunk r6391:6392)
  6414 zmedico  convert `type -p` to `type -P` as noted by grobian (trunk
                r6410:6411)


bin/prepman
  6363 zmedico  For bug #173808, compress ${mandir} all in one go instead of
                doing subdirectories separately. This allows symlinks that
                point into sibling directories to get updated properly by
                ecompressdir. (trunk r6361:6362)
  6372 zmedico  For bug #173808, add back the old heuristics to make sure
                that we don't just blindly compress the contents of any
                directory named "man".


man/ebuild.5
  6373 zmedico  remove references to DOCDESTTREE and INSDESTTREE (trunk
                r6345:6346)
  6376 zmedico  remove references to EXEDESTTREE (trunk r6349:6350)
  6382 zmedico  cleanup example ebuild to be more representative of a good
                ebuild #174260 by Timothy Redaelli (trunk r6378:6379)
  6398 zmedico  document new version suffix style #166522 (trunk r6394:6395)


man/emerge.1
  6374 zmedico  tell people that the FILES section is not supposed to be
                complete (and sneak in a few style fixups) (trunk r6347:6348)


man/portage.5
  6375 zmedico  document /var/cache/edb/, /var/db/pkg/, and
                /var/lib/portage/config (trunk r6348:6349)


pym/portage.py
  6326 zmedico  Fix missing import. (trunk r6324:6325)
  6355 zmedico  Only apply permissions to ccache, confcache, and distcc dirs
                when they are created in order to avoid interference with
                whatever the user's preferred permissions are. Thanks to
                Diego Petten?\195?\178 <flameeyes@gmail.com> for reporting.
                (trunk r6353:6354)
  6359 zmedico  Don't load FEATURES in load_infodir() because FEATURES from
                the build host shouldn't be interpreted asFEATURES on the
                client system. Thanks to Thanks to Chri
  6361 zmedico  Efficiently recycle partial valid vdb cache when possible.
                This reduces disk load when switching between versions of
                portage that cache different keys. (trunk r6359:6360)
  6385 zmedico  Use catpkgsplit instead of pkgsplit for consistency with
                usage elsewhere. (trunk r6383:6384)
  6387 zmedico  Add CATEGORY to blacklisted variables since it can interfere
                with CATEGORY guessing inside doebuild. (trunk r6385:6386)


pym/portage_checksum.py
  6333 zmedico  For bug #173184, handle the CommandNotFound that is produced
                during uninstallation of prelink. (trunk r6331:6332)


=============================================================================
2.1.2.3
2007-03-29
branches/2.1.2 revision 6322
=============================================================================


bin/doman
  6272 zmedico  For bug #172033, remove the obsolete QA Notice for man pages
                that are already compressed. (trunk r6270:6271)


bin/ebuild.sh
  6213 zmedico  For bug #163262 and conformance with section 7.2 of the PMS,
                make the export attribute of variables persist between ebuild
                phases. (trunk r6211:6212)
  6298 zmedico  source ${T}/environment before the definition of qa_source()
                and qa_call() so that the call stack shows the original files
                and line numbers instead of those from ${T}/environment.
                Thanks to Markus Ullmann <jokey@gentoo.org> for reporting.
                (trunk r6296:6297)
  6300 zmedico  Filter the readonly attribute from variables saved in
                ${T}/environment to prevent 'readonly variable' error
                messages in later phases. (trunk r6298:6299)
  6302 zmedico  Properly anchor sed regexp for readlonly attribut filtering.
                (trunk r6300:6301)


bin/ecompress
  6294 zmedico  send stdout to /dev/null since we rely on the output of
                stdout here to determine the proper suffix #171212 (trunk
                r6228:6229)
  6295 zmedico  drop the need for the force flag by default and just delete
                the existing files automatically #171007 (trunk r6218:6219)


bin/ecompressdir
  6296 zmedico  forcibly break all hard links so we dont need to rely on
                --force in compressor (trunk r6220:6221)
  6310 zmedico  For bug #172539, fix ecompressdir suffix handling so that
                automatic decompression of Z, gz, and bz2 suffixes works
                properly. (trunk r6308:6309)


bin/emerge
  6274 zmedico  Allow the merge task to continue despite conflicts when
                --fetch-all-uri is specified. (trunk r6272:6273)
  6276 zmedico  return from the merge task instead of calling sys.exit
                directly. (trunk r6274:6275)
  6278 zmedico  Verify all ebuild manifests before building anything now so
                that the user is notified of failure as soon as possible.
                (trunk r6276:6277)
  6284 zmedico  Verify the Manifest first even if there's only one package
                (prior to the fetch phase). (trunk r6282:6283)
  6306 zmedico  Convert "ebuild" and "binary" "nomerge" nodes into
                "installed" nodes for greater consistency in the depgraph.
                (trunk r6304:6305)
  6308 zmedico  Correctly pull the metadata again when the node is converted.
                (trunk r6306:6307)
  6322 zmedico  For bug #172571, use socket.AF_INET as the default family for
                socket.getaddrinfo(). (trunk r6320:6321)


bin/emerge-webrsync
bin/etc-update
pym/portage_locks.py
  6293 zmedico  For bug #170178, remove all hardcoded references to
                '/usr/lib/portage'. (trunk r6202:6203)


bin/prepinfo
  6206 zmedico  Make prepinfo remove installed info indexes recursively.
                Thanks to Christian Faulhammer <opfer@gentoo.org> for
                reporting (see bugs #162675 and #170133). (trunk r6204:6205)


man/make.conf.5
  6304 zmedico  Synchronize PORTAGE_COMPRESS_FLAGS to reflect that -9 is the
                default now. (trunk r6302:6303)


pym/cache/flat_hash.py
  6266 zmedico  Ignore non-existent directories for bug #171809. This is
                required for readonly mode. (trunk r6264:6265)


pym/portage.py
  6214 zmedico  Automatically convert ROOT and PORTAGE_CONFIGROOT to absolute
                paths when necessary since relative paths lead to problems.
                (trunk r6209:6211)
  6216 zmedico  For bug #171117, ensure that the new and old config have
                different timestamps (for the benefit of programs like rsync
                that need distiguishable timestamps to detect file changes).
                Thanks to Ben Bennett <sink@limey.net> for reporting. (trunk
                r6214:6215)
  6218 zmedico  Fix a utime call to prevent a timestamp collision for bug
                #171117. (trunk r6216:6217)
  6268 zmedico  For bug #171840, consider all choices for slot intersection
                and promote those that have upgrades relative to other
                choices. (trunk r6266:6267)
  6270 zmedico  Clean up and simplify preference selection logic for bug
                #171840. (trunk r6268:6269)
  6293 zmedico  For bug #170178, remove all hardcoded references to
                '/usr/lib/portage'. (trunk r6202:6203)


=============================================================================
2.1.2.2
2007-03-07
branches/2.1.2 revision 6187
=============================================================================


bin/ecompress
bin/ecompressdir
  6177 zmedico  allow people to disable compression by setting the
                PORTAGE_COMPRESS variables to "" (trunk r6173:6174)


bin/emerge
  6170 zmedico  Display blockers at the end of the list so that it will more
                often be easy for the user to see them in a terminal. Thanks
                to iapitus and hydrogen for the suggestion. (trunk
                r6168:6169)
  6176 zmedico  Avoid pointless population of the binary tree when --buildpkg
                is enabled. Thanks to vapier for reporting. (trunk
                r6174:6175)
  6187 zmedico  For bug #169620, in --tree display always show the dowload
                size on the node that is "ordered" rather than one of it's
                "nomerge" counterparts. (trunk r6185:6186)


=============================================================================
2.1.2.1
2007-03-03
branches/2.1.2 revision 6167
=============================================================================


bin/emerge
  6159 zmedico  Only prune duplicate consecutive nodes if they both have
                depth == 0. (trunk r6157:6158)
  6161 zmedico  For bug #169187, make --depclean prune unneeded slots such
                that it is consistent with the world update algorithm. (trunk
                r6159:6160)
  6163 zmedico  Add a note about --with-bdeps in the --depclean failure
                message. (trunk r6161:6162)
  6165 zmedico  Fix the minimum index for pruning consecutive duplicate
                nodes. (trunk r6163:6164)


pym/portage.py
  6167 zmedico  Remove the KVERS environment variable since it's code that
                creates it is broken anyway (only sets KVERS="." in the
                general case). (trunk r6165:6166)


pym/portage_locks.py
  6157 zmedico  Pass waiting_msg into recursive lockfile() calls. (trunk
                r6155:6156)


=============================================================================
2.1.2-r14
2007-03-03
branches/2.1.2 revision 6149
=============================================================================


bin/emerge
  6134 zmedico  When emerge automatically resumes, add --ignore-default-opts
                to the command line in order to prevent things like --ask
                from leaking in via EMERGE_DEFAULT_OPTS. Thanks to Peter
                Weller <welp@gentoo.org> for reporting. (trunk r6132:6133)
  6136 zmedico  For bug #169046, fill in the --tree display with "nomerge"
                nodes so that the user can always see at lease 1 parent on
                any non-root node. Packages may appear in the display list
                multiple times, and will be marked "nomerge" when their
                position in the list does not correspond to actual merge
                order. (trunk r6134:6135)
  6142 zmedico  s/node/selected_parent/ for clarity (trunk r6140:6141)
  6149 zmedico  Make sure that excess "nomerge" nodes are pruned correctly.
                (trunk r6147:6148)


man/emerge.1
  6139 zmedico  update --help example to match current behavior #168678 by
                Arthur Hagen (trunk r6099:6100)


pym/portage.py
  6140 zmedico  Fix types.InstanceType test which is failing now for some
                reason. (trunk r6136:6137)
  6144 zmedico  For bug #138840, show a more informative message when waiting
                for a distfiles lock due to parallel-fetch. Thanks to David
                Watzke <david@watzke.cz> for the initial patch. (trunk
                r6142:6143)


pym/portage_data.py
  6147 zmedico  Add missing sys import. (trunk r6145:6146)


pym/portage_locks.py
  6144 zmedico  For bug #138840, show a more informative message when waiting
                for a distfiles lock due to parallel-fetch. Thanks to David
                Watzke <david@watzke.cz> for the initial patch. (trunk
                r6142:6143)


=============================================================================
2.1.2-r13
2007-03-01
branches/2.1.2 revision 6130
=============================================================================


bin/emerge
  6105 zmedico  For bug #168646, don't bail out immediately when rsync
                detects protocol incompatibility (code 2) during fetching of
                the timestamp file. Retry for a better server (up to
                PORTAGE_RSYNC_RETRIES). (trunk r6103:6104)
  6110 zmedico  Use an alarm signal to implement a timeout when rsync is
                fetching the server timestamp file, since rsync's --timeout
                option doesn't apply to the initial connection attempt.
                (trunk r6108:6109)
  6112 zmedico  Make sure pids are appropriately removed from
                portage_exec.spawned_pids. (trunk r6110:6111)
  6114 zmedico  Merge --quiet fixes from trunk r6112:6113
  6118 zmedico  For consistency, remove exit code 2 (protocol
                incompatibility) from the other list of rsync exit codes.
                (trunk r6116:6117)
  6120 zmedico  Fix broken except statement syntax. (trunk r6118:6119)
  6122 zmedico  Fix the rest of the broken except statement syntax. (trunk
                r6120:6121)
  6124 zmedico  Fix broken rsync exitcode shift. (trunk r6122:6123)
  6126 zmedico  Remove unnecessary print statement reported by solar. (trunk
                r6124:6125)
  6128 zmedico  Even if there's no timestamp available locally, fetch the
                timestamp anyway as an initial probe to verify that the
                server is responsive. This protects us from hanging
                indefinitely on a connection attempt to an unresponsive
                server which rsync's --timeout option does not prevent.
                (trunk r6126:6127)
  6130 zmedico  For bug #168646, remove --prune-empty-dirs from
                PORTAGE_RSYNC_OPTS since it's only a small optimization and
                it's inconvenient to force >=rsync-2.6.4 on server admins at
                this time. If users desire, they can still add it to
                PORTAGE_RSYNC_EXTRA_OPTS. (trunk r6128:6129)


bin/etc-update
  6116 zmedico  Add compatibility code to avoid the GNU specific --reference
                option of chmod. Thanks to Timothy Redaelli
                <drizzt@gentoo.org>. (trunk r6114:6115)


cnf/make.globals
  6130 zmedico  For bug #168646, remove --prune-empty-dirs from
                PORTAGE_RSYNC_OPTS since it's only a small optimization and
                it's inconvenient to force >=rsync-2.6.4 on server admins at
                this time. If users desire, they can still add it to
                PORTAGE_RSYNC_EXTRA_OPTS. (trunk r6128:6129)


pym/cache/fs_template.py
  6122 zmedico  Fix the rest of the broken except statement syntax. (trunk
                r6120:6121)


pym/portage.py
  6103 zmedico  For bug #168823, fix broken except statement syntax that
                prevents the ValueError from being caught as intended. (trunk
                r6101:6102)


=============================================================================
2.1.2-r12
2007-02-26
branches/2.1.2 revision 6089
=============================================================================


bin/ecompress
man/make.conf.5
  6089 zmedico  For bug #168267, use add --force to the default
                PORTAGE_COMPRESS_FLAGS so that hardlinks are automatically
                broken. (trunk r6087:6088)


bin/ecompressdir
  6087 zmedico  For compatibility with older findutils, don't use the -L
                predicate (bug #168432). (trunk r6085:6086)


bin/emerge
cnf/make.globals
  6071 zmedico  For bug #167668, prune empty ${FILESDIR}s by adding
                --prune-empty-dirs to PORTAGE_RSYNC_OPTS. Thanks to Ulrich
                Mueller <ulm@kph.uni-mainz.de> for the suggestion. (trunk
                r6069:6070)


pym/portage.py
  6069 zmedico  Clean up os.environ["USERLAND"] pollution from the
                portage_data module so that it doesn't interfere with
                repoman. (trunk r6067:6068)


=============================================================================
2.1.2-r11
2007-02-23
branches/2.1.2 revision 6067
=============================================================================


bin/emerge
  6018 zmedico  As requested by vapier, don't show the merge list in --quiet
                mode unless it's explicitly requested via --ask or --pretend.
                (trunk r6016:6017)
  6049 zmedico  For bug #167668, use an rsync "hide" filter rule to exclude
                **/files/digest-* and delete them on the receiver. (trunk
                r6046:6047)
  6050 zmedico  Remove quotes since rsync doesn't accept them (and there is
                no shell to remove them since we use spawn() for rsync now).
                (trunk r6047:6048)
  6052 zmedico  spawn rsync without a shell. (trunk r6050:6051)
  6059 zmedico  Do not show the spinner and the "Calculating dependencies"
                message for installation actions when the --nodeps option has
                been specified. Thanks to David Watzke <david@watzke.cz> for
                this patch from bug #168169. (trunk r6057:6058)
  6063 zmedico  As requested by solar, never show a merge list unless it's
                explicitly requested by --ask, --pretend, or --tree.
  6065 zmedico  As requested by solar, never show a merge list unless it's
                explicitly requested by --ask, --pretend, or --tree. (trunk
                r6064)
  6067 zmedico  Allow --verbose to trigger a merge list even without
                --pretend, --ask, or --tree. Thanks to agaffney and zlin for
                the suggestion. (trunk r6065:6066)


bin/prepstrip
  6061 zmedico  Filter paths matching '/<built-in>$' that come from
                debugedit. Thanks to Ed Catmur for this patch from bug
                #165342.


bin/repoman
  6025 zmedico  s/x/xs/ to fix a typo in a variable name. (trunk r6022:6023)
  6026 zmedico  For consistency, replace multiple os.getcwd() calls with the
                "mydir" variable. (trunk r6023:6024)
  6028 zmedico  Fix stardir and repodir logic from the previous commit.
                (trunk r6026:6027)
  6030 zmedico  Avoid a TypeError when commitmessagefile is None. (trunk
                r6028:6029)
  6032 zmedico  Use startdir instead of mydir since mydir has a trailing
                slash which triggers normalization issues with the dirname
                function. (trunk r6030:6031)
  6034 zmedico  Fix more broken commitmessagefile handling. (trunk
                r6032:6033)
  6037 zmedico  Fix broken file list handling for FEATUES=sign when only the
                Manifest has changed. Add some sanity checks for file list
                handling when repolevel < 3. (trunk r6034:6036)
  6044 zmedico  For bug #167667, add support for
                ${PORTDIR}/manifest1_obsolete and automatically remove
                ${FILESDIR}/digest-* from cvs when appropriate. (trunk
                r6041:6042)


cnf/make.globals
  6049 zmedico  For bug #167668, use an rsync "hide" filter rule to exclude
                **/files/digest-* and delete them on the receiver. (trunk
                r6046:6047)


pym/portage.py
  6020 zmedico  For bug #167795, try avoid the population routine when
                possible, so that FEATURES=buildpkg doesn't always force
                population. (trunk r6018:6019)
  6040 zmedico  Make sure that ${A} in initialized in case pkg_nofetch()
                needs to be called. Thanks to Peper for reporting. (trunk
                r6038:6039)
  6043 zmedico  For bug #167667, use the existence of
                ${PORTDIR}/manifest1_obsolete to trigger the disabling of
                manifest1/digest file generation. This toggle is repo/overlay
                specific, allowing a specific overlay to drop manifest1 by
                adding the manifest1_obsolete file. (trunk r6040:6041)
  6057 zmedico  Make verify_all() return an "insufficient data" error if
                there is not at least one supported hash type. Make fetch()
                bail out when this error occurs. (trunk r6054:6056)


pym/portage_checksum.py
  6057 zmedico  Make verify_all() return an "insufficient data" error if
                there is not at least one supported hash type. Make fetch()
                bail out when this error occurs. (trunk r6054:6056)


pym/portage_exec.py
  6022 zmedico  Raise a CommandNotFound exception when necessary, to ease
                troubleshooting. Thanks to marienz for reporting. (trunk
                r6020:6021)


pym/portage_manifest.py
  6043 zmedico  For bug #167667, use the existence of
                ${PORTDIR}/manifest1_obsolete to trigger the disabling of
                manifest1/digest file generation. This toggle is repo/overlay
                specific, allowing a specific overlay to drop manifest1 by
                adding the manifest1_obsolete file. (trunk r6040:6041)
  6046 zmedico  Don't bother to parse ${FILESDIR}/digest-* when
                manifest1_compat is disabled. (trunk r6044:6045)


=============================================================================
2.1.2-r10
2007-02-19
branches/2.1.2 revision 6016
=============================================================================


bin/archive-conf
bin/chkcontents
bin/clean_locks
bin/dispatch-conf
bin/ebuild
bin/env-update
bin/fix-db.py
bin/fixpackages
bin/md5check.py
bin/pkgname
bin/portageq
bin/regenworld
bin/repoman
bin/xpak
  6016 zmedico  For bug #167217, don't hardcode /usr/lib/portage. (trunk
                r5945)


bin/ebuild.sh
  6003 zmedico  When calling tar, always exclud . in order to preserver
                PORTAGE_WORKDIR_MODE. Thanks to Brian Harring in bug #167544.
                (trunk r6001:6002)
  6005 zmedico  Don't exclude . since that excludes the entire contents of
                some tar files. (trunk r6003:6004)


bin/emaint
  5987 zmedico  For bug #166785, check for invalid categories in the world
                file. (trunk r5985:5986)
  6016 zmedico  For bug #167217, don't hardcode /usr/lib/portage. (trunk
                r5945)


bin/emerge
  5957 zmedico  In the event of a circular dependency panic, eliminate root
                nodes in order to reduce the noise level to a minimum. (trunk
                r5956)
  5966 zmedico  For bug #158100, use an exact reversal of the actual merge
                order for --tree output. It's more efficient than doing 2
                order calculations. (trunk r5965)
  5968 zmedico  Optimize merge order calculation for --tree output when
                necessary. (trunk r5967)
  5985 zmedico  For bug #166939, make --nodeps work like a normal package for
                new-style virtuals. (trunk r5981:5982 and r5983:5984)
  5997 zmedico  For bug #167450, optimize merge order by delaying the merge
                of root nodes. (trunk r5995:5996)
  5999 zmedico  For bug #166880, always display the merge list (allowing
                --tree to be obeyed in any case). (trunk r5997:5998)
  6001 zmedico  For bug #166880, always display the merge list header. (trunk
                r5999:6000)
  6007 zmedico  For bug #166564, make a circular dependency panic more user
                friendly by displaying the USE flags that are enabled on
                nodes that are part of dependency cycles and display a note
                hinting that circular dependencies can often be avoided by
                temporarily disabling USE flags. (trunk r6005:6006)
  6009 zmedico  Automatically enable --tree mode when displaying nodes with
                circular deps. (trunk r6007:6008)
  6011 zmedico  For bug #167450, optimize leaf node selection by ordering
                nodes from highest to lowest overall reference count. (trunk
                r6009:6010)
  6013 zmedico  Make digraph._merge_order_bias() operate on a single digraph
                that's passed in. (trunk r6011:6012)
  6015 zmedico  Optimize order for --tree display of circular dependencies.
                (trunk r6013:6014)
  6016 zmedico  For bug #167217, don't hardcode /usr/lib/portage. (trunk
                r5945)


bin/etc-update
  5971 zmedico  Fix CONFIG_PROTECT_MASK support. Thanks to piavlo
                <piavka@cs.bgu.ac.il> for this patch from bug #166837. (trunk
                r5968:5970)


pym/output.py
  5958 zmedico  Make xterm titles work even when color is disabled. Thanks to
                Joachim Kaeber <joachim.kaeber@web.de> in bug #166255. (trunk
                r5949:5950)


pym/portage.py
  5972 zmedico  Detect potential issues with mtime granlarity in env_update()
                and sleep if necessary. Thanks to Brian Harring for
                reporting. (trunk r5960:5961)
  5989 zmedico  For bug #163990, warn about ebuilds with invalid categories
                and do not allow them to be installed. (trunk r5987:5988)
  5991 zmedico  For bug #163990, warn about binary packages with invalid
                categories and do not allow them to be installed. (trunk
                r5989:5990)


=============================================================================
2.1.2-r9
2007-02-07
branches/2.1.2 revision 5929
=============================================================================


bin/dispatch-conf
  5915 zmedico  For bug #165780, make config-protect code consistently ignore
                '.*~' and '.*.bak'. (trunk r5914)


bin/ebuild
pym/portage_dep.py
  5911 zmedico  For backward compatibility with api consumers,
                _dep_check_strict behavior will be explicitly enabled as
                necessary. Thanks to Brian <dol-sen@telus.net> for reporting
                issues with porthole and equery. (trunk r5907)


bin/ebuild.sh
  5913 zmedico  Only echo PORTAGE_LOG_FILE if it's actually set (may not be
                if sesandbox is enabled). (trunk r5912)


bin/emerge
  5909 zmedico  For bug #165783, handle an InvalidDependString exception
                triggered by an invalid SRC_URI. (trunk r5908)
  5911 zmedico  For backward compatibility with api consumers,
                _dep_check_strict behavior will be explicitly enabled as
                necessary. Thanks to Brian <dol-sen@telus.net> for reporting
                issues with porthole and equery. (trunk r5907)
  5915 zmedico  For bug #165780, make config-protect code consistently ignore
                '.*~' and '.*.bak'. (trunk r5914)


bin/repoman
  5919 zmedico  Enable strict dep checking for repoman. (trunk r5918)
  5923 zmedico  For bug #165783, handle a potential InvalidDependString
                exception in repoman and report a SRC_URI.syntax failure.
                (trunk r5922)
  5929 zmedico  Make the "lfull" output more succinct by omitting categories
                for which there are no violations. (trunk r5928)


pym/portage.py
  5917 zmedico  For bug #165783, handle a potential InvalidDependString
                exception inside digestgen(). (trunk r5916)
  5921 zmedico  For bug #165783, handle a potential InvalidDependString
                exception inside doebuild(). (trunk r5920)
  5925 zmedico  Synchronize required hash code in all relevant places. (trunk
                r5924)


pym/portage_const.py
pym/portage_manifest.py
  5925 zmedico  Synchronize required hash code in all relevant places. (trunk
                r5924)


tests/portage_dep/test_isvalidatom.py
  5927 zmedico  Turn on strict dep checking to fix the isvalidatom test
                (trunk r5926).


=============================================================================
2.1.2-r8
2007-02-05
branches/2.1.2 revision 5901
=============================================================================


bin/emerge
  5898 zmedico  For bug #165382, show a helpful message if an exception is
                raised from cpv_expand(). (trunk r5897)


bin/repoman
  5900 zmedico  For bug #165349, use the portage_versions regex (via
                pkgsplit) instead of the incompatible ones that repoman
                currently uses. (trunk r5887:5888)


man/emerge.1
  5899 zmedico  Document --config-root for bug #165334. (trunk r5888:5889)


pym/portage.py
  5896 zmedico  For bug #165382, don't raise a ValueError in cpv_expand() if
                there are only two matches and one of them is a virtual.
                Prefer the non-virtual instead. (trunk r5889:5891)
  5901 zmedico  Ensure that the code for bug #165382 only affects name
                collisions with virtuals. (trunk r5890:5891)


=============================================================================
2.1.2-r7
2007-02-03
branches/2.1.2 revision 5884
=============================================================================


bin/ebuild.sh
  5882 zmedico  For bug #165034, make sure that symlinks are excluded from
                chmod calls. (trunk r5876:5879)


man/make.conf.5
  5884 zmedico  add warning about storing data in PORTDIR (trunk r5865:5866)


pym/cache/util.py
  5881 zmedico  In order to correctly handl the case of target caches that
                don't have complete eclass entries, validate the set of
                interited eclasses to make sure it is correct (since
                timestamp validation is not applicable). (trunk r5880)


pym/portage.py
  5883 zmedico  For bug #165065, use the proper RESTRICT setting when
                fetching files in digestgen(). (trunk r5874:5875)


=============================================================================
2.1.2-r6
2007-02-01
branches/2.1.2 revision 5869
=============================================================================


bin/ebuild.sh
  5843 zmedico  For bug #164617, don't change permissions on ${WORKDIR} with
                unpack(). (trunk r5842)
  5846 zmedico  Use find + xargs to avoid a potential 'Argument list too
                long' from bash. (trunk r5844:5845)


bin/emerge
  5844 zmedico  For bug #164363, shuffle the ip addresses returned from
                socket.getaddrinfo(). (trunk r5832:5833)
  5860 zmedico  Fix --newuse so that it works correctly with --usepkg. (trunk
                r5859)
  5867 zmedico  Rename dir.bz2 since that's the most likely case now. (trunk
                r5864:5865)
  5868 zmedico  Load the most current variables from /etc/profile.env for
                post_emerge stuff. (trunk 5857:5858)


bin/emerge-webrsync
  5841 zmedico  For bug #164532, don't rely on ${USERLAND} since the portage
                tree might be empty. (trunk r5840)


pym/portage.py
  5869 zmedico  Don't use os.path.isdir() because it can swallow errors
                related to filesystem/disk corruption. (trunk r5851:5852)


=============================================================================
2.1.2-r5
2007-01-28
branches/2.1.2 revision 5830
=============================================================================


bin/check-implicit-pointer-usage.py
  5823 zmedico  translate unicode quotes to ascii ones so we can keep our
                regex simple (trunk r5795:5796 and r5803:5804)


bin/ecompressdir
  5826 zmedico  add support for transparently decompressing gz/Z/bz2 files
                since some upstream packages will compress for us (trunk
                r5824:5825)


bin/emerge
  5824 zmedico  Remove a stray print statement. Thanks to Rick Warner in bug
                #125261. (trunk r5798:5799)
  5828 zmedico  For bug #164078, don't trigger the CLEAN_DELAY countdown for
                autoclean operations since those are most likely unattended.
                Thanks to Dan <hydrogen@notyetimplemented.com> for the
                initial patch. (trunk r5827)
  5830 zmedico  Ignore EEXIST from rmdir since some kernels (such as solaris)
                return that instead of ENOTEMPTY. (trunk r5798)


bin/env-update
  5829 zmedico  Catch EACCESS when running env-update, orignal patch by
                <phajdan.jr@gmail.com> (bug #106061) (trunk r5802:5803 and
                r5813:5814)


bin/repoman
  5822 zmedico  Can't delete variable that doesn't exist anymore (bug
                #164280) (trunk r5816:5817 and r5820:5821)


pym/portage.py
  5830 zmedico  Ignore EEXIST from rmdir since some kernels (such as solaris)
                return that instead of ENOTEMPTY. (trunk r5798)


=============================================================================
2.1.2-r4
2007-01-24
branches/2.1.2 revision 5771
=============================================================================


bin/repoman
  5771 zmedico  demote KEYWORDS.missing to a warning to make KEYWORDS=''
                valid (trunk r5767:5768)


pym/portage.py
  5770 zmedico  Fix broken line number counting for CONTENTS. (trunk
                r5764:5765)


=============================================================================
2.1.2-r3
2007-01-23
branches/2.1.2 revision 5764
=============================================================================


NEWS
man/portage.5
  5762 zmedico  Add new ** for package.keywords token to bypass keyword
                visibility layer (trunk r5758:5760)


pym/portage.py
  5761 zmedico  For bug #163219, handle binpkgs that have missing PF
                metadata. (trunk r5756:5757)
  5762 zmedico  Add new ** for package.keywords token to bypass keyword
                visibility layer (trunk r5758:5760)
  5764 zmedico  For bug #142279, detect and warn about null bytes in
                CONTENTS. (trunk r5762:5763)


=============================================================================
2.1.2-r2
2007-01-21
branches/2.1.2 revision 5750
=============================================================================


bin/ecompressdir
  5740 zmedico  Use XARGS for portable xargs handling when find doesn't find
                any files.


bin/emerge
  5738 zmedico  For bug #161356, fix error handling for currupt ebuilds.
                (trunk 5735:5737)


man/emerge.1
  5744 zmedico  Minor fixes thanks to Fabio Correa <facorread@alexandria.cc>
                in bug #162647. (trunk r5741:5742)


pym/portage.py
  5738 zmedico  For bug #161356, fix error handling for currupt ebuilds.
                (trunk 5735:5737)
  5745 zmedico  Don't require MANIFEST2 hashes since that can trigger
                excessive fetches when sufficient digests already exist.
                Thanks to vapier for reporting. (trunk r5742:5743)
  5747 zmedico  To ease transition while Manifest 1 is being removed, only
                require hashes that will exist before and after the
                transition. (trunk r5746)
  5750 zmedico  For bug #163083, handle an UnsupportedAPIException thrown
                from the prerm phase. (trunk r5748:5749)


pym/portage_exception.py
  5750 zmedico  For bug #163083, handle an UnsupportedAPIException thrown
                from the prerm phase. (trunk r5748:5749)


=============================================================================
2.1.2-r1
2007-01-18
branches/2.1.2 revision 5720
=============================================================================


bin/ebuild.sh
  5688 zmedico  Use the portable -o option for tar. Thanks to Timothy
                Redaelli <drizzt@gentoo.org> for the patch. (trunk r5676)


bin/ecompressdir
  5681 zmedico  make sure we rename links and not just what they point to
                #162451 (trunk r5677:5678)


bin/emerge
  5717 zmedico  Simplify rsync timestamp.chk handling and print the correct
                path for bug #50738. Thanks to jeka for reporting on irc.
                (trunk r5716)
  5720 zmedico  dump emerge's normpath in favor of portage_util's
                normalize_path (trunk r5698)


bin/misc-functions.sh
  5696 zmedico  arm and superh support exec stack stuff now (trunk
                r5693:5695)


bin/repoman
  5687 zmedico  Merge repoman fixes from trunk r5660:5661 and r5665:5669.


pym/portage.py
  5683 zmedico  Make dep_check() work correctly with --usepkgonly. This
                solves issues reported by Brent Baude <ranger@gentoo.org>
                (trunk r5674, 5675, 5678, and 5682)
  5685 zmedico  Fix elimination of duplicate virtuals between the binpkg repo
                and installed packages. (trunk r5684)
  5686 zmedico  Merge doebuild *DEPEND validation from trunk r5652:5655.
  5692 zmedico  For bug #162404, spawn tee outside the sesandbox domain so
                that it reads from a pipe between two domains. (trunk
                r5689:5691)
  5715 zmedico  Validate ebuild names in portdbapi.cp_list() and raise an
                raise an informative InvalidData exception from
                match_from_list when necessary. (trunk r5712:5714)
  5719 zmedico  For bug #162404, when sesandbox is enabled, only log if
                PORT_LOGDIR is explicitly enabled since it is possible that
                local SELinux security policies do not allow ouput to be
                piped out of the sesandbox domain. (trunk r5718)


pym/portage_dep.py
  5715 zmedico  Validate ebuild names in portdbapi.cp_list() and raise an
                raise an informative InvalidData exception from
                match_from_list when necessary. (trunk r5712:5714)


pym/portage_util.py
  5720 zmedico  dump emerge's normpath in favor of portage_util's
                normalize_path (trunk r5698)


=============================================================================
2.1.2
2007-01-14
trunk revision 5649
=============================================================================


DEVELOPING (Added)
  5612 antarus  Add a few pretty basic comments on writing code, particularly
                things that portage used to do (and still does) that are...a
                bit out of style ;)
  5633 antarus  fix tabs with patch from Grobian and bug # 161911, fix
                developing a bit


NEWS
  5367 zmedico  For bug #158931, add some release notes to explain
                performance penalties for dependency calculations.
  5481 zmedico  s/prefix/suffix/ Thanks to hydrogen for reporting on irc.
  5482 zmedico  s/suffix/version prefix/ since it really is a prefix for the
                version string.
  5494 genone   Update NEWS with eqawarn and 'ebuild foo test' changes
  5509 genone   create symlinks to html documentation if DOC_SYMLINK_DIR is
                set, original patch by TGL <degrenier@easyconnect.fr> (bug
                #67130)
  5645 zmedico  For bug #69021, add news about FEATURES="test" implying
                USE="test".


RELEASE-NOTES
  5367 zmedico  For bug #158931, add some release notes to explain
                performance penalties for dependency calculations.


TEST-NOTES (Added)
  5531 antarus  add a few tips on adding tests, and kinks in the current
                system, I hope to fix the import bug soon
  5539 antarus  edit test-notes


bin/archive-conf
bin/chkcontents
bin/portageq
bin/regenworld
  5597 antarus  More String deprecation


bin/check-implicit-pointer-usage.py (Added)
  5449 vapier   add support for scanning of build logs for common issues
                #111436


bin/dispatch-conf
  5597 antarus  More String deprecation
  5601 antarus  fix "" " " bug
  5605 zmedico  Fix a typo.


bin/dodoc
bin/doinfo
bin/ecompress (Added)
bin/prepallinfo
bin/prepallman
bin/prepinfo
  5555 vapier   add support for user-customizable compression #9870


bin/dohtml
  5597 antarus  More String deprecation
  5642 zmedico  Fix dohtml so that it continues to install files even after
                some fail. Thanks to brad walker <bradmwalker@cableone.net>
                in bug #149745.


bin/doman
bin/preplib
  5507 zmedico  For bug #160075, send all 'QA Notice' messages to eqawarn.
                Also, modify eqawarn to use vecho and send ouput to stderr.


bin/ebuild
  5487 genone   Always run src_test when calling 'ebuild foo test'


bin/ebuild.sh
  5391 zmedico  Use a SIGTERM signal to support a die call inside of a
                subshell.
  5392 zmedico  For bug #148603, when an ebuild dies, print eclasses that are
                from overlays. Thanks to Alec Warner for the initial patch.
  5425 zmedico  Punt the abort_unpack() handler since it's pointless anyway.
  5484 antarus  Implement QA checks that attempt to detect changed shopts and
                IFS in ebuild/eclass/profile code. Spit a warning if that is
                the case. I expect this check will eventually reset the
                shopts and IFS, but in this case it may break things that
                depend on the current behavior
  5485 antarus  Antarus sucks at bash, thanks for Genone for reporting this
                major bug.
  5487 genone   Always run src_test when calling 'ebuild foo test'
  5488 genone   Disable qa_source usage until it actually works
  5489 antarus  Zac pointed out that the retcodes would be wrong if stuff
                failed...Yeah...
  5492 antarus  Okies this works locally for me now (and Zac)
  5504 genone   Misc typo fixes, patch by Benno Schulenberg (bug #157812)
  5507 zmedico  For bug #160075, send all 'QA Notice' messages to eqawarn.
                Also, modify eqawarn to use vecho and send ouput to stderr.
  5590 zmedico  For bug #88485, show the location of the build log whenever a
                build fails.
  5632 vapier   make sure people call addread/addwrite/adddeny/addpredict
                correctly
  5646 zmedico  Disable the test phase when USE=test is masked (for
                consistency with the fix for bug #69021).


bin/ecompressdir (Added)
  5555 vapier   add support for user-customizable compression #9870
  5575 vapier   dont compress files that are already compressed and dont do
                sanity checking on the link dest as we cant properly verify
                things like absolute symlinks
  5576 vapier   use cached suffix value and if it is not valid, lets warn


bin/emerge
  5361 zmedico  Show the "Calculating dependencies .. done!" message with
                --resume since the spinner now runs inside the depgraph
                constructor. Thanks to antarus for reporting.
  5388 zmedico  Prevent the regen action from running in --pretend mode.
  5389 zmedico  When the user has insufficient access privileges, specify
                whether superuser access or portage group access is required.
                When only portage group access is required but the user is
                not in the portage group, call
                portage_data.portage_group_warning() to remind people that
                the portage group is a system administration group.
  5402 zmedico  Use a pickle to cache vdb metadata. This greatly improves the
                performance for loading the vdb when the buffer cache is
                cold.
  5410 zmedico  Use a pickle to cache blockers for all installed packages so
                that dep_check doesn't have to be called for every single
                installed package on every invocation of emerge.
  5411 zmedico  For bug #159161, make emerge --info show USE_EXPAND flags
                similar to the way it does in merge list output.
  5412 zmedico  Add some docs for the blockers cache format.
  5413 zmedico  For bug #159310, don't show a slot collision notice if there
                are unresolvable blockers.
  5415 solar    - keep things quiet when uninstalling
  5416 zmedico  Send stuff that's not a warning or error to stdout rather
                than stderr.
  5420 zmedico  Sort the --info USE flags for bug #159161.
  5421 zmedico  Be slightly more defensive when loading the vdb/blockers
                caches.
  5423 zmedico  Do some small fixes to prevent slot collision nodes from
                interfering with the depgraph.
  5424 zmedico  Fix 'TypeError: unpack non-sequence' that occurs if myparent
                is None.
  5432 zmedico  Use return values instead of direct sys.exit(123) calls when
                a merge fails.
  5456 zmedico  Implement distlocks for --getbinpkg so that it works properly
                when parallel-fetch is enabled. Thanks to Brent Baude
                <ranger@gentoo.org> for reporting.
  5465 zmedico  For bug #160299, make sure that emerge sees a somewhat valid
                COUNTER even when the counter is missing.
  5503 zmedico  For bug #160971, rename dir.gz to dir.gz.old when necessary
                to avoid problems with install-info. Thanks to Ed Catmur
                <ed@catmur.co.uk> for the initial patch.
  5534 zmedico  For bug #161422, make slot collisions non-fatal in cases
                where an invalid depgraph is acceptable (--fetchonly, for
                example).
  5535 zmedico  Don't allow slot collision nodes to block other packages
                since blocker validation is only able to account for one
                package per slot.
  5536 zmedico  Rename depgraph._invalid_depgraph_is_acceptable() to
                _accept_collisions() for a better description.
  5545 genone   Rename 'Last Sync' to 'Timestamp of tree' to clarify the
                meaning (bug #150051)
  5565 zmedico  For bug #50738, inform the user about the location of the
                timestamp file and that it can be removed to force sync.
  5580 zmedico  For bug #147512, don't print a cryptic error message when an
                EnvironmentError occurs. Also, allow the user to get a
                traceback via --debug.
  5600 antarus  purge string module from emerge
  5601 antarus  fix "" " " bug
  5607 zmedico  Revert accidentally modified joins.
  5621 zmedico  Send the slot collision notice to stderr and only show
                minimal output in --quiet mode.
  5623 zmedico  Send the unmerge failure message to stderr.
  5624 zmedico  Use end_paragraph(1) instead of add_line_break() so that
                there is really a blank line.
  5625 zmedico  For bug #144380, disable color at emerge startup and then
                enable it only when it's absolutely sure that color should be
                enabled (after EMERGE_DEFAULT_OPTS has been parsed).
  5627 zmedico  Obey the silent parameter when parsing options.
  5629 zmedico  Catch InvalidData exceptions for bad atoms passed as emerge
                arguments.


bin/isolated-functions.sh
  5490 genone   Add new eqawarn function and QA loglevel to be used for QA
                messages
  5507 zmedico  For bug #160075, send all 'QA Notice' messages to eqawarn.
                Also, modify eqawarn to use vecho and send ouput to stderr.
  5578 zmedico  Fix ebuild environment color.map support so that it works
                properly through exec calls (since the color variables can
                not be directly exported due to env pollution).


bin/md5check.py
  5597 antarus  More String deprecation
  5606 zmedico  Fix a typo.


bin/misc-functions.sh
  5417 vapier   fixup style
  5442 vapier   merge all of the QA related checks together
  5449 vapier   add support for scanning of build logs for common issues
                #111436
  5466 zmedico  Fix shell glob logic that leads to false positives. Thanks to
                Flameeyes for reporting.
  5467 zmedico  Fix one more potential false glob match.
  5468 vapier   revert previous changes ... ruby.eclass is wrongly polluting
                env with nullglob
  5469 vapier   force C locale for now when parsing gcc log files #160234
  5507 zmedico  For bug #160075, send all 'QA Notice' messages to eqawarn.
                Also, modify eqawarn to use vecho and send ouput to stderr.
  5509 genone   create symlinks to html documentation if DOC_SYMLINK_DIR is
                set, original patch by TGL <degrenier@easyconnect.fr> (bug
                #67130)
  5555 vapier   add support for user-customizable compression #9870
  5579 vapier   drop lazy bindings check once and for all ... the system ldso
                should have the logic #71609


bin/prepall
  5418 vapier   detect incorrect absolute symlinks in libdirs
  5442 vapier   merge all of the QA related checks together


bin/prepalldocs
  5555 vapier   add support for user-customizable compression #9870
  5628 zmedico  Fix a typo.


bin/prepman
  5507 zmedico  For bug #160075, send all 'QA Notice' messages to eqawarn.
                Also, modify eqawarn to use vecho and send ouput to stderr.
  5555 vapier   add support for user-customizable compression #9870


bin/prepstrip
  5408 zmedico  For bug #159252, don't preserve file attributes when copying
                files for installsources. Thanks to Ed Catmur
                <ed@catmur.co.uk> for this patch.
  5507 zmedico  For bug #160075, send all 'QA Notice' messages to eqawarn.
                Also, modify eqawarn to use vecho and send ouput to stderr.


bin/repoman
  5360 zmedico  Only write repo.stats and repo.fails when the repoman user
                has write access to /var/cache/edb.
  5438 zmedico  For bug #159224, use separate xmatch caches for each value of
                ACCEPT_KEYWORDS.
  5444 zmedico  Optimize dep_zapdeps to work without a vartree when called by
                repoman.
  5463 zmedico  Make repoman use portage.normalize_path instead of
                os.path.normpath. This might solve an issue with incorrect
                repolevel detection that was reported by drizzt.
  5470 zmedico  For bug #160310, allow \ inside `` quotes in order to prevent
                a false Line continuation ("\") Syntax Error.
  5471 zmedico  For bug #160310, remove the line continuation syntax check
                since it's still possible for it to generate false positives.
  5477 zmedico  Fix the digestentry.unused check so that it works properly
                when old-style files/digest-* don't exist.
  5480 zmedico  Don't automatically fix digests in --pretend mode.
  5603 antarus  purge string module from repoman


cnf/make.conf
  5491 genone   Mention new QA loglevel in make.conf.example
  5543 genone   Update CCACHE docs, patch by Ryan Hill (bug #156865)
  5544 genone   Add 'stricter' description, misc typo fixes, patch by Max
                Lorenz (bug #153755)


cnf/make.conf.x86.diff
  5505 genone   Update x86 CFLAGS section, original patch by Peter Gantner
                (bug #133402)


man/ebuild.5
  5506 genone   Add elog related variables to make.conf(5) with a pointer to
                make.conf.example. Add elog() description to ebuild(5) and
                update einfo() description.
  5542 genone   Remove RESTRICT=sandbox docs until bug #161045 is resolved
  5643 zmedico  Document PORTAGE_LOG_FILE, update PORTAGE_TMPDIR path which
                now includes CATEGORY, and lots of style/syntax fixes. Thanks
                to Arfrever Frehtes Taifersar Arahesis <FFTA@WP.PL> from bug
                #161979.


man/emerge.1
  5369 antarus  Manpage fix for bug # 158983, thanks to Fabio Correa for the
                patch
  5401 antarus  try to give the emerge manpage a facelift, upgrade clean and
                prune docs, change 'dependency' to 'atom', other minor fixes
  5404 zmedico  Update emerge --metadata docs for more clarity.
  5510 genone   Make env variable example about USE shell independent


man/make.conf.5
  5506 genone   Add elog related variables to make.conf(5) with a pointer to
                make.conf.example. Add elog() description to ebuild(5) and
                update einfo() description.
  5543 genone   Update CCACHE docs, patch by Ryan Hill (bug #156865)
  5552 genone   Add note that any value enables EPAUSE_IGNORE
  5626 zmedico  Document PORTAGE_COMPRESS and PORTAGE_COMPRESS_FLAGS.
  5643 zmedico  Document PORTAGE_LOG_FILE, update PORTAGE_TMPDIR path which
                now includes CATEGORY, and lots of style/syntax fixes. Thanks
                to Arfrever Frehtes Taifersar Arahesis <FFTA@WP.PL> from bug
                #161979.
  5644 zmedico  For bug #161975, document the fact that GENTOO_MIRRORS
                supports mounted filesystem mirrors.
  5648 zmedico  Document DOC_SYMLINKS_DIR.
  5649 zmedico  Fix alphabetical order.


man/portage.5
  5502 zmedico  For bug #161003, disallow virtuals in package.provided and
                document it. Thanks to Robin Johnson <robbat2@gentoo.org> for
                the initial patch.


pym/cache/metadata_overlay.py
  5368 zmedico  For forward compatibility, make metadata_overlay pass any
                additional positional and keyword parameters into the super
                constructor.


pym/cache/sqlite.py
  5434 zmedico  For bug #159518, increase the "database is locked" timeout.


pym/cache/util.py
  5483 zmedico  For bug #160893, ignore a KeyError during cache cleansing
                since that key isn't wanted anyway.


pym/cache/volatile.py
  5394 zmedico  Make _setitem do a deepcopy just in case.


pym/cvstree.py
  5594 antarus  Begin the deprecation of the string module


pym/dbapi (Added)
  5450 genone   Allow - in elog module names
  5451 genone   undo


pym/dbapi/__init__.py (Added)
pym/dbapi/binpkg.py (Added)
pym/dbapi/ebuild.py (Added)
pym/dbapi/fake.py (Added)
pym/dbapi/vardb.py (Added)
  5450 genone   Allow - in elog module names


pym/eclass_cache.py
  5583 antarus  Fix broad except statement, should only be KeyError


pym/elog_modules/mod_save_summary.py
  5363 genone   List package in summary logfile


pym/elog_modules/mod_syslog.py
  5490 genone   Add new eqawarn function and QA loglevel to be used for QA
                messages


pym/emergehelp.py
  5404 zmedico  Update emerge --metadata docs for more clarity.
  5593 zmedico  Remove a duplicate % character.


pym/getbinpkg.py
  5453 zmedico  Use os._exit instead of sys.exit in a forked child process.
  5454 zmedico  Make sure stderr is flushed since os._exit doesn't flush
                stdio buffers.
  5458 zmedico  When fetching metadata from a binhost, reconnect if the http
                server closes the connection before sending a valid response.
                Thanks to ranger for reporting.
  5459 zmedico  Make sure that myid is defined for the previous commit.
  5585 antarus  getbinpkg.py fix except: open can be IOERror or OSError and
                cPickle can throw an unpicklingError
  5586 antarus  EOFError is also important according to Zac
  5594 antarus  Begin the deprecation of the string module
  5598 zmedico  Use startswith and endswith to simplify code.
  5599 zmedico  Fix typos from the previous commit.


pym/portage.py
  5362 antarus  startime is set up in treewalk, so no need to do it
                globally...
  5364 genone   disable display of elapsed time for collision-protect as it's
                for benchmarking purposes and useless to most people.
  5365 antarus  More Docstrings in portage.py
  5366 antarus  move actionmap_deps out of global scope and into doebuild
                where it is actually used, add docstrings to config class in
                the meantime.
  5370 antarus  More code cleanup, packagetree appears to be completely
                unused, so lets remove it in favor of inheriting from object
  5371 antarus  Docstrings for doebuild
  5372 antarus  cptot appears to be unused, punting it along with this
                commented out function, it appears to be unused as well.
  5382 zmedico  Clone cached match results before returning them from
                portdbapi.xmatch(). Thanks to Brian <dol-sen@telus.net> for
                reporting this issue.
  5383 zmedico  Make bindbapi.aux_get() selectively cache metadata in order
                to optimize dep matching (like portdbapi does).
  5384 zmedico  Make sure that bindbapi makes EAPI correctly default to 0 in
                all possible cases.
  5385 antarus  more docstrings..
  5386 antarus  Docstrings for mergeme...
  5398 zmedico  Allow dep_check to use the global db for compatibility (fixes
                python-updater breakage).
  5402 zmedico  Use a pickle to cache vdb metadata. This greatly improves the
                performance for loading the vdb when the buffer cache is
                cold.
  5403 zmedico  Make portdbapi.flush_cache() consistent with
                vardbapi.flush_cache().
  5405 zmedico  Allow the list of keys cached by the vardb to change without
                forcing a cache version bump.
  5406 zmedico  Make vartree.getslot() use the dbapi for aux_get caching.
  5407 zmedico  Make vardbapi.cpv_counter() use aux_get for caching.
  5409 zmedico  For bug #159295 and python-2.3 compatibility, don't assume
                that dict.update can use an iterable.
  5414 zmedico  Do some minor cleanup in the dep_zapdeps downgrade avoidance
                logic (while working toward a fix for bug #159360).
  5419 zmedico  For bug #159360, make sure that the highest available
                new-style virtual is selected even if it has depes that
                aren't already installed.
  5421 zmedico  Be slightly more defensive when loading the vdb/blockers
                caches.
  5422 zmedico  Improve the logic for bug #159360 to ensure that an actual
                upgrade is selected without any downgrades.
  5428 zmedico  For bug #151326, prevent invalid comments from being returned
                by portage.getmaskingreason().
  5429 zmedico  Correct the package.mask lookup order in getmaskingreason().
  5430 zmedico  For bug #141361, use an alarm signal to implement a 1 minute
                timeout for processing inside an elog module.
  5431 zmedico  Use a try/finally block to ensure that the alarm will always
                be cancelled appropriately.
  5432 zmedico  Use return values instead of direct sys.exit(123) calls when
                a merge fails.
  5433 zmedico  Send errors in elog_process() to stderr via writemsg.
  5437 zmedico  Use slot atom matching to simplify detection of downgrades
                relative to installed packages.
  5440 zmedico  For bug #159638, fix the UnboundLocalError in
                vartree.getprovide().
  5441 zmedico  Fix the writemsg noiselevel from the previous commit.
  5443 zmedico  Don't bother to list the contents of directories before they
                are unmerged since it triggers unnecessary stat calls. Thanks
                to James Cloos <cloos@jhcloos.com> for reporting.
  5444 zmedico  Optimize dep_zapdeps to work without a vartree when called by
                repoman.
  5448 zmedico  Try to create DISTDIR before disabling fetch due to it's
                nonexistence. Thanks to astinus for reporting.
  5449 vapier   add support for scanning of build logs for common issues
                #111436
  5450 genone   Allow - in elog module names
  5452 zmedico  When using the spawn's returnpid parameter, manually remove
                the returned pids from portage_exec.spawned_pids.
  5457 zmedico  Export EBUILD_PHASE="" when running misc-function.sh in order
                to prevent bogus phase values coming from ${T}/environment.
                Thanks to solar for reporting.
  5464 zmedico  For python-2.3 compatibility, don't pass an iterable into
                dict.update().
  5478 zmedico  Don't swallow an IOError if it is thrown from the aux_get
                call in portdbapi.getfetchlist().
  5495 zmedico  Split PORTAGE_ELOG_CLASSES outside the loop for better
                efficiency.
  5496 zmedico  Make digestgen() force fetch unless all required digest types
                are available. Thanks to jokey for reporting on irc.
  5499 zmedico  For bug #161103, don't skip collision-protect checks in cases
                where the beginning of the file path matches a symlink but is
                not acually inside a symlinked directory (check the path
                against symlink + os.path.sep).
  5502 zmedico  For bug #161003, disallow virtuals in package.provided and
                document it. Thanks to Robin Johnson <robbat2@gentoo.org> for
                the initial patch.
  5508 genone   make.globals has no business in profiles
  5509 genone   create symlinks to html documentation if DOC_SYMLINK_DIR is
                set, original patch by TGL <degrenier@easyconnect.fr> (bug
                #67130)
  5511 genone   Always use vercmp for cpv comparisons
  5512 genone   Stupid me, shouldn't jsut move a part of the patch
  5551 genone   Make FEATURES=test imply USE=test
  5554 zmedico  Use dict.get() to prevent a potential (bug unlikely)
                KeyError.
  5578 zmedico  Fix ebuild environment color.map support so that it works
                properly through exec calls (since the color variables can
                not be directly exported due to env pollution).
  5580 zmedico  For bug #147512, don't print a cryptic error message when an
                EnvironmentError occurs. Also, allow the user to get a
                traceback via --debug.
  5587 antarus  os.cwd can return OSError (maybe IOError with wrong perms for
                ./, will test actually), load_mod should be IMportError, nuke
                a stupid try except around shuffle which used to break years
                ago with old glibcs, remove try except around what appears to
                be a regex? and make the try except around the unlink a bit
                cleaner
  5588 antarus  FIx a bunch of random Except: statements in portage.py, most
                of them are IO/OS related
  5589 zmedico  Return early from finddigest if findname2 found nothing.
  5592 zmedico  Fix incremental virtuals code for the new stricter
                catpkgsplit behavior.
  5604 antarus  purge string from portage.py, fix minor bug in portage_util
  5608 zmedico  Fix more typos.
  5620 antarus  remove the last of the string module from portage.py
  5633 antarus  fix tabs with patch from Grobian and bug # 161911, fix
                developing a bit
  5634 zmedico  Fix 'TypeError: not all arguments converted during string
                formatting'. Thanks to marienz.
  5635 zmedico  Fix reversed arguments.
  5647 zmedico  Don't warn about /etc/make.profile not being a symlink if it
                has a parent file.


pym/portage_const.py
  5486 genone   Make PORTAGE_BASE_PATH dynamic based on __file__
  5493 antarus  This file apparently uses spaces to line everything up pretty
                (I have weird tabs set, so spacies are good :P)


pym/portage_data.py
  5387 zmedico  Drop the warning messages for users that aren't in the
                portage group since tpordbapi now correctly puts the on-disk
                cache into readonly mode in this case (and allows metadata
                generation in-memory if necessary).
  5390 zmedico  Make sure that portage_group_warning() will be shown even in
                quiet mode.
  5461 zmedico  As a workaround for bug #147625, spawn `id -g portage` in
                order to get a list of groups for the portage user without
                the need to call grp.getgrall().
  5462 zmedico  Use -G instead of -g (typo from the previous commit).


pym/portage_dep.py
  5511 genone   Always use vercmp for cpv comparisons
  5512 genone   Stupid me, shouldn't jsut move a part of the patch
  5513 genone   Attach the problematic data to the exception for debugging
  5514 genone   Make the =* operator more robust
  5515 genone   Documenting the loop a bit
  5516 genone   =* operator sucks
  5517 genone   also sanitize mycpv for =* handling
  5518 genone   minor performance improvement
  5519 genone   I hate this thing
  5520 zmedico  Minor fixes for the =* operator (I hope we're done now :).
  5521 zmedico  Use startwith to simplify =* matching.
  5563 antarus  elaborate a bit on isjustname()
  5571 antarus  Handle the exception in isvalidatom, change it to use a
                portage exceptoin, thanks to Zac for pointing this out
  5581 antarus  Change vercmp to use int() instead of string atoi, catch
                ValueError in pkgcmp
  5584 antarus  comment the excepts in a few places
  5595 antarus  more string deprecation
  5602 antarus  another annoy space bug


pym/portage_exception.py
  5546 genone   Don't escape strings in PortageException as that breaks
                newline handling (bug 147785)
  5553 zmedico  Use isinstance(foo, basestring) so that it can work with
                unicode strings too.


pym/portage_exec.py
  5455 zmedico  Make sure stderr is flushed since os._exit doesn't flush
                stdio buffers.
  5584 antarus  comment the excepts in a few places


pym/portage_locks.py
pym/xpak.py
  5595 antarus  more string deprecation


pym/portage_update.py
  5591 zmedico  Prevent an InvalidData exception during global updates due to
                the new stricter catpkgsplit behavior.


pym/portage_util.py
  5548 genone   Extend ignore filter for grablines (bug #144445)
  5550 genone   continue is only for loops
  5556 antarus  docs for grabdict
  5595 antarus  more string deprecation
  5604 antarus  purge string from portage.py, fix minor bug in portage_util
  5609 zmedico  Fix another typo.


pym/portage_versions.py
  5568 antarus  Valid categories in catpkgsplit
  5570 antarus  Fix comments for catpkgsplit
  5571 antarus  Handle the exception in isvalidatom, change it to use a
                portage exceptoin, thanks to Zac for pointing this out
  5572 antarus  learn to spell
  5573 antarus  SpanKY likes the latin categories
  5574 zmedico  Use a global to ensure that the valid_category regex is
                cached.
  5577 zmedico  Allow catpkgsplit to be less strict for atoms that come from
                installed packages (for backward compatibility).
  5581 antarus  Change vercmp to use int() instead of string atoi, catch
                ValueError in pkgcmp
  5582 antarus  portage_versions.py, more string.atoi -> int, fix another
                except: that should be ValueError
  5584 antarus  comment the excepts in a few places
  5595 antarus  more string deprecation


tests/__init__.py
  5522 antarus  rework test import code, rename test_vercmp to be more
                generic, add tests for =* glob matches
  5525 antarus  Take Genone's suggestion and break the modules up into module
                oriented fashion. Tests for portage.py go in portage/ and so
                on and so forth...
  5532 zmedico  Fix module loading.
  5537 antarus  Add a bit of path mangling to allow deeper tests
  5538 antarus  remove bogs test dir, add portage_versions
  5540 antarus  more test re-arranging as Alec can't read what functions are
                in what files
  5541 zmedico  Remove / character from module names.


tests/portage (Added)
tests/portage_util (Added)
  5525 antarus  Take Genone's suggestion and break the modules up into module
                oriented fashion. Tests for portage.py go in portage/ and so
                on and so forth...
  5613 antarus  ignore py[co] in tests


tests/portage/__init__.py (Added)
tests/portage_util/__init__.py (Added)
  5525 antarus  Take Genone's suggestion and break the modules up into module
                oriented fashion. Tests for portage.py go in portage/ and so
                on and so forth...
  5596 antarus  set Id on tests


tests/portage/test_atoms.py
  5526 antarus  shift test cases around
  5528 antarus  rename atoms back to vercmp


tests/portage/test_atoms.py (from /main/trunk/tests/test_atoms.py:5524) (Added)
tests/portage_util/test_util.py (from /main/trunk/tests/test_util.py:5523) (Added)
  5525 antarus  Take Genone's suggestion and break the modules up into module
                oriented fashion. Tests for portage.py go in portage/ and so
                on and so forth...


tests/portage/test_match_from_list.py (Added)
  5527 antarus  shift test cases around
  5540 antarus  more test re-arranging as Alec can't read what functions are
                in what files


tests/portage/test_vercmp.py (Removed)
tests/portage_versions/test_vercmp.py (from /main/trunk/tests/portage/test_vercmp.py:5528) (Added)
  5537 antarus  Add a bit of path mangling to allow deeper tests


tests/portage/test_vercmp.py (from /main/trunk/tests/portage/test_atoms.py:5526) (Added)
  5528 antarus  rename atoms back to vercmp


tests/portage_dep (Added)
  5540 antarus  more test re-arranging as Alec can't read what functions are
                in what files
  5613 antarus  ignore py[co] in tests


tests/portage_dep/__init__.py
  5596 antarus  set Id on tests


tests/portage_dep/__init__.py (from /main/trunk/tests/portage/__init__.py:5536) (Added)
tests/portage_dep/test_match_from_list.py (from /main/trunk/tests/portage/test_match_from_list.py:5536) (Added)
  5540 antarus  more test re-arranging as Alec can't read what functions are
                in what files


tests/portage_dep/test_dep_getcpv.py (Added)
  5561 antarus  I owed brian harring 3.50, for th previous advice about
                assertEqual/NotEqual, oh, add dep_getcpv tests too
  5566 antarus  add some invalid ops to getcpv to make sure it returns the
                cpv still
  5596 antarus  set Id on tests
  5633 antarus  fix tabs with patch from Grobian and bug # 161911, fix
                developing a bit


tests/portage_dep/test_dep_getslot.py (Added)
  5562 antarus  getslot tests
  5596 antarus  set Id on tests
  5633 antarus  fix tabs with patch from Grobian and bug # 161911, fix
                developing a bit


tests/portage_dep/test_get_operator.py (Added)
  5558 antarus  get_operator tests
  5559 antarus  add some invalid operators to the test to denote that
                get_operator doesn't validate them, also make sure some
                common mis-typed things are tested (=> instead of >= fex)
  5560 antarus  take some advice and use AssertEqual/NotEqual
  5596 antarus  set Id on tests


tests/portage_dep/test_isjustname.py (Added)
  5564 antarus  isjustname tests
  5596 antarus  set Id on tests
  5633 antarus  fix tabs with patch from Grobian and bug # 161911, fix
                developing a bit


tests/portage_dep/test_isvalidatom.py (Added)
  5557 antarus  Commit unit tests, hey look THEY ARE BROKEN
  5560 antarus  take some advice and use AssertEqual/NotEqual
  5567 antarus  print the incorrect atom
  5569 antarus  catch and validate new ValueError Exception
  5571 antarus  Handle the exception in isvalidatom, change it to use a
                portage exceptoin, thanks to Zac for pointing this out
  5596 antarus  set Id on tests
  5633 antarus  fix tabs with patch from Grobian and bug # 161911, fix
                developing a bit


tests/portage_dep/test_match_from_list.py
  5560 antarus  take some advice and use AssertEqual/NotEqual
  5596 antarus  set Id on tests


tests/portage_util/test_grabdict.py (Added)
  5557 antarus  Commit unit tests, hey look THEY ARE BROKEN
  5596 antarus  set Id on tests


tests/portage_util/test_normalizedPath.py (Added)
tests/portage_util/test_stackDictList.py (Added)
  5529 antarus  split out util tests
  5560 antarus  take some advice and use AssertEqual/NotEqual
  5596 antarus  set Id on tests


tests/portage_util/test_stackDicts.py (Added)
  5529 antarus  split out util tests
  5547 antarus  More portage_util tests
  5560 antarus  take some advice and use AssertEqual/NotEqual
  5596 antarus  set Id on tests


tests/portage_util/test_stackLists.py (Added)
  5529 antarus  split out util tests
  5549 antarus  add stack_lists checks
  5560 antarus  take some advice and use AssertEqual/NotEqual
  5596 antarus  set Id on tests


tests/portage_util/test_uniqueArray.py (Added)
tests/portage_util/test_varExpand.py (Added)
  5529 antarus  split out util tests
  5547 antarus  More portage_util tests
  5596 antarus  set Id on tests


tests/portage_util/test_util.py
  5529 antarus  split out util tests
  5530 antarus  remove monolithic test


tests/portage_versions (Added)
  5537 antarus  Add a bit of path mangling to allow deeper tests
  5613 antarus  ignore py[co] in tests


tests/portage_versions/__init__.py (Added)
  5537 antarus  Add a bit of path mangling to allow deeper tests
  5596 antarus  set Id on tests


tests/runTests
  5533 zmedico  Fix sys.path so that imports work correctly.


tests/test_atoms.py
  5523 zmedico  Make the tests pass.
  5524 antarus  Fix Fail test
  5525 antarus  Take Genone's suggestion and break the modules up into module
                oriented fashion. Tests for portage.py go in portage/ and so
                on and so forth...


tests/test_atoms.py (from /main/trunk/tests/test_vercmp.py:5488) (Added)
tests/test_vercmp.py (Removed)
  5522 antarus  rework test import code, rename test_vercmp to be more
                generic, add tests for =* glob matches


tests/test_util.py
  5522 antarus  rework test import code, rename test_vercmp to be more
                generic, add tests for =* glob matches
  5525 antarus  Take Genone's suggestion and break the modules up into module
                oriented fashion. Tests for portage.py go in portage/ and so
                on and so forth...


=============================================================================
2.1.2_rc4
2006-12-22
trunk revision 5359
=============================================================================


NEWS
cnf/make.conf
  5325 genone   New elog modules for dismerging messages into a single
                file/mail


bin/ebuild.sh
  5244 zmedico  For bug #157369, clean when cleanup has been triggered by
                changed timestamps. Also, allow FEATURES=keepwork to override
                the ebuild mtime check.
  5302 zmedico  For bug #158177, force configure scripts that automatically
                detect ccache to respect FEATURES="-ccache". Thanks to Horst
                Schirmeier <gentoo@schirmeier.com> for this suggestion.
  5306 vapier   remove pointless redirects to /dev/null when using hasq()
  5307 vapier   force environment.bz2 to be clobbered if it already exists
  5347 zmedico  Fix the "help" phase so that it works without build dirs.
  5350 zmedico  Use a pipe instead of a temp file for the depend phase.
  5358 zmedico  Fix inverted EAPI default logic.


bin/emerge
  5231 zmedico  Go ahead and populate depgraph.mydbapi even when --emptytree
                is enabled since it doesn't matter anymore (dep_check now
                returns all deps anyway).
  5232 zmedico  Move the reset of the per-root initializations into the loop.
  5233 zmedico  Remove unused depgraph.match() method.
  5234 zmedico  Use tuples for digraph nodes in order to avoid lots of
                pointless join and split calls.
  5235 zmedico  Split some global updates functions out of depgraph and use
                them for depclean when necessary.
  5245 zmedico  This patch cleans up the blocker validation logic. Unlike the
                previous implementation, this one carefully considers each
                parent/block package relationship in order to ensure that no
                unresolved blocks slip through.
  5246 zmedico  Don't attempt to enforce merge order unless the blocker
                parent is actually a "merge" node.
  5247 zmedico  Escape a newline from the previous commit.
  5248 zmedico  For bug #128809, process blockers for all installed packages.
                Due to the performance penalty incurred by additional
                dep_check calls, this is only enabled with the --deep option.
  5255 zmedico  For bug #128809, optimize dep_check calls and enable the
                blocker detection by default since the performance now seems
                acceptable.
  5256 zmedico  Make sure the SLOT comes from the vardb instead of the portdb
                (for multislot, etc..). Thanks to jakub for reporting.
  5266 zmedico  Ignore blockers when "--buildpkgonly" is enabled.
  5267 zmedico  Ensure that the root of the vdb exists before attempting to
                lock it. Thanks to Flameeyes for reporting.
  5268 zmedico  When there are multiple packages occupying the same slot,
                only consider the one with the highest COUNTER. Thanks to
                leio for reporting.
  5269 zmedico  Fix a typo from the previous commit.
  5270 zmedico  For bug #157823, don't forget to split the USE.
  5272 zmedico  For bug #157823, ignore blocker collisions between two
                packages that are already installed if no merge is currently
                scheduled for either of those package slots. These blockers
                will be handled as necessary the next time that a merge of
                either package is triggered.
  5275 zmedico  Centralize all of the vardb metadata mangling in FakeVartree.
  5276 zmedico  Store dependency metadata in depgraph.mydbapi so that it can
                be used in place of the portdb for optimized dep_check calls
                in depgraph.validate_blockers().
  5277 zmedico  Optimize dep_check calls in depgraph.validate_blockers() by
                using a fakedbapi instance instead of the real pordbapi
                (minimizes available matches).
  5278 zmedico  For higher efficiency, call self.__int__() instead of
                int(self).
  5279 zmedico  For bug #157897, only let depgraph.create() inject "merge"
                nodes into the final state dbapi.
  5280 zmedico  For bug #157897, ensure that only "merge" nodes are stored in
                digraph.pkg_node_map.
  5282 zmedico  Track slot atom to digraph node mappings as the depgraph is
                built. This mapping will be used to detect node collisions
                for bug #157897.
  5283 zmedico  Remove redundant digraph.pkg_node_map node insertions. Once
                per digraph.create() call will cover all nodes.
  5285 zmedico  For bug #157897, handle the case of multiple versions within
                a single package slot have been pulled into the dependency
                graph. If possible, the package that has already been pulled
                in will be reused. Otherwise, an error message will advise
                the user to mask an unwanted version.
  5286 vapier   handle --cols when displaying blockers
  5287 zmedico  For bug #157897, add slot collision handling in
                depgraph.create(), since create() is called from places other
                than select_dep().
  5288 zmedico  Fix a typo from the previous commit.
  5289 zmedico  Update the comment about depgraph.pkg_node_map since it now
                maps all nodes added to the graph.
  5290 zmedico  Use depgraph.pkg_node_map so simplify comparison against
                existing nodes at the beginning of depgraph.create().
  5291 zmedico  Fix the --onlydeps conditional logic in depgraph.create().
                These aren't real nodes and shouldn't be added to the
                digraph, etc...
  5292 zmedico  Remove redundant priority handling since that's always
                handled in select_dep() for nodes that have parents.
  5293 zmedico  Remove pointless unpacking of the parent node.
  5294 zmedico  Make --columns blockers output more consistent when --quiet
                is not enabled.
  5296 zmedico  Cache blocked slots for better efficiency.
  5297 zmedico  For bug #157897, show parent nodes in order to help the user
                decide about what action to take.
  5304 zmedico  Make dep_check validate all depstring atoms in order to
                prevent problems from occuring later due to unexpected
                invalid atoms.
  5308 zmedico  In depgraph.altlist(), pop as many leaf nodes as possible
                when no relationship has been ignored. This can halve the
                time taken for a large merge order calculation.
  5309 zmedico  Don't optimize depgraph.altlist() in reversed mode since the
                optimization destroys --tree ouput.
  5310 zmedico  Add a comment about the previous commit.
  5311 zmedico  Add --debug support for --depclean.
  5312 zmedico  Do some minor cleanup of the --depclean code.
  5313 zmedico  Make depclean skip empty depstrings.
  5314 zmedico  Disable the spinner when --debug is enabled so that it
                doesn't interfere.
  5316 zmedico  Catch PortageException from portdbapi.aux_get since it can
                happen when gpg is in FEATURES.
  5317 zmedico  Just start with an empty dict in dep_check_trees since
                nothing more is needed.
  5318 zmedico  For bug #158354, make "No" the default response for unmerge
                actions.
  5321 zmedico  For bug #158503, allow --nodeps to override blockers.
  5322 zmedico  For bug #158508, make --fetchonly display a list of packages
                for which the fetch phase failed.
  5324 zmedico  Use a separate digraph to store parent/child relationships
                (PDEPEND relationships are not reversed) so that relationship
                is always known in case a slot collision occurs.
  5332 zmedico  Give the user some advice whenever an invalid dependency
                string is encountered.
  5333 zmedico  Fix the invalid dependency message so there's no confusion
                about which package has the problem.
  5335 zmedico  Fix broken exception handling syntax causing strange
                exception reported in bug #158608. Thanks to grobian for help
                troubleshooting.
  5337 zmedico  For bug #158649, minimize portdb cache pulls for installed
                packages when --nodeps is enabled. This patch also allows the
                vardb lock to be released before doing any cache pulls (even
                when --nodeps is not enabled), and updates the spinner while
                the metadata is being pulled.
  5339 zmedico  For bug #158558, ignore invalid depstrings for packages that
                are being replaced anyway (otherwise the user would be forced
                to manually unmerge the package).
  5340 zmedico  When a removal phase fails, tell the user where the ebuild is
                and advise them that the ebuild can be removed in order to
                skip the removal phases.
  5341 zmedico  For installed packages with invalid depstrings, tell the user
                the location of the *DEPEND files.
  5346 zmedico  Make emerge enable backward compatibility mode for
                dep_check() calls on installed packages so that it can
                gracefully invalid atoms or dep syntax.
  5348 zmedico  For bug #158649, allow --buildpkgonly to bypass the fakedb
                population like --nodeps does.
  5349 zmedico  Revert the default choice for --ask --unmerge (bug #158354)
                because people are complaining.


bin/misc-functions.sh
  5238 genone   adjust QA_* variable names for complex values of like
                x86-fbsd


bin/repoman
  5228 zmedico  Remove all traces of FEATURES=cvs since code for that feature
                no longer exists (apparently since portage-2.1).
  5240 zmedico  Use portage.isvalidatom() for atom validation in repoman.
  5243 zmedico  Clean up depstring/atom splitting and filtering.
  5264 zmedico  Add an allow_blockers parameter to isvalidatom so that the
                behavior is optional. Thanks to Brian Harring for the
                suggestion.
  5301 zmedico  Make repoman cache per-profile xmatch results.


man/make.conf.5
  5228 zmedico  Remove all traces of FEATURES=cvs since code for that feature
                no longer exists (apparently since portage-2.1).


pym/cache/flat_hash.py
  5354 zmedico  When an unprivileged user runs portage (not in the portage
                group), use metadata_overlay together with a volatile
                in-memory cache module in order to implement cache writes.
                This allows, for example, a user who's not in the portage
                group to run `ebuild foo.ebuild digest` (issue reported by
                Charlie Shepherd <masterdriverz@gentoo.org>).


pym/cache/metadata_overlay.py
  5338 zmedico  More intelligently handle CacheCorruption errors in the
                writable cache.
  5354 zmedico  When an unprivileged user runs portage (not in the portage
                group), use metadata_overlay together with a volatile
                in-memory cache module in order to implement cache writes.
                This allows, for example, a user who's not in the portage
                group to run `ebuild foo.ebuild digest` (issue reported by
                Charlie Shepherd <masterdriverz@gentoo.org>).
  5356 zmedico  Pass a cache instance into metadata_overlay since it doesn't
                have enough information to construct one itself.
  5357 zmedico  Make metadata_overlay use the autocommits attribute of the
                underlying database.


pym/cache/volatile.py (Added)
  5355 zmedico  Add volatile cache module missing from the previous commit.


pym/elog_modules/mod_mail_summary.py (Added)
  5325 genone   New elog modules for dismerging messages into a single
                file/mail
  5343 zmedico  For bug #158658, fix the 'TypeError: int argument required'
                that happens in the finalize() routine.


pym/elog_modules/mod_save_summary.py (Added)
  5325 genone   New elog modules for dismerging messages into a single
                file/mail
  5329 zmedico  Fix an import statement typo.


pym/portage.py
  5229 zmedico  Clean up vardbapi.aux_get().
  5230 zmedico  Remove locking from dbapi.aux_update() implementations so
                that the caller can handle locking instead.
  5236 zmedico  Fix broken SLOT update logic in fakedbapi.cpv_inject().
  5237 zmedico  Fix a type from the previous commit.
  5239 zmedico  Add use.force support to dep_check for repoman especially.
                Thanks to Flameeyes for reporting and tesing.
  5249 zmedico  Avoid unnecessary dbapi.cp_list() calls inside cpv_expand().
  5252 zmedico  Use dep_getcpv() inside dep_expand() for code sharing and
                caching.
  5253 zmedico  Cache the results of fakedbapi.match() calls and clear the
                cache automatically when necessary.
  5254 zmedico  Initialize the match cache in the bindbapi constructor.
  5267 zmedico  Ensure that the root of the vdb exists before attempting to
                lock it. Thanks to Flameeyes for reporting.
  5273 zmedico  Make the fetch phase bail out if FETCHCOMMAND or
                RESUMECOMMAND are missing. Thanks to Flameeyes for reporting.
  5274 zmedico  All portage.fetch() to succeed even if FETCHCOMMAND and
                RESUMECOMMAND aren't defined.
  5281 zmedico  Move the biolerplate cpv_all() implementation from portdbapi
                to dbapi.
  5298 zmedico  Cache KEYWORDS and EAPI metadata values in order to speed up
                portdbapi.gvisible() calls. This greatly improves repoman
                performance (help emerge a little too).
  5299 zmedico  Make sure eapi is defined in order to prevent a NameError.
  5300 zmedico  Split ACCEPT_KEYWORDS before entering the loop for better
                efficiency.
  5304 zmedico  Make dep_check validate all depstring atoms in order to
                prevent problems from occuring later due to unexpected
                invalid atoms.
  5305 zmedico  Make use_reduce raise an InvalidDependString exception for
                use? conditionals that aren't followed by parenthesis and add
                appropriate exception handling in dep_check.
  5315 zmedico  Make portdbapi cache SLOT in addition to EAPI and KEYWORDS in
                order to further optimize dep matching/selection.
  5323 zmedico  Increase cache hits in portdbapi.xmatch().
  5325 genone   New elog modules for dismerging messages into a single
                file/mail
  5326 zmedico  Make binarytree.move_ent() properly update PF.
  5327 zmedico  For bug #158558, fix broken ebuild rename logic in
                vardbapi.move_ent().
  5328 zmedico  For bug #158558, make the unmerge phase do automatic cleanup
                for broken vardbapi.move_ent() in portage versions before
                2.1.2.
  5330 zmedico  For bug #158608, don't attempt to use distlocks when it's
                detected that the filesystem is readonly (unless
                "skiprocheck" is in FEATURES for some strange reason).
  5331 zmedico  Add missing newlines to the warning message that's printed
                when the user has distlocks enabled together with skiprocheck
                and the filesystem is readonly.
  5340 zmedico  When a removal phase fails, tell the user where the ebuild is
                and advise them that the ebuild can be removed in order to
                skip the removal phases.
  5342 zmedico  For bug #158632, make aux_get caching safe for missing values
                in cache entries.
  5344 zmedico  Use the return value from setdefault to avoid an extra dict
                lookup.
  5345 zmedico  Create a backward compatibility mode for dep_check() so that
                emerge can use it to gracefully deal with installed packages
                that have invalid atoms or dep syntax.
  5347 zmedico  Fix the "help" phase so that it works without build dirs.
  5350 zmedico  Use a pipe instead of a temp file for the depend phase.
  5353 antarus  Remove two old functions, appear to be relics from 2.0.X
                branch, no longer used by portage or gentoolkit or esearch
  5354 zmedico  When an unprivileged user runs portage (not in the portage
                group), use metadata_overlay together with a volatile
                in-memory cache module in order to implement cache writes.
                This allows, for example, a user who's not in the portage
                group to run `ebuild foo.ebuild digest` (issue reported by
                Charlie Shepherd <masterdriverz@gentoo.org>).
  5356 zmedico  Pass a cache instance into metadata_overlay since it doesn't
                have enough information to construct one itself.
  5359 zmedico  Combine two default EAPI settings in portdbapi.aux_get().


pym/portage_dep.py
  5241 zmedico  Make isvalidatom() (and thus repoman) reject atoms containing
                |() characters. Thanks to Brian Harring for the suggestion.
  5242 zmedico  Add ? to the invalid atom characters.
  5250 zmedico  Cache the results of match_from_list() calls.
  5251 zmedico  Cache results of dep_getcpv() calls.
  5260 zmedico  To minimize memory consumption and maximize performance, use
                hash values for cache keys.
  5262 zmedico  Don't collapse the tuple into a hash, since dict can use
                __eq__ to avoid problems with hash collisions. Thanks to
                Brian Harring for reporting.
  5263 zmedico  For bug #157734, fix repoman isvalidatom() checks. Thanks to
                Brian Harring for the patch.
  5264 zmedico  Add an allow_blockers parameter to isvalidatom so that the
                behavior is optional. Thanks to Brian Harring for the
                suggestion.
  5305 zmedico  Make use_reduce raise an InvalidDependString exception for
                use? conditionals that aren't followed by parenthesis and add
                appropriate exception handling in dep_check.
  5345 zmedico  Create a backward compatibility mode for dep_check() so that
                emerge can use it to gracefully deal with installed packages
                that have invalid atoms or dep syntax.


pym/portage_exec.py
  5351 antarus  I hate docstrings


pym/portage_update.py
  5303 zmedico  Fix global updates error handling to prevent a traceback with
                python-2.5 as reported in bug #158264.


=============================================================================
2.1.2_rc3
2006-12-08
trunk revision 5227
=============================================================================


bin/dispatch-conf
  5136 zmedico  For bug #8423, make dispatch-conf preserve timestamps when
                possible.


bin/ebuild
  5169 zmedico  For `ebuild --force digest`, exempt the depend phase from
                Manifest checks.
  5201 zmedico  For bug #157393, fix up ebuild path normalization so that
                it's compatible with portdbapi handling and works properly
                with symlinks (like crossdev creates).
  5202 zmedico  Make sure the ebuild path is properly normalized.


bin/ebuild.sh
  5142 solar    - make sure QUIET mode is exported to the environment
                properly when using -q mode.


bin/emerge
  5085 zmedico  For bug #155559, force depclean dep_check calls to preference
                installed packages.
  5086 zmedico  Use fake_vardb for cached aux_get calls.
  5092 zmedico  Use mydbapi is None to eliminate the return_all_deps
                parameter from dep_check and dep_zapdeps. The result is the
                same and this way we avoid having an additional parameter
                with overlapping meaning.
  5095 zmedico  For depclean, just pass in None for mydbapi (instead of an
                empty fakedbapi instance) since that's now supported.
  5096 zmedico  Remove redundant package.provided handling that is now
                covered by dep_wordreduce.
  5097 zmedico  Remove more redundant package.provided handling that is now
                covered by dep_wordreduce.
  5101 zmedico  Allow the ROOT setting to come from make.conf. Thanks to
                Daniel Barkalow <barkalow@iabervon.org> for this patch
                (submitted on the gentoo-portage-dev mailing list).
  5105 zmedico  For bug #155739, only check if a dep is in the args when
                myroot == self.target_root.
  5106 zmedico  Print a warning message if a user requests a package from
                package.provided (since it won't be merged).
  5107 zmedico  Enable PORTAGE_CONFIGROOT to be set via an new --config-root
                option. Thanks to Daniel Barkalow <barkalow@iabervon.org> for
                the initial patch (submitted on the gentoo-portage-dev
                mailing list).
  5118 zmedico  Fix a KeyError in emerge --info <pkg> when there is no
                matching ebuild in the tree. Thanks to Bo ?\195?\152rsted
                Andresen <bo.andresen@zlin.dk> for reporting.
  5122 zmedico  For bug #156014, always round up the next kB so that it
                doesn't show 0 kB when some small file still needs to be
                fetched.
  5173 zmedico  For bug #157134, make `emerge --digest` automatically reload
                the config with FEATURES=digest enabled globally.
  5174 zmedico  Fix up mtimedb["ldpath"] references broken by the previous
                commit.
  5180 zmedico  Remove unused depgraph.is_newer_ver_installed() method.
  5184 zmedico  Remove dependence on the vartree api by using equivalent
                vardbapi calls.
  5185 zmedico  Only call calc_changelog if there is an installed version in
                the same slot.
  5189 zmedico  Use a fake vartree for depgraph calculations. This minimizes
                the time that a lock needs to be held on the vardb, and
                allows in-memory global updates when necessary.
  5190 zmedico  Delete the depgraph when it's no longer needed.
  5191 zmedico  Use FakeVartree for vardb lock/cache during depclean.
  5192 zmedico  Allow depclean to silently skip packages unmerged behind it's
                back.
  5193 zmedico  Fix depclean so the fake vartree is used in dep_check calls.
  5194 zmedico  Always silently ingnore missing packages during unmerge.
  5195 zmedico  Remove all traces of the unmerge raise_on_missing parameter.
  5196 zmedico  Fix indentation.
  5206 zmedico  Share the same config instance between portagetree and
                portdbapi instances since clone isn't needed here. Also,
                trigger population of virtuals prior to cloning in emerge.
                This reduces the number of times the virtuals are populated
                from 3 to just 1.
  5207 zmedico  Enable FakeVartree to populate the virtuals so that the vdb
                doesn't have to be scanned separately.
  5211 zmedico  s/zip/izip/ Thanks to Brian Harring for the suggestion.
  5216 genone   Allow searching for action terms again
  5218 zmedico  Avoid bogus 'Deprecated use of action' warnings for valid
                commands such as `emerge -s sync`.
  5219 zmedico  Simplfy deprecated action parsing logic.
  5220 zmedico  For bug #157370, make `emerge --regen` cleanse stale cache
                entries.
  5221 zmedico  Delete the exception object after use.
  5222 zmedico  Break out of the loop if a CacheError occurs.


bin/emerge-webrsync
  5154 zmedico  For consistent behavior in all timezones, make
                emerge-webrsync use UTC time for decisions about which
                snapshots to download.


bin/etc-update
  5135 zmedico  For bug #8423, make etc-update preserve timestamps when
                possible.


bin/misc-functions.sh
  5114 zmedico  For bug #142993, make sure that chown and chgrp calls
                preserve S_ISUID and S_ISGID mode bits.
  5143 solar    - no point in forking a call to true when we can simply use
                the bash internal of : for true
  5164 vapier   drop RESTRICT=stricter since every aspect it covers can be
                handled properly via other means


bin/repoman
  5167 zmedico  Make `repoman fix` work with the new ebuild Manifest checks
                during depend phase.
  5200 zmedico  Make repoman bail out if it's unable to generate the
                Manifest.


make.conf.txt (Added)
  5146 genone   add ReST template to be used for
                manpage/make.globals/make.conf.example generation later on
  5147 genone   fix a few docutils errors
  5148 genone   use a link in CXXFLAGS section (the typo caused it to be a
                target)
  5216 genone   Allow searching for action terms again


man/ebuild.5
  5168 zmedico  Update the RESTRICT=binchecks docs. Thanks to jakub for the
                suggestion and antarus for the patch.


pym/portage.py
  5088 zmedico  Fix portdbapi.cpv_all() so that it actually returns a list of
                all available ebuilds.
  5092 zmedico  Use mydbapi is None to eliminate the return_all_deps
                parameter from dep_check and dep_zapdeps. The result is the
                same and this way we avoid having an additional parameter
                with overlapping meaning.
  5093 zmedico  Allow dep_wordreduce to mark things satisfied by
                package.provided even when mydbapi is None.
  5101 zmedico  Allow the ROOT setting to come from make.conf. Thanks to
                Daniel Barkalow <barkalow@iabervon.org> for this patch
                (submitted on the gentoo-portage-dev mailing list).
  5114 zmedico  For bug #142993, make sure that chown and chgrp calls
                preserve S_ISUID and S_ISGID mode bits.
  5121 zmedico  For bug #150585, stack package.keywords incrementally so that
                -keyword works as expected for any incremental variable. This
                brings the gvisible and getmaskingstatus logic into sync so
                that the confusing (masked by: ) message will not be
                generated in cases where package.keywords contains -keyword
                followed by keyword.
  5123 zmedico  Allow -keyword to be matched since some ebuilds use it.
                Thanks to Brian Harring reporting on bug #150585.
  5129 zmedico  For bug #8423, allow the merge phase to overwrite untouched
                config files and also allow the unmerge phase to unmerge
                untouched config files.
  5133 zmedico  Never overwrite an untouched config file and trigger config
                protection instead (in case the new config has an unwanted
                change). In cases where an installed package in the same slot
                owns a protected file that will be merged, bump the mtime on
                the installed file in order to ensure that it isn't unmerged.
                Thanks to Ciaran McCreesh <ciaranm@ciaranm.org> for his
                suggestion on bug #8423, comment #40.
  5134 zmedico  Update the dblink.isprotected() docstring.
  5150 zmedico  Always verify the ebuild checksums before executing it.
                Thanks to solar for the suggestion and antarus for the
                initial patch.
  5151 zmedico  For manifest and digest phases, use a global variable to
                temporarily exempt the depend phase from manifest checks (in
                cache regeneration is triggered).
  5152 zmedico  Temporarily exempt the depend phase during the help phase
                also.
  5153 zmedico  Avoid checking the same Manifest several times in a row
                during a regen with an empty cache.
  5155 zmedico  Only attempt to verify the Manifest if the ebuild is actually
                in a portage tree.
  5156 zmedico  Make sure that *all* of the ebuilds are listed in the
                Manifest.
  5157 zmedico  Make sure that all depend phases triggered by the digest
                phase are exempt from digest checks.
  5159 zmedico  Skip digest checks when digest is in features.
  5160 zmedico  Make portage.digestgen() automatically exempt the depend
                phase from Manifest checks so that it works for repoman
                without triggering a digest verification failure.
  5161 zmedico  Move the global statement out of the try block so that it's
                clearly in scope for the finally block.
  5166 zmedico  When portdbapi.aux_get() generates a KeyError in
                portage.getmaskingstatus(), handle it by reporting
                "corruption".
  5171 zmedico  Use portage.chdir() instead of os.chdir() in order to avoid
                an 'OSError: [Errno 2] No such file or directory' if the
                working directory doesn't exist. Thanks to Caster for
                reporting.
  5178 zmedico  Implement fakedbapi.aux_update().
  5197 zmedico  For bug #157385, enable portage.digestgen() to fetch any
                distfiles for which there are no existing digests.
  5198 zmedico  Fix broken SRC_URI logic from the previous commit.
  5199 zmedico  Fix broken SRC_URI logic in doebuild.
  5203 zmedico  Fix the 'TypeError: not all arguments converted during string
                formatting' for bug #157385.
  5206 zmedico  Share the same config instance between portagetree and
                portdbapi instances since clone isn't needed here. Also,
                trigger population of virtuals prior to cloning in emerge.
                This reduces the number of times the virtuals are populated
                from 3 to just 1.
  5207 zmedico  Enable FakeVartree to populate the virtuals so that the vdb
                doesn't have to be scanned separately.
  5209 zmedico  Catch an exception instead of using a redundant os.access
                call.
  5212 zmedico  s/zip/izip/ some more


pym/portage_dep.py
  5175 zmedico  Make match_to_list = behavior consistent with >= and <= for
                bug #152127.
  5176 zmedico  Sync match_to_list >=, <=, etc.. code with the new = code.
  5204 zmedico  Revert r5175 for bug #152127 since the original = behavior
                seems more desirable. We can change the >= and <= behavior
                instead.


pym/portage_locks.py
  5214 zmedico  Make all lock files hidden for bug #142369.


pym/portage_util.py
  5114 zmedico  For bug #142993, make sure that chown and chgrp calls
                preserve S_ISUID and S_ISGID mode bits.
  5115 zmedico  Fix apply_permissions logic for cases where mode is
                unspecified.
  5116 zmedico  Fix bit mask support when preserving S_ISUID and S_ISGID in
                apply_permissions.
  5117 zmedico  Really fix bit mask support when preserving S_ISUID and
                S_ISGID in apply_permissions.
  5119 zmedico  Use portage_data.lchown for compatibility.
  5215 antarus  minor syntax changes ( in is faster than has_key ) and
                docstrings


pym/portage_versions.py
  5205 zmedico  For bug #152127, make vercmp give less value to implcit .0,
                so two versions that aren't literally equal are not
                ambiguously given the same value (in sorting, for example).
  5208 antarus  portage_versions lacks a header or copyright notice :x
  5210 antarus  A quick docstring for vercmp


tests (Added)
  5213 antarus  Add pretty basic vercmp unit testing...need more cases


tests/__init__.py (Added)
  5213 antarus  Add pretty basic vercmp unit testing...need more cases
  5217 antarus  add some portage_util tests
  5227 zmedico  Indicate test failure with an exit code.


tests/runTests (Added)
  5213 antarus  Add pretty basic vercmp unit testing...need more cases
  5227 zmedico  Indicate test failure with an exit code.


tests/test_util.py (Added)
  5217 antarus  add some portage_util tests


tests/test_vercmp.py (Added)
  5213 antarus  Add pretty basic vercmp unit testing...need more cases
  5217 antarus  add some portage_util tests


=============================================================================
2.1.2_rc2
2006-11-17
trunk revision 5081
=============================================================================


NEWS
  4779 zmedico  Add news about new-style virtuals being usable for bootstrap
                deps on self.
  4781 zmedico  Add news about package.use in profiles and default USE in
                ebuilds via +flag in IUSE.
  4800 zmedico  Add news about ACCEPT_LICENSE and package.license.
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.
  5081 zmedico  Revert ACCEPT_LICENSE support, since license group support is
                a requirement and it remain unimplemented. This brings trunk
                back into sync with the 2.1.2 branch.


bin/archive-conf
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.
  4903 zmedico  For bug #116616, only run the post_process phase if
                necessary.


bin/chkcontents
bin/clean_locks
bin/emaint
bin/env-update
bin/fix-db.py
bin/md5check.py
bin/pkgname
bin/portageq
bin/regenworld
bin/xpak
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.


bin/dispatch-conf
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4881 zmedico  Just use stat instead of lstat for config protect, so that
                broken symlinks are just ignored.
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.
  4887 zmedico  Add support for frozen config files for which updates are
                automatically zapped. Thanks to Bo ?\195?\152rsted Andresen
                for the initial patch from bug #151685.
  4901 zmedico  For bug #129670, skip the replace-cvs and replace-wscomments
                tests if the diff exit code indicates two two binary files
                that differ.


bin/dosed
  4762 zmedico  Make dosed use sed -i instead of a temp file. Thanks to Tim
                Cera for this patch from bug #152017.
  4763 zmedico  Fix sed options from the previous commit so that it doesn't
                create a backup file ending with "e". Thanks to grobian for
                spotting this issue.


bin/ebuild
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4848 zmedico  Do not pass the "clean" parameter to doebuild since it causes
                ${T} to be cleaned up when it shouldn't be. Thanks to
                Mr_Bones_ for reporting.
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.


bin/ebuild.sh
  4700 zmedico  Disable the ECLASS inherited illegally message during *rm
                phases since it gives false alarms (bug #150442).
  4701 zmedico  Use globing to match *rm phases from the last commit.
  4920 zmedico  Enable RESTRICT=ccache. Thanks to drizzt for reporting.
  4922 zmedico  Don't allow RESTRICT=ccache since it should work and if not
                then it's a bug that ought to be fixed. Thanks to vapier.
  4929 zmedico  Revert implicit rdepend behavior back to the way it was in
                portage-2.0.51. Thanks to vapier for the patch. The original
                change seems to have been an accidentally hunk (referencing
                bug #58819) that was committed to cvs along with another
                patch in revision 1.201.2.32 of ebuild.sh.


bin/emerge
  4683 zmedico  Fix a KeyError triggered by blockers in depgraph.display()
                for bug #151331.
  4697 zmedico  Fix the USE flag handling in depgraph.display() for bug
                #151331, comment #5.
  4698 zmedico  This patch implements intelligent navigation around blockers
                in cases where the merge order can be adjusted (via hard
                deps) such that two mutually blocking packages aren't
                installed simultanously. This fixes bug #150879.
  4699 zmedico  Fix display of nomerge nodes and --tree for ROOT!=/.
  4722 zmedico  For bug #133908, prevent collisions in ${PKGDIR}/All/ by
                automatically bumping colliding packages to
                ${PKGDIR}/${CATEGORY}/ just before a collision would occur.
                Newly built packages are always stored in ${PKGDIR}/All/,
                should this be 100% compatible with previous behavior.
  4726 zmedico  When unable to navigate around blockers, add them back to the
                main digraph so that the --tree display can show them
                properly. This fixes the KeyError reported in comment #15 of
                bug #151331
  4728 zmedico  Remove blocker nodes from the digraph prior to the merge
                order calculation so that they don't trigger false circular
                dependencies as reported in comment #17 of bug #151331.
  4729 zmedico  Blockers that depend on merge order must be validated by
                depgraph.altlist(reversed=False) before the reverse tree is
                generated, since the validation won't work in reverse mode.
  4730 zmedico  Fix altlist blocker validation logic so that the correct
                nodes are added to the list when called in reverse mode.
  4731 zmedico  Always add blockers with priority=digraph.SOFT so that
                blockers with multiple parents can't trigger a circular deps
                panick.
  4732 zmedico  Make --depclean treat DEPEND as soft deps instead of forcing
                the user to have all build time deps installed.
  4733 zmedico  Use setdefault to avoid an extra dict lookup.
  4735 zmedico  Stack use.mask/package.use.mask together at each level of the
                profile for bug #151586, and do the same with
                use.force/package.use.force.
  4738 zmedico  Encapsulate altlist calls (for blockers that depend on merge
                order) in validate_blockers().
  4745 zmedico  Add more dependency priority levels for merge order
                calculations. Previously, all installed deps were categorized
                at the same level with other soft deps. Now there are 3
                priority levels for soft deps: satisfied buildtime, satisfied
                runtime, and other.
  4746 zmedico  Fix a typo in xrange arguments from the previous commit.
  4747 zmedico  Remove the unused system slot from DepPriority.
  4748 zmedico  Fix --usepkg --newuse logic so that it doesn't throw a
                KeyError if there's no matching ebuild in the tree.
  4749 zmedico  Add __weakref__ to __slots__ so that weakref support isn't
                disabled.
  4750 zmedico  Don't initialize __weakref__ in the DepPriority constructor.
  4751 zmedico  All packages to be added to the world favorites via
                --noreplace, even when --ask is enabled. Thanks to leio for
                reporting this issue.
  4752 zmedico  Explicitly set the priority when a node is added to enforce
                merge order for blocker avoidance.
  4753 zmedico  Handle unresolvable blockers properly for bug #151822.
  4756 zmedico  s/digraph.MEDIUM/DepPriority.MEDIUM/
  4759 zmedico  Only call altlist() to validate blockers when necessary.
  4761 zmedico  Remove special case of --emptytree in depgraph.display().
                Thanks to Jason Stubbs for this patch from bug #152030.
  4766 zmedico  Clean up the blocker validation logic so that "blocks" nodes
                are no longer stored in the main digraph.
  4769 zmedico  We there is a circular deps panic in reversed mode, do the
                circular deps output without reversed mode since it should
                reduce the noise level.
  4772 zmedico  For bug #152175, trigger greedy --update behavior when an
                atom matches a slot that isn't installed yet.
  4773 zmedico  Apply the fix for bug #152175 to system/world greedy
                behavior.
  4774 zmedico  In greedy atom handlink, filter binary package for visiblity.
  4775 zmedico  More filtering binary package for visiblity in greedy atom
                handling.
  4776 zmedico  Add nodes to the fakedb in depgraph.create instead of
                depgraph.select_deps. It used to be in select_deps only for
                the case of packages that depend on themselves for bootstrap,
                but that hack isn't needed anymore because dep_check returns
                all deps now.
  4777 zmedico  Update the docs regarding delay of config.setinst calls for
                bootstrap deps on old-style virtuals.
  4778 zmedico  Remove redunant population of the fakedb in
                depgraph.validate_blockers, since r4776 makes it unnecessary.
  4783 zmedico  Also check keyword visibility via gvisible.
  4788 zmedico  Fix visibility checks so that binary packages aren't masked
                just because there is no matching ebuild in the tree.
  4794 zmedico  Fix gcc version parsing once again for bug #137786. sigh. :)
  4806 zmedico  Don't display the "Please update portage" message in --quiet
                mode. Thanks to solar.
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4823 genone   rename getmaskingreason() to getpmaskcomment() to clarify its
                function, report each license as a separate mask instead of
                combining them all together into a single value for
                getmaskingstatus()
  4827 genone   show licenses or pointer to license files on 'masked by'
                message
  4858 zmedico  Avoid a TypeError with emerge -kN when there's no matching
                ebuild.
  4872 zmedico  Use a tuple for __slots__ so that it's immutable.
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.
  4906 zmedico  Implement --color < y | n > for bug #42115 and deprecate
                --nocolor. When --color is not specified, rely on the old
                NOCOLOR variable and/or stdout auto-detection.
  4918 zmedico  Silently omit info_pkgs that aren't installed. Thanks to
                solar.
  4926 zmedico  Fix --ignore-default-opts for bug #153980.
  4947 zmedico  Prevent the --newuse check in depgraph.create() that is
                intended for the ebuild type from being done on binary
                packages (which can lead to a KeyError). The --newuse check
                for binaries is elsewhere (in select_dep).
  4949 zmedico  Ensure that sys-apps/portage is as close as possible to the
                beginning of the merge list. This is accomplished by merging
                it before any soft deps that it may have.
  4950 zmedico  Remove "update portage before proceeding" message that is no
                longer relevant.
  4951 zmedico  Remove old code the used to bump portage near the top of the
                merge list. It's ineffective now that a complete depgraph is
                built.
  4953 zmedico  Make sure the node is still in the graph so that a KeyError
                can't happen.
  4955 zmedico  For bug #154223, bridge new-style virtuals into old-style
                virtuals in order to prevent old-style virtuals from making
                new-style virtuals invisible.
  4962 zmedico  Simplify the new-style -> old-style virtuals bridge by doing
                it implicitly for all virtuals instead of explicit scanning
                for available new-style virtuals.
  4968 zmedico  Fix validate_blockers() so that a package doesn't block
                itself via a virtual that it provides.
  4970 zmedico  Print the number of upgrades, downgrades, etc. next to size
                of downloads. Thanks to Bo ?\195?\152rsted Andresen
                <bo.andresen@zlin.dk> for the initial patch from bug #153847.
  4974 zmedico  Thanks to Bo ?\195?\152rsted Andresen <bo.andresen@zlin.dk>
                for this output fix for bug #153847.
  4976 zmedico  Plug some holes in the blocker validation logic so that
                nothing can slip through.
  4978 zmedico  Remove some stray blocker validation logic.
  4983 zmedico  For bug #154207, add a note about package.provided to the
                depclean warning message.
  4984 zmedico  Add --newuse back to the suggested options in the depclean
                warning message, since it's still needed in some cases.
  5004 zmedico  Fix emerge --sync with a cvs:// uri so that it runs
                /etc/portage/bin/post_sync like it would with a normal
                rsync:// uri. Thanks to drizzt for reporting.
  5006 zmedico  Fix initial cvs checkout logic for bug #100478.
  5008 zmedico  For initial gentoo-x86 checkout, if $PORTDIR exists and is
                empty then remove it so that the gentoo-x86 checkout can
                replace it.
  5012 zmedico  Fix depgraph.pkg_node_map so that it properly supports $ROOT.
  5023 zmedico  For bug #154919, when depclean is unable to resolve
                dependencies, notify the user that it may be necessary to
                manually uninstalled packages that no longer exist in the
                portage tree.
  5028 zmedico  For bug #154989, lock /var/db/pkg while determining which
                packages to unmerge, then release the lock. The lock will be
                reacquired/released for each individual unmerge, allowing
                opportunities for other processes to acquire it.
  5032 zmedico  Use try/finally to ensure that locks are properly released in
                emergelog().
  5038 zmedico  For bug #154897, show a summary of fetch restrictions if
                there are any.
  5040 zmedico  Cache depgraph.altlist results, since altlist is called
                multiple times and can be time consuming for a large
                depgraph.
  5042 zmedico  Make fakedbapi support generic metadata instead of just
                slots.
  5049 zmedico  Only reload the config if global updates have actually been
                performed.
  5051 zmedico  Automatically convert --ask to --pretend when the user
                doesn't have the privileges for --ask. Thanks to Daniel
                Barkalow <barkalow@iabervon.org> for the initial patch
                (submitted on gentoo-portage mailing list).
  5053 zmedico  Don't try to lock the vdb unless privileges are sufficient.
  5057 zmedico  Add a note about removal of new-style virtuals in the
                depclean output.
  5063 zmedico  Revert the depclean message, since new-style virtuals will
                now be kept.
  5069 zmedico  Fix a typo that prevents emerge --clean from working
                properly. Thanks to leio for reporting.
  5071 zmedico  For bug #155484, apply PORTAGE_NICENESS as soon as possible
                (especially before global updates).
  5081 zmedico  Revert ACCEPT_LICENSE support, since license group support is
                a requirement and it remain unimplemented. This brings trunk
                back into sync with the 2.1.2 branch.


bin/emerge-webrsync
  4959 zmedico  For bug #154220, run /etc/portage/bin/post_sync at the end of
                emerge-webrsync.


bin/fixpackages
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.
  5073 zmedico  Make fixpackages use PORTAGE_NICENESS.
  5075 zmedico  s/settings/mysettings/ typo


bin/misc-functions.sh
  4737 zmedico  Add back the -v option for tar (removed for bug #151146) in
                dyn_package(), but don't enable -v when --quiet is enabled.
  4863 zmedico  Use mtree to save/restore bsd file flags before/after prepall
                and installation. Thanks to Diego Petten?\195?\178 for this
                patch (related to bug #153109).


bin/prepall
  4863 zmedico  Use mtree to save/restore bsd file flags before/after prepall
                and installation. Thanks to Diego Petten?\195?\178 for this
                patch (related to bug #153109).


bin/repoman
  4792 zmedico  Add support for masking of packages via ACCEPT_LICENSE and
                /etc/portage/package.license. Thanks to Jason Stubbs for the
                initial patch from bug #17367.
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4884 zmedico  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
                portage's python modules, then fall back to an explicit
                sys.path insertion if an ImportError occurs.
  5081 zmedico  Revert ACCEPT_LICENSE support, since license group support is
                a requirement and it remain unimplemented. This brings trunk
                back into sync with the 2.1.2 branch.


cnf/dispatch-conf.conf
  4887 zmedico  Add support for frozen config files for which updates are
                automatically zapped. Thanks to Bo ?\195?\152rsted Andresen
                for the initial patch from bug #151685.


cnf/make.conf.sparc-fbsd.diff (Added)
  4724 genone   add make.conf diff for sparc-fbsd arch (from Uberlord)


cnf/make.globals
  4734 zmedico  Merge package.use and USE from make.defaults together at each
                level of the profile stack. This is analogous to how use.mask
                and package.use.mask are planned to be merged for bug
                #151586.


man/ebuild.5
  4889 vapier   recommend people use `emake` rather than `make` when
                installing with DESTDIR


man/emerge.1
  4907 zmedico  Document the new --color < y | n > option for bug #42115.


man/make.conf.5
  4797 zmedico  Add some ACCEPT_LICENSE docs.
  4813 zmedico  Remove ACCEPT_LICENSE docs until they're really implemented.
  4912 zmedico  Fix the USE_ORDER docs for bug #153764. Thanks to Alec Warner
                for the initial patch.


man/portage.5
  4780 zmedico  Add package.use to the list of files supported in profiles.
  4798 zmedico  Put the package.keywords docs in alphabetical order with the
                others.
  4799 zmedico  Add some package.license docs.
  4803 zmedico  Add package.license to the list of files.
  4813 zmedico  Remove ACCEPT_LICENSE docs until they're really implemented.


pym/cache/anydbm.py
pym/cache/flat_list.py
pym/cache/metadata_overlay.py
pym/cache/sql_template.py
pym/cache/sqlite.py
  4821 zmedico  Reverse the relationship between __contains__ and has_key in
                all cache classes since python handles the "in" operator more
                efficiently than a has_key method call.


pym/cache/flat_hash.py
  4808 zmedico  Enable recognition of _mtime_ that doesn't rely on cache
                mtime mangling.
  4821 zmedico  Reverse the relationship between __contains__ and has_key in
                all cache classes since python handles the "in" operator more
                efficiently than a has_key method call.


pym/cache/metadata.py
  4708 zmedico  Add a missing method parameter.
  4820 zmedico  Test for basestring instead of types.DictType so that the
                test more generic.


pym/cache/template.py
  4807 zmedico  Remove paths from _eclasses_ serialization in the cache. This
                makes the mtimes of the eclasses the only thing that
                distinguishes them, but the probablility of collision is
                negligible. This same _eclasses_ format will be used to
                serialize eclass mtimes in cache that is distributed via the
                rsync mirrors. The deserialization code can handle mixtures
                of both the old and new formats.
  4814 zmedico  Improve reconstruct_eclasses error handling.
  4815 zmedico  For the time being, write a variation of the old _eclass_
                format so that cache written only forces a regen for older
                versions of portage rather than a ValueError due to failed
                long() conversion.
  4818 zmedico  For full compatibility with older versions of portage, write
                the path in the serialized _eclasses_ when possible.
  4821 zmedico  Reverse the relationship between __contains__ and has_key in
                all cache classes since python handles the "in" operator more
                efficiently than a has_key method call.
  4855 zmedico  Add backward compatibility code for cache modules that
                override has_key instead of __contains__.


pym/cache/util.py
  4924 zmedico  When transferring cache after sync, compare all metadata to
                make sure it is identical (don't trust _mtime_ and _eclasses_
                alone). Local tests show that this can add approximately 15%
                more time to the metadata update, but it's needed for things
                like bug #153591.
  4925 zmedico  Make sure trg is defined.


pym/dispatch_conf.py
  4822 genone   streamline portage pythonpath handling and add an override
                analog to how the bash side does it
  4850 zmedico  Don't bother to insert /usr/lib/portage/pym into sys.path
                from inside a module. That's the caller's job.


pym/eclass_cache.py
  4807 zmedico  Remove paths from _eclasses_ serialization in the cache. This
                makes the mtimes of the eclasses the only thing that
                distinguishes them, but the probablility of collision is
                negligible. This same _eclasses_ format will be used to
                serialize eclass mtimes in cache that is distributed via the
                rsync mirrors. The deserialization code can handle mixtures
                of both the old and new formats.
  4818 zmedico  For full compatibility with older versions of portage, write
                the path in the serialized _eclasses_ when possible.
  4819 zmedico  Fix broken is_eclass_data_valid comparison logic.


pym/emergehelp.py
  4851 zmedico  Add --with-bdeps to emerge --help output.
  4852 zmedico  Update help for --deep.
  4853 zmedico  Update help for greedy behavior of --update.
  4908 zmedico  Add --color < y | n > help output for bug #42115.
  4909 zmedico  Remove broken nocolor() call, since thats handled internally
                by the output module anyway.


pym/output.py
  4771 zmedico  Allow an empty PROMPT_COMMAND for bug #152157.
  4782 zmedico  For bug #152157, don't send a redundant escape sequence with
                ${PROMPT_COMMAND}.
  4906 zmedico  Implement --color < y | n > for bug #42115 and deprecate
                --nocolor. When --color is not specified, rely on the old
                NOCOLOR variable and/or stdout auto-detection.


pym/portage.py
  4704 zmedico  Simplify binarytree.getname().
  4712 zmedico  Trigger binarytree population on bindbapi.cpv_all() calls.
  4722 zmedico  For bug #133908, prevent collisions in ${PKGDIR}/All/ by
                automatically bumping colliding packages to
                ${PKGDIR}/${CATEGORY}/ just before a collision would occur.
                Newly built packages are always stored in ${PKGDIR}/All/,
                should this be 100% compatible with previous behavior.
  4734 zmedico  Merge package.use and USE from make.defaults together at each
                level of the profile stack. This is analogous to how use.mask
                and package.use.mask are planned to be merged for bug
                #151586.
  4735 zmedico  Stack use.mask/package.use.mask together at each level of the
                profile for bug #151586, and do the same with
                use.force/package.use.force.
  4741 zmedico  Filter empty elements in cumulative env-update variables.
                Thanks to Brian Harring for this patch from bug #151694.
  4744 zmedico  Eliminate an unnecessary string concatenation.
  4745 zmedico  Add more dependency priority levels for merge order
                calculations. Previously, all installed deps were categorized
                at the same level with other soft deps. Now there are 3
                priority levels for soft deps: satisfied buildtime, satisfied
                runtime, and other.
  4760 zmedico  For userpriv, call setgroups with all groups that the portage
                user belongs to (bug #137610).
  4786 zmedico  Optimize config.setcpv so that it only calls regenerate when
                necessary. Thanks to Jason Stubbs for the initial patch from
                bug #17367.
  4787 zmedico  Use reset instead of regenerate (revert part of the previous
                commit) in order to properly clear the env layer of the
                config.
  4789 zmedico  Call load_infodir before the setup phase for binary packages
                so that USE is properly set.
  4790 zmedico  Don't put empty incrementals in the environment.
  4791 zmedico  Do put empty incrementals in the environment if they are
                already set.
  4792 zmedico  Add support for masking of packages via ACCEPT_LICENSE and
                /etc/portage/package.license. Thanks to Jason Stubbs for the
                initial patch from bug #17367.
  4793 zmedico  s/str_matches/acceptable_licenses/ typo
  4801 zmedico  Make config.load_infodir also load the data into the env
                layer in order to ensure that it has preference over what may
                have been there.
  4802 zmedico  Don't limit the size of USE in config.load_infodir.
  4804 zmedico  Don't put -* in the env layer, since that layer isn't part of
                the incremental stacking in regenerate.
  4805 zmedico  In getmaskingstatus(), add missing check for * in
                acceptable_licenses.
  4810 zmedico  Disable ACCEPT_LICENSE support until the details of license
                groups are decided and implemented.
  4817 zmedico  For bug #152726, ignore hidden files in vardbapi.cp_list().
  4823 genone   rename getmaskingreason() to getpmaskcomment() to clarify its
                function, report each license as a separate mask instead of
                combining them all together into a single value for
                getmaskingstatus()
  4824 genone   need a mutable config instance to use setcpv
  4826 genone   add function getlicensetexts() to extract license texts
                relevant to a given cpv (to be used by emerge masked by
                display)
  4827 genone   show licenses or pointer to license files on 'masked by'
                message
  4828 genone   show licenses or pointer to license files on 'masked by'
                message
  4863 zmedico  Use mtree to save/restore bsd file flags before/after prepall
                and installation. Thanks to Diego Petten?\195?\178 for this
                patch (related to bug #153109).
  4867 zmedico  Prevent an attribute error AttributeError for invalid binary
                packages for which there is no CATEGORY data.
  4869 zmedico  Don't forget to continue for invalid binpkgs.
  4877 zmedico  For bug #153295, do a sanity check for non-string types in
                config.environ().
  4879 zmedico  For getmaskingstatus messages, don't assume ARCH is a valid
                keyword, since that assumption is not necessarily correct for
                operating systems other than Linux. Thanks to Diego
                Petten?\195?\178 for reporting.
  4885 zmedico  Fix a KeyError when the profile doesn't define default USE.
  4893 zmedico  For bug #153295, make load_infodir ignore files that contain
                null bytes.
  4899 zmedico  For bug #153282, automatically find the owner package(s) in
                the event of a fatal file collision (since the collision is
                fatal, the performance hit doesn't matter).
  4916 zmedico  For bug #153951, fail with a simple "Permission denied" error
                if the merge phase doesn't have write access to $ROOT.
  4955 zmedico  For bug #154223, bridge new-style virtuals into old-style
                virtuals in order to prevent old-style virtuals from making
                new-style virtuals invisible.
  4957 zmedico  Make config.add_new_virtuals() work properly even if
                self.virtuals has previously been initialized.
  4962 zmedico  Simplify the new-style -> old-style virtuals bridge by doing
                it implicitly for all virtuals instead of explicit scanning
                for available new-style virtuals.
  4966 zmedico  Minimize getvirtuals() calls and dict lookups inside
                dep_virtual().
  4980 zmedico  s/grabdict/grabdict_package/ for bug #63429.
  5002 zmedico  Make digestcheck() fail if an ebuild isn't listed in the
                Manifest. Thanks to pva for reporting.
  5010 zmedico  For bug #154554, validate all profile virtuals atoms.
  5021 zmedico  For bug #154921, prevent an IndexError when a + is in USE.
  5027 zmedico  For bug #154989, use a single lock on /var/db/pkg since finer
                grained locking is unnecessary and often insufficient.
  5030 zmedico  Use try/finally to ensure that locks are properly released in
                portdbapi.aux_get().
  5033 zmedico  Use try/finally to ensure that locks are properly released in
                dblink.unmerge().
  5034 zmedico  Remove reentrance support for dblink.lockdb() since it's no
                longer used and it won't necessarily work correctly now that
                a global vdb lock is used.
  5036 zmedico  For bug #154986, show the usual "Filesize does not match
                recorded size" message even for fetch restricted files.
  5042 zmedico  Make fakedbapi support generic metadata instead of just
                slots.
  5044 zmedico  Remove useless unmerge() call after collision-protect has
                prevented anything from being merged.
  5046 zmedico  Fix a lock file leak.
  5048 zmedico  Make portage.global_updates() return any updates that may
                have been performed.
  5055 zmedico  For bug #141118, make dep_check do recursive expansion of
                new-style virtuals.
  5061 zmedico  Pull in the new-style virtuals and install them so that the
                vdb has complete standalone dep info, in case a portage tree
                isn't available.
  5062 zmedico  For bug #141118, make dep_zapdeps assign zero cost to
                new-style virtuals.
  5064 zmedico  Update the _expand_new_virtuals docstring with a not about
                zero cost for new-style virtuals.
  5066 zmedico  Fix _expand_new_virtuals so that it doesn't allow any virtual
                deps to go unaccounted for.
  5067 zmedico  Integrate old-style virtuals handling into
                _expand_new_virtuals() and prefer new-style over old-style
                whenever they are available.
  5081 zmedico  Revert ACCEPT_LICENSE support, since license group support is
                a requirement and it remain unimplemented. This brings trunk
                back into sync with the 2.1.2 branch.


pym/portage_checksum.py
  4972 zmedico  Thanks to Chris White for these portage_checksum docstrings.
  5031 zmedico  Use try/finally to ensure that locks are properly released in
                perform_checksum().


pym/portage_const.py
  4792 zmedico  Add support for masking of packages via ACCEPT_LICENSE and
                /etc/portage/package.license. Thanks to Jason Stubbs for the
                initial patch from bug #17367.
  4809 zmedico  Add ACCEPT_LICENSE back to incrementals so that profiles can
                affect it.
  5081 zmedico  Revert ACCEPT_LICENSE support, since license group support is
                a requirement and it remain unimplemented. This brings trunk
                back into sync with the 2.1.2 branch.


pym/portage_data.py
  4760 zmedico  For userpriv, call setgroups with all groups that the portage
                user belongs to (bug #137610).


pym/portage_dep.py
  4987 zmedico  Thanks to Chris White for these portage_dep docstrings.
  4999 zmedico  Thanks again to Chris White for these additional portage_dep
                docstrings.


pym/portage_manifest.py
  4743 zmedico  Make empty digest-* files 0 bytes instead of 1 byte. Thanks
                to Sven Wegener for reporting this.


pym/portage_util.py
  4718 zmedico  Make grabdict incremental, so that keys occuring multiple
                times will stack up instead of overwritting eachother. Thanks
                to Sven Wegener for this suggestion.
  4719 zmedico  Simplify and optimize grabdict. Thanks to Brian Harring for
                suggesting this.
  4736 zmedico  Add -* support to stack_lists() and use dict.pop() for
                removal of flags when appropriate.
  4742 zmedico  Fix CONFIG_PROTECT so that is works with symlinked
                directories for bug #151502.
  4881 zmedico  Just use stat instead of lstat for config protect, so that
                broken symlinks are just ignored.


=============================================================================
2.1.2_pre3
2006-10-13
trunk revision 4679
=============================================================================


NEWS
  4599 zmedico  Add news about slot deps.
  4609 zmedico  Add news about major bug fixes in 2.1.2.
  4629 zmedico  Add news about multiple inheritance support in profiles.


RELEASE-NOTES
  4610 zmedico  Add a release note about --with-bdeps.
  4611 zmedico  Add a heading for portage-2.1.2.


bin/dosed
  4660 zmedico  Use -e instead of -a for better cross-shell compatibility.
                Thanks to exg.


bin/ebuild.sh
  4657 blubb    disable path globbing when creating metadata keys; bug
                150866; thanks to brian harring for the patch
  4677 zmedico  Always `unset DEPEND RDEPEND PDEPEND IUSE` prior to sourcing
                the ebuild in order to ensure correct interaction during the
                process of sourcing. Thanks to exg for reporting this issue.
  4679 zmedico  Implement per-package default USE flags at the ebuild and
                profile levels for bug #61732.


bin/emerge
  4566 zmedico  Don't try to match call best_match_to_list() on "blocks"
                nodes for bug #149576.
  4567 zmedico  Emulate old --update world/system behavior for bug #149527.
  4571 zmedico  Add medium priority level into the digraph (in addition to
                the existing hard and
  4572 zmedico  Fix depgraph.altlist() so that it can identify a group of
                nodes that completely satisfy eachothers non-soft deps. This
                should complete the fix for bug #149881.
  4573 zmedico  Remove unnecessary set creation.
  4576 zmedico  In depgraph.altlist(), use a recursive fuction to gather
                groups of nodes that RDEPEND on eachother.
  4577 zmedico  Remove a len(nodes) == 1 test that's never True.
  4578 zmedico  Refector depgraph.altlist() reverse/ignore_priority handling.
  4579 zmedico  Add a digraph.NONE constant to represent no priority.
  4580 zmedico  Print a message about make.globals if PORTDIR is undefined.
  4582 zmedico  Use 01775 permissions for subdirectories of PORTAGE_TMPDIR,
                and 0755 permissions for other directories (bug #149062).
  4586 zmedico  When gathering a group of nodes to merge (with circular
                RDEPEND), make sure not to prematurely merge any nodes that
                have unsatisfied hard deps.
  4589 zmedico  Don't apply the sticky bits until we have a complete plan for
                bug #149062.
  4595 zmedico  For bug #4698, use slot deps to ensure that all installed
                slots are automatically updated.
  4600 zmedico  For bug #150178, print an error message when emerge is called
                with both --config and --pretend.
  4605 zmedico  For bug #48195, fall back to the installed packages when
                there are no other choices. Global updates are automatically
                performed on *DEPEND if necessary in order to clean up stale
                atoms (we do single packages as necessary because it's too
                time consuming to do the whole vdb at once).
  4606 zmedico  Reject installed packages if they have a matching masked
                ebuild in the tree.
  4608 zmedico  Delete some temporary variables after use.
  4612 zmedico  Fix package type assumptions in depgraph.display() for bug
                #150359.
  4613 zmedico  Remove redunant quotes for bug #150381. This change is
                related to the shlex posix mode used to fix bug #14215.
  4619 zmedico  Make system/world less greedy for bug #150251.
  4620 zmedico  Fix another bad package type assumption in
                depgraph.display().
  4621 zmedico  For bug #150361, implement greedy matching of command line
                atoms against relevant installed slots. This patch allows a
                subset of installed slots to be pulled in via operators such
                as > or <.
  4624 zmedico  Clean up depgraph.select_files() to use one list of tuples
                instead 2 separate lists.
  4628 zmedico  Generate the depgraph.args_keys list _before_ building the
                graph.
  4632 zmedico  Remove unused PORTAGE_CALLER=emerge from the environment.
  4641 zmedico  Make --newuse not imply --update anymore because that
                restriction is unnecessary.
  4642 zmedico  Make --tree not imply --pretend anymore so that people can
                put it in EMERGE_DEFAULT_OPTS.
  4649 zmedico  Fix breakage in generation of favorites list for bug #150754.
  4654 zmedico  Move PORTAGE_BUILDDIR in to a category subdirectory and clean
                up the category directory if empty (while holding lock). This
                this will help avoid PORTAGE_BUILDDIR collisions for parallel
                builds and will also hack around bug #150454.
  4658 zmedico  Use grabfile instead of cat to display the gentoo-release
                file.
  4659 zmedico  Append PORTAGE_RSYNC_EXTRA_OPTS after the default options for
                bug #150883.
  4675 zmedico  For bug #151238, fix --with-bdeps logic so that it works
                correctly with --onlydeps.
  4678 zmedico  For bug #151082, don't allow installed packages to
                inappropriately satisfy packages that have been explicitly
                requested as arguments.
  4679 zmedico  Implement per-package default USE flags at the ebuild and
                profile levels for bug #61732.


bin/etc-update
  4645 zmedico  Add $ROOT and $PORTAGE_CONFIGROOT support for etc-update.
                Thanks to Jonathan Adamczewski <jadamcze@utas.edu.au> for
                this patch from bug #150370.


bin/misc-functions.sh
  4653 vapier   do not abort for the time being with lazy bindings and setuid
                apps and FEATURES=stricter
  4676 zmedico  For bug #151146, don't use tar's --verbose option during the
                package phase since it doesn't work the same way anymore in
                tar-1.15.92 (new args have been tested with both gnu
                tar-1.15.92 and bsdtar-1.3.1-r1).


bin/portageq
  4633 zmedico  Remove unused PORTAGE_CALLER=portageq from the environment.


bin/quickpkg
  4570 zmedico  For bug #149781, exclude symlinks to directories when
                creating binary package with quickpkg.


bin/repoman
  4604 zmedico  Make repoman generate a syntax error if a slot dep is used
                with EAPI == 0.
  4630 zmedico  For repoman, hide the vardbapi from dep_zapdeps.
  4631 zmedico  Use a local_config flag to replace PORTAGE_CALLER == repoman
                conditionals.
  4636 zmedico  Fix typo s/upper/lower/.
  4646 zmedico  Print a more useful error message for bug #150488.
  4650 zmedico  Remove an unnecessary assumption preventing the use of CVS
                for an overlay.
  4651 zmedico  Don't lock repoman_settings because it needs to be mutable.
  4679 zmedico  Implement per-package default USE flags at the ebuild and
                profile levels for bug #61732.


cnf/make.conf
man/make.conf.5
  4618 zmedico  For bug #140021, remove autoaddcvs from the docs. Thanks to
                exg for this patch.


cnf/make.globals
  4614 zmedico  Remove redundant quotes from PORTAGE_RSYNC_OPTS.
  4679 zmedico  Implement per-package default USE flags at the ebuild and
                profile levels for bug #61732.


man/emerge.1
  4568 zmedico  Fix misspelling of dependencies for bug #149645.
  4639 zmedico  Remove outdated mention of --update in the --deep docs.
  4640 zmedico  Document greedy atoms for the --update option.
  4663 zmedico  Escape quotes for bug #150932.


man/portage.5
  4626 zmedico  Remove use.default documentation since we don't use it
                anymore. Thanks to Arfrever Frehtes Taifersar Arahesis for
                this patch from bug #149608.
  4627 zmedico  Remove one more reference to use.defaults.


pym/portage.py
  4571 zmedico  Add medium priority level into the digraph (in addition to
                the existing hard and
  4572 zmedico  Fix depgraph.altlist() so that it can identify a group of
                nodes that completely satisfy eachothers non-soft deps. This
                should complete the fix for bug #149881.
  4575 zmedico  Fix priority logic in digraph.add().
  4579 zmedico  Add a digraph.NONE constant to represent no priority.
  4581 zmedico  Use 755 permissions for ${PORTAGE_WORKDIR}/distdir (bug
                #149062).
  4582 zmedico  Use 01775 permissions for subdirectories of PORTAGE_TMPDIR,
                and 0755 permissions for other directories (bug #149062).
  4583 zmedico  For userpriv support, chown files in ${T} if necessary after
                priveleged phases.
  4584 zmedico  Don't set the gid unnecessarily on $PORTAGE_BUILDDIR/distdir.
  4585 zmedico  Make PORTAGE_BUILDDIR and subdirectories group writable for
                now (reverts some of the changes from bug #149062). One major
                problem is that the first phase (setup) is often run as root.
                We need a way to tell portage about a less privileged user
                that may need to be given permission on files and
                directories.
  4587 zmedico  Remove redundant PORTAGE_BUILDDIR creation.
  4588 zmedico  Properly write all fifo and device nodes to CONTENTS for bug
                #144781. Code to parse these entries has already in place and
                they are never unmerged.
  4589 zmedico  Don't apply the sticky bits until we have a complete plan for
                bug #149062.
  4590 zmedico  Fix a typo for the file mode in ${T}.
  4591 zmedico  Don't create /cvs-src since the cvs.eclass will do that
                automatically.
  4594 zmedico  Add support for slot based dep matching in all dbapi derived
                classes. The supported syntax is ${CATEGORY}/${PN}:${SLOT}
                (identical to that used by paludis and pkgcore).
  4603 zmedico  Don't call varexpand inside getconfig for env.d/profile.env
                values.
  4615 zmedico  For bug #150377, make virtual preferences in a profile
                override the preferences of parent profiles.
  4616 zmedico  Stack negative user virtuals in the correct order for
                incremental behavior.
  4622 zmedico  Make the merge phase automatically invalidate the
                ${PORTAGE_BUILDDIR}/.installed flag since it may move files
                out of the image directory.
  4623 zmedico  Make the .installed invalidation conditional on srcroot and
                destroot being located on the same filesystem (st_dev).
  4625 zmedico  Remove the single parent constraint in profiles.
  4631 zmedico  Use a local_config flag to replace PORTAGE_CALLER == repoman
                conditionals.
  4637 zmedico  Remove unnecessary config.reset() calls in
                portage.create_trees().
  4638 zmedico  Catch UnpicklingError when loading the mtimedb (reported by
                marienz).
  4643 zmedico  Avoid unnecessary population of the bintree by populating it
                as late as possible.
  4644 zmedico  Simplify the needlessly complex virtuals preferencing logic
                that lead to bug #150377.
  4648 zmedico  Only unlink .installed after the collision-protect has
                completed successfully (reported by axxo).
  4652 zmedico  Add more self.modifying() checks in order to detect
                modifcations to locked config objects.
  4654 zmedico  Move PORTAGE_BUILDDIR in to a category subdirectory and clean
                up the category directory if empty (while holding lock). This
                this will help avoid PORTAGE_BUILDDIR collisions for parallel
                builds and will also hack around bug #150454.
  4655 zmedico  For bug #150121, generate an error in digestcheck() if a file
                is found that is not listed in the Manifest.
  4661 zmedico  Use contents to avoid unnecessary ldconfig calls for bug
                #136488.
  4662 zmedico  Make an mtime change force an ldconfig run, since it's
                possible that pre/postinst made changes in lib dirs (noted by
                Brian Harring).
  4664 zmedico  Fix the new env-update lib dirs logic to properly account for
                $ROOT.
  4679 zmedico  Implement per-package default USE flags at the ebuild and
                profile levels for bug #61732.


pym/portage_dep.py
  4593 zmedico  Share duplicate code between dep_getkey() and dep_getcpv().
  4594 zmedico  Add support for slot based dep matching in all dbapi derived
                classes. The supported syntax is ${CATEGORY}/${PN}:${SLOT}
                (identical to that used by paludis and pkgcore).
  4598 zmedico  Improve best_match_to_list() and include support for slot
                deps.


pym/portage_manifest.py
  4656 zmedico  Make manifest2AuxfileFilter() slightly more efficient and
                also ignore any hidden files.


pym/portage_update.py
  4596 zmedico  Just use a simple replace for the needlessly complex
                dep_transform function. This will make it compatible with
                slot deps.
  4597 zmedico  Fix package moves/slotmoves to work with slot deps.
  4607 zmedico  In update_dbentries(), use != rather than "is not" to make
                sure that updates never occur unnecessarily.
  4617 zmedico  Fix dep_transform breakage (regression from r4596).
  4647 zmedico  Only do a slotmove on a slot dep atom if the slotmove atom
                has no operator (otherwise there's not enough information to
                perform the slotmove).


pym/portage_util.py
  4574 zmedico  Optimize varexpand for bug #149900.
  4601 zmedico  For bug #150163, remove unnecessary validation of
                new_protect_filename() parameters.
  4602 zmedico  For bug #14215, put the shlex parser in posix mode so that it
                properly recognizes escaped quotes.
  4603 zmedico  Don't call varexpand inside getconfig for env.d/profile.env
                values.


=============================================================================
2.1.2_pre2
2006-09-29
trunk revision 4565
=============================================================================


bin/ebuild
  4480 zmedico  Properly close the caches before reloading portage.


bin/ebuild.sh
  4495 blubb    use EBUILD_SH_ARGS instead of $*; bug 148615
  4556 zmedico  Fix broken [ -z "" ] test. Thanks to Volkov Peter
                <pva@gentoo.org> for this patch from bug #149494.
  4557 zmedico  Fix quoting of ${D} in make arguments for einstall(). Thanks
                to Volkov Peter <pva@gentoo.org> for this patch from bug
                #149494.


bin/emerge
  4467 zmedico  Reimplement parallel-fetch so that it simply spawns `emerge
                --fetch --resume` via portage_exec.spawn. This prevents
                potential issues with shared file descriptors and unsafe
                forks as discussed in bug #147516. This patch makes sure that
                the spawned emerge process does not write to emerge.log or
                the mtimedb.
  4468 zmedico  Use mtimedb.filename == None to disable mtimedb writes
                (instead of /dev/null).
  4469 zmedico  Close the parallel-fetch log file descriptor when it's no
                longer needed.
  4471 zmedico  Ensure that the parent process gets the first fetch when
                parallel-fetch is enabled.
  4472 zmedico  Thanks to Jason Stubbs for this patch from bug #147766 which
                enables creation of a full and complete depgraph, leaving no
                dependencies unaccounted for. This will allow more accurate
                merge order and proper detection of circular dependencies!
  4473 zmedico  Thanks again to Jason Stubbs for this patch from bug #147766
                which represents PDEPEND relationships withing the depgraph
                as reverse soft dependencies.
  4474 zmedico  Idendify soft deps in emerge --debug output.
  4475 zmedico  Allow packages matched by something in package.provided to be
                explicitly merged by the user.
  4479 zmedico  This is a new --tree implementation by Jason Stubbs, from bug
                #147766.
  4482 zmedico  For consistency, pass ignore_soft_deps into
                digraph.hasallzeros().
  4486 zmedico  Thanks to Jason Stubbs for this patch from bug #16365 which
                invalidates any blocker that is made irrelevant by a package
                upgrade.
  4487 zmedico  Fix depgraph.validate_blockers() logic so that
                match_from_list works correctly.
  4488 zmedico  Add a docstring for depgraph.validate_blockers().
  4489 zmedico  Remove an inaccurate comment.
  4490 zmedico  Add a comment about old-style virtuals inside
                depgraph.validate_blockers().
  4491 zmedico  Prevent an IndexError caused by blocker nodes splitting to 3
                items instead of 4.
  4492 zmedico  Prevent --update and/or --deep style behavior when the user
                hasn't specified them. In these cases a full depgraph isn't
                desired and we have to ignore the installed deps that are now
                returned from dep_check.
  4493 zmedico  Fix another IndexError due to an assumption that digraph
                nodes split into at least 4 parts.
  4494 zmedico  Allow packages specified on the command line to be
                retroactively upgraded from "nomerge" to "merge" nodes.
  4496 zmedico  Revert r4495, since conversion from nomerge to merge may put
                the depgraph into an inconsistent state du to USE flag
                mismatch. This can be solved by checking all args prior to
                marking packages as nomerge.
  4500 zmedico  For compatibility with float timestamps in python-2.5,
                convert st_mtime attributes to long wherever portage expects
                1s resolution.
  4505 zmedico  Make it possible, once again, to use --noreplace to add a
                package to the world file.
  4507 zmedico  Ensure that soft_dep is a plain boolean (not vardb match
                results).
  4508 zmedico  Never allow packages explicitly requested on the command line
                to be tagged "nomerge" unless --noreplace has been specified.
                This patch accomplishes the same goal as r4494 but without
                the potential for causing inconsistency in the depgraph.
  4509 zmedico  Pass in the correct arg= value to select_dep.
  4511 zmedico  Remove outdated "Unable to run required binary" messages that
                are now unreachable.
  4512 zmedico  Move PORTAGE_BUILDDIR locking out of doebuild and into emerge
                in order to ensure that emerge maintains it's lock through
                all phases.
  4513 zmedico  Always check the return value of doebuild_environment().
  4518 zmedico  Remove doebuild_environment return value checks since it no
                raises and exception if necessary.
  4522 zmedico  In order to ensure correct merge order such that build time
                dependencies will really be usable, don't treat RDEPEND as
                soft_deps. Thanks for Jason Stubbs for recognizing this
                issue.
  4523 zmedico  Remove depgraph params for depclean since it no longer uses
                the depgraph.
  4524 zmedico  Clean up and simplify depgraph params logic. This fixes bug
                #148893.
  4526 vapier   print errors to stderr, not stdout
  4527 zmedico  Make `emerge world` (without --deep) work as expected for bug
                #149092.
  4528 zmedico  Check the dep_check return value and fail with a message if
                an error has occurred.
  4529 zmedico  Clean up the logic a little for bug #149092.
  4539 zmedico  Add SLOT support to fakedbapi then use it for depgraph
                blocker handling and dep_zapdeps preference selection.
  4540 zmedico  Make sure that all packages are in the dbapi when doing the
                blocker validation.
  4541 zmedico  Fix --update so that it updates direct dependencies for bug
                #149208.
  4546 zmedico  Convert emerge option parsing to use python's optparse
                module. This patch makes the minimum changes necessary for
                the conversion and is supposed to be 100% compatible with
                previous parsing behavior.
  4547 zmedico  Convert myopts into a dictionary so that it can be used for
                more that boolean flags.
  4548 zmedico  Add a --with-bdeps=[y,n] option for bug #148870.
  4549 zmedico  Add missing calls to iteritems() from the last commit.
  4550 zmedico  Store myopts in the mtimedb as a list for backward
                compatibility.
  4551 zmedico  Use dict.pop(k, None) to delete items if they exist.
  4552 zmedico  Remove some unreachable code.
  4553 zmedico  Properly treat myopts as a dict.
  4555 zmedico  Fix inverted --with-bdeps logic.
  4560 zmedico  Allow options contained in EMERGE_DEFAULT_OPTS to be
                overridden by the real command line options.


bin/etc-update
  4476 zmedico  Turn off file name globbing during expansion of ${find_opts}
                for bug #148115.


bin/pkgmerge (Removed)
bin/pkgmerge.new (Removed)
  4519 zmedico  Remove pkgmerge since it's apparent that nobody uses it (it's
                been broken for a long time, anyway).


bin/portageq
  4483 zmedico  Make portageq exit with nonzero status when called
                incorrectly.
  4484 zmedico  Make portageq exit successfully for -h or --help.


bin/prepstrip
  4559 zmedico  Move installed sources into ${CATEGORY} subdirectories in
                order to prevent collisions for bug #149491.


man/emerge.1
  4561 zmedico  Document the new --with-bdeps option.


man/make.conf.5
  4463 vapier   document FEATURES=buildsyspkg #147729
  4563 zmedico  Document the new COLLISION_IGNORE variable.
  4564 zmedico  Update installsources docs for bug #149491.
  4565 zmedico  Update CONFIG_PROTECT docs to reflect that files are now
                supported.


pym/cache/anydbm.py
pym/cache/fs_template.py
pym/cache/metadata_overlay.py
pym/cache/sql_template.py
pym/cache/template.py
pym/cache/util.py
  4470 zmedico  Replace relative imports with absolute imports for forward
                compatibility with python 2.6.


pym/cache/flat_hash.py
  4470 zmedico  Replace relative imports with absolute imports for forward
                compatibility with python 2.6.
  4499 zmedico  Convert stat timestamps to long for compatibility with
                python-2.5, which returns floats for timestamps.
  4501 zmedico  Use fstat to when retrieve cache timestamps and avoid a race.
  4502 zmedico  Improve and simplify __getitem__ error handling.
  4504 zmedico  Use finally: to ensure that the file is closed properly.
  4506 zmedico  Move the open call out of the inner try block.
  4545 zmedico  Catch a ValueError caused by corrupt cache for bug #149134.


pym/cache/flat_list.py
  4470 zmedico  Replace relative imports with absolute imports for forward
                compatibility with python 2.6.
  4500 zmedico  For compatibility with float timestamps in python-2.5,
                convert st_mtime attributes to long wherever portage expects
                1s resolution.


pym/cache/metadata.py
  4470 zmedico  Replace relative imports with absolute imports for forward
                compatibility with python 2.6.
  4501 zmedico  Use fstat to when retrieve cache timestamps and avoid a race.


pym/cache/sqlite.py
  4470 zmedico  Replace relative imports with absolute imports for forward
                compatibility with python 2.6.
  4498 zmedico  Allow cache.sqlite to use sqlite3 from python-2.5, if
                available.
  4503 zmedico  Don't use LazyLoad for cache pulls because it causes a race
                condition.


pym/eclass_cache.py
pym/portage_update.py
  4500 zmedico  For compatibility with float timestamps in python-2.5,
                convert st_mtime attributes to long wherever portage expects
                1s resolution.


pym/output.py
  4554 zmedico  Call sys.stdout.flush() after print statements so that output
                has the correct order when multiple processes output to a
                shared pipe.


pym/portage.py
  4464 zmedico  In portage.commit_mtimedb(), use the commit() method when
                possible, so that the mtimedb is only rewritten when it has
                been modified.
  4468 zmedico  Use mtimedb.filename == None to disable mtimedb writes
                (instead of /dev/null).
  4472 zmedico  Thanks to Jason Stubbs for this patch from bug #147766 which
                enables creation of a full and complete depgraph, leaving no
                dependencies unaccounted for. This will allow more accurate
                merge order and proper detection of circular dependencies!
  4477 zmedico  Fix digraph.debug_print inverted hard/soft logic.
  4478 zmedico  Fix fetch resume logic for bug #145601 and document the
                meaning of the "fetched" variable.
  4479 zmedico  This is a new --tree implementation by Jason Stubbs, from bug
                #147766.
  4481 zmedico  Fix digraph.hasallzeros() breakage.
  4482 zmedico  For consistency, pass ignore_soft_deps into
                digraph.hasallzeros().
  4485 zmedico  As suggested by vapier, send emerge -fp output to stdout and
                make it work together with --quiet.
  4494 zmedico  Allow packages specified on the command line to be
                retroactively upgraded from "nomerge" to "merge" nodes.
  4496 zmedico  Revert r4495, since conversion from nomerge to merge may put
                the depgraph into an inconsistent state du to USE flag
                mismatch. This can be solved by checking all args prior to
                marking packages as nomerge.
  4500 zmedico  For compatibility with float timestamps in python-2.5,
                convert st_mtime attributes to long wherever portage expects
                1s resolution.
  4510 zmedico  Move PORTAGE_LOG_FILE initialization from doebuild to
                prepare_build_dirs.
  4512 zmedico  Move PORTAGE_BUILDDIR locking out of doebuild and into emerge
                in order to ensure that emerge maintains it's lock through
                all phases.
  4513 zmedico  Always check the return value of doebuild_environment().
  4514 zmedico  Lock PORTAGE_BUILDDIR all the way through prerm, unmerge, and
                postrm.
  4515 zmedico  Only lock PORTAGE_BUILDDIR if the ebuild exists (otherwise we
                don't run prerm and postrm).
  4516 zmedico  Make doebuild_environment raise an exception so that we never
                have to check the return value.
  4518 zmedico  Remove doebuild_environment return value checks since it no
                raises and exception if necessary.
  4520 zmedico  Fix portage.pkgmerge() so that it locks files and directories
                when in use.
  4521 zmedico  Use the same directories for binary package merges as would
                be used for source based merges (since the normal
                PORTAGE_BUILDDIR is already used by the setup, preinst, and
                postinst phases anyway).
  4524 zmedico  Clean up and simplify depgraph params logic. This fixes bug
                #148893.
  4525 zmedico  For bug #149028, don't lock the tbz2 file because the
                filesytem could be readonly or shared by a cluster.
  4539 zmedico  Add SLOT support to fakedbapi then use it for depgraph
                blocker handling and dep_zapdeps preference selection.
  4542 zmedico  Revert dep_zapdeps fakedbapi usage as per comment #31 on bug
                #147766.
  4543 zmedico  In dep_zapdeps preference selection, use package names
                instead of the real atoms for an initial rough match against
                installed packages. More specific preference selection is
                handled later via slot and version comparison. Thanks to
                Jason Stubbs for this patch from bug #147766.
  4558 zmedico  Allow env.d file names with 3 characters. This is a
                regression from r4451.
  4562 zmedico  For bug #149412, add a COLLISION_IGNORE user config option
                that behaves similar to CONFIG_PROTECT_MASK, but for
                collision-protect.


pym/portage_data.py
  4530 zmedico  Add a warning about the portage group and the possiblility of
                exploits for bug #149062.


=============================================================================
2.1.2_pre1
2006-09-15
trunk revision 4462
=============================================================================


bin/dispatch-conf
  4461 zmedico  For bug #14321, make dispatch-conf scan for individual files
                listed in CONFIG_PROTECT.


bin/emerge
  4459 zmedico  For bug #14321, make emerge scan for individual files listed
                in CONFIG_PROTECT.


bin/etc-update
  4460 zmedico  For bug #14321, make etc-update scan for individual files
                listed in CONFIG_PROTECT.


bin/repoman
  4462 zmedico  Add CATEGORY to the list of readonly variables.


cnf/make.conf.sh.diff (Added)
  4432 vapier   diff for superh


man/make.conf.5
  4443 vapier   note that you need to use an absolute path for ROOT #147427
                by Brad Plant


man/portage.5
  4429 zmedico  Include a note about RESTRICT="fetch" in docs for local
                mirrors (see bug #37455). Thanks to Carlo for reporting.


pym/portage.py
  4430 zmedico  In dblink.isowner(), correct the logic to test the path
                itself (via lstat) rather than the referant in the case of
                symlinks.
  4431 zmedico  For bug #80846, prevent false collisions caused by symlinks.
                Thanks to Thomas Bettler <bettlertho@sis.unibe.ch> for the
                initial patch.
  4434 zmedico  Add KDEDIRS to colon_separated env-update vars as requested
                by Carlo.
  4441 zmedico  For correct LINGUAS handling, don't export empty USE_EXPAND
                variables unless the user config exports them as empty.
                Thanks to Harald van Dijk <truedfx@gentoo.org> for this patch
                from bug #147428.
  4442 zmedico  Use configdict["env"].clear() instead of manual deletion
                because the result is the same and it's much more efficient.
  4450 zmedico  Simplify the confmem logic so that it's easier to read.
  4451 zmedico  Move all env.d file name filtering into a single loop.
  4452 zmedico  Add support for SPACE_SEPARATED and COLON_SEPARATED in
                /etc/env.d/ so that hard coded values are not required.
  4453 zmedico  When it's detected that a previously remembered update has
                been accepted, remove it from confmem.
  4458 zmedico  For bug #14321, add support for individual files in
                CONFIG_PROTECT and CONFIG_PROTECT_MASK.


pym/portage_locks.py
  4446 zmedico  In unhardlink_lockfile(), make sure not to touch lockfilename
                unless we really have a lock. See bug #147453.
  4447 zmedico  Remove all traces of atexit hardlock cleanup code, since it
                doesn't work correctly anyway.
  4448 zmedico  Simplify portage_locks.hardlink_is_mine() so that it only
                checks the number of links. Nothing more is needed.
  4449 zmedico  Remove an unused hardlink_active() function.


pym/portage_update.py
  4433 zmedico  Fix a broken call to new_protect_filename for bug #147010.
                This is a regression from r4400 (fix for bug #146289).


pym/portage_util.py
  4458 zmedico  For bug #14321, add support for individual files in
                CONFIG_PROTECT and CONFIG_PROTECT_MASK.


=============================================================================
2.1.1
2006-09-08
trunk revision 4425
=============================================================================

