=============================================================================
2.1.3
2007-07-27
branches/2.1.2 revision 7420
=============================================================================


bin/ebuild.sh
  7380 zmedico  Add FEATURES=fakeroot support which causes install and
                package phases to run inside fakeroot when a non-root user
                runs the ebuild command. Thanks to swegener for the initial
                patch. (trunk r7379)
  7404 zmedico  use ${MAKE:-make} rather than make in einstall() (trunk
                r7396)


bin/emerge
  7403 zmedico  For bug #186610, use `find <path>` to scan for config updates
                since `cd <path>` could fail and cause the cwd to be scanned.
                (trunk r7402)
  7406 zmedico  For --buildpkgonly, say "built" instead of "merged" in the
                "These are the packages that would be <action>" message.
                (trunk r7405)
  7408 zmedico  For bug #186826, always show --newuse flags that trigger
                reinstallation even when not in --verbose mode. (trunk r7407)
  7409 zmedico  For bug #186480, while we transition to repository lables,
                avoid ? spam in the repository display by ignoring a missing
                repository label for an installed package.


bin/emerge-webrsync
  7416 zmedico  For bug #185048, make emerge-webrsync honor http_proxy and
                ftp_proxy from make.conf. (trunk r7415)


bin/prepstrip
cnf/make.conf
  7382 zmedico  For bug #186337, show an ewarn message if
                FEATURES=installsources is enabled but debugedit is not
                installed. Also document installsources and splitdebug in
                make.conf.example. (trunk r7381)


cnf/make.conf.sparc-fbsd.diff
cnf/make.conf.x86-fbsd.diff
  7384 zmedico  Fix make.conf.example rejects. (trunk r7383)


cnf/make.globals
  7376 zmedico  Enable FEATURES=userfetch by default. (trunk r7375)
  7378 zmedico  Add sfperms and strict to the default FEATURES since they're
                already in the base profile's make.defaults. (trunk r7377)


man/make.conf.5
pym/portage_const.py
pym/portage_exec.py
  7380 zmedico  Add FEATURES=fakeroot support which causes install and
                package phases to run inside fakeroot when a non-root user
                runs the ebuild command. Thanks to swegener for the initial
                patch. (trunk r7379)


man/portage.5
  7412 zmedico  For bug #186639, add more clarification about the
                relationship between /etc/make.profile/ and
                /etc/portage/profile/. (trunk r7411)
  7414 zmedico  For bug #186639, note that /etc/portage/profile/ supports all
                of the same file types that /etc/make.profile/ does, except
                parent. (trunk r7413)


pym/output.py
  7395 zmedico  Merge the portage.spawn() implementation with pty logging
                from trunk: - Sending output through the pty device makes
                logging compatible with sesandbox and the default selinux
                security policy (see bug #162404). - Having a pty device for
                stdout makes $PAGER behave nicely for things like
                check_license() from eutils.eclass.


pym/portage.py
  7374 zmedico  Drop privileges in the "depend" phase regardless of FEATURES
                and RESTRICT since that phase should never need special
                privileges. Thanks to swegener for the initial patch. (trunk
                r7373)
  7380 zmedico  Add FEATURES=fakeroot support which causes install and
                package phases to run inside fakeroot when a non-root user
                runs the ebuild command. Thanks to swegener for the initial
                patch. (trunk r7379)
  7386 zmedico  Add droppriv keyword for the depend phase. (trunk r7385)
  7388 zmedico  Add droppriv keyword for the depend phase (last one). (trunk
                r7387)
  7395 zmedico  Merge the portage.spawn() implementation with pty logging
                from trunk: - Sending output through the pty device makes
                logging compatible with sesandbox and the default selinux
                security policy (see bug #162404). - Having a pty device for
                stdout makes $PAGER behave nicely for things like
                check_license() from eutils.eclass.
  7401 zmedico  When setting the size of the pty for logging, check if stdout
                isatty rather than stdin. (trunk r7400)
  7418 zmedico  Handle 2 more cases where elog_process() needs to be called:
                - binary install via pkgmerge() fails before reaching the
                merge phase (pkg_setup dies) - doebuild() is called for the
                merge phase but it dies before reaching the merge phase
                (trunk r7417)
  7420 zmedico  When the fetch phase fails inside doebuild(), create an
                eerror log since the mod_echo module might push the original
                message off of the top of the terminal and prevent the user
                from being able to see it. (trunk r7419)


=============================================================================
2.1.3_rc9
2007-07-22
branches/2.1.2 revision 7359
=============================================================================


NEWS
  7252 zmedico  PDEPEND is now installed as soon as possible so that it
                behaves more like RDEPEND. (trunk r7251)


RELEASE-NOTES
  7318 zmedico  Document --prune and --depclean enhancements. (trunk r7317)


bin/ebuild.sh
  7248 zmedico  Save the repo name along with the other metadata inside
                dyn_compile() so that it's saved inside binary packages for
                when they are finally merged. (trunk r7247)
  7359 zmedico  For bug #184774, put lha's -q option last since otherwise the
                option parser now requires level 0, 1, or 2 to be specified.
                (trunk r7358)


bin/emerge
  7238 zmedico  For bug #184983, prevent USE_EXPAND_HIDDEN flags from being
                hidden if they are the only thing that triggered
                reinstallation. (trunk r7237)
  7240 zmedico  Make depgraph._reinstall_for_flags() always return all
                revelant flags. (trunk r7239)
  7255 zmedico  For bug #185278, make the verbose flag display show
                masked/forced flag status for binary packages too. (trunk
                r7254)
  7261 zmedico  Merge the new repo display code from trunk r7257:7260.
  7262 zmedico  Remove some obsolete repo display code.
  7264 zmedico  When deciding if a package is slotted inside
                create_world_atom(), check the vdb in case the package is
                multislot. (trunk r7263)
  7266 zmedico  Fix typo. (trunk r7265)
  7291 zmedico  Don't show the repo display when the package list is empty.
                (trunk r7290)
  7293 zmedico  When dep_expand throws a ValueError due to an ambiguous atom,
                try to expand the atom again. (trunk r7292)
  7295 zmedico  When expanding ambiguous atoms against the vardb, make sure
                the the expanded package is also available in the portage
                tree. (trunk r7294)
  7297 zmedico  For bug #185670, make sure package.use.{mask,force} are
                properly displayed. (trunk r7296)
  7299 zmedico  Unify USE handling in the depgraph with the other metadata.
                (trunk r7298)
  7311 zmedico  Merge --depclean and --prune enhancements from trunk
                r7304:7310.
  7314 zmedico  For bug #151653, make --prune keep the highest version
                whenever possible (even when there is one with a higher
                counter installed). (trunk r7311:7313)
  7328 zmedico  Hint about --nodeps if --prune doesn't find anything to
                prune. Also enable reverse dependency display for global
                depclean. (trunk r7327)
  7333 zmedico  Just show [0] instead of [0=>0] in the repo display. (trunk
                r7332)
  7335 zmedico  Prune really uses all installed instead of world. It's not a
                real reverse dependency so don't display it as such. (trunk
                r7334)
  7337 zmedico  Make --prune and --depclean return before calculating
                dependencies if atoms are given but they don't match any
                packages. (trunk r7336)
  7346 zmedico  Make --prune pull in the system set since that could pull in
                some slots that wouldn't be pulled in otherwise. (trunk
                r7343)
  7347 zmedico  Prevent a potential KeyError when removing world from the
                digraph for --prune display. (trunk r7344)
  7350 zmedico  Make --update imply --oneshot since people often us it to
                update things when they don't want to add them to world.
                Thanks to jakub for the suggestion. (trunk r7349)
  7352 zmedico  Fix the reverse dependency display for --prune when there is
                now real parent. (trunk r7351)


bin/prepstrip
  7304 zmedico  split up the debug/sources steps as proposed by swegener and
                give the whole file a cleanup (trunk r7267)


bin/repoman
  7339 zmedico  For bug #185153, in commit mode do the "Fetching trivial
                updates" routine before the qa scan. (trunk r7338)
  7341 zmedico  For bug #169500, detect when the cvs server puts /Attic/
                inside the $Header path and automatically correct it. (trunk
                r7340)


man/color.map.5
pym/output.py
  7243 zmedico  Add "reset" to the list of attributes in color.map.5 and add
                define NORMAL like functions.sh does. (trunk r7242)


man/emerge.1
pym/emergehelp.py
  7316 zmedico  Update --prune docs for bug #151653. (trunk r7315)
  7348 zmedico  Document --depclean and --prune enhancements. (trunk r7345)


man/portage.5
  7320 zmedico  For bug #185504, document profiles/repo_name. (trunk r7319)


pym/portage.py
  7248 zmedico  Save the repo name along with the other metadata inside
                dyn_compile() so that it's saved inside binary packages for
                when they are finally merged. (trunk r7247)
  7261 zmedico  Merge the new repo display code from trunk r7257:7260.
  7269 zmedico  For bug #185389, create a symlink when quickpkg injects a new
                package.
  7311 zmedico  Merge --depclean and --prune enhancements from trunk
                r7304:7310.
  7322 zmedico  If the fetcher reported success and the file is too small,
                don't attempt to resume. Upstream probably changed the
                distfile and we need to show a digest verification failure so
                the user gets a clue. (trunk r7321)
  7326 zmedico  When digest verification of a distfile fails, rename instead
                of unlinking it in case it's a large download and the user
                wants to salvage it due to a bad digest. (trunk r7325)
  7331 zmedico  For bug #185930, direct all FETCHCOMMAND output to stdout.
                (trunk r7330)


=============================================================================
2.1.3_rc8
2007-07-11
branches/2.1.2 revision 7236
=============================================================================


bin/emerge
  7208 zmedico  Fix interaction of resume opts with spinner output handling
                so that output always looks correct. (trunk r7207)
  7215 zmedico  For bug #184806, account for the fact the metadata is not
                cached for slot_collision_nodes. (trunk r7214)
  7223 zmedico  For bug #184687, skip the huge --depclean warning when
                --quiet mode is enabled. (trunk r7222)
  7225 zmedico  Fix typo.
  7227 zmedico  Fix another case similar to bug #184806 that can occur with
                --onlydeps. (trunk r7226)
  7231 zmedico  Simplify logic mapping of options to depgraph params (trunk
                r7206 and r7230).


bin/prepstrip
  7232 zmedico  remove readable bits for debug files if the souce ELF is
                setXid (trunk r7210)


cnf/make.conf
  7233 zmedico  make.conf is not a manual so only list common FEATURES
                #161985 (trunk r5664)


man/make.conf.5
  7234 zmedico  document FEATURES=sesandbox #161985 (trunk r5663)
  7235 zmedico  Update the FEATURES=strict docs for better clarity. (trunk
                r6357)
  7236 zmedico  Document PORTAGE_WORKDIR_MODE for bug #8688. (trunk r5904)


pym/portage.py
  7213 zmedico  Remove the repo_name warning in the portdbapi constructor
                since we don't want to see a warning every time the portage
                module is imported. (trunk r7212)
  7215 zmedico  For bug #184806, account for the fact the metadata is not
                cached for slot_collision_nodes. (trunk r7214)
  7217 zmedico  For bug #184604, make env-update write $ in front of quoted
                values when appropriate. (trunk r7216)
  7219 zmedico  For bug #184843, allow USE_EXPAND variables to pass through
                if none of their flags are in IUSE. This allows packages that
                support LINGUAS but don't declare it in IUSE to use the
                variable outside of the USE_EXPAND context. (trunk r7218)
  7221 zmedico  For bug #184679, handle ENOTDIR by finding the non-directory
                parent and testing that for collision instead. (trunk r7220)
  7229 zmedico  Fix typo. (trunk r7228)


=============================================================================
2.1.3_rc7
2007-07-08
branches/2.1.2 revision 7205
=============================================================================


RELEASE-NOTES
  7143 zmedico  Record a slot atom in the world file for any atom that is
                precise enough to identify a specific slot. Make depclean
                clean unnecessary slots of system and world packages. For
                update and depclean, world atoms can be greedy with slots
                while system atoms can not. (trunk r7142)


bin/ebuild.sh
  7202 zmedico  For bug #184566, enable the emerge --info action to run an
                option pkg_info() function from each installed ebuild. (trunk
                r7201)


bin/emaint
  7134 zmedico  Clean up system and world set handling. For forward
                compatibility, the world file handling now allows the world
                file to contain arbitrary atoms such as slot atoms. (trunk
                r7130:7133)


bin/emerge
  7092 zmedico  For bug #183639, give a more informative message with the
                package.provided warning. (trunk r7091)
  7105 zmedico  For bug #180045, try to merge PDEPEND as soon as possible so
                that it behaves more like RDEPEND. (trunk r7104)
  7107 zmedico  Add medium-soft support to DepPriority.__str__(). (trunk
                r7106)
  7109 zmedico  Update --buildpkgonly logic to account for
                DepPriority.MEDIUM_SOFT. (trunk r7108)
  7111 zmedico  Revert --buildpkgonly logic back because it was already
                correct. (trunk r7110)
  7117 zmedico  If necessary, resample the leaf nodes so that they include
                all nodes whose hard deps are satisfied. (trunk r7116)
  7119 zmedico  Move medium priority out of ignore_priority_range and handle
                it separately. (trunk r7118)
  7123 zmedico  Clean up the selected_nodes logic in depgraph.altlist().
                (trunk r7122)
  7125 zmedico  Clone asap_nodes so that iteration is safe for node removal.
                (trunk r7124)
  7127 zmedico  Prefer asap_nodes more aggressively over any other nodes
                whenever possible. If no asap_nodes can be selected for a
                given iteration, they will be ignored for the next iteration.
                (trunk r7126)
  7134 zmedico  Clean up system and world set handling. For forward
                compatibility, the world file handling now allows the world
                file to contain arbitrary atoms such as slot atoms. (trunk
                r7130:7133)
  7136 zmedico  Implement BlockerCache.keys() so that DictMixin.__repr__()
                works. (trunk r7135)
  7141 zmedico  Unify depgraph favorites handling with the other args
                handling. (trunk r7137:7140)
  7143 zmedico  Record a slot atom in the world file for any atom that is
                precise enough to identify a specific slot. Make depclean
                clean unnecessary slots of system and world packages. For
                update and depclean, world atoms can be greedy with slots
                while system atoms can not. (trunk r7142)
  7145 zmedico  Fix greedy atoms logic for system mode. (trunk r7144)
  7151 zmedico  For bug #183861, allow a color class in color.map to specify
                a space separated list of attributes so that any combination
                of foreground, background, and other attributes is possible.
                Also make color class handling for package sets more
                consistent. Thanks to Arfrever Frehtes Taifersar Arahesis
                <Arfrever.FTA@GMail.Com>.
  7154 zmedico  Replace sys.exit() with return in depgraph.display() and
                action_build(). (trunk r7153)
  7160 zmedico  Remove redundant config update notification (bug #184116,
                trunk r7159)
  7162 zmedico  Move depgraph._args_atoms to depgraph._sets["args"] and move
                depgraph._args_nodes to self._set_nodes. (trunk r7161)
  7165 zmedico  Don't store unslotted system packages in the world file.
                (trunk r7164)
  7167 zmedico  Fix emerge by ebuild path so that it works properly. (trunk
                r7166)
  7173 zmedico  Fix emerge by tbz2 path so that it works properly. (trunk
                r7171)
  7175 zmedico  Remove the PKG_*ARG* color classes in order to simplify
                things since it's questionable whether many people will want
                to use them. Also, make the PKG_*SYSTEM colors default to the
                traditional colors since people are generally most interested
                in world packages. (trunk r7174)
  7179 zmedico  Count the number of merges processed by MergeTask and use
                that to determine whether or not post_merge() should run.
                (trunk r7178)
  7181 zmedico  Don't exclude system virtuals from world since they can match
                multiple old-style virtuals but only one of them will be
                pulled in by update or depclean. (trunk r7180)
  7182 zmedico  tighten up --quiet output for --unmerge (trunk r7177)
  7184 zmedico  Misc color fixes. Thanks to Arfrever Frehtes Taifersar
                Arahesis <Arfrever.FTA@GMail.Com> for this patch from
                bug#183861, comment #9. (trunk r7183)
  7186 zmedico  When depgraph updates preferences for old-style virtuals,
                also update them in the global config so that they are
                consistent everywhere. Optimize config.setinst() to minimize
                the work done. (trunk r7185)
  7188 zmedico  Add a depgaph.loadResumeCommand() method to handle loading
                and validation of all resume data. (trunk r7187)
  7192 zmedico  Now that the "white" color code really is white, alias it to
                bold where it's used by emerge since white looks bad on a
                terminal with a white background. (trunk r7191)
  7196 zmedico  For bug #184412, make depclean more consistent with the
                update algorithm by keeping the highest version that as
                visible in the portage tree and pruning any versions that are
                either masked or no longer exist in the portage tree. (trunk
                r7195)
  7198 zmedico  Allow system virtuals to be pruned from the world file in
                cases where the matched package is the only provider of that
                virtual. (trunk r7197)
  7200 zmedico  Add color classes PROMPT_CHOICE_{DEFAULT,OTHER} for emerge's
                Yes/No prompt. (trunk r7199)
  7202 zmedico  For bug #184566, enable the emerge --info action to run an
                option pkg_info() function from each installed ebuild. (trunk
                r7201)


bin/prepstrip
  7190 zmedico  `find` can accept a list of paths so condense this nested for
                loop, and dont split off debug information for ET_REL files
                as these are never pulled in via debug utilities (and can
                trigger weird behavior in binutils when linked into things,
                like glibcs crt1.o) (trunk r7189)
  7194 zmedico  allow split debuf for kernel modules (trunk r7193)


bin/repoman
  7103 zmedico  Add a QA warning for invalid values of RESTRICT. Thanks to
                peper for the patch. (trunk r7102)
  7121 zmedico  Flatten restrict for the RESTRICT.invalid check. (trunk
                r7120)


cnf/make.conf
  7113 zmedico  For bug #131030, update the warning about potential for
                emerge --sync overwrite or delete files in ${PORTDIR}. Add
                references to the PKGDIR and DISTDIR docs. (trunk r7112)
  7115 zmedico  s/PORTAGE_EXTRA_RSYNC_OPTS/PORTAGE_RSYNC_OPTS/ for
                correctness. (trunk r7114)


man/color.map.5
  7151 zmedico  For bug #183861, allow a color class in color.map to specify
                a space separated list of attributes so that any combination
                of foreground, background, and other attributes is possible.
                Also make color class handling for package sets more
                consistent. Thanks to Arfrever Frehtes Taifersar Arahesis
                <Arfrever.FTA@GMail.Com>.
  7152 zmedico  Update the location of output.py for the old namespace.
  7175 zmedico  Remove the PKG_*ARG* color classes in order to simplify
                things since it's questionable whether many people will want
                to use them. Also, make the PKG_*SYSTEM colors default to the
                traditional colors since people are generally most interested
                in world packages. (trunk r7174)
  7184 zmedico  Misc color fixes. Thanks to Arfrever Frehtes Taifersar
                Arahesis <Arfrever.FTA@GMail.Com> for this patch from
                bug#183861, comment #9. (trunk r7183)
  7200 zmedico  Add color classes PROMPT_CHOICE_{DEFAULT,OTHER} for emerge's
                Yes/No prompt. (trunk r7199)


man/color.map.5 (from /main/trunk/man/color.map.5:7100) (Added)
man/ebuild.1
man/ebuild.5
man/emerge.1
man/portage.5
  7101 zmedico  Add docs for /etc/portage/color.map and a few misc man page
                fixes. Thanks to Arfrever Frehtes Taifersar Arahesis
                <Arfrever.FTA@GMail.Com> in bug #183758. (trunk r7100)


man/make.conf.5
  7101 zmedico  Add docs for /etc/portage/color.map and a few misc man page
                fixes. Thanks to Arfrever Frehtes Taifersar Arahesis
                <Arfrever.FTA@GMail.Com> in bug #183758. (trunk r7100)
  7113 zmedico  For bug #131030, update the warning about potential for
                emerge --sync overwrite or delete files in ${PORTDIR}. Add
                references to the PKGDIR and DISTDIR docs. (trunk r7112)
  7115 zmedico  s/PORTAGE_EXTRA_RSYNC_OPTS/PORTAGE_RSYNC_OPTS/ for
                correctness. (trunk r7114)


pym/output.py
  7095 zmedico  Add a 0xAAAA00 rgb color code to represent the darkyellow
                color that some terminals have instead of brown. (trunk
                r7094)
  7151 zmedico  For bug #183861, allow a color class in color.map to specify
                a space separated list of attributes so that any combination
                of foreground, background, and other attributes is possible.
                Also make color class handling for package sets more
                consistent. Thanks to Arfrever Frehtes Taifersar Arahesis
                <Arfrever.FTA@GMail.Com>.
  7175 zmedico  Remove the PKG_*ARG* color classes in order to simplify
                things since it's questionable whether many people will want
                to use them. Also, make the PKG_*SYSTEM colors default to the
                traditional colors since people are generally most interested
                in world packages. (trunk r7174)
  7184 zmedico  Misc color fixes. Thanks to Arfrever Frehtes Taifersar
                Arahesis <Arfrever.FTA@GMail.Com> for this patch from
                bug#183861, comment #9. (trunk r7183)
  7200 zmedico  Add color classes PROMPT_CHOICE_{DEFAULT,OTHER} for emerge's
                Yes/No prompt. (trunk r7199)


pym/portage.py
  7156 genone   backport r7087 and r7093 to ease the upgrade to 2.2 wrt
                verbose pretend display
  7158 zmedico  Merge portdbapi.getRepositories() from trunk.
  7186 zmedico  When depgraph updates preferences for old-style virtuals,
                also update them in the global config so that they are
                consistent everywhere. Optimize config.setinst() to minimize
                the work done. (trunk r7185)
  7202 zmedico  For bug #184566, enable the emerge --info action to run an
                option pkg_info() function from each installed ebuild. (trunk
                r7201)
  7205 zmedico  Make dblink invalidate the vardbapi caches for each merge and
                unmerge. Don't use portage.listdir() since mtime granularity
                can prevent cachedir from invalidating it's cache properly
                and this redundant cache layer isn't needed anyway. This
                should solve the intermittent failure of AUTOCLEAN to
                properly clean packages. (trunk r7202:7204)


pym/portage_const.py
  7158 zmedico  Merge portdbapi.getRepositories() from trunk.


=============================================================================
2.1.3_rc6
2007-06-28
branches/2.1.2 revision 7086
=============================================================================


RELEASE-NOTES
  6966 zmedico  Fix typo.


bin/ebuild.sh
  7049 zmedico  Send the ebuild die message through eerror and make sure that
                elog_process() gets called when an ebuild dies. This makes
                the elog echo module display the die message last in case
                other elog messages push the original die message off of the
                top of the screen. (trunk r7047)
  7051 zmedico  Format the callstack indentation more like it used to be.
                (trunk r7050)
  7056 zmedico  Format $EBUILD_OVERLAY_ECLASSES output more like it was
                before. (trunk r7055)
  7058 zmedico  Fix quoting. (trunk r7057)


bin/emaint
bin/regenworld
pym/portage_update.py
  7000 zmedico  sort the world file before writing it and ensure that it's
                terminated by a newline (bug #180706, trunk r6976 and r6999)


bin/emerge
  6968 zmedico  For bug #182964, replace os.rename() with shutil.move() in
                order to handle EXDEV errors that are triggered by layered
                filesystems. (trunk r6967)
  6971 zmedico  Revert r6968 since shutil.move() is broken internally.
  6991 zmedico  Allow sync for unpriviledges users if they have write access
                to $PORTDIR (bug #182786, trunk r6973)
  7000 zmedico  sort the world file before writing it and ensure that it's
                terminated by a newline (bug #180706, trunk r6976 and r6999)
  7009 zmedico  highlight world packages in --pretend output (bug #142473,
                trunk r6979)
  7021 zmedico  Allow emerge --fetchonly to continue downloading other
                packages after a download from a binhost fails. (trunk r6709)
  7030 zmedico  Fix typo.
  7032 zmedico  For bug #142473, add 4 color classes corresponding to
                combinations of world/merge/nomerge attributes of each
                package. (trunk r7031)
  7035 zmedico  For bug #183167, explicitly call elog_process() when
                --buildpkgonly is enabled. (trunk r7034)
  7049 zmedico  Send the ebuild die message through eerror and make sure that
                elog_process() gets called when an ebuild dies. This makes
                the elog echo module display the die message last in case
                other elog messages push the original die message off of the
                top of the screen. (trunk r7047)
  7053 zmedico  For bug #144333, add a --reinstall=changed-use option which
                behaves similar to how --newuse behaved in portage-2.0.x
                days. (trunk r7052)
  7060 zmedico  For bug #142473, account for $ROOT when deciding if a package
                is part of world or not. (trunk r7059)
  7062 zmedico  Instead of just a list, use a cat/pkg dict for matching
                packages against args in the depgraph. (trunk r7061)
  7066 zmedico  - Improve tracking of correspondence between arguments and
                packages in the depgraph. (trunk r7063) - Cache aux_get()
                metadata in depgraph.create() and use PROVIDE for matching
                packages to arguments. (trunk r7064) - Just use a containment
                test for matching pprovided args since it works correctly and
                match_to_list() isn't appropriate for this. (trunk r7065)
  7068 zmedico  Discard "nomerge" nodes to speed up depgraph.altlist() since
                those nodes aren't used and the --tree algorithm does a good
                job of regenerating them when appropriate. (trunk r7067)
  7070 zmedico  For bug #144333, make the --reinstall option a single choice
                type. (trunk r7069)
  7072 zmedico  When filling in "nomerge" nodes for --tree display, stop at a
                node that is an argument or a direct member of a set that has
                been specified as an argument (system or world). (trunk
                r7071)
  7077 zmedico  For bug #142473, add 2 additional color classes for system
                packages and packages matched by arguments. (trunk
                r7074:7076)
  7079 zmedico  Remove unused worldlist variable. (trunk r7078)
  7084 zmedico  Fix typo. (trunk r7083)


cnf/etc-update.conf
  7001 zmedico  change default diff_command for emacs (bug #147558, trunk
                r6977)


man/emerge.1
pym/emergehelp.py
  7082 zmedico  For bug #144333, document the new --reinstall=changed-use
                option. (trunk r7081)


man/make.conf.5
  7006 zmedico  Update FETCHCOMMAND and RESUMECOMMAND docs (bug #141550,
                trunk r6980 and r7003:7005).
  7007 zmedico  Clarify RESUMECOMMAND requirements. (trunk r7005)


pym/dispatch_conf.py
  6968 zmedico  For bug #182964, replace os.rename() with shutil.move() in
                order to handle EXDEV errors that are triggered by layered
                filesystems. (trunk r6967)
  6971 zmedico  Revert r6968 since shutil.move() is broken internally.


pym/elog_modules/mod_echo.py
  7048 zmedico  Preserve merge order in elog output. (trunk r7046)


pym/getbinpkg.py
  7003 zmedico  dont break when the binhost url doesn't end with a slash (bug
                #144440, trunk r6978)
  7015 zmedico  Clean up file_get() to use shlex, varexpand, and spawn.
                (trunk r7014)
  7022 zmedico  For bug #175891, add sftp protocol support via the paramiko
                library.
  7026 zmedico  Fix file_get_lib() so it behaves the same way with sftp as it
                does with other protocols. (trunk r7023:7024)


pym/output.py
  7032 zmedico  For bug #142473, add 4 color classes corresponding to
                combinations of world/merge/nomerge attributes of each
                package. (trunk r7031)
  7077 zmedico  For bug #142473, add 2 additional color classes for system
                packages and packages matched by arguments. (trunk
                r7074:7076)


pym/portage.py
  6968 zmedico  For bug #182964, replace os.rename() with shutil.move() in
                order to handle EXDEV errors that are triggered by layered
                filesystems. (trunk r6967)
  6971 zmedico  Revert r6968 since shutil.move() is broken internally.
  6984 zmedico  For bug #182964, replace os.rename() with portage.movefile()
                in cases where the parent directory might change. (trunk
                r6983)
  6997 zmedico  - s/!owned/replaced/ in merge output to clarify it (trunk
                r6975) - Fix column alignment in unmerge output. (trunk
                r6988) - Fix typos. (trunk r6989 and r6996)
  6998 zmedico  get ACCEPT_KEYWORDS from the env in gvisible() to properly
                handle negated values (bug #139600) (trunk r6981 and r6987)
  7013 zmedico  Fix binarytree.isremote() to be consistent with
                binarytree.gettbz2() logic wrt partially downloaded files.
                (trunk r7012)
  7017 zmedico  For bug #175891, support ${FETCHCOMMAND}_${PROTOCOL} in
                binarytree.gettbz2(). (trunk r7016)
  7020 zmedico  Fix resume logic in binarytree.gettbz2(). (trunk r7017:7019)
  7021 zmedico  Allow emerge --fetchonly to continue downloading other
                packages after a download from a binhost fails. (trunk r6709)
  7028 zmedico  Don't use urljoin() in binarytree.gettbz2() since it doesn't
                work correctly wih unrecognized protocols like sftp. (trunk
                r7027)
  7040 zmedico  Add sanity checks in fetch() and digestgen() to automatically
                detect and handle invalid empty distfiles since some users
                have reported difficulty when trying to create digests.
                (trunk r7039)
  7043 zmedico  Add one more size == 0 check to digestgen(). (trunk
                r7040:7042)
  7049 zmedico  Send the ebuild die message through eerror and make sure that
                elog_process() gets called when an ebuild dies. This makes
                the elog echo module display the die message last in case
                other elog messages push the original die message off of the
                top of the screen. (trunk r7047)
  7074 zmedico  For bug #183431, catch a ParseError caused by a corrupt
                profile and dump an error message. This allows emerge to
                continue with actions that don't require a valid profile,
                such as --sync. (trunk r7073)
  7086 zmedico  Fix typo. (trunk r6989)


pym/portage_checksum.py
  7010 zmedico  add hashlib support for checksum verification, refactor
                checksum functions to not look like a complete mess (bug
                #148514, trunk r6972)


pym/portage_manifest.py
  7045 zmedico  Short circuit the loop as soon as missing hashes are
                detected. (trunk r7044)


=============================================================================
2.1.3_rc5
2007-06-22
branches/2.1.2 revision 6965
=============================================================================


NEWS
  6951 zmedico  Update 2.1.3 news for elog stuff. (trunk r6950)
  6961 zmedico  enable save_summary and echo modules in make.globals (trunk
                r6458)


RELEASE-NOTES
cnf/make.globals
  6961 zmedico  enable save_summary and echo modules in make.globals (trunk
                r6458)


bin/dobin
bin/doexe
bin/doinitd
  6903 zmedico  change "EXEDESTTREE" to "_E_EXEDESTTREE_" to try and prevent
                abuse from ebuild writers (trunk r6351)


bin/dodoc
bin/dohtml
  6902 zmedico  change DOCDESTTREE to _E_DOCDESTTREE_ to try and prevent
                abuse from ebuild writers (trunk r6347)


bin/ebuild.sh
  6885 zmedico  For bug #180165, make portageq print a "Permission denied"
                error when appropriate and make has_version die if portageq
                has an unexpected exit code. (trunk r6880:6882)
  6902 zmedico  change DOCDESTTREE to _E_DOCDESTTREE_ to try and prevent
                abuse from ebuild writers (trunk r6347)
  6903 zmedico  change "EXEDESTTREE" to "_E_EXEDESTTREE_" to try and prevent
                abuse from ebuild writers (trunk r6351)


bin/ecompress
  6935 zmedico  cache the result of --suffix to reduce testing overhead as
                suggested by Mr_Bones_ (trunk r6922)


bin/emerge
  6884 zmedico  If a package is in the world set but it's not installed, go
                ahead and install it if it's available (instead of telling
                the user to run emaint). (trunk r6883)
  6885 zmedico  For bug #180165, make portageq print a "Permission denied"
                error when appropriate and make has_version die if portageq
                has an unexpected exit code. (trunk r6880:6882)
  6888 zmedico  Show a "world problems" warning for packages that aren't
                installed, even if they are available. (trunk r6887)
  6891 zmedico  Use the the optparse options for --ignore-default-opts since
                that allows option abreviation to work. (trunk r6890)
  6908 zmedico  Display message about --buildpkgonly restriction in pretend
                mode as well (trunk r6199)
  6928 zmedico  Print filename when displaying package.mask comments (trunk
                r5974)
  6929 zmedico  Print hostname in xterm title if HOSTNAME is exported in the
                environment (trunk r5976)
  6930 zmedico  Remove lots of unnecessary list generation via dict.keys().
                (trunk r6911)
  6958 zmedico  - Make elog finalize() handling safe for PORTAGE_CONFIGROOT.
                (trunk r6955) - Dump mod_echo elog output inside
                post_emerge(), just before the other notifications that
                happen at exit. (trunk r6953)


bin/emerge-webrsync
  6927 zmedico  Add support for RSYNC_EXTRA_OPTS to webrsync (trunk r5973)


bin/fix-db.py
bin/md5check.py
  6930 zmedico  Remove lots of unnecessary list generation via dict.keys().
                (trunk r6911)


bin/portageq
  6885 zmedico  For bug #180165, make portageq print a "Permission denied"
                error when appropriate and make has_version die if portageq
                has an unexpected exit code. (trunk r6880:6882)
  6924 zmedico  if requested argv cannot be matched to anything, exit with
                non-zero status (trunk r5791)


bin/prepstrip
  6901 zmedico  strip .comment by default, add a comment as to what we need
                before we can do .note, and add safe stripping of relocatable
                objects (trunk r6416)


bin/quickpkg
  6872 zmedico  For bug #182428, make quickpkg use a more secure umask by
                default and allow it to be overridden by a --umask option.
                Add support for QUICKPKG_DEFAULT_OPTS so that default options
                can be set in make.conf. (trunk r6871)
  6893 zmedico  Add an --ignore-default-opts option that is analogous to the
                corresponding emerge option. (trunk r6892)
  6898 zmedico  as noted by Josh Saddler on the gentoo-dev mailing list,
                issue a warning if we try to create a binpkg for something
                that has IUSE=bindist but was emerged with USE=-bindist
                (trunk r6895:6897)
  6938 zmedico  Make quickpkg print a warning if "bindist" is in RESTRICT.
                (trunk r6937)
  6948 zmedico  For bug #182428, make quickpkg exclude config files that are
                protected by CONFIG_PROTECT. Add a --include-config option
                that includes all config files and a
                --include-unmodified-config that includes config files that
                have not been modified since installation (matching md5sum).
                (trunk r6945)
  6965 zmedico  Remove redundant 'Usage: ' from the usage message. (trunk
                r6964)


bin/repoman
  6900 zmedico  Pretty up the repoman imports, use cPickle over pickle for
                performance (trunk r6431)
  6930 zmedico  Remove lots of unnecessary list generation via dict.keys().
                (trunk r6911)


cnf/logrotate.d (from /main/trunk/cnf/logrotate.d:6962) (Added)
  6963 zmedico  Add a logrotate config for the save_summary elog module since
                it's enabled by default now. (trunk r6962)


cnf/make.conf
  6899 zmedico  add new echo module for people who don't want any real
                logging (trunk r6458)
  6921 zmedico  Allow per-module filtering based on loglevels in addition to
                the global PORTAGE_ELOG_CLASSES one, add wildcard support for
                loglevels (trunk r5706:5709)
  6925 zmedico  remove confcache docs (trunk r5802)


doc (from /main/trunk/doc:5693) (Added)
doc/qa.docbook
  6910 zmedico  - start documenting qa notices so antarus stops whining
                (trunk r5693) - forgot to document strict alias warnings
                (trunk r5733) - fix programlisting output to match the
                sections they are in (trunk r5734)


make.conf.txt
man/make.conf.5
  6925 zmedico  remove confcache docs (trunk r5802)


man/ebuild.5
  6904 zmedico  make PDEPEND wording less restrictive #172511 and clarify
                install status wrt ||() as noted by ferringb (trunk r6324)
  6925 zmedico  remove confcache docs (trunk r5802)
  6957 zmedico  Document RESTRICT=bindist and add a note about allowance for
                conditional syntax. (trunk r6954)


pym/cache/anydbm.py
pym/cache/flat_hash.py
pym/cache/flat_list.py
pym/cache/metadata_overlay.py
pym/cache/sql_template.py
pym/cache/sqlite.py
pym/cache/volatile.py
  6934 zmedico  Implement iterkeys on top of __iter__ instead of vice versa.
                Thanks to Brian Harring for the suggestion. (trunk r6918)


pym/cache/template.py
pym/cache/util.py
  6931 zmedico  Remove more unnecessary list generation. (trunk r6912)
  6934 zmedico  Implement iterkeys on top of __iter__ instead of vice versa.
                Thanks to Brian Harring for the suggestion. (trunk r6918)


pym/cvstree.py
pym/portage_checksum.py
pym/portage_util.py
  6931 zmedico  Remove more unnecessary list generation. (trunk r6912)


pym/elog_modules/mod_custom.py
pym/getbinpkg.py
pym/portage_locks.py
  6932 zmedico  Remove more unnecessary list generation. (trunk r6913)


pym/elog_modules/mod_echo.py (Added)
  6899 zmedico  add new echo module for people who don't want any real
                logging (trunk r6458)
  6932 zmedico  Remove more unnecessary list generation. (trunk r6913)
  6958 zmedico  - Make elog finalize() handling safe for PORTAGE_CONFIGROOT.
                (trunk r6955) - Dump mod_echo elog output inside
                post_emerge(), just before the other notifications that
                happen at exit. (trunk r6953)
  6960 zmedico  Show which $ROOT a package was merged to when $ROOT is not /.
                (trunk r6959)


pym/elog_modules/mod_mail_summary.py
  6932 zmedico  Remove more unnecessary list generation. (trunk r6913)
  6958 zmedico  - Make elog finalize() handling safe for PORTAGE_CONFIGROOT.
                (trunk r6955) - Dump mod_echo elog output inside
                post_emerge(), just before the other notifications that
                happen at exit. (trunk r6953)


pym/emergehelp.py
  6906 zmedico  default --help should be usable, so make the extended output
                require --verbose (trunk r6262:6264)


pym/output.py
  6874 zmedico  For bug #182571, handle curses.error if it's thrown inside
                get_term_size(). (trunk r6873)
  6876 zmedico  Return early from get_term_size() is stdout is not a tty.
                (trunk r6875)


pym/portage.py
  6868 zmedico  During unmerge, always verify that the file isn't a symlink
                before doing chmod. (trunk r6867)
  6878 zmedico  For bug #143340, give an appropriate message when there is no
                read access to a binary package. (trunk r6877)
  6880 zmedico  Fix cacheddir() to behave properly if os.listdir() raises
                errno.EACCES (Permission denied). (trunk r6879)
  6885 zmedico  For bug #180165, make portageq print a "Permission denied"
                error when appropriate and make has_version die if portageq
                has an unexpected exit code. (trunk r6880:6882)
  6895 zmedico  In dblink._security_check(), use os.path.realpath to make
                sure that the same path isn't counted twice. (trunk r6894)
  6905 zmedico  fix grammar in error output (trunk r6285)
  6921 zmedico  Allow per-module filtering based on loglevels in addition to
                the global PORTAGE_ELOG_CLASSES one, add wildcard support for
                loglevels (trunk r5706:5709)
  6928 zmedico  Print filename when displaying package.mask comments (trunk
                r5974)
  6930 zmedico  Remove lots of unnecessary list generation via dict.keys().
                (trunk r6911)
  6931 zmedico  Remove more unnecessary list generation. (trunk r6912)
  6933 zmedico  config class mapping interface cleanups from trunk r6916,
                r6919, and r6920.
  6936 zmedico  Clean up the profile masking code. (trunk r6292)
  6958 zmedico  - Make elog finalize() handling safe for PORTAGE_CONFIGROOT.
                (trunk r6955) - Dump mod_echo elog output inside
                post_emerge(), just before the other notifications that
                happen at exit. (trunk r6953)


pym/portage_exception.py
  6885 zmedico  For bug #180165, make portageq print a "Permission denied"
                error when appropriate and make has_version die if portageq
                has an unexpected exit code. (trunk r6880:6882)


pym/portage_manifest.py
  6923 zmedico  Some minor fixes for manifest code (trunk r5735)
  6926 zmedico  Check if entries contain the required hashes before writing
                the Manifest (trunk r5902)
  6932 zmedico  Remove more unnecessary list generation. (trunk r6913)


=============================================================================
2.1.3_rc4
2007-06-17
branches/2.1.2 revision 6866
=============================================================================


pym/portage.py
  6864 zmedico  For bug #182346, use dblink.isowner() during unmerge so that
                device/inode numbers are used to determine ownership (despite
                path mismatch due to symlinks). (trunk r6863)
  6866 zmedico  In dblink.isowner() don't bother to stat the file when it's
                contained in the contents. (trunk r6865)


=============================================================================
2.1.3_rc3
2007-06-15
branches/2.1.2 revision 6861
=============================================================================


bin/emerge
  6855 zmedico  For bug #182021, use active voice when notifying the user
                that superuser access is required. (trunk r6854)


bin/repoman
  6857 zmedico  Make repoman exit with nonzero status whenever there are qa
                issues (already does the same in commit mode). Thanks to
                Daniel Gryniewicz <dang@gentoo.org> in bug #182166. (trunk
                r6856)


pym/output.py
  6847 zmedico  For bug #182105, fix the spelling of the fd_pipes paremeter.
                (trunk r6846)


pym/portage.py
  6849 zmedico  For bug #182157, never chmod 0 symlinks before unlinking
                them. (trunk r6848)
  6851 zmedico  For bug #182157, don't let unmerge-orphans unlink symlinks to
                directories since that can remove /lib and /usr/lib symlinks.
  6853 zmedico  Handle another case where removing a symlink to a directory
                can be harmful. (trunk r6852)
  6859 zmedico  Make the collision-protect loop check for existance of the
                destination file before checking if it's owned. (trunk r6858)
  6861 zmedico  Go ahead and unlink symlinks to directories when they're
                actually recorded as symlinks in the contents. (trunk r6860)


=============================================================================
2.1.3_rc1
2007-06-14
branches/2.1.2 revision 6844
=============================================================================


NEWS
  6806 zmedico  Add news about USE_EXPAND wildcards. (trunk r6802)
  6813 zmedico  Add a note about preservation of timestamps on merged files.
                (trunk r6812)


RELEASE-NOTES
  6832 zmedico  Add a note about the new unmerge-orphans behavior. (trunk
                r6831)


bin/ebuild.sh
  6785 zmedico  For bug #148702, use the * token to trigger wildcard
                expansion of IUSE. This adds flexibility and prevents flags
                from being enabled unexpectedly. (trunk r6784)


bin/emerge
  6838 zmedico  For bug #181953, prevent the circular_blocks code from
                selecting a node that's already been selected by the normal
                node selection process. (trunk r6837)


bin/repoman
  6789 zmedico  Make repoman work with both + and - flags in IUSE. (trunk
                r6788)
  6798 zmedico  For bug #181355, detect parenthesis mismatch in
                paren_reduce(), raise an InvalidDependString exception, and
                make sure that all callers handle the exception properly.
                (trunk r6795:6797)


cnf/make.conf
  6811 zmedico  Update the PORT_LOGDIR docs for bug #82378. Thanks to
                Arfrever FTA for reporting. (trunk r6810)


cnf/make.globals
  6830 zmedico  For bug #134620, add a FEATURES=unmerge-orphans option that
                causes unmerge to remove files more aggressively. If a file
                is not claimed by another package in the same slot and it is
                not protected by CONFIG_PROTECT, unmerge it even if the
                modification time or checksum differs from the file that was
                originally installed. This is enabled in make.globals since
                the vast majority of users probably want this. (trunk r6829)


man/make.conf.5
  6811 zmedico  Update the PORT_LOGDIR docs for bug #82378. Thanks to
                Arfrever FTA for reporting. (trunk r6810)
  6830 zmedico  For bug #134620, add a FEATURES=unmerge-orphans option that
                causes unmerge to remove files more aggressively. If a file
                is not claimed by another package in the same slot and it is
                not protected by CONFIG_PROTECT, unmerge it even if the
                modification time or checksum differs from the file that was
                originally installed. This is enabled in make.globals since
                the vast majority of users probably want this. (trunk r6829)


pym/output.py
  6795 zmedico  For bug #81097, detect and report suspicious hardlinks to
                suid/sgid files. False positives are prevented by doing
                reference counts for each inode having suid/sgid bits and
                multiple hardlinks. The security check is done prior to each
                merge or unmerge phase and it will cause the phase to abort
                if a problem is found (so that the user can investigate
                before any files are removed). (trunk r6791:6794)
  6800 zmedico  For consistency with other xterm titles code, redirect
                $PROMPT_COMMAND output to stderr. (trunk r6799)


pym/portage.py
  6779 zmedico  For bug #181387, fix an UnboundLocalError for the mymtime
                variable that is triggered by confmem. (trunk r6778)
  6781 zmedico  For bug #148702, automatically enable flags from IUSE if they
                correspond to unset USE_EXPAND variables such as LINGUAS. The
                variable only has to be set to some value or an empty string
                in order to disable these flags. (trunk r6780)
  6783 zmedico  When an update is discarded due to confmem, record it's mtime
                in the contents (it's md5 is already recorded there too).
                (trunk r6782)
  6785 zmedico  For bug #148702, use the * token to trigger wildcard
                expansion of IUSE. This adds flexibility and prevents flags
                from being enabled unexpectedly. (trunk r6784)
  6787 zmedico  Preserve order of flags from IUSE in wildcard expansion.
                (trunk r6786)
  6791 zmedico  For bug #181551, support slot deps in package.keywords.
                (trunk r6790)
  6795 zmedico  For bug #81097, detect and report suspicious hardlinks to
                suid/sgid files. False positives are prevented by doing
                reference counts for each inode having suid/sgid bits and
                multiple hardlinks. The security check is done prior to each
                merge or unmerge phase and it will cause the phase to abort
                if a problem is found (so that the user can investigate
                before any files are removed). (trunk r6791:6794)
  6798 zmedico  For bug #181355, detect parenthesis mismatch in
                paren_reduce(), raise an InvalidDependString exception, and
                make sure that all callers handle the exception properly.
                (trunk r6795:6797)
  6815 zmedico  For bug #181021, during unmerge use all slot matches for
                reference counts (in case the user has set AUTOCLEAN=no).
                (trunk r6814)
  6817 zmedico  Always return a dict from dblink.getcontents() since callers
                never expect to get None. (trunk r6816)
  6819 zmedico  Remove some useless dircache code. (trunk r6818)
  6820 zmedico  For bug #153109, replace our old chflags module with the one
                provided by the py-freebsd package. Thanks to Flameeyes for
                the initial patch. (trunk r5870)
  6822 zmedico  Reuse previously acquired lstat results. (trunk r6821)
  6824 zmedico  Cache dblink instances for security checks and reference
                counts during merge/unmerge so that each CONTENTS only has to
                be parsed once. These can also be reused for
                collision-protect. (trunk r6823)
  6826 zmedico  Use cached dblink instances for collision-protect. (trunk
                r6825)
  6828 zmedico  Fix dblink.isowner() so it works properly when ROOT!=/.
                (trunk r6827)
  6830 zmedico  For bug #134620, add a FEATURES=unmerge-orphans option that
                causes unmerge to remove files more aggressively. If a file
                is not claimed by another package in the same slot and it is
                not protected by CONFIG_PROTECT, unmerge it even if the
                modification time or checksum differs from the file that was
                originally installed. This is enabled in make.globals since
                the vast majority of users probably want this. (trunk r6829)
  6834 zmedico  In dblink.treewalk(), handle the case where the current cpv
                is already installed but it has a different slot (multislot
                or unapplied slotmove). (trunk r6833)
  6842 zmedico  Miscellaneous global updates cleanups. (trunk r6686, r6688,
                and r6690:6693)
  6844 zmedico  Fix broken \!found logic so that any missing files are
                properly skipped. (trunk r6843)


pym/portage_dep.py
  6798 zmedico  For bug #181355, detect parenthesis mismatch in
                paren_reduce(), raise an InvalidDependString exception, and
                make sure that all callers handle the exception properly.
                (trunk r6795:6797)


=============================================================================
2.1.2.10
2007-06-08
branches/2.1.2 revision 6776
=============================================================================


bin/ebuild
  6701 zmedico  For bug #172886, catch GetoptError. (trunk r6684)


bin/ebuild.sh
  6767 zmedico  For bug #181104, make econf give an appropriate error message
                when configure is not executable. (trunk r6766)
  6776 zmedico  Skip bogus '$ECLASS inherited illegally' messages when
                installing from a binary package. (trunk r6775)


bin/emerge
  6702 zmedico  Only check ChangeLog if we're dealing with an ebuild (bug
                #170604) (trunk r6685)
  6703 zmedico  Make automatic "global updates" always use the config
                instance that's associated with /, since the rest of the code
                is targeted at /. (trunk r6687)
  6731 zmedico  Improve support for slot deps atoms given on the command
                line. (trunk r6730)
  6764 zmedico  Make all the python code respect USE conditionals in
                RESTRICT. It's already handled on the bash side since
                RESTRICT is assigned the value of PORTAGE_RESTRICT. (trunk
                r6750)
  6765 zmedico  Ignore InvalidDependString exceptions from the RESTRICT of
                nomerge nodes. (trunk r6751)


bin/etc-update
  6756 zmedico  Use user-provided for -5 (bug #47442) (trunk r6735)


bin/fixpackages
  6703 zmedico  Make automatic "global updates" always use the config
                instance that's associated with /, since the rest of the code
                is targeted at /. (trunk r6687)


bin/quickpkg
  6753 zmedico  For bug #164655, port quickpkg to python and use the tarfile
                module for proper handling of symlinks to directories. Thanks
                to Martin Parm <parmus@diku.dk> for the initial port. (trunk
                r6728)
  6774 zmedico  Don't forget to rename the temporary binpkg after it's
                created.


bin/repoman
  6717 zmedico  Don't complain when is missing unless manifest1 compatibility
                is enabled. (trunk r6711 and r6716)


cnf/make.globals
  6761 zmedico  For bug #153967, use -O / in the default FETCHCOMMAND. (trunk
                r6741)


man/ebuild.5
  6755 zmedico  Add ECONF_SOURCE to the econf docs. (trunk r6733)


man/emerge.1
pym/emergehelp.py
  6762 zmedico  For bug #156536, update --resume docs to show that the resume
                history is capable of storing two merge lists. (trunk r6742)


man/make.conf.5
  6754 zmedico  Document EXTRA_ECONF, thanks to Arfrever FTA in bug #167057.
                (trunk r6732)


pym/output.py
  6753 zmedico  For bug #164655, port quickpkg to python and use the tarfile
                module for proper handling of symlinks to directories. Thanks
                to Martin Parm <parmus@diku.dk> for the initial port. (trunk
                r6728)
  6769 zmedico  For bug #139383, in xtermTitleReset() use os.system() instead
                of commands.getoutput() since the latter puts too much
                restriction on what $PROMPT_COMMAND may contain. (trunk
                r6768)
  6773 zmedico  Only execute $PROMPT_COMMAND when appropriate. (trunk r6772)


pym/portage.py
  6700 zmedico  Make dep_zapdeps() pull SLOT from the correct dbapi instance
                when it falls back to the vdb. (trunk r6698)
  6703 zmedico  Make automatic "global updates" always use the config
                instance that's associated with /, since the rest of the code
                is targeted at /. (trunk r6687)
  6712 zmedico  Raise a KeyError from bindbapi.aux_get() when appropriate.
                (trunk r6699)
  6713 zmedico  For bug #149397, raise an InvalidDependString exception if a
                USE has no basename. (trunk r6706)
  6714 zmedico  Don't repeatedly invoke the depend phase for ebuilds that are
                already known to be broken. (trunk r6707)
  6715 zmedico  Instead of calling sys.exit() when aux_get() fails inside
                getfetchlist(), convert the KeyError to an
                InvalidDependString exception since callers already handle
                it. (trunk r6708)
  6744 zmedico  For bug #82378, only set permissions on PORT_LOGDIR if it is
                created automatically. (trunk r6743)
  6757 zmedico  Remove duplicate entries from special variables processed by
                env_update() (bug #172194) (trunk r6736 and r6738)
  6758 zmedico  When dblink.treewalk() looks for an installed instance in the
                same slot, make sure that it selects the one with the highest
                COUNTER in case there are multiple matches. (trunk r6737)
  6759 zmedico  Fix typo, split SPACE_SEPARATED variables on whitespace.
                (trunk r6738)
  6760 zmedico  For bug #181021, preserve timestamps from during merge. For
                replacement operations, the unmerge phase checks the contents
                of the newer instance in order to prevent identical files in
                the newer instance from being unmerged. (trunk r6739, r6740,
                and r6745)
  6764 zmedico  Make all the python code respect USE conditionals in
                RESTRICT. It's already handled on the bash side since
                RESTRICT is assigned the value of PORTAGE_RESTRICT. (trunk
                r6750)
  6771 zmedico  For bug #152828, run ${CHOST}-ldconfig when ${CBUILD} !=
                ${CHOST}. (trunk r6770)


pym/portage_versions.py
  6763 zmedico  Return copies of the cached values from pkgsplit and
                catpkgsplit. (trunk r6746)


=============================================================================
2.1.2.9
2007-05-30
branches/2.1.2 revision 6681
=============================================================================


bin/ebuild.sh
  6672 zmedico  For bug #61732, support -flag in USE (instead of just +flag).
                Given the current default USE_ORDER, -flag in IUSE has no
                effect. (trunk r6671)


bin/ecompressdir
  6668 zmedico  For bug #180222, make ecompressdir use -f for the automatic
                decompression phase. (trunk r6667)


bin/emerge
  6649 zmedico  For bug #180079, fix a KeyError so that a search for the
                empty string will go ahead and match all packages. (trunk
                r6648)
  6651 zmedico  For bug #180009, add a PORTAGE_RSYNC_INITIAL_TIMEOUT config
                variable. The default is 15 seconds and it can be disabled by
                setting it to 0. (trunk r6650)
  6672 zmedico  For bug #61732, support -flag in USE (instead of just +flag).
                Given the current default USE_ORDER, -flag in IUSE has no
                effect. (trunk r6671)


bin/repoman
  6632 zmedico  xmlint can produce garbage output even on success, so only
                dump the ouput when it fails. See bug #179008. (trunk r6631)


man/make.conf.5
  6651 zmedico  For bug #180009, add a PORTAGE_RSYNC_INITIAL_TIMEOUT config
                variable. The default is 15 seconds and it can be disabled by
                setting it to 0. (trunk r6650)


pym/portage.py
  6624 zmedico  For bug #179766, expand USE_EXPAND variables inside the USE
                incremental loop so that USE"-*" will not always destroy
                them. (trunk r6623)
  6628 zmedico  Store flags as a set inside the USE incremental loop. (trunk
                r6627)
  6636 zmedico  Fix logic for USE_EXPAND variables that are incremental
                (there are none currently). (trunk r6635)
  6658 zmedico  For bug #179870, add support for cpv:slot in
                match_from_list() and use it to make config.setcpv()
                distinguish slot atoms in package.use. (trunk r6657)
  6666 zmedico  For bug #179870, correctly handle slot deps in the profile's
                package.* files. (trunk r6665)
  6672 zmedico  For bug #61732, support -flag in USE (instead of just +flag).
                Given the current default USE_ORDER, -flag in IUSE has no
                effect. (trunk r6671)
  6677 zmedico  Show deprecation warnings if the "clone" parameters are used
                for the binartree, vartree, or portagetree constructors.
                (trunk r6676)


pym/portage_dep.py
  6658 zmedico  For bug #179870, add support for cpv:slot in
                match_from_list() and use it to make config.setcpv()
                distinguish slot atoms in package.use. (trunk r6657)
  6660 zmedico  Don't pass slotted packages into pkgsplit since it doesn't
                handle them. (trunk r6659)
  6662 zmedico  Fix dep_getcpv() so that it always properly removes the slot
                regardless of which operator is present. (trunk r6661)
  6664 zmedico  Fix get_operator() and best_match_to_list() so that slot deps
                mesh properly with operators. (trunk r6663)
  6670 zmedico  Fix slot handling at the beginning of match_from_list().
                (trunk r6669)
  6674 zmedico  Return a copy of the cached result from match_from_list().
                (trunk r6673)
  6679 zmedico  For bug #180399, raise an appropriate InvalidDependString
                exception if there is no flag attached directly to a '?'
                token. (trunk r6678)
  6681 zmedico  Fix an IndexError in get_operator() that occurs when
                isvalidatom() passes it an empty string. (trunk r6680)


=============================================================================
2.1.2.8
2007-05-24
branches/2.1.2 revision 6619
=============================================================================


bin/dispatch-conf
  6608 zmedico  Add a 'ignore-previously-merged' config option which gives
                similar behavior to the --noconfmem emerge option. (trunk
                r6591:6592)
  6616 zmedico  Fix the ignore-previously-merged option so that it compares
                the original files, since mrgconf can be identical to
                conf['current'] even when conf['new'] is different from the
                archived .dist version (due to diff3 merging). (trunk r6615)


bin/ebuild
  6509 zmedico  Make sure USE=test is properly enabled when the test phase is
                forced via the ebuild command. Thanks to Caster for
                reporting. (trunk r6507:6508)
  6518 zmedico  Make sure FEATURES=test and USE=test are consistently enabled
                for all requested phases when the test phase is forced via
                the ebuild command. (trunk r6516:6517)


bin/ebuild.sh
  6514 zmedico  Make sure USE=test is properly enabled when the test phase is
                forced via the ebuild command, even when USE from
                ${T}/environment doen't have it. (trunk r6512:6513)
  6573 zmedico  fix from James C. Georgas to not modify EXTRA_EINSTALL
                #178544 (trunk r6552:6553)


bin/emerge
  6604 zmedico  In --tree output, keep track of which graph edges have
                already been displayed and try not to display a given edge
                more than once. (trunk r6555:6557)


bin/repoman
  6576 zmedico  For bug #179008, just use metadata.dtd directly from
                $DISTDIR. (trunk r6561:6562)
  6603 zmedico  For bug #176539, add a manifest target to repoman so that
                there's a simple way to just generate a Manifest.
  6605 zmedico  Use device number and i-node number (like os.path.samefile
                does) to check if the current directory is inside a given
                overlay. This solves issues with path comparison and
                symlinks. (trunk r6558:6559)
  6619 zmedico  Skip fetching of metadata.dtd when mymode == "manifest".
                (trunk r6618)


cnf/dispatch-conf.conf
  6608 zmedico  Add a 'ignore-previously-merged' config option which gives
                similar behavior to the --noconfmem emerge option. (trunk
                r6591:6592)


cnf/make.conf
  6602 zmedico  s:${PORTDIR}:/usr/portage: so that it's not implied that
                those variables are automatically relative to ${PORTDIR} when
                the value of ${PORTDIR} has changed to something other than
                /usr/portage. Thanks to kerframil for reporting. (trunk
                r6522:6523)


man/emerge.1
  6601 zmedico  For bug #177601, add a reference the --verbose option
                documentation in the OUTPUT section.


man/make.conf.5
  6520 zmedico  For bug #177763, clarify about how FEATURES=keepwork allows
                ${WORKDDIR} to be reused. (trunk r6518:6519)
  6602 zmedico  s:${PORTDIR}:/usr/portage: so that it's not implied that
                those variables are automatically relative to ${PORTDIR} when
                the value of ${PORTDIR} has changed to something other than
                /usr/portage. Thanks to kerframil for reporting. (trunk
                r6522:6523)


pym/portage.py
  6509 zmedico  Make sure USE=test is properly enabled when the test phase is
                forced via the ebuild command. Thanks to Caster for
                reporting. (trunk r6507:6508)
  6572 zmedico  Don't protect USE_EXPAND variables from -* anymore because
                the really critical ones should all be in use.force now
                (typically kernel_linux, elibc_glibc, and userland_GNU).
                (trunk r6539:6540)
  6575 zmedico  In fetch(), don't try to parse digests unless the "O"
                variable is defined. (trunk r6560:6561)
  6577 zmedico  Use bash to spawn FETCHCOMMAND under selinux since most other
                binaries are forbidden as entrypoints into the fetch domain.
                Thanks to Justin Heesemann <jh@ionium.org> for reporting.
                (trunk r6565:6566)
  6578 zmedico  For forward compatibility, make binarytree.populate() work
                even when $PKGDIR/All/ doesn't exist.
  6606 zmedico  hardlink basic suid protection (trunk r6580)
  6607 zmedico  Punt the portdbapi.getsize() function since it's unused and
                broken (mysum referenced before assignment). (trunk r6582)


pym/portage_manifest.py
  6536 zmedico  For bug #178293, don't write digest-* files unnecessarily
                when SRC_URI is empty. (trunk r6534:6535)


pym/portage_update.py
  6574 zmedico  For bug #179206, improve efficiency by using a containment
                test instead of str.count inside update_dbentry. Thanks to
                Jason Lai <jason.lai@gmail.com>. (trunk r6559:6560)


pym/portage_util.py
  6510 zmedico  For bug #177591, increase shell compatibility by preserving
                quotes in varexpand() since quote removal is handled by
                shlex. (trunk r6504:6505)


tests/portage_util/test_varExpand.py
  6526 zmedico  Fix the varexpand quotes tests since quotes are no longer
                removed by this function. (trunk r6524:6525)


=============================================================================
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
=============================================================================

