portage.git
18 years agoimport before using it...
Fabian Groffen [Tue, 17 Jun 2008 21:10:31 +0000 (21:10 -0000)]
import before using it...

svn path=/main/branches/prefix/; revision=10707

18 years agoI suck at syntax
Fabian Groffen [Tue, 17 Jun 2008 20:47:47 +0000 (20:47 -0000)]
I suck at syntax

svn path=/main/branches/prefix/; revision=10706

18 years ago Merged from trunk 10703:10704
Fabian Groffen [Tue, 17 Jun 2008 20:20:19 +0000 (20:20 -0000)]
   Merged from trunk 10703:10704

   | 10704   | More eblank.                                                 |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10705

18 years ago Merged from trunk 10697:10698
Fabian Groffen [Tue, 17 Jun 2008 19:51:14 +0000 (19:51 -0000)]
   Merged from trunk 10697:10698

   | 10698   | Remove eblank docs.                                          |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10700

18 years ago'port' isMasterLink to LinkageMapMachO, further sync differences, be more careful...
Fabian Groffen [Tue, 17 Jun 2008 19:48:36 +0000 (19:48 -0000)]
'port' isMasterLink to LinkageMapMachO, further sync differences, be more careful with os.path.realpath

svn path=/main/branches/prefix/; revision=10699

18 years ago Merged from trunk 10692:10696
Fabian Groffen [Tue, 17 Jun 2008 18:49:17 +0000 (18:49 -0000)]
   Merged from trunk 10692:10696

   | 10693  | Do not preserve the master link of a library to avoid         |
   | genone | packages being linked against preserved libs on rebuilds      |

   | 10694  | Remove eblank nonsense                                        |
   | genone |                                                               |

   | 10695  | Remove eblank nonsense                                        |
   | genone |                                                               |

   | 10696  | remove stray line                                             |
   | genone |                                                               |

svn path=/main/branches/prefix/; revision=10697

18 years ago Merged from trunk 10654:10690
Fabian Groffen [Tue, 17 Jun 2008 16:48:53 +0000 (16:48 -0000)]
   Merged from trunk 10654:10690

   | 10656   | Fix config._accept_chost_re so it's only an instance         |
   | zmedico | variable.                                                    |

   | 10658   | Add some write access checks in post_merge() in order to     |
   | zmedico | avoid triggering permission related exceptions.              |

   | 10659   | Make some post_merge() things conditional on the vdb lock    |
   | zmedico | being held (mtimedb commit and info dirs processing).        |

   | 10660   | Bug #223417 - Due to 1 second mtime granularity in <         |
   | zmedico | python-1.5, mtime checks are not always sufficient to        |
   |         | invalidate vardbapi caches. Therefore, the caches need to be |
   |         | actively invalidated when packages are added and removed.    |

   | 10661   | Re-enable vardbapi.cpv_all() cache now that bug #223417 is   |
   | zmedico | solved.                                                      |

   | 10669   | Tweak the config._accept_chost() regex.                      |
   | zmedico |                                                              |

   | 10671   | Document the new ACCEPT_CHOSTS variable.                     |
   | zmedico |                                                              |

   | 10673   | Fix typo.                                                    |
   | zmedico |                                                              |

   | 10675   | Add support for an new "eblank" elog function that shows a   |
   | zmedico | blank line. Consecutive eblank calls are all collapsed into  |
   |         | a single blank line. Thanks to Joe Peterson <lavajoe@g.o>    |
   |         | for this patch.                                              |

   | 10677   | * Rename NEUTRAL color to BLANK for eblank. * Document the   |
   | zmedico | new BLANK code in color.map.5. * Implement python version of |
   |         | eblank for mod_echo.                                         |

   | 10679   | Fix BLANK order and color.                                   |
   | zmedico |                                                              |

   | 10681   | Add "blank" to the default PORTAGE_ELOG_CLASSES setting.     |
   | zmedico |                                                              |

   | 10683   | Add a "Interaction with previous installed version" section  |
   | zmedico | to document the upgrade/downgrade phase execution order      |
   |         | change from bug #226505.                                     |

   | 10685   | Add note about bug #226505.                                  |
   | zmedico |                                                              |

   | 10687   | * Document eblank and eqawarn in the ebuild.5 man page. *    |
   | zmedico | Create "Ebuild Helper Functions" section docbook format,     |
   |         | including all the functions documented in the ebuild.5 man   |
   |         | page.                                                        |

   | 10690   | fix typo                                                     |
   | genone  |                                                              |

svn path=/main/branches/prefix/; revision=10692

18 years ago Merged from trunk 10625:10654
Fabian Groffen [Tue, 17 Jun 2008 16:43:29 +0000 (16:43 -0000)]
   Merged from trunk 10625:10654

   | 10626   | Fix missing initialization.                                  |
   | zmedico |                                                              |

   | 10628   | Fix typo.                                                    |
   | zmedico |                                                              |

   | 10631   | Fix typo.                                                    |
   | zmedico |                                                              |

   | 10633   | Add some sanity checks and error tolerance in the owners     |
   | zmedico | cache.                                                       |

   | 10636   | Bug #225285 - Allow digestcheck() to succeed when the        |
   | zmedico | Manifest is empty and strict mode is disabled.               |

   | 10638   | Use isinstance() instead of handling TypeError.              |
   | zmedico |                                                              |

   | 10640   | Add another sanity check in the owners cache.                |
   | zmedico |                                                              |

   | 10642   | Use spawn() instead of system().                             |
   | zmedico |                                                              |

   | 10644   | Bug #225767 - Suppress warnings for installed packages       |
   | zmedico | masked by keywords if there is an equivalent ebuild in the   |
   |         | portage tree (same cpv) with visible keywords.               |

   | 10645   | Handle InvalidDependString.                                  |
   | zmedico |                                                              |

   | 10646   | Fix indent.                                                  |
   | zmedico |                                                              |

   | 10648   | Handle InvalidDependString in _package_cache.__setitem__().  |
   | zmedico |                                                              |

   | 10651   | Pass missing "installed" parameter into Package constructor. |
   | zmedico |                                                              |

   | 10652   | Add two new build log qa checks, suggested by Diego          |
   | zmedico | Pettenò: * Detect automake "maintainer mode". See           |
   |         | http://www.gentoo.org/proj/en/qa/autofailure.xml for more    |
   |         | information. * Detect "Unrecognized options" messages from   |
   |         | configure scripts.                                           |

   | 10653   | Fix the 'inherit.autotools' check to account for             |
   | zmedico | apache-2_src_unpack() calling eautoreconf.                   |

   | 10654   | Add support for and ACCEPT_CHOSTS variable that controls     |
   | zmedico | masking behavior for binary packages wrt CHOST. The variable |
   |         | is a space separated list of chosts. It support regular      |
   |         | expressions, so if the actual chost contains any special     |
   |         | characters then the user must escape them when setting       |
   |         | ACCEPT_CHOSTS.                                               |

svn path=/main/branches/prefix/; revision=10691

18 years agowe're not yet using it, but keep Mach-O comment up-to-date
Fabian Groffen [Mon, 9 Jun 2008 20:06:30 +0000 (20:06 -0000)]
we're not yet using it, but keep Mach-O comment up-to-date

svn path=/main/branches/prefix/; revision=10625

18 years agostore rootgid in portage.const_autotool.py, and use it instead of hardcoded 0
Fabian Groffen [Mon, 9 Jun 2008 20:03:53 +0000 (20:03 -0000)]
store rootgid in portage.const_autotool.py, and use it instead of hardcoded 0

svn path=/main/branches/prefix/; revision=10624

18 years ago Merged from trunk 10606:10612
Fabian Groffen [Mon, 9 Jun 2008 19:54:28 +0000 (19:54 -0000)]
   Merged from trunk 10606:10612

   | 10607   | make sure that scanelf is called with the right paths, and   |
   | genone  | properly register all preserved objects to fix bug #223591   |

   | 10608   | When inside fakeroot, directories with portage's gid appear  |
   | zmedico | to have root's gid. Therefore, use root's gid instead of     |
   |         | portage's gid to avoid spurrious permissions adjustments     |
   |         | when inside fakeroot.                                        |

   | 10609   | Add CONTENTS indexing support for optimization of owner      |
   | zmedico | lookups. The vardbapi cache maintains a hash table (inside   |
   |         | vdb_metadata.pickle) that serves to index package contents   |
   |         | by mapping the basename of file to a list of possible        |
   |         | packages that own it. This is used to optimize owner lookups |
   |         | by narrowing the search down to a smaller number of          |
   |         | packages. It increases the size of vdb_metadata.pickle by    |
   |         | approximately 30% and it's used in the following cases: *    |
   |         | When an unexpected file collision occurs (whether or not     |
   |         | collision-protect is enabled) * `emerge ` * `portageq        |
   |         | owners` The                                                  |

   | 10612   | Remove unused PackageVirtualDbapi.__getitem__() method.      |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10623

18 years agodo NOT refer to /usr/bin/python, use python from path instead, bug #225591 by Stuart...
Fabian Groffen [Mon, 9 Jun 2008 15:17:42 +0000 (15:17 -0000)]
do NOT refer to /usr/bin/python, use python from path instead, bug #225591 by Stuart Shelton

svn path=/main/branches/prefix/; revision=10621

18 years ago Merged from trunk 10585:10604
Fabian Groffen [Sun, 8 Jun 2008 11:27:54 +0000 (11:27 -0000)]
   Merged from trunk 10585:10604

   | 10586    | Add vardbapi.aux_get() support for an "_mtime_" value which |
   | zmedico  | corresponds to the installed package directory's mtime      |
   |          | (numeric value from stat result). This value can be used to |
   |          | validate indexes or caches used in the optimization of vdb  |
   |          | query operations for various types of package metadata such |
   |          | as dependencies and file contents.                          |

   | 10587    | Add Package.counter and mtime attributes.                   |
   | zmedico  |                                                             |

   | 10588    | Add a PackageVirtualDbapi.__getitem__() method.             |
   | zmedico  |                                                             |

   | 10589    | Bug #224271 - Add a 'IUSE is not defined' ebuild.minorsyn   |
   | zmedico  | warning.                                                    |

   | 10591    | remove old/unused gen_wrapper function                      |
   | SpankMan |                                                             |

   | 10592    | As suggested by Flameeyes, add a new 'inherit.autotools'    |
   | zmedico  | check which warns when autotools has been inherited but     |
   |          | none of the eautomake, eautoconf or eautoreconf functions   |
   |          | are called like they are supposed to be.                    |

   | 10593    | Bug #224271 - New check 'IUSE.undefined', renamed from      |
   | zmedico  | generic 'ebuild.minorsyn'.                                  |

   | 10594    | Make load_emerge_config() filter out empty                  |
   | zmedico  | PORTAGE_CONFIGROOT and ROOT values, and those containing    |
   |          | only whitespace.                                            |

   | 10596    | Validate ROOT from make.conf.                               |
   | zmedico  |                                                             |

   | 10598    | Inside, create_trees(), pass target_root="/" into the       |
   | zmedico  | config constructor when necessary to override the setting   |
   |          | in make.conf.                                               |

   | 10600    | Make repoman pass Package instances into run_checks(), so   |
   | zmedico  | that the checks can use the Package.mtime and inherited     |
   |          | attributes.                                                 |

   | 10601    | Fix typo.                                                   |
   | zmedico  |                                                             |

   | 10602    | Add additional functions such as eaclocal and eautoheader   |
   | zmedico  | to the inherit.autotools regex. Thanks to Arfrever.         |

   | 10603    | Make portdbapi.aux_get() return float type for _mtime_.     |
   | zmedico  |                                                             |

   | 10604    | Bug #225285 - Allow digestcheck() to succeed when the       |
   | zmedico  | Manifest is missing and strict mode is disabled.            |

svn path=/main/branches/prefix/; revision=10605

18 years ago Merged from trunk 10577:10582
Fabian Groffen [Thu, 5 Jun 2008 17:17:49 +0000 (17:17 -0000)]
   Merged from trunk 10577:10582

   | 10578   | Use sets for more accurate cache modification counts         |
   | zmedico | BlockerCache and vardbapi.                                   |

   | 10580   | Mention PORTAGE_RO_DISTDIRS in the DISTDIR docs.             |
   | zmedico |                                                              |

   | 10582   | Bug #224713 - Avoid TypeError when make.conf is missing:     |
   | zmedico | TypeError: argument of type 'NoneType' is not iterable       |

svn path=/main/branches/prefix/; revision=10585

18 years agofix syntax error
Fabian Groffen [Wed, 4 Jun 2008 20:05:47 +0000 (20:05 -0000)]
fix syntax error

svn path=/main/branches/prefix/; revision=10577

18 years ago Merged from trunk 10557:10566
Fabian Groffen [Wed, 4 Jun 2008 19:39:20 +0000 (19:39 -0000)]
   Merged from trunk 10557:10566

   | 10558   | Fix regex for compatibility with the regex implementation    |
   | zmedico | from FreeBSD's libc (used by bash on FreeBSD). Thanks to     |
   |         | Alexis Ballier <aballier@g.o> for the patch.                 |

   | 10560   | Avoid an unhandled IndexError thrown from the                |
   | zmedico | PackagesSystemSet constructor when neither /etc/make.profile |
   |         | nor /etc/portage/profile exist.                              |

   | 10561   | Make PackagesSystemSet.description refer to the real profile |
   | zmedico | rather than /etc/portage/profile when possible.              |

   | 10563   | Update --depclean and package.provided docs to indicate      |
   | zmedico | interaction between them.                                    |

   | 10564   | Use a distdir_writable variable in fetch(), for better       |
   | zmedico | control of write operations inside ${DISTDIR}.               |

   | 10566   | Fix typo.                                                    |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10576

18 years agominimal cosmetics
Fabian Groffen [Tue, 3 Jun 2008 20:45:01 +0000 (20:45 -0000)]
minimal cosmetics

svn path=/main/branches/prefix/; revision=10562

18 years agoreduce diffs, PORTAGE_CONFIGROOT does not include EPREFIX
Fabian Groffen [Tue, 3 Jun 2008 20:19:45 +0000 (20:19 -0000)]
reduce diffs, PORTAGE_CONFIGROOT does not include EPREFIX

svn path=/main/branches/prefix/; revision=10559

18 years agoFix wrong path being attempted to be created (missing /)
Fabian Groffen [Tue, 3 Jun 2008 19:52:11 +0000 (19:52 -0000)]
Fix wrong path being attempted to be created (missing /)

svn path=/main/branches/prefix/; revision=10557

18 years ago Merged from trunk 10545:10553
Fabian Groffen [Tue, 3 Jun 2008 15:46:05 +0000 (15:46 -0000)]
   Merged from trunk 10545:10553

   | 10546   | Don't unset PORTAGE_BINPKG_FILE because it's readonly.       |
   | zmedico |                                                              |

   | 10547   | Add support for a PORTAGE_RO_DISTDIRS variable. When a given |
   | zmedico | file does not exist in DISTDIR, search for the file in this  |
   |         | list of directories. Search order is from left to right.     |
   |         | Note that the current implementation works by creating a     |
   |         | symlink inside DISTDIR, but that may change in the future.   |

   | 10548   | Fix vardbapi.flush_cache() so that it only updates the cache |
   | zmedico | when the number of uncached packages reaches a certain       |
   |         | threshold (currently 5). The cache file can be several       |
   |         | megabytes in size, so updating it for every vdb change is    |
   |         | wasteful.                                                    |

   | 10549   | Add modification threshold for BlockerCache.flush(), to      |
   | zmedico | avoid wasteful IO.                                           |

   | 10550   | Use float mtime instead of int for finer granularity in      |
   | zmedico | vardbapi.match() cache staleness checks.                     |

   | 10551   | When pruning the digests to optimize parallel-fetch, use a   |
   | zmedico | separate dict so that the original digests are still         |
   |         | available if a file needs to be downloaded.                  |

   | 10552   | Fix typo.                                                    |
   | zmedico |                                                              |

   | 10553   | Tweak the installed masked code from bug #223447 so that it  |
   | zmedico | less noisy by suppressing masking messages for packages that |
   |         | haven't been pulled into the current dependency graph.       |

svn path=/main/branches/prefix/; revision=10556

18 years agoUse platform module to make it clear what we're displaying. Instead of an 'uname...
Fabian Groffen [Tue, 3 Jun 2008 15:40:36 +0000 (15:40 -0000)]
Use platform module to make it clear what we're displaying.  Instead of an 'uname -mrp' call use platform.platform() to describe the system in emerge --info.  Should be merged in the trunk if r10554 is merged too.

svn path=/main/branches/prefix/; revision=10555

18 years agoUse "platform" module instead of os.uname, or -- even worse -- a system
Fabian Groffen [Tue, 3 Jun 2008 12:28:15 +0000 (12:28 -0000)]
Use "platform" module instead of os.uname, or -- even worse -- a system
call to uname.  Change repoman's identification string not to use
"processor" on Linux (where it is huge), Interix (where it doesn't
exist) and AIX/HP-UX (where it prints "unknown"), but "machine" instead.

This patch is eligable for merging in "trunk".

svn path=/main/branches/prefix/; revision=10554

18 years ago Merged from trunk 10521:10541
Fabian Groffen [Mon, 2 Jun 2008 20:40:08 +0000 (20:40 -0000)]
   Merged from trunk 10521:10541

   | 10523   | Make PackageSet._setAtoms() use existing Atom instances when |
   | zmedico | available.                                                   |

   | 10525   | Fix EditablePackageSet.update() to create Atom instances     |
   | zmedico | when necessary.                                              |

   | 10526   | Make --skipfirst tolerate masked packages by dropping them   |
   | zmedico | (similar to how it would drop a package that has an          |
   |         | unsatisfied dependency).                                     |

   | 10528   | Revert changes wrt argument atoms in the previous commit     |
   | zmedico | since it's not really useful.                                |

   | 10529   | Update the UnsatisfiedResumeDep display to distinguish       |
   | zmedico | masked packages from those with unsatisfied dependencies.    |

   | 10532   | Update the --skipfirst dropped packages warning to mention   |
   | zmedico | "masking" in addition to unsatisfied dependencies.           |

   | 10533   | Reference depgraph.UnsatisfiedResumeDep instead of           |
   | zmedico | mydepgraph since the latter can trigger an UnboundLocalError |
   |         | in some cases (^C for example).                              |

   | 10535   | Mention masked packages in another --resume message.         |
   | zmedico |                                                              |

   | 10538   | Fix typo.                                                    |
   | zmedico |                                                              |

   | 10541   | Filter PORTAGE_BINPKG_FILE in save_ebuild_env().             |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10545

18 years ago Merged from trunk 10509:10521
Fabian Groffen [Mon, 2 Jun 2008 20:38:21 +0000 (20:38 -0000)]
   Merged from trunk 10509:10521

   | 10511   | Fix PackageSet.findAtomForPackage() to find the most         |
   | zmedico | specific atom since it can affect behavior when deciding     |
   |         | whether or not to add a slot atom to the world file.         |

   | 10513   | Optimize the new --skipfirst code so that in only has to     |
   | zmedico | build a new depgraph one time when there are unsatisfied     |
   |         | deps. This works by recursively traversing the digraph to    |
   |         | remove the parent packages whose deps become unsatisfied     |
   |         | when their dependencies are pruned from the mergelist.       |

   | 10514   | Clean up reference to parts of the first graph for           |
   | zmedico | --skipfirst.                                                 |

   | 10516   | * Tweak isvalidatom() to treat "null" category as valid, but |
   | zmedico | missing category as invalid (previously both where treated   |
   |         | as invalid). * Fix a spot inside emerge's unmerge() function |
   |         | that sometimes generates invalid atoms by adding an          |
   |         | unnecessary "=" to the front. Even when in cases that        |
   |         | resulted in a valid atom here, adding the "=" was redundant  |
   |         | because dep_expand() does that automatically now (for        |
   |         | backward compat).                                            |

   | 10518   | Fix TypeError: 'tuple' object does not support item          |
   | zmedico | assignment                                                   |

   | 10519   | Add some isvalidatom() test cases with "null" and missing    |
   | zmedico | category.                                                    |

   | 10521   | Fix create_world_atom() to take a Package instance in it's   |
   | zmedico | arguments.                                                   |

svn path=/main/branches/prefix/; revision=10544

18 years ago Merged from trunk 10480:10509
Fabian Groffen [Mon, 2 Jun 2008 20:35:28 +0000 (20:35 -0000)]
   Merged from trunk 10480:10509

   | 10481   | Clean up reference to dropped_tasks when finished.           |
   | zmedico |                                                              |

   | 10482   | Clean up references to unsatisfied_parents.                  |
   | zmedico |                                                              |

   | 10485   | Use izip() to eliminate temporary dict instances.            |
   | zmedico |                                                              |

   | 10487   | Fix typo.                                                    |
   | zmedico |                                                              |

   | 10489   | Use a frozenset instead of a list for containment tests.     |
   | zmedico |                                                              |

   | 10491   | Use Package.metadata instead of calling dbapi.aux_get().     |
   | zmedico |                                                              |

   | 10493   | When dropping deps from the resume list, make sure that the  |
   | zmedico | loop can't be infinite.                                      |

   | 10495   | Create Atom instances earlier to avoid redundant validation. |
   | zmedico |                                                              |

   | 10497   | Fix Atom attribute handling in get_operator() and            |
   | zmedico | dep_getslot() to account for None return values.             |

   | 10499   | Simplify None Package.slot handling in match_from_list().    |
   | zmedico |                                                              |

   | 10501   | Make PackageSet.findAtomForPackage() just return the first   |
   | zmedico | atom found since best_match_to_list() won't work correctly   |
   |         | for atoms matched via PROVIDE.                               |

   | 10503   | Pass a mutable config instance into get_masking_status().    |
   | zmedico | Currently it doesn't matter for installed packages but it's  |
   |         | safer to be consistent to avoid accidental breakage in the   |
   |         | future.                                                      |

   | 10505   | Make the use_cache=0 listdir() implementation inside         |
   | zmedico | vardbapi.cpv_all() rains a PermissionDenied error when       |
   |         | appropriate.                                                 |

   | 10507   | For consistency, make sure that a normal iterator is always  |
   | zmedico | returned from dbapi._iter_match() (and never a list). This   |
   |         | way the caller can be sure that the returned object has a    |
   |         | next() method.                                               |

   | 10509   | Now that dbapi._iter_match() is guaranteed to return a real  |
   | zmedico | iterator with a next method(), we can just call next() and   |
   |         | handle StopIteration.                                        |

svn path=/main/branches/prefix/; revision=10543

18 years ago Merged from trunk 10458:10480
Fabian Groffen [Mon, 2 Jun 2008 20:33:01 +0000 (20:33 -0000)]
   Merged from trunk 10458:10480

   | 10459   | Bug #222439 - Add doman support for foo.lang.N filenames.    |
   | zmedico | Behavior is as follows: foo.1 -> man/man1/foo.1 foo.lang.1   |
   |         | -> man/lang/man1/foo.1 Thanks to Yuri Vasilevski for the     |
   |         | initial patch. I've modified it to use bash's =~ operator    |
   |         | and corresponding $BASH_REMATCH array.                       |

   | 10460   | Convert doman to use bash's =~ operator instead of calling   |
   | zmedico | egrep.                                                       |

   | 10461   | Make set_term_size() handle the CommandNotFound exception if |
   | zmedico | stty is missing for some reason.                             |

   | 10462   | Make the new behavior from bug #222439 conditional on EAPI   |
   | zmedico | being something other than 0 or 1.                           |

   | 10465   | Bug #223447 - Adjust the "installed packages are masked"     |
   | zmedico | display to recognize packages that are masked by keywords    |
   |         | and are eligible for uninstallation by depclean. This is a   |
   |         | workaround for the fact that depclean may fail to recognize  |
   |         | that the package is eligible for uninstall due to            |
   |         | differences in visibility filtering which can lead to        |
   |         | differences in || dep evaluation. TODO: Share visibility     |
   |         | code to fix this inconsistency.                              |

   | 10467   | Update the fix from bug #220341 to protect USE deps from     |
   | zmedico | being neglected.                                             |

   | 10468   | Skip redundant Atom construction in select_package().        |
   | zmedico |                                                              |

   | 10470   | Fix the code from bug #220341 so that it matches the atom    |
   | zmedico | against the installed package, like it's supposed to.        |

   | 10471   | Filter out installed keyword masked packages when populating |
   | zmedico | RootConfig.visible_pkgs since otherwise such packages can    |
   |         | trigger undesireable results inside                          |
   |         | depgraph._iter_atoms_for_pkg().                              |

   | 10474   | Make the unmerge time CONFIG_MEMORY_FILE pruning slightly    |
   | zmedico | more aggressive, so that anything not claimed by another     |
   |         | package in the same slot is pruned.                          |

   | 10476   | Save the content of CONFIG_MEMORY_FILE in dblink.treewalk()  |
   | zmedico | _before_ unmerging other instances, in order to avoid        |
   |         | overwritting/undoing the pruning that's done during unmerge. |

   | 10478   | Make --skipfirst handle missing dependencies by dropping the |
   | zmedico | merge tasks that have missing dependencies. This involves    |
   |         | creating an entirely new depgraph each time that a missing   |
   |         | dependency is discovered. This isn't the most efficient      |
   |         | approach but it's simple and it works well. This new         |
   |         | behavior can server as a fix for bug #12768 by calling       |
   |         | emerge --resume --skipfirst each time that emerge exits      |
   |         | unsuccessfully. This was possible before, but now packages   |
   |         | with unsatisfied dependencies will be properly identified    |
   |         | and dropped from the list.                                   |

   | 10479   | Clean up exception reference from previous commit.           |
   | zmedico |                                                              |

   | 10480   | When --skipfirst drops packages due to unsatisfied           |
   | zmedico | dependencies, display a warning message with the list of     |
   |         | dropped packages.                                            |

svn path=/main/branches/prefix/; revision=10542

18 years ago Merged from trunk 10438:10455
Fabian Groffen [Tue, 27 May 2008 15:41:48 +0000 (15:41 -0000)]
   Merged from trunk 10438:10455

   | 10440   | Fix USE dep matching support in match_from_list() so that it |
   | zmedico | checks to make sure the package supports all specified IUSE. |
   |         | This involves updating all Package, FakeVartree, and         |
   |         | BlockerDB constructor arguments to implement a               |
   |         | Package.root_config attribute that's used to access implicit |
   |         | IUSE.                                                        |

   | 10441   | Define __slots__ for the _use_dep class.                     |
   | zmedico |                                                              |

   | 10443   | Fix breakage in the BlockerDB constructor.                   |
   | zmedico |                                                              |

   | 10445   | Fix dbapi._iter_match_use() to escape IUSE values when       |
   | zmedico | necessary.                                                   |

   | 10446   | Repoman only checks IUSE for USE deps, so don't evaluate     |
   | zmedico | conditional USE deps in this case.                           |

   | 10447   | Set Atom.use = None when there are no USE deps (instead of   |
   | zmedico | the empty tuple returned from dep_getusedeps()).             |

   | 10448   | Use new Package.use and iuse attributes to avoid extra       |
   | zmedico | split() calls.                                               |

   | 10450   | Fix a typo from the previous commit.                         |
   | zmedico |                                                              |

   | 10452   | Make config._init_dirs() preserver /tmp and /var/tmp         |
   | zmedico | permissions if those directories already exist. This gives   |
   |         | freedom to the user to adjust permissions to suit their      |
   |         | taste.                                                       |

   | 10453   | Fix typo.                                                    |
   | zmedico |                                                              |

   | 10455   | Fix breakage due to frozenset being immutable.               |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10458

18 years ago Merged from trunk 10418:10438
Fabian Groffen [Tue, 27 May 2008 15:30:44 +0000 (15:30 -0000)]
   Merged from trunk 10418:10438

   | 10419   | * Add support for Package instances and USE deps in          |
   | zmedico | match_from_list(). * Add USE dep matching support to         |
   |         | depgraph._iter_atoms_for_pkg().                              |

   | 10420   | Remove the Package.cpv_slot attribute.                       |
   | zmedico |                                                              |

   | 10421   | Use the metadata wrapper to initialize Package slot and use  |
   | zmedico | attributes.                                                  |

   | 10422   | Remove unused code.                                          |
   | zmedico |                                                              |

   | 10423   | Fix breakage in Package constructor attribute                |
   | zmedico | initialization.                                              |

   | 10425   | Fix a broken reference to the Package.cpv_slot attribute.    |
   | zmedico |                                                              |

   | 10427   | * Enable config.setcpv() to use a Package instance in place  |
   | zmedico | of a cpv. * Make depgraph._select_package() pass Package     |
   |         | instances into setcpv() calls. * Enable the Package          |
   |         | constructor to use an iterable for metadata items.           |

   | 10429   | Skip source_all_bashrcs() when $EBUILD_PHASE is not set.     |
   | zmedico |                                                              |

   | 10431   | Avoid triggering "cPickle.UnpicklingError: Global and        |
   | zmedico | instance pickles are not supported." errors that are         |
   |         | triggered when the pickle contains custom classes.           |

   | 10433   | Don't silently swallow instances of UnpicklingError since    |
   | zmedico | they are easily triggered by storing instances of custom     |
   |         | classes in a pickle.                                         |

   | 10434   | Don't silently swallow instances of UnpicklingError since    |
   | zmedico | they are easily triggered by storing instances of custom     |
   |         | classes in a pickle.                                         |

   | 10436   | Add some debug output for arguments and their associated     |
   | zmedico | atoms, to help in debugging problems similar to bug #223735. |

   | 10438   | Bug #223685 - Use the finally clause to collect elog         |
   | zmedico | messages just before releasing the build dir lock, so they   |
   |         | never get missed.                                            |

svn path=/main/branches/prefix/; revision=10457

18 years ago Merged from trunk 10393:10415
Fabian Groffen [Sun, 25 May 2008 17:54:21 +0000 (17:54 -0000)]
   Merged from trunk 10393:10415

   | 10394   | For dep_expand() backward compatibility, handle atoms with   |
   | zmedico | missing '=' prefix which did not raise an error here before  |
   |         | the portage.dep.Atom class was introduced.                   |

   | 10395   | Fix broken dep_getusedeps() cache behavior so that it        |
   | zmedico | returns the correct type.                                    |

   | 10396   | Add support for conditionals inside USE dependencies. This   |
   | zmedico | is useful for cases in which the package satisfying a        |
   |         | dependency should have identical or opposite flag state      |
   |         | relative to the parent package. Conditionals are evaluated   |
   |         | as follows: parent state conditional result x [x?] [x] -x    |
   |         | [x?] [-x] x [-x?] [-x] -x [-x?] [x]                          |

   | 10398   | * Fix dep_getusedeps() test to work with tuples. * Add test  |
   | zmedico | cases for conditional USE deps.                              |

   | 10399   | Fix isvalidatom() so tests pass, and add a USE deps case to  |
   | zmedico | the tests.                                                   |

   | 10400   | Remove category validation cruft from catpkgsplit().         |
   | zmedico |                                                              |

   | 10410   | Remove redundant SLOT dep code in portdbapi.xmatch() since   |
   | zmedico | it's now handled by dbapi._iter_match().                     |

   | 10413   | Facilitate creation of Atom instances in a few obvious       |
   | zmedico | places: * PackageSet._setAtoms() * AtomArg and PackageArg    |
   |         | constructors.                                                |

   | 10415   | * Fix PackageSet.findAtomForPackage() to take a Package      |
   | zmedico | instance as an argument. * Simplify                          |
   |         | PackageSet.findAtomForPackage() by implementing it on top of |
   |         | iterAtomsForPackage().                                       |

svn path=/main/branches/prefix/; revision=10418

18 years ago Merged from trunk 10382:10393
Fabian Groffen [Sun, 25 May 2008 17:51:33 +0000 (17:51 -0000)]
   Merged from trunk 10382:10393

   | 10383   | Raise an error if the named repository doesn't exist         |
   | genone  |                                                              |

   | 10387   | Bug #2272 - Extend dependency atom sytax to specify enabled  |
   | zmedico | or disabled states of USE flags. Matching with the new       |
   |         | syntax is currently only supported in the dbapi classes and  |
   |         | dependency resolver (use matching does not work yet in       |
   |         | config files such as package.mask).                          |

   | 10388   | Bug #220671 - Fix 'RuntimeError: Set changed size during     |
   | zmedico | iteration' error.                                            |

   | 10389   | Bug #223417 - use floating point mtime for finer grained     |
   | zmedico | validation in cachedir().                                    |

   | 10390   | Bug #223417 - Make the vardbapi.cpv_all() use_cache          |
   | zmedico | parameter useful for forcing direct os.listdir() calls. This |
   |         | is more of an issue now that these listdir() calls are       |
   |         | frequently triggered when merging packages (due to things    |
   |         | like blocker and preserve-libs handling).                    |

   | 10391   | Fix use_reduce() so that it appropriately raises an          |
   | zmedico | InvalidDependString instead of an IndexError in some cases   |
   |         | (avoid IndexError by using slice notation).                  |

   | 10392   | Fix paren_reduce() so that it appropriately raises an        |
   | zmedico | InvalidDependString() in some cases, instead of a nonsense   |
   |         | AttributeError.                                              |

   | 10393   | Fix paren_reduce() so that it appropriately raises an        |
   | zmedico | InvalidDependString() in some cases, instead of a nonsense   |
   |         | ValueError.                                                  |

svn path=/main/branches/prefix/; revision=10417

18 years ago Merged from trunk 10359:10377
Fabian Groffen [Wed, 21 May 2008 17:37:05 +0000 (17:37 -0000)]
   Merged from trunk 10359:10377

   | 10360   | Tweak vardbapi.aux_get() cache logic a bit.                  |
   | zmedico |                                                              |

   | 10361   | In unmerge(), flush the vardbapi aux_get() cache to disk     |
   | zmedico | before releasing the vardb lock.                             |

   | 10364   | Exclude "env" from use in variable substitution since we     |
   | zmedico | want to avoid any interaction with the calling environment   |
   |         | that might lead to unexpected results.                       |

   | 10367   | Fix vardbapi.aux_get() logic so that it will correctly pull  |
   | zmedico | the metadata value corresponding to an unrecognized metadata |
   |         | key.                                                         |

   | 10369   | Validate and normalize target_root earlier in the config     |
   | zmedico | constructor.                                                 |

   | 10372   | Adjust code order to organize it a bit. (branches/2.1.2      |
   | zmedico | r10371)                                                      |

   | 10373   | Inside vardbapi.aux_get(), do more validation on the cache   |
   | zmedico | data to ensure it contains the expected data types.          |

   | 10375   | In vardbapi.aux_get(), don't mark cacheed metadata invalid   |
   | zmedico | just because some of the values are missing.                 |

   | 10377   | Simplify cache code in vardbapi.aux_get().                   |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10385

18 years ago Merged from trunk 10348:10359
Fabian Groffen [Wed, 21 May 2008 17:30:12 +0000 (17:30 -0000)]
   Merged from trunk 10348:10359

   | 10349   | Add back the "install new portage asap" behavior that got    |
   | zmedico | lost when that area of code was rewritten.                   |

   | 10350   | Fix th logic from the previous commit.                       |
   | zmedico |                                                              |

   | 10351   | Add the environment and some more files to the existing      |
   | zmedico | make.defaults variable substitution support. Variable        |
   |         | substitution occurs in the following order: * env.d * env *  |
   |         | make.globals * make.defaults * make.conf                     |

   | 10357   | Bug #222623 - Use "regardless" instead of "irregardless"     |
   | zmedico | since the latter is considered to be incorrect.              |

   | 10359   | * To avoid excessive IO on each call to                      |
   | zmedico | LinkageMap.rebuild(), cache NEEDED.* files via               |
   |         | vardbapi.aux_get(). * Make vardbapi.aux_get() preserve       |
   |         | newlines in multi-line metadata such as NEEDED.* and         |
   |         | CONTENTS.                                                    |
   |         | Prefix: hacked in MACHO cache support

svn path=/main/branches/prefix/; revision=10384

18 years agoWhen using vecho or eqawarn it comes in handy when isolated-functions have been sourc...
Fabian Groffen [Tue, 20 May 2008 14:20:45 +0000 (14:20 -0000)]
When using vecho or eqawarn it comes in handy when isolated-functions have been sourced.  IMO trunk misses these includes as well.

svn path=/main/branches/prefix/; revision=10380

18 years agoadd sparcv9 as 64-bits host, as we use it instead of sparc64
Fabian Groffen [Tue, 20 May 2008 12:59:04 +0000 (12:59 -0000)]
add sparcv9 as 64-bits host, as we use it instead of sparc64

svn path=/main/branches/prefix/; revision=10379

18 years agoonly break on newlines, not on 'n'
Fabian Groffen [Sat, 17 May 2008 14:16:29 +0000 (14:16 -0000)]
only break on newlines, not on 'n'

svn path=/main/branches/prefix/; revision=10348

18 years ago Merged from trunk 10345:10346
Fabian Groffen [Fri, 16 May 2008 21:50:14 +0000 (21:50 -0000)]
   Merged from trunk 10345:10346

   | 10346   | Detect and filter ebuilds that have invalid versions in      |
   | zmedico | portdbapi.cp_list().                                         |

svn path=/main/branches/prefix/; revision=10347

18 years ago Merged from trunk 10343:10344
Fabian Groffen [Fri, 16 May 2008 18:35:25 +0000 (18:35 -0000)]
   Merged from trunk 10343:10344

   | 10344   | Add dev-util/ftjam to the RDEPEND.suspect list as per bug    |
   | zmedico | #221537, comment #3. Leaving dev-util/jam in place, in case  |
   |         | it revives somehow.                                          |

svn path=/main/branches/prefix/; revision=10345

18 years ago Merged from trunk 10329:10337
Fabian Groffen [Thu, 15 May 2008 19:40:37 +0000 (19:40 -0000)]
   Merged from trunk 10329:10337

   | 10333   | Bug #221537 - Add a new "RDEPEND.suspect" check for packages |
   | zmedico | in RDEPEND that usually only belong in DEPEND.               |

   | 10335   | Skip blocker atoms for the RDEPEND.suspect check.            |
   | zmedico |                                                              |

   | 10337   | Add a note about interaction between                         |
   | zmedico | FEATURES="metadata-transfer" and eclasses from               |
   |         | PORTDIR_OVERLAY that override eclasses from PORTDIR.         |

svn path=/main/branches/prefix/; revision=10343

18 years ago Merged from trunk 10325:10326
Fabian Groffen [Thu, 15 May 2008 19:38:19 +0000 (19:38 -0000)]
   Merged from trunk 10325:10326

   | 10326  | make debug mode configurable                                  |
   | genone |                                                               |

svn path=/main/branches/prefix/; revision=10342

18 years agoManual merge of r10325 from trunk.
Fabian Groffen [Thu, 15 May 2008 19:37:06 +0000 (19:37 -0000)]
Manual merge of r10325 from trunk.

The patch itself is a backport of a Prefix "feature" -- repoman SVN mode
-- but the backported patch was fixed/touched up/modified.  The changes
in this commit are those changes applied in the trunk.

I decided to remove any Prefix specific hacks that are dropped in the
trunk (e.g. avoiding a commit for the headers in SVN mode) to remain
fully compatible.

svn path=/main/branches/prefix/; revision=10341

18 years ago Merged from trunk 10309:10324
Fabian Groffen [Thu, 15 May 2008 19:25:24 +0000 (19:25 -0000)]
   Merged from trunk 10309:10324

   | 10310    | In the warning about eclasses in overlay overriding         |
   | zmedico  | eclasses from PORTDIR, also advise the user to add          |
   |          | FEATURES="metadata-transfer" to make.conf.                  |

   | 10312    | Filter sets that are not "world candidates" from the        |
   | zmedico  | favorites list at the last moment since the favorites list  |
   |          | needs to be complete for depgraph.loadResumeCommand() to    |
   |          | operate correctly.                                          |

   | 10313    | Define the world_candidates variable earlier to make sure   |
   | zmedico  | it's in scope.                                              |

   | 10314    | Bug #220533 - Document FEATURES="skiprocheck".              |
   | zmedico  |                                                             |

   | 10316    | Describe how we limit the probability that temporary        |
   | zmedico  | simultaneous installation of blocking packages will cause   |
   |          | some sort of problem.                                       |

   | 10318    | capitalize Portage                                          |
   | zmedico  |                                                             |

   | 10320    | fix man markup for PORTAGE_FETCH_RESUME_MIN_SIZE            |
   | SpankMan |                                                             |

   | 10322    | Check vercmp() return value to avoid arbitrary results in   |
   | genone   | case it returns None                                        |

   | 10324    | ignore consumers from the current package instance when     |
   | genone   | checking if a preserved library can be removed              |

svn path=/main/branches/prefix/; revision=10340

18 years agomanually merge differences with the trunk
Fabian Groffen [Mon, 12 May 2008 19:35:30 +0000 (19:35 -0000)]
manually merge differences with the trunk

svn path=/main/branches/prefix/; revision=10309

18 years agomanually merge differences with the trunk
Fabian Groffen [Mon, 12 May 2008 19:26:22 +0000 (19:26 -0000)]
manually merge differences with the trunk

svn path=/main/branches/prefix/; revision=10308

18 years agomanually merge differences with the trunk
Fabian Groffen [Mon, 12 May 2008 19:23:41 +0000 (19:23 -0000)]
manually merge differences with the trunk

svn path=/main/branches/prefix/; revision=10307

18 years agomanually merge differences with the trunk
Fabian Groffen [Mon, 12 May 2008 19:21:33 +0000 (19:21 -0000)]
manually merge differences with the trunk

svn path=/main/branches/prefix/; revision=10306

18 years agomanually merge differences with the trunk
Fabian Groffen [Mon, 12 May 2008 19:17:48 +0000 (19:17 -0000)]
manually merge differences with the trunk

svn path=/main/branches/prefix/; revision=10305

18 years agomanually merge differences with the trunk
Fabian Groffen [Mon, 12 May 2008 19:14:28 +0000 (19:14 -0000)]
manually merge differences with the trunk

svn path=/main/branches/prefix/; revision=10304

18 years agoI removed tbz2tool, so don't try to install it
Fabian Groffen [Mon, 12 May 2008 15:48:19 +0000 (15:48 -0000)]
I removed tbz2tool, so don't try to install it

svn path=/main/branches/prefix/; revision=10302

18 years agoTry to prevent myself from committing with a huge pointless commit message again...
Fabian Groffen [Mon, 12 May 2008 15:27:21 +0000 (15:27 -0000)]
Try to prevent myself from committing with a huge pointless commit message again when I'm not entirely awake

svn path=/main/branches/prefix/; revision=10301

18 years ago Merged from trunk -r10268:10297
Fabian Groffen [Mon, 12 May 2008 15:17:24 +0000 (15:17 -0000)]
   Merged from trunk -r10268:10297

|1941     |Migration (without history) of the current stable line to subversion.        |
|jstubbs  |                                                                             |

|1947     |re-adding the unpack function to stable someone yanked... :)                 |
|ferringb |                                                                             |

|1951     |header changes, $Header: -> $Id:                                             |
|ferringb |                                                                             |

|1952     |this file should've been killed long ago.                                    |
|ferringb |                                                                             |

|1953     |bye bye mr. cvs_id_string                                                    |
|ferringb |                                                                             |

|1954     |don't commit the remenants from applying a patch                             |
|ferringb |                                                                             |

|1960     |68928-spawn-command-isabs-zmedico.patch (spawn included "." in PATH)         |
|jstubbs  |98727_sleep_locale_cleanup.patch (sleep was defined twice for "." and ","    |
|         |locales) 98827_lchown_normal_files.patch (lchown was being used on           |
|         |known-to-be-regular files) 98827_darwin_noop_lchown.patch (lchwon was aliased|
|         |to chown on darwin) 99101_ccache_perms_adjust.patch (perms test and          |
|         |adjustment didn't match) 99120_uid_gid_mixup.patch (portage gid used in place|
|         |of uid) 99418_merge_retcode_ignored.patch (dispatch-conf ignored result of   |
|         |merge command) 100382_incomplete_world.patch (versioned atoms were not being |
|         |added to world) broken-stat-perms.patch (result of conditional execution     |
|         |being unconditionally tested)                                                |

|1988     |if passing the -i18n option to doman, make sure we eat the option and        |
|SpankMan |continue processing                                                          |

|1990     |backport local unpacking support from trunk and add support for jar          |
|SpankMan |                                                                             |

|1991     |Only warn on removal of system virtuals if there is only one satisfying      |
|jstubbs  |package.                                                                     |

|1992     |fixing unpack so it works once again for tar :/                              |
|ferringb |                                                                             |

|1996     |document the -* KEYWORD #97165                                               |
|SpankMan |                                                                             |

|1998     |add a sanity check for diff before using it #48184                           |
|SpankMan |                                                                             |

|2011     |bug 106363 , selinux failed import resulting in module hanging around causing|
|ferringb |issues for the logic on the next re-import import selinux == fail; next      |
|         |attempt, import selinux == non-fail Python 'feature' of sorts.               |

|2012     |added the bug number I missed on previous commit.                            |
|ferringb |                                                                             |

|2014     |syntax error (wth?), fixed it.                                               |
|ferringb |                                                                             |

|2018     |use() is silent, update notes                                                |
|SpankMan |                                                                             |

|2019     |repoman will work in any portage tree, but the commit option will only work  |
|SpankMan |in a cvs tree                                                                |

|2020     |bug 106544 , glep31 enforcement checks                                       |
|ferringb |                                                                             |

|2021     |cleanse_cache cleanups.                                                      |
|ferringb |                                                                             |

|2022     |EAPI awareness, and flat_hash/flat_list autodetection for rysnc cache.       |
|ferringb |                                                                             |

|2023     |correction of eapi transfer for metadata -> local cache                      |
|ferringb |                                                                             |

|2024     |update so that int 0 is stored (change to the logic test for storing null    |
|ferringb |vals)                                                                        |

|2025     |emerge --metadata ran as user, and silenced auxdb Corruption exceptions when |
|ferringb |doing metadata transfer.                                                     |

|2026     |typo fix.                                                                    |
|ferringb |                                                                             |

|2032     |eapi fix up for installation.                                                |
|ferringb |                                                                             |

|2033     |bye bye global portageq's.                                                   |
|ferringb |                                                                             |

|2034     |file.name fixup for glep31 checks.                                           |
|ferringb |                                                                             |

|2035     |fixups to EAPI handling.                                                     |
|ferringb |                                                                             |

|2044     |zmedico's prelink optimization                                               |
|jstubbs  |                                                                             |

|2045     |overridable lchown/lchgrp                                                    |
|jstubbs  |                                                                             |

|2046     |remove CDEPEND ignore RDEPEND on --buildpkgonly                              |
|jstubbs  |                                                                             |

|2047     |add --newuse short option to emerge help                                     |
|jstubbs  |                                                                             |

|2048     |Validation of user atoms.                                                    |
|jstubbs  |                                                                             |

|2049     |Security checks regarding installation of world-writable files.              |
|jstubbs  |                                                                             |

|2050     |Adhere to USE flags passed into fetch()                                      |
|jstubbs  |                                                                             |

|2051     |Fix incorrect Exception when checking LOGDIR permissions                     |
|jstubbs  |                                                                             |

|2052     |Prevent globbed atoms from having relative operators.                        |
|jstubbs  |                                                                             |

|2053     |Harmless typo in signal catcher.                                             |
|jstubbs  |                                                                             |

|2054     |Update the casing of "linux" on the default distfile mirror.                 |
|jstubbs  |                                                                             |

|2055     |Add -i to FBSD's ldconfig as requested.                                      |
|jstubbs  |                                                                             |

|2056     |Refactored world graphing code to reuse the standard dependency resolution   |
|jstubbs  |paths.                                                                       |

|2057     |Remove specific reference to the Gentoo Handbook.                            |
|jstubbs  |                                                                             |

|2058     |Ignore blockers when fetching.                                               |
|jstubbs  |                                                                             |

|2059     |Ignore files (such as metadata.xml) within portdir category dirs.            |
|jstubbs  |                                                                             |

|2060     |Ignore packages in system/world that are satisfied by packages in            |
|jstubbs  |package.provided.                                                            |

|2061     |Make depclean a little friendler (so that perhaps people will read the       |
|jstubbs  |messages? ;)                                                                 |

|2062     |Add some more info about where the problem is coming from when atoms cannot  |
|jstubbs  |be resolved.                                                                 |

|2063     |Sort digests and manifests (to look nice and making them diff'able)          |
|jstubbs  |                                                                             |

|2064     |fixed ebuild so ebuild some-ebuild clean setup unpack # works like ebuild    |
|ferringb |some-ebuild clean unpack                                                     |

|2065     |touches up on file.name check, part of glep31                                |
|ferringb |                                                                             |

|2066     |Check if invalid atoms are only missing a category and let those pass.       |
|jstubbs  |                                                                             |

|2068     |Restore full range of possible atoms that can be given to emerge by doing    |
|jstubbs  |atom validity checks using a dummy category if necessary.                    |

|2069     |Remove the specific dependency on python-2.2.                                |
|jstubbs  |                                                                             |

|2070     |saner handling of selinux_enabled                                            |
|ferringb |                                                                             |

|2073     |Fix typo wrt to lamba usage.                                                 |
|jstubbs  |                                                                             |

|2074     |Pass use list rather than config obj to portdbapi.fetch_check()              |
|jstubbs  |                                                                             |

|2075     |Specify ebuildpath to merge() when using qmerge                              |
|jstubbs  |                                                                             |

|2076     |Make sure to include package.use flags with fetch-restricted packages        |
|jstubbs  |                                                                             |

|2079     |fixing horkage when noauto is in use (nameerrors)                            |
|ferringb |                                                                             |

|2080     |final fixup (ebuild nameerror)                                               |
|ferringb |                                                                             |

|2081     |Remove app-portage/portage-docs files from portage-2.0 branch                |
|jstubbs  |                                                                             |

|2082     |Warn and ignore on invalid system/world atoms                                |
|jstubbs  |                                                                             |

|2083     |bug 107770 , fix A D and a few other vars being set implicitly by readonly   |
|ferringb |protection during setup phase.                                               |

|2084     |Big cleanup and added check regarding chosen ebuild.                         |
|jstubbs  |                                                                             |

|2085     |don't declare -r the contents, declare -r the var name.                      |
|ferringb |                                                                             |

|2086     |Removed the translation of aux_get exceptions to unsupported eapi exceptions |
|jstubbs  |in doebuild (which led to a whole lotta changes regarding str vs int and     |
|         |unlikely yet possible compatibility stuff)                                   |

|2087     |Extra bracket typo :(                                                        |
|jstubbs  |                                                                             |

|2088     |god this module sucked. Removed all of the duplicate code.                   |
|ferringb |                                                                             |

|2089     |Add path to utf-8 checks so that repoman doesn't break outside of the package|
|jstubbs  |dir                                                                          |

|2096     |Always return a list of the same length as the query in vardbapi.aux_get()   |
|jstubbs  |                                                                             |

|2097     |Suggest running emaint when problems with the world file are detected.       |
|jstubbs  |                                                                             |

|2098     |Add new tool to check and fix problems with the world file (to begin with)   |
|jstubbs  |                                                                             |

|2099     |Make dispatch-conf's log file have 0600 permissions.                         |
|jstubbs  |                                                                             |

|2101     |Exclude distcc and and ccache setup from the "setup" phase. Also make the    |
|jstubbs  |redundant CCACHE_DIR default match what the python side sets.                |

|2102     |Account for empty EAPI                                                       |
|jstubbs  |                                                                             |

|2103     |save _mtime_ when EAPI nukes a cache entry, and a tweak to the supported eapi|
|ferringb |check so it's lenient about spaces                                           |

|2104     |tweak, since the logic I just replaced was wrong (go me)                     |
|ferringb |                                                                             |

|2105     |Restoring the metadata EAPI check code-style to match that of the ebuild EAPI|
|jstubbs  |check.                                                                       |

|2106     |added EBUILD_DEATH_HOOKS , a way for ebuilds/eclasses to register extra      |
|ferringb |messages to spew if die is triggered                                         |

|2107     |Be sure to reset settings changes before each package is merged.             |
|jstubbs  |                                                                             |

|2110     |Reverting behaviour of ebuild when FEATURES="-noauto"                        |
|jstubbs  |                                                                             |

|2112     |Make --newuse switch on --update                                             |
|jstubbs  |                                                                             |

|2114     |Restore the old behaviour that was dropped in the big refactoring by making  |
|jstubbs  |--update implied by world or system targets.                                 |

|2115     |nuking this directory, since it's no longer used.                            |
|ferringb |                                                                             |

|2116     |removing unused sandbox dirs.                                                |
|ferringb |                                                                             |

|2117     |Rework to API behaviour rather than API documentation                        |
|jstubbs  |                                                                             |

|2118     |cacheddir() would incorrectly return from the cache when the cached entry is |
|jstubbs  |less than old. Fixed by axxo.                                                |

|2119     |Global var profiledir was only being set correctly when portage was imported |
|jstubbs  |by emerge                                                                    |

|2122     |reset EBUILD_DEATH_HOOKS prior to sourcing, due to stable's re-sourcing of   |
|ferringb |ebuild every run. god stable env handling sucks. :/                          |

|2124     |Set PORTDIR_OVERLAY (rather than PORTDIR) when portage wants to use a        |
|jstubbs  |different ebuild. (Yields the same behaviour when stuff isn't missing in the |
|         |same tree and better behaviour when there is)                                |

|2129     |Use realpath instead of abspath to ensure that symlinks are correctly        |
|jstubbs  |accounted for.                                                               |

|2130     |Take the str() of the option passed to the callback so it can be compared    |
|jstubbs  |usefully later on.                                                           |

|2132     |Added missing quotes to stat_perms area of ebuild.sh (#93293)                |
|jstubbs  |                                                                             |

|2133     |Adding svn revision property to portage.py's VERSION                         |
|jstubbs  |                                                                             |

|2134     |Adjusting the clipping...                                                    |
|jstubbs  |                                                                             |

|2135     |Check if ebuild path is in vdb and check that vdb finds it okay rather than  |
|jstubbs  |always assuming "porttree". If PORTDIR_OVERLAY needs to be adjusted, recheck |
|         |to make sure the ebuild is found correctly. Pass which tree should be used to|
|         |doebuild so that aux_get() are performed on the correct tree.                |

|2136     |Return after detecting an invalid command line atom so as to avoid spurious  |
|jstubbs  |dependency errors.                                                           |

|2137     |Typo :(                                                                      |
|jstubbs  |                                                                             |

|2138     |Clarifying the error message when path/to/ebuild is used on an ebuild that   |
|jstubbs  |isn't in a normal PORTDIR structure.                                         |

|2139     |Removing --inject from emerge help summary                                   |
|jstubbs  |                                                                             |

|2149     |s/no/not/ typo                                                               |
|jstubbs  |                                                                             |

|2150     |Remove an extra space in a hyphenated string.                                |
|jstubbs  |                                                                             |

|2199     |Don't add packages to the graph that are left as is due to --upgrade-only.   |
|jstubbs  |This is necessary because later code assumes that packages are either from   |
|         |porttree or bintree whereas the --upgrade-only is almost exclusively from    |
|         |vartree.                                                                     |

|2203     |Add treetype instance member to dblink. Add treetype parameters to           |
|jstubbs  |dblink.__init__() and merge(). Adjust all calls to dblink(), merge() and     |
|         |doebuild() to specify what tree should be used for aux_get(). Patch created  |
|         |with the help of Zac Medico (zmedico).                                       |

|2222     |output a finished message                                                    |
|SpankMan |                                                                             |

|2223     |if STRIP begins with a -, make sure type doesnt error out                    |
|SpankMan |                                                                             |

|2224     |merge tweaks from trunk                                                      |
|SpankMan |                                                                             |

|2225     |add support for unpacking lha files                                          |
|SpankMan |                                                                             |

|2249     |deprecate IMAGE                                                              |
|SpankMan |                                                                             |

|2250     |grab fixes from trunk                                                        |
|SpankMan |                                                                             |

|2251     |fix patch for PKGDIR #111222 by Armand                                       |
|SpankMan |                                                                             |

|2252     |document sandbox and test RESTRICT                                           |
|SpankMan |                                                                             |

|2253     |Start from 1st element rather than 2nd when doing checks on *DEPEND          |
|jstubbs  |                                                                             |

|2254     |A couple of bug fixes, large cleanups, commenting and a bit of dead code     |
|jstubbs  |removal.                                                                     |

|2255     |Remove the now unused SANDBOX_PIDS_FILE                                      |
|jstubbs  |                                                                             |

|2256     |Use os.path.splitext() rather than slicing strings to get at file extensions.|
|jstubbs  |Patch by Jason Pepas.                                                        |

|2257     |replacement cache subsystem that's gestated in 2.1 and 3.0. it rocks your    |
|ferringb |world, baby.                                                                 |

|2258     |integration chunk of the cache subsystem patch. Will deal with UNUSED_0*     |
|ferringb |after this                                                                   |

|2259     |bye bye you decrepit POS cache implementation.                               |
|ferringb |                                                                             |

|2260     |clean up the last few sections so that they are consistent                   |
|SpankMan |                                                                             |

|2262     |Relocating current 2.0 branch to trunk.                                      |
|jstubbs  |                                                                             |

|2263     |Updated make.conf.ppc as requested by lu_zero (#102656)                      |
|jstubbs  |                                                                             |

|2264     |Clean up reporting of the parent of an unsatisfied atom.                     |
|jstubbs  |                                                                             |

|2265     |Add USE_EXPAND to INCREMENTALS (#105304)                                     |
|jstubbs  |                                                                             |

|2266     |Limit --emptytree to only affect ${ROOT} (#34887)                            |
|jstubbs  |                                                                             |

|2267     |pre/post hooks originally from 2.1, quick rewrite by axxo for 2.0 Not to be  |
|ferringb |used by ebuilds/eclasses (with the sole exception of java eclass var reset   |
|         |till ebd is stabled), this is user hooks.                                    |

|2297     |Documented `emerge --config` (#109496)                                       |
|jstubbs  |                                                                             |

|2298     |Added a description of emaint to `emaint --help`                             |
|jstubbs  |                                                                             |

|2299     |Documented `emerge --config` (#109496)                                       |
|jstubbs  |                                                                             |

|2301     |don't do a sort if just doing percentage for emerge --metadata               |
|ferringb |                                                                             |

|2302     |tweak marking of D as readonly since we need to play around with it in       |
|SpankMan |pkg_preinst                                                                  |

|2304     |add NetBSD to the BSD list #112393                                           |
|SpankMan |                                                                             |

|2306     |Add slightly modified elog_base patch containing the basic framework for     |
|genone   |ebuild logging.                                                              |

|2307     |First bunch of simple logging modules.                                       |
|genone   |                                                                             |

|2308     |minor glitch: EBUILD_PHASES is a list, no need to split() it                 |
|genone   |                                                                             |

|2309     |Backport of version code rewrite (bug 37406), should be completely backwards |
|genone   |compatible (and the algorithm has been tested on the whole tree multiple     |
|         |times already). Also adds some new features in version syntax like cvs       |
|         |version prefixes (in the same package) and multiple suffixes.                |

|2310     |manpage for emaint #112510                                                   |
|SpankMan |                                                                             |

|2311     |fix for portageq usage call (missing argv), via Emanuele Giaquinta           |
|ferringb |<e.giaquinta@glauco.it>                                                      |

|2312     |config additions for elog                                                    |
|genone   |                                                                             |

|2314     |Also ignore compiled python files in all subdirs ;)                          |
|genone   |                                                                             |

|2315     |move --nocolor to OPTIONS instead of ACTIONS #113225 by P Nienaber           |
|SpankMan |                                                                             |

|2316     |kill stupid message about 'masked by -*'                                     |
|genone   |                                                                             |

|2319     |Petteri says: exit with non-zero status if a file wasnt found                |
|SpankMan |                                                                             |

|2321     |Kill of generation of CDEPEND for binary and installed packages. Patch by    |
|jstubbs  |solar.                                                                       |

|2322     |compnerd: document manifest action                                           |
|SpankMan |                                                                             |

|2323     |give a slightly better usage message                                         |
|SpankMan |                                                                             |

|2324     |add an option to grab* so that if they're given a directory they'll          |
|genone   |recursively find all files in it and treat them like one big file. Also make |
|         |use of this option for most of the config files.                             |

|2325     |Saleem Abdulrasool: document IUSE.invalid                                    |
|SpankMan |                                                                             |

|2339     |add a user-friendly list of changes                                          |
|genone   |                                                                             |

|2340     |if PORT_LOGDIR doesnt exist, then try to create it automagically             |
|SpankMan |                                                                             |

|2341     |use emake -j1 in default src_test() instead of make                          |
|SpankMan |                                                                             |

|2342     |add a status message to src_compile() like src_unpack()                      |
|SpankMan |                                                                             |

|2343     |get rid of duplicated Test phase message in src_test()                       |
|SpankMan |                                                                             |

|2344     |cleanse maketest once and for all                                            |
|SpankMan |                                                                             |

|2345     |kill dead whitespace and make function def style consistent                  |
|SpankMan |                                                                             |

|2346     |run all elf QA checks before aborting, and all some packages (like           |
|SpankMan |binary-only) to prevent aborting since there isnt much we can do about those |
|         |craptastic developers                                                        |

|2347     |s/series/serious/ mistake                                                    |
|jstubbs  |                                                                             |

|2348     |only digest/fetch files when the operation warrants it                       |
|SpankMan |                                                                             |

|2349     |eat whitespace -> YUM                                                        |
|SpankMan |                                                                             |

|2350     |dont run depscan.sh anymore                                                  |
|SpankMan |                                                                             |

|2352     |Drop the virtuals related fatal errors down to warnings.                     |
|jstubbs  |                                                                             |

|2355     |fix whitespace in depend atom as point out by chkno #114956                  |
|SpankMan |                                                                             |

|2356     |touchup in general, add support for -h/--help, and delay importing portage so|
|SpankMan |using -h/--help doesnt blow goats because portage was imported               |

|2357     |make the --quiet option useful, touchup whitespace in a few places, and add  |
|SpankMan |--cols as short for --columns for retards like myself who cant remember how  |
|         |to spell                                                                     |

|2358     |fix the fetch/digest shortcuts so they dont break normal runs of             |
|SpankMan |emerge/ebuild                                                                |

|2359     |add a -v (verbose) option to envvar for easily generating output for use in  |
|SpankMan |bash scripts                                                                 |

|2360     |Removed the specific check against PORTAGE_CALLER with regard to fetching.   |
|jstubbs  |                                                                             |

|2363     |Separate and format USE_EXPAND based variables found in IUSE.                |
|jstubbs  |                                                                             |

|2364     |Prevent USE_EXPAND variables from bypassing use.mask                         |
|jstubbs  |                                                                             |

|2365     |Use soft limit, not hard limit.                                              |
|ferringb |                                                                             |

|2368     |Add USE_EXPAND_HIDDEN so that users can extend it without killing off profile|
|jstubbs  |settings.                                                                    |

|2372     |Bug 115519 by Diego Petteno: Fix ldconfig command ordering, add dragonfly    |
|SpankMan |support                                                                      |

|2373     |ferringb says: i pity the fool who doesnt use better style                   |
|SpankMan |                                                                             |

|2374     |- initial commit of split elf debug code                                     |
|solar    |                                                                             |

|2375     |Change unmatched ' to " in use flag output.                                  |
|jstubbs  |                                                                             |

|2376     |Prevent masked use flags from being shown in packages' flag list. Colorize   |
|jstubbs  |negated flags if they have changed. Code style cleanups.                     |

|2377     |cleanup textrel qa notice                                                    |
|SpankMan |                                                                             |

|2378     |touchup TEXTREL warning some more #115727                                    |
|SpankMan |                                                                             |

|2379     |Catch KeyError exception throw from aux_get.                                 |
|jstubbs  |                                                                             |

|2380     |add an add-ebuild-death-hook func so people dont need to know about setting  |
|SpankMan |some variable                                                                |

|2381     |sync with savior branch                                                      |
|SpankMan |                                                                             |

|2382     |Fail if not running as root and --resume is attempted. Patch by Alec Warner  |
|jstubbs  |(antarus). #114550                                                           |

|2383     |nothing uses it so no point in keeping it ... plus the ldconfig calls are    |
|SpankMan |glibc specific                                                               |

|2384     |remove preplib/preplib.so docs                                               |
|SpankMan |                                                                             |

|2385     |Add --verbose to the list of options that need to be removed from those      |
|jstubbs  |pulled from the mtimedb when using --resume. Patch by Alec Warner (antarus). |
|         |Code-style cleanups. #74990                                                  |

|2386     |deprecate preplib                                                            |
|SpankMan |                                                                             |

|2387     |Fix missing ":" on except line.                                              |
|jstubbs  |                                                                             |

|2388     |Remove duplicate if statement.                                               |
|jstubbs  |                                                                             |

|2389     |Check if atoms with matching keys will result in higher versioned packages   |
|jstubbs  |when dealing with || ( ) type dependencies. #100876                          |

|2390     |Remove old ChangeLog files as they will now be auto-generated from commit    |
|jstubbs  |messages.                                                                    |

|2392     |Check if packages listed in the --resume list have been removed from the     |
|jstubbs  |relevant trees and report the problem. #103564                               |

|2393     |Unpack the _eclasses_ value as it's packed by the database template's        |
|jstubbs  |__setitem__ method.                                                          |

|2395     |couple of tweaks. fixed up whitespacing for template, added a default        |
|ferringb |__contains__ func to the template, finally added serialize_eclasses class    |
|         |attribute; controls whether __(get|set)item__ do _eclasses_ mangling on their|
|         |own, or leave it to the child class. updated anydbm to handle serializing    |
|         |itself                                                                       |

|2396     |parallel-fetch, baby.                                                        |
|ferringb |                                                                             |

|2397     |removed unnecessary reconstruct_eclasses import                              |
|ferringb |                                                                             |

|2398     |Quick hack to work around the extra package lookups in porttree when checking|
|jstubbs  |for issues in the world file. This restores the number of lookups to be equal|
|         |with xcreate before it was refactored. Further refactoring will improve      |
|         |style.                                                                       |

|2399     |Restore previous --verbose USE flag style and prepare for a minimal flag     |
|jstubbs  |display for when not using --verbose.                                        |

|2400     |Add USE display when --verbose is not used. Only flags that are enabled, have|
|jstubbs  |changed or are new but disabled are shown.                                   |

|2401     |added parallel-fetch in...                                                   |
|ferringb |                                                                             |

|2402     |use spaces for space aligned text (kind of a duh)                            |
|ferringb |                                                                             |

|2403     |moved cpv funcs out of the block of dep funcs, removed some type usage (use  |
|ferringb |isinstance instead), and cleaned up some of the more c like code so it's     |
|         |pythonic...                                                                  |

|2404     |further type -> isinstance cleanup in dep crap                               |
|ferringb |                                                                             |

|2405     |Removed the now unnecessary dep_opconvert portage function.                  |
|jstubbs  |                                                                             |

|2406     |Check if atoms are masked when scanning for which || ( ) atom/list to use.   |
|jstubbs  |                                                                             |

|2407     |Make the dep_zapdeps a little bit more readable.                             |
|jstubbs  |                                                                             |

|2408     |fix custom module (bug #116024)                                              |
|genone   |                                                                             |

|2409     |quote vars inside PORTAGE_ELOG_COMMAND                                       |
|genone   |                                                                             |

|2410     |adding multi-hash support                                                    |
|genone   |                                                                             |

|2412     |Make digest errors more verbose                                              |
|genone   |                                                                             |

|2413     |update with multi-hash stuff and verbose digest errormessages, remove some   |
|genone   |not-so-important information.                                                |

|2414     |update to work with the verbose error messages                               |
|genone   |                                                                             |

|2415     |Remove old debugging related error message.                                  |
|jstubbs  |                                                                             |

|2416     |dont use string substitution as this operation can be quite slow on older    |
|SpankMan |bash versions (<=3.0) #116111                                                |

|2417     |Document the full-path-to-executable requirement on FETCHCOMMAND and         |
|jstubbs  |RESUMECOMMAND as well as the relevant substitution placeholders.             |

|2418     |Fix an incorrect positional check in *DEPEND parsing.                        |
|jstubbs  |                                                                             |

|2419     |Prevent traceback on fetcher failure and properly check for error conditions |
|jstubbs  |when fetching remote binary packages. #116276                                |

|2420     |Push portage to the top of the system and world lists when updating.         |
|jstubbs  |                                                                             |

|2421     |Don't show enabled flags when not using --verbose if they haven't changed    |
|jstubbs  |since the last emerge. Show enabled flags in red rather than green if the    |
|         |previously merged package didn't support them.                               |

|2422     |USE flags in the to-be-installed package's IUSE but not in currently         |
|jstubbs  |installed package's IUSE and not enabled were not being shown. USE_EXPAND    |
|         |variable names were being shown in lower case rather than upper case.        |

|2423     |- make quiet really mean it                                                  |
|solar    |                                                                             |

|2424     |Check that cache modules load correctly and fail if they don't.              |
|jstubbs  |                                                                             |

|2425     |Make --skipfirst imply --resume.                                             |
|jstubbs  |                                                                             |

|2426     |Missing return on load_mod.                                                  |
|jstubbs  |                                                                             |

|2427     |Separate masked and unavailable ebuilds and report that masked ebuilds can be|
|jstubbs  |handled with package.keywords or package.unmask when they are detected.      |

|2428     |Mention bugs.gentoo.org when asking the user to post config.log.             |
|jstubbs  |                                                                             |

|2429     |Added /dev/{stdin,stdout,stderr} to the default sandbox permissions.         |
|jstubbs  |                                                                             |

|2432     |quick sync manpages between trunk/savior                                     |
|SpankMan |                                                                             |

|2433     |finish syncing manpages between trunk/savior                                 |
|SpankMan |                                                                             |

|2434     |update date/version to stop people from pointless whining                    |
|SpankMan |                                                                             |

|2437     |if you're going to print an exception, bind the exception when you catch it  |
|ferringb |                                                                             |

|2439     |Generalize portage_util.dump_traceback() and make use of it if importing a   |
|jstubbs  |cache module fails.                                                          |

|2440     |Check if the specified package follows correct syntax and error out if it    |
|jstubbs  |doesn't.                                                                     |

|2441     |Fix an incorrect comparision self-comparison in USE change calculation.      |
|jstubbs  |                                                                             |

|2444     |Fix an incorrect variable reference triggered when using --fix and --check   |
|jstubbs  |together. Patch by Ashley Stovall. # 116576                                  |

|2445     |Treat symlinks similar to regular files when unmerging and remove them if the|
|jstubbs  |mtime matches rather than only removing them if the target is no longer      |
|         |valid.                                                                       |

|2446     |Limiting hashing to MD5 only until behaviour improves in the case of the     |
|jstubbs  |needed python module not being installed. #116485                            |

|2447     |bug 114133, write a tmp file then rename it for write* funcs. This removes   |
|ferringb |the possibility of out of space errors to occur, and blocks unexpected flat  |
|         |out bails (segfault fex) from hosing important files.                        |

|2450     |Fix typo in writeints()                                                      |
|jstubbs  |                                                                             |

|2452     |Fix mishandling of masked atoms in || ( .. ) dependencies.                   |
|jstubbs  |                                                                             |

|2453     |- only record vdb entries when the value is non null                         |
|solar    |                                                                             |

|2454     |Use the env's PROMPT_COMMAND for resetting xterm titles when available.      |
|jstubbs  |Otherwise use ${user}@${hostname}:${cwd}.                                    |

|2455     |Factor out mtimedb saving code from portageexit() into a new commit_mtimedb  |
|jstubbs  |function and call that rather than portageexit() after package updates.      |

|2456     |- remove intermediate var entry                                              |
|solar    |                                                                             |

|2457     |Only do one round of directory removal attempts. As symlinks are now removed |
|jstubbs  |before directory removal begins, more than one round is unnecessary.         |

|2458     |- use -n syntax like most of ebuild.sh                                       |
|solar    |                                                                             |

|2459     |Skip to next directory after one has been removed in unmerge().              |
|jstubbs  |                                                                             |

|2460     |Include symlinks themselves when checking collision-protect.                 |
|jstubbs  |                                                                             |

|2461     |- initial commit of post --sync hook. postsync.d to come at a later time     |
|solar    |                                                                             |

|2462     |renaming the death hook registration func to register_die_hook               |
|ferringb |                                                                             |

|2463     |news file, releasenotes data schlopped into it, plus couple of updates.      |
|ferringb |                                                                             |

|2464     |convert release notes over to upgrade information                            |
|ferringb |                                                                             |

|2465     |register_death_hook -> register_die_hook thanks to axxo for the catch.       |
|ferringb |                                                                             |

|2466     |Check for adequate spacing around "||", "(" and ")" tokens.                  |
|jstubbs  |                                                                             |

|2467     |- trim extraneous spaces tabs form feeds and newlines                        |
|solar    |                                                                             |

|2468     |Allow overlays and the user profile to extend arch.list.                     |
|jstubbs  |                                                                             |

|2469     |Remove the now unnecessary USE="*" hack.                                     |
|jstubbs  |                                                                             |

|2470     |Don't try to resolve deps of blockers when using --onlydeps.                 |
|jstubbs  |                                                                             |

|2471     |Don't show any use flags when using --quiet.                                 |
|jstubbs  |                                                                             |

|2472     |Make dohtml return 1 when a passed file/dir doesn't exist.                   |
|jstubbs  |                                                                             |

|2473     |- consolidate noman noinfo nodoc into a simple loop and use INSTALL_MASK. Add|
|solar    |debug to default list of MULTILIB_STRICT_EXEMPT=                             |

|2474     |'DISTFILES indirection; access $BUILDDIR/distdir instead of $DISTFILES , thus|
|ferringb |blocking unstated access.                                                    |

|2475     |rename BUILDDIR to PORTAGE_BUILDDIR                                          |
|SpankMan |                                                                             |

|2476     |quote a bit more                                                             |
|SpankMan |                                                                             |

|2477     |don't generate the distfiles indirection for digest/manifest doebuild calls  |
|ferringb |                                                                             |

|2478     |final cleanups for indirect distfiles, exempt fetch phase also.              |
|ferringb |                                                                             |

|2479     |Export the ROOT environment variable when using functions that take a        |
|jstubbs  |                                                                             |

|2480     |- update fatal qa error handling                                             |
|solar    |                                                                             |

|2481     |- add back in 1 newline after trimming all the extraneous ones               |
|solar    |                                                                             |

|2482     |Sanitize the root parameter specified to portageq.                           |
|jstubbs  |                                                                             |

|2483     |- export env variable PORTAGE_QUIET when --quiet option is passed            |
|solar    |                                                                             |

|2484     |- add splitdebug FEATURE to make.conf.5                                      |
|solar    |                                                                             |

|2485     |Modify portage's settings object rather than the original env.               |
|jstubbs  |                                                                             |

|2486     |bye bye crap grab_multiple function. list comp just as easily handles it.    |
|ferringb |                                                                             |

|2487     |ongoing portage_util cleanup. removed grabint, writeint; rewrote stack_list  |
|ferringb |to use a dict rather then doing a crapload of linear searches.               |

|2488     |linear unique_array lifted from saviour, lifted from a python cookbook.      |
|ferringb |                                                                             |

|2489     |whitespace corrections, single space between funcs, double between class     |
|ferringb |blocks...                                                                    |

|2490     |revert down to 2.3 python requirement via avoiding sorted                    |
|ferringb |                                                                             |

|2491     |tweak multiline whitespace display cause i'm anal like that                  |
|SpankMan |                                                                             |

|2492     |Remove tests for masked/unavailable packages.                                |
|jstubbs  |                                                                             |

|2493     |Don't print emaint warning for masked/non-existant packages. When using      |
|jstubbs  |--verbose, print a warning for those packages.                               |

|2494     |Don't download distfiles when manifesting.                                   |
|jstubbs  |                                                                             |

|2495     |Don't attempt to chmod/chown unless running as root when calling simple      |
|jstubbs  |ebuild functions.                                                            |

|2496     |Convert digest failure information to strings for printing.                  |
|jstubbs  |                                                                             |

|2497     |Split email addresses on the final "@" so as to allow "@" within the username|
|jstubbs  |portion of the address.                                                      |

|2498     |Check and raise an exception when a hash function is missing during          |
|jstubbs  |digesting.                                                                   |

|2504     |Unify the -p and -pv USE display functions and IUSE additions in yellow      |
|jstubbs  |followed by a "%" character.                                                 |

|2505     |Updated --pretend example to document new USE flag displays.                 |
|jstubbs  |                                                                             |

|2507     |Update the `touch .unpacked` error message to output the actual path in order|
|jstubbs  |to match the other touch error messages.                                     |

|2508     |BUILDIR => BUILDDIR                                                          |
|jstubbs  |                                                                             |

|2509     |Redo virtuals code that relied on unique_array keeping the original order.   |
|jstubbs  |                                                                             |

|2510     |Add CTARGET back into the list of vars to be written out for installed       |
|jstubbs  |packages.                                                                    |

|2515     |Kill the double xterm title codes.                                           |
|jstubbs  |                                                                             |

|2516     |- added writemsg_stdout function and make portage use it internally          |
|solar    |                                                                             |

|2517     |- added writemsg_stdout function and make portage use it internally          |
|solar    |                                                                             |

|2518     |if youre going to rip code from baselayout, you really need to do it from an |
|SpankMan |up-to-date version ... so re-import the KV functions and the color code so it|
|         |doesnt suck                                                                  |

|2519     |fix broken quoting                                                           |
|SpankMan |                                                                             |

|2520     |re-import the e* functions from baselayout since these ones are broken       |
|SpankMan |#117186                                                                      |

|2521     |use an echo rather than ewarn                                                |
|SpankMan |                                                                             |

|2522     |el buggo pointed out via spyderous. || ( a ( x? ( b ) y? ( c ) ) ) -x -y ,   |
|ferringb |was resulting in || ( a () ) the main consumer of this, portage.dep_check is |
|         |stupid, and was assuming () was valid. It's not, obviously. Long term bug,   |
|         |around in at least .51 . Should correct dep_check handling of it also, but no|
|         |reason to be handing () in the result lists also.                            |

|2525     |sync with savior branch                                                      |
|SpankMan |                                                                             |

|2526     |update copyright years                                                       |
|SpankMan |                                                                             |

|2527     |only complain about executable stacks on architectures that actually support |
|SpankMan |them                                                                         |

|2528     |'k. reverted use_reduce filtering of empty lists (was resulting in ["||"] as |
|ferringb |elements, which are invalid), added a recursive filter of empty sets/resolved|
|         ||| and && nodes; in the process, keeps portage from using an empty bool as a |
|         |satisfier in || () restriction sets.                                         |

|2529     |force a realpath call for complaints about digest files; better resolution is|
|ferringb |resetting DISTDIR post doebuild (see, we really need to break the beast up or|
|         |decorate it), but this resolves 117264 in the meantime.                      |

|2531     |adress -> address spelling typo. Sidenote, really should remove the 101 files|
|ferringb |and centralize this damn thing..                                             |

|2532     |bug 42299, detect and fail invalid atoms in *DEPEND                          |
|ferringb |                                                                             |

|2533     |filter '(' and ')' tokens also when checking for invalid atoms.              |
|ferringb |                                                                             |

|2534     |bug 117849, when parallel-fetch is on don't write out the mtimedb in the     |
|ferringb |fetcher process                                                              |

|2537     |- set noiselevel when quiet is enabled                                       |
|solar    |                                                                             |

|2538     |touchup output slightly                                                      |
|SpankMan |                                                                             |

|2539     |generate a log file for users to attach to bug reports                       |
|SpankMan |                                                                             |

|2540     |touchup style                                                                |
|SpankMan |                                                                             |

|2542     |- FEATURES=installsources from Olivier Crete an extention of splitdebug for  |
|solar    |better debugging when debugedit is installed. bug 112907                     |

|2543     |bug 117440, added PORTAGE_ACTUAL_DISTDIR var to make cvs/svn eclasses play   |
|ferringb |nice since they're not part of our SRC_URI scheme (yet).                     |

|2544     |reenable multi-hash and make error message a bit more useful                 |
|genone   |                                                                             |

|2545     |slightly improve news                                                        |
|genone   |                                                                             |

|2546     |s/checksums/manifests/                                                       |
|genone   |                                                                             |

|2549     |add another common example for package.provided                              |
|SpankMan |                                                                             |

|2550     |bug 118191 , puke properly when no args to envvar are supplied.              |
|ferringb |                                                                             |

|2551     |fixed the '/' stray char output                                              |
|ferringb |                                                                             |

|2552     |handle cross-compilers as well                                               |
|SpankMan |                                                                             |

|2553     |reorganization and a bit of clean up from Benno Schulenberg , bug 84285      |
|ferringb |                                                                             |

|2554     |get rid of the word "downloaded" in the search output because some people    |
|SpankMan |cant seem to handle it #81501                                                |

|2555     |fix display of ebuild(1)                                                     |
|SpankMan |                                                                             |

|2556     |Always call prerm/postrm regardless if the previous install had contents or  |
|ferringb |not.                                                                         |

|2559     |- dont save debug info twice                                                 |
|solar    |                                                                             |

|2560     |don't inline code, do __name__=="__main__" so the module can be used instead |
|ferringb |of strictly called.                                                          |

|2561     |clean up coding style/quoting, figure out what objdump to run same as strip, |
|SpankMan |and add support for STRIP_MASK                                               |

|2562     |add FEATURES=assume-digests so i dont have to keep hashing all the glibc     |
|SpankMan |tarballs whenever i want to commit                                           |

|2563     |fix inverted strip skip logic                                                |
|SpankMan |                                                                             |

|2564     |fix traceback when EDITOR is not set in the env #118976 by Paul Varner       |
|SpankMan |                                                                             |

|2565     |add -h/--help                                                                |
|SpankMan |                                                                             |

|2566     |s/maketest/test/                                                             |
|SpankMan |                                                                             |

|2567     |also catch leading null runpaths                                             |
|SpankMan |                                                                             |

|2568     |store all auxdbkeys in vdb and add a new emaint target to create missing     |
|genone   |entries                                                                      |

|2569     |fixup                                                                        |
|genone   |                                                                             |

|2570     |verify_all occasionally returns longs rather then strings. Wouldn't be a     |
|ferringb |problem, but the writemsg code isn't written to do conversions on the fly... |
|         |so, made it so it was.                                                       |

|2571     |accept --skip-first and --skipfirst                                          |
|SpankMan |                                                                             |

|2572     |bash tracebacks. :)                                                          |
|ferringb |                                                                             |

|2573     |updated diefunc "post the relevant info" msg                                 |
|ferringb |                                                                             |

|2574     |Added usage info to dump_trace, and credit for the code (eselect authors)    |
|ferringb |                                                                             |

|2575     |fixed up dump_trace, courtesy of spyderous                                   |
|ferringb |                                                                             |

|2576     |fix prepstrip after previous commit as pointed out by Olivier Crete          |
|SpankMan |                                                                             |

|2577     |patch by Alec Warner to document CCACHE_DIR #65492                           |
|SpankMan |                                                                             |

|2578     |Move DEPEND empty sublist processing back into use_reduce                    |
|jstubbs  |                                                                             |

|2579     |Provide more information with DEPEND syntax exceptions                       |
|jstubbs  |                                                                             |

|2580     |Add further checks for correct DEPEND syntax                                 |
|jstubbs  |                                                                             |

|2581     |fix possible path and vdb location issues                                    |
|genone   |                                                                             |

|2582     |Disable auto-use prior to code removal                                       |
|genone   |                                                                             |

|2583     |Add a warning for KEYWORDS=-*                                                |
|genone   |                                                                             |

|2584     |Fix typo in error description                                                |
|genone   |                                                                             |

|2586     |m68k generates proper gnu stack markings                                     |
|SpankMan |                                                                             |

|2587     |Added a check for obsolete virtual/x11 usage in dependencies.                |
|jstubbs  |                                                                             |

|2588     |Add support for EMERGE_DEFAULT_OPTS configuration variable for setting       |
|jstubbs  |options that emerge always considers to be specified.                        |

|2589     |Add support for an --alphabetical option to emerge that restores the old     |
|jstubbs  |ordering of flags in --pretend output.                                       |

|2591     |touchup if logic                                                             |
|SpankMan |                                                                             |

|2592     |make env-update a bit more flexible by adding a --no-ldconfig option         |
|SpankMan |                                                                             |

|2593     |add the "/usr/lib/portage/pym" insert to deal with osx (bit of a hack, but   |
|ferringb |tiz the convention currently).                                               |

|2599     |Disable the vdb check until it can be migrated to filter-env.                |
|jstubbs  |                                                                             |

|2600     |Add note about --alphabetical                                                |
|jstubbs  |                                                                             |

|2604     |Allow || ( ) deps that have no default atoms (or turn out empty). Released in|
|jstubbs  |2.1_pre4-r1. #120803                                                         |

|2605     |make sure all .debug files have the executable bit cleared                   |
|SpankMan |                                                                             |

|2606     |Chris PeBenito writes in #110857 for SELinux updates: 1) change ebuild.sh    |
|SpankMan |code to use selinux configuration to determine where the file contexts are,  |
|         |rather than a setting in make.conf. 2) change portage support to a FEATURE   |
|         |rather than USE. This enables the user to disable the portage support if     |
|         |their setup is broken, while still enabling selinux support in any packages  |
|         |they might merge. I was going to submit a patch for portage.py, but the place|
|         |it needs to be changed (line 7234 in rev 1.524.2.76/2.0.53_rc6), features    |
|         |(the variable) isn't filled yet, so I was unsure of the proper fix.          |

|2608     |get --nospinner from myopts instead of sys.argv so that it works with        |
|zmedico  |EMERGE_DEFAULT_OPTS                                                          |

|2609     |remove red coloring from right ')' in 'dependency required by' message       |
|zmedico  |reported by cardoe                                                           |

|2610     |Change the usage of a "class" of packages into a "set" of packages. world and|
|WarnerBro|system are now "sets" instead of "classes".                                  |

|2611     |Fix for bug #121106, resume + skipfirst + pretend would print the skipped    |
|WarnerBro|package. Thanks to Andrew D. Keyser (aka Legoguy) <andrewdk@sbcglobal.net>   |
|         |for reporting.                                                               |

|2612     |touchup the way options are declared to prevent bitrot, add a --quiet option |
|SpankMan |and use it, and make the help output useful                                  |

|2620     |- portage allows installing files into ${D}/${D}. Simon Stelling bug #120941 |
|solar    |                                                                             |

|2621     |touchup syntax/output of new $D/$D check                                     |
|SpankMan |                                                                             |

|2622     |bug #116681 , better handling of MULTILIB_STRICT_EXEMPT                      |
|ferringb |                                                                             |

|2623     |added PORTAGE_NICENESS support.                                              |
|ferringb |                                                                             |

|2624     |optional tarsync integration; thanks to Johannes Fahrenkrug for doing the    |
|ferringb |legwork.                                                                     |

|2625     |Revert change in -r2611, re-opening bug 121106. The fix is not that          |
|WarnerBro|simple...as usual :)                                                         |

|2626     |s/cronological/chronological/ for you anal peeps                             |
|SpankMan |                                                                             |

|2627     |exit with proper status rather than always 0                                 |
|SpankMan |                                                                             |

|2628     |style touchups                                                               |
|SpankMan |                                                                             |

|2629     |grab some fixes from prepstrip script                                        |
|SpankMan |                                                                             |

|2632     |confcache, baby.                                                             |
|ferringb |                                                                             |

|2633     |FEATURES="confcache" addition                                                |
|ferringb |                                                                             |

|2634     |confcache make.conf example...                                               |
|ferringb |                                                                             |

|2635     |confcache updates...                                                         |
|ferringb |                                                                             |

|2641     |Thanks to Benno Schulenberg <benno@nietvergeten.nl> for the spelling/grammar |
|WarnerBro|fixes, bug #80754                                                            |

|2642     |This should have been excluded...                                            |
|WarnerBro|                                                                             |

|2643     |Minor fixups with spelling, Thanks to Benno Schulenberg                      |
|WarnerBro|<benno@nietvergeten.nl>, bug # 110382                                        |

|2644     |Shout out to RiverRat for reporting, fixup the output to use the correct     |
|WarnerBro|verbs, disable tree output for fetching since it does not work.              |

|2645     |Fix for bug #119049                                                          |
|WarnerBro|                                                                             |

|2646     |Fix bug #86067. Thanks to J\xc3\xbcrgen H\xc3\xb6tzel <gentoo@hoetzel.info>  |
|WarnerBro|for the emacs command                                                        |

|2648     |Add back emerge list header hiding when --quiet is used.                     |
|jstubbs  |                                                                             |

|2649     |Remove all bug references                                                    |
|jstubbs  |                                                                             |

|2650     |Simon Stelling writes in Bug 121317: currently, the do* scripts don't exit   |
|SpankMan |with a non-zero status when a critical command fails, except if it is the    |
|         |last one. install as much as possible, then exit appropriately.              |

|2651     |touchup code so we handle errors better                                      |
|SpankMan |                                                                             |

|2652     |touchup code so we handle errors better                                      |
|SpankMan |                                                                             |

|2653     |touchup code so we handle errors better                                      |
|SpankMan |                                                                             |

|2654     |cleanup code and handle errors better as Simon Stelling says in Bug 121317   |
|SpankMan |                                                                             |

|2655     |use much simpler code as inspired by agriffis' fowners work                  |
|SpankMan |                                                                             |

|2656     |send error to stderr                                                         |
|SpankMan |                                                                             |

|2657     |touchup code like dosym                                                      |
|SpankMan |                                                                             |

|2658     |remove stray quote introduced in revision 2645                               |
|zmedico  |                                                                             |

|2659     |Adding a comment about normpath, and why we use our own copy.                |
|WarnerBro|                                                                             |

|2660     |aparently someone never heard of rstrip...                                   |
|ferringb |                                                                             |

|2665     |mention mirror, not nomirror                                                 |
|SpankMan |                                                                             |

|2666     |document more stuff                                                          |
|SpankMan |                                                                             |

|2667     |replace existing "restarting emerge via exec()" functionality with a new     |
|zmedico  |approach that uses --resume and myopts                                       |

|2668     |remove outdated "You may avoid the remerging of packages" message            |
|zmedico  |                                                                             |

|2669     |do commit_mtimedb() after each merge for bug 100300                          |
|zmedico  |                                                                             |

|2670     |add CATEGORY to ebuild.5 and declare it readonly in ebuild.sh                |
|zmedico  |                                                                             |

|2671     |Make sure confcache files are writable by the portage group, not just the    |
|marienz  |portage user.                                                                |

|2672     |when emerge restarts itself, make /usr/lib/portage/bin/emerge the first      |
|zmedico  |argument in the list passed to os.execv (regression from revision 2667)      |

|2673     |use sys.argv[0] for the path to emerge rather then hard coding               |
|ferringb |                                                                             |

|2674     |wrap all relevant atexit usage due to incompatibility with os.execv (needed  |
|zmedico  |for emerge to restart itself)                                                |

|2676     |Remove references to --verbose and --quiet in depgraph.display() and make it |
|jstubbs  |work of a verbosity parameter instead.                                       |

|2677     |fix whitespace breakage introduced by writemsg_stdout() changes              |
|SpankMan |                                                                             |

|2679     |cPickle import protection; fall back to pickle if cPickle is unavailable.    |
|ferringb |                                                                             |

|2680     |add new atomic_ofstream class for safer writes                               |
|zmedico  |                                                                             |

|2681     |use new write_atomic() function for all world file updates                   |
|zmedico  |                                                                             |

|2682     |use atomic_ofstream for mtimedb commits                                      |
|zmedico  |                                                                             |

|2683     |touchup style                                                                |
|SpankMan |                                                                             |

|2684     |eat the parent process with exec, YUM                                        |
|SpankMan |                                                                             |

|2685     |use getattr instead of hasattr for detection of base class destructor        |
|zmedico  |(recommended by marienz)                                                     |

|2686     |use write_atomic for the counter file                                        |
|zmedico  |                                                                             |

|2687     |for each fetch ensure correct permissions on both $DISTDIR and               |
|zmedico  |$DISTDIR/.locks (bug 117781)                                                 |

|2688     |make repoman obey NOCOLOR for bug 77566 (patch by antarus)                   |
|zmedico  |                                                                             |

|2689     |fix KeyError: '.' in dblink.unmerge() from bug 100479                        |
|zmedico  |                                                                             |

|2690     |avoid unnecessary stat by catching ENOENT error instead of using             |
|zmedico  |os.path.exists()                                                             |

|2691     |use cached stat and lstat results to minimize the number of stat calls in    |
|zmedico  |dblink.unmerge()                                                             |

|2692     |fix typo for bug 111098 (patch by andre@fluffyspider.com.au)                 |
|zmedico  |                                                                             |

|2693     |- add portage to MULTILIB_STRICT_EXEMPT                                      |
|solar    |                                                                             |

|2694     |import errno at the top of portage.py                                        |
|zmedico  |                                                                             |

|2695     |catch possible ENOENT error from portage_checksum.perform_md5 for bug 24374  |
|zmedico  |                                                                             |

|2696     |add a new emerge --ignore-default-opts option for bug 121695                 |
|zmedico  |                                                                             |

|2697     |fix perform_checksum.perform_checksum() so that it wraps FileNotFound        |
|zmedico  |exceptions                                                                   |

|2698     |use write_atomic for fixdbentries                                            |
|zmedico  |                                                                             |

|2700     |fix dirsonly handling in listdir                                             |
|genone   |                                                                             |

|2701     |use write_atomic for move_ent CATEGORY updates                               |
|zmedico  |                                                                             |

|2703     |misc atomic_ofstream and write_atomic updates in portage.py                  |
|zmedico  |                                                                             |

|2707     |Make repoman ebuild.invalidname message a bit more useful                    |
|genone   |                                                                             |

|2708     |add support for ROOT by Joel Martin #122728                                  |
|SpankMan |                                                                             |

|2709     |cleanup output and syntax, make sure we exit with non-zero status when       |
|SpankMan |something goes wrong #121317 by Simon Stelling, and fix installing of        |
|         |relative symlinks                                                            |

|2710     |get rid of pointless whitespace                                              |
|SpankMan |                                                                             |

|2712     |fix race condition for bug 121819 by using os.fstat(myfd).st_nlink instead of|
|zmedico  |os.path.exists                                                               |

|2713     |silence extdebug errors when on bash2; it's handled by the code already, just|
|ferringb |is fugly.                                                                    |

|2714     |fix a race and prevent unlinking of a file locked by another process in      |
|zmedico  |portage_locks.unlockfile()                                                   |

|2715     |fix case where myfd == None (regression from revision 2714)                  |
|zmedico  |                                                                             |

|2716     |Robert Sebastian Gerus: add support for DragonFly #122976                    |
|SpankMan |                                                                             |

|2717     |generalize the BSD checks.                                                   |
|ferringb |                                                                             |

|2718     |Add basic sanity check for global update entries                             |
|genone   |                                                                             |

|2721     |remove invalid package moves from myupd so that fixpackages doesn't process  |
|zmedico  |them                                                                         |

|2722     |optimize fixdbentries by enabling it to process packages moves in batches    |
|zmedico  |                                                                             |

|2723     |optimize fixpackages (update_ents) to feed batched package moves to          |
|zmedico  |fixdbentries                                                                 |

|2724     |Make fixdbentries operate on an iterable instead of a dict because order can |
|zmedico  |matter.                                                                      |

|2725     |Optimize fixpackages to do all updates in one big batch so that each tbz2 is |
|zmedico  |only recomposed once.                                                        |

|2726     |Store split lines in myupd so that they don't need to be split again later.  |
|zmedico  |                                                                             |

|2727     |Bring back myline variable inside do_upgrade because it is needed (regression|
|zmedico  |from rev 2726).                                                              |

|2728     |Filter out some more invalid updates before fixpackages gets them.           |
|zmedico  |                                                                             |

|2729     |Add a return value to fixdbentries that indicates whether or not             |
|zmedico  |modifications were performed. Use this to avoid unnecessary recomposition of |
|         |tbz2 files.                                                                  |

|2730     |Add a cleanup() method to xpak.tbz2 and do a sanity check there.             |
|zmedico  |                                                                             |

|2731     |Split out a vardbapi.update_ents() method and leave it unused for the moment |
|zmedico  |since it's not currently being used properly anyway (see bug 122089).        |

|2732     |Consider global updates that proceed quickly as a single mtimedb transaction.|
|zmedico  |                                                                             |

|2733     |Create a global_updates() function in order to remove a chunk from the global|
|zmedico  |scope.                                                                       |

|2734     |Split the config file updates from do_upgrade into a new                     |
|zmedico  |update_config_files() function that does all updates in one big batch.       |

|2735     |Clean up do_upgrade() and add atom validation.                               |
|zmedico  |                                                                             |

|2736     |Fix 2 typos from revision 2735.                                              |
|zmedico  |                                                                             |

|2737     |Split move_ent calls from do_upgrade() and do them in global_updates()       |
|zmedico  |instead.                                                                     |

|2738     |Update the mtimedb only after the updates have been processed.               |
|zmedico  |                                                                             |

|2739     |finally remove --upgradeonly                                                 |
|genone   |                                                                             |

|2740     |finally remove --rsync                                                       |
|genone   |                                                                             |

|2741     |remove documentation on --upgradeonly                                        |
|genone   |                                                                             |

|2742     |deprecate 'emerge action' syntax in favor of 'emerge --action'               |
|genone   |                                                                             |

|2743     |Fix problem with /var/tmp/tbz2/tbz2 directory for bug 113088.                |
|zmedico  |                                                                             |

|2744     |this stuff was supposed to be dead for ages                                  |
|genone   |                                                                             |

|2745     |more obsolete stuff, qa is in ebuild.sh now                                  |
|genone   |                                                                             |

|2746     |update release notes regarding deprecated stuff                              |
|genone   |                                                                             |

|2747     |In order do avoid the need for temporary files, add a new xpak_mem() function|
|zmedico  |that creates an xpak_segment from a map object.                              |

|2748     |In order do avoid the need for temporary files, add a new                    |
|zmedico  |tbz2.recompose_mem() method that uses an xpak segment from memory.           |

|2750     |Split out 2 reusable functions from fixdbentries and put them in a new       |
|zmedico  |portage_update module.                                                       |

|2751     |Add a tbz2.get_data() method that returns the xpak segment data as a dict.   |
|zmedico  |                                                                             |

|2752     |Remove temporary file usage from fixpackages update_ents routine.            |
|zmedico  |                                                                             |

|2753     |Remove temporary file usage from move_ent and move_slot_ent routines.        |
|zmedico  |                                                                             |

|2754     |enable exec stack scanning on ppc64                                          |
|SpankMan |                                                                             |

|2755     |Patch by marienz to generate default_xterm_title just in time with python    |
|zmedico  |instead of the shell. Fixes "Bad substitution" shell messages reported by    |
|         |flameeyes.                                                                   |

|2756     |Patch by Ed Catmur to add "gnome" to legal_terms in output.py.               |
|zmedico  |                                                                             |

|2757     |Some news and release notes for 2.1_pre5.                                    |
|zmedico  |                                                                             |

|2758     |Validate the names of update files in order to filter out unwanted files such|
|zmedico  |as CVS directories.                                                          |

|2759     |Fix typo from revision 2758.                                                 |
|zmedico  |                                                                             |

|2762     |Suggestion from Brian Harring to remove extra processing, condense code.     |
|WarnerBro|                                                                             |

|2763     |Prevent output of '*' characters when there are no updates but fixpackages is|
|zmedico  |in features (reported by fuzzyray).                                          |

|2764     |Revert emergelog output change from revision 2641 to maintain compatibility  |
|zmedico  |with genlop (reported by fuzzyray).                                          |

|2765     |update syntax and add error checking #121317 by Simon Stelling               |
|SpankMan |                                                                             |

|2766     |disable compression in doman, just let `prepman` handle it                   |
|SpankMan |                                                                             |

|2767     |dont warn in manpage exists but is empty                                     |
|SpankMan |                                                                             |

|2768     |simply code to break down arguments to prepman                               |
|SpankMan |                                                                             |

|2769     |warn if we were given a non-existent dir                                     |
|SpankMan |                                                                             |

|2770     |update syntax/style                                                          |
|SpankMan |                                                                             |

|2771     |remove code that is duplicated in prepstrip                                  |
|SpankMan |                                                                             |

|2773     |Add NOCOLOR support to bin/ebuild for bug 78701.                             |
|zmedico  |                                                                             |

|2774     |Remove inject from the manpage. Bug # 120429.                                |
|WarnerBro|                                                                             |

|2775     |Kill inject for good.                                                        |
|WarnerBro|                                                                             |

|2776     |update release notes                                                         |
|WarnerBro|                                                                             |

|2777     |Fix typo, profile instead of profiles                                        |
|WarnerBro|                                                                             |

|2779     |Fix a missing parenthesis.                                                   |
|WarnerBro|                                                                             |

|2780     |move the err/warn funcs together                                             |
|SpankMan |                                                                             |

|2782     |Adding a new exception class.                                                |
|WarnerBro|                                                                             |

|2783     |Add a message to advise deleting corrupted binary packages. Bug #86088       |
|WarnerBro|                                                                             |

|2784     |Killing some old code that is never executed.                                |
|WarnerBro|                                                                             |

|2785     |Make complete_eclass_entries variable name consistent so that classes derived|
|zmedico  |from cache.template.database are compatible with the mirror_cache() function |
|         |in the cache.util module.                                                    |

|2786     |Fix cache.metadata.database so that it correctly removes the newline         |
|zmedico  |character from the end of the line when parsing flat_hash entries.           |

|2787     |Only write known keys in flat_hash cache entries (filter out UNUSED_* keys). |
|zmedico  |                                                                             |

|2788     |Make the post-sync metadata-transfer a FEATURE so that it can be optionally  |
|zmedico  |disabled.                                                                    |

|2789     |Make `emerge --metadata` work even when metadata-transfer is not in FEATURES.|
|zmedico  |                                                                             |

|2790     |Fix 'Bad file descriptor' error with hardlink locking for bug 124140.        |
|zmedico  |                                                                             |

|2791     |Add some docs for metadata-transfer in make.conf.example and make.conf.5.    |
|zmedico  |                                                                             |

|2792     |Add a new cache.metadata_overlay module that layers a writable cache over a  |
|zmedico  |readonly cache.                                                              |

|2793     |Use rstrip("\n") instead of -1 index to safely remove newline characters.    |
|zmedico  |                                                                             |

|2794     |Make sure myopts does not contain duplicate options for bug 124204.          |
|zmedico  |                                                                             |

|2800     |Add a sanity check in dyn_clean() to make sure that PORTAGE_BUILDDIR is not  |
|zmedico  |zero length for bug #124203.                                                 |

|2801     |Split out a portage_update.grab_updates() function so that it can be reused. |
|zmedico  |                                                                             |

|2802     |Use ROOT when checking installed packages for --pretend output               |
|jstubbs  |                                                                             |

|2803     |just use group 0 to workaround broken systems #124568                        |
|SpankMan |                                                                             |

|2804     |Assume 0 for both uid and gid in dobin and dosbin (bug #124568).             |
|zmedico  |                                                                             |

|2805     |Fix typo in emerge-webrsync PORTAGE_NICENESS handling for bug #124621        |
|zmedico  |(regression from r2623).                                                     |

|2806     |Make emerge-webrsync use renice for cleaner PORTAGE_NICENESS handling (bug   |
|zmedico  |#124621).                                                                    |

|2807     |kill off pointless print                                                     |
|SpankMan |                                                                             |

|2808     |add some URLs for people to learn more                                       |
|SpankMan |                                                                             |

|2809     |Move all output out of the global updates do_upgrade() function so that it   |
|zmedico  |only performs parsing and validation.                                        |

|2810     |Rename the global updates do_upgrade() function to parse_updates().          |
|zmedico  |                                                                             |

|2811     |Remove the 'didupdate' variable from global_updates() because it is no longer|
|zmedico  |used.                                                                        |

|2812     |Strip the leading slash from WORLD_FILE so that os.path.join works correctly |
|zmedico  |for bug #124471. Thanks to Thomas de Grenier de Latour for finding the cause |
|         |of the problem and Jonathan Adamczewski for the initial report.              |

|2813     |- have scanelf nuke insecure rpaths                                          |
|solar    |                                                                             |

|2814     |Remove a dead and broken hunk of code that attempts to remove files from an  |
|zmedico  |empty directory.                                                             |

|2815     |Remove the leading / from PRIVATE_PATH (var/lib/portage) for better          |
|zmedico  |cooperation with os.path.join (see bug #124471).                             |

|2816     |Remove the leading / from CONFIG_MEMORY_FILE for better cooperation with     |
|zmedico  |os.path.join (see bug #124471).                                              |

|2817     |fix BASH_ARGV walking                                                        |
|SpankMan |                                                                             |

|2818     |Remove the leading / from WORLD_FILE for better cooperation with os.path.join|
|zmedico  |(see bug #124471).                                                           |

|2819     |only scan for exec stacks on linux/glibc hosts                               |
|SpankMan |                                                                             |

|2820     |- make portage display the ROOT when unmerging a selected package            |
|solar    |                                                                             |

|2821     |Catch ENOENT errors when $PORTDIR/profiles/updates does not exist.           |
|zmedico  |                                                                             |

|2824     |Make the parallel-fetch process sleep for 3 seconds at the beginning in order|
|zmedico  |to allow the parent process to have the first fetch (rather than display a   |
|         |'waiting for a lock' message). Suggestion by Brian Harring.                  |

|2825     |- commit initial split install masking code. this commits adds new portage   |
|solar    |variable PKG_INSTALL_MASK for fine tuning what gets added to the binary .tbz2|
|         |and xpak data. This function will probably be later split out into a         |
|         |misc-functions.sh by zac                                                     |

|2826     |Move PKG_INSTALL_MASK functionality (see bug #81025) from dyn_install to     |
|zmedico  |dyn_package because we don't want PKG_INSTALL_MASK to affect the install     |
|         |phase (INSTALL_MASK is in dyn_preinst).                                      |

|2827     |update copyrights                                                            |
|SpankMan |                                                                             |

|2828     |document new --no-ldconfig option                                            |
|SpankMan |                                                                             |

|2829     |misc updates                                                                 |
|SpankMan |                                                                             |

|2830     |add support for ebuild authors to mark stuff as ignorable                    |
|SpankMan |                                                                             |

|2831     |Split dyn_package from ebuild.sh to misc-functions.sh and add MISC_SH_BINARY |
|zmedico  |support to spawnebuild.                                                      |

|2832     |Split install_mask and parts of dyn_preinst from ebuild.sh to                |
|zmedico  |misc-functions.sh and add the necessary support to doebuild.                 |

|2833     |Remove install_mask from ebuild.sh since it's in misc-functions.sh now.      |
|zmedico  |                                                                             |

|2834     |Add a "sesandbox" flag to the spawn function so that it can handle selinux   |
|zmedico  |context for the exec call (prevents code duplication).                       |

|2835     |Add sesandbox to the spawnebuild actionmap.                                  |
|zmedico  |                                                                             |

|2836     |Remove "myarg" from the ebuild.sh env before it is saved so that it doesn't  |
|zmedico  |interfere when ebuild.sh is sourced by other scripts.                        |

|2837     |Move the install phase qa checks from ebuild.sh to misc-functions.sh and add |
|zmedico  |the necessary support to spawnebuild.                                        |

|2838     |Move dyn_rpm and dyn_spec from ebuild.sh to misc-functions.sh.               |
|zmedico  |                                                                             |

|2839     |Fix emerge's "Post-Build Cleaning" so that it works with --buildpkgonly in   |
|zmedico  |FEATURES. See bug #105706.                                                   |

|2840     |Fix dyn_clean in ebuild.sh so that it removes the builddir correctly (if it  |
|zmedico  |is empty). See bug #105706.                                                  |

|2841     |Do cleanup of cruft prior to the setup phase for binary packages. See bug    |
|zmedico  |#85803.                                                                      |

|2842     |Consolidate duplicate "myebuild" logic in the dblink.treewalk() method.      |
|zmedico  |                                                                             |

|2843     |Do the clean phase at the end of dblink.treewalk() to ensure that it is      |
|zmedico  |triggered when both source and binary packages are merged. See bug #105706.  |

|2844     |Trigger the clean phase at the end of dblink.unmerge() in order to remove    |
|zmedico  |cruft left by the pkg_*rm phases.                                            |

|2845     |Make dobin and dosbin use PORTAGE_INST_UID and PORTAGE_INST_GID.             |
|zmedico  |                                                                             |

|2846     |Move PORTAGE_INST_UID and PORTAGE_INST_GID from ebuild.sh to make.globals so |
|zmedico  |they can be overridden.                                                      |

|2847     |Do automatic backup the resume list when it's length is greater than 1 for   |
|zmedico  |bug #122527.                                                                 |

|2849     |dont reset spinner for non-ttys if --quiet is in use                         |
|SpankMan |                                                                             |

|2850     |backport portage-pkg path change from savior branch                          |
|SpankMan |                                                                             |

|2851     |default CCACHE_DIR doesnt use PORTAGE_TMPDIR, it just happens to also reside |
|SpankMan |there by default                                                             |

|2854     |Make the clean phase obey keeptemp in FEATURES.                              |
|zmedico  |                                                                             |

|2857     |Add --tree to the blacklist when --resume is used. See bug #54040.           |
|zmedico  |                                                                             |

|2858     |Add the command (ebuild.sh or misc-functions.sh) to the actionmap for        |
|zmedico  |spawnebuild.                                                                 |

|2859     |Use the ** operator for better unpacking of actionmap args in spawnebuild.   |
|zmedico  |                                                                             |

|2860     |ppc64 isnt ok just yet, so dont scan for exec stacks                         |
|SpankMan |                                                                             |

|2861     |Fix misuse of dict.fromkeys class method so that cache cleansing works during|
|zmedico  |`emerge --metadata` runs.                                                    |

|2862     |Make portage.unmerge return 0 on success in order to make `ebuild unmerge`   |
|zmedico  |exit nicely. Thanks to kosmikus for reporting the "Could not run the required|
|         |binary?" message.                                                            |

|2863     |Use find -path instead of -name for compatibility with both gnu and bsd      |
|zmedico  |userlands. See bug #125919.                                                  |

|2864     |Fix KeyError: 'mergelist' error (regression from r2847). See bug #125993.    |
|zmedico  |                                                                             |

|2865     |Do not clean shared ${T} after the unmerge phase when the new and old package|
|zmedico  |are the same version (regression from r2844). See bug #125942.               |

|2866     |Document portage_data.secpass and give secpass=0 to users that are not in the|
|zmedico  |"portage" group.                                                             |

|2867     |Simplify emerge's secpass logic.                                             |
|zmedico  |                                                                             |

|2868     |Add a new portage_util.apply_secpass_permissions() function that             |
|zmedico  |intelligently attempts to apply as much of the requested permissions as      |
|         |possible without generating an exception.                                    |

|2869     |Make portage_util.apply_stat_permissions() wrap apply_secpass_permissions    |
|zmedico  |instead of plain old apply_permissions.                                      |

|2870     |Use apply_secpass_permissions for DISTDIR permissions.                       |
|zmedico  |                                                                             |

|2871     |Add a new OperationNotPermitted exception and use it to wrap                 |
|zmedico  |apply_permissions exceptions.                                                |

|2872     |Wrap possible exceptions raised by stat call in apply_secpass_permissions.   |
|zmedico  |                                                                             |

|2873     |Handle FileNotFound errors instead of ENOENT errors when doing permissions   |
|zmedico  |for the distlocks subdir.                                                    |

|2874     |Make the apply_permissions function default to exact matching of mode bits   |
|zmedico  |and add a "mask" parameter that allows for XOR restriction of mode bits.     |

|2875     |Fix some typos in the DISTDIR permissions handling.                          |
|zmedico  |                                                                             |

|2876     |Make mode=-1 the default parameter for apply_permissions in order to         |
|zmedico  |distinguish the behavior from mode=0.                                        |

|2877     |Use apply_secpass_permissions for all permissions in doebuild.               |
|zmedico  |                                                                             |

|2878     |Use a separate PORTAGE_BUILDDIR for overlapping install and unmerge phases in|
|zmedico  |order to prevent interference between {pre,post}inst and {pre,post}rm phases.|
|         |See bug #125942.                                                             |

|2879     |Move the "noclean" feature check into clean phase part of doebuild.          |
|zmedico  |                                                                             |

|2880     |Use 'mode & 0777' to protect ourselves from unwanted mode bits in            |
|zmedico  |apply_permissions.                                                           |

|2881     |Make that 'mode & 07777' for the previous commit.                            |
|zmedico  |                                                                             |

|2882     |One more 'mode & 07777' in apply_permissions.                                |
|zmedico  |                                                                             |

|2883     |Remove some SystemExit exceptions, make portage behave during a ctrl+c       |
|WarnerBro|                                                                             |

|2884     |Remove SystemExit's from portage imports, raise on the correct exception,    |
|WarnerBro|don't die if imports fail.                                                   |

|2885     |Catch keyboardinterrupt during imports, don't print nasty tracebacks there,  |
|WarnerBro|later on we have signal handlers for control C                               |

|2886     |marienz pointed out that 'raise e' actually raises a new exception, which is |
|WarnerBro|not intended here, so we raise instead of raising e                          |

|2887     |Comma's are for pussies ( fixing regression from last reivision )            |
|WarnerBro|                                                                             |

|2888     |Send a global updates messages to stdout for bug #126111.                    |
|zmedico  |                                                                             |

|2889     |Remove bin/dopython because it's not either used or useful. Thanks to Brian  |
|zmedico  |Harring for noticing.                                                        |

|2890     |Generate depgraph.applied_useflags in the display method as necessary for use|
|zmedico  |with --resume. See bug #126120.                                              |

|2891     |add --quiet support to --cols                                                |
|SpankMan |                                                                             |

|2892     |Use writemsg_stdout for update_ents and move_ent routines. See bug #126111.  |
|zmedico  |                                                                             |

|2893     |Split the bulk of ebuild environment setup out of doebuild into a new        |
|zmedico  |doebuild_environment function.                                               |

|2894     |Split the bulk of directory preparation out of doebuild into a new           |
|zmedico  |prepare_build_dirs function.                                                 |

|2895     |Check the return value of prepare_build_dirs and return early from doebuild  |
|zmedico  |if necessary.                                                                |

|2898     |- dont allow people to call `install` with -s via                            |
|SpankMan |insopts/diropts/exeopts/libopts and simplify them in general - fix "nostrip" |
|         |usage and DEBUGBUILD                                                         |

|2900     |declare more local variables to prevent env pollution                        |
|SpankMan |                                                                             |

|2901     |Add a new PORTAGE_WORKDIR_MODE config variable so that the mode of WORKDIR is|
|zmedico  |no longer hard coded. See bug #8688.                                         |

|2902     |add support for unpacking .tbz, .a, and .deb files                           |
|SpankMan |                                                                             |

|2903     |cleanup bash code in use*() and has*() functions with the help of agriffis   |
|SpankMan |                                                                             |

|2904     |Move environment variables WORKDIR, D, and T from prepare_build_dirs to      |
|zmedico  |doebuild_environment.                                                        |

|2905     |touchup some more misc bits of bash code                                     |
|SpankMan |                                                                             |

|2906     |Revert a hunk from r2834 because PORTAGE_SANDBOX_T is used incorrectly where |
|zmedico  |PORTAGE_FETCH_T should be used for selinux fetch. Thanks to spb for          |
|         |reporting.                                                                   |

|2907     |Implement __contains__ for portage.config so that it calls has_key, enabling |
|zmedico  |membership test operators (in and not in) to work as expected.               |

|2908     |Add package atom validation to the `emerge --config` action. Thanks to       |
|zmedico  |sekretarz for reporting and providing an initial patch.                      |

|2909     |Use the built-in bool() function to convert 1 or 0 to True or False as       |
|zmedico  |recommended by marienz.                                                      |

|2910     |Fix permissions functions so that error messages tell exactly which call     |
|zmedico  |failed.                                                                      |

|2911     |Use `mv -f` to make sure mv does not prompt for confirmation.                |
|zmedico  |                                                                             |

|2912     |Improve error handling in the CONFCACHE_DIR section of prepare_build_dirs.   |
|zmedico  |Thanks to solar for reporting this issue.                                    |

|2913     |Disable confcache when it's not possible to apply correct group permissions  |
|zmedico  |to an existing file in CONFCACHE_DIR.                                        |

|2914     |Error handling in prepare_build_dirs for DISTCC_DIR.                         |
|zmedico  |                                                                             |

|2915     |Improve error handling in prepare_build_dirs for PORT_LOGDIR. Fix doebuild   |
|zmedico  |'logfile' which has caused broken logging since r2894.                       |

|2917     |Fix the apply_permissions XOR logic so that mask removes mode bits correctly.|
|zmedico  |                                                                             |

|2918     |Fix typo in variable name from last revision.                                |
|zmedico  |                                                                             |

|2919     |Fix error handling for $DISTDIR/cvs-src creation and permissions in doebuild.|
|zmedico  |                                                                             |

|2922     |For better handling of $DISTDIR/cvs-src permissions, use os.walk instead of  |
|zmedico  |spawning chgrp and chmod.                                                    |

|2923     |Merge emerge-webrsync uid and gid fixes from the prefix branch.              |
|zmedico  |                                                                             |

|2924     |Fix deprecated emerge syntax in emerge-webrsync for bug #126558.             |
|zmedico  |                                                                             |

|2925     |Add a generic apply_recursive_permissions function and use is for            |
|zmedico  |$DISTDIR/cvs-src.                                                            |

|2926     |Use apply_recursive_permissions for CONFCACHE_DIR.                           |
|zmedico  |                                                                             |

|2927     |Use apply_recursive_permissions for CCACHE_DIR. Also fix a typo in error     |
|zmedico  |handling for CONFCACHE_DIR from r2912.                                       |

|2928     |Use apply_recursive_permissions for DISTCC_DIR.                              |
|zmedico  |                                                                             |

|2929     |Catch a possible SyntaxError from the eval function when parsing             |
|zmedico  |PORTAGE_WORKDIR_MODE. Thanks to solar for reporting.                         |

|2930     |Fix PORTAGE_WORKDIR_MODE parsing so that the validated value is stored in    |
|zmedico  |mysettings.                                                                  |

|2931     |Prevent "eclass-debug.log: No such file or directory" messages that are      |
|zmedico  |produced during the "depend" phase when ${T} doesn't exist.                  |

|2932     |Use loops to consolidate directory cleaning and creation in                  |
|zmedico  |prepare_build_dirs.                                                          |

|2933     |Fix PORTAGE_WORKDIR_MODE so that 0700 is correctly substituted when          |
|zmedico  |PORTAGE_WORKDIR_MODE is unset or null.                                       |

|2934     |Use one makedirs function for all directory creations inside                 |
|zmedico  |prepare_build_dirs.                                                          |

|2935     |Fix a typo from the last revision.                                           |
|zmedico  |                                                                             |

|2936     |Change os.makedirs to makedirs (typo from r2934).                            |
|zmedico  |                                                                             |

|2938     |Replace hard coded number 2 in cache modules with errno.ENOENT.              |
|zmedico  |                                                                             |

|2939     |add short options for --one-shot and --fetch-all-uri to --help output. Closes|
|kito     |Bug #126626                                                                  |

|2940     |Make successful inherit calls return success so that \'source ${EBUILD}`     |
|zmedico  |returns success when an ebuild calls inherit last.                           |

|2941     |Minor speedup for findname2, suggested by Brian Harring                      |
|WarnerBro|                                                                             |

|2942     |Make PORTAGE_INST_UID and PORTAGE_INST_GID default to 0 in case of           |
|zmedico  |environment problems.                                                        |

|2943     |Fix typo in spelling of been in emerge-webrsync. Thanks to bonsaikitten for  |
|zmedico  |reporting.                                                                   |

|2944     |Prevent an IOError with errno != ENOENT from being swallowed in              |
|zmedico  |flat_hash._setitem().                                                        |

|2945     |Stop swallowing IOError and TypeError exceptions in portdbapi.gvisible().    |
|zmedico  |Write instances of PortageException to stderr. Thanks to marienz for         |
|         |reporting.                                                                   |

|2946     |Fix typo from the last revision.                                             |
|zmedico  |                                                                             |

|2947     |Reset the selinux security context before returning from spawn (regression   |
|zmedico  |from r2834). See bug #126711.                                                |

|2950     |Catch a possible OSError from the stat call in atomic_ofstream.close().      |
|zmedico  |                                                                             |

|2951     |Compare new digest data with old digest data and rewrite the new digest only |
|zmedico  |if they differ. Thanks to AllanonJL for reporting this issue.                |

|2952     |Add NOCOLOR support to ebuild.sh and make emerge automatically add NOCOLOR to|
|zmedico  |portage.settings when --nocolor is specified. See bug #126756.               |

|2953     |delete extraneous print                                                      |
|SpankMan |                                                                             |

|2954     |update -I long option                                                        |
|SpankMan |                                                                             |

|2955     |Add support for generic PORTAGE_RSYNC_{EXTRA_,}OPTS, deprecate existing      |
|genone   |RSYNC_ variables, rename RSYNC_RETRIES to PORTAGE_RSYNC_RETRIES              |

|2956     |make the fallback make.conf more generic by removing x86 specific stuff and  |
|genone   |removing CHOST completely                                                    |

|2957     |adding notes about new rsync option handling                                 |
|genone   |                                                                             |

|2958     |Fix deprecated RSYNC_TIMEOUT handling (move it where rsync_flags is defined) |
|zmedico  |and direct error messages to stderr via writemsg.                            |

|2959     |Miscellaneous fixes and cleanup for the rsync options handling.              |
|zmedico  |                                                                             |

|2960     |Move CacheError from the block of python imports to the block of portage     |
|marienz  |imports, fix spelling in error message.                                      |

|2961     |Do not split PORTAGE_RSYNC_EXTRA_OPTS and add it directly to rsynccommand in |
|zmedico  |order to preserve (hypothetical) quoted whitespace.                          |

|2963     |Fix sandbox feature (broken since r2947).                                    |
|zmedico  |                                                                             |

|2964     |Move has, hasq, and hasv functions to isolated-functions.sh since they do not|
|zmedico  |depend on ebuild.sh.                                                         |

|2965     |Make emerge-webrsync only do metadata-transfer when necessary. Thanks to     |
|zmedico  |Patrick Lauer for reporting.                                                 |

|2971     |Enable bash tracing during sourcing of bashrc for --debug mode. See bug      |
|zmedico  |#126442.                                                                     |

|2972     |Include the die call itself (including line number) in the printed call stack|
|zmedico  |when an ebuild dies.                                                         |

|2973     |Write a message to stderr indicating when install_qa_check fails. See bug    |
|zmedico  |#126442.                                                                     |

|2974     |When the post preinst shell tasks fail, write a message to stderr and return |
|zmedico  |it's exit status so that die calls (inside preinst_selinux_labels for        |
|         |example) can work correctly.                                                 |

|2979     |Add a portage_debug module and python-trace feature for --debug mode.        |
|zmedico  |                                                                             |

|2986     |Create tbz2 package directly in ${PKGDIR}/All to avoid need for temp file    |
|zmedico  |(inefficient) and avoid selinux label issues for bug #127374.                |

|2987     |Replacing arch specific make.conf files with patches for the fallback        |
|genone   |make.conf which should be applied in the ebuild. Add a helper script to      |
|         |update patches if the main make.conf is changed.                             |

|2989     |Fix crappy error handling for PORTAGE_WORKDIR_MODE                           |
|genone   |                                                                             |

|2990     |Add manifest2 support.                                                       |
|genone   |                                                                             |

|2992     |add missing manifest module                                                  |
|genone   |                                                                             |

|2994     |PORTAGE_WORKDIR_MODE is octal                                                |
|genone   |                                                                             |

|2995     |FileNotFoundException should be used with the filename                       |
|genone   |                                                                             |

|2996     |Make ebuild digest a bit more verbose                                        |
|genone   |                                                                             |

|2997     |Make ebuild digest reuse existing checksums                                  |
|genone   |                                                                             |

|2998     |only reuse distfile checksums if the file doesn't exist                      |
|genone   |                                                                             |

|2999     |Load virtuals on demand in order to avoid needless vdb scanning during a     |
|zmedico  |simple 'import portage'. Virtuals are loaded during import, for              |
|         |initialization of portage.settings, only when autouse is enabled (though     |
|         |autouse is disabled by default).                                             |

|3002     |Add files/ prefix for AUX files in manifest1 entries; fix digest.unused check|
|genone   |partially by checking all DIST entries against all SRC_URI entries of a      |
|         |package (instead of per ebuild checks)                                       |

|3004     |Add lazy loading of virtuals in portage.do_vartree() for backward            |
|zmedico  |compatibility.                                                               |

|3006     |Fix traceback for bug #127573. Thanks to illuminata for reporting and antarus|
|zmedico  |for the patch.                                                               |

|3011     |fix AuxfileFilter to ignore all files in svn or cvs dirs                     |
|genone   |                                                                             |

|3012     |for collision-protect also check that only versions with the same slot can   |
|genone   |overwrite each others files                                                  |

|3013     |Clean up code for creation of CCACHEDIR, CONFCACHEDIR, and DISTCC_DIR.       |
|zmedico  |Prevent excessive recursive stat calls for bug #127563.                      |

|3014     |move some elog defaults into make.globals, add new vars for mail from and    |
|genone   |subject (bug #116637), change default location for mod_save logfiles to      |
|         |PORT_LOGDIR/elog (bug #124165)                                               |

|3015     |Allow users in the portage group to fetch. Thanks to truedfx for reporting   |
|zmedico  |this regression.                                                             |

|3017     |Split out a reusable Manifest._parseDigests() method.                        |
|zmedico  |                                                                             |

|3018     |fix a typo from the last revision.                                           |
|zmedico  |                                                                             |

|3019     |Split out a reusable Manifest._createDigestLines1() method.                  |
|zmedico  |                                                                             |

|3020     |fix some nasty repoman tricks causing problems (always use absolute paths    |
|genone   |with manifest2 code)                                                         |

|3021     |Use write_atomic for updates of old style digest files.                      |
|zmedico  |                                                                             |

|3022     |Compare new digest data with old digest data and rewrite the new digest only |
|zmedico  |if they differ (forward port r2951 from manifest1 to manifest2).             |

|3024     |sort digest/Manifest files by 1) filetype (v2 only) 2) filename (v1+v2) 3)   |
|genone   |hashtype (v1 only)                                                           |

|3026     |Sort the hashes for manifest2 lines to that output is reproducible.          |
|zmedico  |                                                                             |

|3028     |- set sane perms on unpacking. If anybody hates this than they are welcome to|
|solar    |tie it into FEATURES= sfperms                                                |

|3029     |Recommend PORTAGE_RSYNC_EXTRA_OPTS instead of PORTAGE_RSYNC_OPTS             |
|genone   |                                                                             |

|3030     |Create a single colorize() function in the output module and use it to       |
|zmedico  |generate all of the existing color functions.                                |

|3033     |add missing space in quiet col output                                        |
|SpankMan |                                                                             |

|3034     |Automatically follow symlinks in the atomic_ofstream constructor. See bug    |
|zmedico  |#127897.                                                                     |

|3035     |Ignore more system libraries in python-trace mode.                           |
|zmedico  |                                                                             |

|3036     |Compare distfiles timestamps with the files in PORTAGE_ACTUAL_DISTDIR instead|
|zmedico  |of with the symlinks in DISTDIR. Thanks to Ed Catmur for this patch (bug     |
|         |#127930).                                                                    |

|3037     |Only do recursive permissions on $DISTDIR and $DISTDIR/cvs-src when the top  |
|zmedico  |level permissions do not match. Thanks to marienz for reporting.             |

|3038     |Handle distlocks subdir initialization together with $DISTDIR and            |
|zmedico  |$DISTDIR/cvs-src.                                                            |

|3039     |The return value from apply_permissions now indicates whether or not the     |
|zmedico  |permissions needed to be modified.                                           |

|3040     |Add a reusable ensure_dirs() function and use it for DISTDIR initialization. |
|zmedico  |                                                                             |

|3041     |Use ensure_dirs for CCACHE_DIR, CONFCACHE_DIR, and DISTCC_DIR.               |
|zmedico  |                                                                             |

|3042     |Fix manifest2AuxfileFilter so that it correctly filters files such as        |
|zmedico  |2.1_pre7/CVS/Entries.                                                        |

|3043     |dont run ldconfig if a package doesnt actually install any libraries         |
|SpankMan |                                                                             |

|3044     |Fix env_update so it runs ldconfig when a lib dir timestamp has changed      |
|zmedico  |unless srcroot is not None and no files were installed into libdir.          |

|3045     |need to still check makelinks                                                |
|SpankMan |                                                                             |

|3046     |Fix ROOT handling for timestamps of lib directories. Only run ldconfig when  |
|zmedico  |timestamps have changed (the makelinks flag does not force ldconfig unless   |
|         |timestamps have changed).                                                    |

|3047     |Rename local 'root' variable to parent_dir so that it's not confused with    |
|zmedico  |portage.root                                                                 |

|3048     |fix makelinks logic again                                                    |
|SpankMan |                                                                             |

|3051     |Fixing stupid exception handling                                             |
|WarnerBro|                                                                             |

|3053     |More exception fixes...                                                      |
|WarnerBro|                                                                             |

|3054     |Add a portage_exec.get_open_fds() function for bug #128284. Thanks to Brian  |
|zmedico  |Harring for this patch.                                                      |

|3055     |Make the reading of /proc//fd/ impervious to the possible addition of        |
|jstubbs  |non-numerically named entries.                                               |

|3056     |Make repoman check for USE expand descriptions in other files so USE_EXPAND  |
|WarnerBro|variables can have longer/better/faster/stronger descriptions.               |

|3057     |Take sound advice and move all the use expand files into desc/               |
|WarnerBro|                                                                             |

|3058     |Move DISTDIR initialization from doebuild to fetch and handle read-only file |
|zmedico  |system errors for bug #128506.                                               |

|3059     |Add a deprecation notice for those who are still using tokenize ( hopefully  |
|WarnerBro|no one :/ )                                                                  |

|3060     |tsk tsk, fix a missing parenthesis :)                                        |
|WarnerBro|                                                                             |

|3061     |Fix minor typo: reported by Brian Harring                                    |
|WarnerBro|                                                                             |

|3062     |Fixes for repoman thanks to exg@gentoo.org and bug #128451, Excludes Manifest|
|WarnerBro|regeneration in certain cases, adds pretend gpg outut                        |

|3063     |Fix a typo from r3058.                                                       |
|zmedico  |                                                                             |

|3064     |Remove out-dated TODO file                                                   |
|WarnerBro|                                                                             |

|3065     |s/parenreduce/paren_reduce/ comment fix.                                     |
|jstubbs  |                                                                             |

|3066     |Fix ordering in cvs calls to be correct, thanks to exg for the fix (again)   |
|WarnerBro|                                                                             |

|3067     |Fix yet another typo of mine, thanks to exg                                  |
|WarnerBro|                                                                             |

|3068     |It was pointed out that we have a Test-Manifest perl package, which would get|
|WarnerBro|sadly excluded using the old string match, so we fix it to match less ;)     |

|3069     |fix make.conf indentation per bug 127868; thanks to Paul Varner for the patch|
|blubb    |                                                                             |

|3070     |fix typo in make.conf and remove RSYNC_EXCLUDEFROM since it's deprecated; bug|
|blubb    |127614                                                                       |

|3071     |Automatically create FILESDIR if necessary when writing old style digests.   |
|zmedico  |Thanks to blubb for reporting.                                               |

|3072     |Add support for user configuration of colors in the output module for bug    |
|zmedico  |#125120. Thanks to solar for the patch that this was derived from.           |

|3073     |Don't generate digests on --pretend for repoman. Thanks go once again to     |
|WarnerBro|exg@gentoo.org :)                                                            |

|3074     |Remove the srcroot parameter from env_update because is doesn't work when    |
|zmedico  |portage.movefile merges files via os.rename. To do this properly we need to  |
|         |pass in CONTENTS instead.                                                    |

|3075     |Add color code mappings for 16 colors in rgb format.                         |
|zmedico  |                                                                             |

|3076     |Move some color mappings to ensure that they do not override the user defined|
|zmedico  |color map.                                                                   |

|3077     |Revert FEATURES=noclean behavior so that clean is only skipped after merge.  |
|zmedico  |Thanks to azarah for reporting.                                              |

|3078     |Revert r3073 since it causes a regression (digestgen needs to be run for each|
|zmedico  |value of repoman_settings["O"]). See bug #128946.                            |

|3079     |Remove really really old check during a cvs move. Fix except statement to be |
|WarnerBro|saner                                                                        |

|3080     |emerge info -> emerge --info                                                 |
|blubb    |                                                                             |

|3082     |add /usr/local/{,s}bin to PATH; bug 117713                                   |
|blubb    |                                                                             |

|3083     |set PKG_CONFIG_PATH correct on multilib systems; bug 126801                  |
|blubb    |                                                                             |

|3084     |only display syncing progress for each file when --verbose is set; thanks    |
|blubb    |Olaf Hering, bug 128362                                                      |

|3085     |Change == None to is None                                                    |
|WarnerBro|                                                                             |

|3086     |Speed up portage.config.keys()                                               |
|WarnerBro|                                                                             |

|3087     |Raise exceptions when appropriate in the atomic_ofstream constructor for bug |
|zmedico  |#129098.                                                                     |

|3088     |Optimize manifest2AuxfileFilter handling of ignored directories. Thanks to   |
|zmedico  |Brian Harring for the patch.                                                 |

|3089     |Thanks to jforman for finding this one, emerge was not helpful when          |
|WarnerBro|permissions on the world file are not so good, so in the case of permission  |
|         |denied, we reraise, essentially telling the user we can't read the world     |
|         |file. In the case of it not existing, we assume the user knows what they are |
|         |doing and we print a squelchable warning message.                            |

|3090     |Fix a regression in security handling, emerge with no options should print   |
|WarnerBro|out helpful information, not tell you you need to be root ;)                 |

|3091     |Fix this random y that was in the last commit...I blame nano :P              |
|WarnerBro|                                                                             |

|3092     |remove reference to a script that doesnt exist                               |
|SpankMan |                                                                             |

|3093     |Fix myaction logic (myaction==None is actually valid, regression from r3090).|
|zmedico  |                                                                             |

|3094     |Protect string indexes during input stripping in dep_getkey and dep_getcpv.  |
|jstubbs  |Bug #129193                                                                  |

|3095     |Fix myaction logic so that --resume works (with --pretend) for non-root      |
|zmedico  |users.                                                                       |

|3096     |Remove redundant "please tell me what to do" code, which is now handled      |
|zmedico  |earlier.                                                                     |

|3097     |Fix some minor issues with the anydbm cache module. Thanks to Halcyon for    |
|zmedico  |reporting.                                                                   |

|3098     |Add copyright headers for portage_update and portage_manifest.               |
|zmedico  |                                                                             |

|3099     |Remove pym/dcdialog.py because it's not used. Thanks to antarus for noticing.|
|zmedico  |                                                                             |

|3100     |Remove pym/portage_contents.py because it's not used. Thanks to Brian Harring|
|zmedico  |for noticing.                                                                |

|3101     |Remove bin/mirror.py because, according to Brian Harring, it's obsoleted by  |
|zmedico  |mirror-dist.                                                                 |

|3103     |Supply missing parameters to a checkFileHashes call.                         |
|zmedico  |                                                                             |

|3104     |Move mf.create out of a loop because it should only need to be called once.  |
|zmedico  |                                                                             |

|3105     |For compatibility, return a tuple of 3 when an OSError is raised in          |
|zmedico  |portage_checksum.verify_all()                                                |

|3106     |Encapsulate type guessing logic in a new Manifest method.                    |
|zmedico  |                                                                             |

|3107     |Remove dead code from portage.digestParseFile().                             |
|zmedico  |                                                                             |

|3108     |simpler dosym to make mr bones happy                                         |
|SpankMan |                                                                             |

|3109     |Remove dependency on the core portage module from portage_manifest.          |
|zmedico  |                                                                             |

|3110     |Pass DISTDIR into the Manifest constructor instead of getting it from        |
|zmedico  |mysettings because mysettings will be eliminated soon.                       |

|3111     |Remove db and mysettings from Manifest and replace them with a mapping object|
|zmedico  |that provides access to fetch lists for each cpv.                            |

|3112     |Remove unnecessary calls to dict.keys() from portage_manifest.               |
|zmedico  |                                                                             |

|3113     |Simplify the porttrees logic for FetchlistDict.                              |
|zmedico  |                                                                             |

|3114     |Add docstrings for FetchlistDict.                                            |
|zmedico  |                                                                             |

|3115     |Make repoman ignore deeply nested CVS directories and files they contain in  |
|zmedico  |order to prevent false file.name errors (files with CVS directories may      |
|         |contain commas).                                                             |

|3116     |Use os.path.join for cleaner joins.                                          |
|zmedico  |                                                                             |

|3117     |Ensure that binarytree.populate is called even when the first access is via  |
|jstubbs  |binarytree.dbapi.{aux_get,match}.                                            |

|3118     |kill off custom bash hacks and replace with calls to find/xargs #121368      |
|SpankMan |                                                                             |

|3119     |Fix FetchlistDict so usage of global portdb leaves portdb.porttrees intact.  |
|zmedico  |                                                                             |

|3120     |Fix FetchlistDict.keys() so it does the same porttrees trick as __getitem__. |
|zmedico  |                                                                             |

|3121     |Remove the "db" parameter from digestgen() because it's not needed.          |
|zmedico  |                                                                             |

|3122     |Remove the "db" parameter from digestParseFile() because it's not needed.    |
|zmedico  |                                                                             |

|3123     |Remove the "db" parameter from digestcheck() because it's not needed.        |
|zmedico  |                                                                             |

|3124     |Remove dead code from portage.digestcheck().                                 |
|zmedico  |                                                                             |

|3125     |Support EBUILD_PHASE during package and rpm phases for bug #129244.          |
|zmedico  |                                                                             |

|3126     |Support EBUILD_PHASE during more phases for bug #129244.                     |
|zmedico  |                                                                             |

|3127     |Implement lazy construction of global databases db[root]["porttree"] and     |
|zmedico  |db[root]["bintree"] and automatically populate db[root]["bintree"] on access.|

|3128     |Make qmerge imply noclean for bug #129559.                                   |
|zmedico  |                                                                             |

|3129     |Make dispatch-conf play nice with symlinks for bug #129515. Thanks to Patrick|
|zmedico  |McLean for the initial patch.                                                |

|3130     |Make etc-update play nice with symlinks for bug #129515. Thanks to Patrick   |
|zmedico  |McLean for the initial patch.                                                |

|3131     |Fix LazyDatabasesDict so that databases only need to be created once.        |
|zmedico  |                                                                             |

|3132     |Revert r3129 and r3130 because they don't solve bug #129515.                 |
|zmedico  |                                                                             |

|3133     |Create a generic portage_util.LazyItemsDict and use it for lazy              |
|zmedico  |initialization portage.db[root] items.                                       |

|3134     |Use cannonical paths for portdb.portrees to ensure that, given pkgdir,       |
|zmedico  |FetchlistDict can determine the correct path for the portage tree.           |

|3135     |Use LazyItemsDict to avoid a vdb scan during portage import when autouse is  |
|zmedico  |enabled.                                                                     |

|3136     |Fix manifest/digest generation logic for bug #129737.                        |
|zmedico  |                                                                             |

|3137     |fixes by solar for ROOT output when unmerging #129649 and make --quiet output|
|SpankMan |a bit more useful                                                            |

|3138     |don't display the ._cfg???? files anymore but instead the number of updates  |
|blubb    |for each file; bug 69845                                                     |

|3139     |ignore backup files when scanning for ._cfg????_*; bug 121401                |
|blubb    |                                                                             |

|3140     |don't declare input as integer, or etc-update will crash whenever the user   |
|blubb    |enters some non-integer value; bug 55082                                     |

|3141     |exit if user hits the cancel button in dialog mode; bug 108137               |
|blubb    |                                                                             |

|3142     |Fix digestcheck logic for bug #129839.                                       |
|zmedico  |                                                                             |

|3143     |Add an initial_items parameter to the LazyItemsDict constructor in order to  |
|zmedico  |facilitate integration with existing dict based code.                        |

|3144     |Fix collision-protect logic so the correct cpv is used for slot comparison.  |
|zmedico  |                                                                             |

|3145     |Fix a typo from the last revision.                                           |
|zmedico  |                                                                             |

|3146     |Preserve the mysettings["SLOT"] for bug #129720.                             |
|zmedico  |                                                                             |

|3147     |Run chflags only when needed for bug #129852. Thanks to Diego Pettenò for   |
|zmedico  |the patch.                                                                   |

|3148     |Catch fetch_check FileNotFound exceptions for bug #129962.                   |
|zmedico  |                                                                             |

|3149     |Add singleton support to LazyItemsDict to make it easier to use with         |
|zmedico  |arbitrary function calls.                                                    |

|3150     |Split out a reusable Manifest._readManifest() method.                        |
|zmedico  |                                                                             |

|3151     |only move $T/environment if it exists; bug 64926                             |
|blubb    |                                                                             |

|3152     |fix typo from rev 3151                                                       |
|blubb    |                                                                             |

|3153     |use has instead of bloated bash constructs                                   |
|blubb    |                                                                             |

|3154     |some more hasq fixes                                                         |
|blubb    |                                                                             |

|3155     |`` must die                                                                  |
|blubb    |                                                                             |

|3156     |remove all unneeded slashes, not only // or ///                              |
|blubb    |                                                                             |

|3157     |use strip_duplicate_slashes instead of "for 1 2 3 do var=${var/\/\///}"      |
|blubb    |                                                                             |

|3158     |touchup syntax and dont execute the loop as many times                       |
|SpankMan |                                                                             |

|3159     |Override LazyItemsDict.update() so that it works correctly with other        |
|zmedico  |instances of LazyItemsDict.                                                  |

|3160     |Make find arguments portable for bug #129935 and remove temp file usage for  |
|zmedico  |bug #121368.                                                                 |

|3161     |use a temp file but this time cut out the duplicate calls to `find`          |
|SpankMan |                                                                             |

|3162     |eat whitespace                                                               |
|SpankMan |                                                                             |

|3163     |fix misuse of 'cat'                                                          |
|blubb    |                                                                             |

|3164     |make misc-functions.sh executable as it's called directly from the python    |
|blubb    |side                                                                         |

|3165     |add instructions how to update portage when --sync tells you to do so; bug   |
|blubb    |118715                                                                       |

|3166     |sync short options with the rest of emerge --help; bug 124489                |
|blubb    |                                                                             |

|3167     |touchup emerge --help: reorder and wrap lines. credit goes to Benno          |
|blubb    |Schulenberg; bug 121528                                                      |

|3168     |Avoid rewritting the Manifest whenever possible by comparing the existing    |
|zmedico  |manifest entries to the ones that will be written.                           |

|3170     |dont dump debug update info in quiet mode                                    |
|SpankMan |                                                                             |

|3171     |Ignore ENOENT errors when $FILESDIR doesn't exist. Thanks to Christian Heim  |
|zmedico  |for reporting.                                                               |

|3172     |Implement portage.config.setdefault() in order to provide more of the        |
|zmedico  |standard mapping interface.                                                  |

|3173     |Fix gpgsign logic for bug #57445.                                            |
|zmedico  |                                                                             |

|3174     |s/GENTOO_MIRRORs/GENTOO_MIRRORS/                                             |
|zmedico  |                                                                             |

|3175     |use just [[...]] instead of ((...)); especially when dealing with user input |
|SpankMan |                                                                             |

|3176     |support *.bz #130406                                                         |
|SpankMan |                                                                             |

|3177     |Update Manifest automatically in repoman commit mode for bug #130541.        |
|zmedico  |                                                                             |

|3178     |Add and "other" EBUILD_PHASE for bug #127585. Thanks to Patrick Avery        |
|zmedico  |<pyromancer@gmail.com> for this patch.                                       |

|3179     |Fix repoman --commitmsgfile logic. Thanks to Christian Heim                  |
|zmedico  |<phreak@gentoo.org> for reporting.                                           |

|3180     |if PORTAGE_GPG_DIR is not set then default to ~/.gnupg instead of just       |
|SpankMan |dumping an error                                                             |

|3181     |Use os.path.join for PORTAGE_GPG_DIR and remove a duplicate access check.    |
|zmedico  |                                                                             |

|3182     |Implement portage.config.get() in order to provide more of the standard      |
|zmedico  |mapping interface.                                                           |

|3184     |Fix `emerge -s` download size calculation for bug #130750.                   |
|zmedico  |                                                                             |

|3185     |Fix partial download size calculation for bug #116796.                       |
|zmedico  |                                                                             |

|3186     |Exit with error status when the user has attempted to unmerge a package that |
|zmedico  |is not installed (bug #118515).                                              |

|3187     |s/Do you want me/Would you like/g for bug #112439.                           |
|zmedico  |                                                                             |

|3188     |Print the actual DISTDIR location in the help ouput of clean_locks for bug   |
|zmedico  |#116676.                                                                     |

|3189     |Disable sandbox during package phase interaction with $PKGDIR for            |
|zmedico  |compatibility with symlinks (See bug #130824).                               |

|3190     |A sed wrapper for OSX/BSD courtesy of Flameeyes and Spanky                   |
|WarnerBro|                                                                             |

|3191     |Add copyright header, thanks to Zac Medico for pointing that out for me      |
|WarnerBro|                                                                             |

|3192     |Remove bogus "size" manifest entries reported by vapier.                     |
|zmedico  |                                                                             |

|3193     |Replace hard coded "size" with MANIFEST1_HASH_FUNCTIONS.                     |
|zmedico  |                                                                             |

|3194     |Fix FileNotFound error when ignoreMissing=True for bug #130928.              |
|zmedico  |                                                                             |

|3195     |space arguments                                                              |
|SpankMan |                                                                             |

|3196     |fixup clean output                                                           |
|SpankMan |                                                                             |

|3197     |tighten up output in pretend mode                                            |
|SpankMan |                                                                             |

|3198     |set executable bit for sed-wrapper                                           |
|blubb    |                                                                             |

|3199     |Fix sed breakage for people with weird PATH, fix tabs. Thanks to Flameeyes   |
|WarnerBro|once again.                                                                  |

|3200     |Make sed wrapper not executable. Currently the wrapper is installed via doexe|
|WarnerBro|in the ebuild from and gets the +x bit set properly. I don't think we have   |
|         |any SVN users on BSD or Darwin. In the future this wrapper will get installed|
|         |automagically by the ebuild ( it being in bin ) but will only be set         |
|         |executable on non GNU platforms.                                             |

|3201     |Move portage.global_updates() invocation out of portage.py and into          |
|zmedico  |emerge/fixpackages where it belongs.                                         |

|3202     |Move endversion and endversion_keys to portage_versions and import them for  |
|zmedico  |backward compatibility.                                                      |

|3203     |Minor emerge -V/--info fixes thanks to iggy, use portage_const PROFILE_PATH  |
|WarnerBro|                                                                             |

|3204     |Move deprecated profile check out of global scope.                           |
|zmedico  |                                                                             |

|3205     |Move thirdpartymirrors stacking out of global scope.                         |
|zmedico  |                                                                             |

|3206     |Do lazy initialization of portage.db[root][porttree] and db[root][vartree]   |
|zmedico  |for quicker portage import.                                                  |

|3207     |Fix accidental usage of global settings instead of self.                     |
|zmedico  |                                                                             |

|3208     |Replace usage of global portage.settings with self.mysettings instead.       |
|zmedico  |                                                                             |

|3209     |Remove a possibly unecessary try statement that may swallow important        |
|zmedico  |exceptions.                                                                  |

|3210     |Pass a dbapi instance into doebuild_environment so that it doesn't need to   |
|zmedico  |access the global db directly.                                               |

|3211     |Replace finddigest usage with Manifest2 compatible code.                     |
|zmedico  |                                                                             |

|3212     |Use local myroot instead of portage.root global.                             |
|zmedico  |                                                                             |

|3213     |Use one aux_get call instead of 2.                                           |
|zmedico  |                                                                             |

|3214     |Use tree="vartree" for prerm, postrm, and cleanrm phases (see bug #131116).  |
|zmedico  |                                                                             |

|3215     |Make sure a usage of portage.settings is marked as global.                   |
|zmedico  |                                                                             |

|3216     |Make sure usage of portage.db and portage.mtimedb is appropriately marked as |
|zmedico  |global.                                                                      |

|3217     |For better organization, migrate the initialization of all major globals in  |
|zmedico  |portage.py to the bottom of the file.                                        |

|3218     |Add a note concerning the separation of legacy global initializations.       |
|zmedico  |                                                                             |

|3219     |Catch ValueError from cpv_expand for bug #131160.                            |
|zmedico  |                                                                             |

|3220     |Move the mtimedb initialization code from global scope to a function.        |
|zmedico  |                                                                             |

|3221     |Move ACCEPT_KEYWORDS and PORTAGE_ARCHLIST validation from global scope to the|
|zmedico  |config class.                                                                |

|3222     |Catch IOError when loading the mtimedb.                                      |
|zmedico  |                                                                             |

|3223     |Move the make.profile symlink warning from global scope to the config class. |
|zmedico  |                                                                             |

|3224     |Split a config.validate() method and move PORTAGE_TMPDIR sanity check to     |
|zmedico  |doebuild.                                                                    |

|3225     |Move USER_VIRTUALS_FILE deprecation warning to config.validate().            |
|zmedico  |                                                                             |

|3226     |enable +x bits on sed                                                        |
|SpankMan |                                                                             |

|3227     |Move cache dir initialization from global scope to the portdbapi class.      |
|zmedico  |                                                                             |

|3228     |Move initialization of tmp, var/tmp, var/lib/portage, and var/cache/edb from |
|zmedico  |global scope to portage.cofig._init_dirs().                                  |

|3229     |Move portage.root logic from global scope into the portage.config class.     |
|zmedico  |                                                                             |

|3230     |Remove all usage of portage.usedefaults and portage.profiledir globals.      |
|zmedico  |                                                                             |

|3231     |Remove all usage of the portage.groups global variable.                      |
|zmedico  |                                                                             |

|3232     |Remove all usage of the portage.archlist global variable.                    |
|zmedico  |                                                                             |

|3233     |Remove all dependence on the portage.features global variable.               |
|zmedico  |                                                                             |

|3234     |Make copies of the groups attribute before modifying (regression from r3231).|
|zmedico  |                                                                             |

|3235     |Validate the resume merge list in --ask and --pretend mode for bug #128455.  |
|zmedico  |                                                                             |

|3236     |Fix false variable.readonly match on continued lines. Thanks to Flameeyes for|
|zmedico  |reporting.                                                                   |

|3237     |Fix portdbapi.aux_get(), findname2(), and getfetchlist() so that the tree can|
|zmedico  |be overridden by the caller if necessary (ensures that metadata is pulled    |
|         |from the correct tree when generating a manifest).                           |

|3238     |Remove portage.config.groups (formerly portage.groups) and instead use       |
|zmedico  |ACCEPT_KEYWORDS directly (simplifies the code).                              |

|3239     |Remove portage.config.root (from r3229) and just use config["ROOT"] to       |
|zmedico  |eliminate redundancy.                                                        |

|3240     |Use the correct ACCEPT_KEYWORDS for each profile (regression from r3231).    |
|zmedico  |                                                                             |

|3241     |Move PORTAGE_MASTER_PID and BASH_ENV from global scope to the                |
|zmedico  |doebuild_environment() function.                                             |

|3242     |Group together and clearly mark some deprecated globals.                     |
|zmedico  |                                                                             |

|3243     |Pass a portdbapi instance into the FetchlistDict constructor so that it      |
|zmedico  |doesn't have to use any globals.                                             |

|3244     |Pass a portdbapi instance into portage.digestgen() so that it doesn't have to|
|zmedico  |use any globals.                                                             |

|3245     |Make fetchlist_dict an optional parameter in the Manifest constructor since  |
|zmedico  |it's required only for generation of a Manifest (not needed for parsing and  |
|         |checking sums).                                                              |

|3246     |Add optional mydbapi parameter to doebuild() so that it doesn't have to use  |
|zmedico  |any globals.                                                                 |

|3247     |Add an option vartree parameter to doebuild(), merge(), and the dblink       |
|zmedico  |constructor so that they don't have to use globals.                          |

|3248     |escape $ in PORTAGE_ELOG_MAILSUBJECT; bug 131373                             |
|blubb    |                                                                             |

|3249     |Pass in mydbapi and vartree where relevant for all doebuild calls in         |
|zmedico  |portage.py and add necessary support to merge() and the dblink class.        |

|3250     |Only use one global statement to avoid bogus python syntax warning.          |
|zmedico  |                                                                             |

|3251     |Make FEATURES=cvs cause all distfiles to be fetched if necessary (just like  |
|zmedico  |`ebuild digest`) and update the code for Manifest2.                          |

|3252     |Remove usage of the portage.thirdpartymirrors global variable.               |
|zmedico  |                                                                             |

|3253     |Fix portage.global_updates() and portage.do_vartree() so they don't have to  |
|zmedico  |use any globals.                                                             |

|3254     |Make portage.vardbapi able to work without any global variables.             |
|zmedico  |                                                                             |

|3255     |Disable the FEATURES=cvs part of r3251 because it prevents missing files from|
|zmedico  |bein fetched when they need to be.                                           |

|3256     |Fix a typo from r3245.                                                       |
|zmedico  |                                                                             |

|3257     |Remove global db usage from portage.config.regenerate().                     |
|zmedico  |                                                                             |

|3258     |Only trigger the 'Using system located in ROOT' message when ROOT!=/.        |
|zmedico  |                                                                             |

|3259     |Remove global db usage from portdbapi.gvisible().                            |
|zmedico  |                                                                             |

|3261     |Fix spelling of "hierarchy" for bug #131582 and raise an exception for       |
|zmedico  |cleaner error handling.                                                      |

|3262     |Fix PORTAGE_GPG_DIR handling so that ~/.gnupg/ works correctly like the      |
|zmedico  |Manifest Signing Guide says it should. Thanks to Tupone for reporting.       |

|3263     |Catch Permission Denied errors during manifest/digest generation for bug     |
|zmedico  |#131073.                                                                     |

|3264     |In the clean phase, for maximum chflags portablility, make *unlnk flags      |
|zmedico  |optional and drop the USERLAND test (bug #113536).                           |

|3265     |Enable portage.env_update() to work without globals.                         |
|zmedico  |                                                                             |

|3266     |Enable portage.dep_zapdeps() to work without globals.                        |
|zmedico  |                                                                             |

|3267     |Enable portage.pkgmerge() to work without globals.                           |
|zmedico  |                                                                             |

|3268     |Enable portage.commit_mtimedb() to work without globals.                     |
|zmedico  |                                                                             |

|3269     |Return early from portage.commit_mtimedb() when mtimedb is None.             |
|zmedico  |                                                                             |

|3270     |Pass mtimes through doebuild(), into dblink.merge(), and finally to          |
|zmedico  |env_update().                                                                |

|3271     |Move the legacy global initializations into a function and allow them to be  |
|zmedico  |disabled via an experimental PORTAGE_LEGACY_GLOBALS environment variable.    |

|3272     |Prevent a NameError in commit_mtimedb() when the portage.mtimedb attribute   |
|zmedico  |does not exist.                                                              |

|3273     |Add a portage.config.selinux_enabled() accessor and use it to remove all     |
|zmedico  |global usage of portage.selinux_enabled.                                     |

|3274     |Remove all usage of the portage.root global from portage.py.                 |
|zmedico  |                                                                             |

|3275     |Remove 4 year old cvs sync code, fix login around spawn, fix random raise    |
|WarnerBro|                                                                             |

|3279     |Print [ OK ] messages (like eend) when checksums are good. Thanks to fox2mike|
|zmedico  |for suggesting this.                                                         |

|3280     |Add PORTAGE_BIN_PATH and PORTAGE_PYM_PATH to the enviroment and use them to  |
|zmedico  |replace hard coded paths in ebuild.sh and misc-functions.sh.                 |

|3281     |retain important historical aspects of the checksum messages                 |
|SpankMan |                                                                             |

|3282     |Print disfiles file names for bug #131774. I've removed the [ OK ] from      |
|zmedico  |okaymsg because the wink makes it redundant.                                 |

|3283     |Update portage config update messages to mention dispatch-conf (in addition  |
|zmedico  |to etc-update). Thanks to genstef for reporting this.                        |

|3284     |Avoid global db usage in doebuild() except when absolutely necessary.        |
|zmedico  |                                                                             |

|3285     |Handle the doebuild's unmerge phase before setting up logfile because unmerge|
|zmedico  |doesn't use the log.                                                         |

|3286     |Pass a vartree instance into portage.unmerge() to avoid globals.             |
|zmedico  |                                                                             |

|3288     |- be sure to remove o+w bits on debug files                                  |
|solar    |                                                                             |

|3289     |- People have started RESTRICTing "stricter", which we would like to         |
|solar    |discourage. bug 131779 (kevquinn)                                            |

|3290     |Add cfg-update to the list of happy config file managers.                    |
|WarnerBro|                                                                             |

|3291     |Initial PORTAGE_CONFIGROOT support in the portage.config class for bug       |
|zmedico  |#73350.                                                                      |

|3292     |Make sure that emerge really removes noauto from FEATURES for bug #131820.   |
|zmedico  |                                                                             |

|3293     |Don't skip regenerate() because leads to 'Problem resolving dependencies'    |
|zmedico  |from emerge. Thanks to swegener for reporting.                               |

|3294     |allow escaping in elog_base() to fix bug 131913                              |
|blubb    |                                                                             |

|3295     |revert my last commit except for the parts i really wanted to commit         |
|blubb    |                                                                             |

|3296     |make portage shut up if --quiet is given; bug 62273                          |
|blubb    |                                                                             |

|3297     |replace hardcoded /usr/lib/portage/bin with PORTAGE_BIN_PATH, defaulting to  |
|blubb    |the hardcoded value                                                          |

|3298     |Remove sqlite.py because it's performance is unacceptable and it is therefore|
|zmedico  |useless.                                                                     |

|3299     |Add a new sqlite cache module (one I wrote) that has acceptable performance. |
|zmedico  |                                                                             |

|3300     |don't let profile.env overwrite variables that are already set; bug 130229   |
|blubb    |                                                                             |

|3301     |Remove an extra aux_get call in doebuild and combine it with another aux_get |
|zmedico  |call in doebuild_environment.                                                |

|3302     |Properly join CUSTOM_MIRRORS_FILE with PORTAGE_CONFIG_ROOT in                |
|zmedico  |portage.fetch().                                                             |

|3303     |fix a typo from the last revision                                            |
|zmedico  |                                                                             |

|3304     |Migrate old digest-* code in portage.fetch() to be Manifest2 compatible.     |
|zmedico  |                                                                             |

|3305     |revert rev 3300 as it has various issues and doesn't fully solve the problem |
|blubb    |                                                                             |

|3306     |use escaping code that works for mrxvt too; thanks to nelchael for the patch;|
|blubb    |bug 117509                                                                   |

|3307     |let 'emerge -h world' print a nice help message powered by antarus; bug 67448|
|blubb    |                                                                             |

|3308     |use hasq where appropriate                                                   |
|blubb    |                                                                             |

|3309     |catch ENOENT and ENOTDIR in clean_locks to prevent ugly tracebacks; bug      |
|blubb    |124164                                                                       |

|3310     |best_version doesn't return different codes depending on whether it found a  |
|blubb    |match or not, it's has_version; bug 130655                                   |

|3311     |remove pointless if statement                                                |
|blubb    |                                                                             |

|3312     |readd not-so pointless if statement                                          |
|blubb    |                                                                             |

|3313     |Catch an uncaught CacheCorruption for the traceback from bug #126692.        |
|zmedico  |                                                                             |

|3316     |Improve the error message when an eclass is not found and remove unnecesary  |
|zmedico  |ERRORMSG variable.                                                           |

|3317     |Bring back FEATURES="assume-digests" for bug #132182.                        |
|zmedico  |                                                                             |

|3318     |Make sure that cloned FEATURES are correctly preserved by getting them       |
|zmedico  |directly from the backupenv instead of going through the lookuplist (Bug     |
|         |#132196).                                                                    |

|3319     |Fix some small typos in ebuild.sh for bug #86151. Thanks to Yoshino for this |
|zmedico  |patch.                                                                       |

|3320     |Reimplement the fix for bug #79566 more cleanly (the -* hack seems quite     |
|zmedico  |non-intuitive).                                                              |

|3321     |Catch a KeyError and notify the user of a missing digest for bug #132373.    |
|zmedico  |                                                                             |

|3322     |Obey self.incrementals in config.regenerate() instead of using               |
|zmedico  |portage_const.INCREMENTALS directly.                                         |

|3323     |Remove the uppercase requirement on flat_hash metadata keys so that          |
|zmedico  |_eclasses_ will work. This is equivalent to the patch by Brian Harring that  |
|         |went into 2.0.54-r2 for forward compatibility with planned changes in the    |
|         |rsync metadata cache.                                                        |

|3324     |Catch a KeyError and report a missing digest for bug #132410.                |
|zmedico  |                                                                             |

|3325     |make rsync variable messages a bit less inviting                             |
|genone   |                                                                             |

|3326     |Fix portage.config handling of ROOT and PORTAGE_CONFIGROOT for bug #132442.  |
|zmedico  |                                                                             |

|3327     |Replace inappropriate use of writelines with normal write.                   |
|zmedico  |                                                                             |

|3328     |Properly encode metadata strings as utf-8 in order to avoid                  |
|zmedico  |"UnicodeEncodeError: 'ascii' codec can't encode character" exception when    |
|         |given a unicode string.                                                      |

|3329     |Fix a potential NameError due to 'cpv' being undefined in the namespace and  |
|zmedico  |also fix a potential AttributeError due to an attempt to call                |
|         |reconstruct_eclasses() on a dict object that has already been reconstructed  |
|         |in flat_hash.database._parse_data().                                         |

|3330     |Move the fake $HOME that's used for ebuilds from                             |
|zmedico  |$PORTAGE_TMPDIR/portage/homedir to $PORTAGE_BUILDDIR/homedir so that each    |
|         |build has a unique $HOME for bug #130395.                                    |

|3331     |Catch FileNotFound exception and print a message when a file listed in the   |
|zmedico  |Manifest could not be found.                                                 |

|3332     |Prevent a TypeError exception when the /etc/make.profile symlink is broken on|
|zmedico  |nonexistent.                                                                 |

|3333     |Give a less confusing error message when unpack() arguments begin with       |
|zmedico  |${DISTDIR}. Thanks to Flameeyes for reporting.                               |

|3334     |Use os.path.realpath instead of portage.abssymlink to resolve                |
|zmedico  |/etc/make.profile because abssymlink throws an OSError: [Errno 22] Invalid   |
|         |argument exception when repoman passes in an absolute profile path that isn't|
|         |a symlink.                                                                   |

|3335     |slightly easier test to read for DISTDR/unpack check                         |
|SpankMan |                                                                             |

|3336     |Only adjust priority for PORTAGE_NICENESS on the first run for bug #132739.  |
|zmedico  |                                                                             |

|3337     |remove unused STICKIES variable                                              |
|SpankMan |                                                                             |

|3338     |Neglect EOFError during mtimedb loading since this error seems to be common  |
|zmedico  |when the mtimedb has been corrupted.                                         |

|3339     |Fix bug 113055, Binpkg's need SLOT in mysettings                             |
|WarnerBro|                                                                             |

|3340     |Minor 1 liner for bug 131657                                                 |
|WarnerBro|                                                                             |

|3341     |Revert r3339 because r3301 makes it unnecessary. See bug #133055.            |
|zmedico  |                                                                             |

|3342     |Add some documentation for /etc/portage/modules and metadata_overlay.        |
|zmedico  |                                                                             |

|3343     |Make /etc/portage/bashrc relative to PORTAGE_CONFIGROOT.                     |
|zmedico  |                                                                             |

|3345     |s/DEPEND atoms/package atoms/ for better wording                             |
|zmedico  |                                                                             |

|3346     |Allow `emerge --metadata` and `emerge --regen` for users in the portage      |
|zmedico  |group(bug #133157).                                                          |

|3347     |Make portdbapi obey self.depcachedir instead of using                        |
|zmedico  |portage_const.DEPCACHE_PATH directly.                                        |

|3348     |Make portdbapi._init_cache_dirs() obey self.depcachedir.                     |
|zmedico  |                                                                             |

|3349     |Write raw bytes instead of attempting to encode as utf-8 for bug #133287.    |
|zmedico  |                                                                             |

|3350     |Use iteritems() instead of items() because an iterator uses less memory.     |
|zmedico  |                                                                             |

|3351     |you have to quote $@ or things can break                                     |
|SpankMan |                                                                             |

|3352     |strip leading slash in output                                                |
|SpankMan |                                                                             |

|3353     |Wheel != secpass=1, so kill it. Wheel grants you nothing wrt portage perms.  |
|WarnerBro|                                                                             |

|3354     |Ensure a sane global umask for bug #133307 (regression from r3228).          |
|zmedico  |                                                                             |

|3355     |Remove unnecessary and time consuming normpath call for bug #90444.          |
|zmedico  |                                                                             |

|3356     |Ensure that ${ROOT} is normalized for bug #90444.                            |
|zmedico  |                                                                             |

|3357     |Revert the performance optimization from r3355 in favor of maximum           |
|zmedico  |robustness.                                                                  |

|3358     |Add back the rstrip(os.path.sep) which is needed in the case where ROOT=/    |
|zmedico  |(regression from r3356).                                                     |

|3359     |Fix a typo from r3357.                                                       |
|zmedico  |                                                                             |

|3360     |Fix for bug 133363, thanks to <world.root@gmail.com> for reporting.          |
|WarnerBro|                                                                             |

|3361     |Add some PORTAGE_CONFIGROOT documentation for bug #131925. Thanks to         |
|zmedico  |Christian Heim for this patch.                                               |

|3362     |Add + to the --changelog regex so that dvd+rw-tools works for bug #133288.   |
|zmedico  |                                                                             |

|3364     |Add a warning message for AUTOCLEAN="no". Thanks to jakub for reporting.     |
|zmedico  |                                                                             |

|3365     |Fix portage.getmaskingreason() so that it properly stacks all available      |
|zmedico  |package.mask files for bug #104000.                                          |

|3366     |Print a warning message when AUTOCLEAN is disabled because it's quite        |
|zmedico  |dangerous.                                                                   |

|3367     |s/mtarget/mtune/g for bug #133528.                                           |
|zmedico  |                                                                             |

|3368     |Fix repoman to grab categores, arch.list, and package.mask from the proper   |
|zmedico  |locations when scanning an overlay. Thanks to mcummings for reporting.       |

|3369     |When portage is upgraded, only restart emerge when destroot="/". Also, clean |
|zmedico  |up and fix the related logic in depgraph.display().                          |

|3370     |Correctly autoclean build time dependencies that have been upgraded in / when|
|zmedico  |ROOT!=/ for bug #133606. This patch duplicates code from emerge's unmerge()  |
|         |function in order to touch as little existing code as possible.              |

|3371     |Catch PackageNotFound exceptions from unmerge() for bug #133606.             |
|zmedico  |                                                                             |

|3372     |Revert r3371 because it doesn't fix the real problem and get ROOT directly   |
|zmedico  |from portage.settings["ROOT"] since self.pkgsettings["ROOT"] does not have   |
|         |the desired value.                                                           |

|3373     |Fix prepstrip split-debug paths for bug #133628. Thanks to kevquinn for this |
|zmedico  |patch.                                                                       |

|3376     |Catch a ValueError thrown from cpv_expand and use it print an error message  |
|zmedico  |(to stderr) which includes a list of packages for bug #133731. No changes to |
|         |quickpkg are necessary because it doesn't get anything from portageq on      |
|         |stdout in this case and it simply assumes there is no match.                 |

|3377     |Add --nocolor to emerge's short help for bug #133734. Thanks to              |
|zmedico  |gabebw@gmail.com for this patch.                                             |

|3378     |In order to help protect users, make AUTOCLEAN case insensitive.             |
|zmedico  |                                                                             |

|3382     |Validate the CATEGORY data in portage.config.load_infodir() and print a      |
|zmedico  |warning message if corruption is detected.                                   |

|3383     |Don't include a redundant size field with the other hashes when creating     |
|zmedico  |manifest2 entries. Thanks to solar for reporting.                            |

|3384     |Document userfetch for bug #133975.                                          |
|zmedico  |                                                                             |

|3385     |Fix bad spelling of "privileges" in userpriv docs.                           |
|zmedico  |                                                                             |

|3387     |Fix userfetch so that it works regardless of whether or not userpriv is      |
|zmedico  |enabled for bug #133995. I've used portage_exec.spawn_bash() here because    |
|         |portage.spawn() should really only be used for actual ebuild phases in       |
|         |doebuild() and spawnebuild().                                                |

|3389     |Don't warn about RESTRICT=test unless FEATURES=test is enabled for bug       |
|zmedico  |#134004.                                                                     |

|3390     |Fix a bug that causes hashes of random types (mostly SHA1, from my           |
|zmedico  |experience) to be erroneously discarded due to dictionary assignment instead |
|         |up update.                                                                   |

|3392     |Document userfetch for bug #133975. Thanks to RiverRat for this patch.       |
|zmedico  |                                                                             |

|3399     |Prevent a KeyError from occurring when USE_EXPAND_HIDDEN is used for bug     |
|zmedico  |#134086.                                                                     |

|3400     |Add some documentation for USE_EXPAND_HIDDEN.                                |
|zmedico  |                                                                             |

|3401     |Add ELIBC and USERLAND to USE_EXPAND_HIDDEN in make.globals since the user   |
|zmedico  |can't change those flags easily.                                             |

|3403     |Fix prepstrip to work with restrict, thanks to flameeyes and bug 134135      |
|WarnerBro|                                                                             |

|3404     |Add kernel to the default USE_EXPAND_HIDDEN. Thanks to Flameeyes for         |
|zmedico  |reporting.                                                                   |

|3405     |Fix repoman so that it works when the portage tree structure contains        |
|zmedico  |symlinks for bug #109961.                                                    |

|3408     |When /usr/lib/distcc/bin does not exist, only add a maximum of one distcc to |
|zmedico  |CC and CXX for bug #84150.                                                   |

|3409     |- final commit hopefully for QA_TEXTRELS etc.                                |
|solar    |                                                                             |

|3410     |- More updates from Kevin Q bug 131779 ; document the stricter feature along |
|solar    |with the QA_* handling                                                       |

|3411     |Add some documentation for RESTRICT="binchecks" (bug #133804).               |
|zmedico  |                                                                             |

|3412     |set a timeout on wget to 60 seconds to fix bug 101196; the old timeout was 15|
|WarnerBro|minutes :/                                                                   |

|3413     |update the wget examples in make.conf                                        |
|WarnerBro|                                                                             |

|3414     |Fix CATEGORY spelling for bug #134362.                                       |
|zmedico  |                                                                             |

|3415     |Reset DISTDIR to it's original value before returning from doebuild() in     |
|zmedico  |order to prevent unexpected values for DISTDIR later on.                     |

|3416     |If necessary, apply appropriate permissions to previously fetched files for  |
|zmedico  |bug #112612.                                                                 |

|3417     |Fix the last revision so it also works for files copied from local fsmirrors.|
|zmedico  |                                                                             |

|3418     |Add some additional error handling for OperationNotPermitted and             |
|zmedico  |ReadOnlyFileSystem exceptions (bug #112612).                                 |

|3419     |For portability, use cpio instead of `cp --parents` for bug #124638.         |
|zmedico  |                                                                             |

|3420     |For availability in all stages, use rsync instead of cpio for bug #124638.   |
|zmedico  |                                                                             |

|3421     |Only print a warning if absolutely necessary when adjusting distfiles        |
|zmedico  |permissions for bug #112612.                                                 |

|3422     |Make sure that fetch errors are reported even when --quiet is being used.    |
|zmedico  |                                                                             |

|3423     |Add noiselevel=-1 to writemsg calls for legitimate errors in doebuild so that|
|zmedico  |important errors are printed even when --quiet is used.                      |

|3424     |Add noiselevel=-1 to writemsg calls for legitimate errors in                 |
|zmedico  |portage.digestcheck() so that important errors are printed even when --quiet |
|         |is used.                                                                     |

|3425     |Add noiselevel=-1 to writemsg calls for legitimate errors in merge and       |
|zmedico  |unmerge phases so that important errors are printed even when --quiet is     |
|         |used.                                                                        |

|3426     |Fix emerge's userquery() so that it rejects empty responses when the enter   |
|zmedico  |key is pressed for bug #134466.                                              |

|3427     |Add noiselevel=-1 to writemsg calls for fatal emerge errors so that important|
|zmedico  |errors are printed even when --quiet is used.                                |

|3428     |Add noiselevel=-1 to writemsg calls in portage.py for errors that shouldn't  |
|zmedico  |happen so that messages are printed even when --quiet is used.               |

|3429     |Add noiselevel=-1 to writemsg calls in portage_util.py for errors that       |
|zmedico  |shouldn't happen so that messages are printed even when --quiet is used.     |

|3430     |Remove dependence on a patched version of libselinux for bug #122517.        |
|zmedico  |                                                                             |

|3433     |Ignore ENOENT errors that are expected to occur in portage.fetch().          |
|zmedico  |                                                                             |

|3434     |Update FEATURES docs for 'assume-digests' and 'digest'. Thanks to robbat2 for|
|zmedico  |reporting.                                                                   |

|3436     |Update the default USE_ORDER setting in the man page. Thanks to jakub for    |
|zmedico  |reporting.                                                                   |

|3437     |Revert patch for r3426 for bug 134466 and add warnings to docs.              |
|zmedico  |                                                                             |

|3438     |Use the well know selinux_aux functions for bug #134743.                     |
|zmedico  |                                                                             |

|3439     |everybody hates repoman failing on modular X, so make it a warning           |
|blubb    |                                                                             |

|3440     |Fix prepstrip so that it properly distiguishes between stripped and          |
|zmedico  |unstripped binaries for bug #133420. Thanks to robbat2 for this patch.       |

|3441     |Add some helpful troubleshooting tips to the depclean warning message.       |
|zmedico  |                                                                             |

|3442     |Use python to lookup the user and group corresponding to PORTAGE_INST_UID and|
|zmedico  |PORTAGE_INST_GID since tarsync doesn't support numeric arguments for the user|
|         |and group. See bug #134885.                                                  |

|3443     |Fix quoting for bug 109739                                                   |
|WarnerBro|                                                                             |

|3444     |Document RESTRICT="confcache" and add a reference econf in the               |
|zmedico  |FEATURES="confcache" docs.                                                   |

|3445     |Fix --buildpkgonly so that the "clean" phase is run afterwards. In other     |
|zmedico  |cases, "clean" is triggered automatically after the package is merged.       |

|3446     |Wrap at 80 columns for bug #135132.                                          |
|zmedico  |                                                                             |

|3447     |Fix unpack so that it works with 7z archives for bug #135134. Thanks to Paul |
|zmedico  |Bredbury <brebs@sent.com> for the initial patch.                             |

|3448     |Update make.conf.example for x86-fbsd with patch from Flameeyes for bug      |
|zmedico  |#135241.                                                                     |

|3449     |In portageq, catch a KeyError and print a message to stderr. If the KeyError |
|zmedico  |is raised, portageq prints a help message which leads to bug #135278.        |

|3450     |Fix emerge's overlay display so that it works properly with overlay paths    |
|zmedico  |that contain symlinks. This is necessary due to pordbapi's internal use of   |
|         |cannonical paths. Thanks to kevquinn for reporting.                          |

|3451     |Restore the old behavior of performing global updates when portage is        |
|zmedico  |reloaded after `emerge --sync` for bug #135446.                              |

|3452     |Escape the shell parameter expansions in the PORTAGE_ELOG_COMMAND example for|
|zmedico  |bug #135429.                                                                 |

|3453     |Revert lazy loading of autouse because it is both broken and useless.        |
|zmedico  |                                                                             |

|3454     |Raise a ParseError if the profile has a parent file containing anything other|
|zmedico  |than 1 parent.                                                               |

|3455     |Raise a ParseError if the profile has a parent file containing a nonexistant |
|zmedico  |parent.                                                                      |

|3456     |When generating digests, print a digest.assumed QA warning if necessary in   |
|zmedico  |order to prevent confusion. Thanks to jakub for suggesting this.             |

|3457     |Add live VCS check to repoman, fix misspelling                               |
|WarnerBro|                                                                             |

|3458     |add LIVEVCS.stable to man repoman                                            |
|WarnerBro|                                                                             |

|3459     |Fix getgccversion() logic for bug #108393. Thanks to eradicator for          |
|zmedico  |suggesting this logic.                                                       |

|3460     |Add python 2.3 compatibility code for the set builtin.                       |
|zmedico  |                                                                             |

|3461     |Put LIVEVCS.stable in qawarnings for now since it's new and hasn't been      |
|zmedico  |thoroughly discussed.                                                        |

|3462     |Store the original suid bits when suidctl is enabled for bug #135639. Thanks |
|zmedico  |to splite-gentoo@sigint.cs.purdue.edu for this patch.                        |

|3463     |Fix getgccversion() logic so that it works properly with eselect compiler for|
|zmedico  |bug #108393. Thanks to eradicator for help with this patch.                  |

|3464     |Make sure that each new build attempt gets it's own unique log file for bug  |
|zmedico  |#135856.                                                                     |

|3465     |Also bump the counter for the "merge" phase since it calls spawnebuild (bug  |
|zmedico  |#135856).                                                                    |

|3466     |If lchown is unavailable for some unexpected reason, make all lchown calls   |
|zmedico  |print a warning message (bug #135398).                                       |

|3467     |Call the bogus lchown() once so that the warning is seen asap.               |
|zmedico  |                                                                             |

|3468     |support for FEATURES=debug-build                                             |
|SpankMan |                                                                             |

|3469     |Revert r3468 because this type of functionality belongs in profile.bashrc or |
|zmedico  |an eclass.                                                                   |

|3470     |Move hard coding of /etc/env.d in CONFIG_PROTECT_MASK from                   |
|zmedico  |portage.config.__getitem__() to make.globals. Thanks to pauldv for reporting.|

|3471     |Delete incomplete resume data before exiting due to blockers. This prevents a|
|zmedico  |'mergelist' KeyError from occurring if the user attempts to run `emerge      |
|         |--resume` immediately afterwards. Thanks to axxo for reporting.              |

|3472     |Add some documentation for /etc/make.profile/profile.bashrc.                 |
|zmedico  |                                                                             |

|3473     |When an ebuild from overlay fails, display a message indicating which overlay|
|zmedico  |it came from (bug #136031). Thanks to genstef for the initial patch.         |

|3474     |Break out of the loop asap.                                                  |
|zmedico  |                                                                             |

|3475     |Use ${BASH_SOURCE[0]} instead of $_ because the former is more dependable for|
|zmedico  |preventing endless exec loops (see bug #135470). Testing shows that this     |
|         |corrects the problem for the libtool ebuild when sed is used to generate     |
|         |ltmain.shT.                                                                  |

|3476     |I meant to ignore an IndexError here, in case mysettings["PORTDIR_OVERLAY"]  |
|zmedico  |becomes corrupted and the split has an unexpected number of elements for some|
|         |reason.                                                                      |

|3481     |- Bug 136236 misc-functions.sh fails to always honor RESTRICT=stricter -     |
|solar    |Donnie Berkholz spyderous@gentoo.org                                         |

|3482     |Do not unmerge fifo files because, since their mtime is not stored in        |
|zmedico  |CONTENTS, we can't be sure if they belong to another package unless we search|
|         |through all CONTENTS for all installed packages. See bug #136199.            |

|3483     |make elog mail module always set the 'From' header for rfc2822 compliance    |
|genone   |                                                                             |

|3484     |refactor elog mail stuff so it's reusable by other tools (like glsa-check)   |
|genone   |                                                                             |

|3485     |add code to allow sendmail binaries to be used instead of a smtp connection  |
|genone   |for sending mails                                                            |

|3486     |override sender on sendmail invocation                                       |
|genone   |                                                                             |

|3487     |Fix LIVEVCS.stable for -* keywords                                           |
|WarnerBro|                                                                             |

|3488     |Remove QA warning when files are installed with portage uid/gid for bug      |
|zmedico  |#136313.                                                                     |

|3493     |Wrap more exceptions when applying permissions. Thanks to marienz for        |
|zmedico  |reporting.                                                                   |

|3494     |Wrap more exceptions in ensure_dirs().                                       |
|zmedico  |                                                                             |

|3495     |Stack package.mask files in a more logical order as specified in bug #133740.|
|zmedico  |                                                                             |

|3496     |Replace --include-masked with an inverse --ignore-masked option for bug      |
|zmedico  |#85576.                                                                      |

|3497     |add date header for rfc2822 compliance                                       |
|genone   |                                                                             |

|3498     |removing windows-like senseless confirmation requests                        |
|blubb    |                                                                             |

|3499     |Remove pointless closing of stdin that is done prior to metadata transfer    |
|zmedico  |(See bug #136404).                                                           |

|3500     |For more simplicity, use os.rename instead of spawning MOVE_BINARY (see bug  |
|zmedico  |#136404).                                                                    |

|3501     |Prevent extra newlines in elog for einfo invocations. See bug #136208.       |
|zmedico  |                                                                             |

|3502     |Toggle the setgid bit on $PORT_LOGDIR\elog\ for bug #136278.                 |
|zmedico  |                                                                             |

|3503     |Fix a typo from the last revision (octal literals begin with 0).             |
|zmedico  |                                                                             |

|3504     |s/i686-unknown/i686-gentoo/ for bug #136532.                                 |
|zmedico  |                                                                             |

|3505     |Fix signal handling for bug #96331. Thanks to S. Caglar Onur                 |
|zmedico  |<caglar@pardus.org.tr> for this patch.                                       |

|3506     |Fix generation of ebuild log file names for bug #136285.                     |
|zmedico  |                                                                             |

|3507     |fix path to ebuild for dsd, bug # 135705                                     |
|WarnerBro|                                                                             |

|3508     |Source /etc/portage/bashrc after the profile.bashrcs, since user env should  |
|zmedico  |be over to override the profile env.                                         |

|3509     |Give a useful error message when a dependency has an ambiguous atom due to   |
|zmedico  |the category being unspecified. See bug #123677.                             |

|3510     |Add autouse removal to RELEASE-NOTES                                         |
|WarnerBro|                                                                             |

|3511     |idiot, use.defaults, not make.defaults                                       |
|WarnerBro|                                                                             |

|3512     |more fixes to make it sound like I didn't write it at 8:41am                 |
|WarnerBro|                                                                             |

|3513     |When --debug is enabled, do not raise a ValueError for unresolved            |
|zmedico  |dependencies. See bug #126793.                                               |

|3514     |Only attempt to unmerge the already-installed instance if it actually exists.|
|zmedico  |This patch prevents self.settings.configdict["pkg"] from getting nuked by a  |
|         |call to load_infodir on a nonexistent directory. By preserving               |
|         |configdict["pkg"] here, the CATEGORY is available for the next doebuild call |
|         |(needed to create log names correctly).                                      |

|3515     |Fix checksum error messages for bug #136947. Thanks to truedfx for this      |
|zmedico  |patch.                                                                       |

|3516     |Import missing PermissionDenied class. Thanks to marienz for reporting (and  |
|zmedico  |suggesting pyflakes).                                                        |

|3517     |Force digest generation when assume-digests is enabled but the file size does|
|zmedico  |not match. See bug #137032.                                                  |

|3518     |Benno Schulenberg writes in #136818: changes the wording of the "set"        |
|SpankMan |parameter to be similar to its neighbours.                                   |

|3519     |line wrap to 80 cols                                                         |
|SpankMan |                                                                             |

|3520     |Benno Schulenberg writes in #136818: put the --config action in its          |
|SpankMan |alphabetical place while adjusting the words and spaces a little.            |

|3521     |Benno Schulenberg writes in #136818: make the style of the --pretend letter  |
|SpankMan |descriptions uniform                                                         |

|3522     |Benno Schulenberg writes in #136818: tweak the description of --info         |
|SpankMan |                                                                             |

|3523     |Benno Schulenberg writes in #136818: tweak --nocolor description             |
|SpankMan |                                                                             |

|3524     |Make sure that doebuild gets the correct CATEGORY. See bug #137105.          |
|zmedico  |                                                                             |

|3525     |Log parallel-fetch output to /var/log/emerge-fetch.log just in case it's     |
|zmedico  |needed. See bug #137105.                                                     |

|3526     |Overwrite the existing fetch log so that it only contains the most recent    |
|zmedico  |fetch.                                                                       |

|3527     |Prevent repoman frm using /etc/portage/package.mask. This is a regression in |
|zmedico  |2.1.1_pre1 from svn r3495. See bug #133740. Thanks to sekretarz for reporting|
|         |this issue.                                                                  |

|3528     |get rid of quotes in output                                                  |
|SpankMan |                                                                             |

|3530     |fix typo                                                                     |
|genone   |                                                                             |

|3531     |Add missing sys import found by pyflakes.                                    |
|zmedico  |                                                                             |

|3532     |Put bright colors before dark colors for bug #137206. Thanks to Benno        |
|zmedico  |Schulenberg <benno@nietvergeten.nl> for this patch.                          |

|3533     |goodbye tokenize                                                             |
|WarnerBro|                                                                             |

|3534     |- do not complain about redundant use of pretend and verbose flags           |
|solar    |                                                                             |

|3537     |Save timestamp.chk even when metadata-transfer is disabled for bug #137177.  |
|zmedico  |                                                                             |

|3539     |make sure that elog entries are also processed in *rm phases and that they   |
|genone   |are only processed once                                                      |

|3540     |To prevent infinite recursion when a lock file has more than 1 hardlink, test|
|zmedico  |for exactly 0 hardlinks before recursing.                                    |

|3543     |Use wantnewlockfile=1 on /var/lib/portage/config for bug #137269. r3540 is   |
|zmedico  |also related.                                                                |

|3544     |Fix it so that values are properly saved in the writable layer. Previously   |
|zmedico  |they've been discarded, leading to regen on each access (only in cases where |
|         |the user has altered an ebuild in the $PORTDIR).                             |

|3545     |Implement get() as part of the standard mapping interface.                   |
|zmedico  |                                                                             |

|3546     |Use get() to simplify setitem logic as suggested by Brian Harring.           |
|zmedico  |                                                                             |

|3547     |Make it easy to pass alternative cache implementations into the constructor  |
|zmedico  |as suggested by Brian Harring.                                               |

|3548     |By popular demand (including releng), revert the unmerge behavior change from|
|zmedico  |bug #118515 (r3186).                                                         |

|3586     |Make sure that PORT_LOGDIR is properly unset when it is unusable. Thanks to  |
|zmedico  |solar for reporting issues with logs landing in $PWD.                        |

|3587     |Don't bother to warn when PORT_LOGDIR="".                                    |
|zmedico  |                                                                             |

|3588     |Remove redundant PORT_LOGDIR validation from the config constructor.         |
|zmedico  |                                                                             |

|3589     |Prevent and exception when PORT_LOGDIR is an empty string.                   |
|zmedico  |                                                                             |

|3590     |Simplify PORT_LOGDIR intitialization.                                        |
|zmedico  |                                                                             |

|3591     |Encapsulate emerge's spinner into an object.                                 |
|zmedico  |                                                                             |

|3592     |Remove all global variables from emerge's search class.                      |
|zmedico  |                                                                             |

|3593     |Remove unused "olddbapi" variable.                                           |
|zmedico  |                                                                             |

|3594     |Remove most direct references to global variables from emerge's depgraph     |
|zmedico  |class.                                                                       |

|3595     |Move the --sync and --metadata code from global scope to a function.         |
|zmedico  |                                                                             |

|3596     |Move the --regen code from global scope to a function.                       |
|zmedico  |                                                                             |

|3597     |Move the --config code from global scope to a function.                      |
|zmedico  |                                                                             |

|3598     |Fix a collision with a previous variable named "p".                          |
|zmedico  |                                                                             |

|3599     |Move the --info code from global scope to a function.                        |
|zmedico  |                                                                             |

|3600     |Move the --search code from global scope to a function.                      |
|zmedico  |                                                                             |

|3601     |Move the --depclean code from global scope to a function.                    |
|zmedico  |                                                                             |

|3602     |Fix missing global "syslist" from r3594.                                     |
|zmedico  |                                                                             |

|3603     |Move emerge's default action code from global scope to a function.           |
|zmedico  |                                                                             |

|3604     |Fix a broken reference to syslist and remove two extras.                     |
|zmedico  |                                                                             |

|3605     |mention the use of @ in -s; bug 137565                                       |
|blubb    |                                                                             |

|3606     |Don't register signal handlers during module import because it may override  |
|zmedico  |signal hadlers that were registered by the calling code.                     |

|3607     |As suggested by exg, include the einfon code inside einfo instead of using   |
|zmedico  |the FUNCNAME hack (FUNCNAME only works with >=bash-3.0).                     |

|3608     |Move the creation of depgraph params from global scope to a function.        |
|zmedico  |                                                                             |

|3609     |Simplify permission logic for emerge.log.                                    |
|zmedico  |                                                                             |

|3610     |Use portage_exec.find_binary since "which" always returns 0 status on darwin.|
|zmedico  |Thanks to exg for reporting.                                                 |

|3611     |ignore .files in /etc/portage recursion                                      |
|WarnerBro|                                                                             |

|3612     |Fix a typo from r3611 (file != files).                                       |
|zmedico  |                                                                             |

|3613     |Test the basename for starting with "." instead of the full path.            |
|zmedico  |                                                                             |

|3614     |Prevent an inappropriate warning when a repoman user's profile does not      |
|zmedico  |support sandbox. Thanks to exg for reporting.                                |

|3615     |Remove unused "merged" variable.                                             |
|zmedico  |                                                                             |

|3616     |Document "deep" and remove unused "params" variable.                         |
|zmedico  |                                                                             |

|3617     |Pass relevant global variables as parameters to action_* functions.          |
|zmedico  |                                                                             |

|3618     |Remove unnecessary "myaction" parameter from the depgraph constructor.       |
|zmedico  |                                                                             |

|3619     |Use secpass to determine whether emergelog exceptions should be ignored.     |
|zmedico  |                                                                             |

|3620     |Do not import * for cooperation with pyflakes.                               |
|zmedico  |                                                                             |

|3621     |Sort filenames for predictable results.                                      |
|zmedico  |                                                                             |

|3622     |Fix error handling for getlist().                                            |
|zmedico  |                                                                             |

|3623     |Fix extra imports and undefined variable found by pyflakes.                  |
|zmedico  |                                                                             |

|3624     |Shift all global scope code to the bottom.                                   |
|zmedico  |                                                                             |

|3625     |Ensure that ^C interrupts are handled quietly.                               |
|zmedico  |                                                                             |

|3626     |Minor import cleanups.                                                       |
|zmedico  |                                                                             |

|3627     |Register emerge exit and signal handlers after parsing options, just before  |
|zmedico  |the action phase.                                                            |

|3628     |Split the --metadata action into a separate function from --sync.            |
|zmedico  |                                                                             |

|3629     |Remove a few unused imports.                                                 |
|zmedico  |                                                                             |

|3630     |Remove a few unused imports.                                                 |
|zmedico  |                                                                             |

|3631     |Remove the deprectated digestCheckFiles function.                            |
|zmedico  |                                                                             |

|3632     |Fix getgccversion logic for bug #137786.                                     |
|zmedico  |                                                                             |

|3633     |Remove all references to global variables from getportageversion().          |
|zmedico  |                                                                             |

|3634     |Remove all direct references to global variables from getlist().             |
|zmedico  |                                                                             |

|3635     |Remove all direct references to global variables from unmerge().             |
|zmedico  |                                                                             |

|3636     |Pass a config instance into key_expand calls so that it doesn't rely on      |
|zmedico  |global settings.                                                             |

|3637     |Remove references to portage.root from unmerge().                            |
|zmedico  |                                                                             |

|3638     |Remove references to portage.settings from unmerge().                        |
|zmedico  |                                                                             |

|3642     |s/Preform/Perform/ Thanks to exg for reporting.                              |
|zmedico  |                                                                             |

|3643     |The mtimedb should not be relative to the target $ROOT because the paths that|
|zmedico  |it contains are currently relative to "/".                                   |

|3644     |Make the COUNTER regeneration logic account for $ROOT as per bug #129054.    |
|zmedico  |                                                                             |

|3645     |Move the counter_tick methods from the dbapi class to the vardbapi class.    |
|zmedico  |                                                                             |

|3646     |Skip the install phase when ${PORTAGE_BUILDDIR}/.installed exists. See bug   |
|zmedico  |#137864.                                                                     |

|3647     |Pass a config object into the vartree constructor so that is doesn't have to |
|zmedico  |use global settings for key_expand calls.                                    |

|3648     |Pass a config object into the binarytree constructor so that is doesn't have |
|zmedico  |to use global settings for key_expand calls.                                 |

|3649     |Remove unnecessary PORTAGE_CALLER exports.                                   |
|zmedico  |                                                                             |

|3650     |Split the command line argument parsing into a function.                     |
|zmedico  |                                                                             |

|3651     |Fix portage.update_config_files() so that it can work with an arbitrary $ROOT|
|zmedico  |and without any global variables.                                            |

|3652     |Split the config protect functionality from the dblink class to a new class  |
|zmedico  |and use it in portage.update_config_files() (dblink requires a vartree and   |
|         |that's not needed here).                                                     |

|3653     |Pass in just the CONFIG_PROTECT info instead of the whole config object.     |
|zmedico  |                                                                             |

|3654     |Print a message to stderr if an error occurs when updating a config file.    |
|zmedico  |                                                                             |

|3655     |Remove an unused import.                                                     |
|zmedico  |                                                                             |

|3656     |Remove the help() function.                                                  |
|zmedico  |                                                                             |

|3657     |Ensure that CLEAN_DELAY and EMERGE_WARNING_DELAY environment variables       |
|zmedico  |contain valid integer values.                                                |

|3658     |Replace a references to global scope CLEAN_DELAY and EMERGE_WARNING_DELAY    |
|zmedico  |with the previously validated environment variables.                         |

|3659     |Use the PORTAGE_DEBUG environment variable to replace the global scope edebug|
|zmedico  |variable.                                                                    |

|3660     |Remove all direct references to global variables form post_emerge().         |
|zmedico  |                                                                             |

|3661     |Remove direct references to the global mtimedb from chk_updated_info_files().|
|zmedico  |                                                                             |

|3662     |Don't run post_emerge() when --pretend is enabled.                           |
|zmedico  |                                                                             |

|3663     |Fix a few global variable references and move all the global scope code into |
|zmedico  |an emerge_main() function.                                                   |

|3664     |Ensure that the PORTAGE_DEBUG environment variable has a valid integer value.|
|zmedico  |                                                                             |

|3665     |Allow /etc/portage/color.map to control colors associated with einfo, ewarn, |
|zmedico  |etc...                                                                       |

|3666     |Use the cannonical path of $PORTDIR when transferring metadata so that the   |
|zmedico  |_eclasses_ paths are consistent. See bug #137965.                            |

|3667     |Turn off color automatically when stdout is a pipe, but allow the behavior to|
|zmedico  |be overridden via the NOCOLOR environment variable.                          |

|3668     |Ignore SIGPIPE signals in order to prevent '[Errno 32] Broken pipe'          |
|zmedico  |exceptions from being raised when emerge output is being piped. This reverts |
|         |a behavior change from r3606.                                                |

|3669     |For compatibility with revdep-rebuild, do not allow NOCOLOR=false to override|
|zmedico  |the isatty() check.                                                          |

|3670     |Docstrings galore in the dep resolver. Hoping to get it better documented so |
|WarnerBro|it can be tweaked for some of the open bugs against it. 99% of this should be|
|         |docstrings, make sure I didn't accidentally touch anything in there.         |

|3671     |When --buildpkg is enabled, merge directly from the uncompressed install     |
|zmedico  |image instead of needlessly unpacking the binary package. See bug #138105.   |

|3672     |Pass an xterm_titles parameter into emergelog() so that it doesn't need any  |
|zmedico  |global variables.                                                            |

|3673     |Fix action_search() parameters for bug #138131.                              |
|zmedico  |                                                                             |

|3674     |Fix chk_updated_cfg_files() parameters for bug #138131.                      |
|zmedico  |                                                                             |

|3675     |Make sure that variables containing colors pollute the environment for bug   |
|zmedico  |#138246.                                                                     |

|3676     |Fix output colors for bug #138259.                                           |
|zmedico  |                                                                             |

|3677     |Make unmerge() colors more consistent.                                       |
|zmedico  |                                                                             |

|3678     |Remove unnecessary --quiet check since writemsg handles that already.        |
|zmedico  |                                                                             |

|3679     |readd Rev to portage.py for proper svn revisions in portage.version          |
|WarnerBro|                                                                             |

|3680     |Set WARN=red to so that warnings appear red, as they always have.            |
|zmedico  |                                                                             |

|3681     |retain current color schema by adding a new color class for unmerging        |
|SpankMan |                                                                             |

|3682     |Add a missing space in the unmerge output that was reported by vapier.       |
|zmedico  |                                                                             |

|3683     |Fix the writemsg noiselevel so that versions are correctly shown even when   |
|zmedico  |--quiet is enabled.                                                          |

|3684     |Allow a config instance to be passed into cpv_expand so that it doesn't have |
|zmedico  |to rely on global settings.                                                  |

|3685     |Allow a config instance to be passed into dep_expand so that it doesn't have |
|zmedico  |to rely on global settings.                                                  |

|3686     |To simplify code, use startswith() instead of slices.                        |
|zmedico  |                                                                             |

|3687     |Update symlinks in during package moves for bug #138394.                     |
|zmedico  |                                                                             |

|3688     |Pass a config instance into the vardbapi constructor so that it doesn't have |
|zmedico  |to rely on global settings.                                                  |

|3689     |Pass a config instance into the vardbapi constructor so that it doesn't have |
|zmedico  |to rely on global settings.                                                  |

|3690     |Pass a config instance into each dep_expand call.                            |
|zmedico  |                                                                             |

|3691     |Pass a vardbapi instance into getportageversion() so that it doesn't have to |
|zmedico  |construct one itself.                                                        |

|3692     |Replace direct references to portage.settings with local references.         |
|zmedico  |                                                                             |

|3693     |Remove reference to global portage.db from validate_merge_list().            |
|zmedico  |                                                                             |

|3694     |Replace direct references to portage.db with local references.               |
|zmedico  |                                                                             |

|3695     |Replace references to portage.root with local settings[ROOT].                |
|zmedico  |                                                                             |

|3696     |Replace references to portage.portdb with local references.                  |
|zmedico  |                                                                             |

|3697     |After sync, reload portage before the metadata transfer so that              |
|zmedico  |action_metadata() doesn't have to be concerned with invalid                  |
|         |settings.categories and such.                                                |

|3699     |Pass parameters into env_update() so that it doesn't depend on global        |
|zmedico  |variables.                                                                   |

|3702     |Remove a pointless "if" statement.                                           |
|zmedico  |                                                                             |

|3703     |Trigger env_update() after each unmerge operation.                           |
|zmedico  |                                                                             |

|3704     |Pass ldpath mtimes into the unmerge operations.                              |
|zmedico  |                                                                             |

|3705     |Replace global references to the mtimedb with local references.              |
|zmedico  |                                                                             |

|3706     |Add an MtimeDB class to encapsulate the mtimedb.                             |
|zmedico  |                                                                             |

|3707     |Make use of the new mtimdb.commit() method.                                  |
|zmedico  |                                                                             |

|3708     |Fix accidental replacement from r3705.                                       |
|zmedico  |                                                                             |

|3709     |Allow the portagetree constructor to work without globals.                   |
|zmedico  |                                                                             |

|3710     |Pass config and portdbapi instances into the portagetree constructor.        |
|zmedico  |                                                                             |

|3711     |Only use the global vartree when really necessary.                           |
|zmedico  |                                                                             |

|3712     |Pass portdbapi instances into doebuild in order to avoid dependance on       |
|zmedico  |globals.                                                                     |

|3713     |Fix missing target_root keyword parameter.                                   |
|zmedico  |                                                                             |

|3714     |Pass the ldpath_mtimes for unmerging the already-installed instance.         |
|zmedico  |                                                                             |

|3715     |Pass missing parameters to doebuild in order to avoid dependance on globals. |
|zmedico  |                                                                             |

|3716     |Pass a config instance into the bindbapi and fakedbapi constructors in order |
|zmedico  |to avoid dependance on globals for dep_expand() calls.                       |

|3717     |Fix pkgmerge() to work without dependance on global variables.               |
|zmedico  |                                                                             |

|3719     |Pass trees into dep_check and dep_zapdeps calls in order to avoid dependance |
|zmedico  |on global variables.                                                         |

|3720     |Remove redundant "portdb" parameters since pordbapi instances are accessible |
|zmedico  |via the "trees" paramters. There is currently only one global pordbapi       |
|         |instance but eventually there will be separate instances for / and $ROOT.    |

|3721     |Integrate the load_mtimedb() function into the MtimeDB class. This function  |
|zmedico  |is relatively new so nobody should miss it.                                  |

|3722     |Fix unmerge version spacing for bug #138611.                                 |
|zmedico  |                                                                             |

|3723     |Use PORTAGE_DEBUG=1 since that's all that portage currently recognizes.      |
|zmedico  |                                                                             |

|3724     |Go ahead and dump a full traceback without having to enable --debug. There's |
|zmedico  |no sense in hiding valuable traceback info like that.                        |

|3725     |Recycle the portdbapi instance at the and of global_updates().               |
|zmedico  |                                                                             |

|3726     |Allow portage.getmaskingstatus() to operate without global variables.        |
|zmedico  |                                                                             |

|3727     |Allow portage.getmaskingreason() to operate without global variables.        |
|zmedico  |                                                                             |

|3728     |Pass a portdbapi instance into doebuild to avoid dependence on global        |
|zmedico  |variables.                                                                   |

|3729     |Pass a more dbapi instances into doebuild to avoid dependence on global      |
|zmedico  |variables.                                                                   |

|3731     |Pass the trees into two more dep_zapdeps calls to avoid dependence on global |
|zmedico  |variables.                                                                   |

|3732     |In order to ensure that emerge doesn't use any of portage's legacy global    |
|zmedico  |variables, run emerge with portage.init_legacy_globals() disabled.           |

|3733     |Pass a config instance into movefile() to avoid dependence on global         |
|zmedico  |variables.                                                                   |

|3734     |Trigger post_emerge() after the relevent actions and commit the mtimedb      |
|zmedico  |there.                                                                       |

|3735     |Fix autouse so that it works with init_legacy_globals() disabled.            |
|zmedico  |                                                                             |

|3742     |- multi-package emerge now prints the sequence highlighting count and cpv to |
|solar    |visually stand out in wondercolors...                                        |

|3743     |Add a new MERGE_LIST_PROGRESS color class and remove hard coded yellow/green.|
|zmedico  |                                                                             |

|3744     |Use the BAD and GOOD color classes to remove hard coded colors from the      |
|zmedico  |depclean warning message.                                                    |

|3745     |Use GOOD, BAD, and WARN color classes where appropriate. Thanks to Damien    |
|zmedico  |THEBAULT <damien.thebault@laposte.net> for this patch from bug #138600.      |

|3746     |Fix references to global settings in the binarytree class that were reported |
|zmedico  |by solar.                                                                    |

|3747     |Fix NameError when collision-protect is enabled for bug #138793.             |
|zmedico  |                                                                             |

|3748     |Add a new parse_use_local_desc() function.                                   |
|zmedico  |                                                                             |

|3749     |Fix import issues reported by pyflakes.                                      |
|zmedico  |                                                                             |

|3750     |Add overlay support for use.local.desc in repoman.                           |
|zmedico  |                                                                             |

|3751     |Add support for licenses in overlays (bug #137975).                          |
|zmedico  |                                                                             |

|3752     |Add support for arch.list in overlays (bug #137975).                         |
|zmedico  |                                                                             |

|3759     |Commit the mtimedb prior to restart via excve for bug #138837.               |
|zmedico  |                                                                             |

|3760     |Ignore hidden directories (such as .svn) when building the scanlist.         |
|zmedico  |                                                                             |

|3772     |When assume-digests is enabled, for digest generation if the number of parsed|
|zmedico  |digests does not match the number of digest types that are supported. See bug|
|         |#138911.                                                                     |

|3773     |Force fetch if the number of parsed digests does not match the number of     |
|zmedico  |digest types that are supported. See bug #138911.                            |

|3774     |Revert accidental hunk from the last commit.                                 |
|zmedico  |                                                                             |

|3777     |Commit the mtimedb for --skipfirst so that if the user aborts the first      |
|zmedico  |package, the next --skipfirst will go on to the next package instead of doing|
|         |the same one again. This patch simply reverts to the behavior that existed   |
|         |before.                                                                      |

|3778     |When displaying the resume merge list, don't show the skipped package when   |
|zmedico  |--skipfirst is enabled. See bug #121106.                                     |

|3779     |Do some basic validation of the mtimedb resume data so that assumptions can  |
|zmedico  |be made later.                                                               |

|3780     |Remove commented code cruft.                                                 |
|zmedico  |                                                                             |

|3781     |Remove color from "none" reported by vapier.                                 |
|zmedico  |                                                                             |

|3782     |Use the correct bintree and porttree for bug #137446.                        |
|zmedico  |                                                                             |

|3783     |Fix $ROOT references in the depgraph class for bug #137446.                  |
|zmedico  |                                                                             |

|3784     |Fix more $ROOT references for bug #137446.                                   |
|zmedico  |                                                                             |

|3785     |Allow the loading of a completely separate config for / and                  |
|zmedico  |PORTAGE_CONFIGROOT. This fixes bug #137446.                                  |

|3786     |Pass existing trees into load_emerge_config() so that the existing portdbapi |
|zmedico  |instances will be cleaned up by portage.create_trees().                      |

|3787     |Match blockers against the correct $ROOT for bug #108449.                    |
|zmedico  |                                                                             |

|3788     |Run global updates asap and then reload the whole config to make sure        |
|zmedico  |everything is consistent.                                                    |

|3789     |Freeze all pordbapi instances.                                               |
|zmedico  |                                                                             |

|3790     |Fix repoman breakage due to the fact that portage.portagetree now creates    |
|zmedico  |it's own portdbapi instance. Repoman will now use a single portdbapi instance|
|         |instead of one for each arch. The arch specific config instances are swapped |
|         |in on the fly. Hopefully this fixes bug #132601.                             |

|3791     |Use a cloned config instance for the depend phase in portdbapi.aux_get(). See|
|zmedico  |bug #132601.                                                                 |

|3792     |Make a backup of ACCEPT_KEYWORDS when repoman changes it for each profile.   |
|zmedico  |This prevents it from being discarded by config.reset() and was the root     |
|         |cause of bug #132601. The cloning that was added in r3791 is a safeguard to  |
|         |prevent problems like this.                                                  |

|3793     |Cache a cloned config instance inside portdbapi so that a new one doesn't    |
|zmedico  |have to be cloned each time metadata generation is triggered.                |

|3795     |Fix missing newline.                                                         |
|zmedico  |                                                                             |

|3796     |Move the ARCH sanity check from the depgraph constructor to a new            |
|zmedico  |validate_ebuild_environment() function and call it before any action that    |
|         |requires an ebuild environment (including search, which may result in        |
|         |metadata generation). So, --sync, --metadata, and --info are currently the   |
|         |only actions that are allowed without ARCH being defined.                    |

|3797     |Remove global autouse cache since most people don't use it anyway and it's   |
|zmedico  |broken in the case where $ROOT != /.                                         |

|3798     |Clean up getportageversion() profile logic and fix a ValueError that occurs  |
|zmedico  |when profile is None.                                                        |

|3800     |remove pointless line that just ruins the display                            |
|SpankMan |                                                                             |

|3802     |Export the path of the build log into the ebuild env as suggested by         |
|zmedico  |Flameeyes.                                                                   |

|3807     |Only commit the mtimedb if the internal state has changed.                   |
|zmedico  |                                                                             |

|3808     |Use copy.deepcopy() to ensure that state comparison works properly.          |
|zmedico  |                                                                             |

|3811     |Fix the NameError that occurs when collision-protect triggers unmerge. See   |
|zmedico  |bug #139580.                                                                 |

|3812     |Remove USE_EXPAND_HIDDEN from make.globals since it's now included in the    |
|zmedico  |base profile.                                                                |

|3813     |Do config.reset() prior to the depend phase to make sure that doebuild       |
|zmedico  |chooses the correct category. This fixes a problem similar to bug #137105.   |

|3814     |Use set.intersection() to simplify --newuse comparison.                      |
|zmedico  |                                                                             |

|3815     |Fix indentation mistake from the last commit.                                |
|zmedico  |                                                                             |

|3816     |Remove the merging=2 case to simplify merge/nomerge logic.                   |
|zmedico  |                                                                             |

|3817     |Use a cmpsplit() function to simplify package comparisons in                 |
|zmedico  |depgraph.select_dep().                                                       |

|3818     |Use the abstract dbapi.aux_get() interface to unify retrieval of dependency  |
|zmedico  |strings in depgraph.create().                                                |

|3819     |Use the abstract dbapi.aux_get() interface to unify retrieval of IUSE in     |
|zmedico  |depgraph.create().                                                           |

|3820     |Use dbapi to unify config.setinst() call in depgraph.select_dep().           |
|zmedico  |                                                                             |

|3821     |Add a vardbapi.aux_update() method for database maintenance. See bug #122089.|
|zmedico  |                                                                             |

|3822     |Wrap common write_atomic exceptions for easier error handling.               |
|zmedico  |                                                                             |

|3823     |Update error handling for write_atomic calls to use PortageException.        |
|zmedico  |                                                                             |

|3824     |Use write_atomic for dblink metadata updates.                                |
|zmedico  |                                                                             |

|3825     |Add a bindbapi.aux_update() method for database maintenance. See bug #122089.|
|zmedico  |                                                                             |

|3826     |Implement fakedbapi.cpv_all() so that bindbapi will inherit it.              |
|zmedico  |                                                                             |

|3827     |Allow binary packages to be installed with --usepkg even when there is no    |
|zmedico  |ebuild in tree (but not when there is a matching ebuild in the tree that is  |
|         |masked). See bugs #135834 and #55871.                                        |

|3828     |Start at the end of the list so that the index works properly after items are|
|zmedico  |deleted.                                                                     |

|3829     |If category expansion fails against the portage tree, remove the null/ prefix|
|zmedico  |so that it may be given another chance to expand against the binary package  |
|         |tree in select_dep(). See bug #135834.                                       |

|3830     |Move all the config adjustments that require the config instance to be       |
|zmedico  |unlocked into a new adjust_config() function. This allows the function to be |
|         |applied to both of the major config instances that exist when $ROOT != /.    |

|3831     |Use a list comprehension to simplify the code for bug #55871.                |
|zmedico  |                                                                             |

|3832     |Move code out of global scope.                                               |
|zmedico  |                                                                             |

|3833     |Don't call emergelog() from the parallel-fetch process for bug #88837.       |
|zmedico  |                                                                             |

|3834     |Allow emerge --info to show per-package settings for bug #95741. Thanks to   |
|zmedico  |npmccallum for the initial patch.                                            |

|3835     |Just use the raise statement alone to re-raise exceptions.                   |
|zmedico  |                                                                             |

|3836     |Replace incorrect references to myrealdest (the file name that appears in    |
|zmedico  |CONTENTS) with correct references to mydest (the absolute destination path,  |
|         |prefixed with $ROOT). See bug #120653.                                       |

|3837     |Use a safer method to join the path when deciding if the current merge offset|
|zmedico  |is config protected. The main problem with corresponding change from r3836 is|
|         |that the destroot variable happens to be // when ROOT=/. See bug #140045.    |

|3838     |Use startswith instead of slices to simplify config protect code.            |
|zmedico  |                                                                             |

|3839     |Don't swallow unknown exceptions from lstat() during the merge phase.        |
|zmedico  |                                                                             |

|3840     |Clean up various path joins in dblink.mergeme().                             |
|zmedico  |                                                                             |

|3841     |Use startswith instead of slice or find.                                     |
|zmedico  |                                                                             |

|3842     |Remove orphan srctarget variable.                                            |
|zmedico  |                                                                             |

|3843     |Fix incorrect path handling in parts of symlink merge logic.                 |
|zmedico  |                                                                             |

|3844     |Split depgraph.merge() to a separate MergeTask class.                        |
|zmedico  |                                                                             |

|3852     |Die at the beginning of install_qa_check if ${D} doesn't exist. See bug      |
|zmedico  |#140159.                                                                     |

|3854     |Remove the unmerge_overlapping() function since unmerge() now works properly |
|zmedico  |in the case where ROOT!=/ thanks to the fix for bugs #137446 and #131319.    |

|3857     |Make the merge phase bail out if srcroot doesn't exist for bug #140159.      |
|zmedico  |                                                                             |

|3868     |Move the world file trimming out of dblink.unmerge() since the world file is |
|zmedico  |package set territory and therefore doesn't belong inside dblink.            |

|3869     |Fix gid typo from the last commit.                                           |
|zmedico  |                                                                             |

|3876     |disable regular expressions for search by default                            |
|genone   |                                                                             |

|3877     |update search docs                                                           |
|genone   |                                                                             |

|3878     |note change in search behavior in release notes                              |
|genone   |                                                                             |

|3879     |As suggested by vapier, only show the "System Settings" banner when myfiles  |
|zmedico  |is not empty.                                                                |

|3881     |Use calculations to center --info header titles.                             |
|zmedico  |                                                                             |

|3889     |Simplify portage.normalize_path() logic.                                     |
|zmedico  |                                                                             |

|3890     |Use normalize_path instead of using normpath directly.                       |
|zmedico  |                                                                             |

|3891     |Move normalize_path into portage_util.                                       |
|zmedico  |                                                                             |

|3892     |Remove the portage_file module for bug #133591.                              |
|zmedico  |                                                                             |

|3893     |Add a new portageq metadata function that wraps dbapi.aux_get() so that      |
|zmedico  |things like built_with_use in eutils.eclass can retrieve metadata in manner  |
|         |that is independent of the installed package database implementation.        |

|3894     |s/config_protect/ConfigProtect/ for the class name.                          |
|zmedico  |                                                                             |

|3895     |Move the ConfigProtect class to the portage_util module.                     |
|zmedico  |                                                                             |

|3907     |Fix broken --usepkg masking logic for bug #140694.                           |
|zmedico  |                                                                             |

|3908     |Add ipv6 --sync support for bug #37124. Thanks to Bernhard Schmidt           |
|zmedico  |<berni@birkenwald.de> for the initial patch.                                 |

|3909     |Collapse two repoman PORTAGE_CALLER conditionals into one.                   |
|zmedico  |                                                                             |

|3910     |Fix categories and arch.list handling for repoman with overlays so that      |
|zmedico  |/etc/portage is not used.                                                    |

|3911     |Remove redundant variable definitions.                                       |
|zmedico  |                                                                             |

|3912     |Enable repoman to work with portage.init_legacy_globals() disabled.          |
|zmedico  |                                                                             |

|3913     |Add a docstring with epytext markup to portage_versions.pkgcmp(). Thanks to  |
|zmedico  |chriswhite for this patch.                                                   |

|3914     |Fix depclean so that it cleans unneeded slots (unless they are exempted by   |
|zmedico  |the system or world sets). See bug #140591.                                  |

|3915     |Simplify generation of the cleanlist for depclean.                           |
|zmedico  |                                                                             |

|3916     |Use a set instead of a list for better efficiency.                           |
|zmedico  |                                                                             |

|3917     |make .keep files package-dependant to fix bug 102436                         |
|blubb    |                                                                             |

|3918     |fix up doman and prepman so that they work with the new .keep files in rev   |
|blubb    |3917                                                                         |

|3919     |Ensure a sane umask for repoman.                                             |
|zmedico  |                                                                             |

|3920     |Do file locking on PORTAGE_BUILDDIR and use a finally block to ensure that   |
|zmedico  |the lock is properly released. This fixes bug #140971.                       |

|3921     |Ensure that BUILD_PREFIX has been created before attempting to lock          |
|zmedico  |PORTAGE_BUILDDIR.                                                            |

|3922     |Use the portage gid for BUILD_PREFIX.                                        |
|zmedico  |                                                                             |

|3923     |Don't try to create a log file unless PORTAGE_BUILDDIR exists.               |
|zmedico  |                                                                             |

|3924     |Add an EOutput class that provides a python implementation of the familar e* |
|zmedico  |funtions from /sbin/functions.sh. Thanks to Alex Tarkovsky                   |
|         |<alextarkovsky@gmail.com> for this patch.                                    |

|3925     |Use the python implemention of ebegin/eend to visually enhance the ouput for |
|zmedico  |checksums.                                                                   |

|3928     |ensure we have the necessary access                                          |
|genone   |                                                                             |

|3929     |Show full path when auto-merging                                             |
|genone   |                                                                             |

|3930     |add option to discard config updates                                         |
|genone   |                                                                             |

|3931     |add notice about remaining updates on exit                                   |
|genone   |                                                                             |

|3932     |update mtime after replacing config files                                    |
|genone   |                                                                             |

|3933     |Remove redundant checksum output.                                            |
|zmedico  |                                                                             |

|3934     |Only call portageq once                                                      |
|genone   |                                                                             |

|3935     |use eval to allow shell expansion in config file                             |
|genone   |                                                                             |

|3936     |add support to prevent auto-processing for user-special files that match a   |
|genone   |pattern in /etc/etc-update.special                                           |

|3952     |Make PORTAGE_TMPDIR cannonical for sandbox before it's exported to the ebuild|
|zmedico  |environment for bug #140436.                                                 |

|3953     |Make user_special() return 1 if none of the patterns in                      |
|zmedico  |/etc/etc-update.special are matched.                                         |

|3954     |Handle a potential ValueError when parsing the number of terminal columns.   |
|zmedico  |                                                                             |

|3955     |When a config instance is cloned, don't set default USE_ORDER since it would |
|zmedico  |have been done already for the instance being cloned.                        |

|3956     |When a config instance is cloned, don't initialize PORTAGE_GID since it would|
|zmedico  |have been done already for the instance being cloned.                        |

|3957     |Remove redundant initialization of self.depcachedir for cloned config        |
|zmedico  |instances.                                                                   |

|3958     |Remove redundant processing of PORTDIR_OVERLAY for cloned config instances.  |
|zmedico  |                                                                             |

|3959     |Remove redundant (and possibly problem causing) copying of self.backupenv for|
|zmedico  |cloned config instances.                                                     |

|3960     |Remove redundant processing of ROOT and PORTAGE_CONFIGROOT for cloned config |
|zmedico  |instances.                                                                   |

|3961     |When cloning a config instance, use the copied env instead of grabbing a new |
|zmedico  |copy of os.environ.                                                          |

|3962     |Remove redundant copying of self.lookuplist and self.uvlist for cloned config|
|zmedico  |instances.                                                                   |

|3963     |Remove redundant definition of catsplit() which is already imported from     |
|zmedico  |portage_versions. Thanks to ChrisWhite for reporting.                        |

|3964     |Remove redundant initialization of CBUILD for cloned config instances.       |
|zmedico  |                                                                             |

|3965     |Remove redundant initialization of PORTAGE_BIN_PATH and PORTAGE_PYM_PATH for |
|zmedico  |cloned config instances.                                                     |

|3966     |note that there is the possibility to have a local rsync server; bug 141110  |
|blubb    |                                                                             |

|3967     |Remove redundant initialization of self.features (and self.regenerate() call)|
|zmedico  |for cloned config instances.                                                 |

|3968     |Move initialization of self.lookuplist to a more logical location for cloned |
|zmedico  |config instances.                                                            |

|3969     |Move initialization of config.uvlist into the regenerate() method since      |
|zmedico  |that's the only place it's used.                                             |

|3970     |Remove redundant initialization of directories for cloned config instances.  |
|zmedico  |                                                                             |

|3971     |Fix a broken reference to portage.portdb.                                    |
|zmedico  |                                                                             |

|3972     |Fix broken if/elif statement.                                                |
|zmedico  |                                                                             |

|3973     |Blacklist some variables in the config constructor so that they can't        |
|zmedico  |interfere with portage internals.                                            |

|3974     |Move dep_getcpv, get_operator, and isvalidatom from the core portage module  |
|zmedico  |to portage_dep.                                                              |

|3975     |Remove grabdict_package and grabfile_package from the core portage module    |
|zmedico  |since the copies in portage_util can now work by importing isvalidatom from  |
|         |portage_dep.                                                                 |

|3976     |Move isjustname, isspecific, dep_getkey, and dep_transform from the core     |
|zmedico  |portage module to portage_dep.                                               |

|3977     |Move parse_updates from the core portage module to portage_update.           |
|zmedico  |                                                                             |

|3978     |Move new_protect_filename from the core portage module to portage_util.      |
|zmedico  |                                                                             |

|3979     |Do the portage_checksum import in local scope because of circular dependency.|
|zmedico  |                                                                             |

|3980     |Move update_config_files from the core portage module to portage_update.     |
|zmedico  |                                                                             |

|3981     |Move dep_transform from the portage_dep module to portage_update.            |
|zmedico  |                                                                             |

|3982     |Add a link for "Setting up your own local rsync mirror" as suggested by jkt. |
|zmedico  |                                                                             |

|3983     |Ignore hidden directories and files when updating config files.              |
|zmedico  |                                                                             |

|3984     |Collapse whitespace in aux_get calls for remote binpkg metadata. See bug     |
|zmedico  |#141279.                                                                     |

|3985     |Make sure that PORTAGE_BUILDDIR exists before attempting to lock it.         |
|zmedico  |Depending on the phase, either BUILD_PREFIX or PKG_TMPDIR could be the       |
|         |parent, so we simply use PORTAGE_BUILDDIR to cover both cases.               |

|3986     |Make depclean account for old-style virtuals so that it doesn't remove the   |
|zmedico  |providers.                                                                   |

|3987     |Just add the providers to the protected set without bothering to check if    |
|zmedico  |they're in the vdb.                                                          |

|3988     |Use portage.best() to simplify package comparison.                           |
|zmedico  |                                                                             |

|3989     |Remove unused portage.match_from_list_original() function.                   |
|zmedico  |                                                                             |

|3990     |Move portage.best() to portage_versions.                                     |
|zmedico  |                                                                             |

|3991     |Move best_match_to_list, match_from_list, and match_to_list from the core    |
|zmedico  |portage module to portage_dep.                                               |

|4006     |Make xsplit() return False on failure and True on success for bug #141445.   |
|zmedico  |                                                                             |

|4008     |Return a tuple from searchindex instead of a list.                           |
|zmedico  |                                                                             |

|4009     |Return tuples instead of lists from getboth functions and methods.           |
|zmedico  |                                                                             |

|4013     |Simplify depgraph.select_dep() logic by using a list of matched packages     |
|zmedico  |(instead of separate variables for ebuild and binary packages).              |

|4014     |Trigger a rebuild with --newuse when IUSE has changed for bug #116955.       |
|zmedico  |                                                                             |

|4015     |For binary packages, trigger a rebuild with --newuse when IUSE has changed   |
|zmedico  |for bug #116955.                                                             |

|4016     |s/difference/symmetric_difference/ for the last two commits.                 |
|zmedico  |                                                                             |

|4019     |Add more dependencies to the digraph in order to help prevent strange merge  |
|zmedico  |orders for bug #126748.                                                      |

|4021     |Move the self dependency check from digraph.addnode() to depgraph.create()   |
|zmedico  |since that's the only place it's currently needed. This patch should not     |
|         |affect emerge behavior.                                                      |

|4022     |When necessary, always print a list of missing atoms even if --verbose is not|
|zmedico  |enabled. Thanks to Caster <caster@matfyz.cz> for this patch from bug #141643.|

|4026     |Fix unsafe deletion of a dictionary item during iteration.                   |
|zmedico  |                                                                             |

|4027     |Move the initial check of previously fetched files out of the locations loop |
|zmedico  |so that that the same code path can be used (patch to follow) when fetch is  |
|         |restricted and there are no custom local mirrors. See bug #37455.            |

|4028     |Allow fetch restricted files to be fetched from custom local mirrors as per  |
|zmedico  |bug #37455. This patch additionally allows a mirror:// uri to override fetch |
|         |restriction, but only for the specified mirror (or a custom local mirror).   |

|4029     |Ensure that that fetch restriction message is only show once in --pretend    |
|zmedico  |mode.                                                                        |

|4030     |Simplify fetch failure logic.                                                |
|zmedico  |                                                                             |

|4031     |Hide a password if a uri contains one (a custom local mirror, for example).  |
|zmedico  |Thanks to nelchael for the patch.                                            |

|4032     |Fix ENOENT exception handler so that it only wraps the relevant stat call.   |
|zmedico  |                                                                             |

|4033     |Move permissions adjustment of previously fetched files into the main fetch  |
|zmedico  |loop.                                                                        |

|4034     |Move the filesystem mirrors code into the main fetch loop.                   |
|zmedico  |                                                                             |

|4037     |Simplify permissions adjustment after a file is fetched.                     |
|zmedico  |                                                                             |

|4041     |Add a --force option for `ebuild digest` so that the user doesn't have to    |
|zmedico  |manually remove the Manifest and files/digest-* files when upstream changes  |
|         |the identity of distfiles. See bug #141843.                                  |

|4043     |Allow a digest to be created before any distfiles have been fetched for bug  |
|zmedico  |#141843.                                                                     |

|4044     |Add PKG_CONFIG_PATH to env_update incrementals for bug #105384.              |
|zmedico  |                                                                             |

|4045     |Pass in the path to the base of the current tree to ensure that the correct  |
|zmedico  |fetchlist is used when there are overlays present.                           |

|4046     |Use the FetchlistDict to simplify code.                                      |
|zmedico  |                                                                             |

|4047     |Make sure we doebuild uses the correct tree for fetch lists when there are   |
|zmedico  |overlays.                                                                    |

|4048     |Stack /etc/profile.env inside portage.config so that it doesn't stop         |
|zmedico  |variables in inappropriate places. See bug #51370.                           |

|4049     |Remove pointless cvs dependent REPOROOTS code. Thanks to Alec Warner         |
|zmedico  |<antarus@gentoo.org> for this patch.                                         |

|4050     |Catch ParseError from getconfig during env_update for bug #142157.           |
|zmedico  |                                                                             |

|4051     |Add matching quote (typo from last revision).                                |
|zmedico  |                                                                             |

|4052     |Only ignore ENOENT in getconfig() so that more important errors don't go     |
|zmedico  |unnoticed.                                                                   |

|4053     |When emerge exits to blockers, show a link to the relevant section of the    |
|zmedico  |Gentoo Handbook. See bug #142225.                                            |

|4068     |Don't write to emerge.log when --pretend is enabled for bug #139449.         |
|zmedico  |                                                                             |

|4081     |Remove dojar for bug #108517.                                                |
|zmedico  |                                                                             |

|4083     |Remove duplicate profile.env values from the environment so that they don't  |
|zmedico  |override updated profile.env values later (profile.env is reloaded in each   |
|         |call to self.regenerate). See bug #51370.                                    |

|4084     |Move profile.env to the bottom of the stack so that, for example, it's       |
|zmedico  |possible for make.conf values to override or stack incrementally with values |
|         |from profile.env. See bug #51370.                                            |

|4085     |Grab /etc/profile.env from the target root instead of the configroot.        |
|zmedico  |                                                                             |

|4086     |Move code that updates depgraph state from select_dep() to a more appropriate|
|zmedico  |location in create(). This fixes a bug in $ROOT handling, where the the $ROOT|
|         |of the child is used where the $ROOT of the parent should have been (similar |
|         |to bug #108449).                                                             |

|4087     |Link the full handbook since it's guaranteed to continue to work as per      |
|zmedico  |comment #12 of bug #142225. Also, add a note about the architecture being    |
|         |irrelevant as per comment #10.                                               |

|4089     |Remove the unnecessary "Previously fetched" portion of the disfiles checksum |
|zmedico  |output for bug #142271.                                                      |

|4090     |Remove dojar docs for bug #108517.                                           |
|zmedico  |                                                                             |

|4091     |Use a recursive function to simplify the walking of the profile paths. The   |
|zmedico  |number of parent profiles is constrained to 1 but could easily be extended to|
|         |allow multiple inheritence.                                                  |

|4112     |Expand USE_EXPAND flags earlier so that their incremental stacking behaves   |
|zmedico  |just like it does for normal USE flags. See bug #142125.                     |

|4113     |Instead of self.puse, use self.mycpv to return early from setcpv.            |
|zmedico  |                                                                             |

|4114     |Protect USE_EXPAND flags from -* in order to preserve previous behavior which|
|zmedico  |has changed due to the fix for bug #142125.                                  |

|4131     |Fix STRIP_MASK logic so that a match results in stripitbaby=0.               |
|zmedico  |                                                                             |

|4136     |Fix the installsources feature so that it works even with splitdebug or      |
|zmedico  |nostrip. Thanks to Olivier Crete <tester@gentoo.org> for this patch from bug |
|         |#136197.                                                                     |

|4150     |ignore packages that were just fetched from being added to the worldfile     |
|genone   |                                                                             |

|4151     |Add support for package.use.mask in the profile. It should behave exactly as |
|zmedico  |use.mask currently does except that it allows USE flags to be masked for     |
|         |specific packages rather than for all packages. See bug #96368.              |

|4152     |For completeness, clone self.puse and self.mycpv.                            |
|zmedico  |                                                                             |

|4153     |Ignore hidden files or directories in the vardbapi.cpv_all() listing.        |
|zmedico  |                                                                             |

|4154     |add space before prompt                                                      |
|SpankMan |                                                                             |

|4155     |Add additional checks for --pretend and --fetch-all-uri to ensure correct    |
|zmedico  |behavior. See bug #140552.                                                   |

|4156     |Add some docs for the installsources feature.                                |
|zmedico  |                                                                             |

|4157     |Add notes about nostrip and installsources to the splitdebug docs.           |
|zmedico  |                                                                             |

|4159     |- emerge -pqv should display USE flags; Bug 128598 - David-John Miller,      |
|solar    |anoyomouse@petermiller.co.za                                                 |

|4174     |Add the date and time of the last sync to emerge --info output. Thanks to    |
|zmedico  |Pablo Antonio <pabloa@gmail.com> for the patch from bug #140163.             |

|4175     |Allow USE_EXPAND vars to be overridden in the environment for bug #142909.   |
|zmedico  |                                                                             |

|4176     |Remove unused "cladded" variable reported by antarus.                        |
|zmedico  |                                                                             |

|4177     |Keep USE flags from / and $ROOT separate in the depgraph. See bug #142918.   |
|zmedico  |                                                                             |

|4178     |Split the USE flags calculation out of the generic incrementals loop and     |
|zmedico  |process it separately in order to account for interaction with USE_EXPAND.   |
|         |All USE_EXPAND environment variables are regenerated so that they are        |
|         |consistent with the flags in USE. See bug #142909.                           |

|4179     |Fix rsync code to work with a username@ uri for bug #141185. Thanks to       |
|zmedico  |David-John Miller <anoyomouse@petermiller.co.za> for this patch.             |

|4180     |Add some package.use.mask docs.                                              |
|zmedico  |                                                                             |

|4181     |Sort the USE flags.                                                          |
|zmedico  |                                                                             |

|4182     |Cleanse stale metadata cache for binpkgs that have been removed from the     |
|zmedico  |remote host. Thanks to André Luiz A. G. Carvalho <alcarvalho@gmail.com> for |
|         |the initial patch from bug #107453.                                          |

|4186     |Remove the dopython docs for bug #141935.                                    |
|zmedico  |                                                                             |

|4187     |When performing expansion of USE_EXPAND variables, display warnings about    |
|zmedico  |invalid use of incremental operators.                                        |

|4189     |fixups from Benno Schulenberg #143079                                        |
|SpankMan |                                                                             |

|4191     |Remove unnecessary check for USE flags that start with "-".                  |
|zmedico  |                                                                             |

|4208     |Remove a dead hunk of code spotted by antarus.                               |
|zmedico  |                                                                             |

|4209     |Return early from global directory initialization if the current user does   |
|zmedico  |not have write access to $ROOT.                                              |

|4210     |Force a sane umask in quickpkg for bug #143340.                              |
|zmedico  |                                                                             |

|4211     |Use ( -flag ) to indicate flags that have been forced off via use.mask.      |
|zmedico  |                                                                             |

|4212     |Display masked USE flags as (-flag) instead of ( -flag ) to save space.      |
|zmedico  |                                                                             |

|4213     |Fix stack_dictlist() so that incremental stacking behaves more like it does  |
|zmedico  |in config.regenerate().                                                      |

|4214     |Add support for use.force and package.use.force in profiles.                 |
|zmedico  |                                                                             |

|4215     |Add some docs for use.force and package.use.force.                           |
|zmedico  |                                                                             |

|4216     |Add news about use.force.                                                    |
|zmedico  |                                                                             |

|4239     |For consistent results, sort the contents when generating the info directory |
|zmedico  |index. See bug #142652.                                                      |

|4240     |Make stack_dictlist return an empty dictionary when there is nothing to      |
|zmedico  |stack. See bug #143730.                                                      |

|4253     |Revert most of r4086 because it broke circular bootstrap dependencies for    |
|zmedico  |things like gwydion-dylan and ghc. Thanks to araujo for reporting the        |
|         |breakage.                                                                    |

|4254     |Update the virtuals even if the package already exists in the fakedbapi since|
|zmedico  |it may be necessary if the package is being remerged.                        |

|4257     |Use eval $(portageq envvar -v FOO BAR) to collapse many portageq calls into  |
|zmedico  |1.                                                                           |

|4258     |Add forgotten PORTAGE_TMPDIR to the portageq call.                           |
|zmedico  |                                                                             |

|4267     |This is a new and improved depclean implementation. Thanks to jstubbs for    |
|zmedico  |this patch from bug #67179.                                                  |

|4270     |Add a depclean warning message, once again, because it's never completely    |
|zmedico  |safe.                                                                        |

|4271     |This is a new dep_zapdeps implementation. Thanks to jstubbs for this patch   |
|zmedico  |from bug #143908.                                                            |

|4272     |Remove an unused "objsadded" variable spotted by antarus.                    |
|zmedico  |                                                                             |

|4283     |- record the md5 checksum of the .tbz2 used at merge time. This will become  |
|solar    |useful to know if we should refetch a .tbz2 from a remote repo               |

|4306     |Make sure that portageq exits quietly when killed, like emerge does.         |
|zmedico  |                                                                             |

|4308     |some INSTALL_MASK docs by compnerd                                           |
|SpankMan |                                                                             |

|4309     |document ROOT #144331                                                        |
|SpankMan |                                                                             |

|4310     |eat some extraneous newlines                                                 |
|SpankMan |                                                                             |

|4311     |document the ability to make package. files directories in /etc/portage      |
|SpankMan |#144381 by Caleb Cushing                                                     |

|4312     |Make depclean more friendly about unresolved atoms. Thanks to jstubbs for    |
|zmedico  |this patch from bug #144486.                                                 |

|4313     |Don't bother to lock CONFIG_MEMORY_FILE since writedict is atomic anyway.    |
|zmedico  |                                                                             |

|4320     |include filename in submenu so we know exactly what we are working on        |
|SpankMan |                                                                             |

|4321     |For bug #144928, add -L to the rsync options (transform symlink into         |
|zmedico  |referent). Thanks to Olivier Crete <tester@gentoo.org> for this patch.       |

|4322     |Display flags that have been removed from IUSE as !flag% for bug #144661.    |
|zmedico  |                                                                             |

|4336     |Make symlink merge output respect --quiet. Thanks to blubb for reporting.    |
|zmedico  |                                                                             |

|4339     |only print the "Removing /usr/share/info" if --quiet was not passed          |
|blubb    |                                                                             |

|4342     |ignore binutils wrt multilib-strict; bug 121641                              |
|blubb    |                                                                             |

|4343     |remove the MULTILIB_STRICT_EXEMPT default as all profiles set it anyway      |
|blubb    |                                                                             |

|4344     |Recommend `emerge --update --deep world` prior to depclean in order to make  |
|zmedico  |sure that all dependencies are satisfied. See bug #145078.                   |

|4345     |Add news about the new depclean algorithm.                                   |
|zmedico  |                                                                             |

|4346     |Show the * symbol in addition to the % symbol when the flags state           |
|zmedico  |transitions from nonexistent -> enabled or vice versa.                       |

|4347     |Remove a redundant conditional from the last commit.                         |
|zmedico  |                                                                             |

|4348     |For --newuse, ignore masked/forced flags when comparing IUSE. See bug        |
|zmedico  |#144661.                                                                     |

|4349     |For --newuse, ignore masked/forced flags when comparing IUSE. See bug        |
|zmedico  |#144661.                                                                     |

|4350     |Display flags that have been removed from IUSE as (-flag%) instead of !flag% |
|zmedico  |and display newly added masked flags without the % symbol in order to avoid  |
|         |ambiguity. See bug #144661.                                                  |

|4351     |don't display useless messages when using --quiet                            |
|blubb    |                                                                             |

|4353     |Add a missing newline from the previous commit.                              |
|zmedico  |                                                                             |

|4354     |make the multilib-strict check show all files that violate the rule, not just|
|blubb    |the first one                                                                |

|4355     |let's not fork too much                                                      |
|blubb    |                                                                             |

|4364     |fix whitespace                                                               |
|SpankMan |                                                                             |

|4374     |Before the preinst phase, only call load_infodir for binary packages.        |
|zmedico  |Otherwise, load_infodir will wipe settings from doebuild_environment (such as|
|         |CATEGORY).                                                                   |

|4375     |Use a specialized read_int function to read integer input for bug #143881.   |
|zmedico  |This uses a subshell to work around bash's tendency to break out of a loop   |
|         |whenever an integer conversion fails.                                        |

|4378     |When creating the depgraph, use the correct USE flags for packages that are  |
|zmedico  |already installed.                                                           |

|4379     |Update the depgraph's USE flag cache so that's it's consistent with installed|
|zmedico  |packages.                                                                    |

|4380     |Make code from the last 2 commits conditional on merging == 0 and            |
|zmedico  |vardbapi.cpv_exists(mykey).                                                  |

|4381     |Describe each of the USE flag symbols that are displayed in verbose mode (see|
|zmedico  |bug #146060).                                                                |

|4382     |moving the portage-specific sandbox-code out of the ebuild-specific src_test |
|blubb    |                                                                             |

|4393     |When aux_get can't find a matching ebuild, simply raise a KeyError(cpv) and  |
|zmedico  |don't dump redundant messages to stderr unless --debug is enabled.           |

|4394     |Add news about --newuse being able to detect changes in IUSE.                |
|zmedico  |                                                                             |

|4395     |Move notes about --depclean and --newuse from NEWS to RELEASE-NOTES.         |
|zmedico  |                                                                             |

|4396     |Don't call dict.keys() unnecessarily for the containment test in             |
|zmedico  |dblink.isowner().                                                            |

|4400     |Since none of the code is written to handle it, never return a tuple from    |
|zmedico  |new_protect_filename(). See bug #146289.                                     |

|4401     |Add repoman support for package.use.mask.                                    |
|zmedico  |                                                                             |

|4402     |Move setcpv call (from the last commit) to a more logical location.          |
|zmedico  |                                                                             |

|4403     |For emerge dep_check calls, use a config instance that has the correct state |
|zmedico  |and the correct $ROOT.                                                       |

|4404     |Use a set for masklist inside dep_check.                                     |
|zmedico  |                                                                             |

|4405     |Only apply USE masks in dep_check when called by repoman with use="all".     |
|zmedico  |                                                                             |

|4406     |Revert r4403 since dep_check needs a config instance for the $ROOT where the |
|zmedico  |dependencies will be installed.                                              |

|4407     |Add an additional note about $ROOT and USE flag handling in dep_check.       |
|zmedico  |                                                                             |

|4408     |During env_update, raise a FileNotFound exception if a file is unexpectedly  |
|zmedico  |removed by a concurrent process. See bug #146412.                            |

|4411     |if user has FEATURES=noauto then dont check lame .installed file             |
|SpankMan |                                                                             |

|4412     |make .compiled warning the same helpful format as .installed                 |
|SpankMan |                                                                             |

|4413     |unpack rar files with -o+ to force overwriting #146508 by Paul Bredbury      |
|SpankMan |                                                                             |

|4414     |Call dep_settings.setcpv() first so that ACCEPT_KEYWORDS when setcpv calls   |
|zmedico  |reset. The backup_changes call isn't working for some reason (reported by    |
|         |vapier).                                                                     |

|4415     |Remove ACCEPT_KEYWORDS from incrementals to that a hypothetical              |
|zmedico  |config.regenerate() call won't affect it.                                    |

|4416     |Allow env_update to work if there are broken symlinks in /etc/env.d/. See bug|
|zmedico  |#146412.                                                                     |

|4417     |Properly lock the critical section of portage.unmerge() for bug #101240.     |
|zmedico  |                                                                             |

|4418     |Document that dblink.unmerge() does not perform locking internally.          |
|zmedico  |                                                                             |

|4419     |For bug #146564, include directories in packages created by quickpkg. Note   |
|zmedico  |that tar's --no-recursion option causes the directories to be selectively    |
|         |included without nessarily including their contents.                         |

|4420     |Optimize quickpkg so that it creates the binary package directly in          |
|zmedico  |$PKGDIR/All. This eliminates the need for tbz2tool and is the same approach  |
|         |used by the package phase in misc-functions.sh.                              |

|4421     |Make sure that the package phase has the PYTHONPATH set correctly so that the|
|zmedico  |xpak module is accessible.                                                   |

|4422     |Condense a few portageq calls into one.                                      |
|zmedico  |                                                                             |

|4423     |Substitute isolated-functions.sh in place of /sbin/functions.sh.             |
|zmedico  |                                                                             |

|4424     |Make quickpkg respect PORTAGE_NICENESS.                                      |
|zmedico  |                                                                             |

|4425     |Add PORTAGE_DEPCACHEDIR to SANDBOX_PREDICT since it's legitimate for portageq|
|zmedico  |calls to trigger cache writes. See bug #144011.                              |

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

|4430     |In dblink.isowner(), correct the logic to test the path itself (via lstat)   |
|zmedico  |rather than the referant in the case of symlinks.                            |

|4431     |For bug #80846, prevent false collisions caused by symlinks. Thanks to Thomas|
|zmedico  |Bettler <bettlertho@sis.unibe.ch> for the initial patch.                     |

|4432     |diff for superh                                                              |
|SpankMan |                                                                             |

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

|4434     |Add KDEDIRS to colon_separated env-update vars as requested by Carlo.        |
|zmedico  |                                                                             |

|4441     |For correct LINGUAS handling, don't export empty USE_EXPAND variables unless |
|zmedico  |the user config exports them as empty. Thanks to Harald van Dijk             |
|         |<truedfx@gentoo.org> for this patch from bug #147428.                        |

|4442     |Use configdict["env"].clear() instead of manual deletion because the result  |
|zmedico  |is the same and it's much more efficient.                                    |

|4443     |note that you need to use an absolute path for ROOT #147427 by Brad Plant    |
|SpankMan |                                                                             |

|4446     |In unhardlink_lockfile(), make sure not to touch lockfilename unless we      |
|zmedico  |really have a lock. See bug #147453.                                         |

|4447     |Remove all traces of atexit hardlock cleanup code, since it doesn't work     |
|zmedico  |correctly anyway.                                                            |

|4448     |Simplify portage_locks.hardlink_is_mine() so that it only checks the number  |
|zmedico  |of links. Nothing more is needed.                                            |

|4449     |Remove an unused hardlink_active() function.                                 |
|zmedico  |                                                                             |

|4450     |Simplify the confmem logic so that it's easier to read.                      |
|zmedico  |                                                                             |

|4451     |Move all env.d file name filtering into a single loop.                       |
|zmedico  |                                                                             |

|4452     |Add support for SPACE_SEPARATED and COLON_SEPARATED in /etc/env.d/ so that   |
|zmedico  |hard coded values are not required.                                          |

|4453     |When it's detected that a previously remembered update has been accepted,    |
|zmedico  |remove it from confmem.                                                      |

|4458     |For bug #14321, add support for individual files in CONFIG_PROTECT and       |
|zmedico  |CONFIG_PROTECT_MASK.                                                         |

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

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

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

|4462     |Add CATEGORY to the list of readonly variables.                              |
|zmedico  |                                                                             |

|4463     |document FEATURES=buildsyspkg #147729                                        |
|SpankMan |                                                                             |

|4464     |In portage.commit_mtimedb(), use the commit() method when possible, so that  |
|zmedico  |the mtimedb is only rewritten when it has been modified.                     |

|4467     |Reimplement parallel-fetch so that it simply spawns `emerge --fetch --resume`|
|zmedico  |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     |Use mtimedb.filename == None to disable mtimedb writes (instead of           |
|zmedico  |/dev/null).                                                                  |

|4469     |Close the parallel-fetch log file descriptor when it's no longer needed.     |
|zmedico  |                                                                             |

|4470     |Replace relative imports with absolute imports for forward compatibility with|
|zmedico  |python 2.6.                                                                  |

|4471     |Ensure that the parent process gets the first fetch when parallel-fetch is   |
|zmedico  |enabled.                                                                     |

|4472     |Thanks to Jason Stubbs for this patch from bug #147766 which enables creation|
|zmedico  |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     |Thanks again to Jason Stubbs for this patch from bug #147766 which represents|
|zmedico  |PDEPEND relationships withing the depgraph as reverse soft dependencies.     |

|4474     |Idendify soft deps in emerge --debug output.                                 |
|zmedico  |                                                                             |

|4475     |Allow packages matched by something in package.provided to be explicitly     |
|zmedico  |merged by the user.                                                          |

|4476     |Turn off file name globbing during expansion of ${find_opts} for bug #148115.|
|zmedico  |                                                                             |

|4477     |Fix digraph.debug_print inverted hard/soft logic.                            |
|zmedico  |                                                                             |

|4478     |Fix fetch resume logic for bug #145601 and document the meaning of the       |
|zmedico  |"fetched" variable.                                                          |

|4479     |This is a new --tree implementation by Jason Stubbs, from bug #147766.       |
|zmedico  |                                                                             |

|4480     |Properly close the caches before reloading portage.                          |
|zmedico  |                                                                             |

|4481     |Fix digraph.hasallzeros() breakage.                                          |
|zmedico  |                                                                             |

|4482     |For consistency, pass ignore_soft_deps into digraph.hasallzeros().           |
|zmedico  |                                                                             |

|4483     |Make portageq exit with nonzero status when called incorrectly.              |
|zmedico  |                                                                             |

|4484     |Make portageq exit successfully for -h or --help.                            |
|zmedico  |                                                                             |

|4485     |As suggested by vapier, send emerge -fp output to stdout and make it work    |
|zmedico  |together with --quiet.                                                       |

|4486     |Thanks to Jason Stubbs for this patch from bug #16365 which invalidates any  |
|zmedico  |blocker that is made irrelevant by a package upgrade.                        |

|4487     |Fix depgraph.validate_blockers() logic so that match_from_list works         |
|zmedico  |correctly.                                                                   |

|4488     |Add a docstring for depgraph.validate_blockers().                            |
|zmedico  |                                                                             |

|4489     |Remove an inaccurate comment.                                                |
|zmedico  |                                                                             |

|4490     |Add a comment about old-style virtuals inside depgraph.validate_blockers().  |
|zmedico  |                                                                             |

|4491     |Prevent an IndexError caused by blocker nodes splitting to 3 items instead of|
|zmedico  |4.                                                                           |

|4492     |Prevent --update and/or --deep style behavior when the user hasn't specified |
|zmedico  |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     |Fix another IndexError due to an assumption that digraph nodes split into at |
|zmedico  |least 4 parts.                                                               |

|4494     |Allow packages specified on the command line to be retroactively upgraded    |
|zmedico  |from "nomerge" to "merge" nodes.                                             |

|4495     |use EBUILD_SH_ARGS instead of $*; bug 148615                                 |
|blubb    |                                                                             |

|4496     |Revert r4495, since conversion from nomerge to merge may put the depgraph    |
|zmedico  |into an inconsistent state du to USE flag mismatch. This can be solved by    |
|         |checking all args prior to marking packages as nomerge.                      |

|4498     |Allow cache.sqlite to use sqlite3 from python-2.5, if available.             |
|zmedico  |                                                                             |

|4499     |Convert stat timestamps to long for compatibility with python-2.5, which     |
|zmedico  |returns floats for timestamps.                                               |

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

|4501     |Use fstat to when retrieve cache timestamps and avoid a race.                |
|zmedico  |                                                                             |

|4502     |Improve and simplify __getitem__ error handling.                             |
|zmedico  |                                                                             |

|4503     |Don't use LazyLoad for cache pulls because it causes a race condition.       |
|zmedico  |                                                                             |

|4504     |Use finally: to ensure that the file is closed properly.                     |
|zmedico  |                                                                             |

|4505     |Make it possible, once again, to use --noreplace to add a package to the     |
|zmedico  |world file.                                                                  |

|4506     |Move the open call out of the inner try block.                               |
|zmedico  |                                                                             |

|4507     |Ensure that soft_dep is a plain boolean (not vardb match results).           |
|zmedico  |                                                                             |

|4508     |Never allow packages explicitly requested on the command line to be tagged   |
|zmedico  |"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     |Pass in the correct arg= value to select_dep.                                |
|zmedico  |                                                                             |

|4510     |Move PORTAGE_LOG_FILE initialization from doebuild to prepare_build_dirs.    |
|zmedico  |                                                                             |

|4511     |Remove outdated "Unable to run required binary" messages that are now        |
|zmedico  |unreachable.                                                                 |

|4512     |Move PORTAGE_BUILDDIR locking out of doebuild and into emerge in order to    |
|zmedico  |ensure that emerge maintains it's lock through all phases.                   |

|4513     |Always check the return value of doebuild_environment().                     |
|zmedico  |                                                                             |

|4514     |Lock PORTAGE_BUILDDIR all the way through prerm, unmerge, and postrm.        |
|zmedico  |                                                                             |

|4515     |Only lock PORTAGE_BUILDDIR if the ebuild exists (otherwise we don't run prerm|
|zmedico  |and postrm).                                                                 |

|4516     |Make doebuild_environment raise an exception so that we never have to check  |
|zmedico  |the return value.                                                            |

|4518     |Remove doebuild_environment return value checks since it no raises and       |
|zmedico  |exception if necessary.                                                      |

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

|4520     |Fix portage.pkgmerge() so that it locks files and directories when in use.   |
|zmedico  |                                                                             |

|4521     |Use the same directories for binary package merges as would be used for      |
|zmedico  |source based merges (since the normal PORTAGE_BUILDDIR is already used by the|
|         |setup, preinst, and postinst phases anyway).                                 |

|4522     |In order to ensure correct merge order such that build time dependencies will|
|zmedico  |really be usable, don't treat RDEPEND as soft_deps. Thanks for Jason Stubbs  |
|         |for recognizing this issue.                                                  |

|4523     |Remove depgraph params for depclean since it no longer uses the depgraph.    |
|zmedico  |                                                                             |

|4524     |Clean up and simplify depgraph params logic. This fixes bug #148893.         |
|zmedico  |                                                                             |

|4525     |For bug #149028, don't lock the tbz2 file because the filesytem could be     |
|zmedico  |readonly or shared by a cluster.                                             |

|4526     |print errors to stderr, not stdout                                           |
|SpankMan |                                                                             |

|4527     |Make `emerge world` (without --deep) work as expected for bug #149092.       |
|zmedico  |                                                                             |

|4528     |Check the dep_check return value and fail with a message if an error has     |
|zmedico  |occurred.                                                                    |

|4529     |Clean up the logic a little for bug #149092.                                 |
|zmedico  |                                                                             |

|4530     |Add a warning about the portage group and the possiblility of exploits for   |
|zmedico  |bug #149062.                                                                 |

|4539     |Add SLOT support to fakedbapi then use it for depgraph blocker handling and  |
|zmedico  |dep_zapdeps preference selection.                                            |

|4540     |Make sure that all packages are in the dbapi when doing the blocker          |
|zmedico  |validation.                                                                  |

|4541     |Fix --update so that it updates direct dependencies for bug #149208.         |
|zmedico  |                                                                             |

|4542     |Revert dep_zapdeps fakedbapi usage as per comment #31 on bug #147766.        |
|zmedico  |                                                                             |

|4543     |In dep_zapdeps preference selection, use package names instead of the real   |
|zmedico  |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.                             |

|4545     |Catch a ValueError caused by corrupt cache for bug #149134.                  |
|zmedico  |                                                                             |

|4546     |Convert emerge option parsing to use python's optparse module. This patch    |
|zmedico  |makes the minimum changes necessary for the conversion and is supposed to be |
|         |100% compatible with previous parsing behavior.                              |

|4547     |Convert myopts into a dictionary so that it can be used for more that boolean|
|zmedico  |flags.                                                                       |

|4548     |Add a --with-bdeps=[y,n] option for bug #148870.                             |
|zmedico  |                                                                             |

|4549     |Add missing calls to iteritems() from the last commit.                       |
|zmedico  |                                                                             |

|4550     |Store myopts in the mtimedb as a list for backward compatibility.            |
|zmedico  |                                                                             |

|4551     |Use dict.pop(k, None) to delete items if they exist.                         |
|zmedico  |                                                                             |

|4552     |Remove some unreachable code.                                                |
|zmedico  |                                                                             |

|4553     |Properly treat myopts as a dict.                                             |
|zmedico  |                                                                             |

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

|4555     |Fix inverted --with-bdeps logic.                                             |
|zmedico  |                                                                             |

|4556     |Fix broken [ -z "" ] test. Thanks to Volkov Peter <pva@gentoo.org> for this  |
|zmedico  |patch from bug #149494.                                                      |

|4557     |Fix quoting of ${D} in make arguments for einstall(). Thanks to Volkov Peter |
|zmedico  |<pva@gentoo.org> for this patch from bug #149494.                            |

|4558     |Allow env.d file names with 3 characters. This is a regression from r4451.   |
|zmedico  |                                                                             |

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

|4560     |Allow options contained in EMERGE_DEFAULT_OPTS to be overridden by the real  |
|zmedico  |command line options.                                                        |

|4561     |Document the new --with-bdeps option.                                        |
|zmedico  |                                                                             |

|4562     |For bug #149412, add a COLLISION_IGNORE user config option that behaves      |
|zmedico  |similar to CONFIG_PROTECT_MASK, but for collision-protect.                   |

|4563     |Document the new COLLISION_IGNORE variable.                                  |
|zmedico  |                                                                             |

|4564     |Update installsources docs for bug #149491.                                  |
|zmedico  |                                                                             |

|4565     |Update CONFIG_PROTECT docs to reflect that files are now supported.          |
|zmedico  |                                                                             |

|4566     |Don't try to match call best_match_to_list() on "blocks" nodes for bug       |
|zmedico  |#149576.                                                                     |

|4567     |Emulate old --update world/system behavior for bug #149527.                  |
|zmedico  |                                                                             |

|4568     |Fix misspelling of dependencies for bug #149645.                             |
|zmedico  |                                                                             |

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

|4571     |Add medium priority level into the digraph (in addition to the existing hard |
|zmedico  |and                                                                          |

|4572     |Fix depgraph.altlist() so that it can identify a group of nodes that         |
|zmedico  |completely satisfy eachothers non-soft deps. This should complete the fix for|
|         |bug #149881.                                                                 |

|4573     |Remove unnecessary set creation.                                             |
|zmedico  |                                                                             |

|4574     |Optimize varexpand for bug #149900.                                          |
|zmedico  |                                                                             |

|4575     |Fix priority logic in digraph.add().                                         |
|zmedico  |                                                                             |

|4576     |In depgraph.altlist(), use a recursive fuction to gather groups of nodes that|
|zmedico  |RDEPEND on eachother.                                                        |

|4577     |Remove a len(nodes) == 1 test that's never True.                             |
|zmedico  |                                                                             |

|4578     |Refector depgraph.altlist() reverse/ignore_priority handling.                |
|zmedico  |                                                                             |

|4579     |Add a digraph.NONE constant to represent no priority.                        |
|zmedico  |                                                                             |

|4580     |Print a message about make.globals if PORTDIR is undefined.                  |
|zmedico  |                                                                             |

|4581     |Use 755 permissions for ${PORTAGE_WORKDIR}/distdir (bug #149062).            |
|zmedico  |                                                                             |

|4582     |Use 01775 permissions for subdirectories of PORTAGE_TMPDIR, and 0755         |
|zmedico  |permissions for other directories (bug #149062).                             |

|4583     |For userpriv support, chown files in ${T} if necessary after priveleged      |
|zmedico  |phases.                                                                      |

|4584     |Don't set the gid unnecessarily on $PORTAGE_BUILDDIR/distdir.                |
|zmedico  |                                                                             |

|4585     |Make PORTAGE_BUILDDIR and subdirectories group writable for now (reverts some|
|zmedico  |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.                                                                 |

|4586     |When gathering a group of nodes to merge (with circular RDEPEND), make sure  |
|zmedico  |not to prematurely merge any nodes that have unsatisfied hard deps.          |

|4587     |Remove redundant PORTAGE_BUILDDIR creation.                                  |
|zmedico  |                                                                             |

|4588     |Properly write all fifo and device nodes to CONTENTS for bug #144781. Code to|
|zmedico  |parse these entries has already in place and they are never unmerged.        |

|4589     |Don't apply the sticky bits until we have a complete plan for bug #149062.   |
|zmedico  |                                                                             |

|4590     |Fix a typo for the file mode in ${T}.                                        |
|zmedico  |                                                                             |

|4591     |Don't create /cvs-src since the cvs.eclass will do that automatically.       |
|zmedico  |                                                                             |

|4593     |Share duplicate code between dep_getkey() and dep_getcpv().                  |
|zmedico  |                                                                             |

|4594     |Add support for slot based dep matching in all dbapi derived classes. The    |
|zmedico  |supported syntax is ${CATEGORY}/${PN}:${SLOT} (identical to that used by     |
|         |paludis and pkgcore).                                                        |

|4595     |For bug #4698, use slot deps to ensure that all installed slots are          |
|zmedico  |automatically updated.                                                       |

|4596     |Just use a simple replace for the needlessly complex dep_transform function. |
|zmedico  |This will make it compatible with slot deps.                                 |

|4597     |Fix package moves/slotmoves to work with slot deps.                          |
|zmedico  |                                                                             |

|4598     |Improve best_match_to_list() and include support for slot deps.              |
|zmedico  |                                                                             |

|4599     |Add news about slot deps.                                                    |
|zmedico  |                                                                             |

|4600     |For bug #150178, print an error message when emerge is called with both      |
|zmedico  |--config and --pretend.                                                      |

|4601     |For bug #150163, remove unnecessary validation of new_protect_filename()     |
|zmedico  |parameters.                                                                  |

|4602     |For bug #14215, put the shlex parser in posix mode so that it properly       |
|zmedico  |recognizes escaped quotes.                                                   |

|4603     |Don't call varexpand inside getconfig for env.d/profile.env values.          |
|zmedico  |                                                                             |

|4604     |Make repoman generate a syntax error if a slot dep is used with EAPI == 0.   |
|zmedico  |                                                                             |

|4605     |For bug #48195, fall back to the installed packages when there are no other  |
|zmedico  |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     |Reject installed packages if they have a matching masked ebuild in the tree. |
|zmedico  |                                                                             |

|4607     |In update_dbentries(), use != rather than "is not" to make sure that updates |
|zmedico  |never occur unnecessarily.                                                   |

|4608     |Delete some temporary variables after use.                                   |
|zmedico  |                                                                             |

|4609     |Add news about major bug fixes in 2.1.2.                                     |
|zmedico  |                                                                             |

|4610     |Add a release note about --with-bdeps.                                       |
|zmedico  |                                                                             |

|4611     |Add a heading for portage-2.1.2.                                             |
|zmedico  |                                                                             |

|4612     |Fix package type assumptions in depgraph.display() for bug #150359.          |
|zmedico  |                                                                             |

|4613     |Remove redunant quotes for bug #150381. This change is related to the shlex  |
|zmedico  |posix mode used to fix bug #14215.                                           |

|4614     |Remove redundant quotes from PORTAGE_RSYNC_OPTS.                             |
|zmedico  |                                                                             |

|4615     |For bug #150377, make virtual preferences in a profile override the          |
|zmedico  |preferences of parent profiles.                                              |

|4616     |Stack negative user virtuals in the correct order for incremental behavior.  |
|zmedico  |                                                                             |

|4617     |Fix dep_transform breakage (regression from r4596).                          |
|zmedico  |                                                                             |

|4618     |For bug #140021, remove autoaddcvs from the docs. Thanks to exg for this     |
|zmedico  |patch.                                                                       |

|4619     |Make system/world less greedy for bug #150251.                               |
|zmedico  |                                                                             |

|4620     |Fix another bad package type assumption in depgraph.display().               |
|zmedico  |                                                                             |

|4621     |For bug #150361, implement greedy matching of command line atoms against     |
|zmedico  |relevant installed slots. This patch allows a subset of installed slots to be|
|         |pulled in via operators such as > or <.                                      |

|4622     |Make the merge phase automatically invalidate the                            |
|zmedico  |${PORTAGE_BUILDDIR}/.installed flag since it may move files out of the image |
|         |directory.                                                                   |

|4623     |Make the .installed invalidation conditional on srcroot and destroot being   |
|zmedico  |located on the same filesystem (st_dev).                                     |

|4624     |Clean up depgraph.select_files() to use one list of tuples instead 2 separate|
|zmedico  |lists.                                                                       |

|4625     |Remove the single parent constraint in profiles.                             |
|zmedico  |                                                                             |

|4626     |Remove use.default documentation since we don't use it anymore. Thanks to    |
|zmedico  |Arfrever Frehtes Taifersar Arahesis for this patch from bug #149608.         |

|4627     |Remove one more reference to use.defaults.                                   |
|zmedico  |                                                                             |

|4628     |Generate the depgraph.args_keys list _before_ building the graph.            |
|zmedico  |                                                                             |

|4629     |Add news about multiple inheritance support in profiles.                     |
|zmedico  |                                                                             |

|4630     |For repoman, hide the vardbapi from dep_zapdeps.                             |
|zmedico  |                                                                             |

|4631     |Use a local_config flag to replace PORTAGE_CALLER == repoman conditionals.   |
|zmedico  |                                                                             |

|4632     |Remove unused PORTAGE_CALLER=emerge from the environment.                    |
|zmedico  |                                                                             |

|4633     |Remove unused PORTAGE_CALLER=portageq from the environment.                  |
|zmedico  |                                                                             |

|4636     |Fix typo s/upper/lower/.                                                     |
|zmedico  |                                                                             |

|4637     |Remove unnecessary config.reset() calls in portage.create_trees().           |
|zmedico  |                                                                             |

|4638     |Catch UnpicklingError when loading the mtimedb (reported by marienz).        |
|zmedico  |                                                                             |

|4639     |Remove outdated mention of --update in the --deep docs.                      |
|zmedico  |                                                                             |

|4640     |Document greedy atoms for the --update option.                               |
|zmedico  |                                                                             |

|4641     |Make --newuse not imply --update anymore because that restriction is         |
|zmedico  |unnecessary.                                                                 |

|4642     |Make --tree not imply --pretend anymore so that people can put it in         |
|zmedico  |EMERGE_DEFAULT_OPTS.                                                         |

|4643     |Avoid unnecessary population of the bintree by populating it as late as      |
|zmedico  |possible.                                                                    |

|4644     |Simplify the needlessly complex virtuals preferencing logic that lead to bug |
|zmedico  |#150377.                                                                     |

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

|4646     |Print a more useful error message for bug #150488.                           |
|zmedico  |                                                                             |

|4647     |Only do a slotmove on a slot dep atom if the slotmove atom has no operator   |
|zmedico  |(otherwise there's not enough information to perform the slotmove).          |

|4648     |Only unlink .installed after the collision-protect has completed successfully|
|zmedico  |(reported by axxo).                                                          |

|4649     |Fix breakage in generation of favorites list for bug #150754.                |
|zmedico  |                                                                             |

|4650     |Remove an unnecessary assumption preventing the use of CVS for an overlay.   |
|zmedico  |                                                                             |

|4651     |Don't lock repoman_settings because it needs to be mutable.                  |
|zmedico  |                                                                             |

|4652     |Add more self.modifying() checks in order to detect modifcations to locked   |
|zmedico  |config objects.                                                              |

|4653     |do not abort for the time being with lazy bindings and setuid apps and       |
|SpankMan |FEATURES=stricter                                                            |

|4654     |Move PORTAGE_BUILDDIR in to a category subdirectory and clean up the category|
|zmedico  |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     |For bug #150121, generate an error in digestcheck() if a file is found that  |
|zmedico  |is not listed in the Manifest.                                               |

|4656     |Make manifest2AuxfileFilter() slightly more efficient and also ignore any    |
|zmedico  |hidden files.                                                                |

|4657     |disable path globbing when creating metadata keys; bug 150866; thanks to     |
|blubb    |brian harring for the patch                                                  |

|4658     |Use grabfile instead of cat to display the gentoo-release file.              |
|zmedico  |                                                                             |

|4659     |Append PORTAGE_RSYNC_EXTRA_OPTS after the default options for bug #150883.   |
|zmedico  |                                                                             |

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

|4661     |Use contents to avoid unnecessary ldconfig calls for bug #136488.            |
|zmedico  |                                                                             |

|4662     |Make an mtime change force an ldconfig run, since it's possible that         |
|zmedico  |pre/postinst made changes in lib dirs (noted by Brian Harring).              |

|4663     |Escape quotes for bug #150932.                                               |
|zmedico  |                                                                             |

|4664     |Fix the new env-update lib dirs logic to properly account for $ROOT.         |
|zmedico  |                                                                             |

|4675     |For bug #151238, fix --with-bdeps logic so that it works correctly with      |
|zmedico  |--onlydeps.                                                                  |

|4676     |For bug #151146, don't use tar's --verbose option during the package phase   |
|zmedico  |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).                       |

|4677     |Always `unset DEPEND RDEPEND PDEPEND IUSE` prior to sourcing the ebuild in   |
|zmedico  |order to ensure correct interaction during the process of sourcing. Thanks to|
|         |exg for reporting this issue.                                                |

|4678     |For bug #151082, don't allow installed packages to inappropriately satisfy   |
|zmedico  |packages that have been explicitly requested as arguments.                   |

|4679     |Implement per-package default USE flags at the ebuild and profile levels for |
|zmedico  |bug #61732.                                                                  |

|4683     |Fix a KeyError triggered by blockers in depgraph.display() for bug #151331.  |
|zmedico  |                                                                             |

|4697     |Fix the USE flag handling in depgraph.display() for bug #151331, comment #5. |
|zmedico  |                                                                             |

|4698     |This patch implements intelligent navigation around blockers in cases where  |
|zmedico  |the merge order can be adjusted (via hard deps) such that two mutually       |
|         |blocking packages aren't installed simultanously. This fixes bug #150879.    |

|4699     |Fix display of nomerge nodes and --tree for ROOT!=/.                         |
|zmedico  |                                                                             |

|4700     |Disable the ECLASS inherited illegally message during *rm phases since it    |
|zmedico  |gives false alarms (bug #150442).                                            |

|4701     |Use globing to match *rm phases from the last commit.                        |
|zmedico  |                                                                             |

|4704     |Simplify binarytree.getname().                                               |
|zmedico  |                                                                             |

|4708     |Add a missing method parameter.                                              |
|zmedico  |                                                                             |

|4712     |Trigger binarytree population on bindbapi.cpv_all() calls.                   |
|zmedico  |                                                                             |

|4718     |Make grabdict incremental, so that keys occuring multiple times will stack up|
|zmedico  |instead of overwritting eachother. Thanks to Sven Wegener for this           |
|         |suggestion.                                                                  |

|4719     |Simplify and optimize grabdict. Thanks to Brian Harring for suggesting this. |
|zmedico  |                                                                             |

|4722     |For bug #133908, prevent collisions in ${PKGDIR}/All/ by automatically       |
|zmedico  |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.                              |

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

|4726     |When unable to navigate around blockers, add them back to the main digraph so|
|zmedico  |that the --tree display can show them properly. This fixes the KeyError      |
|         |reported in comment #15 of bug #151331                                       |

|4728     |Remove blocker nodes from the digraph prior to the merge order calculation so|
|zmedico  |that they don't trigger false circular dependencies as reported in comment   |
|         |#17 of bug #151331.                                                          |

|4729     |Blockers that depend on merge order must be validated by                     |
|zmedico  |depgraph.altlist(reversed=False) before the reverse tree is generated, since |
|         |the validation won't work in reverse mode.                                   |

|4730     |Fix altlist blocker validation logic so that the correct nodes are added to  |
|zmedico  |the list when called in reverse mode.                                        |

|4731     |Always add blockers with priority=digraph.SOFT so that blockers with multiple|
|zmedico  |parents can't trigger a circular deps panick.                                |

|4732     |Make --depclean treat DEPEND as soft deps instead of forcing the user to have|
|zmedico  |all build time deps installed.                                               |

|4733     |Use setdefault to avoid an extra dict lookup.                                |
|zmedico  |                                                                             |

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

|4735     |Stack use.mask/package.use.mask together at each level of the profile for bug|
|zmedico  |#151586, and do the same with use.force/package.use.force.                   |

|4736     |Add -* support to stack_lists() and use dict.pop() for removal of flags when |
|zmedico  |appropriate.                                                                 |

|4737     |Add back the -v option for tar (removed for bug #151146) in dyn_package(),   |
|zmedico  |but don't enable -v when --quiet is enabled.                                 |

|4738     |Encapsulate altlist calls (for blockers that depend on merge order) in       |
|zmedico  |validate_blockers().                                                         |

|4741     |Filter empty elements in cumulative env-update variables. Thanks to Brian    |
|zmedico  |Harring for this patch from bug #151694.                                     |

|4742     |Fix CONFIG_PROTECT so that is works with symlinked directories for bug       |
|zmedico  |#151502.                                                                     |

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

|4744     |Eliminate an unnecessary string concatenation.                               |
|zmedico  |                                                                             |

|4745     |Add more dependency priority levels for merge order calculations. Previously,|
|zmedico  |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     |Fix a typo in xrange arguments from the previous commit.                     |
|zmedico  |                                                                             |

|4747     |Remove the unused system slot from DepPriority.                              |
|zmedico  |                                                                             |

|4748     |Fix --usepkg --newuse logic so that it doesn't throw a KeyError if there's no|
|zmedico  |matching ebuild in the tree.                                                 |

|4749     |Add __weakref__ to __slots__ so that weakref support isn't disabled.         |
|zmedico  |                                                                             |

|4750     |Don't initialize __weakref__ in the DepPriority constructor.                 |
|zmedico  |                                                                             |

|4751     |All packages to be added to the world favorites via --noreplace, even when   |
|zmedico  |--ask is enabled. Thanks to leio for reporting this issue.                   |

|4752     |Explicitly set the priority when a node is added to enforce merge order for  |
|zmedico  |blocker avoidance.                                                           |

|4753     |Handle unresolvable blockers properly for bug #151822.                       |
|zmedico  |                                                                             |

|4756     |s/digraph.MEDIUM/DepPriority.MEDIUM/                                         |
|zmedico  |                                                                             |

|4759     |Only call altlist() to validate blockers when necessary.                     |
|zmedico  |                                                                             |

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

|4761     |Remove special case of --emptytree in depgraph.display(). Thanks to Jason    |
|zmedico  |Stubbs for this patch from bug #152030.                                      |

|4762     |Make dosed use sed -i instead of a temp file. Thanks to Tim Cera for this    |
|zmedico  |patch from bug #152017.                                                      |

|4763     |Fix sed options from the previous commit so that it doesn't create a backup  |
|zmedico  |file ending with "e". Thanks to grobian for spotting this issue.             |

|4766     |Clean up the blocker validation logic so that "blocks" nodes are no longer   |
|zmedico  |stored in the main digraph.                                                  |

|4769     |We there is a circular deps panic in reversed mode, do the circular deps     |
|zmedico  |output without reversed mode since it should reduce the noise level.         |

|4771     |Allow an empty PROMPT_COMMAND for bug #152157.                               |
|zmedico  |                                                                             |

|4772     |For bug #152175, trigger greedy --update behavior when an atom matches a slot|
|zmedico  |that isn't installed yet.                                                    |

|4773     |Apply the fix for bug #152175 to system/world greedy behavior.               |
|zmedico  |                                                                             |

|4774     |In greedy atom handlink, filter binary package for visiblity.                |
|zmedico  |                                                                             |

|4775     |More filtering binary package for visiblity in greedy atom handling.         |
|zmedico  |                                                                             |

|4776     |Add nodes to the fakedb in depgraph.create instead of depgraph.select_deps.  |
|zmedico  |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     |Update the docs regarding delay of config.setinst calls for bootstrap deps on|
|zmedico  |old-style virtuals.                                                          |

|4778     |Remove redunant population of the fakedb in depgraph.validate_blockers, since|
|zmedico  |r4776 makes it unnecessary.                                                  |

|4779     |Add news about new-style virtuals being usable for bootstrap deps on self.   |
|zmedico  |                                                                             |

|4780     |Add package.use to the list of files supported in profiles.                  |
|zmedico  |                                                                             |

|4781     |Add news about package.use in profiles and default USE in ebuilds via +flag  |
|zmedico  |in IUSE.                                                                     |

|4782     |For bug #152157, don't send a redundant escape sequence with                 |
|zmedico  |${PROMPT_COMMAND}.                                                           |

|4783     |Also check keyword visibility via gvisible.                                  |
|zmedico  |                                                                             |

|4786     |Optimize config.setcpv so that it only calls regenerate when necessary.      |
|zmedico  |Thanks to Jason Stubbs for the initial patch from bug #17367.                |

|4787     |Use reset instead of regenerate (revert part of the previous commit) in order|
|zmedico  |to properly clear the env layer of the config.                               |

|4788     |Fix visibility checks so that binary packages aren't masked just because     |
|zmedico  |there is no matching ebuild in the tree.                                     |

|4789     |Call load_infodir before the setup phase for binary packages so that USE is  |
|zmedico  |properly set.                                                                |

|4790     |Don't put empty incrementals in the environment.                             |
|zmedico  |                                                                             |

|4791     |Do put empty incrementals in the environment if they are already set.        |
|zmedico  |                                                                             |

|4792     |Add support for masking of packages via ACCEPT_LICENSE and                   |
|zmedico  |/etc/portage/package.license. Thanks to Jason Stubbs for the initial patch   |
|         |from bug #17367.                                                             |

|4793     |s/str_matches/acceptable_licenses/ typo                                      |
|zmedico  |                                                                             |

|4794     |Fix gcc version parsing once again for bug #137786. sigh. :)                 |
|zmedico  |                                                                             |

|4797     |Add some ACCEPT_LICENSE docs.                                                |
|zmedico  |                                                                             |

|4798     |Put the package.keywords docs in alphabetical order with the others.         |
|zmedico  |                                                                             |

|4799     |Add some package.license docs.                                               |
|zmedico  |                                                                             |

|4800     |Add news about ACCEPT_LICENSE and package.license.                           |
|zmedico  |                                                                             |

|4801     |Make config.load_infodir also load the data into the env layer in order to   |
|zmedico  |ensure that it has preference over what may have been there.                 |

|4802     |Don't limit the size of USE in config.load_infodir.                          |
|zmedico  |                                                                             |

|4803     |Add package.license to the list of files.                                    |
|zmedico  |                                                                             |

|4804     |Don't put -* in the env layer, since that layer isn't part of the incremental|
|zmedico  |stacking in regenerate.                                                      |

|4805     |In getmaskingstatus(), add missing check for * in acceptable_licenses.       |
|zmedico  |                                                                             |

|4806     |Don't display the "Please update portage" message in --quiet mode. Thanks to |
|zmedico  |solar.                                                                       |

|4807     |Remove paths from _eclasses_ serialization in the cache. This makes the      |
|zmedico  |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.                                                                     |

|4808     |Enable recognition of _mtime_ that doesn't rely on cache mtime mangling.     |
|zmedico  |                                                                             |

|4809     |Add ACCEPT_LICENSE back to incrementals so that profiles can affect it.      |
|zmedico  |                                                                             |

|4810     |Disable ACCEPT_LICENSE support until the details of license groups are       |
|zmedico  |decided and implemented.                                                     |

|4813     |Remove ACCEPT_LICENSE docs until they're really implemented.                 |
|zmedico  |                                                                             |

|4814     |Improve reconstruct_eclasses error handling.                                 |
|zmedico  |                                                                             |

|4815     |For the time being, write a variation of the old _eclass_ format so that     |
|zmedico  |cache written only forces a regen for older versions of portage rather than a|
|         |ValueError due to failed long() conversion.                                  |

|4817     |For bug #152726, ignore hidden files in vardbapi.cp_list().                  |
|zmedico  |                                                                             |

|4818     |For full compatibility with older versions of portage, write the path in the |
|zmedico  |serialized _eclasses_ when possible.                                         |

|4819     |Fix broken is_eclass_data_valid comparison logic.                            |
|zmedico  |                                                                             |

|4820     |Test for basestring instead of types.DictType so that the test more generic. |
|zmedico  |                                                                             |

|4821     |Reverse the relationship between __contains__ and has_key in all cache       |
|zmedico  |classes since python handles the "in" operator more efficiently than a       |
|         |has_key method call.                                                         |

|4822     |streamline portage pythonpath handling and add an override analog to how the |
|genone   |bash side does it                                                            |

|4823     |rename getmaskingreason() to getpmaskcomment() to clarify its function,      |
|genone   |report each license as a separate mask instead of combining them all together|
|         |into a single value for getmaskingstatus()                                   |

|4824     |need a mutable config instance to use setcpv                                 |
|genone   |                                                                             |

|4826     |add function getlicensetexts() to extract license texts relevant to a given  |
|genone   |cpv (to be used by emerge masked by display)                                 |

|4827     |show licenses or pointer to license files on 'masked by' message             |
|genone   |                                                                             |

|4828     |show licenses or pointer to license files on 'masked by' message             |
|genone   |                                                                             |

|4848     |Do not pass the "clean" parameter to doebuild since it causes ${T} to be     |
|zmedico  |cleaned up when it shouldn't be. Thanks to Mr_Bones_ for reporting.          |

|4850     |Don't bother to insert /usr/lib/portage/pym into sys.path from inside a      |
|zmedico  |module. That's the caller's job.                                             |

|4851     |Add --with-bdeps to emerge --help output.                                    |
|zmedico  |                                                                             |

|4852     |Update help for --deep.                                                      |
|zmedico  |                                                                             |

|4853     |Update help for greedy behavior of --update.                                 |
|zmedico  |                                                                             |

|4855     |Add backward compatibility code for cache modules that override has_key      |
|zmedico  |instead of __contains__.                                                     |

|4858     |Avoid a TypeError with emerge -kN when there's no matching ebuild.           |
|zmedico  |                                                                             |

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

|4867     |Prevent an attribute error AttributeError for invalid binary packages for    |
|zmedico  |which there is no CATEGORY data.                                             |

|4869     |Don't forget to continue for invalid binpkgs.                                |
|zmedico  |                                                                             |

|4872     |Use a tuple for __slots__ so that it's immutable.                            |
|zmedico  |                                                                             |

|4877     |For bug #153295, do a sanity check for non-string types in config.environ(). |
|zmedico  |                                                                             |

|4879     |For getmaskingstatus messages, don't assume ARCH is a valid keyword, since   |
|zmedico  |that assumption is not necessarily correct for operating systems other than  |
|         |Linux. Thanks to Diego Pettenò for reporting.                               |

|4881     |Just use stat instead of lstat for config protect, so that broken symlinks   |
|zmedico  |are just ignored.                                                            |

|4884     |Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating portage's python |
|zmedico  |modules, then fall back to an explicit sys.path insertion if an ImportError  |
|         |occurs.                                                                      |

|4885     |Fix a KeyError when the profile doesn't define default USE.                  |
|zmedico  |                                                                             |

|4887     |Add support for frozen config files for which updates are automatically      |
|zmedico  |zapped. Thanks to Bo Ã˜rsted Andresen for the initial patch from bug #151685.|

|4889     |recommend people use `emake` rather than `make` when installing with DESTDIR |
|SpankMan |                                                                             |

|4893     |For bug #153295, make load_infodir ignore files that contain null bytes.     |
|zmedico  |                                                                             |

|4899     |For bug #153282, automatically find the owner package(s) in the event of a   |
|zmedico  |fatal file collision (since the collision is fatal, the performance hit      |
|         |doesn't matter).                                                             |

|4901     |For bug #129670, skip the replace-cvs and replace-wscomments tests if the    |
|zmedico  |diff exit code indicates two two binary files that differ.                   |

|4903     |For bug #116616, only run the post_process phase if necessary.               |
|zmedico  |                                                                             |

|4906     |Implement --color < y | n > for bug #42115 and deprecate --nocolor. When     |
|zmedico  |--color is not specified, rely on the old NOCOLOR variable and/or stdout     |
|         |auto-detection.                                                              |

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

|4908     |Add --color < y | n > help output for bug #42115.                            |
|zmedico  |                                                                             |

|4909     |Remove broken nocolor() call, since thats handled internally by the output   |
|zmedico  |module anyway.                                                               |

|4912     |Fix the USE_ORDER docs for bug #153764. Thanks to Alec Warner for the initial|
|zmedico  |patch.                                                                       |

|4916     |For bug #153951, fail with a simple "Permission denied" error if the merge   |
|zmedico  |phase doesn't have write access to $ROOT.                                    |

|4918     |Silently omit info_pkgs that aren't installed. Thanks to solar.              |
|zmedico  |                                                                             |

|4920     |Enable RESTRICT=ccache. Thanks to drizzt for reporting.                      |
|zmedico  |                                                                             |

|4922     |Don't allow RESTRICT=ccache since it should work and if not then it's a bug  |
|zmedico  |that ought to be fixed. Thanks to vapier.                                    |

|4924     |When transferring cache after sync, compare all metadata to make sure it is  |
|zmedico  |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     |Make sure trg is defined.                                                    |
|zmedico  |                                                                             |

|4926     |Fix --ignore-default-opts for bug #153980.                                   |
|zmedico  |                                                                             |

|4929     |Revert implicit rdepend behavior back to the way it was in portage-2.0.51.   |
|zmedico  |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.                      |

|4947     |Prevent the --newuse check in depgraph.create() that is intended for the     |
|zmedico  |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     |Ensure that sys-apps/portage is as close as possible to the beginning of the |
|zmedico  |merge list. This is accomplished by merging it before any soft deps that it  |
|         |may have.                                                                    |

|4950     |Remove "update portage before proceeding" message that is no longer relevant.|
|zmedico  |                                                                             |

|4951     |Remove old code the used to bump portage near the top of the merge list. It's|
|zmedico  |ineffective now that a complete depgraph is built.                           |

|4953     |Make sure the node is still in the graph so that a KeyError can't happen.    |
|zmedico  |                                                                             |

|4955     |For bug #154223, bridge new-style virtuals into old-style virtuals in order  |
|zmedico  |to prevent old-style virtuals from making new-style virtuals invisible.      |

|4957     |Make config.add_new_virtuals() work properly even if self.virtuals has       |
|zmedico  |previously been initialized.                                                 |

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

|4962     |Simplify the new-style -> old-style virtuals bridge by doing it implicitly   |
|zmedico  |for all virtuals instead of explicit scanning for available new-style        |
|         |virtuals.                                                                    |

|4966     |Minimize getvirtuals() calls and dict lookups inside dep_virtual().          |
|zmedico  |                                                                             |

|4968     |Fix validate_blockers() so that a package doesn't block itself via a virtual |
|zmedico  |that it provides.                                                            |

|4970     |Print the number of upgrades, downgrades, etc. next to size of downloads.    |
|zmedico  |Thanks to Bo Ã˜rsted Andresen <bo.andresen@zlin.dk> for the initial patch    |
|         |from bug #153847.                                                            |

|4972     |Thanks to Chris White for these portage_checksum docstrings.                 |
|zmedico  |                                                                             |

|4974     |Thanks to Bo Ã˜rsted Andresen <bo.andresen@zlin.dk> for this output fix for  |
|zmedico  |bug #153847.                                                                 |

|4976     |Plug some holes in the blocker validation logic so that nothing can slip     |
|zmedico  |through.                                                                     |

|4978     |Remove some stray blocker validation logic.                                  |
|zmedico  |                                                                             |

|4980     |s/grabdict/grabdict_package/ for bug #63429.                                 |
|zmedico  |                                                                             |

|4983     |For bug #154207, add a note about package.provided to the depclean warning   |
|zmedico  |message.                                                                     |

|4984     |Add --newuse back to the suggested options in the depclean warning message,  |
|zmedico  |since it's still needed in some cases.                                       |

|4987     |Thanks to Chris White for these portage_dep docstrings.                      |
|zmedico  |                                                                             |

|4999     |Thanks again to Chris White for these additional portage_dep docstrings.     |
|zmedico  |                                                                             |

|5002     |Make digestcheck() fail if an ebuild isn't listed in the Manifest. Thanks to |
|zmedico  |pva for reporting.                                                           |

|5004     |Fix emerge --sync with a cvs:// uri so that it runs                          |
|zmedico  |/etc/portage/bin/post_sync like it would with a normal rsync:// uri. Thanks  |
|         |to drizzt for reporting.                                                     |

|5006     |Fix initial cvs checkout logic for bug #100478.                              |
|zmedico  |                                                                             |

|5008     |For initial gentoo-x86 checkout, if $PORTDIR exists and is empty then remove |
|zmedico  |it so that the gentoo-x86 checkout can replace it.                           |

|5010     |For bug #154554, validate all profile virtuals atoms.                        |
|zmedico  |                                                                             |

|5012     |Fix depgraph.pkg_node_map so that it properly supports $ROOT.                |
|zmedico  |                                                                             |

|5021     |For bug #154921, prevent an IndexError when a + is in USE.                   |
|zmedico  |                                                                             |

|5023     |For bug #154919, when depclean is unable to resolve dependencies, notify the |
|zmedico  |user that it may be necessary to manually uninstalled packages that no longer|
|         |exist in the portage tree.                                                   |

|5027     |For bug #154989, use a single lock on /var/db/pkg since finer grained locking|
|zmedico  |is unnecessary and often insufficient.                                       |

|5028     |For bug #154989, lock /var/db/pkg while determining which packages to        |
|zmedico  |unmerge, then release the lock. The lock will be reacquired/released for each|
|         |individual unmerge, allowing opportunities for other processes to acquire it.|

|5030     |Use try/finally to ensure that locks are properly released in                |
|zmedico  |portdbapi.aux_get().                                                         |

|5031     |Use try/finally to ensure that locks are properly released in                |
|zmedico  |perform_checksum().                                                          |

|5032     |Use try/finally to ensure that locks are properly released in emergelog().   |
|zmedico  |                                                                             |

|5033     |Use try/finally to ensure that locks are properly released in                |
|zmedico  |dblink.unmerge().                                                            |

|5034     |Remove reentrance support for dblink.lockdb() since it's no longer used and  |
|zmedico  |it won't necessarily work correctly now that a global vdb lock is used.      |

|5036     |For bug #154986, show the usual "Filesize does not match recorded size"      |
|zmedico  |message even for fetch restricted files.                                     |

|5038     |For bug #154897, show a summary of fetch restrictions if there are any.      |
|zmedico  |                                                                             |

|5040     |Cache depgraph.altlist results, since altlist is called multiple times and   |
|zmedico  |can be time consuming for a large depgraph.                                  |

|5042     |Make fakedbapi support generic metadata instead of just slots.               |
|zmedico  |                                                                             |

|5044     |Remove useless unmerge() call after collision-protect has prevented anything |
|zmedico  |from being merged.                                                           |

|5046     |Fix a lock file leak.                                                        |
|zmedico  |                                                                             |

|5048     |Make portage.global_updates() return any updates that may have been          |
|zmedico  |performed.                                                                   |

|5049     |Only reload the config if global updates have actually been performed.       |
|zmedico  |                                                                             |

|5051     |Automatically convert --ask to --pretend when the user doesn't have the      |
|zmedico  |privileges for --ask. Thanks to Daniel Barkalow <barkalow@iabervon.org> for  |
|         |the initial patch (submitted on gentoo-portage mailing list).                |

|5053     |Don't try to lock the vdb unless privileges are sufficient.                  |
|zmedico  |                                                                             |

|5055     |For bug #141118, make dep_check do recursive expansion of new-style virtuals.|
|zmedico  |                                                                             |

|5057     |Add a note about removal of new-style virtuals in the depclean output.       |
|zmedico  |                                                                             |

|5061     |Pull in the new-style virtuals and install them so that the vdb has complete |
|zmedico  |standalone dep info, in case a portage tree isn't available.                 |

|5062     |For bug #141118, make dep_zapdeps assign zero cost to new-style virtuals.    |
|zmedico  |                                                                             |

|5063     |Revert the depclean message, since new-style virtuals will now be kept.      |
|zmedico  |                                                                             |

|5064     |Update the _expand_new_virtuals docstring with a not about zero cost for     |
|zmedico  |new-style virtuals.                                                          |

|5066     |Fix _expand_new_virtuals so that it doesn't allow any virtual deps to go     |
|zmedico  |unaccounted for.                                                             |

|5067     |Integrate old-style virtuals handling into _expand_new_virtuals() and prefer |
|zmedico  |new-style over old-style whenever they are available.                        |

|5069     |Fix a typo that prevents emerge --clean from working properly. Thanks to leio|
|zmedico  |for reporting.                                                               |

|5071     |For bug #155484, apply PORTAGE_NICENESS as soon as possible (especially      |
|zmedico  |before global updates).                                                      |

|5073     |Make fixpackages use PORTAGE_NICENESS.                                       |
|zmedico  |                                                                             |

|5075     |s/settings/mysettings/ typo                                                  |
|zmedico  |                                                                             |

|5081     |Revert ACCEPT_LICENSE support, since license group support is a requirement  |
|zmedico  |and it remain unimplemented. This brings trunk back into sync with the 2.1.2 |
|         |branch.                                                                      |

|5085     |For bug #155559, force depclean dep_check calls to preference installed      |
|zmedico  |packages.                                                                    |

|5086     |Use fake_vardb for cached aux_get calls.                                     |
|zmedico  |                                                                             |

|5088     |Fix portdbapi.cpv_all() so that it actually returns a list of all available  |
|zmedico  |ebuilds.                                                                     |

|5092     |Use mydbapi is None to eliminate the return_all_deps parameter from dep_check|
|zmedico  |and dep_zapdeps. The result is the same and this way we avoid having an      |
|         |additional parameter with overlapping meaning.                               |

|5093     |Allow dep_wordreduce to mark things satisfied by package.provided even when  |
|zmedico  |mydbapi is None.                                                             |

|5095     |For depclean, just pass in None for mydbapi (instead of an empty fakedbapi   |
|zmedico  |instance) since that's now supported.                                        |

|5096     |Remove redundant package.provided handling that is now covered by            |
|zmedico  |dep_wordreduce.                                                              |

|5097     |Remove more redundant package.provided handling that is now covered by       |
|zmedico  |dep_wordreduce.                                                              |

|5101     |Allow the ROOT setting to come from make.conf. Thanks to Daniel Barkalow     |
|zmedico  |<barkalow@iabervon.org> for this patch (submitted on the gentoo-portage-dev  |
|         |mailing list).                                                               |

|5105     |For bug #155739, only check if a dep is in the args when myroot ==           |
|zmedico  |self.target_root.                                                            |

|5106     |Print a warning message if a user requests a package from package.provided   |
|zmedico  |(since it won't be merged).                                                  |

|5107     |Enable PORTAGE_CONFIGROOT to be set via an new --config-root option. Thanks  |
|zmedico  |to Daniel Barkalow <barkalow@iabervon.org> for the initial patch (submitted  |
|         |on the gentoo-portage-dev mailing list).                                     |

|5114     |For bug #142993, make sure that chown and chgrp calls preserve S_ISUID and   |
|zmedico  |S_ISGID mode bits.                                                           |

|5115     |Fix apply_permissions logic for cases where mode is unspecified.             |
|zmedico  |                                                                             |

|5116     |Fix bit mask support when preserving S_ISUID and S_ISGID in                  |
|zmedico  |apply_permissions.                                                           |

|5117     |Really fix bit mask support when preserving S_ISUID and S_ISGID in           |
|zmedico  |apply_permissions.                                                           |

|5118     |Fix a KeyError in emerge --info when there is no matching ebuild in the tree.|
|zmedico  |Thanks to Bo Ã˜rsted Andresen <bo.andresen@zlin.dk> for reporting.           |

|5119     |Use portage_data.lchown for compatibility.                                   |
|zmedico  |                                                                             |

|5121     |For bug #150585, stack package.keywords incrementally so that -keyword works |
|zmedico  |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.                                                         |

|5122     |For bug #156014, always round up the next kB so that it doesn't show 0 kB    |
|zmedico  |when some small file still needs to be fetched.                              |

|5123     |Allow -keyword to be matched since some ebuilds use it. Thanks to Brian      |
|zmedico  |Harring reporting on bug #150585.                                            |

|5129     |For bug #8423, allow the merge phase to overwrite untouched config files and |
|zmedico  |also allow the unmerge phase to unmerge untouched config files.              |

|5133     |Never overwrite an untouched config file and trigger config protection       |
|zmedico  |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     |Update the dblink.isprotected() docstring.                                   |
|zmedico  |                                                                             |

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

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

|5142     |- make sure QUIET mode is exported to the environment properly when using -q |
|solar    |mode.                                                                        |

|5143     |- no point in forking a call to true when we can simply use the bash internal|
|solar    |of : for true                                                                |

|5146     |add ReST template to be used for manpage/make.globals/make.conf.example      |
|genone   |generation later on                                                          |

|5147     |fix a few docutils errors                                                    |
|genone   |                                                                             |

|5148     |use a link in CXXFLAGS section (the typo caused it to be a target)           |
|genone   |                                                                             |

|5150     |Always verify the ebuild checksums before executing it. Thanks to solar for  |
|zmedico  |the suggestion and antarus for the initial patch.                            |

|5151     |For manifest and digest phases, use a global variable to temporarily exempt  |
|zmedico  |the depend phase from manifest checks (in cache regeneration is triggered).  |

|5152     |Temporarily exempt the depend phase during the help phase also.              |
|zmedico  |                                                                             |

|5153     |Avoid checking the same Manifest several times in a row during a regen with  |
|zmedico  |an empty cache.                                                              |

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

|5155     |Only attempt to verify the Manifest if the ebuild is actually in a portage   |
|zmedico  |tree.                                                                        |

|5156     |Make sure that *all* of the ebuilds are listed in the Manifest.              |
|zmedico  |                                                                             |

|5157     |Make sure that all depend phases triggered by the digest phase are exempt    |
|zmedico  |from digest checks.                                                          |

|5159     |Skip digest checks when digest is in features.                               |
|zmedico  |                                                                             |

|5160     |Make portage.digestgen() automatically exempt the depend phase from Manifest |
|zmedico  |checks so that it works for repoman without triggering a digest verification |
|         |failure.                                                                     |

|5161     |Move the global statement out of the try block so that it's clearly in scope |
|zmedico  |for the finally block.                                                       |

|5164     |drop RESTRICT=stricter since every aspect it covers can be handled properly  |
|SpankMan |via other means                                                              |

|5166     |When portdbapi.aux_get() generates a KeyError in portage.getmaskingstatus(), |
|zmedico  |handle it by reporting "corruption".                                         |

|5167     |Make `repoman fix` work with the new ebuild Manifest checks during depend    |
|zmedico  |phase.                                                                       |

|5168     |Update the RESTRICT=binchecks docs. Thanks to jakub for the suggestion and   |
|zmedico  |antarus for the patch.                                                       |

|5169     |For `ebuild --force digest`, exempt the depend phase from Manifest checks.   |
|zmedico  |                                                                             |

|5171     |Use portage.chdir() instead of os.chdir() in order to avoid an 'OSError:     |
|zmedico  |[Errno 2] No such file or directory' if the working directory doesn't exist. |
|         |Thanks to Caster for reporting.                                              |

|5173     |For bug #157134, make `emerge --digest` automatically reload the config with |
|zmedico  |FEATURES=digest enabled globally.                                            |

|5174     |Fix up mtimedb["ldpath"] references broken by the previous commit.           |
|zmedico  |                                                                             |

|5175     |Make match_to_list = behavior consistent with >= and <= for bug #152127.     |
|zmedico  |                                                                             |

|5176     |Sync match_to_list >=, <=, etc.. code with the new = code.                   |
|zmedico  |                                                                             |

|5178     |Implement fakedbapi.aux_update().                                            |
|zmedico  |                                                                             |

|5180     |Remove unused depgraph.is_newer_ver_installed() method.                      |
|zmedico  |                                                                             |

|5184     |Remove dependence on the vartree api by using equivalent vardbapi calls.     |
|zmedico  |                                                                             |

|5185     |Only call calc_changelog if there is an installed version in the same slot.  |
|zmedico  |                                                                             |

|5189     |Use a fake vartree for depgraph calculations. This minimizes the time that a |
|zmedico  |lock needs to be held on the vardb, and allows in-memory global updates when |
|         |necessary.                                                                   |

|5190     |Delete the depgraph when it's no longer needed.                              |
|zmedico  |                                                                             |

|5191     |Use FakeVartree for vardb lock/cache during depclean.                        |
|zmedico  |                                                                             |

|5192     |Allow depclean to silently skip packages unmerged behind it's back.          |
|zmedico  |                                                                             |

|5193     |Fix depclean so the fake vartree is used in dep_check calls.                 |
|zmedico  |                                                                             |

|5194     |Always silently ingnore missing packages during unmerge.                     |
|zmedico  |                                                                             |

|5195     |Remove all traces of the unmerge raise_on_missing parameter.                 |
|zmedico  |                                                                             |

|5196     |Fix indentation.                                                             |
|zmedico  |                                                                             |

|5197     |For bug #157385, enable portage.digestgen() to fetch any distfiles for which |
|zmedico  |there are no existing digests.                                               |

|5198     |Fix broken SRC_URI logic from the previous commit.                           |
|zmedico  |                                                                             |

|5199     |Fix broken SRC_URI logic in doebuild.                                        |
|zmedico  |                                                                             |

|5200     |Make repoman bail out if it's unable to generate the Manifest.               |
|zmedico  |                                                                             |

|5201     |For bug #157393, fix up ebuild path normalization so that it's compatible    |
|zmedico  |with portdbapi handling and works properly with symlinks (like crossdev      |
|         |creates).                                                                    |

|5202     |Make sure the ebuild path is properly normalized.                            |
|zmedico  |                                                                             |

|5203     |Fix the 'TypeError: not all arguments converted during string formatting' for|
|zmedico  |bug #157385.                                                                 |

|5204     |Revert r5175 for bug #152127 since the original = behavior seems more        |
|zmedico  |desirable. We can change the >= and <= behavior instead.                     |

|5205     |For bug #152127, make vercmp give less value to implcit .0, so two versions  |
|zmedico  |that aren't literally equal are not ambiguously given the same value (in     |
|         |sorting, for example).                                                       |

|5206     |Share the same config instance between portagetree and portdbapi instances   |
|zmedico  |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     |Enable FakeVartree to populate the virtuals so that the vdb doesn't have to  |
|zmedico  |be scanned separately.                                                       |

|5208     |portage_versions lacks a header or copyright notice :x                       |
|WarnerBro|                                                                             |

|5209     |Catch an exception instead of using a redundant os.access call.              |
|zmedico  |                                                                             |

|5210     |A quick docstring for vercmp                                                 |
|WarnerBro|                                                                             |

|5211     |s/zip/izip/ Thanks to Brian Harring for the suggestion.                      |
|zmedico  |                                                                             |

|5212     |s/zip/izip/ some more                                                        |
|zmedico  |                                                                             |

|5213     |Add pretty basic vercmp unit testing...need more cases                       |
|WarnerBro|                                                                             |

|5214     |Make all lock files hidden for bug #142369.                                  |
|zmedico  |                                                                             |

|5215     |minor syntax changes ( in is faster than has_key ) and docstrings            |
|WarnerBro|                                                                             |

|5216     |Allow searching for action terms again                                       |
|genone   |                                                                             |

|5217     |add some portage_util tests                                                  |
|WarnerBro|                                                                             |

|5218     |Avoid bogus 'Deprecated use of action' warnings for valid commands such as   |
|zmedico  |`emerge -s sync`.                                                            |

|5219     |Simplfy deprecated action parsing logic.                                     |
|zmedico  |                                                                             |

|5220     |For bug #157370, make `emerge --regen` cleanse stale cache entries.          |
|zmedico  |                                                                             |

|5221     |Delete the exception object after use.                                       |
|zmedico  |                                                                             |

|5222     |Break out of the loop if a CacheError occurs.                                |
|zmedico  |                                                                             |

|5227     |Indicate test failure with an exit code.                                     |
|zmedico  |                                                                             |

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

|5229     |Clean up vardbapi.aux_get().                                                 |
|zmedico  |                                                                             |

|5230     |Remove locking from dbapi.aux_update() implementations so that the caller can|
|zmedico  |handle locking instead.                                                      |

|5231     |Go ahead and populate depgraph.mydbapi even when --emptytree is enabled since|
|zmedico  |it doesn't matter anymore (dep_check now returns all deps anyway).           |

|5232     |Move the reset of the per-root initializations into the loop.                |
|zmedico  |                                                                             |

|5233     |Remove unused depgraph.match() method.                                       |
|zmedico  |                                                                             |

|5234     |Use tuples for digraph nodes in order to avoid lots of pointless join and    |
|zmedico  |split calls.                                                                 |

|5235     |Split some global updates functions out of depgraph and use them for depclean|
|zmedico  |when necessary.                                                              |

|5236     |Fix broken SLOT update logic in fakedbapi.cpv_inject().                      |
|zmedico  |                                                                             |

|5237     |Fix a type from the previous commit.                                         |
|zmedico  |                                                                             |

|5238     |adjust QA_* variable names for complex values of like x86-fbsd               |
|genone   |                                                                             |

|5239     |Add use.force support to dep_check for repoman especially. Thanks to         |
|zmedico  |Flameeyes for reporting and tesing.                                          |

|5240     |Use portage.isvalidatom() for atom validation in repoman.                    |
|zmedico  |                                                                             |

|5241     |Make isvalidatom() (and thus repoman) reject atoms containing |() characters.|
|zmedico  |Thanks to Brian Harring for the suggestion.                                  |

|5242     |Add ? to the invalid atom characters.                                        |
|zmedico  |                                                                             |

|5243     |Clean up depstring/atom splitting and filtering.                             |
|zmedico  |                                                                             |

|5244     |For bug #157369, clean when cleanup has been triggered by changed timestamps.|
|zmedico  |Also, allow FEATURES=keepwork to override the ebuild mtime check.            |

|5245     |This patch cleans up the blocker validation logic. Unlike the previous       |
|zmedico  |implementation, this one carefully considers each parent/block package       |
|         |relationship in order to ensure that no unresolved blocks slip through.      |

|5246     |Don't attempt to enforce merge order unless the blocker parent is actually a |
|zmedico  |"merge" node.                                                                |

|5247     |Escape a newline from the previous commit.                                   |
|zmedico  |                                                                             |

|5248     |For bug #128809, process blockers for all installed packages. Due to the     |
|zmedico  |performance penalty incurred by additional dep_check calls, this is only     |
|         |enabled with the --deep option.                                              |

|5249     |Avoid unnecessary dbapi.cp_list() calls inside cpv_expand().                 |
|zmedico  |                                                                             |

|5250     |Cache the results of match_from_list() calls.                                |
|zmedico  |                                                                             |

|5251     |Cache results of dep_getcpv() calls.                                         |
|zmedico  |                                                                             |

|5252     |Use dep_getcpv() inside dep_expand() for code sharing and caching.           |
|zmedico  |                                                                             |

|5253     |Cache the results of fakedbapi.match() calls and clear the cache             |
|zmedico  |automatically when necessary.                                                |

|5254     |Initialize the match cache in the bindbapi constructor.                      |
|zmedico  |                                                                             |

|5255     |For bug #128809, optimize dep_check calls and enable the blocker detection by|
|zmedico  |default since the performance now seems acceptable.                          |

|5256     |Make sure the SLOT comes from the vardb instead of the portdb (for multislot,|
|zmedico  |etc..). Thanks to jakub for reporting.                                       |

|5260     |To minimize memory consumption and maximize performance, use hash values for |
|zmedico  |cache keys.                                                                  |

|5262     |Don't collapse the tuple into a hash, since dict can use __eq__ to avoid     |
|zmedico  |problems with hash collisions. Thanks to Brian Harring for reporting.        |

|5263     |For bug #157734, fix repoman isvalidatom() checks. Thanks to Brian Harring   |
|zmedico  |for the patch.                                                               |

|5264     |Add an allow_blockers parameter to isvalidatom so that the behavior is       |
|zmedico  |optional. Thanks to Brian Harring for the suggestion.                        |

|5266     |Ignore blockers when "--buildpkgonly" is enabled.                            |
|zmedico  |                                                                             |

|5267     |Ensure that the root of the vdb exists before attempting to lock it. Thanks  |
|zmedico  |to Flameeyes for reporting.                                                  |

|5268     |When there are multiple packages occupying the same slot, only consider the  |
|zmedico  |one with the highest COUNTER. Thanks to leio for reporting.                  |

|5269     |Fix a typo from the previous commit.                                         |
|zmedico  |                                                                             |

|5270     |For bug #157823, don't forget to split the USE.                              |
|zmedico  |                                                                             |

|5272     |For bug #157823, ignore blocker collisions between two packages that are     |
|zmedico  |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.                                      |

|5273     |Make the fetch phase bail out if FETCHCOMMAND or RESUMECOMMAND are missing.  |
|zmedico  |Thanks to Flameeyes for reporting.                                           |

|5274     |All portage.fetch() to succeed even if FETCHCOMMAND and RESUMECOMMAND aren't |
|zmedico  |defined.                                                                     |

|5275     |Centralize all of the vardb metadata mangling in FakeVartree.                |
|zmedico  |                                                                             |

|5276     |Store dependency metadata in depgraph.mydbapi so that it can be used in place|
|zmedico  |of the portdb for optimized dep_check calls in depgraph.validate_blockers(). |

|5277     |Optimize dep_check calls in depgraph.validate_blockers() by using a fakedbapi|
|zmedico  |instance instead of the real pordbapi (minimizes available matches).         |

|5278     |For higher efficiency, call self.__int__() instead of int(self).             |
|zmedico  |                                                                             |

|5279     |For bug #157897, only let depgraph.create() inject "merge" nodes into the    |
|zmedico  |final state dbapi.                                                           |

|5280     |For bug #157897, ensure that only "merge" nodes are stored in                |
|zmedico  |digraph.pkg_node_map.                                                        |

|5281     |Move the biolerplate cpv_all() implementation from portdbapi to dbapi.       |
|zmedico  |                                                                             |

|5282     |Track slot atom to digraph node mappings as the depgraph is built. This      |
|zmedico  |mapping will be used to detect node collisions for bug #157897.              |

|5283     |Remove redundant digraph.pkg_node_map node insertions. Once per              |
|zmedico  |digraph.create() call will cover all nodes.                                  |

|5285     |For bug #157897, handle the case of multiple versions within a single package|
|zmedico  |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     |handle --cols when displaying blockers                                       |
|SpankMan |                                                                             |

|5287     |For bug #157897, add slot collision handling in depgraph.create(), since     |
|zmedico  |create() is called from places other than select_dep().                      |

|5288     |Fix a typo from the previous commit.                                         |
|zmedico  |                                                                             |

|5289     |Update the comment about depgraph.pkg_node_map since it now maps all nodes   |
|zmedico  |added to the graph.                                                          |

|5290     |Use depgraph.pkg_node_map so simplify comparison against existing nodes at   |
|zmedico  |the beginning of depgraph.create().                                          |

|5291     |Fix the --onlydeps conditional logic in depgraph.create(). These aren't real |
|zmedico  |nodes and shouldn't be added to the digraph, etc...                          |

|5292     |Remove redundant priority handling since that's always handled in            |
|zmedico  |select_dep() for nodes that have parents.                                    |

|5293     |Remove pointless unpacking of the parent node.                               |
|zmedico  |                                                                             |

|5294     |Make --columns blockers output more consistent when --quiet is not enabled.  |
|zmedico  |                                                                             |

|5296     |Cache blocked slots for better efficiency.                                   |
|zmedico  |                                                                             |

|5297     |For bug #157897, show parent nodes in order to help the user decide about    |
|zmedico  |what action to take.                                                         |

|5298     |Cache KEYWORDS and EAPI metadata values in order to speed up                 |
|zmedico  |portdbapi.gvisible() calls. This greatly improves repoman performance (help  |
|         |emerge a little too).                                                        |

|5299     |Make sure eapi is defined in order to prevent a NameError.                   |
|zmedico  |                                                                             |

|5300     |Split ACCEPT_KEYWORDS before entering the loop for better efficiency.        |
|zmedico  |                                                                             |

|5301     |Make repoman cache per-profile xmatch results.                               |
|zmedico  |                                                                             |

|5302     |For bug #158177, force configure scripts that automatically detect ccache to |
|zmedico  |respect FEATURES="-ccache". Thanks to Horst Schirmeier                       |
|         |<gentoo@schirmeier.com> for this suggestion.                                 |

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

|5304     |Make dep_check validate all depstring atoms in order to prevent problems from|
|zmedico  |occuring later due to unexpected invalid atoms.                              |

|5305     |Make use_reduce raise an InvalidDependString exception for use? conditionals |
|zmedico  |that aren't followed by parenthesis and add appropriate exception handling in|
|         |dep_check.                                                                   |

|5306     |remove pointless redirects to /dev/null when using hasq()                    |
|SpankMan |                                                                             |

|5307     |force environment.bz2 to be clobbered if it already exists                   |
|SpankMan |                                                                             |

|5308     |In depgraph.altlist(), pop as many leaf nodes as possible when no            |
|zmedico  |relationship has been ignored. This can halve the time taken for a large     |
|         |merge order calculation.                                                     |

|5309     |Don't optimize depgraph.altlist() in reversed mode since the optimization    |
|zmedico  |destroys --tree ouput.                                                       |

|5310     |Add a comment about the previous commit.                                     |
|zmedico  |                                                                             |

|5311     |Add --debug support for --depclean.                                          |
|zmedico  |                                                                             |

|5312     |Do some minor cleanup of the --depclean code.                                |
|zmedico  |                                                                             |

|5313     |Make depclean skip empty depstrings.                                         |
|zmedico  |                                                                             |

|5314     |Disable the spinner when --debug is enabled so that it doesn't interfere.    |
|zmedico  |                                                                             |

|5315     |Make portdbapi cache SLOT in addition to EAPI and KEYWORDS in order to       |
|zmedico  |further optimize dep matching/selection.                                     |

|5316     |Catch PortageException from portdbapi.aux_get since it can happen when gpg is|
|zmedico  |in FEATURES.                                                                 |

|5317     |Just start with an empty dict in dep_check_trees since nothing more is       |
|zmedico  |needed.                                                                      |

|5318     |For bug #158354, make "No" the default response for unmerge actions.         |
|zmedico  |                                                                             |

|5321     |For bug #158503, allow --nodeps to override blockers.                        |
|zmedico  |                                                                             |

|5322     |For bug #158508, make --fetchonly display a list of packages for which the   |
|zmedico  |fetch phase failed.                                                          |

|5323     |Increase cache hits in portdbapi.xmatch().                                   |
|zmedico  |                                                                             |

|5324     |Use a separate digraph to store parent/child relationships (PDEPEND          |
|zmedico  |relationships are not reversed) so that relationship is always known in case |
|         |a slot collision occurs.                                                     |

|5325     |New elog modules for dismerging messages into a single file/mail             |
|genone   |                                                                             |

|5326     |Make binarytree.move_ent() properly update PF.                               |
|zmedico  |                                                                             |

|5327     |For bug #158558, fix broken ebuild rename logic in vardbapi.move_ent().      |
|zmedico  |                                                                             |

|5328     |For bug #158558, make the unmerge phase do automatic cleanup for broken      |
|zmedico  |vardbapi.move_ent() in portage versions before 2.1.2.                        |

|5329     |Fix an import statement typo.                                                |
|zmedico  |                                                                             |

|5330     |For bug #158608, don't attempt to use distlocks when it's detected that the  |
|zmedico  |filesystem is readonly (unless "skiprocheck" is in FEATURES for some strange |
|         |reason).                                                                     |

|5331     |Add missing newlines to the warning message that's printed when the user has |
|zmedico  |distlocks enabled together with skiprocheck and the filesystem is readonly.  |

|5332     |Give the user some advice whenever an invalid dependency string is           |
|zmedico  |encountered.                                                                 |

|5333     |Fix the invalid dependency message so there's no confusion about which       |
|zmedico  |package has the problem.                                                     |

|5335     |Fix broken exception handling syntax causing strange exception reported in   |
|zmedico  |bug #158608. Thanks to grobian for help troubleshooting.                     |

|5337     |For bug #158649, minimize portdb cache pulls for installed packages when     |
|zmedico  |--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.                              |

|5338     |More intelligently handle CacheCorruption errors in the writable cache.      |
|zmedico  |                                                                             |

|5339     |For bug #158558, ignore invalid depstrings for packages that are being       |
|zmedico  |replaced anyway (otherwise the user would be forced to manually unmerge the  |
|         |package).                                                                    |

|5340     |When a removal phase fails, tell the user where the ebuild is and advise them|
|zmedico  |that the ebuild can be removed in order to skip the removal phases.          |

|5341     |For installed packages with invalid depstrings, tell the user the location of|
|zmedico  |the *DEPEND files.                                                           |

|5342     |For bug #158632, make aux_get caching safe for missing values in cache       |
|zmedico  |entries.                                                                     |

|5343     |For bug #158658, fix the 'TypeError: int argument required' that happens in  |
|zmedico  |the finalize() routine.                                                      |

|5344     |Use the return value from setdefault to avoid an extra dict lookup.          |
|zmedico  |                                                                             |

|5345     |Create a backward compatibility mode for dep_check() so that emerge can use  |
|zmedico  |it to gracefully deal with installed packages that have invalid atoms or dep |
|         |syntax.                                                                      |

|5346     |Make emerge enable backward compatibility mode for dep_check() calls on      |
|zmedico  |installed packages so that it can gracefully invalid atoms or dep syntax.    |

|5347     |Fix the "help" phase so that it works without build dirs.                    |
|zmedico  |                                                                             |

|5348     |For bug #158649, allow --buildpkgonly to bypass the fakedb population like   |
|zmedico  |--nodeps does.                                                               |

|5349     |Revert the default choice for --ask --unmerge (bug #158354) because people   |
|zmedico  |are complaining.                                                             |

|5350     |Use a pipe instead of a temp file for the depend phase.                      |
|zmedico  |                                                                             |

|5351     |I hate docstrings                                                            |
|WarnerBro|                                                                             |

|5353     |Remove two old functions, appear to be relics from 2.0.X branch, no longer   |
|WarnerBro|used by portage or gentoolkit or esearch                                     |

|5354     |When an unprivileged user runs portage (not in the portage group), use       |
|zmedico  |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>).                                        |

|5355     |Add volatile cache module missing from the previous commit.                  |
|zmedico  |                                                                             |

|5356     |Pass a cache instance into metadata_overlay since it doesn't have enough     |
|zmedico  |information to construct one itself.                                         |

|5357     |Make metadata_overlay use the autocommits attribute of the underlying        |
|zmedico  |database.                                                                    |

|5358     |Fix inverted EAPI default logic.                                             |
|zmedico  |                                                                             |

|5359     |Combine two default EAPI settings in portdbapi.aux_get().                    |
|zmedico  |                                                                             |

|5360     |Only write repo.stats and repo.fails when the repoman user has write access  |
|zmedico  |to /var/cache/edb.                                                           |

|5361     |Show the "Calculating dependencies .. done!" message with --resume since the |
|zmedico  |spinner now runs inside the depgraph constructor. Thanks to antarus for      |
|         |reporting.                                                                   |

|5362     |startime is set up in treewalk, so no need to do it globally...              |
|WarnerBro|                                                                             |

|5363     |List package in summary logfile                                              |
|genone   |                                                                             |

|5364     |disable display of elapsed time for collision-protect as it's for            |
|genone   |benchmarking purposes and useless to most people.                            |

|5365     |More Docstrings in portage.py                                                |
|WarnerBro|                                                                             |

|5366     |move actionmap_deps out of global scope and into doebuild where it is        |
|WarnerBro|actually used, add docstrings to config class in the meantime.               |

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

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

|5369     |Manpage fix for bug # 158983, thanks to Fabio Correa for the patch           |
|WarnerBro|                                                                             |

|5370     |More code cleanup, packagetree appears to be completely unused, so lets      |
|WarnerBro|remove it in favor of inheriting from object                                 |

|5371     |Docstrings for doebuild                                                      |
|WarnerBro|                                                                             |

|5372     |cptot appears to be unused, punting it along with this commented out         |
|WarnerBro|function, it appears to be unused as well.                                   |

|5382     |Clone cached match results before returning them from portdbapi.xmatch().    |
|zmedico  |Thanks to Brian <dol-sen@telus.net> for reporting this issue.                |

|5383     |Make bindbapi.aux_get() selectively cache metadata in order to optimize dep  |
|zmedico  |matching (like portdbapi does).                                              |

|5384     |Make sure that bindbapi makes EAPI correctly default to 0 in all possible    |
|zmedico  |cases.                                                                       |

|5385     |more docstrings..                                                            |
|WarnerBro|                                                                             |

|5386     |Docstrings for mergeme...                                                    |
|WarnerBro|                                                                             |

|5387     |Drop the warning messages for users that aren't in the portage group since   |
|zmedico  |tpordbapi now correctly puts the on-disk cache into readonly mode in this    |
|         |case (and allows metadata generation in-memory if necessary).                |

|5388     |Prevent the regen action from running in --pretend mode.                     |
|zmedico  |                                                                             |

|5389     |When the user has insufficient access privileges, specify whether superuser  |
|zmedico  |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.                                            |

|5390     |Make sure that portage_group_warning() will be shown even in quiet mode.     |
|zmedico  |                                                                             |

|5391     |Use a SIGTERM signal to support a die call inside of a subshell.             |
|zmedico  |                                                                             |

|5392     |For bug #148603, when an ebuild dies, print eclasses that are from overlays. |
|zmedico  |Thanks to Alec Warner for the initial patch.                                 |

|5394     |Make _setitem do a deepcopy just in case.                                    |
|zmedico  |                                                                             |

|5398     |Allow dep_check to use the global db for compatibility (fixes python-updater |
|zmedico  |breakage).                                                                   |

|5401     |try to give the emerge manpage a facelift, upgrade clean and prune docs,     |
|WarnerBro|change 'dependency' to 'atom', other minor fixes                             |

|5402     |Use a pickle to cache vdb metadata. This greatly improves the performance for|
|zmedico  |loading the vdb when the buffer cache is cold.                               |

|5403     |Make portdbapi.flush_cache() consistent with vardbapi.flush_cache().         |
|zmedico  |                                                                             |

|5404     |Update emerge --metadata docs for more clarity.                              |
|zmedico  |                                                                             |

|5405     |Allow the list of keys cached by the vardb to change without forcing a cache |
|zmedico  |version bump.                                                                |

|5406     |Make vartree.getslot() use the dbapi for aux_get caching.                    |
|zmedico  |                                                                             |

|5407     |Make vardbapi.cpv_counter() use aux_get for caching.                         |
|zmedico  |                                                                             |

|5408     |For bug #159252, don't preserve file attributes when copying files for       |
|zmedico  |installsources. Thanks to Ed Catmur <ed@catmur.co.uk> for this patch.        |

|5409     |For bug #159295 and python-2.3 compatibility, don't assume that dict.update  |
|zmedico  |can use an iterable.                                                         |

|5410     |Use a pickle to cache blockers for all installed packages so that dep_check  |
|zmedico  |doesn't have to be called for every single installed package on every        |
|         |invocation of emerge.                                                        |

|5411     |For bug #159161, make emerge --info show USE_EXPAND flags similar to the way |
|zmedico  |it does in merge list output.                                                |

|5412     |Add some docs for the blockers cache format.                                 |
|zmedico  |                                                                             |

|5413     |For bug #159310, don't show a slot collision notice if there are unresolvable|
|zmedico  |blockers.                                                                    |

|5414     |Do some minor cleanup in the dep_zapdeps downgrade avoidance logic (while    |
|zmedico  |working toward a fix for bug #159360).                                       |

|5415     |- keep things quiet when uninstalling                                        |
|solar    |                                                                             |

|5416     |Send stuff that's not a warning or error to stdout rather than stderr.       |
|zmedico  |                                                                             |

|5417     |fixup style                                                                  |
|SpankMan |                                                                             |

|5418     |detect incorrect absolute symlinks in libdirs                                |
|SpankMan |                                                                             |

|5419     |For bug #159360, make sure that the highest available new-style virtual is   |
|zmedico  |selected even if it has depes that aren't already installed.                 |

|5420     |Sort the --info USE flags for bug #159161.                                   |
|zmedico  |                                                                             |

|5421     |Be slightly more defensive when loading the vdb/blockers caches.             |
|zmedico  |                                                                             |

|5422     |Improve the logic for bug #159360 to ensure that an actual upgrade is        |
|zmedico  |selected without any downgrades.                                             |

|5423     |Do some small fixes to prevent slot collision nodes from interfering with the|
|zmedico  |depgraph.                                                                    |

|5424     |Fix 'TypeError: unpack non-sequence' that occurs if myparent is None.        |
|zmedico  |                                                                             |

|5425     |Punt the abort_unpack() handler since it's pointless anyway.                 |
|zmedico  |                                                                             |

|5428     |For bug #151326, prevent invalid comments from being returned by             |
|zmedico  |portage.getmaskingreason().                                                  |

|5429     |Correct the package.mask lookup order in getmaskingreason().                 |
|zmedico  |                                                                             |

|5430     |For bug #141361, use an alarm signal to implement a 1 minute timeout for     |
|zmedico  |processing inside an elog module.                                            |

|5431     |Use a try/finally block to ensure that the alarm will always be cancelled    |
|zmedico  |appropriately.                                                               |

|5432     |Use return values instead of direct sys.exit(123) calls when a merge fails.  |
|zmedico  |                                                                             |

|5433     |Send errors in elog_process() to stderr via writemsg.                        |
|zmedico  |                                                                             |

|5434     |For bug #159518, increase the "database is locked" timeout.                  |
|zmedico  |                                                                             |

|5437     |Use slot atom matching to simplify detection of downgrades relative to       |
|zmedico  |installed packages.                                                          |

|5438     |For bug #159224, use separate xmatch caches for each value of                |
|zmedico  |ACCEPT_KEYWORDS.                                                             |

|5440     |For bug #159638, fix the UnboundLocalError in vartree.getprovide().          |
|zmedico  |                                                                             |

|5441     |Fix the writemsg noiselevel from the previous commit.                        |
|zmedico  |                                                                             |

|5442     |merge all of the QA related checks together                                  |
|SpankMan |                                                                             |

|5443     |Don't bother to list the contents of directories before they are unmerged    |
|zmedico  |since it triggers unnecessary stat calls. Thanks to James Cloos              |
|         |<cloos@jhcloos.com> for reporting.                                           |

|5444     |Optimize dep_zapdeps to work without a vartree when called by repoman.       |
|zmedico  |                                                                             |

|5448     |Try to create DISTDIR before disabling fetch due to it's nonexistence. Thanks|
|zmedico  |to astinus for reporting.                                                    |

|5449     |add support for scanning of build logs for common issues #111436             |
|SpankMan |                                                                             |

|5450     |Allow - in elog module names                                                 |
|genone   |                                                                             |

|5451     |undo                                                                         |
|genone   |                                                                             |

|5452     |When using the spawn's returnpid parameter, manually remove the returned pids|
|zmedico  |from portage_exec.spawned_pids.                                              |

|5453     |Use os._exit instead of sys.exit in a forked child process.                  |
|zmedico  |                                                                             |

|5454     |Make sure stderr is flushed since os._exit doesn't flush stdio buffers.      |
|zmedico  |                                                                             |

|5455     |Make sure stderr is flushed since os._exit doesn't flush stdio buffers.      |
|zmedico  |                                                                             |

|5456     |Implement distlocks for --getbinpkg so that it works properly when           |
|zmedico  |parallel-fetch is enabled. Thanks to Brent Baude <ranger@gentoo.org> for     |
|         |reporting.                                                                   |

|5457     |Export EBUILD_PHASE="" when running misc-function.sh in order to prevent     |
|zmedico  |bogus phase values coming from ${T}/environment. Thanks to solar for         |
|         |reporting.                                                                   |

|5458     |When fetching metadata from a binhost, reconnect if the http server closes   |
|zmedico  |the connection before sending a valid response. Thanks to ranger for         |
|         |reporting.                                                                   |

|5459     |Make sure that myid is defined for the previous commit.                      |
|zmedico  |                                                                             |

|5461     |As a workaround for bug #147625, spawn `id -g portage` in order to get a list|
|zmedico  |of groups for the portage user without the need to call grp.getgrall().      |

|5462     |Use -G instead of -g (typo from the previous commit).                        |
|zmedico  |                                                                             |

|5463     |Make repoman use portage.normalize_path instead of os.path.normpath. This    |
|zmedico  |might solve an issue with incorrect repolevel detection that was reported by |
|         |drizzt.                                                                      |

|5464     |For python-2.3 compatibility, don't pass an iterable into dict.update().     |
|zmedico  |                                                                             |

|5465     |For bug #160299, make sure that emerge sees a somewhat valid COUNTER even    |
|zmedico  |when the counter is missing.                                                 |

|5466     |Fix shell glob logic that leads to false positives. Thanks to Flameeyes for  |
|zmedico  |reporting.                                                                   |

|5467     |Fix one more potential false glob match.                                     |
|zmedico  |                                                                             |

|5468     |revert previous changes ... ruby.eclass is wrongly polluting env with        |
|SpankMan |nullglob                                                                     |

|5469     |force C locale for now when parsing gcc log files #160234                    |
|SpankMan |                                                                             |

|5470     |For bug #160310, allow \ inside `` quotes in order to prevent a false Line   |
|zmedico  |continuation ("\") Syntax Error.                                             |

|5471     |For bug #160310, remove the line continuation syntax check since it's still  |
|zmedico  |possible for it to generate false positives.                                 |

|5477     |Fix the digestentry.unused check so that it works properly when old-style    |
|zmedico  |files/digest-* don't exist.                                                  |

|5478     |Don't swallow an IOError if it is thrown from the aux_get call in            |
|zmedico  |portdbapi.getfetchlist().                                                    |

|5480     |Don't automatically fix digests in --pretend mode.                           |
|zmedico  |                                                                             |

|5481     |s/prefix/suffix/ Thanks to hydrogen for reporting on irc.                    |
|zmedico  |                                                                             |

|5482     |s/suffix/version prefix/ since it really is a prefix for the version string. |
|zmedico  |                                                                             |

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

|5484     |Implement QA checks that attempt to detect changed shopts and IFS in         |
|WarnerBro|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 sucks at bash, thanks for Genone for reporting this major bug.       |
|WarnerBro|                                                                             |

|5486     |Make PORTAGE_BASE_PATH dynamic based on __file__                             |
|genone   |                                                                             |

|5487     |Always run src_test when calling 'ebuild foo test'                           |
|genone   |                                                                             |

|5488     |Disable qa_source usage until it actually works                              |
|genone   |                                                                             |

|5489     |Zac pointed out that the retcodes would be wrong if stuff failed...Yeah...   |
|WarnerBro|                                                                             |

|5490     |Add new eqawarn function and QA loglevel to be used for QA messages          |
|genone   |                                                                             |

|5491     |Mention new QA loglevel in make.conf.example                                 |
|genone   |                                                                             |

|5492     |Okies this works locally for me now (and Zac)                                |
|WarnerBro|                                                                             |

|5493     |This file apparently uses spaces to line everything up pretty (I have weird  |
|WarnerBro|tabs set, so spacies are good :P)                                            |

|5494     |Update NEWS with eqawarn and 'ebuild foo test' changes                       |
|genone   |                                                                             |

|5495     |Split PORTAGE_ELOG_CLASSES outside the loop for better efficiency.           |
|zmedico  |                                                                             |

|5496     |Make digestgen() force fetch unless all required digest types are available. |
|zmedico  |Thanks to jokey for reporting on irc.                                        |

|5499     |For bug #161103, don't skip collision-protect checks in cases where the      |
|zmedico  |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     |For bug #161003, disallow virtuals in package.provided and document it.      |
|zmedico  |Thanks to Robin Johnson <robbat2@gentoo.org> for the initial patch.          |

|5503     |For bug #160971, rename dir.gz to dir.gz.old when necessary to avoid problems|
|zmedico  |with install-info. Thanks to Ed Catmur <ed@catmur.co.uk> for the initial     |
|         |patch.                                                                       |

|5504     |Misc typo fixes, patch by Benno Schulenberg (bug #157812)                    |
|genone   |                                                                             |

|5505     |Update x86 CFLAGS section, original patch by Peter Gantner (bug #133402)     |
|genone   |                                                                             |

|5506     |Add elog related variables to make.conf(5) with a pointer to                 |
|genone   |make.conf.example. Add elog() description to ebuild(5) and update einfo()    |
|         |description.                                                                 |

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

|5508     |make.globals has no business in profiles                                     |
|genone   |                                                                             |

|5509     |create symlinks to html documentation if DOC_SYMLINK_DIR is set, original    |
|genone   |patch by TGL <degrenier@easyconnect.fr> (bug #67130)                         |

|5510     |Make env variable example about USE shell independent                        |
|genone   |                                                                             |

|5511     |Always use vercmp for cpv comparisons                                        |
|genone   |                                                                             |

|5512     |Stupid me, shouldn't jsut move a part of the patch                           |
|genone   |                                                                             |

|5513     |Attach the problematic data to the exception for debugging                   |
|genone   |                                                                             |

|5514     |Make the =* operator more robust                                             |
|genone   |                                                                             |

|5515     |Documenting the loop a bit                                                   |
|genone   |                                                                             |

|5516     |=* operator sucks                                                            |
|genone   |                                                                             |

|5517     |also sanitize mycpv for =* handling                                          |
|genone   |                                                                             |

|5518     |minor performance improvement                                                |
|genone   |                                                                             |

|5519     |I hate this thing                                                            |
|genone   |                                                                             |

|5520     |Minor fixes for the =* operator (I hope we're done now :).                   |
|zmedico  |                                                                             |

|5521     |Use startwith to simplify =* matching.                                       |
|zmedico  |                                                                             |

|5522     |rework test import code, rename test_vercmp to be more generic, add tests for|
|WarnerBro|=* glob matches                                                              |

|5523     |Make the tests pass.                                                         |
|zmedico  |                                                                             |

|5524     |Fix Fail test                                                                |
|WarnerBro|                                                                             |

|5525     |Take Genone's suggestion and break the modules up into module oriented       |
|WarnerBro|fashion. Tests for portage.py go in portage/ and so on and so forth...       |

|5526     |shift test cases around                                                      |
|WarnerBro|                                                                             |

|5527     |shift test cases around                                                      |
|WarnerBro|                                                                             |

|5528     |rename atoms back to vercmp                                                  |
|WarnerBro|                                                                             |

|5529     |split out util tests                                                         |
|WarnerBro|                                                                             |

|5530     |remove monolithic test                                                       |
|WarnerBro|                                                                             |

|5531     |add a few tips on adding tests, and kinks in the current system, I hope to   |
|WarnerBro|fix the import bug soon                                                      |

|5532     |Fix module loading.                                                          |
|zmedico  |                                                                             |

|5533     |Fix sys.path so that imports work correctly.                                 |
|zmedico  |                                                                             |

|5534     |For bug #161422, make slot collisions non-fatal in cases where an invalid    |
|zmedico  |depgraph is acceptable (--fetchonly, for example).                           |

|5535     |Don't allow slot collision nodes to block other packages since blocker       |
|zmedico  |validation is only able to account for one package per slot.                 |

|5536     |Rename depgraph._invalid_depgraph_is_acceptable() to _accept_collisions() for|
|zmedico  |a better description.                                                        |

|5537     |Add a bit of path mangling to allow deeper tests                             |
|WarnerBro|                                                                             |

|5538     |remove bogs test dir, add portage_versions                                   |
|WarnerBro|                                                                             |

|5539     |edit test-notes                                                              |
|WarnerBro|                                                                             |

|5540     |more test re-arranging as Alec can't read what functions are in what files   |
|WarnerBro|                                                                             |

|5541     |Remove / character from module names.                                        |
|zmedico  |                                                                             |

|5542     |Remove RESTRICT=sandbox docs until bug #161045 is resolved                   |
|genone   |                                                                             |

|5543     |Update CCACHE docs, patch by Ryan Hill (bug #156865)                         |
|genone   |                                                                             |

|5544     |Add 'stricter' description, misc typo fixes, patch by Max Lorenz (bug        |
|genone   |#153755)                                                                     |

|5545     |Rename 'Last Sync' to 'Timestamp of tree' to clarify the meaning (bug        |
|genone   |#150051)                                                                     |

|5546     |Don't escape strings in PortageException as that breaks newline handling (bug|
|genone   |147785)                                                                      |

|5547     |More portage_util tests                                                      |
|WarnerBro|                                                                             |

|5548     |Extend ignore filter for grablines (bug #144445)                             |
|genone   |                                                                             |

|5549     |add stack_lists checks                                                       |
|WarnerBro|                                                                             |

|5550     |continue is only for loops                                                   |
|genone   |                                                                             |

|5551     |Make FEATURES=test imply USE=test                                            |
|genone   |                                                                             |

|5552     |Add note that any value enables EPAUSE_IGNORE                                |
|genone   |                                                                             |

|5553     |Use isinstance(foo, basestring) so that it can work with unicode strings too.|
|zmedico  |                                                                             |

|5554     |Use dict.get() to prevent a potential (bug unlikely) KeyError.               |
|zmedico  |                                                                             |

|5555     |add support for user-customizable compression #9870                          |
|SpankMan |                                                                             |

|5556     |docs for grabdict                                                            |
|WarnerBro|                                                                             |

|5557     |Commit unit tests, hey look THEY ARE BROKEN                                  |
|WarnerBro|                                                                             |

|5558     |get_operator tests                                                           |
|WarnerBro|                                                                             |

|5559     |add some invalid operators to the test to denote that get_operator doesn't   |
|WarnerBro|validate them, also make sure some common mis-typed things are tested (=>    |
|         |instead of >= fex)                                                           |

|5560     |take some advice and use AssertEqual/NotEqual                                |
|WarnerBro|                                                                             |

|5561     |I owed brian harring 3.50, for th previous advice about assertEqual/NotEqual,|
|WarnerBro|oh, add dep_getcpv tests too                                                 |

|5562     |getslot tests                                                                |
|WarnerBro|                                                                             |

|5563     |elaborate a bit on isjustname()                                              |
|WarnerBro|                                                                             |

|5564     |isjustname tests                                                             |
|WarnerBro|                                                                             |

|5565     |For bug #50738, inform the user about the location of the timestamp file and |
|zmedico  |that it can be removed to force sync.                                        |

|5566     |add some invalid ops to getcpv to make sure it returns the cpv still         |
|WarnerBro|                                                                             |

|5567     |print the incorrect atom                                                     |
|WarnerBro|                                                                             |

|5568     |Valid categories in catpkgsplit                                              |
|WarnerBro|                                                                             |

|5569     |catch and validate new ValueError Exception                                  |
|WarnerBro|                                                                             |

|5570     |Fix comments for catpkgsplit                                                 |
|WarnerBro|                                                                             |

|5571     |Handle the exception in isvalidatom, change it to use a portage exceptoin,   |
|WarnerBro|thanks to Zac for pointing this out                                          |

|5572     |learn to spell                                                               |
|WarnerBro|                                                                             |

|5573     |SpanKY likes the latin categories                                            |
|WarnerBro|                                                                             |

|5574     |Use a global to ensure that the valid_category regex is cached.              |
|zmedico  |                                                                             |

|5575     |dont compress files that are already compressed and dont do sanity checking  |
|SpankMan |on the link dest as we cant properly verify things like absolute symlinks    |

|5576     |use cached suffix value and if it is not valid, lets warn                    |
|SpankMan |                                                                             |

|5577     |Allow catpkgsplit to be less strict for atoms that come from installed       |
|zmedico  |packages (for backward compatibility).                                       |

|5578     |Fix ebuild environment color.map support so that it works properly through   |
|zmedico  |exec calls (since the color variables can not be directly exported due to env|
|         |pollution).                                                                  |

|5579     |drop lazy bindings check once and for all ... the system ldso should have the|
|SpankMan |logic #71609                                                                 |

|5580     |For bug #147512, don't print a cryptic error message when an EnvironmentError|
|zmedico  |occurs. Also, allow the user to get a traceback via --debug.                 |

|5581     |Change vercmp to use int() instead of string atoi, catch ValueError in pkgcmp|
|WarnerBro|                                                                             |

|5582     |portage_versions.py, more string.atoi -> int, fix another except: that should|
|WarnerBro|be ValueError                                                                |

|5583     |Fix broad except statement, should only be KeyError                          |
|WarnerBro|                                                                             |

|5584     |comment the excepts in a few places                                          |
|WarnerBro|                                                                             |

|5585     |getbinpkg.py fix except: open can be IOERror or OSError and cPickle can throw|
|WarnerBro|an unpicklingError                                                           |

|5586     |EOFError is also important according to Zac                                  |
|WarnerBro|                                                                             |

|5587     |os.cwd can return OSError (maybe IOError with wrong perms for ./, will test  |
|WarnerBro|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     |FIx a bunch of random Except: statements in portage.py, most of them are     |
|WarnerBro|IO/OS related                                                                |

|5589     |Return early from finddigest if findname2 found nothing.                     |
|zmedico  |                                                                             |

|5590     |For bug #88485, show the location of the build log whenever a build fails.   |
|zmedico  |                                                                             |

|5591     |Prevent an InvalidData exception during global updates due to the new        |
|zmedico  |stricter catpkgsplit behavior.                                               |

|5592     |Fix incremental virtuals code for the new stricter catpkgsplit behavior.     |
|zmedico  |                                                                             |

|5593     |Remove a duplicate % character.                                              |
|zmedico  |                                                                             |

|5594     |Begin the deprecation of the string module                                   |
|WarnerBro|                                                                             |

|5595     |more string deprecation                                                      |
|WarnerBro|                                                                             |

|5596     |set Id on tests                                                              |
|WarnerBro|                                                                             |

|5597     |More String deprecation                                                      |
|WarnerBro|                                                                             |

|5598     |Use startswith and endswith to simplify code.                                |
|zmedico  |                                                                             |

|5599     |Fix typos from the previous commit.                                          |
|zmedico  |                                                                             |

|5600     |purge string module from emerge                                              |
|WarnerBro|                                                                             |

|5601     |fix "" " " bug                                                               |
|WarnerBro|                                                                             |

|5602     |another annoy space bug                                                      |
|WarnerBro|                                                                             |

|5603     |purge string module from repoman                                             |
|WarnerBro|                                                                             |

|5604     |purge string from portage.py, fix minor bug in portage_util                  |
|WarnerBro|                                                                             |

|5605     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|5606     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|5607     |Revert accidentally modified joins.                                          |
|zmedico  |                                                                             |

|5608     |Fix more typos.                                                              |
|zmedico  |                                                                             |

|5609     |Fix another typo.                                                            |
|zmedico  |                                                                             |

|5612     |Add a few pretty basic comments on writing code, particularly things that    |
|WarnerBro|portage used to do (and still does) that are...a bit out of style ;)         |

|5613     |ignore py[co] in tests                                                       |
|WarnerBro|                                                                             |

|5620     |remove the last of the string module from portage.py                         |
|WarnerBro|                                                                             |

|5621     |Send the slot collision notice to stderr and only show minimal output in     |
|zmedico  |--quiet mode.                                                                |

|5623     |Send the unmerge failure message to stderr.                                  |
|zmedico  |                                                                             |

|5624     |Use end_paragraph(1) instead of add_line_break() so that there is really a   |
|zmedico  |blank line.                                                                  |

|5625     |For bug #144380, disable color at emerge startup and then enable it only when|
|zmedico  |it's absolutely sure that color should be enabled (after EMERGE_DEFAULT_OPTS |
|         |has been parsed).                                                            |

|5626     |Document PORTAGE_COMPRESS and PORTAGE_COMPRESS_FLAGS.                        |
|zmedico  |                                                                             |

|5627     |Obey the silent parameter when parsing options.                              |
|zmedico  |                                                                             |

|5628     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|5629     |Catch InvalidData exceptions for bad atoms passed as emerge arguments.       |
|zmedico  |                                                                             |

|5632     |make sure people call addread/addwrite/adddeny/addpredict correctly          |
|SpankMan |                                                                             |

|5633     |fix tabs with patch from Grobian and bug # 161911, fix developing a bit      |
|WarnerBro|                                                                             |

|5634     |Fix 'TypeError: not all arguments converted during string formatting'. Thanks|
|zmedico  |to marienz.                                                                  |

|5635     |Fix reversed arguments.                                                      |
|zmedico  |                                                                             |

|5642     |Fix dohtml so that it continues to install files even after some fail. Thanks|
|zmedico  |to brad walker <bradmwalker@cableone.net> in bug #149745.                    |

|5643     |Document PORTAGE_LOG_FILE, update PORTAGE_TMPDIR path which now includes     |
|zmedico  |CATEGORY, and lots of style/syntax fixes. Thanks to Arfrever Frehtes         |
|         |Taifersar Arahesis <FFTA@WP.PL> from bug #161979.                            |

|5644     |For bug #161975, document the fact that GENTOO_MIRRORS supports mounted      |
|zmedico  |filesystem mirrors.                                                          |

|5645     |For bug #69021, add news about FEATURES="test" implying USE="test".          |
|zmedico  |                                                                             |

|5646     |Disable the test phase when USE=test is masked (for consistency with the fix |
|zmedico  |for bug #69021).                                                             |

|5647     |Don't warn about /etc/make.profile not being a symlink if it has a parent    |
|zmedico  |file.                                                                        |

|5648     |Document DOC_SYMLINKS_DIR.                                                   |
|zmedico  |                                                                             |

|5649     |Fix alphabetical order.                                                      |
|zmedico  |                                                                             |

|5652     |exithandler is not a portageq func, so ignore it                             |
|WarnerBro|                                                                             |

|5653     |For bug #162275, make doebuild validate *DEPEND and bail out if necessary.   |
|zmedico  |                                                                             |

|5654     |Clean up variables when finished.                                            |
|zmedico  |                                                                             |

|5655     |Make invalid deps non-fatal for some phases.                                 |
|zmedico  |                                                                             |

|5656     |elevate the importance of 64bit clean code on 64bit hosts                    |
|SpankMan |                                                                             |

|5657     |Clean up imports in portage_locks.py                                         |
|WarnerBro|                                                                             |

|5658     |merge glep42 into trunk                                                      |
|WarnerBro|                                                                             |

|5659     |merge didn't bring in portage_news, no idea why                              |
|WarnerBro|                                                                             |

|5660     |fix minor syntax issues with locking                                         |
|WarnerBro|                                                                             |

|5661     |Enable repoman to commit a Manifest alone instead of bailing out with "Didn't|
|zmedico  |find any changed files".                                                     |

|5662     |ferringb pointed out this portroot parameter, ended up not using it, try an  |
|WarnerBro|os.path.exists to save a very common (and slow) except on missing repo_name  |
|         |files for overlays, use a dict to facility a nicer regex comparison loop for |
|         |news restrictions.                                                           |

|5663     |document FEATURES=sesandbox #161985                                          |
|SpankMan |                                                                             |

|5664     |make.conf is not a manual so only list common FEATURES #161985               |
|SpankMan |                                                                             |

|5665     |dirty dirty lies                                                             |
|WarnerBro|                                                                             |

|5666     |Make repoman commit removals together with the other changes (instead of with|
|zmedico  |the final Manifest commit).                                                  |

|5667     |For consistency, just use os.environ.                                        |
|zmedico  |                                                                             |

|5668     |Fix broken commitmessagefile handling.                                       |
|zmedico  |                                                                             |

|5669     |Replace mktemp with mkstemp since the former is deprecated for security      |
|zmedico  |reasons.                                                                     |

|5670     |Various glep 42 fixes, fix up the portageq calls to fail properly, rewrite   |
|WarnerBro|the news checking code to check news for all repos with a name.              |

|5671     |fix a few typos in tests                                                     |
|WarnerBro|                                                                             |

|5672     |If repo/profiles/news doesn't exist, return 0 updates                        |
|WarnerBro|                                                                             |

|5673     |switch news timestamp and unread/read storage to '/var/lib/gentoo' like the  |
|WarnerBro|GLEP states.                                                                 |

|5674     |For consistency, respect the use_binaries flag inside _expand_new_virtuals().|
|zmedico  |                                                                             |

|5675     |Allow --usepkgonly/--getbinpkgonly to work with installed deps when binpkgs  |
|zmedico  |aren't available for some packages. Thanks to Brent Baude <ranger@gentoo.org>|
|         |for reporting.                                                               |

|5676     |Use the portable -o option for tar. Thanks to Timothy Redaelli               |
|zmedico  |<drizzt@gentoo.org> for the patch.                                           |

|5677     |make it executable                                                           |
|SpankMan |                                                                             |

|5678     |make sure we rename links and not just what they point to #162451            |
|SpankMan |                                                                             |

|5679     |Prevent packages that are installed but masked from being incorrectly flagged|
|zmedico  |as "available" (unless --usepkgonly is enabled, which currently has no       |
|         |package.mask support).                                                       |

|5682     |For --usepkgonly, allow _expand_new_virtuals() to fall back to the vardb in  |
|zmedico  |case all binaries aren't available.                                          |

|5684     |Fix elimination of duplicate virtuals between the binpkg repo and installed  |
|zmedico  |packages.                                                                    |

|5689     |Remove one last reference to ${tarvars}.                                     |
|zmedico  |                                                                             |

|5690     |For bug #162404, spawn tee outside the sesandbox domain so that it reads from|
|zmedico  |a pipe between two domains.                                                  |

|5691     |Use elif where appropriate. Thanks to ferringb.                              |
|zmedico  |                                                                             |

|5693     |start documenting qa notices so antarus stops whining                        |
|SpankMan |                                                                             |

|5694     |superh supports sane exec stack stuff now                                    |
|SpankMan |                                                                             |

|5695     |arm supports sane exec stack stuff now                                       |
|SpankMan |                                                                             |

|5697     |add try finally blocks around locking for news                               |
|WarnerBro|                                                                             |

|5698     |dump emerge's normpath in favor of portage_util's normalize_path             |
|WarnerBro|                                                                             |

|5699     |fix apply_permissions import and use keyworded args in the call, as well as  |
|WarnerBro|PORTAGE_INST_UID instead of root, also fix some spacies in emerge, thanks for|
|         |Zac for reporting                                                            |

|5700     |lock file around chown/chmod                                                 |
|WarnerBro|                                                                             |

|5701     |locking, try 100                                                             |
|WarnerBro|                                                                             |

|5702     |Syntax error                                                                 |
|genone   |                                                                             |

|5703     |Attribute error                                                              |
|genone   |                                                                             |

|5704     |I really meant NEWS_LIB_PATH (/var/lib/gentoo) but decent idea to have a     |
|WarnerBro|timestamp per repo ;)                                                        |

|5705     |but news lib path is global, not an attr                                     |
|WarnerBro|                                                                             |

|5706     |more trivial fixes                                                           |
|genone   |                                                                             |

|5707     |Allow per-module filtering based on loglevels in addition to the global      |
|genone   |PORTAGE_ELOG_CLASSES one, add wildcard support for loglevels                 |

|5708     |update make.conf.example with per-module filtering                           |
|genone   |                                                                             |

|5709     |Don't load a module if there is nothing to process after filtering           |
|genone   |                                                                             |

|5710     |don't force a comparison                                                     |
|WarnerBro|                                                                             |

|5711     |Unified try-except-finally only works with python-2.5                        |
|genone   |                                                                             |

|5713     |Validate ebuild names inside portdbapi.cp_list() in order to prevent problems|
|zmedico  |later on. Thanks to delusions for reporting on irc.                          |

|5714     |Raise an informative InvalidData exception instead of 'TypeError:            |
|zmedico  |unsubscriptable object' when pkgsplit returns None.                          |

|5716     |Simplify rsync timestamp.chk handling and print the correct path for bug     |
|zmedico  |#50738. Thanks to jeka for reporting on irc.                                 |

|5718     |For bug #162404, when sesandbox is enabled, only log if PORT_LOGDIR is       |
|zmedico  |explicitly enabled since it is possible that local SELinux security policies |
|         |do not allow ouput to be piped out of the sesandbox domain.                  |

|5722     |Fix syntax.                                                                  |
|zmedico  |                                                                             |

|5733     |forgot to document strict alias warnings                                     |
|SpankMan |                                                                             |

|5734     |fix programlisting output to match the sections they are in                  |
|SpankMan |                                                                             |

|5735     |Some minor fixes for manifest code                                           |
|genone   |                                                                             |

|5736     |For bug #161356, fix the SLOT match code to handle a KeyError thrown due to a|
|zmedico  |corrupt ebuild.                                                              |

|5737     |For bug #161356, prevent an AttributeError if the exception has no __module__|
|zmedico  |attribute.                                                                   |

|5741     |Use XARGS for portable xargs handling when find doesn't find any files.      |
|zmedico  |(branches/2.1.2 r5740)                                                       |

|5742     |Minor fixes thanks to Fabio Correa <facorread@alexandria.cc> in bug #162647. |
|zmedico  |                                                                             |

|5743     |Don't require MANIFEST2 hashes since that can trigger excessive fetches when |
|zmedico  |sufficient digests already exist. Thanks to vapier for reporting.            |

|5746     |To ease transition while Manifest 1 is being removed, only require hashes    |
|zmedico  |that will exist before and after the transition.                             |

|5749     |For bug #163083, handle an UnsupportedAPIException thrown from the prerm     |
|zmedico  |phase.                                                                       |

|5757     |For bug #163219, handle binpkgs that have missing PF metadata.               |
|zmedico  |                                                                             |

|5759     |Add new ** for package.keywords token to bypass keyword visibility layer     |
|genone   |                                                                             |

|5760     |Update package.keywords section in portage(5) with info about new ** token   |
|genone   |                                                                             |

|5763     |For bug #142279, detect and warn about null bytes in CONTENTS.               |
|zmedico  |                                                                             |

|5765     |Fix broken line number counting for CONTENTS.                                |
|zmedico  |                                                                             |

|5768     |demote KEYWORDS.missing to a warning to make KEYWORDS='' valid               |
|genone   |                                                                             |

|5778     |Namespace sanitizing, step 1                                                 |
|genone   |                                                                             |

|5779     |Adding compat symlinks for cache and elog packages                           |
|genone   |                                                                             |

|5780     |Namespace sanitizing, step 2 Rename portage.exec to portage.process to avoid |
|genone   |syntax errors                                                                |

|5781     |Namespace sanitizing, step 2b                                                |
|genone   |                                                                             |

|5782     |Namespace sanitizing, step 3                                                 |
|genone   |                                                                             |

|5783     |Fix some breakage caused by script malfunction                               |
|genone   |                                                                             |

|5784     |Namespace sanitizing, step 4                                                 |
|genone   |                                                                             |

|5785     |Namespace sanitizing, step 5                                                 |
|genone   |                                                                             |

|5786     |Document namespace sanitizing                                                |
|genone   |                                                                             |

|5788     |Fix broken symlink caused by exec module rename                              |
|genone   |                                                                             |

|5789     |Fix automatic path detection to account for new location                     |
|genone   |                                                                             |

|5790     |For consistency, do not imply --pretend with --changelog since that prevents |
|zmedico  |--changelog from being usable in EMERGE_DEFAULTS_OPTS. Thanks to Ryan Hill   |
|         |<dirtyepic@gentoo.org> in #151250.                                           |

|5791     |if requested argv cannot be matched to anything, exit with non-zero status   |
|SpankMan |                                                                             |

|5792     |fix namespacing in tests                                                     |
|WarnerBro|                                                                             |

|5793     |add test to entice svn mv                                                    |
|WarnerBro|                                                                             |

|5794     |Move tests into new directory structure                                      |
|WarnerBro|                                                                             |

|5795     |fix minor sed overzeallousness                                               |
|WarnerBro|                                                                             |

|5796     |add support for parsing of unicode quotes                                    |
|SpankMan |                                                                             |

|5798     |Ignore EEXIST from rmdir since some kernels (such as solaris) return that    |
|zmedico  |instead of ENOTEMPTY.                                                        |

|5799     |Remove a stray print statement. Thanks to Rick Warner in bug #125261.        |
|zmedico  |                                                                             |

|5802     |Add a warning about confcache to make.conf(5)                                |
|genone   |                                                                             |

|5803     |Catch EACCESS when running env-update, orignal patch by                      |
|genone   |<phajdan.jr@gmail.com> (bug #106061)                                         |

|5804     |translate unicode quotes to ascii ones so we can keep our regex simple       |
|SpankMan |                                                                             |

|5814     |use errno.EACCES as suggested by Brian Harring                               |
|WarnerBro|                                                                             |

|5817     |Can't delete variable that doesn't exist anymore (bug #164280)               |
|genone   |                                                                             |

|5821     |Minor cleanup for the LIVEVCS.stable code.                                   |
|zmedico  |                                                                             |

|5825     |add support for transparently decompressing gz/Z/bz2 files since some        |
|SpankMan |upstream packages will compress for us                                       |

|5827     |For bug #164078, don't trigger the CLEAN_DELAY countdown for autoclean       |
|zmedico  |operations since those are most likely unattended. Thanks to Dan             |
|         |<hydrogen@notyetimplemented.com> for the initial patch.                      |

|5833     |For bug #164363, shuffle the ip addresses returned from socket.getaddrinfo().|
|zmedico  |                                                                             |

|5838     |Fix "UnboundLocalError: local variable 'portage' referenced before           |
|zmedico  |assignment" caused by an unnecessary local import hiding a global import.    |

|5840     |For bug #164532, don't rely on ${USERLAND} since the portage tree might be   |
|zmedico  |empty.                                                                       |

|5842     |For bug #164617, don't change permissions on ${WORKDIR} with unpack().       |
|zmedico  |                                                                             |

|5845     |Use find + xargs to avoid a potential 'Argument list too long' from bash.    |
|zmedico  |Thanks to solar for reporting.                                               |

|5847     |add some useful options                                                      |
|SpankMan |                                                                             |

|5848     |try and fix $LastChangedRevision$                                            |
|SpankMan |                                                                             |

|5849     |try and fix $Rev$                                                            |
|SpankMan |                                                                             |

|5852     |Don't use os.path.isdir() because it can swallow errors related to           |
|zmedico  |filesystem/disk corruption.                                                  |

|5853     |add some new tests                                                           |
|WarnerBro|                                                                             |

|5854     |rename file                                                                  |
|WarnerBro|                                                                             |

|5855     |Round one of dep_getusedeps()                                                |
|WarnerBro|                                                                             |

|5856     |increase test coverage to cover slots, uncovering a few corner cases that    |
|WarnerBro|need fixing                                                                  |

|5857     |fix regression in test changes                                               |
|WarnerBro|                                                                             |

|5858     |Load the most current variables from /etc/profile.env for post_emerge stuff. |
|zmedico  |                                                                             |

|5859     |Fix --newuse so that it works correctly with --usepkg.                       |
|zmedico  |                                                                             |

|5862     |fix doc typo; more test fiddling                                             |
|WarnerBro|                                                                             |

|5863     |A somewhat more intelligent layout, move tests into portaage namespace so we |
|WarnerBro|can import them easier, seems to be a more common layout from what I've seen.|
|         |Also rewrite the test runner to work with new layout                         |

|5864     |apparently I'm retarded and missed some of the tests..                       |
|WarnerBro|                                                                             |

|5865     |Rename dir.bz2 since that's the most likely case now.                        |
|zmedico  |                                                                             |

|5866     |add warning about storing data in PORTDIR                                    |
|WarnerBro|                                                                             |

|5870     |For bug #153109, replace our old chflags module with the one provided by the |
|zmedico  |py-freebsd package. Thanks to Diego Pettenò <flameeyes@gentoo.org> for the  |
|         |initial patch.                                                               |

|5871     |remove redundant directory now                                               |
|WarnerBro|                                                                             |

|5872     |grrr I thought I removed this                                                |
|WarnerBro|                                                                             |

|5875     |For bug #165065, use the proper RESTRICT setting when fetching files in      |
|zmedico  |digestgen().                                                                 |

|5876     |Make the tests pass.                                                         |
|zmedico  |                                                                             |

|5877     |For bug #165034, make sure that symlinks are excluded from chmod calls.      |
|zmedico  |                                                                             |

|5878     |Use ! -type l to exclude symlinks better. Thanks to marienz.                 |
|zmedico  |                                                                             |

|5879     |Fix a typo from the previos commit.                                          |
|zmedico  |                                                                             |

|5880     |In order to correctly handl the case of target caches that don't have        |
|zmedico  |complete eclass entries, validate the set of interited eclasses to make sure |
|         |it is correct (since timestamp validation is not applicable).                |

|5887     |Fix "UnboundLocalError: local variable 'portage' referenced before           |
|zmedico  |assignment" caused by a local import hiding a global import.                 |

|5888     |For bug #165349, use the portage_versions regex (via pkgsplit) instead of the|
|zmedico  |incompatible ones that repoman currently uses.                               |

|5889     |Document --config-root for bug #165334.                                      |
|zmedico  |                                                                             |

|5890     |For bug #165382, don't raise a ValueError in cpv_expand() if there are only  |
|zmedico  |two matches and one of them is a virtual. Prefer the non-virtual instead.    |

|5891     |Ensure that the code for bug #165342 only affects name collisions with       |
|zmedico  |virtuals.                                                                    |

|5895     |Fix another UnboundLocalError (branches/prefix r5893)                        |
|zmedico  |                                                                             |

|5897     |For bug #165382, show a helpful message if an exception is raised from       |
|zmedico  |cpv_expand().                                                                |

|5902     |Check if entries contain the required hashes before writing the Manifest     |
|genone   |                                                                             |

|5903     |Make sure to fetch files if MANIFEST2_REQUIRED_HASH is missing.              |
|zmedico  |                                                                             |

|5904     |Document PORTAGE_WORKDIR_MODE for bug #8688. Thanks to Peter Hjalmarsson in  |
|zmedico  |bug #164617.                                                                 |

|5906     |Update modules doc for the new portage namespace.                            |
|zmedico  |                                                                             |

|5907     |For backward compatibility with api consumers, _dep_check_strict behavior    |
|zmedico  |will be explicitly enabled as necessary. Thanks to Brian <dol-sen@telus.net> |
|         |for reporting issues with porthole and equery.                               |

|5908     |For bug #165783, handle an InvalidDependString exception triggered by an     |
|zmedico  |invalid SRC_URI.                                                             |

|5910     |move die into isolated-functions.sh                                          |
|WarnerBro|                                                                             |

|5912     |Only echo PORTAGE_LOG_FILE if it's actually set (may not be if sesandbox is  |
|zmedico  |enabled).                                                                    |

|5914     |For bug #165780, make config-protect code consistently ignore '.*~' and      |
|zmedico  |'.*.bak'.                                                                    |

|5916     |For bug #165783, handle a potential InvalidDependString exception inside     |
|zmedico  |digestgen().                                                                 |

|5918     |Enable strict dep checking for repoman.                                      |
|zmedico  |                                                                             |

|5920     |For bug #165783, handle a potential InvalidDependString exception inside     |
|zmedico  |doebuild().                                                                  |

|5922     |For bug #165783, handle a potential InvalidDependString exception in repoman |
|zmedico  |and report a SRC_URI.syntax failure.                                         |

|5924     |Synchronize required hash code in all relevant places.                       |
|zmedico  |                                                                             |

|5926     |Turn on strict dep checking to fix the isvalidatom test.                     |
|zmedico  |                                                                             |

|5928     |Make the "lfull" output more succinct by omitting categories for which there |
|zmedico  |are no violations.                                                           |

|5930     |die requires diefunc and dump_trace too; duh; also move extdebug into        |
|WarnerBro|isolated-functions.sh                                                        |

|5931     |Create namespace for emerge                                                  |
|genone   |                                                                             |

|5934     |update test notes                                                            |
|WarnerBro|                                                                             |

|5935     |fix a few broken tests                                                       |
|WarnerBro|                                                                             |

|5938     |add docstrings                                                               |
|WarnerBro|                                                                             |

|5939     |Move dbapi and related classes out of __init__.py into their own subpackage. |
|genone   |Also perform some minor cleanups.                                            |

|5940     |fix syntax                                                                   |
|zmedico  |                                                                             |

|5941     |Fix imports from the emerge package.                                         |
|zmedico  |                                                                             |

|5942     |Fix automatic sys.path insertions so that they're relative instead of        |
|zmedico  |absolute hard coded.                                                         |

|5943     |remove broken dblink import                                                  |
|zmedico  |                                                                             |

|5944     |fix broken imports                                                           |
|zmedico  |                                                                             |

|5945     |Use os.path.realpath to handle symlinks properly.                            |
|zmedico  |                                                                             |

|5946     |Break a recursive loop.                                                      |
|zmedico  |                                                                             |

|5947     |Fix missing stat import.                                                     |
|zmedico  |                                                                             |

|5948     |Fix vardb.cpv_all() breakage.                                                |
|zmedico  |                                                                             |

|5949     |Add missing VDB_PATH to fix vardbapi.aux_get() breakage.                     |
|zmedico  |                                                                             |

|5950     |Make xterm titles work even when color is disabled. Thanks to Joachim Kaeber |
|zmedico  |<joachim.kaeber@web.de> in bug #166255.                                      |

|5953     |Use the real symbols in import statements, not the references in __init__.py |
|genone   |                                                                             |

|5954     |import best() from portage.versions                                          |
|zmedico  |                                                                             |

|5955     |Make subpackage naming consistent                                            |
|genone   |                                                                             |

|5956     |In the event of a circular dependency panic, eliminate root nodes in order to|
|zmedico  |reduce the noise level to a minimum.                                         |

|5959     |tweak PORT_LOGDIR comments so as to not give the wrong impression about the  |
|SpankMan |default value                                                                |

|5960     |Fix missing imports.                                                         |
|zmedico  |                                                                             |

|5961     |Detect potential issues with mtime granlarity in env_update() and sleep if   |
|zmedico  |necessary. Thanks to Brian Harring for reporting.                            |

|5963     |Fix broken imports.                                                          |
|zmedico  |                                                                             |

|5965     |For bug #158100, use an exact reversal of the actual merge order for --tree  |
|zmedico  |output. It's more efficient than doing 2 order calculations.                 |

|5967     |Optimize merge order calculation for --tree output when necessary.           |
|zmedico  |                                                                             |

|5969     |Fix CONFIG_PROTECT_MASK support. Thanks to piavlo <piavka@cs.bgu.ac.il> for  |
|zmedico  |this patch from bug #166837.                                                 |

|5970     |Add missing quotes.                                                          |
|zmedico  |                                                                             |

|5973     |Add support for RSYNC_EXTRA_OPTS to webrsync                                 |
|genone   |                                                                             |

|5974     |Print filename when displaying package.mask comments                         |
|genone   |                                                                             |

|5975     |Ignore compiled files. Add new feature 'preserve-libs' that injects files    |
|genone   |into $D that - belong to a package instance that is about to be autocleaned -|
|         |are not installed by the new package instance - are listed in at least one   |
|         |NEEDED file in vdb - are not just used by other files of the package instance|
|         |As a side-effect a new file /var/db/pkg/.NEEDED is created that contains a   |
|         |reversed map of the NEEDED files found in a packages dbdir.                  |

|5976     |Print hostname in xterm title if sheridan is available in the environment    |
|genone   |                                                                             |

|5977     |Make emerge importable again without relying on module search path order     |
|genone   |                                                                             |

|5978     |Move bin/emerge to pym/emerge/__init__.py to restore old import behavior as  |
|genone   |the load_source solution doesn't work properly                               |

|5979     |For full backwards compat (with symlinks or other weird stuff) import        |
|genone   |everything into the main namespace                                           |

|5980     |Remove portage_exec.py as subversion is stupid and can't convert it in one   |
|genone   |step                                                                         |

|5981     |Replace compat symlinks with a new compat module as the symlink solution     |
|genone   |prevents reuse of state information (requested by ferringb)                  |

|5982     |For bug #166939, make --nodeps work like a normal package for new-style      |
|zmedico  |virtuals.                                                                    |

|5983     |Remove unnecessary import that triggers DEPRECATION NOTICE.                  |
|zmedico  |                                                                             |

|5984     |Fix package.provided breakage from the fix for bug #166939.                  |
|zmedico  |                                                                             |

|5986     |For bug #166785, check for invalid categories in the world file.             |
|zmedico  |                                                                             |

|5988     |For bug #163990, warn about ebuilds with invalid categories and do not allow |
|zmedico  |them to be installed.                                                        |

|5990     |For bug #163990, warn about binary packages with invalid categories and do   |
|zmedico  |not allow them to be installed.                                              |

|5992     |Move reverse NEEDED cache into CACHE_PATH and use a more descriptive name    |
|genone   |                                                                             |

|5993     |extend check for internal references, should remove all libs that are only   |
|genone   |used internally now                                                          |

|5994     |Move preserve-libs and collision-protect code from treewalk() into their own |
|genone   |functions                                                                    |

|5995     |set.remove() returns None, so can't use it in a function call                |
|genone   |                                                                             |

|5996     |For bug #167450, optimize merge order by delaying the merge of root nodes.   |
|zmedico  |                                                                             |

|5998     |For bug #166880, always display the merge list (allowing --tree to be obeyed |
|zmedico  |in any case).                                                                |

|6000     |For bug #166880, always display the merge list header.                       |
|zmedico  |                                                                             |

|6002     |When calling tar, always exclud . in order to preserver PORTAGE_WORKDIR_MODE.|
|zmedico  |Thanks to Brian Harring in bug #167544.                                      |

|6004     |Don't exclude . since that excludes the entire contents of some tar files.   |
|zmedico  |                                                                             |

|6006     |For bug #166564, make a circular dependency panic more user friendly by      |
|zmedico  |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.                         |

|6008     |Automatically enable --tree mode when displaying nodes with circular deps.   |
|zmedico  |                                                                             |

|6010     |For bug #167450, optimize leaf node selection by ordering nodes from highest |
|zmedico  |to lowest overall reference count.                                           |

|6012     |Make digraph._merge_order_bias() operate on a single digraph that's passed   |
|zmedico  |in.                                                                          |

|6014     |Optimize order for --tree display of circular dependencies.                  |
|zmedico  |                                                                             |

|6017     |As requested by vapier, don't show the merge list in --quiet mode unless it's|
|zmedico  |explicitly requested via --ask or --pretend.                                 |

|6019     |For bug #167795, try avoid the population routine when possible, so that     |
|zmedico  |FEATURES=buildpkg doesn't always force population.                           |

|6021     |Raise a CommandNotFound exception when necessary, to ease troubleshooting.   |
|zmedico  |Thanks to marienz for reporting.                                             |

|6023     |s/x/xs/ to fix a typo in a variable name.                                    |
|zmedico  |                                                                             |

|6024     |For consistency, replace multiple os.getcwd() calls with the "mydir"         |
|zmedico  |variable.                                                                    |

|6027     |Fix stardir and repodir logic from the previous commit.                      |
|zmedico  |                                                                             |

|6029     |Avoid a TypeError when commitmessagefile is None.                            |
|zmedico  |                                                                             |

|6031     |Use startdir instead of mydir since mydir has a trailing slash which triggers|
|zmedico  |normalization issues with the dirname function.                              |

|6033     |Fix more broken commitmessagefile handling.                                  |
|zmedico  |                                                                             |

|6035     |Fix broken file list handling for FEATUES=sign when only the Manifest has    |
|zmedico  |changed.                                                                     |

|6036     |Add some sanity checks for file list handling when repolevel < 3.            |
|zmedico  |                                                                             |

|6038     |Fix "NameError: global name 'myfilelist' is not defined" when                |
|zmedico  |collision-protect is enabled.                                                |

|6039     |Make sure that ${A} in initialized in case pkg_nofetch() needs to be called. |
|zmedico  |Thanks to Peper for reporting.                                               |

|6041     |For bug #167667, use the existence of ${PORTDIR}/manifest1_obsolete to       |
|zmedico  |trigger the disabling of manifest1/digest file generation. This toggle is    |
|         |repo/overlay specific, allowing a specific overlay to drop manifest1 buy     |
|         |adding the manifest1_obsolete file.                                          |

|6042     |For bug #167667, add support for ${PORTDIR}/manifest1_obsolete and           |
|zmedico  |automatically remove ${FILESDIR}/digest-* from cvs when appropriate.         |

|6045     |Don't bother to parse ${FILESDIR}/digest-* when manifest1_compat is disabled.|
|zmedico  |                                                                             |

|6047     |For bug #167668, use an rsync "hide" filter rule to exclude **/files/digest-*|
|zmedico  |and delete them on the receiver.                                             |

|6048     |Remove quotes since rsync doesn't accept them (and there is no shell to      |
|zmedico  |remove them since we use spawn() for rsync now).                             |

|6051     |spawn rsync without a shell.                                                 |
|zmedico  |                                                                             |

|6053     |Testing CIA commit logs, will undo in a moment.                              |
|robbat2  |                                                                             |

|6054     |Undoing previous test                                                        |
|robbat2  |                                                                             |

|6055     |Make verify_all() return an "insufficient data" error if there is not at     |
|zmedico  |least one supported hash type.                                               |

|6056     |Make fetch() bail out when an "Insufficient data for checksum verification"  |
|zmedico  |error occurs.                                                                |

|6058     |Do not show the spinner and the "Calculating dependencies" message for       |
|zmedico  |installation actions when the --nodeps option has been specified. Thanks to  |
|         |David Watzke <david@watzke.cz> for this patch from bug #168169.              |

|6060     |Filter paths matching '/$' that come from debugedit. Thanks to Ed Catmur for |
|zmedico  |this patch from bug #165342.                                                 |

|6062     |As requested by solar, never show a merge list unless it's explicitly        |
|zmedico  |requested by --ask, --pretend, or --tree.                                    |

|6064     |As requested by solar, never show a merge list unless it's explicitly        |
|zmedico  |requested by --ask, --pretend, or --tree.                                    |

|6066     |Allow --verbose to trigger a merge list even without --pretend, --ask, or    |
|zmedico  |--tree. Thanks to agaffney and zlin for the suggestion.                      |

|6068     |Clean up os.environ["USERLAND"] pollution from the portage.data module so    |
|zmedico  |that it doesn't interfere with repoman.                                      |

|6070     |For bug #167668, prune empty ${FILESDIR}s by adding --prune-empty-dirs to    |
|zmedico  |PORTAGE_RSYNC_OPTS. Thanks to Ulrich Mueller <ulm@kph.uni-mainz.de> for the  |
|         |suggestion.                                                                  |

|6086     |For compatibility with older findutils, don't use the -L predicate (bug      |
|zmedico  |#168432).                                                                    |

|6088     |For bug #168267, use add --force to the default PORTAGE_COMPRESS_FLAGS so    |
|zmedico  |that hardlinks are automatically broken.                                     |

|6098     |Merged from branches/prefix r6091:6092. Fix undefined whatever 'best' error  |
|zmedico  |by importing it from portage.versions                                        |

|6099     |Merged from branches/prefix r6092:6093. Avoid "TypeError: unpack             |
|zmedico  |non-sequence" backtraces, and return a set of None, None when was asked for  |
|         |the location.                                                                |

|6100     |update --help example to match current behavior #168678 by Arthur Hagen      |
|SpankMan |                                                                             |

|6102     |For bug #168823, fix broken except statement syntax that prevents the        |
|zmedico  |ValueError from being caught as intended.                                    |

|6104     |For bug #168646, don't bail out immediately when rsync detects protocol      |
|zmedico  |incompatibility (code 2) during fetching of the timestamp file. Retry for a  |
|         |better server (up to PORTAGE_RSYNC_RETRIES).                                 |

|6107     |Fix misplaced [1]                                                            |
|zmedico  |                                                                             |

|6109     |Use an alarm signal to implement a timeout when rsync is fetching the server |
|zmedico  |timestamp file, since rsync's --timeout option doesn't apply to the initial  |
|         |connection attempt.                                                          |

|6111     |Make sure pids are appropriately removed from portage.process.spawned_pids.  |
|zmedico  |                                                                             |

|6113     |- please be --quiet emerge. still need to hunt down one more newline         |
|solar    |                                                                             |

|6115     |Add compatibility code to avoid the GNU specific --reference option of chmod.|
|zmedico  |Thanks to Timothy Redaelli <drizzt@gentoo.org>.                              |

|6117     |For consistency, remove exit code 2 (protocol incompatibility) from the other|
|zmedico  |list of rsync exit codes.                                                    |

|6119     |Fix broken except statement syntax.                                          |
|zmedico  |                                                                             |

|6121     |Fix the rest of the broken except statement syntax.                          |
|zmedico  |                                                                             |

|6123     |Fix broken rsync exitcode shift.                                             |
|zmedico  |                                                                             |

|6125     |Remove unnecessary print statement reported by solar.                        |
|zmedico  |                                                                             |

|6127     |Even if there's no timestamp available locally, fetch the timestamp anyway as|
|zmedico  |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.                             |

|6129     |For bug #168646, remove --prune-empty-dirs from PORTAGE_RSYNC_OPTS since it's|
|zmedico  |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.                                                    |

|6133     |When emerge automatically resumes, add --ignore-default-opts to the command  |
|zmedico  |line in order to prevent things like --ask from leaking in via               |
|         |EMERGE_DEFAULT_OPTS. Thanks to Peter Weller <welp@gentoo.org> for reporting. |

|6135     |For bug #169046, fill in the --tree display with "nomerge" nodes so that the |
|zmedico  |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.        |

|6137     |Fix types.InstanceType test which is failing now for some reason.            |
|zmedico  |                                                                             |

|6138     |remove category regex, dumb idea, sorry I did it                             |
|WarnerBro|                                                                             |

|6141     |s/node/selected_parent/ for clarity                                          |
|zmedico  |                                                                             |

|6143     |For bug #138840, show a more informative message when waiting for a distfiles|
|zmedico  |lock due to parallel-fetch. Thanks to David Watzke <david@watzke.cz> for the |
|         |initial patch.                                                               |

|6146     |Add missing sys import.                                                      |
|zmedico  |                                                                             |

|6148     |Make sure that excess "nomerge" nodes are pruned correctly.                  |
|zmedico  |                                                                             |

|6153     |you can't insert into sys.path without importing sys...                      |
|WarnerBro|                                                                             |

|6154     |In the same vein as copyright, add Id and svn:keywords to it                 |
|WarnerBro|                                                                             |

|6155     |make sure uid is an int                                                      |
|WarnerBro|                                                                             |

|6156     |Pass waiting_msg into recursive lockfile() calls.                            |
|zmedico  |                                                                             |

|6158     |Only prune duplicate consecutive nodes if they both have depth == 0.         |
|zmedico  |                                                                             |

|6160     |For bug #169187, make --depclean prune unneeded slots such that it is        |
|zmedico  |consistent with the world update algorithm.                                  |

|6162     |Add a note about --with-bdeps in the --depclean failure message.             |
|zmedico  |                                                                             |

|6164     |Fix the minimum index for pruning consecutive duplicate nodes.               |
|zmedico  |                                                                             |

|6166     |Remove the KVERS environment variable since it's code that creates it is     |
|zmedico  |broken anyway (only sets KVERS="." in the general case).                     |

|6169     |Display blockers at the end of the list so that it will more often be easy   |
|zmedico  |for the user to see them in a terminal. Thanks to iapitus and hydrogen for   |
|         |the suggestion.                                                              |

|6174     |allow people to disable compression by setting the PORTAGE_COMPRESS variables|
|SpankMan |to ""                                                                        |

|6175     |Avoid pointless population of the binary tree when --buildpkg is enabled.    |
|zmedico  |Thanks to vapier for reporting.                                              |

|6178     |these will fail now                                                          |
|WarnerBro|                                                                             |

|6181     |Roll our own unittest framework to add skip support.                         |
|WarnerBro|                                                                             |

|6182     |Update all the unittests to use the new framework, test skipping with        |
|WarnerBro|isValidAtom, add silly xpak test since I have it 'done'                      |

|6183     |Add part about new framework and skipping to test notes                      |
|WarnerBro|                                                                             |

|6186     |For bug #169620, in --tree display always show the dowload size on the node  |
|zmedico  |that is "ordered" rather than one of it's "nomerge" counterparts.            |

|6188     |Fix 2 more types.InstanceType comparisons that are broken by the transition  |
|zmedico  |of dbapi to new-style classes.                                               |

|6189     |Take marien's advice, turn Skips into Todos for clarity sake                 |
|WarnerBro|                                                                             |

|6190     |Part of my attempt now involves cleaning up config; this means for me;       |
|WarnerBro|removing the file-based stuff from it (config_path) and encapsulating that   |
|         |into classes. This is the first one, a simple PackageKeywords class that does|
|         |file-based stuff, no recursion yet but soon. Trying to do TDD here as well,so|
|         |tests first then code.                                                       |

|6192     |Change load() to have no default arguments, makes caller specifiy            |
|WarnerBro|explicitly...I think assuming a default arg is bad here. Also add PackageUse |
|         |and PackageUseFile, change up the comments a bit. I've started to notice code|
|         |re-use here; these are basically the same code. I think I will write up the  |
|         |rest of the package* classes and then perform code merges to save LOC and    |
|         |memory and whatnot                                                           |

|6193     |add PackageMask{File} classes, change unit tests to use try/finally, makes   |
|WarnerBro|sure the tempfile gets destroyed even if something weird happens             |

|6194     |whoopse, s/;/:/                                                              |
|WarnerBro|                                                                             |

|6195     |Remove legacy "masked by: profile" support as per bug #149508. Profiles      |
|zmedico  |should use package.mask to mask unwanted versions of system packages.        |

|6196     |Use the full atoms from the system set, since profile masking does not       |
|zmedico  |automatically constrain the matches anymore.                                 |

|6197     |Remove the "masked by: profile" support from getmaskingstatus().             |
|zmedico  |                                                                             |

|6198     |Remove profile masking of system packages from the docs.                     |
|zmedico  |                                                                             |

|6199     |Display message about --buildpkgonly restriction in pretend mode as well     |
|genone   |                                                                             |

|6201     |Add back a missing `source isolated-functions.sh`. The color logic is handled|
|zmedico  |internally.                                                                  |

|6202     |import portage.xpak to avoid deprecation warning                             |
|zmedico  |                                                                             |

|6203     |For bug #170178, remove all hardcoded references to '/usr/lib/portage'.      |
|zmedico  |                                                                             |

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

|6210     |Automatically convert ROOT and PORTAGE_CONFIGROOT to absolute paths when     |
|zmedico  |necessary since relative paths lead to problems. Thanks to Christian Heim    |
|         |<phreak@gentoo.org> for reporting.                                           |

|6211     |Add back rstrip(os.path.sep) from the previous commit since it's needed when |
|zmedico  |ROOT="/".                                                                    |

|6212     |For bug #163262 and conformance with section 7.2 of the PMS, make the export |
|zmedico  |attribute of variables persist between ebuild phases.                        |

|6215     |For bug #171117, ensure that the new and old config have different timestamps|
|zmedico  |(for the benefit of programs like rsync that need distiguishable timestamps  |
|         |to detect file changes). Thanks to Ben Bennett <sink@limey.net> for          |
|         |reporting.                                                                   |

|6217     |Fix a utime call to prevent a timestamp collision for bug #171117.           |
|zmedico  |                                                                             |

|6219     |drop the need for the force flag by default and just delete the existing     |
|SpankMan |files automatically #171007                                                  |

|6220     |redo compression so that it is queued up in src_install and then dequeued    |
|SpankMan |post src_install                                                             |

|6221     |forcibly break all hard links so we dont need to rely on --force in          |
|SpankMan |compressor and tweak the _relocate_skip_dirs() func to handle whitespace in  |
|         |paths (thanks to zmedico for tip)                                            |

|6222     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|6223     |Fix broken exception handling.                                               |
|zmedico  |                                                                             |

|6224     |Fix a broken test.                                                           |
|zmedico  |                                                                             |

|6225     |ignore *.py[co]                                                              |
|SpankMan |                                                                             |

|6226     |Use mkstemp to create a random tempfile.                                     |
|zmedico  |                                                                             |

|6227     |fix for older python who have oddly named __exc_info()                       |
|WarnerBro|                                                                             |

|6228     |bump ________foo from the TestCase class since _exc_info() doesn't do        |
|WarnerBro|anything anyway                                                              |

|6229     |send stdout to /dev/null since we rely on the output of stdout here to       |
|SpankMan |determine the proper suffix #171212                                          |

|6230     |start of framework for programs in portage bin                               |
|SpankMan |                                                                             |

|6231     |Close /dev/null when finished.                                               |
|zmedico  |                                                                             |

|6232     |Make paths independent of cwd.                                               |
|zmedico  |                                                                             |

|6233     |Add "bin" to testDirs.                                                       |
|zmedico  |                                                                             |

|6234     |Call the base class destructor if it exists.                                 |
|zmedico  |                                                                             |

|6240     |make sure we prefix all arguments with $D, including ones that dont start    |
|SpankMan |with a /                                                                     |

|6241     |Use locals() instead of setattr to insert generated functions into the       |
|zmedico  |current module. Thanks to Brian Harring for the suggestion.                  |

|6242     |Never use listdir with both recursion=True and followSymlinks=True since it  |
|zmedico  |circular symlinks will lead to endless recursion loops. Thanks to Tobias Hahn|
|         |<tobhahn@web.de> for this patch.                                             |

|6246     |Appropriately use globals() instead of locals() as suggested by marienz.     |
|zmedico  |                                                                             |

|6247     |revert previous change since it is obviously incorrect as pointed out by     |
|SpankMan |grobian                                                                      |

|6251     |Implement license visibility filtering for GLEP 23, bug #17367, and bug      |
|zmedico  |#152593.                                                                     |

|6253     |Appropriately return from _getMissingLicenses() if one of the choices is     |
|zmedico  |satisfied.                                                                   |

|6255     |Pass missing acceptable_licenses parameter into recursive                    |
|zmedico  |_getMissingLicenses() calls.                                                 |

|6256     |Fix cvstree import to avoid deprecation warning.                             |
|zmedico  |                                                                             |

|6258     |Catch a potential InvalidDependString exception.                             |
|zmedico  |                                                                             |

|6259     |Add a docstring to config.getMissingLicenses().                              |
|zmedico  |                                                                             |

|6260     |Pass a list of USE flags into config.getMissingLicenses() so that the method |
|zmedico  |can eventually be used for binary packages in addition to ebuilds.           |

|6261     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|6263     |default --help should be usable, so make the extended output require         |
|SpankMan |--verbose                                                                    |

|6264     |Add --verbose to the "for more help" message.                                |
|zmedico  |                                                                             |

|6265     |Ignore non-existent directories for bug #171809. This is required for        |
|zmedico  |readonly mode.                                                               |

|6267     |For bug #171840, consider all choices for slot intersection and promote those|
|zmedico  |that have upgrades relative to other choices.                                |

|6269     |Clean up and simplify preference selection logic for bug #171840.            |
|zmedico  |                                                                             |

|6271     |For bug #172033, remove the obsolete QA Notice for man pages that are already|
|zmedico  |compressed.                                                                  |

|6273     |Allow the merge task to continue despite conflicts when --fetch-all-uri is   |
|zmedico  |specified.                                                                   |

|6275     |return from the merge task instead of calling sys.exit directly.             |
|zmedico  |                                                                             |

|6277     |Verify all ebuild manifests before building anything now so that the user is |
|zmedico  |notified of failure as soon as possible.                                     |

|6279     |Fix the rest of the tests                                                    |
|WarnerBro|                                                                             |

|6280     |completely rewrite file bits, use Loader classes to push loading             |
|WarnerBro|functionality down                                                           |

|6281     |split the loader classes into their own file, split the recursive filename   |
|WarnerBro|grabbing out into it's own function                                          |

|6282     |Do the "*" check as early as possible in config.getMissingLicenses().        |
|zmedico  |                                                                             |

|6283     |Verify the Manifest first even if there's only one package (prior to the     |
|zmedico  |fetch phase).                                                                |

|6285     |fix grammar in error output                                                  |
|SpankMan |                                                                             |

|6286     |Fix insecure tempfile usage                                                  |
|WarnerBro|                                                                             |

|6287     |fix some tests, break others                                                 |
|WarnerBro|                                                                             |

|6288     |clean up some init functions, add PortageModules class                       |
|WarnerBro|                                                                             |

|6289     |fix tests for PortageModulesFile                                             |
|WarnerBro|                                                                             |

|6290     |fix broken PortageModule classes                                             |
|WarnerBro|                                                                             |

|6291     |minor name changes for bin tests, svn propset keywords Id stuff              |
|WarnerBro|                                                                             |

|6292     |Continue to support profile masking at least until bug #170697 is settled.   |
|zmedico  |                                                                             |

|6297     |source ${T}/environment before the definition of qa_source() and qa_call() so|
|zmedico  |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.                                                                   |

|6299     |Filter the readonly attribute from variables saved in ${T}/environment to    |
|zmedico  |prevent 'readonly variable' error messages in later phases.                  |

|6301     |Properly anchor sed regexp for readlonly attribut filtering.                 |
|zmedico  |                                                                             |

|6303     |Synchronize PORTAGE_COMPRESS_FLAGS to reflect that -9 is the default now.    |
|zmedico  |                                                                             |

|6305     |Convert "ebuild" and "binary" "nomerge" nodes into "installed" nodes for     |
|zmedico  |greater consistency in the depgraph.                                         |

|6307     |Correctly pull the metadata again when the node is converted.                |
|zmedico  |                                                                             |

|6309     |For bug #172539, fix ecompressdir suffix handling so that automatic          |
|zmedico  |decompression of Z, gz, and bz2 suffixes works properly.                     |

|6317     |spaces -> tabs                                                               |
|zmedico  |                                                                             |

|6318     |spaces -> tabs                                                               |
|zmedico  |                                                                             |

|6321     |For bug #172571, use socket.AF_INET as the default family for                |
|zmedico  |socket.getaddrinfo().                                                        |

|6324     |make PDEPEND wording less restrictive #172511 and clarify install status wrt |
|SpankMan |||() as noted by ferringb                                                    |

|6325     |Fix missing import.                                                          |
|zmedico  |                                                                             |

|6328     |After talking to marienz, decide that 1 class is better than 4, also realize |
|WarnerBro|that UserDict has most of the dict methods exposed, so drop them. Also add a |
|         |LoaderError Exception. Still to do? add a validation callable into the loader|
|         |to validate data.                                                            |

|6329     |drop line_count in favor of izip and count(), itertools FOR THE WIN baby.    |
|WarnerBro|                                                                             |

|6330     |I consulted the python oracle and it told me enumerate was better, so go team|
|WarnerBro|enumerate                                                                    |

|6332     |For bug #173184, handle the CommandNotFound that is produced during          |
|zmedico  |uninstallation of prelink.                                                   |

|6339     |Punt the sorted_versions() function in favor of list.sort(vercmp).           |
|zmedico  |                                                                             |

|6341     |Don't set os.environ["USERLAND"] inside portage.data and rely on USERLAND    |
|zmedico  |from the profile instead (bail out if necessary when USERLAND is unset).     |

|6342     |Don't force OS detection in the portage.data module.                         |
|zmedico  |                                                                             |

|6343     |Make sure XARGS has a default value.                                         |
|zmedico  |                                                                             |

|6344     |Provide a default value to the getattr call.                                 |
|zmedico  |                                                                             |

|6346     |remove references to DOCDESTTREE and INSDESTTREE                             |
|SpankMan |                                                                             |

|6347     |change "DOCDESTTREE" to "_E_DOCDESTTREE_" to try and prevent abuse from      |
|SpankMan |ebuild writers                                                               |

|6348     |tell people that the FILES section is not supposed to be complete (and sneak |
|SpankMan |in a few style fixups)                                                       |

|6349     |document /var/cache/edb/, /var/db/pkg/, and /var/lib/portage/config          |
|SpankMan |                                                                             |

|6350     |remove references to EXEDESTTREE                                             |
|SpankMan |                                                                             |

|6351     |change "EXEDESTTREE" to "_E_EXEDESTTREE_" to try and prevent abuse from      |
|SpankMan |ebuild writers                                                               |

|6354     |Only apply permissions to ccache, confcache, and distcc dirs when they are   |
|zmedico  |created in order to avoid interference with whatever the user's preferred    |
|         |permissions are. Thanks to Diego Pettenò <flameeyes@gmail.com> for          |
|         |reporting.                                                                   |

|6356     |Cache NEEDED in order to optimize update_library_map() calls.                |
|zmedico  |                                                                             |

|6357     |Update the FEATURES=strict docs for better clarity. Thanks to taviso for     |
|zmedico  |reporting.                                                                   |

|6358     |Don't load FEATURES in load_infodir() because FEATURES from the build host   |
|zmedico  |shouldn't be interpreted asFEATURES on the client system. Thanks to Thanks to|
|         |Chri                                                                         |

|6360     |Efficiently recycle partial valid vdb cache when possible. This reduces disk |
|zmedico  |load when switching between versions of portage that cache different keys.   |

|6362     |For bug #173808, compress ${mandir} all in one go instead of doing           |
|zmedico  |subdirectories separately. This allows symlinks that point into sibling      |
|         |directories to get updated properly be ecompressdir.                         |

|6371     |For bug #173808, add back the old heuristics to make sure that we don't just |
|zmedico  |blindly compress the contents of any directory named "man".                  |

|6379     |cleanup example ebuild to be more representative of a "good" ebuild #174260  |
|SpankMan |by Timothy Redaelli                                                          |

|6383     |Use a config instance that's not locked/immutable.                           |
|zmedico  |                                                                             |

|6384     |Use catpkgsplit instead of pkgsplit for consistency with usage elsewhere.    |
|zmedico  |                                                                             |

|6386     |Add CATEGORY to blacklisted variables since it can interfere with CATEGORY   |
|zmedico  |guessing inside doebuild.                                                    |

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

|6392     |simplify unsafe file checking so files/paths with spaces dont cause troubles |
|SpankMan |                                                                             |

|6394     |create leading directories to match behavior of other do* programs           |
|SpankMan |                                                                             |

|6395     |document new version suffix style #166522                                    |
|SpankMan |                                                                             |

|6396     |Prefix the hardlink source with ${D} like we always have.                    |
|zmedico  |                                                                             |

|6401     |revise tests so that `insinto /` does not trigger an error                   |
|SpankMan |                                                                             |

|6402     |queue compression                                                            |
|SpankMan |                                                                             |

|6403     |do stripping after compression dequeueing                                    |
|SpankMan |                                                                             |

|6411     |convert `type -p` to `type -P` as noted by grobian                           |
|SpankMan |                                                                             |

|6416     |strip .comment by default, add a comment as to what we need before we can do |
|SpankMan |.note, and add safe stripping of relocatable objects                         |

|6417     |For bug #175344, use cp_list instead of xmatch in order to avoid dep_expand  |
|zmedico  |calls.                                                                       |

|6419     |For bug #175344, handle a potential InvalidDependString exception when       |
|zmedico  |parsing PROVIDE.                                                             |

|6421     |For bug #175344, handle a potential InvalidDependString exception when       |
|zmedico  |parsing PROVIDE.                                                             |

|6423     |For bug #175344, validate LICENSE and PROVIDE inside doebuild().             |
|zmedico  |                                                                             |

|6425     |Also validate SRC_URI inside doebuild().                                     |
|zmedico  |                                                                             |

|6427     |Also validate RESTRICT inside doebuild().                                    |
|zmedico  |                                                                             |

|6429     |Use portable sh syntax rather than bash syntax. Thanks to drizzt.            |
|zmedico  |                                                                             |

|6431     |Pretty up the repoman imports, use cPickle over pickle for performance       |
|WarnerBro|                                                                             |

|6432     |For bug #175781, add a higher preference priority for choices where all      |
|zmedico  |matching slots are installed (not just any slot).                            |

|6435     |fix typo                                                                     |
|WarnerBro|                                                                             |

|6438     |For bug #176139, only symlink the distfiles that are required according the  |
|zmedico  |current USE settings.                                                        |

|6440     |Always ensure permissions in DISTCC_DIR in order to try to prevent potential |
|zmedico  |permission problems for non-root users who are in the portage group          |
|         |(userpriv, etc.).                                                            |

|6442     |In the installsources docs, note that CFLAGS needs to be set to include debug|
|zmedico  |information. Thanks to tigger^ for reporting.                                |

|6444     |For bug #176305, validate the resume merge list before attempting to verify  |
|zmedico  |the ebuild manifests.                                                        |

|6446     |Fix up missing mymergelist variable from the previous commit.                |
|zmedico  |                                                                             |

|6452     |For bug #175058, properly quote the variables in FETCHCOMMAND and            |
|zmedico  |RESUMECOMMAND since the command is spawned in a bash shell.                  |

|6454     |For bug #176384, adjust config according to options of the command being     |
|zmedico  |resumed.                                                                     |

|6456     |For bug #175058, avoid potential quoting issues by spawning FETCHCOMMAND     |
|zmedico  |without a shell.                                                             |

|6458     |- add new echo module for people who don't want any real logging - add       |
|genone   |copyright header in elog modules and enable keyword substitution - enable    |
|         |save_summary and echo modules in make.globals                                |

|6459     |Fix -* handling in gvisible to match incremental semantics                   |
|genone   |                                                                             |

|6461     |Handle KeyError when the ebuild is corrupt.                                  |
|zmedico  |                                                                             |

|6467     |Fix eend so that it works properly on a standard BSD console. Thanks to      |
|zmedico  |UberLord.                                                                    |

|6469     |s/dir/actual_dir/ (branches/prefix r6463:6464                                |
|zmedico  |                                                                             |

|6471     |document the behavior of `ebuild` wrt FEATURES=noauto #175444                |
|SpankMan |                                                                             |

|6472     |Remove news about profile masking which has been reverted pending resolution |
|zmedico  |of bug #170697. Thanks to Arfrever Frehtes Taifersar Arahesis in #149508.    |

|6473     |For bug #176765, when a new package is blocked by another one that is being  |
|zmedico  |replaced, handle another case where the conflict can be avoided.             |

|6478     |For bug #175058, comment #15, expand all possible variables in each argument.|
|zmedico  |                                                                             |

|6480     |For bug #177211, use chmod -R on the children of the current directory in    |
|zmedico  |order to reduce the size of the argument list.                               |

|6482     |Use match_from_list in order to potentially avoid more blocks.               |
|zmedico  |                                                                             |

|6484     |Add missing base class.                                                      |
|zmedico  |                                                                             |

|6485     |For bug #171259, fix vercmp so that implicit _p0 is less than explicit _p0.  |
|zmedico  |Thanks to TGL <degrenier@easyconnect.fr> for the patch.                      |

|6487     |Use varexpand to expand FETCHCOMMAND and RESUMECOMMAND.                      |
|zmedico  |                                                                             |

|6490     |Use shlex for better splitting of FETCHCOMMAND.                              |
|zmedico  |                                                                             |

|6492     |Use shlex for better splitting of PORTAGE_RSYNC_OPTS and                     |
|zmedico  |PORTAGE_RSYNC_EXTRA_OPTS.                                                    |

|6494     |Prevent blockers that are only partially resolvable by merge order from      |
|zmedico  |accidentally being ignored.                                                  |

|6498     |validators++                                                                 |
|WarnerBro|                                                                             |

|6499     |Honestly if they are missing sys, that error message probably won't help any |
|WarnerBro|more than the other one (zomg broken)                                        |

|6500     |imports are one module per line, remove type module in favor of the new      |
|WarnerBro|hotness, isinstance.                                                         |

|6503     |antarus fears it, and fears it often                                         |
|WarnerBro|                                                                             |

|6504     |For bug #177601, add a reference the --verbose option documentation in the   |
|zmedico  |OUTPUT section.                                                              |

|6505     |For bug #177591, increase shell compatibility by preserving quotes in        |
|zmedico  |varexpand() since quote removal is handled by shlex.                         |

|6506     |fix spacing in loaders                                                       |
|WarnerBro|                                                                             |

|6508     |Make sure USE=test is properly enabled when the test phase is forced via the |
|zmedico  |ebuild command. Thanks to Caster for reporting.                              |

|6511     |For bug #177763, document that FEATURES=keepwork can interfere with normal   |
|zmedico  |emerge operation.                                                            |

|6512     |fix typo from previous commit                                                |
|zmedico  |                                                                             |

|6513     |Make sure USE=test is properly enabled when the test phase is forced via the |
|zmedico  |ebuild command, even when USE from ${T}/environment doen't have it.          |

|6517     |Make sure FEATURES=test and USE=test are consistently enabled for all        |
|zmedico  |requested phases when the test phase is forced via the ebuild command.       |

|6519     |For bug #177763, clarify about how FEATURES=keepwork allows ${WORKDDIR} to be|
|zmedico  |reused.                                                                      |

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

|6524     |Add TODO note about support for blocks within slots. Thanks to Brian Harring |
|zmedico  |for reporting.                                                               |

|6525     |Fix the varexpand quotes tests since quotes are no longer removed by this    |
|zmedico  |function.                                                                    |

|6527     |tabs -> spaces                                                               |
|zmedico  |                                                                             |

|6528     |import dispatch_conf from the new namespace                                  |
|zmedico  |                                                                             |

|6529     |remove old import                                                            |
|zmedico  |                                                                             |

|6530     |the profile check is spammy and should be squelched when --quiet is given    |
|WarnerBro|                                                                             |

|6535     |For bug #178293, don't write digest-* files unnecessarily when SRC_URI is    |
|zmedico  |empty.                                                                       |

|6537     |fix syntax (merged from branches/prefix r6534)                               |
|zmedico  |                                                                             |

|6540     |Don't protect USE_EXPAND variables from -* anymore because the really        |
|zmedico  |critical ones should all be in use.force now (typically kernel_linux,        |
|         |elibc_glibc, and userland_GNU).                                              |

|6541     |For bug #162404, use a pseudo-terminal device pair (instead of a normal pipe)|
|zmedico  |for moving ouput out of the sesandbox domain.                                |

|6542     |wrap lines                                                                   |
|zmedico  |                                                                             |

|6543     |Check to see if I have svn.g.o fixed, no actual file changes.                |
|robbat2  |                                                                             |

|6544     |Check to see if I have svn.g.o fixed, no actual file changes, pass #2        |
|robbat2  |                                                                             |

|6545     |Add registration support for preserved library objects, move the             |
|genone   |library->consumer map code out of vardbapi and fix a bug in the setup code   |
|         |for preserve-libs and collision-protect caused by using relative paths with  |
|         |os.path.islink()                                                             |

|6546     |- store newsid in unread file, not the path to the news item - use octal     |
|genone   |numbers to specify file permissions - use descriptive exceptions when (not)  |
|         |creating NewsItem objects - code style cleanups                              |

|6547     |Display notification about unread news in all situations specified by glep 42|
|genone   |                                                                             |

|6548     |Enable elog functionality for the python side of portage                     |
|genone   |                                                                             |

|6549     |Update for glep42, preserve-libs and elog                                    |
|genone   |                                                                             |

|6550     |Catch a potential OSError if the child process has already died.             |
|zmedico  |                                                                             |

|6551     |Only show extra whitespace where there are some news items to display.       |
|zmedico  |                                                                             |

|6552     |Fall back to pickle if cPickle is unavailable. Thanks to Michael             |
|zmedico  |Haubenwallner <michael.haubenwallner@salomon.at> for reporting.              |

|6553     |fix from James C. Georgas to not modify EXTRA_EINSTALL #178544               |
|SpankMan |                                                                             |

|6554     |For bug #176539, add a "manifest" target to repoman so that there's a simple |
|zmedico  |way to just generate a Manifest.                                             |

|6555     |Avoid permission errors when trying to lock repo_path. Note that the lock    |
|zmedico  |file should be mapped into /var somewhere.                                   |

|6556     |In --tree output, keep track of which graph edges have already been displayed|
|zmedico  |and try not to display a given edge more than once.                          |

|6557     |Add edges to shown_edges at the first oportunity.                            |
|zmedico  |                                                                             |

|6558     |For bug #178378, make the default src_compile() check for configure in       |
|zmedico  |${ECONF_SOURCE:-.} (instead of just .) before it calls econf. Thanks to James|
|         |C. Georgas <jgeorgas@rogers.com>.                                            |

|6559     |Use device number and i-node number (like os.path.samefile does) to check if |
|zmedico  |the current directory is inside a given overlay. This solves issues with path|
|         |comparison and symlinks.                                                     |

|6560     |For bug #179206, improve efficiency by using a containment test instead of   |
|zmedico  |str.count inside update_dbentry. Thanks to Jason Lai <jason.lai@gmail.com>.  |

|6561     |In fetch(), don't try to parse digests unless the "O" variable is defined.   |
|zmedico  |                                                                             |

|6562     |For bug #179008, just use metadata.dtd directly from $DISTDIR.               |
|zmedico  |                                                                             |

|6563     |- blind chmod 0 before unlinking files to avoid anybody doing sneaky stuff   |
|solar    |via hardlinks                                                                |

|6564     |Add a missing newline to the writemsg output.                                |
|zmedico  |                                                                             |

|6565     |For bug #179380, make support for ECONF_SOURCE in the default src_compile()  |
|zmedico  |conditional on EAPI != 0.                                                    |

|6566     |Use bash to spawn FETCHCOMMAND under selinux since most other binaries are   |
|zmedico  |forbidden as entrypoints into the fetch domain. Thanks to Justin Heesemann   |
|         |<jh@ionium.org> for reporting.                                               |

|6567     |Fix src_compile() ECONF_SOURCE logic to make sure it behaves properly.       |
|zmedico  |                                                                             |

|6568     |When ${PKGDIR}/All/ doesn't exist, put packages in ${PKGDIR}/${CATEGORY}/    |
|zmedico  |instead. This new layout is backward compatible with portage-2.1.2 and it    |
|         |will be a requirement for new PORTAGE_BINHOST support that is comming.       |

|6569     |Cache xpak metadata in ${PKGDIR}/Packages in order to minimize disk load when|
|zmedico  |binarytree.populate() is called. This does not do all the keys that          |
|         |genpkgindex does but it will copy metadata from the existing Packages file if|
|         |it appears valid. The binarytree.populate() code is performance critical, so |
|         |the MD5 will certainly have to be done elsewhere (like just after a package  |
|         |is built).                                                                   |

|6570     |Fix size comparison logic.                                                   |
|zmedico  |                                                                             |

|6571     |Handle a KeyError if an MTIME is missing from the Packages index.            |
|zmedico  |                                                                             |

|6579     |- cleaner version of the hardlink basic suid protection. actually check that |
|solar    |the file is setXid                                                           |

|6580     |Fix namespace for S_ISUID and S_ISGID.                                       |
|zmedico  |                                                                             |

|6581     |More namespace fixes.                                                        |
|zmedico  |                                                                             |

|6582     |Punt the portdbapi.getsize() function since it's unused and broken (mysum    |
|zmedico  |referenced before assignment).                                               |

|6583     |Fix missing red import.                                                      |
|zmedico  |                                                                             |

|6584     |Split reading/writing of $PKGDIR/Packages into a PackageIndex class.         |
|zmedico  |                                                                             |

|6585     |Discard metadata from the Packages file if there's no MTIME attribute.       |
|zmedico  |                                                                             |

|6586     |Update /Packages as each package is built (MD5 is done here since it won't   |
|zmedico  |hurt performance).                                                           |

|6587     |Lock $PKGDIR/Packages during population so that it won't get out of sync if  |
|zmedico  |another process updates it.                                                  |

|6588     |Store the path of $PKGDIR/Packages as binarytree._pkgindex_file.             |
|zmedico  |                                                                             |

|6589     |Lock the Packages index while it's being updated with a packages that was    |
|zmedico  |just built.                                                                  |

|6590     |Save memory by not holding a reference to the PackageIndex when it's not     |
|zmedico  |being used.                                                                  |

|6591     |Pass a temporary file name to the package phase in the environment variable  |
|zmedico  |PORTAGE_BINPKG_TMPFILE and move the temporary file into place inside         |
|         |binarytree.inject(). This allows binarytree.inject() to perform the move     |
|         |while holding a lock.                                                        |

|6592     |Add a 'ignore-previously-merged' config option which gives similar behavior  |
|zmedico  |to the --noconfmem emerge option.                                            |

|6609     |Add more relevant package metadata to the Packages index, including          |
|zmedico  |dependencies with USE conditionals collapsed.                                |

|6610     |Fix paren_normalize logic.                                                   |
|zmedico  |                                                                             |

|6611     |Make PackageIndex.write() alphabetize the metadata keys.                     |
|zmedico  |                                                                             |

|6612     |Remember to call the superclass constructor.                                 |
|zmedico  |                                                                             |

|6613     |Make PackageIndex.write() omit USE when appropriate.                         |
|zmedico  |                                                                             |

|6615     |Fix the ignore-previously-merged option so that it compares the original     |
|zmedico  |files, since mrgconf can be identical to conf['current'] even when           |
|         |conf['new'] is different from the archived .dist version (due to diff3       |
|         |merging).                                                                    |

|6617     |Don't treat KEYWORDS="-*" like KEYWORDS="*", because it's never been that way|
|zmedico  |and the * behavior was already annoying enough.                              |

|6618     |Skip fetching of metadata.dtd when mymode == "manifest".                     |
|zmedico  |                                                                             |

|6620     |To ease the namespace transition, automatically translate cache.* to         |
|zmedico  |portage.cache.* if an ImportError occurs.                                    |

|6623     |For bug #179766, expand USE_EXPAND variables inside the USE incremental loop |
|zmedico  |so that USE"-*" will not always destroy them.                                |

|6625     |Call tcgetattr and tcsetattr on the slave end of the pty in order to avoid an|
|zmedico  |"invalid argument" error on Solaris. Thanks to grobian.                      |

|6627     |Store flags as a set inside the USE incremental loop.                        |
|zmedico  |                                                                             |

|6629     |s/filing a report to/seeking support at/ Thanks to marienz.                  |
|zmedico  |                                                                             |

|6630     |In the econf die message, don't mention bugs.gentoo.org specifically.        |
|zmedico  |                                                                             |

|6631     |xmlint can produce garbage output even on success, so only dump the ouput    |
|zmedico  |when it fails. See bug #179008.                                              |

|6633     |Create the Packages index whether or not $PKGDIR/All/ exists so that improved|
|zmedico  |binarytree.populate() performance will be available in either case. When     |
|         |dealing with packages in $PKGDIR/All/, it's assumed that the file name, size,|
|         |and timestamp are enough information to avoid reading the xpak data.         |

|6634     |Fix broken dict.get logic.                                                   |
|zmedico  |                                                                             |

|6635     |Fix logic for USE_EXPAND variables that are incremental (there are none      |
|zmedico  |currently).                                                                  |

|6637     |In the WorldHandler class, add support for an onProgress callback that can be|
|zmedico  |used notify the user of job progress. This isn't really useful for           |
|         |WorldHandler since it completes quickly, but it will be useful for longer    |
|         |running tasks.                                                               |

|6638     |Add a get_term_size() function that uses the curses module if available and  |
|zmedico  |otherwise falls back to parsing the output of `stty size`.                   |

|6639     |Add progress support to emaint (similar to wget's progress bar).             |
|zmedico  |                                                                             |

|6640     |Add SIGWINCH support so that the progress bar is resized if the xterm is     |
|zmedico  |resized.                                                                     |

|6641     |Fix an UnboundLocalError when there's no tty.                                |
|zmedico  |                                                                             |

|6642     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|6643     |Add an emaint "binhost" target which does the time consuming population of   |
|zmedico  |$PKGDIR/Packages that is necessary for a binhost (MD5 makes it relatively    |
|         |slow). It reuses metadata from the existing Packages file whenever possible. |

|6644     |Make emaint prune stale entires from $PKGDIR/Packages.                       |
|zmedico  |                                                                             |

|6647     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|6648     |For bug #180079, fix a KeyError so that a search for the empty string will go|
|zmedico  |ahead and match all packages.                                                |

|6650     |For bug #180009, add a PORTAGE_RSYNC_INITIAL_TIMEOUT config variable. The    |
|zmedico  |default is 15 seconds and it can be disabled by setting it to 0.             |

|6652     |Add new emaint targets called "moveinst" and "movebin" for applying package  |
|zmedico  |moves from $PORTDIR/profiles/updates/ on installed packages and binary       |
|         |packages.                                                                    |

|6653     |Fix emaint world $ROOT handling.                                             |
|zmedico  |                                                                             |

|6654     |Cap the progress bar columns at 80 since it looks ridiculous when it gets too|
|zmedico  |wide.                                                                        |

|6655     |Include IUSE in the Package index so that it can be used for --newuse        |
|zmedico  |calculations.                                                                |

|6656     |Fix binarytree.gettbz2() so that it works without $PKGDIR/All/ and inserts   |
|zmedico  |the downloaded package into the local index.                                 |

|6657     |For bug #179870, add support for cpv:slot in match_from_list() and use it to |
|zmedico  |make config.setcpv() distinguish slot atoms in package.use.                  |

|6659     |Don't pass slotted packages into pkgsplit since it doesn't handle them.      |
|zmedico  |                                                                             |

|6661     |Fix dep_getcpv() so that it always properly removes the slot regardless of   |
|zmedico  |which operator is present.                                                   |

|6663     |Fix get_operator() and best_match_to_list() so that slot deps mesh properly  |
|zmedico  |with operators.                                                              |

|6665     |For bug #179870, correctly handle slot deps in the profile's package.* files.|
|zmedico  |                                                                             |

|6667     |For bug #180222, make ecompressdir use -f for the automatic decompression    |
|zmedico  |phase.                                                                       |

|6669     |Fix slot handling at the beginning of match_from_list().                     |
|zmedico  |                                                                             |

|6671     |For bug #61732, support -flag in USE (instead of just +flag). Given the      |
|zmedico  |current default USE_ORDER, -flag in IUSE has no effect.                      |

|6673     |Return a copy of the cached result from match_from_list().                   |
|zmedico  |                                                                             |

|6676     |Show deprecation warnings if the "clone" parameters are used for the         |
|zmedico  |binartree, vartree, or portagetree constructors.                             |

|6678     |For bug #180399, raise an appropriate InvalidDependString exception if there |
|zmedico  |is no flag attached directly to a '?' token.                                 |

|6680     |Fix an IndexError in get_operator() that occurs when isvalidatom() passes it |
|zmedico  |an empty string.                                                             |

|6682     |remove pointless $PORTDIR lock                                               |
|genone   |                                                                             |

|6684     |catch GetoptError                                                            |
|genone   |                                                                             |

|6685     |Only check ChangeLog if we're dealing with an ebuild (bug #170604)           |
|genone   |                                                                             |

|6686     |Create one unified dbapi.update_ents() method and use it for both fixpackages|
|zmedico  |and the emaint move{inst,bin} targets.                                       |

|6687     |Make automatic "global updates" always use the config instance that's        |
|zmedico  |associated with /, since the rest of the code is targeted at /.              |

|6688     |Create one unified dbapi.move_slot_ent() method to replace the corresponding |
|zmedico  |binarytree and vardbapi methods.                                             |

|6689     |Allow dbapi.aux_update() to prune empty metadata values from storage.        |
|zmedico  |                                                                             |

|6690     |Trigger an update of the Packages index when a package is moved or           |
|zmedico  |aux_update() is called.                                                      |

|6691     |Don't try to perform global updates on binary packages unless $PKGDIR is     |
|zmedico  |writable.                                                                    |

|6692     |Don't define bindbapi.move_slot_ent() since the inherited one works fine.    |
|zmedico  |Override cp_all() instead of cpv_all() since the latter calls the former.    |

|6693     |Implement bindbapi.cpv_all() since the one from fakedbapi won't populate the |
|zmedico  |tree.                                                                        |

|6694     |Add PORTAGE_BINHOST support for fetching a remote Packages index. If the     |
|zmedico  |index is not found then it falls back to the old directory listing method.   |

|6695     |Fix typos.                                                                   |
|zmedico  |                                                                             |

|6697     |Replace deprecated binarytree.remotepkgs usage with binarytree._remotepkgs   |
|zmedico  |since the former is vulnerable to collisions in the tbz2 filename.           |

|6698     |Make dep_zapdeps() pull SLOT from the correct dbapi instance when it falls   |
|zmedico  |back to the vdb.                                                             |

|6699     |Raise a KeyError from bindbapi.aux_get() when appropriate.                   |
|zmedico  |                                                                             |

|6704     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|6705     |Add some additional variables to the Packages header.                        |
|zmedico  |                                                                             |

|6706     |For bug #149397, raise an InvalidDependString exception if a USE has no      |
|zmedico  |basename.                                                                    |

|6707     |Don't repeatedly invoke the depend phase for ebuilds that are already known  |
|zmedico  |to be broken.                                                                |

|6708     |Instead of calling sys.exit() when aux_get() fails inside getfetchlist(),    |
|zmedico  |convert the KeyError to an InvalidDependString exception since callers       |
|         |already handle it.                                                           |

|6709     |Add --getbinpkg digest verification.                                         |
|zmedico  |                                                                             |

|6711     |Don't complain when $FILESDIR is missing unless manifest1 compatibility is   |
|zmedico  |enabled.                                                                     |

|6716     |Fix it so repoman still does QA when $FILESDIR doesn't exist.                |
|zmedico  |                                                                             |

|6718     |Add an optional PATH attribute to the Packages index in order to indicate the|
|zmedico  |relative path of the package within the repository. In the future this will  |
|         |allow storage of more than one package per cpv but for now it's just use to  |
|         |indicate if a package is stored in the old-style All/ directory (instead of  |
|         |the category directory).                                                     |

|6720     |Make binarytree.prevent_collision() update the Packages index since it       |
|zmedico  |changes the PATH attribute.                                                  |

|6721     |Add a VERSION attribute to the Packages index header and reject any index    |
|zmedico  |with an unsupported version (current supported version is 0).                |

|6722     |Include SHA1 digests in the Packages index.                                  |
|zmedico  |                                                                             |

|6723     |If PORTAGE_BINHOST is defined then use it as a URI attribute in the Packages |
|zmedico  |index header.                                                                |

|6724     |copyrights.. id? what?                                                       |
|WarnerBro|                                                                             |

|6725     |Use the PORTAGE_BINHOST_HEADER_URI environment variable to define the URI    |
|zmedico  |header field for the Packages index. If the URI header field is defined then |
|         |the client will use it as a base URI for fetching packages.                  |

|6726     |Remove pym/{cache,elog_modules} directory symlinks since they lead to        |
|zmedico  |upgrade/downgrade issues. These modules probably aren't referenced from      |
|         |outside of portage anyway. There's a hack in config.load_best_module() so    |
|         |that cache.* in /etc/portage/modules will first try cache.* and then try     |
|         |portage.cache.* if there's an ImportError.                                   |

|6727     |Fix broken usage of lstrip in creating the PROFILE header field.             |
|zmedico  |                                                                             |

|6728     |For bug #164655, port quickpkg to python and use the tarfile module for      |
|zmedico  |proper handling of symlinks to directories. Thanks to Martin Parm            |
|         |<parmus@diku.dk> for the initial port.                                       |

|6729     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|6730     |Improve support for slot deps atoms given on the command line. Thanks to     |
|zmedico  |Flameeyes for reporting.                                                     |

|6732     |Document EXTRA_ECONF, thanks to Arfrever FTA in bug #167057.                 |
|zmedico  |                                                                             |

|6733     |Add ECONF_SOURCE to the econf docs.                                          |
|zmedico  |                                                                             |

|6735     |Use user-provided $mv_opts for -5 (bug #47442)                               |
|genone   |                                                                             |

|6736     |Remove duplicate entries from special variables processed by env_update()    |
|genone   |(bug #172194)                                                                |

|6737     |When dblink.treewalk() looks for an installed instance in the same slot, make|
|zmedico  |sure that it selects the one with the highest COUNTER in case there are      |
|         |multiple matches.                                                            |

|6738     |Fix typo, split SPACE_SEPARATED variables on whitespace.                     |
|zmedico  |                                                                             |

|6739     |For bug #181021, preserve timestamps from ${D} during merge. For replacement |
|zmedico  |operations, the unmerge phase checks the contents of the newer instance in   |
|         |order to prevent identical files in the newer instance from being unmerged.  |

|6740     |Comment in portage.movefile() that it's impossible to preserve timestamps of |
|zmedico  |a symlink since utime() only works on the target.                            |

|6741     |For bug #153967, use -O ${DISTDIR}/${FILE} in the default FETCHCOMMAND.      |
|zmedico  |                                                                             |

|6742     |For bug #156536, update --resume docs to show that the resume history is     |
|zmedico  |capable of storing two merge lists.                                          |

|6743     |For bug #82378, only set permissions on PORT_LOGDIR if it is created         |
|zmedico  |automatically.                                                               |

|6745     |For bug #181021, don't compare attributes of contents entries when deciding  |
|zmedico  |which files not to unmerge. Simply keep any file that's listed in the new    |
|         |contents in order to avoid problematic scenarios such as those described in  |
|         |comments #32 and #40 of bug #8423.                                           |

|6746     |Return copies of the cached values from pkgsplit and catpkgsplit.            |
|zmedico  |                                                                             |

|6747     |When using a pty for logging, use setsid() to create a new session and make  |
|zmedico  |the pty into the controlling terminal of the new session. This makes         |
|         |interactive ebuild behave properly in interactive cases like check_license() |
|         |where ${PAGER:-less} is invoked.                                             |

|6748     |Fix strange _DevNull instance has no attribute 'isatty' warnings that occur  |
|zmedico  |when epydoc generates docs.                                                  |

|6749     |Make pkgsplit and catpkgsplit return imutable tuples instead of mutable lists|
|zmedico  |so that cached values can be safely returned without cloning them first.     |
|         |Thanks to Brian Harring for the suggestion.                                  |

|6750     |Make all the python code respect USE conditionals in RESTRICT. It's already  |
|zmedico  |handled on the bash side since RESTRICT is assigned the value of             |
|         |PORTAGE_RESTRICT.                                                            |

|6751     |Ignore InvalidDependString exceptions from the RESTRICT of "nomerge" nodes.  |
|zmedico  |                                                                             |

|6766     |For bug #181104, make econf give an appropriate error message when configure |
|zmedico  |is not executable.                                                           |

|6768     |For bug #139383, in xtermTitleReset() use os.system() instead of             |
|zmedico  |commands.getoutput() since the latter puts too much restriction on what      |
|         |$PROMPT_COMMAND may contain.                                                 |

|6770     |For bug #152828, run ${CHOST}-ldconfig when ${CBUILD} != ${CHOST}.           |
|zmedico  |                                                                             |

|6772     |Only execute $PROMPT_COMMAND when appropriate.                               |
|zmedico  |                                                                             |

|6775     |Skip bogus '$ECLASS inherited illegally' messages when installing from a     |
|zmedico  |binary package.                                                              |

|6778     |For bug #181387, fix an UnboundLocalError for the mymtime variable that is   |
|zmedico  |triggered by confmem.                                                        |

|6780     |For bug #148702, automatically enable flags from IUSE if they correspond to  |
|zmedico  |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.            |

|6782     |When an update is discarded due to confmem, record it's mtime in the contents|
|zmedico  |(it's md5 is already recorded there too).                                    |

|6784     |For bug #148702, use the * token to trigger wildcard expansion of IUSE. This |
|zmedico  |adds flexibility and prevents flags from being enabled unexpectedly.         |

|6786     |Preserve order of flags from IUSE in wildcard expansion.                     |
|zmedico  |                                                                             |

|6788     |Make repoman work with both + and - flags in IUSE.                           |
|zmedico  |                                                                             |

|6790     |For bug #181551, support slot deps in package.keywords.                      |
|zmedico  |                                                                             |

|6792     |For bug #81097, detect and report suspicious hardlinks to suid/sgid files.   |
|zmedico  |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).    |

|6793     |Don't bother to warn about hardlinks to suid/sgid files before unlink since  |
|zmedico  |it can give false positives and the existing suid/sgid security check should |
|         |spot problems before this anyway.                                            |

|6794     |Fix the suid/sgid check so it only looks at regular files since it can       |
|zmedico  |generate false positives otherwise.                                          |

|6796     |For bug #181355, detect parenthesis mismatch in paren_reduce(), raise an     |
|zmedico  |InvalidDependString exception, and make sure that all callers handle the     |
|         |exception properly.                                                          |

|6797     |Remove the "missing left parenthesis" test for now since it gives false      |
|zmedico  |positives.                                                                   |

|6799     |For consistency with other xterm titles code, redirect $PROMPT_COMMAND output|
|zmedico  |to stderr.                                                                   |

|6802     |Bump 2.1.3 to 2.2 for some features and add news about USE_EXPAND wildcards. |
|zmedico  |                                                                             |

|6807     |Move news about ** token in package.keywords to the 2.1.3 section.           |
|zmedico  |                                                                             |

|6808     |Update the PORT_LOGDIR docs for bug #82378. Thanks to Arfrever FTA for       |
|zmedico  |reporting.                                                                   |

|6809     |Update the PORT_LOGDIR docs for bug #82378. Thanks to Arfrever FTA for       |
|zmedico  |reporting.                                                                   |

|6810     |Remove stray newline.                                                        |
|zmedico  |                                                                             |

|6812     |Add a note about preservation of timestamps on merged files.                 |
|zmedico  |                                                                             |

|6814     |For bug #181021, during unmerge use all slot matches for reference counts (in|
|zmedico  |case the user has set AUTOCLEAN=no).                                         |

|6816     |Always return a dict from dblink.getcontents() since callers never expect to |
|zmedico  |get None.                                                                    |

|6818     |Remove some useless dircache code.                                           |
|zmedico  |                                                                             |

|6821     |Reuse previously acquired lstat results.                                     |
|zmedico  |                                                                             |

|6823     |Cache dblink instances for security checks and reference counts during       |
|zmedico  |merge/unmerge so that each CONTENTS only has to be parsed once. These can    |
|         |also be reused for collision-protect.                                        |

|6825     |Use cached dblink instances for collision-protect.                           |
|zmedico  |                                                                             |

|6827     |Fix dblink.isowner() so it works properly when ROOT!=/.                      |
|zmedico  |                                                                             |

|6829     |For bug #134620, add a FEATURES=unmerge-orphans option that causes unmerge to|
|zmedico  |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.                                                 |

|6831     |Add a note about the new unmerge-orphans behavior.                           |
|zmedico  |                                                                             |

|6833     |In dblink.treewalk(), handle the case where the current cpv is already       |
|zmedico  |installed but it has a different slot (multislot or unapplied slotmove).     |

|6835     |Add portageq command to list preserved libs                                  |
|genone   |                                                                             |

|6836     |Get registry object from vardbapi directly instead of creating another one   |
|genone   |                                                                             |

|6837     |For bug #181953, prevent the circular_blocks code from selecting a node      |
|zmedico  |that's already been selected by the normal node selection process.           |

|6839     |Pass all the of the existing package databases into post_emerge() so that we |
|zmedico  |can use them for news and preserve-libs.                                     |

|6840     |Make display_news_notification() reuse the existing portdbapi instance.      |
|zmedico  |                                                                             |

|6841     |Pass existing portdbapi and vardbapi instances into the NewsManager          |
|zmedico  |constructor.                                                                 |

|6843     |Fix broken \!found logic so that any missing files are properly skipped.     |
|zmedico  |                                                                             |

|6846     |For bug #182105, fix the spelling of the fd_pipes paremeter.                 |
|zmedico  |                                                                             |

|6848     |For bug #182157, never chmod 0 symlinks before unlinking them.               |
|zmedico  |                                                                             |

|6850     |For bug #182157, don't let unmerge-orphans unlink symlinks to directories    |
|zmedico  |since that can remove /lib and /usr/lib symlinks.                            |

|6852     |Handle another case where removing a symlink to a directory can be harmful.  |
|zmedico  |                                                                             |

|6854     |For bug #182021, use active voice when notifying the user that superuser     |
|zmedico  |access is required.                                                          |

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

|6858     |Make the collision-protect loop check for existance of the destination file  |
|zmedico  |before checking if it's owned.                                               |

|6860     |Go ahead and unlink symlinks to directories when they're actually recorded as|
|zmedico  |symlinks in the contents.                                                    |

|6862     |Fix profile and config arguments to NewsItem.isRelevant() inside             |
|zmedico  |NewsManager.updateItems().                                                   |

|6863     |For bug #182346, use dblink.isowner() during unmerge so that device/inode    |
|zmedico  |numbers are used to determine ownership (despite path mismatch due to        |
|         |symlinks).                                                                   |

|6865     |In dblink.isowner() don't bother to stat the file when it's contained in the |
|zmedico  |contents.                                                                    |

|6867     |During unmerge, always verify that the file isn't a symlink before doing     |
|zmedico  |chmod.                                                                       |

|6869     |Add PORTAGE_BIN_PATH to the environment since it's used by dobin to locate   |
|zmedico  |isolated-functions.sh.                                                       |

|6870     |Add a test case for the logfile functionality of portage.spawn().            |
|zmedico  |                                                                             |

|6871     |For bug #182428, make quickpkg use a more secure umask by default and allow  |
|zmedico  |it to be overridden by a --umask option. Add support for                     |
|         |QUICKPKG_DEFAULT_OPTS so that default options can be set in make.conf.       |

|6873     |For bug #182571, handle curses.error if it's thrown inside get_term_size().  |
|zmedico  |                                                                             |

|6875     |Return early from get_term_size() is stdout is not a tty.                    |
|zmedico  |                                                                             |

|6877     |For bug #143340, give an appropriate message when there is no read access to |
|zmedico  |a binary package.                                                            |

|6879     |Fix cacheddir() to behave properly if os.listdir() raises errno.EACCES       |
|zmedico  |(Permission denied).                                                         |

|6881     |For bug #180165, make portageq print a "Permission denied" error when        |
|zmedico  |appropriate. A PermissionDenied exception is raised from portage.listdir()   |
|         |enven when EmptyOnError is True since errno.EACCES is very likely to indicate|
|         |a condition that should be reported in any case.                             |

|6882     |For bug #180165, make has_version dir if portageq has an unexpected exit     |
|zmedico  |code.                                                                        |

|6883     |If a package is in the world set but it's not installed, go ahead and install|
|zmedico  |it if it's available (instead of telling the user to run emaint).            |

|6886     |Make all the classes inherit from object.                                    |
|zmedico  |                                                                             |

|6887     |Show a "world problems" warning for packages that aren't installed, even if  |
|zmedico  |they are available.                                                          |

|6889     |Make the progress bar percentage indicator stop at 100% instead of just 99%. |
|zmedico  |                                                                             |

|6890     |Use the the optparse options for --ignore-default-opts since that allows     |
|zmedico  |option abreviation to work.                                                  |

|6892     |Add an --ignore-default-opts option that is analogous to the corresponding   |
|zmedico  |emerge option.                                                               |

|6894     |In dblink._security_check(), use os.path.realpath to make sure that the same |
|zmedico  |path isn't counted twice.                                                    |

|6896     |as noted by Josh Saddler on the gentoo-dev mailing list, issue a warning if  |
|SpankMan |we try to create a binpkg for something that has IUSE=bindist but was emerged|
|         |with USE=-bindist                                                            |

|6897     |Make IUSE handling safe for IUSE defaults.                                   |
|zmedico  |                                                                             |

|6907     |Don't call digraph.hasallzeros() in --resume mode because the digraph isn't  |
|zmedico  |currently populated in that case.                                            |

|6909     |Don't generate a list of keys for a containment test.                        |
|zmedico  |                                                                             |

|6911     |Remove lots of unnecessary list generation via dict.keys().                  |
|zmedico  |                                                                             |

|6912     |Remove more unnecessary list generation.                                     |
|zmedico  |                                                                             |

|6913     |Remove more unnecessary list generation.                                     |
|zmedico  |                                                                             |

|6914     |Implement UserConfigKlass.__iter__() so that tests pass.                     |
|zmedico  |                                                                             |

|6915     |Fix the test so that it can run inside a sandbox.                            |
|zmedico  |                                                                             |

|6916     |Implement config.has_key() on top of __contains__ instead of vice versa.     |
|zmedico  |                                                                             |

|6917     |Autodetect if sandbox is active in order to prevent recursive sandbox        |
|zmedico  |invocation. Thanks to Brian Harring for the suggestion.                      |

|6918     |Implement iterkeys on top of __iter__ instead of vice versa. Thanks to Brian |
|zmedico  |Harring for the suggestion.                                                  |

|6919     |Simplify the implementation of config.__iter__ and also implement iterkeys().|
|zmedico  |                                                                             |

|6920     |Clean up config.__getitem__(), get() and setdefault() implementions.         |
|zmedico  |                                                                             |

|6922     |cache the result of --suffix to reduce testing overhead as suggested by      |
|SpankMan |Mr_Bones_                                                                    |

|6937     |Make quickpkg print a warning if "bindist" is in RESTRICT.                   |
|zmedico  |                                                                             |

|6945     |For bug #182428, make quickpkg exclude config files that are protected by    |
|zmedico  |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).                          |

|6950     |Update 2.1.3 news for elog stuff.                                            |
|zmedico  |                                                                             |

|6952     |Add a note about potential for config mixups in elog finalizers.             |
|zmedico  |                                                                             |

|6953     |Dump mod_echo elog output inside post_emerge(), just before the other        |
|zmedico  |notifications that happen at exit.                                           |

|6954     |Document RESTRICT=bindist and add a note about allowance for conditional     |
|zmedico  |syntax.                                                                      |

|6955     |Make elog finalize() handling safe for PORTAGE_CONFIGROOT.                   |
|zmedico  |                                                                             |

|6956     |Remove confcache docs.                                                       |
|zmedico  |                                                                             |

|6959     |Show which $ROOT a package was merged to when $ROOT is not /.                |
|zmedico  |                                                                             |

|6962     |Add a logrotate config for the save_summary elog module since it's enabled by|
|zmedico  |default now.                                                                 |

|6964     |Remove redundant 'Usage: ' from the usage message.                           |
|zmedico  |                                                                             |

|6967     |For bug #182964, replace os.rename() with shutil.move() in order to handle   |
|zmedico  |EXDEV errors that are triggered by layered filesystems.                      |

|6969     |s/OSError/EnvironmentError/ since shutil.move() generally raises an IOError. |
|zmedico  |                                                                             |

|6970     |Revert r6967 since shutil.move() is broken internally.                       |
|zmedico  |                                                                             |

|6972     |add hashlib support for checksum verification, refactor checksum functions to|
|genone   |not look like a complete mess                                                |

|6973     |Allow sync for unpriviledges users if they have write access to $PORTDIR     |
|genone   |                                                                             |

|6974     |syntax error                                                                 |
|genone   |                                                                             |

|6975     |s/!owned/replaced/ in merge output to clarify it                             |
|genone   |                                                                             |

|6976     |sort the world file before writing it and ensure that it's terminated by a   |
|genone   |newline                                                                      |

|6977     |change default diff_command for emacs (bug #147558)                          |
|genone   |                                                                             |

|6978     |dont break when the binhost url doesn't end with a slash (bug #144440)       |
|genone   |                                                                             |

|6979     |highlight world packages in --pretend output (bug #142473)                   |
|genone   |                                                                             |

|6980     |Add a pointer from FETCHCOMMAND to RESUMECOMMAND (bug #141550)               |
|genone   |                                                                             |

|6981     |get ACCEPT_KEYWORDS from the env in gvisible() to properly handle negated    |
|genone   |values (bug #139600)                                                         |

|6982     |Fix check_config_instance() weirdness when the ebuild command reloads the    |
|zmedico  |portage module.                                                              |

|6983     |For bug #182964, replace os.rename() with portage.movefile() in cases where  |
|zmedico  |the parent directory might change.                                           |

|6985     |Provide a default value for PORTAGE_BINPKG_TMPFILE in case the package phase |
|zmedico  |is called by the ebuild command.                                             |

|6986     |Always unlink the .installed flag prior to merge since portage.movefile()    |
|zmedico  |never leaves intact.                                                         |

|6987     |Make the fix for bug #139600 slightly less icky by grabbing the              |
|zmedico  |ACCEPT_KEYWORDS through mysettings.configdict[backupenv] instead of directly |
|         |through os.environ.                                                          |

|6988     |Fix column alignment in unmerge output.                                      |
|zmedico  |                                                                             |

|6989     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|6990     |Handle 'Permission denied' errors that can occur if the current user isn't   |
|zmedico  |allowed to access PRIVATE_PATH.                                              |

|6996     |Fix more typos from r6988.                                                   |
|zmedico  |                                                                             |

|6999     |For bug #180706, add sorting and a trailing newline in the rest of the cases |
|zmedico  |where the world file is written.                                             |

|7002     |Fix broken base_uri handling for old-style binhosts in binarytree.gettbz2(). |
|zmedico  |                                                                             |

|7004     |Update the FETCHCOMMAND docs to indicate that the command should be +written |
|zmedico  |to place the fetched file at ${DISTDIR}/${FILE}.                             |

|7005     |Clarify RESUMECOMMAND requirements.                                          |
|zmedico  |                                                                             |

|7008     |Use a set to optimize containment lookups.                                   |
|zmedico  |                                                                             |

|7011     |Remove unused imports and unnecessary dict.keys() call.                      |
|zmedico  |                                                                             |

|7012     |Fix binarytree.isremote() to be consistent with binarytree.gettbz2() logic   |
|zmedico  |wrt partially downloaded files.                                              |

|7014     |Clean up file_get() to use shlex, varexpand, and spawn.                      |
|zmedico  |                                                                             |

|7016     |For bug #175891, support ${FETCHCOMMAND}_${PROTOCOL} in binarytree.gettbz2().|
|zmedico  |                                                                             |

|7018     |Fix resume logic in binarytree.gettbz2().                                    |
|zmedico  |                                                                             |

|7019     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|7023     |For bug #175891, add sftp protocol support via the paramiko library.         |
|zmedico  |                                                                             |

|7024     |Fix file_get_lib() so it behaves the same way with sftp as it does with other|
|zmedico  |protocols.                                                                   |

|7025     |Allow SystemExit through as usual.                                           |
|zmedico  |                                                                             |

|7027     |Don't use urljoin() in binarytree.gettbz2() since it doesn't work correctly  |
|zmedico  |wih unrecognized protocols like sftp.                                        |

|7029     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|7031     |For bug #142473, add 4 color classes corresponding to combinations of        |
|zmedico  |world/merge/nomerge attributes of each package.                              |

|7034     |For bug #183167, explicitly call elog_process() when --buildpkgonly is       |
|zmedico  |enabled.                                                                     |

|7039     |Add sanity checks in fetch() and digestgen() to automatically detect and     |
|zmedico  |handle invalid empty distfiles since some users have reported difficulty when|
|         |trying to create digests.                                                    |

|7041     |Add one more size == 0 check to digestgen().                                 |
|zmedico  |                                                                             |

|7042     |Short circuit the loop as soon as missing hashes are detected.               |
|zmedico  |                                                                             |

|7044     |Short circuit the loop as soon as missing hashes are detected.               |
|zmedico  |                                                                             |

|7046     |Preserve merge order in elog output.                                         |
|zmedico  |                                                                             |

|7047     |Send the ebuild die message through eerror and make sure that elog_process() |
|zmedico  |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.                                                |

|7050     |Format the callstack indentation more like it used to be.                    |
|zmedico  |                                                                             |

|7052     |For bug #144333, add a --reinstall=changed-use option which behaves similar  |
|zmedico  |to how --newuse behaved in portage-2.0.x days.                               |

|7055     |Format $EBUILD_OVERLAY_ECLASSES output more like it was before.              |
|zmedico  |                                                                             |

|7057     |Fix quoting.                                                                 |
|zmedico  |                                                                             |

|7059     |For bug #142473, account for $ROOT when deciding if a package is part of     |
|zmedico  |world or not.                                                                |

|7061     |Instead of just a list, use a cat/pkg dict for matching packages against args|
|zmedico  |in the depgraph.                                                             |

|7063     |Improve tracking of correspondence between arguments and packages in the     |
|zmedico  |depgraph.                                                                    |

|7064     |Cache aux_get() metadata in depgraph.create() and use PROVIDE for matching   |
|zmedico  |packages to arguments.                                                       |

|7065     |Just use a containment test for matching pprovided args since it works       |
|zmedico  |correctly and match_to_list() isn't appropriate for this.                    |

|7067     |Discard "nomerge" nodes to speed up depgraph.altlist() since those nodes     |
|zmedico  |aren't used and the --tree algorithm does a good job of regenerating them    |
|         |when appropriate.                                                            |

|7069     |For bug #144333, make the --reinstall option a single choice type.           |
|zmedico  |                                                                             |

|7071     |When filling in "nomerge" nodes for --tree display, stop at a node that is an|
|zmedico  |argument or a direct member of a set that has been specified as an argument  |
|         |(system or world).                                                           |

|7073     |For bug #183431, catch a ParseError caused by a corrupt profile and dump an  |
|zmedico  |error message. This allows emerge to continue with actions that don't require|
|         |a valid profile, such as --sync.                                             |

|7075     |For bug #142473, add 2 additional color classes for system packages and      |
|zmedico  |packages matched by arguments.                                               |

|7076     |Don't colorize system package when in "world" mode.                          |
|zmedico  |                                                                             |

|7078     |Remove unused worldlist variable.                                            |
|zmedico  |                                                                             |

|7081     |For bug #144333, document the new --reinstall=changed-use option.            |
|zmedico  |                                                                             |

|7083     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|7087     |Store name of source repository in vdb node for later comparison             |
|genone   |                                                                             |

|7088     |Use better parseable format for list_preserved_libs                          |
|genone   |                                                                             |

|7089     |display source repository for installed package and target package (bug      |
|genone   |#67072)                                                                      |

|7091     |For bug #183639, give a more informative message with the package.provided   |
|zmedico  |warning.                                                                     |

|7093     |Test for existence of the getRepositories method since bindbapi doesn't have |
|zmedico  |it atm.                                                                      |

|7094     |Add a 0xAAAA00 rgb color code to represent the darkyellow color that some    |
|zmedico  |terminals have instead of brown.                                             |

|7096     |print a notice when a repository/overlay does not have a name                |
|genone   |                                                                             |

|7097     |ewarn when merging a package and the source repository/overlay does not have |
|genone   |a name                                                                       |

|7098     |apply additional phase filters as otherwise some messages are logged in both |
|genone   |unmerge and merge                                                            |

|7099     |Remove old wheel group warnings since portage stopped using this group long  |
|zmedico  |ago.                                                                         |

|7100     |Add docs for /etc/portage/color.map and a few misc man page fixes. Thanks to |
|zmedico  |Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com> in bug #183758. |

|7102     |Add a QA warning for invalid values of RESTRICT. Thanks to peper for the     |
|zmedico  |patch.                                                                       |

|7104     |For bug #180045, try to merge PDEPEND as soon as possible so that it behaves |
|zmedico  |more like RDEPEND.                                                           |

|7106     |Add medium-soft support to DepPriority.__str__().                            |
|zmedico  |                                                                             |

|7108     |Update --buildpkgonly logic to account for DepPriority.MEDIUM_SOFT.          |
|zmedico  |                                                                             |

|7110     |Revert --buildpkgonly logic back because it was already correct.             |
|zmedico  |                                                                             |

|7112     |For bug #131030, update the warning about potential for emerge --sync        |
|zmedico  |overwrite or delete files in ${PORTDIR}. Add references to the PKGDIR and    |
|         |DISTDIR docs.                                                                |

|7114     |s/PORTAGE_EXTRA_RSYNC_OPTS/PORTAGE_RSYNC_OPTS/ for correctness.              |
|zmedico  |                                                                             |

|7116     |If necessary, resample the leaf nodes so that they include all nodes whose   |
|zmedico  |hard deps are satisfied.                                                     |

|7118     |Move medium priority out of ignore_priority_range and handle it separately.  |
|zmedico  |                                                                             |

|7120     |Flatten restrict for the RESTRICT.invalid check.                             |
|zmedico  |                                                                             |

|7122     |Clean up the selected_nodes logic in depgraph.altlist().                     |
|zmedico  |                                                                             |

|7124     |Clone asap_nodes so that iteration is safe for node removal.                 |
|zmedico  |                                                                             |

|7126     |Prefer asap_nodes more aggressively over any other nodes whenever possible.  |
|zmedico  |If no asap_nodes can be selected for a given iteration, they will be ignored |
|         |for the next iteration.                                                      |

|7131     |Clean up system and world set handling. For forward compatibility, the world |
|zmedico  |file handling now allows the world file to contain arbitrary atoms such as   |
|         |slot atoms.                                                                  |

|7132     |Add USE to the list of metadata keys to pull.                                |
|zmedico  |                                                                             |

|7133     |Fix broken favorites handling with --usepkg.                                 |
|zmedico  |                                                                             |

|7135     |Implement BlockerCache.keys() so that DictMixin.__repr__() works.            |
|zmedico  |                                                                             |

|7138     |In depgraph.select_files(), unify favorites handling with the other args     |
|zmedico  |handling.                                                                    |

|7139     |Fix --oneshot handling from the previous commit.                             |
|zmedico  |                                                                             |

|7140     |Use depgraph._args_nodes to simplify depgraph.saveNomergeFavorites().        |
|zmedico  |                                                                             |

|7142     |Record a slot atom in the world file for any atom that is precise enough to  |
|zmedico  |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.                                                  |

|7144     |Fix greedy atoms logic for system mode.                                      |
|zmedico  |                                                                             |

|7146     |For bug #183861, allow a color class in color.map to specify a space         |
|zmedico  |separated list of attributes so that any combination of foreground,          |
|         |background, and other attributes is possible. Thanks to Arfrever Frehtes     |
|         |Taifersar Arahesis <Arfrever.FTA@GMail.Com> for this patch.                  |

|7147     |Add a "onerror" callback to parse_color_map() for handling each ParseError   |
|zmedico  |that would otherwise be raised.                                              |

|7148     |Fix broken code concatenation logic in parse_color_map().                    |
|zmedico  |                                                                             |

|7149     |Make the color class handling for package sets more consistent as suggested  |
|zmedico  |in comment #2 of bug #183861.                                                |

|7150     |Document the additional color classes for bug #183861.                       |
|zmedico  |                                                                             |

|7153     |Replace sys.exit() with return in depgraph.display() and action_build().     |
|zmedico  |                                                                             |

|7155     |Add note about repo name warnings                                            |
|genone   |                                                                             |

|7157     |Remove fallback imports for set(), and note minimum requirement of python-2.4|
|genone   |                                                                             |

|7159     |Remove redundant config update notification (bug #184116)                    |
|genone   |                                                                             |

|7161     |Move depgraph._args_atoms to depgraph._sets["args"] and move                 |
|zmedico  |depgraph._args_nodes to self._set_nodes.                                     |

|7164     |Don't store unslotted system packages in the world file.                     |
|zmedico  |                                                                             |

|7166     |Fix emerge by ebuild path so that it works properly.                         |
|zmedico  |                                                                             |

|7168     |add modified copy of gentoolkits glsa.py (r410)                              |
|genone   |                                                                             |

|7169     |Enable keyword expansion                                                     |
|genone   |                                                                             |

|7170     |Add first draft of PackageSet backend modules                                |
|genone   |                                                                             |

|7171     |Fix emerge by tbz2 path so that it works properly.                           |
|zmedico  |                                                                             |

|7172     |fix copyright year                                                           |
|genone   |                                                                             |

|7174     |Remove the PKG_*ARG* color classes in order to simplify things since it's    |
|zmedico  |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.                                 |

|7176     |ignore generated docs                                                        |
|SpankMan |                                                                             |

|7177     |tighten up --quiet output for --unmerge                                      |
|SpankMan |                                                                             |

|7178     |Count the number of merges processed by MergeTask and use that to determine  |
|zmedico  |whether or not post_merge() should run.                                      |

|7180     |Don't exclude system virtuals from world since they can match multiple       |
|zmedico  |old-style virtuals but only one of them will be pulled in by update or       |
|         |depclean.                                                                    |

|7183     |Misc color fixes. Thanks to Arfrever Frehtes Taifersar Arahesis              |
|zmedico  |<Arfrever.FTA@GMail.Com> for this patch from bug#183861, comment #9.         |

|7185     |When depgraph updates preferences for old-style virtuals, also update them in|
|zmedico  |the global config so that they are consistent everywhere. Optimize           |
|         |config.setinst() to minimize the work done.                                  |

|7187     |Add a depgaph.loadResumeCommand() method to handle loading and validation of |
|zmedico  |all resume data.                                                             |

|7189     |`find` can accept a list of paths so condense this nested for loop, and dont |
|SpankMan |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)                                                  |

|7191     |Now that the "white" color code really is white, alias it to bold where it's |
|zmedico  |used by emerge since white looks bad on a terminal with a white background.  |

|7193     |allow split debuf for kernel modules                                         |
|SpankMan |                                                                             |

|7195     |For bug #184412, make depclean more consistent with the update algorithm by  |
|zmedico  |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.  |

|7197     |Allow system virtuals to be pruned from the world file in cases where the    |
|zmedico  |matched package is the only provider of that virtual.                        |

|7199     |Add color classes PROMPT_CHOICE_{DEFAULT,OTHER} for emerge's Yes/No prompt.  |
|zmedico  |                                                                             |

|7201     |For bug #184566, enable the emerge --info action to run an option pkg_info() |
|zmedico  |function from each installed ebuild.                                         |

|7203     |Make dblink invalidate the vardbapi caches for each merge and unmerge. Don't |
|zmedico  |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.                                                              |

|7204     |Pass the file path into the PermissionDenied exception.                      |
|zmedico  |                                                                             |

|7206     |simplify logic a bit                                                         |
|genone   |                                                                             |

|7207     |Fix interaction of resume opts with spinner output handling so that output   |
|zmedico  |always looks correct.                                                        |

|7210     |- remove readable bits for debug files if the souce ELF is setXid            |
|solar    |                                                                             |

|7211     |- be quiet about overlays profiles/repo_name entry when --quiet mode is used |
|solar    |                                                                             |

|7212     |Remove the repo_name warning in the portdbapi constructor since we don't want|
|zmedico  |to see a warning every time the portage module is imported.                  |

|7214     |For bug #184806, account for the fact the metadata is not cached for         |
|zmedico  |slot_collision_nodes.                                                        |

|7216     |For bug #184604, make env-update write $ in front of quoted values when      |
|zmedico  |appropriate.                                                                 |

|7218     |For bug #184843, allow USE_EXPAND variables to pass through if none of their |
|zmedico  |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.    |

|7220     |For bug #184679, handle ENOTDIR by finding the non-directory parent and      |
|zmedico  |testing that for collision instead.                                          |

|7222     |For bug #184687, skip the huge --depclean warning when --quiet mode is       |
|zmedico  |enabled.                                                                     |

|7224     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|7226     |Fix another case similar to bug #184806 that can occur with --onlydeps.      |
|zmedico  |                                                                             |

|7228     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|7230     |Use set.discard() instead of remove() to avoid a potential KeyError.         |
|zmedico  |                                                                             |

|7237     |For bug #184983, prevent USE_EXPAND_HIDDEN flags from being hidden if they   |
|zmedico  |are the only thing that triggered reinstallation.                            |

|7239     |Make depgraph._reinstall_for_flags() always return all revelant flags.       |
|zmedico  |                                                                             |

|7241     |Fix the case where the currently installed package is from a repo that is no |
|zmedico  |longer in the overlay (oldrepo is None rather than an empty string).         |

|7242     |Add "reset" to the list of attributes.                                       |
|zmedico  |                                                                             |

|7246     |Use os.path.realpath(portdir) for comparison of repo paths. (branchs/prefix  |
|zmedico  |r7245)                                                                       |

|7247     |Save the repo name along with the other metadata inside dyn_compile() so that|
|zmedico  |it's saved inside binary packages for when they are finally merged.          |

|7249     |Misc fixes for verbose repo output: - Support binary packages by using the   |
|zmedico  |'repository' metadata that's stored in the package. - Support                |
|         |PORTAGE_CONFIGROOT, showing repos from both configs if necessary. - Dynamic  |
|         |allocation of repo indexes so only relevant repos are shown.                 |

|7250     |Fix it so that the 'repository could not be determined' message is shown when|
|zmedico  |appropriate (issue with variable scope).                                     |

|7251     |PDEPEND is now installed as soon as possible so that it behaves more like    |
|zmedico  |RDEPEND.                                                                     |

|7254     |For bug #185278, make the verbose flag display show masked/forced flag status|
|zmedico  |for binary packages too.                                                     |

|7256     |Make the repo display work for overlays that don't define repo_name (like it |
|zmedico  |used to).                                                                    |

|7257     |Always show PORTDIR with index 0 in the repo display.                        |
|zmedico  |                                                                             |

|7258     |Encapsulate the repo display code in a class.                                |
|zmedico  |                                                                             |

|7259     |Use sys.stdout instead of print to avoid an extra newline.                   |
|zmedico  |                                                                             |

|7260     |Remove unused repo_name code.                                                |
|zmedico  |                                                                             |

|7263     |When deciding if a package is slotted inside create_world_atom(), check the  |
|zmedico  |vdb in case the package is multislot.                                        |

|7265     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|7267     |split up the debug/sources steps as proposed by swegener and give the whole  |
|SpankMan |file a cleanup                                                               |

|7270     |sync MAILSUBJECT in make.conf with make.globals                              |
|genone   |                                                                             |

|7271     |s/node/atom/ and other minor updates                                         |
|genone   |                                                                             |

|7272     |Make PackageSet to behave more like a real set, and change loading logic a   |
|genone   |bit to avoid unnecessary reloads for editable sets                           |

|7273     |use a more logical approach for editable sets                                |
|genone   |                                                                             |

|7274     |fix load logic for editable sets once more                                   |
|genone   |                                                                             |

|7275     |ignore already applied glsas when loading the security set                   |
|genone   |                                                                             |

|7276     |add support for metadata                                                     |
|genone   |                                                                             |

|7277     |fix metadata parsing for file-based sets, add support for user-defined file  |
|genone   |sets in test code                                                            |

|7278     |disable FEATURES=gpg as it's unmaintained, useless and likely broken for many|
|genone   |people                                                                       |

|7279     |replace emerge.AtomSet with portage.sets.InternalPackageSet                  |
|genone   |                                                                             |

|7280     |break recursion cycle                                                        |
|genone   |                                                                             |

|7281     |Replace emerge.SystemSet with portage.sets.profiles.PackagesSystemSet        |
|genone   |                                                                             |

|7282     |break another recursion cycle, add special subclass for "world" to handle    |
|genone   |locking                                                                      |

|7283     |Replace emerge.WorldSet with portage.sets.files.WorldSet                     |
|genone   |                                                                             |

|7285     |Sort the atoms when writing the world file.                                  |
|zmedico  |                                                                             |

|7286     |Always be sure to load the latest version of the world file while it's       |
|zmedico  |locked.                                                                      |

|7287     |Revert PackageSet.containsCPV() calls back to findAtomForPackage() calls so  |
|zmedico  |that things like slot atoms and old-style virtuals are properly supported.   |

|7288     |Make sure PackageSet._atoms is always a set.                                 |
|zmedico  |                                                                             |

|7289     |Make sure the atoms are loaded when calling PackageSet.findAtomForPackage(). |
|zmedico  |                                                                             |

|7290     |Don't show the repo display when the package list is empty.                  |
|zmedico  |                                                                             |

|7292     |When dep_expand throws a ValueError due to an ambiguous atom, try to expand  |
|zmedico  |it against the installed packages in case it yields a unique match.          |

|7294     |When expanding ambiguous atoms against the vardb, make sure the the expanded |
|zmedico  |package is also available in the portage tree.                               |

|7296     |For bug #185670, make sure package.use.{mask,force} are properly displayed.  |
|zmedico  |                                                                             |

|7298     |Unify USE handling in the depgraph with the other metadata.                  |
|zmedico  |                                                                             |

|7300     |Use PF in dyn_package. Thanks to swegener.                                   |
|zmedico  |                                                                             |

|7301     |Make PackageSet._updateAtomMap() clear the map in case something was removed.|
|zmedico  |                                                                             |

|7302     |Use PackageSet.getAtoms() as a wrapper around load() since load() can trigger|
|zmedico  |unnecessary stat calls.                                                      |

|7303     |Iterate over a list in order to avoid breaking the iterator when an atom is  |
|zmedico  |removed.                                                                     |

|7305     |Use the --depclean algorithm to make --prune safe. The old unsafe --prune    |
|zmedico  |will be used if the --nodeps option is specified.                            |

|7306     |Allow atoms to be specified for --depclean so that it can be used to safely  |
|zmedico  |unmerge packages if nothing depends on them.                                 |

|7308     |With --prune and --depclean, if --verbose is enabled then show reverse       |
|zmedico  |dependencies for each package that is matched by an atom from the command    |
|         |line. This allows the user to see why a package will not be unmerged.        |

|7309     |Make --prune bail out like depclean does if there are unresolved             |
|zmedico  |dependencies. Notify the user that they can use --nodeps in that case.       |

|7310     |Make --prune try to prune all slotted packages if no atoms are given (that's |
|zmedico  |how it already works with --nodeps).                                         |

|7312     |For bug #151653, make --prune keep the highest version whenever possible     |
|zmedico  |(even when there is one with a higher counter installed).                    |

|7313     |Fix --prune so that it always correctly accounts for COUNTER when dealing    |
|zmedico  |with packages in the same slot.                                              |

|7315     |Update --prune docs for bug #151653.                                         |
|zmedico  |                                                                             |

|7317     |Document --prune and --depclean enhancements.                                |
|zmedico  |                                                                             |

|7319     |For bug #185504, document profiles/repo_name.                                |
|zmedico  |                                                                             |

|7321     |If the fetcher reported success and the file is too small, don't attempt to  |
|zmedico  |resume. Upstream probably changed the distfile and we need to show a digest  |
|         |verification failure so the user gets a clue.                                |

|7325     |When digest verification of a distfile fails, rename instead of unlinking it |
|zmedico  |in case it's a large download and the user wants to salvage it due to a bad  |
|         |digest.                                                                      |

|7327     |Hint about --nodeps if --prune doesn't find anything to prune. Also enable   |
|zmedico  |reverse dependency display for global depclean.                              |

|7329     |Optimize PackageSet._updateAtomMap() for the case where one or more atoms are|
|zmedico  |added and none are removed.                                                  |

|7330     |For bug #185930, direct all FETCHCOMMAND output to stdout.                   |
|zmedico  |                                                                             |

|7332     |Just show [0] instead of [0=>0] in the repo display.                         |
|zmedico  |                                                                             |

|7334     |Prune really uses all installed instead of world. It's not a real reverse    |
|zmedico  |dependency so don't display it as such.                                      |

|7336     |Make --prune and --depclean return before calculating dependencies if atoms  |
|zmedico  |are given but they don't match any packages.                                 |

|7338     |For bug #185153, in commit mode do the "Fetching trivial updates" routine    |
|zmedico  |before the qa scan.                                                          |

|7340     |For bug #169500, detect when the cvs server puts /Attic/ inside the $Header  |
|zmedico  |path and automatically correct it.                                           |

|7343     |Make --prune pull in the system set since that could pull in some slots that |
|zmedico  |wouldn't be pulled in otherwise.                                             |

|7344     |Prevent a potential KeyError when removing world from the digraph for --prune|
|zmedico  |display.                                                                     |

|7345     |Document --depclean and --prune enhancements.                                |
|zmedico  |                                                                             |

|7349     |Make --update imply --oneshot since people often us it to update things when |
|zmedico  |they don't want to add them to world. Thanks to jakub for the suggestion.    |

|7351     |Fix the reverse dependency display for --prune when there is now real parent.|
|zmedico  |                                                                             |

|7354     |Run pychecker over everything, fix obvious thing slike modules not in use,   |
|WarnerBro|variables not being used, or global exceptions not being deleted. Also fix   |
|         |imports for style (1 per line)                                               |

|7355     |remove unused vars from xpak, fix bug in compose. Also fix tests for portage |
|WarnerBro|sets, fix misnamed variable.                                                 |

|7356     |Add notes about import statements (clarity) and fix spelling error in        |
|WarnerBro|release-notes                                                                |

|7357     |Fix spacing issues, imports                                                  |
|WarnerBro|                                                                             |

|7358     |For bug #184774, put lha's -q option last since otherwise the option parser  |
|zmedico  |now requires level 0, 1, or 2 to be specified.                               |

|7360     |add test for CommandOutputSet                                                |
|WarnerBro|                                                                             |

|7361     |add docstring, fix up imports (style), add keyword expansion                 |
|WarnerBro|                                                                             |

|7362     |fix missing import, default value for value in case we try to .join on a     |
|WarnerBro|variable that hasn't been assigned to yet                                    |

|7363     |Fix hardcoded /usr/bin/echo to use portage.process.find_binary().            |
|zmedico  |                                                                             |

|7364     |fix spacing, comments, default args                                          |
|WarnerBro|                                                                             |

|7365     |Move common file functionality into a FileLoader class and delegate parsing  |
|WarnerBro|to subclasses via a lineParser func, no idea how this will work performance  |
|         |wise. Fix errors in parser (blank lines are not errors ;))                   |

|7366     |Move classes out of __init__.py, they do not belong there. Fix import style, |
|WarnerBro|and import statements broken by class moves.                                 |

|7367     |Fix imports for style, deprecate grab*, what is foo.metadata and what does it|
|WarnerBro|contain                                                                      |

|7368     |Validator should be a function, not a class, fix spacing/tab issues. Fix     |
|WarnerBro|parsing errors for KeyValuePairLoader. Add a GenericFileLoader class that    |
|         |uses more than 1 loader in a vain attempt to figure out what kind of file it |
|         |is. Fix inheritance by renaming UserConfigKlass                              |

|7369     |Fix imports for style, slight optimization for grab* function, doc fixups.   |
|WarnerBro|                                                                             |

|7370     |fix broken import                                                            |
|WarnerBro|                                                                             |

|7371     |add more tests for keyvaluepairloader (it had a bug previously) and fix up   |
|WarnerBro|other misc tests                                                             |

|7373     |Drop privileges in the "depend" phase regardless of FEATURES and RESTRICT    |
|zmedico  |since that phase should never need special privileges. Thanks to swegener for|
|         |the initial patch.                                                           |

|7375     |Enable FEATURES=userfetch by default.                                        |
|zmedico  |                                                                             |

|7377     |Add sfperms and strict to the default FEATURES since they're already in the  |
|zmedico  |base profile's make.defaults.                                                |

|7379     |Add FEATURES=fakeroot support which causes install and package phases to run |
|zmedico  |inside fakeroot when a non-root user runs the ebuild command. Thanks to      |
|         |swegener for the initial patch.                                              |

|7381     |For bug #186337, show an ewarn message if FEATURES=installsources is enabled |
|zmedico  |but debugedit is not installed. Also document installsources and splitdebug  |
|         |in make.conf.example.                                                        |

|7383     |Fix make.conf.example rejects.                                               |
|zmedico  |                                                                             |

|7385     |Add droppriv keyword for the depend phase.                                   |
|zmedico  |                                                                             |

|7387     |Add droppriv keyword for the depend phase (last one).                        |
|zmedico  |                                                                             |

|7389     |Use a select loop for moving input and ouput when logging is enabled in      |
|zmedico  |portage.spawn().                                                             |

|7390     |Use the hardcoded variables from portage.const rather than strings that are  |
|WarnerBro|apt to change, fix spacing.                                                  |

|7391     |Use blocking mode for writes since we'd rather block than trigger a          |
|zmedico  |EWOULDBLOCK error.                                                           |

|7392     |CACHE_PATH starts with / and therefore isn't compatible with os.path.join(). |
|zmedico  |                                                                             |

|7393     |Set O_NONBLOCK just for read calls (uses fewer fcntl calls).                 |
|zmedico  |                                                                             |

|7394     |For bug #186386, pass stdin directly to spawned processes (even when their   |
|zmedico  |output goes through a pty) so that Ctrl+Z works as on would expect.)         |

|7396     |use ${MAKE:-make} rather than make in einstall()                             |
|SpankMan |                                                                             |

|7400     |When setting the size of the pty for logging, check if stdout isatty rather  |
|zmedico  |than stdin.                                                                  |

|7402     |For bug #186610, use `find ` to scan for config updates since `cd ` could    |
|zmedico  |fail and cause the cwd to be scanned.                                        |

|7405     |For --buildpkgonly, say "built" instead of "merged" in the "These are the    |
|zmedico  |packages that would be " message.                                            |

|7407     |For bug #186826, always show --newuse flags that trigger reinstallation even |
|zmedico  |when not in --verbose mode.                                                  |

|7410     |For bug #186480, while we transition to repository labels, avoid ? spam in   |
|zmedico  |the repository display by ignoring a missing repository label for an         |
|         |installed package. (branches/2.1.2 r7409)                                    |

|7411     |For bug #186639, add more clarification about the relationship between       |
|zmedico  |/etc/make.profile/ and /etc/portage/profile/.                                |

|7413     |For bug #186639, note that /etc/portage/profile/ supports all of the same    |
|zmedico  |file types that /etc/make.profile/ does, except parent.                      |

|7415     |For bug #185048, make emerge-webrsync honor http_proxy and ftp_proxy from    |
|zmedico  |make.conf.                                                                   |

|7417     |Handle 2 more cases where elog_process() needs to be called: - binary install|
|zmedico  |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                                                                  |

|7419     |When the fetch phase fails inside doebuild(), create an eerror log since the |
|zmedico  |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.                     |

|7422     |For bug #186876, fall back it os.pipe() if pty.openpty() fails.              |
|zmedico  |                                                                             |

|7424     |For pty logging, handle the EAGAIN error that is thrown from fcntl when the  |
|zmedico  |slave end of the pty is closed on FreeBSD.                                   |

|7426     |Change "output" import to portage.output.                                    |
|zmedico  |                                                                             |

|7427     |For bug #187016, and env.d to the default USE_ORDER.                         |
|zmedico  |                                                                             |

|7428     |Update USE_ORDER docs for bug #187016.                                       |
|zmedico  |                                                                             |

|7430     |For bug #137483, move the `emerge --help config` docs to the emerge man page.|
|zmedico  |Thanks to Arfrever Frehtes Taifersar Arahesis for this patch.                |

|7432     |For bug #139670, update the dohtml docs to show all supported file           |
|zmedico  |extensions. Thanks to Arfrever Frehtes Taifersar Arahesis for this patch.    |

|7496     |Always pass a dbapi instance into a setcpv call.                             |
|zmedico  |                                                                             |

|7516     |For bug #186960, try to create a directory for $ROOT if it doesn't exist.    |
|zmedico  |                                                                             |

|7522     |Make finalize() accept a parameter once again since older versions of portage|
|zmedico  |import elog modules from newer versions of portage when they upgrade         |
|         |themselves.                                                                  |

|7524     |For bug #187142, properly pass a dbapi instance into setcpv() so that        |
|zmedico  |USE_EXPAND wildcards work correctly.                                         |

|7526     |As a workaround for bug #185305, make quickpkg break hardlinks during        |
|zmedico  |creation of the archive.                                                     |

|7528     |Change the numeric value of DepPriority.MIN to be equal to that of a         |
|zmedico  |satisfied PDEPEND since there is currently nothing with lower priority.      |

|7531     |Handle the ENOENT error if the world file doesn't exist.                     |
|zmedico  |                                                                             |

|7535     |For bug #187375, handle an ImportError when portage is downgraded to a       |
|zmedico  |version without mod_echo.                                                    |

|7537     |Like older versions of portage, don't show the repo display if [0] is all    |
|zmedico  |that will be shown.                                                          |

|7541     |For bug #187480, fix writemsg args in portdbapi.gvisible().                  |
|zmedico  |                                                                             |

|7544     |For bug #187518, handle EISDIR thrown from mkdir when the directory already  |
|zmedico  |exists on FreeBSD.                                                           |

|7547     |s/portage.eclass_cache/eclass_cache/ since eclass_cache is actually a local  |
|zmedico  |variable here.                                                               |

|7548     |In portage.spawn() logging, put the read end of the pipe in O_NONBLOCK mode  |
|zmedico  |just once at the beginning. This avoids unnecessary fcntl calls and removes  |
|         |one more opportunity to trigger EAGAIN errors on FreeBSD.                    |

|7550     |Generate a QA Notice and cd to ${WORKDIR} if the ${S} directory does not     |
|zmedico  |exist.                                                                       |

|7553     |Make droppriv for the depend phase conditional on userpriv in FEATURES.      |
|zmedico  |                                                                             |

|7555     |Remove the depend phase from the doebuild actionmap since it's never used.   |
|zmedico  |                                                                             |

|7564     |Make config updates get counted correctly for bug #187741.                   |
|zmedico  |                                                                             |

|7568     |Call ecompressdir and ecompress --dequeue outside of prepall since           |
|zmedico  |ruby.eclass overrides prepall.                                               |

|7570     |Move ecompressdir and ecompress --dequeue after prepall.                     |
|zmedico  |                                                                             |

|7572     |Make sure that portage always has all of it's RDEPENDs installed first.      |
|zmedico  |                                                                             |

|7574     |Use == for comparison of portage_node since digraph.clone() makes a deepcopy |
|zmedico  |of the nodes.                                                                |

|7576     |For bug #187806, use mkstemp to create tmpservertimestampfile (instead of    |
|zmedico  |using PORTAGE_TMPDIR).                                                       |

|7578     |Fix from ferringb                                                            |
|WarnerBro|                                                                             |

|7579     |Merge rewrite by Alon Bar-Lev from bug #130039: - Verify gpg signature of    |
|zmedico  |snapshot if FEATURES="webrsync-gpg" is enabled. - Add a --revert=yyyymmdd    |
|         |option that alows a specific snapshot to be used.                            |

|7580     |For bug #187795, remove pointless digest.disjointed and digest.notadded      |
|zmedico  |warnings since they are always added to cvs automatically anyway.            |

|7582     |Document FEATURES=webrsync-gpg. Thanks to Arfrever Frehtes Taifersar Arahesis|
|zmedico  |in bug #130039.                                                              |

|7583     |Update emerge --help and --info docs. Thanks to Arfrever Frehtes Taifersar   |
|zmedico  |Arahesis in bug #137483.                                                     |

|7587     |Don't generate a QA Notice if the ${S} directory doesn't exist since it might|
|zmedico  |be irrelevant for some ebuilds.                                              |

|7589     |Optimize config.setcpv() so that it doesn't call regenerate() unnecessarily  |
|zmedico  |when there are no USE wildcards to expand.                                   |

|7591     |For bug #188559, invalidate dblink._contents_inodes as necessary to prevent  |
|zmedico  |FEATURES=unmerge-orphans from unmerging anything that belongs to the package |
|         |that has just been merged.                                                   |

|7593     |For bug #33585, leave the old info dir file in place if there is nothing to  |
|zmedico  |generate.                                                                    |

|7596     |'decent' CFLAGS should not feature -O3. Bug 188619                           |
|solar    |                                                                             |

|7597     |- revert a few -O2 when they should of remained -O3 in comments              |
|solar    |                                                                             |

|7599     |For bug #188782, keep "nomerge" nodes in the graph during the merge order    |
|zmedico  |calculation so that merge order is better in cases where installed packages  |
|         |have unsatisfied dependencies.                                               |

|7602     |Make sure to skip info dir files with the .old extension.                    |
|zmedico  |                                                                             |

|7604     |For bug #188782, dependencies on packages specified as arguments are given   |
|zmedico  |higher priority since the currently installed version has been rendered      |
|         |useless by ABI breakage. It's okay to increase the priority here even if the |
|         |caller is not revdep-rebuild.                                                |

|7606     |For bug #188449, since python floats have limited range, we multiply both    |
|zmedico  |floating point representations by a constant so that they are transformed    |
|         |into whole numbers. This allows the practically infinite range of a python   |
|         |int to be exploited. The multiplication is done by padding both literal      |
|         |strings with zeros as necessary to ensure equal length.                      |

|7609     |For bug #188807, add nocreate and delaycompress options for logrotate.       |
|zmedico  |                                                                             |

|7622     |Add some floating point vercmp cases.                                        |
|zmedico  |                                                                             |

|7625     |Always assign higher priority to dependencies on packages that are being     |
|zmedico  |rebuilt (except when --emptytree is enabled since all packages are merged in |
|         |that case). This optimizes merge order so that dependencies are              |
|         |rebuilt/updated as soon as possible.                                         |

|7627     |Combine 2 locations in depgraph.create() where nodes are added to the        |
|zmedico  |digraph. This ensures that dependencies on "rebuild" nodes always have their |
|         |priority increased.                                                          |

|7628     |Fix existing_node logic inside depgraph.create().                            |
|zmedico  |                                                                             |

|7632     |make -f/-F distinction clearer                                               |
|SpankMan |                                                                             |

|7636     |Make etc-update copy owner and group bits when it merges config files.       |
|zmedico  |                                                                             |

|7639     |For bug #189219, use pkgcmp() to sort versions in selected/protected/omitted |
|zmedico  |unmerge display.                                                             |

|7644     |remove "risky" message about -O2                                             |
|SpankMan |                                                                             |

|7645     |filter out kernel modules from ELF QA checks #184443                         |
|SpankMan |                                                                             |

|7647     |Fix ACCEPT_KEYWORDS validation so that ** is valid.                          |
|zmedico  |                                                                             |

|7651     |Just use os.listdir() since portage.listdir() is unnecessary.                |
|zmedico  |                                                                             |

|7652     |Try harder to figure out what OS we are running                              |
|WarnerBro|                                                                             |

|7653     |Bug #189743 - Add .jpeg to the list of extensions supported by dohtml.       |
|zmedico  |                                                                             |

|7655     |Show cache miss/hit counts all on one line, using \r to return to the        |
|zmedico  |beginning of he line and rewrite it each time that a counter is updated.     |
|         |Thanks to Mike "Fuzzy" Partin <fuzzy@smoke.dope.org> for this patch          |
|         |(submitted on the gentoo-portage-dev mailing list).                          |

|7656     |Send cache hit/miss status updates to stdout instead of stderr and add some  |
|zmedico  |more flush() calls.                                                          |

|7659     |Make --info detect more /etc/*-release files as suggested by grobian.        |
|zmedico  |                                                                             |

|7661     |Bug #188703 - Don't adjust permissions in ${T} unless userpriv is enabled.   |
|zmedico  |                                                                             |

|7663     |Pass complete package metadata from depgraph.select_dep() into create() in   |
|zmedico  |order to minimize aux_get calls.                                             |

|7664     |Make best() return early when it's only given one packages.                  |
|zmedico  |                                                                             |

|7665     |Fix update_dbentry() to process version components properly before passing   |
|zmedico  |them into ververify().                                                       |

|7666     |Make depgraph.select_dep() reuse cached metadata from nodes that have already|
|zmedico  |been added to the graph.                                                     |

|7671     |Skip --newuse checks for nodes that have already been added to the graph as  |
|zmedico  |"merge" nodes.                                                               |

|7672     |Prevent output from being flushed to the console too frequently in           |
|zmedico  |dir_get_metadata().                                                          |

|7674     |Use INFORM to colorize the package name.                                     |
|zmedico  |                                                                             |

|7676     |Fix a typo from r7663.                                                       |
|zmedico  |                                                                             |

|7678     |Bug #189791 - Send errors to /dev/null when debug-print() fails to write to  |
|zmedico  |${T}/eclass-debug.log.                                                       |

|7680     |Make depgraph.create() avoid metadata lookups for binary packages and ebuilds|
|zmedico  |in cases where an installed package has already been added to the graph. This|
|         |greatly improves performance when the graph contains a large number of       |
|         |installed packages.                                                          |

|7682     |In config.regenerate(), skip loading /etc/profile.env if it's mtime hasn't   |
|zmedico  |changed.                                                                     |

|7684     |Bug #189791 - Define EBUILD_PHASE=unpack during the nofetch phase since      |
|zmedico  |otherwise we get EBUILD_PHASE=merge which isn't in our list of valid         |
|         |EBUILD_PHASES recognized by elog.                                            |

|7686     |Make depgraph.select_dep() node reuse work when in --usepkgonly mode.        |
|zmedico  |                                                                             |

|7688     |Add * and ~* to the list of valid values for ACCEPT_KEYWORDS.                |
|zmedico  |                                                                             |

|7690     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|7691     |Fix another typo.                                                            |
|zmedico  |                                                                             |

|7692     |Use a config.reload() method to explicitly reload /etc/profile.env when      |
|zmedico  |setting up the ebuild environment.                                           |

|7693     |Call config.regenerate() after config.reload() so that the incrementals are  |
|zmedico  |restacked.                                                                   |

|7694     |Don't cache results from match_from_list() since *dbapi.match() caches do the|
|zmedico  |job.                                                                         |

|7695     |Remove pointless information from --info output                              |
|genone   |                                                                             |

|7699     |remove $Id$ as it gives us nothing useful                                    |
|SpankMan |                                                                             |

|7700     |Bug #190214 - Make the rpm phase use /usr/src/rpm instead of /usr/src/redhat.|
|zmedico  |Bug #190144 - Use the realpath of DISTDIR so that things like                |
|         |subversion.eclass are compatible with sandbox.                               |

|7701     |Move blocker handling from depgraph.create() to select_dep().                |
|zmedico  |                                                                             |

|7702     |change directory to / in case $PWD doesnt exist                              |
|SpankMan |                                                                             |

|7705     |Bug #190406 - Filter the myheaders list so that it doesn't include binary    |
|zmedico  |blobs added to cvs with the -kb option.                                      |

|7709     |Add a --force option that forces commit to proceed. This is useful for cases |
|zmedico  |like bug #110443 where the commit normally isn't allowed but there are       |
|         |exceptional circumstances where it may be acceptable.                        |

|7710     |Bug #110443 - Add a KEYWORDS.stable check for ebuilds that are added directly|
|zmedico  |with stable KEYWORDS.                                                        |

|7711     |Fix RepoMan's grammar.                                                       |
|zmedico  |                                                                             |

|7712     |Make the commit message indicate when the --force option is used.            |
|zmedico  |                                                                             |

|7713     |Skip the most expensive QA tests when --force in enabled since there's no    |
|zmedico  |point in wasting time on them when the user is intent on forcing the commit  |
|         |anyway.                                                                      |

|7714     |Convert myoptions from a list to a dict.                                     |
|zmedico  |                                                                             |

|7718     |Move some of the less expensive QA checks before dep_check() so that they're |
|zmedico  |still done even in --force mode.                                             |

|7720     |Reformat collision-protect output so that the list of file collisions is     |
|zmedico  |shown below the banner. This puts more distance between the collision list   |
|         |and the list of files that prepstrip often displays just above, hopefully    |
|         |preventing user confusion about which files had collisions.                  |

|7726     |Move the note about not needing pycrypto with python-2.5 to the 2.1.3        |
|zmedico  |section.                                                                     |

|7728     |In the topological sort for merge order, try to avoid selecting root nodes   |
|zmedico  |whenever possible. This helps ensure that the maximimum possible number of   |
|         |soft dependencies have been removed from the graph before their parent nodes |
|         |have been selected. This is especially important when those dependencies are |
|         |going to be rebuilt by revdep-rebuild or `emerge -e system` after the CHOST  |
|         |has been changed (like when building a stage3 from a stage2). With this      |
|         |patch, `emerge -e system` properly rebuilds dev-lang/python before           |
|         |sys-apps/file, which helps to avoid a potential build failure.               |

|7729     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|7746     |For bug #190268, filter SANDBOX_* from the calling environment so that they  |
|zmedico  |can't interfere with ebuild.sh.                                              |

|7748     |Rewrite testing to use __test__ instead of hardcoded dirs                    |
|WarnerBro|                                                                             |

|7749     |fighting with svn over weirdness                                             |
|WarnerBro|                                                                             |

|7750     |Last commit added more tests for sets and taught me what I was doing wrong ;)|
|WarnerBro|This commit adds yet more tests                                              |

|7751     |test news item filtering                                                     |
|WarnerBro|                                                                             |

|7752     |dbapi currently depends on being subclassed and having the subclasses        |
|WarnerBro|impelement certain functions (that aren't even implemented IN dbapi, so a    |
|         |particular child has no idea what functions are actually required). Try to   |
|         |make this cleared by adding stubs in dbapi. There should be no behavior      |
|         |change here because these cases would be Attribute errors in the current     |
|         |scheme. Also add a horribly bad testdbapi with stub funcs to use in testing  |
|         |code. Remove regexes with possibly faster string comparisons.                |

|7753     |Fix minor issues with loaders in the static file loader, fix quoting and     |
|WarnerBro|import style in news.py. Add TextFileLoader and EnvLoader loaders            |

|7754     |fix errors in call logic                                                     |
|genone   |                                                                             |

|7755     |return the full path, not just the filename                                  |
|genone   |                                                                             |

|7756     |Undo some unwanted changes                                                   |
|genone   |                                                                             |

|7757     |Fix incorrect parse check as value lists in KeyListFileLoader might be empty,|
|genone   |add support for value validators in relevant Loaders                         |

|7758     |Implement/fix testcases for some PackageSet subclasses                       |
|genone   |                                                                             |

|7759     |Bug #190268 - Avoid unwanted sandbox violations in src_test(). - Allow       |
|zmedico  |SANDBOX_* variables to pass through. - Don't try to create an sandbox        |
|         |instance inside a test case in order to interaction with SANDBOX_* variables |
|         |in src_test().                                                               |

|7761     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|7763     |In depgraph.altlist(), try to merge asap_nodes sooner by giving them an      |
|zmedico  |exemption from the accept_root_node flag. (branches/2.1.2 r7762)             |

|7764     |compress two loop iterations into one                                        |
|WarnerBro|                                                                             |

|7765     |sigh, or, not and                                                            |
|WarnerBro|                                                                             |

|7766     |or I was right the first time :(                                             |
|WarnerBro|                                                                             |

|7767     |Remove name from PackageSet, it's pointless as the caller has to keep track  |
|genone   |of the name himself anyway                                                   |

|7768     |Adjust for r7767                                                             |
|genone   |                                                                             |

|7769     |Bug #192298 - Handle PermissionDenied error in cache.update_eclasses().      |
|zmedico  |                                                                             |

|7770     |Catch errno.ENOTDIR instead of using os.path.isdir().                        |
|zmedico  |                                                                             |

|7771     |Bug #192195 - In dir_get_list(), append a trailing / to the address when     |
|zmedico  |necessary in order to avoid getting a 400 error from the http server.        |

|7772     |Bug #187795 - remove pointless digest.disjointed and digest.notadded warnings|
|zmedico  |since they are always added to cvs automatically anyway.                     |

|7773     |Bug #191645 - Document the --force option.                                   |
|zmedico  |                                                                             |

|7774     |Bug #192321 - Clean dir.old cruft so that they don't prevent unmerge of      |
|zmedico  |otherwise empty directories.                                                 |

|7775     |Bug #110443 - Add a KEYWORDS.stable check for ebuilds that are added directly|
|zmedico  |with stable KEYWORDS.                                                        |

|7776     |Bug #191645 - Document the --force option.                                   |
|zmedico  |                                                                             |

|7777     |Add some additional notes about the behavior of FEATURES=assume-digests under|
|zmedico  |various conditions.                                                          |

|7778     |Bug #191645 - Cross-reference the `ebuild --force digest` docs with the      |
|zmedico  |FEATURES=assume-digests docs.                                                |

|7779     |Bug #192346 - The emerge --help shows a -i option that does not exist.       |
|zmedico  |                                                                             |

|7780     |Bug #192341 - Make emerge bail out on FreeBSD if the freebsd python module   |
|zmedico  |fails to import. Display a notification that "ignore-missing-freebsd-module" |
|         |can be added to FEATURES in order to bypass the error. If that feature is    |
|         |enabled but the freebsd python module imported successfully, show a warning  |
|         |message since the user should remove if from FEATURES asap.                  |

|7785     |Revert the workaround for bug #192341 since it will be much cleaner if we    |
|zmedico  |fall back to spawning the chflags command when the freebsd module is         |
|         |unavailable.                                                                 |

|7789     |Use ensure_dirs() and apply_permissions() to avoid redundant chown/chmod     |
|zmedico  |calls. This helps avoid 'Permission denied' errors during elog_process() when|
|         |the ebuild command is run by normal user (issue reported by graaff).         |

|7790     |Bug #190781 - Don't include --oneshot in the options that --update implies.  |
|zmedico  |                                                                             |

|7792     |Mask binary packages if their CHOST does not match the one defined in        |
|zmedico  |make.conf.                                                                   |

|7793     |When --with-bdeps=y is enabled for built packages, pull in build time deps as|
|zmedico  |requested, but marked them as "satisfied" since they are not strictly        |
|         |required. This allows more freedom in the merge order calculation for solving|
|         |circular dependencies. Don't convert to PDEPEND since that could make        |
|         |--with-bdeps=y less effective if it is used to adjust merge order to prevent |
|         |built_with_use() calls from failing.                                         |

|7794     |Flush stdout before calling pkg_info() to ensure that output always shows in |
|zmedico  |the correct order.                                                           |

|7795     |Flush stderr and stdout if their file descriptors are in fd_pipes at the     |
|zmedico  |beginning of spawn().                                                        |

|7796     |In spawn(), initialize default fd_pipes before doing the stdout/stderr flush.|
|zmedico  |                                                                             |

|7797     |When --deep is not enabled, many dependencies are dicarded and left out of   |
|zmedico  |the digraph. This patch prevents dependencies from being discarded in some   |
|         |cases where the are needed in order to optimize merge order. It also modifies|
|         |the DepPriority.rebuild attribute so that it only applies to build time      |
|         |dependencies. This leads to better merge order in some cases when --deep is  |
|         |not enabled. For example, `emerge xf86-input-keyboard xorg-server` will now  |
|         |properly merge xorg-server before xf86-input-keyboard (problem from bug      |
|         |#192254, comment #5).                                                        |

|7798     |tweak get_config() so that it only executes one external binary (sed) instead|
|SpankMan |of chaining multiple ones                                                    |

|7799     |fix possible information leak vulnerability when doing a merge of            |
|SpankMan |configuration files and be better about handling of whitespace in $TMP in a  |
|         |few places                                                                   |

|7800     |s/note/not/ reported by p-y.                                                 |
|zmedico  |                                                                             |

|7801     |Bug #190179 - Use `prelink --verify filename` to write the temp file via     |
|zmedico  |stdout since --undo fails when run as a normal non-superuser because it tries|
|         |to chown the output file. Also, use mkstemp() to eliminate the need for      |
|         |locking the temp file. Thanks to Israel G. Lugo <israel.lugo@lugosys.com> for|
|         |the initial patch.                                                           |

|7802     |Initialize ${TMP} before registering the die trap so that we're sure which   |
|zmedico  |directory die will clean up.                                                 |

|7803     |Bug #74615 - Quote all file paths inside dispatch-conf shell commands.       |
|zmedico  |                                                                             |

|7804     |Bugs #168772 and #193695 - During unmerge, only ignore specific exceptions   |
|zmedico  |raised from unlink() and rmdir() calls.                                      |

|7805     |Bug #193695 - Add support for FreeBSD chflags during unmerge. This code is   |
|zmedico  |adapted from the code that already exists in movefile() for the merge phase. |

|7806     |In movefile() FreeBSD chflags handling, use chflags instead of lchflags when |
|zmedico  |temporarily adjusting the flags on the parent directory since we want to     |
|         |follow any symlinks to the real parent directory.                            |

|7807     |Bug #193695 - Add FreeBSD chflags support for rmdir() calls during unmerge.  |
|zmedico  |                                                                             |

|7808     |Bug #192341 - Eliminate the dependency on py-freebsd by implementing it's    |
|zmedico  |chflags() and lchflags() functions as wrappers around the chflags command    |
|         |(which should always be available in any case). The functions are only called|
|         |when merging/unmerging files that actually have flags set so the performance |
|         |difference should be negligible.                                             |

|7834     |Bug #192341 - When the chflags command does not exit successfully, try to    |
|zmedico  |generate an informative error. First, use stat or lstat to try and generate  |
|         |an ENOENT error. It the path exists, verify that the chflags binary exists   |
|         |and raise CommandNotFound if necessary. Finally, simply generate an EPERM    |
|         |OSError with the output of the command since we're not sure exactly why it   |
|         |failed or what the real errno was.                                           |

|7835     |Set non-blocking mode on the pty master file descriptor while the slave file |
|zmedico  |descriptor is still held open since otherwise the fcntl call can fail on     |
|         |FreeBSD (the child process might have already exited and closed the slave    |
|         |file descriptor so we have to keep it open in order to avoid FreeBSD         |
|         |potentially generating an EAGAIN exception). This appoach is cleaner than    |
|         |triggering the exception and being forced to handle it somehow.              |

|7838     |Bug #192706 - Do not print a summary at the end of --depclean if there is    |
|zmedico  |nothing to clean and --quiet is enabled.                                     |

|7839     |someone seriously screwed the pooch on whitespacing here so clean it all up  |
|SpankMan |                                                                             |

|7840     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|7842     |align the filename and line numbers in the output of the stack dump so that  |
|SpankMan |it is much easier to read                                                    |

|7844     |Display a short notification when an existing ${T}/environment sourced since |
|zmedico  |it is easy to ignore and ignorance of it often leads to mysterious problems  |
|         |and general confusion. This message should not show in cases where it is     |
|         |obviously irrelevant, FEATURES=noauto, or PORTAGE_QUIET=1.                   |

|7846     |Do the stale env check/warning after the digest/manifest phase when          |
|zmedico  |necessary.                                                                   |

|7848     |Bug #193486 - Use xargs to avoid 'bash: /bin/rm: Argument list too long'     |
|zmedico  |errors. This patch uses a weird tr '\001' '\000' workaround since bash       |
|         |doesn't echo null bytes like one might expect.                               |

|7850     |Bug #193486 - Use echo -n and properly quote the array argument.             |
|zmedico  |                                                                             |

|7852     |with help from Donnie and Ulrich, use sed to extract the statement that led  |
|SpankMan |to the call to die so we can print it out in our error message               |

|7853     |Bug #194025 - Lock /var/db/pkg in post_merge() during the "Regenerating GNU  |
|zmedico  |info directory index" routine.                                               |

|7856     |Ignore ENOTDIR from unmerge unlink calls.                                    |
|zmedico  |                                                                             |

|7858     |Move a newline to fix formatting.                                            |
|zmedico  |                                                                             |

|7861     |Simplify update_eclasses() a little.                                         |
|zmedico  |                                                                             |

|7864     |Move prelink tempfile cleanup to the finally block and remove unused locking |
|zmedico  |code.                                                                        |

|7866     |Handle KeyError thrown from aux_get().                                       |
|zmedico  |                                                                             |

|7869     |Bug #194081 - Add EBUSY to the list of ignored errnos for unlink and rmdir   |
|zmedico  |calls during unmerge.                                                        |

|7871     |Bug #193548 - When emerge spawns find to search for config updates, show the |
|zmedico  |find output if there is an error.                                            |

|7873     |When scanning for config updates, treat a symlink to an existing directory as|
|zmedico  |if it's just a normal directory.                                             |

|7875     |Bug #193548 - When scanning for config updates and an error occurs, send     |
|zmedico  |find's stdout to /dev/null so that only an error message is shown.           |

|7877     |Bug #194095 - Validate dispatch-conf input in order to prevent spurious input|
|zmedico  |characters from being interpreted as user input (which can be quite confusing|
|         |and gives an "out of control" feeling).                                      |

|7878     |Fix quoting as reported by Drac in bug 194169                                |
|WarnerBro|                                                                             |

|7879     |revert useless quoting                                                       |
|SpankMan |                                                                             |

|7887     |Initialize PORTAGE_TMPDIR before using it.                                   |
|zmedico  |                                                                             |

|7890     |Remove redundant trailing slashes from ${D}. (branches/prefix r7886)         |
|zmedico  |                                                                             |

|7891     |Document interaction between config.setinst() and old-style virtuals         |
|zmedico  |preferences.                                                                 |

|7892     |Reimplement portdbapi.visible() so that is works without using self.xmatch().|
|zmedico  |This should be 100% compatible with the previous implementation and have     |
|         |comparable performance. By eliminating the xmatch() dependency, the code     |
|         |becomes more generically usable, like for visibility filtering of binary     |
|         |packages. It seems that it will be necessary to move this code outside of the|
|         |dbapi since visiblity filtering is really a resolver level function and to   |
|         |solve things like bug #88613 will require a more flexible approach. since the|
|         |current internal                                                             |

|7893     |Bug #142508 - Clear the screen each time before calling the "diff" command so|
|zmedico  |that any remnants of the previous config are now shown with the current one. |
|         |command so that                                                              |

|7894     |Add new repoman check classes using StringIO; possibly need some testing,    |
|WarnerBro|obviously the old code was faster (1 iteration over the file), here we do one|
|         |iteration per check, StringIO was to try and negate this by doing the checks |
|         |in memory...how much of a price do we pay here?                              |

|7895     |Add Donnie's quote check, refactor other ebuild-content checks into classes  |
|WarnerBro|and get them out of repoman in an attempt to start moving other checks out as|
|         |well. Again wonder at the price of StringIO and N passes, is the readability |
|         |worth it?                                                                    |

|7896     |keep old repoman names so we don't confuse people                            |
|WarnerBro|                                                                             |

|7897     |Delete some extra leaky vars, also after some testing I discovered read() is |
|WarnerBro|much faster than readlines(), see                                            |
|         |http://dev.gentoo.org/~antarus/projects/portage/stats/StringIOVsFiles.txt    |

|7898     |Rename checks as the naming was overkill (they are all obviously checks being|
|WarnerBro|in the check module), add nesteddie check                                    |

|7899     |Apply new checks, minor cleanup                                              |
|WarnerBro|                                                                             |

|7900     |Bug #194398 - Do not log "exiting successfully" in emerge.log unless the     |
|zmedico  |status really is successful. Otherwise, log "exiting unsuccessfully". Thanks |
|         |to David Watzke.                                                             |

|7901     |Filter some false positives out of the EbuildQuote check. It might work well |
|zmedico  |enough now so that we don't have to degrade it to a warning.                 |

|7904     |In the EbuildQuote check, combine the var_assignment regex together with the |
|zmedico  |ignore_line regex. This also fixes an issue with the var_assignment regex    |
|         |allowing violations like `make DESTDIR=${D}` to slip through.                |

|7905     |Eliminate confusing false positive error messages for SRC_URI.syntax and     |
|zmedico  |digestentry.unused that are reported when the SRC_URI for one or more ebuilds|
|         |can't be parsed for some reason. There's no point in producing a false error |
|         |here since the root cause will produce a valid error elsewhere, such as      |
|         |"SRC_URI.syntax" or "ebuild.sytax". Also, update the docs for the            |
|         |"ebuild.syntax" error to indicate that a digest verification failure can     |
|         |trigger it.                                                                  |

|7907     |this isnt part of gentoolkit anymore                                         |
|SpankMan |                                                                             |

|7908     |no need to use "function" when defining a function                           |
|SpankMan |                                                                             |

|7909     |Bump EAPI from 0 to 1 and fix eapi_is_supported() so that it works properly  |
|zmedico  |with both 0 and 1.                                                           |

|7910     |When the metadata cache contains a negative EAPI, it means that the cache    |
|zmedico  |entry was generated by a version of portage that did not support the eapi.   |
|         |When the user upgrades to a version that now supports the previously         |
|         |unsupported EAPI, those cache entries need to be regenerated. Therefore, when|
|         |a cache entry has a negative EAPI, check if the EAPI would be supported and  |
|         |trigger a regen if appropriate.                                              |

|7911     |Non-integer EAPI isn't supported. In case it's supported in the future,      |
|zmedico  |assume that it's valid (rather than trigger a regen).                        |

|7912     |Fix UnsupportedAPIException.__str__() to strip the leading negative sign (-) |
|zmedico  |from the EAPI, to prevent confusion.                                         |

|7913     |Add EAPI masking support for binary packages.                                |
|zmedico  |                                                                             |

|7914     |Make repoman bail out if it is unable to properly access ebuild metadata for |
|zmedico  |some reason. In this case it's impossible to generate a Manifest and         |
|         |therefore the --force option has to be disabled.                             |

|7915     |Fix logic for the message that's show when --force is disabled.              |
|zmedico  |                                                                             |

|7916     |Make portdbapi.getfetchlist() bail out if the EAPI is unsupported. This makes|
|zmedico  |it impossible for an unsupported EAPI to result in invalid Manifest          |
|         |generation.                                                                  |

|7917     |Include the package name in all exceptions raised from                       |
|zmedico  |portdbapi.getfetchlist() so that a redundant and sometimes inaccurate message|
|         |doesn't have to be shown when the error is caught in digestgen().            |

|7918     |Handle UnsupportedAPIException when running the ebuild(1) command.           |
|zmedico  |                                                                             |

|7919     |In portdbapi.aux_get(), simplify code by using string manipulation instead of|
|zmedico  |int conversion to manipulate negative EAPI when deciding whether or not regen|
|         |is necessary.                                                                |

|7942     |Make the EbuildQuote check ignore lines beginning with local or export       |
|zmedico  |builtins since unquoted assignments are okay there.                          |

|7944     |Bug #194764 - All the match* functions can raise a ValueError if cpv_expand()|
|zmedico  |receives an ambiguous atom. Therefore, move the ValueError handling code out |
|         |of match() and use it to handle all such errors when appropriate.            |

|7946     |copy of gentoolkit r451                                                      |
|genone   |                                                                             |

|7947     |add TODO list for portage-2.2                                                |
|genone   |                                                                             |

|7948     |ignore missing files                                                         |
|genone   |                                                                             |

|7949     |Document the EAPI variable.                                                  |
|zmedico  |                                                                             |

|7950     |Fix spelling of backward.                                                    |
|zmedico  |                                                                             |

|7951     |Documnet EAPI in the MASKED PACKAGES section.                                |
|zmedico  |                                                                             |

|7952     |Add set configuration framework in preparation for emerge integration        |
|genone   |                                                                             |

|7956     |first version of set integration in emerge                                   |
|genone   |                                                                             |

|7957     |only add short names for sets if they begin with 'sets/'                     |
|genone   |                                                                             |

|7958     |Generalize the first paragraph of the MASKED PACKAGES section and document   |
|zmedico  |binary package CHOST masking.                                                |

|7959     |replace category sets in test configuration with user sets                   |
|genone   |                                                                             |

|7962     |Document SLOT dependencies.                                                  |
|zmedico  |                                                                             |

|7963     |include sets in emerge --search                                              |
|genone   |                                                                             |

|7966     |Document IUSE defaults.                                                      |
|zmedico  |                                                                             |

|7967     |Shorten the reference to IUSE defaults since it's now documented in          |
|zmedico  |ebuild(5).                                                                   |

|7974     |handle empty sets properly                                                   |
|genone   |                                                                             |

|7975     |Strip the - prefix from EAPI in getmaskingstatus() if necessary.             |
|zmedico  |                                                                             |

|7977     |default set configuration, should probably go into /usr/share/portage        |
|genone   |                                                                             |

|7978     |Add some documentation about set configuration                               |
|genone   |                                                                             |

|7979     |Also look for sets.conf in overlays                                          |
|genone   |                                                                             |

|7980     |Also clean portage.txt                                                       |
|genone   |                                                                             |

|7981     |clean up module namespace                                                    |
|genone   |                                                                             |

|7982     |Add @localhost to default PORTAGE_ELOG_MAILFROM to account for mail servers  |
|genone   |that don't accept mails without a domainname                                 |

|7983     |let dohtml handle weird filenames, patch by TGL (bug #171272)                |
|genone   |                                                                             |

|7984     |Handle Exceptions in mod_mail_summary.finalize() and check if the server     |
|genone   |actually supports TLS, bug #183808                                           |

|7985     |Fix package.license support so that SLOT atoms will work.                    |
|zmedico  |                                                                             |

|7986     |Bug #194552 - Include EAPI in the binary package metadata index.             |
|zmedico  |                                                                             |

|7987     |In PackageIndex.readBody(), make each package entry inherit CHOST from the   |
|zmedico  |header.                                                                      |

|7988     |In PackageIndex.write(), skip writing the CHOST for a package entry if it's  |
|zmedico  |CHOST matches the header.                                                    |

|7989     |Fix binarytree.populate() so that it properly caches all the metadata        |
|zmedico  |necessary for visibility filtering.                                          |

|7990     |add QA check for .pyc/.pyo files in /usr/share                               |
|SpankMan |                                                                             |

|7991     |add support for .lzma / .tar.lzma to unpack                                  |
|SpankMan |                                                                             |

|7992     |unify diff_command handling                                                  |
|SpankMan |                                                                             |

|7993     |add standard --help/--version options                                        |
|SpankMan |                                                                             |

|7994     |add --debug option and display a message about skipping non-files so we dont |
|SpankMan |get confusing loops where portage claims there are things to update but      |
|         |etc-update claims there are not                                              |

|7995     |Move the "commit" mode manifest generation earlier in order to avoid digest  |
|zmedico  |verification issues when FEATURES="strict" is enabled.                       |

|7996     |Remove duplicate call to digestgen().                                        |
|zmedico  |                                                                             |

|7997     |Factor the KEYWORDS masking logic out of portdbapi.visible() and move it to  |
|zmedico  |config.getMissingEeywords(). This will allow the code to be reused for binary|
|         |packages.                                                                    |

|7998     |Allow config.setcpv() to take a dictionary of package metadata in place of a |
|zmedico  |dbapi instance so that extra cache pulls can be avoided.                     |

|7999     |Restore profile masking support to getmaskingstatus().                       |
|zmedico  |                                                                             |

|8000     |Cache IUSE for portdbapi.gvisible() calls.                                   |
|zmedico  |                                                                             |

|8001     |Factor package.mask and profile masking logic out of portdbapi.visible() and |
|zmedico  |move it to config.getMaskAtom() and getProfileMaskAtom(). This will allow the|
|         |code to be reused for binary packages.                                       |

|8008     |Optimize away a match_from_list() call inside portdbapi.xmatch("match-all")  |
|zmedico  |when given atom has no operator or version. Also, make cp_list() use the     |
|         |xmatch("match-all") cache when possible.                                     |

|8009     |Remove a redundant os.access() call in portdbapi.aux_get() and handle the    |
|zmedico  |potential OSError instead.                                                   |

|8010     |Properly exclude old-style virtuals from the portdbapi.cp_list() cache.      |
|zmedico  |                                                                             |

|8011     |Make portdbapi.aux_get() cache more often.                                   |
|zmedico  |                                                                             |

|8012     |Bug #149816 - Implement visibility filtering support for binary packages.    |
|zmedico  |This works by creating a virtual filtered repository that can be composed of |
|         |multiple package types, including ebuilds, binary packages, and installed    |
|         |packages.                                                                    |

|8013     |In depgraph.xcreate(), installed packages are excluded from the filtered     |
|zmedico  |tree. Clear out the history of atoms so that they can be processed again to  |
|         |satisfy dependencies with installed packages if necessary.                   |

|8014     |When an ebuild has conditionals in it's LICENSE, calculate USE before the    |
|zmedico  |visibility check.                                                            |

|8015     |Fix InvalidDependString namespace and initialize USE before visibility check.|
|zmedico  |                                                                             |

|8016     |Replace hardcoded path with new constant                                     |
|genone   |                                                                             |

|8017     |Fix USE logic for built packages when populating the filtered repo.          |
|zmedico  |                                                                             |

|8021     |Exclude .metadata files in multi set configurations for StaticFileSet        |
|genone   |                                                                             |

|8025     |Start documentation of set handler classes                                   |
|genone   |                                                                             |

|8028     |document all options                                                         |
|genone   |                                                                             |

|8029     |security sets actually have one option                                       |
|genone   |                                                                             |

|8030     |add description to security set handlers                                     |
|genone   |                                                                             |

|8031     |add descriptions for dbapi set classes                                       |
|genone   |                                                                             |

|8032     |document default sets                                                        |
|genone   |                                                                             |

|8033     |Unify the masking reasons output so that the same code path is used for both |
|zmedico  |ebuilds and binary packages.                                                 |

|8034     |Initialize the list of package repos inside the depgraph constructor so it's |
|zmedico  |always available.                                                            |

|8035     |Migrate depgraph.select_files() to use the filtered repo for expansion of    |
|zmedico  |greedy atoms. Also, use the list of repos to clean up the category expansion |
|         |code.                                                                        |

|8036     |Cache IUSE in bindbapi to optimize --newuse calculations. Also, fix filtering|
|zmedico  |code for reading/writing USE and IUSE from/to the metadata index.            |

|8037     |Refactor depgraph.select_dep() to eliminate redundant code that was          |
|zmedico  |duplicated for each package type.                                            |

|8038     |Comment about avoiding expensive metadata pulls in depgraph.select_dep().    |
|zmedico  |                                                                             |

|8039     |Prevent bogus upgrade display when a new-style virtual is first installed and|
|zmedico  |it replaces an old-style virtual.                                            |

|8040     |Remove ambiguous "you should edit this file" warning. Thanks to Cardoe.      |
|zmedico  |                                                                             |

|8041     |Make portdbapi and bindbapi cache PROVIDE in order to optimize matching of   |
|zmedico  |old-style virtuals.                                                          |

|8042     |Move some package selection code from depgraph.create() to select_dep() so   |
|zmedico  |that all package selection is done in the same place.                        |

|8043     |Raise a PackageNotFound exception instead of a ValueError in order to avoid  |
|zmedico  |ambiguity if an unexpected ValueError occurs.                                |

|8044     |implement new set to group all consumers of preserved libraries              |
|genone   |                                                                             |

|8045     |Make depgraph.select_dep() reject installed packages in the same cases that  |
|zmedico  |it used to so that a warning message is properly generated in                |
|         |depgraph.xcreate() when a package is unavailable but installed.              |

|8046     |Add a set to group all consumers of missing libraries as a simple            |
|genone   |revdep-rebuild replacement                                                   |

|8047     |Update todo list                                                             |
|genone   |                                                                             |

|8048     |Do not use aux_get to parse the NEEDED file as we need to distinguish spaces |
|genone   |and newlines                                                                 |

|8049     |typo fix                                                                     |
|genone   |                                                                             |

|8050     |In depgraph.select_dep(), check for existing nodes in installed packages when|
|zmedico  |necessary.                                                                   |

|8051     |Strip the leading path separator from USER_CONFIG_PATH so that os.path.join  |
|zmedico  |works correctly.                                                             |

|8052     |Split USE evaluation code out of binarytree.inject() so that it can be reused|
|zmedico  |in populate().                                                               |

|8053     |Sync code between binarytree.inject() and populate().                        |
|zmedico  |                                                                             |

|8054     |Pass default package metadata values into the PackageIndex constructor for   |
|zmedico  |optional things like EAPI and SLOT.                                          |

|8055     |Pass into the PackageIndex constructor a list of package metadata keys that  |
|zmedico  |inherit a default value from the header.                                     |

|8058     |Use writemsg() to send exception string to stderr.                           |
|zmedico  |                                                                             |

|8086     |Bug #195527 - Unconditionally detect file collisions and log them as eerror  |
|zmedico  |messages via elog. This will allow us to collect more file collision data but|
|         |it won't be quite as annoying as enabling collision-protect by default would |
|         |be.                                                                          |

|8087     |Bug #195527 - Add some more information to the file collision eerror message |
|zmedico  |to try and prevent user confusion: - Hint that `equery belongs ` can be used |
|         |to find the installed package that owns a file. - Advise then NOT to file a  |
|         |bug without reporting exactly which two packages install the same file(s).   |

|8089     |s:this package wants:this package will:                                      |
|zmedico  |                                                                             |

|8091     |Remove a redundant call to elog_process().                                   |
|zmedico  |                                                                             |

|8093     |Bug #195370 - Filter some more bogus matches due to old-style virtuals.      |
|zmedico  |                                                                             |

|8096     |In dblink.treewalk(), use os.walk() instead of portage.listdir() in order to |
|zmedico  |avoid cacheddir() bloat when listing the files to be merged from ${D}.       |

|8097     |Use os.listdir() instead of portage.listdir() in dblink.mergeme().           |
|zmedico  |                                                                             |

|8098     |Remove a chdir() call that's no longer needed for the collision-protect      |
|zmedico  |symlink code.                                                                |

|8100     |Make the file collision eerror message less verbose when in --quiet mode.    |
|zmedico  |                                                                             |

|8102     |Handle the PortageException that can be raised from portage.mail.send_mail().|
|zmedico  |                                                                             |

|8114     |In the file collision eerror output, don't colorize the file paths since the |
|zmedico  |escape codes look ugly in the log.                                           |

|8115     |Remove unused import.                                                        |
|zmedico  |                                                                             |

|8117     |Avoid an error message from find when "${D}"/usr/share does not exist.       |
|zmedico  |                                                                             |

|8119     |In some cases, openpty can be slow when it fails. Therefore, stop trying to  |
|zmedico  |use it after the first failure.                                              |

|8121     |Remove the checks for files in symlinked directories from the collision      |
|zmedico  |protect code since it hasn't been needed ever since the followSymlinks       |
|         |parameter was disabled for portage.listdir() calls in order to prevent       |
|         |infinite recursion loops.                                                    |

|8124     |Add a note to clarify os.walk() behavior with respect to symlinks to         |
|zmedico  |directories.                                                                 |

|8125     |Sort the modes in the repoman --help output.                                 |
|zmedico  |                                                                             |

|8126     |Document the "manifest" mode.                                                |
|zmedico  |                                                                             |

|8128     |remove unused tmpfs variable                                                 |
|genone   |                                                                             |

|8129     |Bug #195949 - Use a different diff_command sanity check when using_editor is |
|zmedico  |true.                                                                        |

|8130     |Bug #195949 - Add one more using_editor conditional for diff_command.        |
|zmedico  |                                                                             |

|8136     |Update NOTE_2 to document proper use of the using_editor config option.      |
|zmedico  |                                                                             |

|8138     |Update emacs and vim docs to reference NOTE_2.                               |
|zmedico  |                                                                             |

|8140     |Fix --help summary so that "commit" mode shows.                              |
|zmedico  |                                                                             |

|8142     |Move the emerge module to _emerge to make it private since it's mostly       |
|zmedico  |unsuitable for api consumers at this time.                                   |

|8143     |Add debug mode to display the libraries that cause the package to be included|
|genone   |                                                                             |

|8144     |subclass portage.config to include a setconfig instance to avoid adding one  |
|genone   |more parameter to most of the emerge functions                               |

|8145     |Replace getlist() with PackageSet.getAtoms()                                 |
|genone   |                                                                             |

|8146     |fix typo                                                                     |
|genone   |                                                                             |

|8147     |Also use EmergeConfig() in MergeTask                                         |
|genone   |                                                                             |

|8148     |use skipfile rather than timestamp to ignore processed files                 |
|genone   |                                                                             |

|8149     |Move clean_world() into WorldSet                                             |
|genone   |                                                                             |

|8150     |Use EmergeConfig instead of portage.config in RootConfig                     |
|genone   |                                                                             |

|8151     |In dblink.getcontents(), use a regular expression to detect when path        |
|zmedico  |normalization is required. Also, only join with ${ROOT} when necessary. This |
|         |allows unnecessary normpath and join calls to be optimized away in the       |
|         |general case, reducing the cpu time for `equery belongs ` by about 50%. M    |
|         |pym/portage/dbapi/vartree.py                                                 |

|8152     |Only re.compile() the normalize_needed pattern once rather than for each     |
|zmedico  |dblink constructor call.                                                     |

|8153     |Optimize dblink.isowner() to use fewer stat calls by only collecting stat    |
|zmedico  |results for parent directories. This provides equivalent accuracy to the     |
|         |previous approach but will perform much better when used to scan all         |
|         |installed packages for owners in the event of a file collision.              |

|8154     |Bug #196043 - Implement a `portageq owners []+` command that is suitable for |
|zmedico  |identifying all packages that own one or more files when a file collision has|
|         |occurred. This uses dblink.isowner() so that the query works properly even   |
|         |when paths are ambiguous due to symlinked directories.                       |

|8155     |Bug #196043 - Update the file collision ewarn notice to try and clarify the  |
|zmedico  |cases when a bug should NOT be filed. Also, recommend the new `portageq      |
|         |owners / ` command since it works properly even when paths are ambiguous due |
|         |to symlinked directories.                                                    |

|8161     |Add missing "to" to fix grammer.                                             |
|zmedico  |                                                                             |

|8163     |Bug #196043 - Unify the ouput handling for file collisions so that similar   |
|zmedico  |eerror messages are generated whether or not collision-protect is enabled.   |

|8166     |Fix the normalize_needed regex to properly match // anywhere in the path.    |
|zmedico  |Also add support for detection of . or .. where appropriate.                 |

|8168     |Fix collision-protect so that it properly cancels the preinst phase like it  |
|zmedico  |used to.                                                                     |

|8170     |Adjust quote usage in collision-protect eerror output.                       |
|zmedico  |                                                                             |

|8172     |Bug #195375 - Make dblink.treewalk() read inforoot/SLOT since it differs from|
|zmedico  |the expected SLOT value when when USE=multislot is enabled. A warning message|
|         |will be shown if the slot differs and --quiet mode is not enabled.           |

|8174     |Handle EnvironmentError instead of OSError since open() actually raises      |
|zmedico  |IOError. Also, treat a missing SLOT file as SLOT="" since it is currently    |
|         |possible to install an ebuild with an undefined SLOT even though repoman     |
|         |generates a SLOT.missing error with such an ebuild.                          |

|8176     |Use the python version of eerror                                             |
|genone   |                                                                             |

|8177     |The ERROR color code is currently undefined, so make eerror use BAD like the |
|zmedico  |bash version does.                                                           |

|8178     |Pass the whole cpv to elog instead of just ${PF}.                            |
|zmedico  |                                                                             |

|8179     |Bug #196427 - Don't display news notifications when in --pretend mode.       |
|zmedico  |                                                                             |

|8180     |Don't show each character of the log message on a new line when displaying   |
|zmedico  |messages that came from one of the python-based elog functions. This might   |
|         |not be the correct solution but it seems to work for now.                    |

|8181     |Fix broken call to renamed _combine_logentries().                            |
|zmedico  |                                                                             |

|8182     |Prevent _combine_logentries() from generating redundant consecutive 'TYPE:   |
|zmedico  |phase' lines that show in summary.log when the python-based elog functions   |
|         |are used.                                                                    |

|8183     |Use a list to buffer strings in _combine_logentries() and do a single        |
|zmedico  |concatenation at the end for better efficiency.                              |

|8184     |Refactor _merge_logentries() to make it a little more efficient.             |
|zmedico  |                                                                             |

|8185     |Bug #196435 - Add some more references to quickpkg(1) since sometimes people |
|zmedico  |don't realize that it exists.                                                |

|8186     |Remove the config.setinst() call from depgraph.select_dep() since it's never |
|zmedico  |really guaranteed to work as intended. It's supposed to help ensure that the |
|         |correct old-style virtual is preferred but it will often fail to do so,      |
|         |making it necessary for the user to manually force the preference. Proper    |
|         |backtracking (bug #1343) will solve the problem more reliably.               |

|8187     |Allow the depgraph to add old-style virtual providers but prefer any         |
|zmedico  |pre-existing providers over new ones that are added.                         |

|8188     |Use a simple Package class to bundle package data for depgraph.create()      |
|zmedico  |calls.                                                                       |

|8189     |Split the masked packages display out of depgraph.select_dep().              |
|zmedico  |                                                                             |

|8190     |Split the package selection logic out of depgraph.select_dep().              |
|zmedico  |                                                                             |

|8191     |Split the atom selection logic out of depgraph.select_dep().                 |
|zmedico  |                                                                             |

|8192     |Rename variable for consistency.                                             |
|zmedico  |                                                                             |

|8193     |Raise an InvalidDependString exception if necessary when the depgraph is     |
|zmedico  |populating the filtered repo so that we don't have to check the return value.|

|8194     |Make depgraph.xcreate() use the filtered repo to determine availablility of  |
|zmedico  |system/world atoms so that the raise_on_missing parameter can be removed from|
|         |depgraph.select_dep().                                                       |

|8195     |Bug #196537 - Make portageq check that the parameter is an existing directory|
|zmedico  |and exit gracefully if not.                                                  |

|8197     |Split the "arg" parameter out of depgraph.select_dep() so that it's used     |
|zmedico  |purely for processing atoms that are pulled in by parent packages.           |

|8198     |Use a "depth" parameter to track depth of recursion relative to the nearest  |
|zmedico  |argument atom.                                                               |

|8199     |Remove uneeded "arg" and "addme" parameters where possible.                  |
|zmedico  |                                                                             |

|8200     |Remove slashes that cause problems when unpacking files with relative paths  |
|genone   |(bug #196565)                                                                |

|8201     |restore proper call logic                                                    |
|genone   |                                                                             |

|8202     |ignore "permission denied" errors when changing perms of news skipfile that  |
|genone   |happen when running with user priviledges in pretend mode                    |

|8204     |fix comment                                                                  |
|genone   |                                                                             |

|8206     |add some notes about restrictions wrt package sets                           |
|genone   |                                                                             |

|8207     |note that sets can't contain other sets                                      |
|genone   |                                                                             |

|8214     |Bug #196427 - Prevent various news related tracebacks from occuring when     |
|zmedico  |running emerge as an unprivileged user in --pretend mode.                    |

|8215     |Fix NewsManager.getUnreadItems() so that it works properly for an            |
|zmedico  |unprivileged user in readonly mode.                                          |

|8218     |Don't catch a ValueError if it isn't the type that's expected from           |
|zmedico  |portage.cpv_expand().                                                        |

|8219     |Do a loop over each dependency type to simplify select_dep() calls.          |
|zmedico  |                                                                             |

|8220     |Always pass package metadata into depgraph.create() so it doesn't have to get|
|zmedico  |it itself.                                                                   |

|8221     |Combine depgraph._select_dep() into create() so that create() simply calls   |
|zmedico  |itself recursively. In order to implement backtracking, create() will        |
|         |eventually operate on a stack instead of calling itself.                     |

|8222     |Bug #196680 - Handle a CacheError inside mirror_cache() when reading from the|
|zmedico  |source cache.                                                                |

|8224     |Bug #184118 - Add an emaint "cleanresume" action that deletes any existing   |
|zmedico  |resume lists from the mtimedb. Thanks to Arfrever Frehtes Taifersar Arahesis |
|         |for the initial patch.                                                       |

|8225     |In depgraph.create(), don't ignore direct circular dependencies anymore since|
|zmedico  |altlist() is able to handle it properly in cases where the dependency is     |
|         |satisfied. If the dep is unsatisfied then it can not be ignored.             |

|8233     |In depgraph.create(), if a direct circular dependency is not an unsatisfied  |
|zmedico  |buildtime dependency then drop it here since otherwise it can skew the merge |
|         |order calculation in an unwanted way.                                        |

|8235     |Fix broken imports.                                                          |
|zmedico  |                                                                             |

|8236     |Bug #196652 - Check for useless ABOUT-NLS|COPYING|LICENSE files in dodoc     |
|zmedico  |arguments.                                                                   |

|8238     |Remove a redundant self.treeVirtuals deepcopy from the config constructor.   |
|zmedico  |                                                                             |

|8240     |Fix config.setinst() to return early when the given package already provides |
|zmedico  |the virtual.                                                                 |

|8242     |Fix the version Id tag.                                                      |
|zmedico  |                                                                             |

|8243     |Print the Id tag an it's own line to avoid going over 80 columns.            |
|zmedico  |                                                                             |

|8245     |Sigh, this integration did not go well, please check the diff (it seemed to  |
|WarnerBro|add some weird ass code, but it looked fine on sources.gentoo.org). Next time|
|         |I'll try and either work in a branch or commit faster ;)                     |

|8246     |fix tabbing                                                                  |
|WarnerBro|                                                                             |

|8247     |aha, i knew that diff was screwy, the mail to portage-commits and grep made  |
|WarnerBro|it obvious as to why; lets try removing those dupe checks.                   |

|8248     |Don't show the "checking files for package collisions" message when --quiet  |
|zmedico  |is enabled.                                                                  |

|8250     |Begin to use python logging framework. Remove if quiet < bla logic and       |
|WarnerBro|instead use loglevels (critical, error, warn, info, debug). Default to WARN  |
|         |for repoman, which will print CRITICAL, ERROR, and WARN messages. one -v will|
|         |print INFO messages and two -v's will print DEBUG messages, each -q will     |
|         |reduce the loglevel by one. -q and -v can be given in any order.             |

|8251     |add quickie logger function                                                  |
|WarnerBro|                                                                             |

|8252     |protect variables specified in PROFILE_ONLY_VARIABLES from being set by the  |
|genone   |user                                                                         |

|8253     |make PROFILE_ONLY_VARIABLES incremental                                      |
|genone   |                                                                             |

|8254     |make 'world' and 'system' behave like their sets/ counterparts               |
|genone   |                                                                             |

|8255     |Optimize PROFILE_ONLY_VARIABLES handling.                                    |
|zmedico  |                                                                             |

|8256     |just pass the SetConfig instance instead of only the settings and trees      |
|genone   |attributes                                                                   |

|8257     |move base classes for package sets into a separate module                    |
|genone   |                                                                             |

|8258     |revert r8256 (plans changed)                                                 |
|genone   |                                                                             |

|8259     |document PROFILE_ONLY_VARIABLES                                              |
|genone   |                                                                             |

|8260     |Fix logic for the "selective" depgraph parameter so that it behaves correctly|
|zmedico  |in cases where installed packages provide old-style virtuals but none of the |
|         |available packages do.                                                       |

|8261     |Match packages against arguments earlier in depgraph._select_package() so    |
|zmedico  |that corrupt PROVIDE is detected sooner.                                     |

|8262     |Fix selective logic to work properly with masked packages.                   |
|zmedico  |                                                                             |

|8263     |remove 'system' and 'world' as actions, and remove most of the special case  |
|genone   |code as well                                                                 |

|8264     |Make world atoms non-greedy for SLOTs in action_depclean() since users can   |
|zmedico  |simply add SLOT atoms to world for any specific SLOTs that they want to keep.|

|8265     |Remove --update greedy SLOTs code from depgraph.select_files() so that any   |
|zmedico  |desired SLOTs have to be pulled in explicitly. Any SLOTs that are not        |
|         |explicitly pulled in will be removed by --depclean.                          |

|8266     |Replace sys.exit() calls with return statements in emerge_main().            |
|zmedico  |                                                                             |

|8267     |Add back support for handling missing system/world atoms that was removed    |
|zmedico  |with depgraph.xcreate(). This doesn't have support for mapping atoms back to |
|         |the original sets yet, but at least a masked or unavailable system/world atom|
|         |won't compeletely break the depgraph now.                                    |

|8268     |Add back support for detecting if the world file contains atoms that match   |
|zmedico  |packages in package.provided.                                                |

|8269     |Add back support for helpful `emaint --check world` suggestions and also show|
|zmedico  |package masking reasons when appropriate.                                    |

|8270     |Fix broken import.                                                           |
|zmedico  |                                                                             |

|8282     |Add back support for greedy SLOTs when --update is enabled as per bug        |
|zmedico  |#150361. This is currently disabled for sets since greedy SLOT atoms could be|
|         |a property of the set itself.                                                |

|8283     |Convert depgraph creation from using recursive calls to using a stack of     |
|zmedico  |dependencies which will be more suitable for implementation of backtracking. |

|8284     |Fix inverted logic error.                                                    |
|zmedico  |                                                                             |

|8285     |Make the Package class generate the digraph nodes.                           |
|zmedico  |                                                                             |

|8286     |Spit out a depgraph._get_existing_pkg() method for getting an existing       |
|zmedico  |Package instance added to the graph for a given SLOT.                        |

|8287     |For the global AUTOCLEAN, pass an empty list into unmerge() so it behaves    |
|zmedico  |like it used to.                                                             |

|8288     |Filter atoms that come from sets when generating the list of atoms to record |
|zmedico  |in the world file.                                                           |

|8289     |If the title string is too big then xtermTitle() can misbehave by causing the|
|zmedico  |terminal to echo some of the characters and generate a "beep" sound. This is |
|         |easily triggered by doing things like `emerge world` now since all the the   |
|         |atoms are expanded.                                                          |

|8290     |For the emergelog message, send in the original list of arguments that exists|
|zmedico  |before expansion of sets.                                                    |

|8291     |Handle multiple consecutive spaces in filenames as per bug #196836#c6.       |
|zmedico  |                                                                             |

|8292     |Remove obsolete whitespace handling code for "obj" filenames in CONTENTS.    |
|zmedico  |                                                                             |

|8293     |Handle a potential IndexError.                                               |
|zmedico  |                                                                             |

|8294     |Correct expected split counts for CONTENTS lines.                            |
|zmedico  |                                                                             |

|8295     |Fix: Make repoman actually USE -m commit message again (and -M commit message|
|zmedico  |file). (branches/prefix r8280)                                               |

|8296     |FIX: indentation problem, also end the Portage identification line with a )  |
|zmedico  |if repoman wasn't forced to do its job. (branches/prefix r8281)              |

|8300     |Allow sets to contain non-atoms                                              |
|genone   |                                                                             |

|8301     |use a @ prefix for sets, and replace world/system with their real prefixed   |
|genone   |names if found on the commandline                                            |

|8302     |use SetConfig.getSetAtoms instead of PackageSet.getAtoms for expanding sets  |
|genone   |to allow recursion, and drop the default 'sets/' prefix for setnames         |

|8303     |break potential cycles in set expansion                                      |
|genone   |                                                                             |

|8304     |update notes about package sets                                              |
|genone   |                                                                             |

|8305     |Optimize the algorithm used for expansion of set arguments into atoms.       |
|zmedico  |                                                                             |

|8306     |Prevent premature expansion of old-style virtuals inside                     |
|zmedico  |depgraph.select_files().                                                     |

|8307     |Allow sets to get through world file validation and expand properly. It's now|
|zmedico  |possible to put @system in the world file and get the old behavior where     |
|         |world includes system.                                                       |

|8308     |Make emerge add sets to the world file as one would expect.                  |
|zmedico  |                                                                             |

|8309     |Optimize repoman visibility checks to access as little metadata as possible. |
|zmedico  |(improves performance especially in cases where metadata needs to be         |
|         |generated). This works by starting at the lowest version since that's most   |
|         |likely to have keywords and it returns as soon as the first visible package  |
|         |is found.                                                                    |

|8310     |Add missing break statement for xmatch minimum-visible.                      |
|zmedico  |                                                                             |

|8313     |Optimize repoman to share portdbapi.cp_list() results between all profiles   |
|zmedico  |since those results never change. The cached results also propagate to the   |
|         |xmatch match-all when appropriate (old-style virtuals are excluded since they|
|         |are profile dependent).                                                      |

|8316     |In portage.fetch(), condense digest check ouput to a single line for all     |
|zmedico  |digests.                                                                     |

|8317     |Fix broken $ROOT handling for setconfig in the MergeTask constructor.        |
|zmedico  |                                                                             |

|8318     |Reuse an existing EmergeConfig instance instead of constructing a new one.   |
|zmedico  |                                                                             |

|8319     |Make depgraph._select_atoms() more flexible by allowing the repositories to  |
|zmedico  |be passed in as a parameter.                                                 |

|8324     |Replace depgraph._slot_node_map with _slot_pkg_map so that it's easier to get|
|zmedico  |existing Package instances.                                                  |

|8329     |Sort all dbapi.cp_list() results in ascending order and cache the results    |
|zmedico  |when possible. The order is preserved in dbapi.match() so those results are  |
|         |also sorted.                                                                 |

|8331     |Fix cp_list() to prevent it from returning a reference to one of it's        |
|zmedico  |internal lists.                                                              |

|8332     |Optimize stdout_spinner.update() methods so that they don't waste cpu time by|
|zmedico  |flushing ouput to the tty too frequently.                                    |

|8333     |Fix SetConfig.getSetAtoms() to stop initializing ignorelist in the parameter |
|zmedico  |list since otherwise the ignorelist persists between calls and causes        |
|         |unpredictable results for callers.                                           |

|8334     |Fix --depclean to use SetConfig.getSetAtoms() and also fix a broken reference|
|zmedico  |to packagesets which is now settings.sets.                                   |

|8335     |Fix PackageSet.getAtoms() and getNonAtoms() so that they don't return        |
|zmedico  |references to private data structures.                                       |

|8336     |Make portdbapi.cp_list() use os.listdir() instead of portage.listdir() since |
|zmedico  |portage.listdir() has unnecessary overhead and it's cache isn't needed since |
|         |cp_list() has it's own cache.                                                |

|8337     |Rewrite the dblink.getcontents() code to use str.split(" ") for splitting    |
|zmedico  |CONTENTS lines so that even file paths that end with spaces can be handled.  |
|         |This patch makes the fix for bug #196836#c6 more complete. Some code for     |
|         |parsing old malformed symlink entries has been removed sinces it's probably  |
|         |not useful or worth maintaining anymore.                                     |

|8338     |Use rstrip("\n") to remove trailing newlines from CONTENTS lines.            |
|zmedico  |                                                                             |

|8341     |Implement a "consistent" depgraph parameter (enabled by --consistent) that   |
|zmedico  |can be used ensure that installation of new packages does not break any deep |
|         |dependencies of required sets (args, system, or world). Unfortunately, the   |
|         |performance penalty for small dep calculations is too great to enable this   |
|         |parameter by default. At least it will be useful for testing backtracking    |
|         |behavior when that is implemented.                                           |

|8342     |Optimize xmatch "bestmatch-visible" to do fewer metadata accesses by using   |
|zmedico  |the same code as "minimum-visible" but with a reverse iterator.              |

|8343     |Implement license filtering for xmatch minimum-visible and bestmatch-visible.|
|zmedico  |Also, make the gvisible license filtering conditional on config.local_config |
|         |since repoman doesn't do license filtering.                                  |

|8344     |Fix "args" set handling wrt $ROOT in depgraph._complete_graph().             |
|zmedico  |                                                                             |

|8345     |Remove a few unused depgraph attributes.                                     |
|zmedico  |                                                                             |

|8346     |Gather some ignored dependencies so that they can be properly processed by   |
|zmedico  |the depgraph when "conistent" mode is enabled.                               |

|8347     |Defer selection of package dependency atoms until they are actually needed   |
|zmedico  |since the appropriate atom selection behavior can change between the time    |
|         |that the package is initially added to the graph and when it's dependencies  |
|         |are traversed (like when --consistent is enabled).                           |

|8348     |Update the FEATURES=mirror docs to more accurately reflect behavior.         |
|zmedico  |                                                                             |

|8349     |Fix diefunc() so that it doesn't report that the ebuild is from an overlay   |
|zmedico  |when EMERGE_FROM == binary.                                                  |

|8350     |Make depgraph.select_files() recursively expand sets given as arguments so   |
|zmedico  |that containment tests in _get_parent_sets() properly match atoms in nested  |
|         |sets (like if world contains system). Otherwise, atoms from nested sets would|
|         |get recorded in the world file.                                              |

|8351     |Add a check for redundant cd "${S}" statements on the first line of          |
|zmedico  |src_(compile|install|test) ebuild methods. Thanks to Petteri Räty           |
|         |<betelgeuse@gentoo.org> for this patch.                                      |

|8352     |Avoid making unnecessary copies of PackageSet._atoms by replacing calls to   |
|zmedico  |self.getAtoms() with self._load().                                           |

|8353     |Make the EbuildUselessCdS check for both quoted and unquoted ${S} so the user|
|zmedico  |doesn't have to fix quoting before this check will recognize the violation.  |

|8354     |Remove an extra \$ from the EbuildQuote.var_reference regex so that it will  |
|zmedico  |properly match things like variable references without braces, like $S.      |

|8355     |Properly escape { and } characters in regular expressions even though it     |
|zmedico  |seems to work either way.                                                    |

|8357     |In the 'there are no ebuilds to satisfy "foo"' message, discard null/ from   |
|zmedico  |failed cpv_expand category expansion.                                        |

|8358     |Optimize merge order to try and select nodes that only have unsatisfied      |
|zmedico  |PDEPEND slightly earlier. This solves a problem with xorg-server being merged|
|         |too early during an all binary install (since DEPEND is ignored for          |
|         |binaries), triggering built_with_use() calls to fail as reported in bug      |
|         |#189966. Since DEPEND is discarded in cases like this, it is important to    |
|         |exploit the difference between PDEPEND and RDEPEND in order to optimize merge|
|         |order. Without this optimization, the merge order is technically correct, but|
|         |not as optimal as it should be and has lots of potential to trigger issues   |
|         |with built_with_use() or similar things that require better optimization of  |
|         |merge order.                                                                 |

|8359     |Collapse 2 identical code hunks into 1.                                      |
|zmedico  |                                                                             |

|8360     |Fix ignore_priority logic in depgraph.altlist() in order to handle some cases|
|zmedico  |where it was possible for nodes to be selected without their PDEPENDs being  |
|         |propperly added to the asap_nodes list.                                      |

|8366     |Make sure vardbapi.cp_list() always sorts the results.                       |
|zmedico  |                                                                             |

|8373     |Bug #197594 - Document FEATURES="lmirror".                                   |
|zmedico  |                                                                             |

|8379     |Return early from config.getMaskAtom() as soon as a matching unmask atom is  |
|zmedico  |found.                                                                       |

|8381     |Make portdbapi.gvisible() use portdbapi._aux_cache_keys for metadata pulls.  |
|zmedico  |                                                                             |

|8383     |Sort scanlist and ebuildlist to ensure that repoman always processes packages|
|zmedico  |in a predictable order.                                                      |

|8385     |In portage.fetch(), condense digest check output to a single line for all    |
|zmedico  |digests.                                                                     |

|8387     |TODO: Make update_config_files() handle slotmove commands for SLOT atoms.    |
|zmedico  |                                                                             |

|8390     |Bug #197932 - Make dbapi._cpv_sort_ascending() preserve explicit -r0 for     |
|zmedico  |consistency in findname and aux_get calls.                                   |

|8392     |Remove redundant code from previous commit.                                  |
|zmedico  |                                                                             |

|8397     |Fix update_config_files() so that it uses update_dbentry() to handle update  |
|zmedico  |commands since that already supports slotmove commands for SLOT atoms.       |

|8401     |Bug #197965 - When fetch() encounters a checksum failure, look for an        |
|zmedico  |identical file from a previous checksum failure in order to avoid consuming  |
|         |unnecessary disk space with duplicate files.                                 |

|8402     |if mode=1 and `dialog` is not usable, abort #197990 by DominikBuerkle        |
|SpankMan |                                                                             |

|8403     |Bug #197965 - Make fetch() bail out after 5 checksum failures for a          |
|zmedico  |particular file since downloading the same file repeatedly from every single |
|         |available mirror is a waste of bandwidth and time.                           |

|8405     |Call die() so that the $TMP directory is always properly cleaned up.         |
|zmedico  |                                                                             |

|8408     |Bug #197797 - Do not actively clear o+rx permission bits on the              |
|zmedico  |/var/lib/portage directory. Only clear the o+w bits. This allows users who   |
|         |aren't in the portage group to have read access to the world file by default,|
|         |but administrators can explicitly chmod o-rx that directory if necessary, and|
|         |portage will leave those bits alone. This makes the permission settings in   |
|         |dblink.treewalk() consistent with those that are already defined in          |
|         |config._init_dirs().                                                         |

|8410     |For sanity, pass an actual list of keys into aux_get() instead of iterating  |
|zmedico  |over a set that happens to be mutable (though it remains constant in         |
|         |practice).                                                                   |

|8412     |Make fetch() behave like the ebuild has RESTRICT="primaryuri" after 2        |
|zmedico  |checksum failures for a fetched file. This should increase the probability of|
|         |fetching the correct file before the maximum number of tries is reached.     |

|8414     |Generate a usage.obsolete warning whenever -* is found in KEYWORDS.          |
|zmedico  |                                                                             |

|8416     |In fetch(), replace checksum_failure_counts dict with single int counter.    |
|zmedico  |                                                                             |

|8418     |Clean up ACCEPT_KEYWORDS incremental stacking logic and fix some minor       |
|zmedico  |inconsistencies.                                                             |

|8420     |When evaluating *DEPEND conditionals for the Packages metadata index, do not |
|zmedico  |use IUSE to filter USE since there is currently no guarantee that IUSE       |
|         |properly defines all of the necessary flags.                                 |

|8421     |In portdbapi.cp_list(), validate the ebuild name to ensure that it matches   |
|zmedico  |the name of the package.                                                     |

|8423     |Make Manifest.create() do some basic validation of ebuild file names like    |
|zmedico  |portdbapi.cp_list() would do.                                                |

|8426     |Make exception strings more informative.                                     |
|zmedico  |                                                                             |

|8428     |Replace StringIO usage with a simple list of lines. The iteration interface  |
|zmedico  |is practically identical but the list of lines if more efficient because the |
|         |lines only have to be split one time for each ebuild instead of for each     |
|         |check.                                                                       |

|8429     |Fix 'TypeError: not all arguments converted during string formatting' issues |
|zmedico  |with the EbuildNestedDie check.                                              |

|8431     |Add support for package sets in WorldHandler.                                |
|zmedico  |                                                                             |

|8432     |Make WorldHandler lock the world file when in --fix mode.                    |
|zmedico  |                                                                             |

|8436     |Allow multislot packages to be added to the world file via --noreplace.      |
|zmedico  |Having these atoms in the world file will trigger recommendations to run     |
|         |emaint in some cases, like when running `emerge -e world`. The atoms need to |
|         |be in the world file to prevent multislot packages from being removed by     |
|         |--depclean though.                                                           |

|8437     |remove O and PPID from being readonly. O is set python side (and we will     |
|WarnerBro|hopefully stop being exported soon. PPID is ro by bash, so no need to declare|
|         |it twice                                                                     |

|8438     |Bug #198129 - Prevent SLOT atoms like sys-devel/binutils:0 from being        |
|zmedico  |inappropriately recorded in the world file when USE=multislot is enabled.    |

|8439     |Fix create_world_atom() logic some more for bug #198129.                     |
|zmedico  |                                                                             |

|8442     |Go ahead and exempt selected profile-specific USE_EXPAND flags from IUSE QA  |
|zmedico  |Notices since we are planning to make these particular flags into implicit   |
|         |members of IUSE. We can make this extensible later, but for now we just want |
|         |to eliminate some useless QA Notices (a subset of bug #70648). We're not     |
|         |exempting any non profile- specific USE_EXPAND flags here. For non           |
|         |profile-specific flags, we intend to implement an IUSE syntax extension (bug |
|         |#133327).                                                                    |

|8444     |Remove references to ${O} in dyn_spec() since antarus made that variable     |
|zmedico  |mutable.                                                                     |

|8445     |Simplify and fix bugs in is_valid_package_atom().                            |
|zmedico  |                                                                             |

|8447     |Remove the usage.obsolete "KEYWORDS contain -*" warning since people are     |
|zmedico  |using -* to indicate that a package should not be tried on archs other than  |
|         |those for which it already has KEYWORDS.                                     |

|8451     |Make depgraph.select_files() perform internal expansion of package set       |
|zmedico  |arguments since ideally the depgraph needs to be awary of the precise origin |
|         |of each atom.                                                                |

|8452     |Fix broken logic for --update greedy slot atoms in depgraph.select_files().  |
|zmedico  |                                                                             |

|8453     |Really fix broken logic for --update greedy slot atoms in                    |
|zmedico  |depgraph.select_files().                                                     |

|8457     |For unsatisfied dependencies, shorten the per-package EAPI mask output and   |
|zmedico  |show an informative message whenever an EAPI mask is encountered.            |

|8462     |It is not cool and/or helpfull to see an HTML dump of some page in case it is|
|zmedico  |not what is expected (like a 404). (branches/prefix r8460)                   |

|8464     |Bug #198492 - Make quickpkg create $PKGDIR if it doesn't already exist.      |
|zmedico  |                                                                             |

|8466     |Don't do: Calculating dependencies |Fetching binary packages info... but     |
|zmedico  |instead put "Fetching ..." on it's own line. (branches/prefix r8461)         |

|8468     |Tweak EOutput.term_columns calculation for TERM="dumb" so that it behaves    |
|zmedico  |like TERM="cons25" currently does. Thanks to Ulrich Mueller <ulm@gentoo.org> |
|         |for the patch.                                                               |

|8471     |make.globals should not be relative to config_root because it only contains  |
|zmedico  |constants.                                                                   |

|8472     |Revert accidental hunk from bug 198491. Haven't tested this yet.             |
|zmedico  |                                                                             |

|8473     |Bug #198491 - Disable termios.OPOST post-processing of output on the slave   |
|zmedico  |pty file descriptor since otherwise weird things like \n -> \r\n             |
|         |transformations may occur. Thanks to Ulrich Mueller <ulm@gentoo.org> for this|
|         |patch.                                                                       |

|8474     |Remove the workaround for \n -> \r\n transformations in                      |
|zmedico  |SpawnTestCase.testLogfile() since the problem is solved by the patch from bug|
|         |#198491.                                                                     |

|8475     |Create classes to encapsulate eache of the depgraph argument types: atoms,   |
|zmedico  |packages and sets.                                                           |

|8476     |Fix incorrect type in depgraph._missing_args.                                |
|zmedico  |                                                                             |

|8477     |revert getMergeList to return CPVs again instead of atoms                    |
|genone   |                                                                             |

|8478     |Move glsa-check from gentoolkit into portage so the gentoolkit version can be|
|genone   |removed after 2.2 is released                                                |

|8479     |move checkfile parsing into its own function                                 |
|genone   |                                                                             |

|8480     |if multiple glsas result in the same cat/pkg:slot being affected only use the|
|genone   |highest resulting atom                                                       |

|8481     |fix typo and missing classmethod declaration                                 |
|genone   |                                                                             |

|8482     |Clean up expansion of set arguments in depgraph.select_files().              |
|zmedico  |                                                                             |

|8483     |Convert all the checks in repoman.checks to use a new LineCheck interface    |
|zmedico  |that takes a single line as an argument. This has at least a few of benefits:|
|         |* Eliminates lots of redundant code * Error messages are ordered by line     |
|         |number across all checks The performance is slightly worse due to the        |
|         |increased number of method calls, but it's not really noticeable in          |
|         |comparison to the time consumed by dependency checks. Thanks to Petteri Räty|
|         |<betelgeuse@gentoo.org> for the initial patch which I only made a few minor  |
|         |modifications to.                                                            |

|8484     |Fix WorldSet.cleanPackage() so that it properly preserves nonatoms (sets) in |
|zmedico  |the world file.                                                              |

|8485     |Make the EbuildQuote.missing_quotes regex accept single quotes where it      |
|zmedico  |accepts double quotes in order to eliminate some false positives. Thanks to  |
|         |Krzysiek Pawlik <nelchael@gentoo.org> for reporting.                         |

|8486     |Wrap accesses to depgraph._set_atoms.findAtomForPackage() in a new           |
|zmedico  |depgraph._get_arg_for_pkg() method.                                          |

|8487     |Implement mapping of packages to instances of DependencyArg in               |
|zmedico  |depgraph._get_arg_for_pkg(). Among other things, this provides a way to know |
|         |whether or not a specific package has been specified as an argument, which   |
|         |determines whether or not it can be removed from the graph during            |
|         |backtracking.                                                                |

|8488     |Fix depgraph._get_arg_for_pkg() so that it compares package types to help    |
|zmedico  |ensure a proper match.                                                       |

|8489     |* Provide reasonable default values for Dependency priority and depth        |
|zmedico  |attributes. * Remove depgraph.create() since it's no longer needed. * Remove |
|         |depgraph._get_parent_sets() and instead get the information from             |
|         |DependencyArg attributes.                                                    |

|8490     |Make diefunc() clean up QA_INTERCEPTORS in case it is called from inherit()  |
|zmedico  |since sed called below.                                                      |

|8491     |Bug #197797 - Set umask to 022 so that created files (such as the world file)|
|zmedico  |have sane permissions.                                                       |

|8492     |Make the Package class emulate the interface of it's own digraph_node tuple  |
|zmedico  |so that the Package instance itself can be added directly to the digraph.    |

|8493     |* Remove all references to the obsolete Package.digraph_node attribute. *    |
|zmedico  |Reimplement Package comparison methods since the previous way didn't seem to |
|         |function properly for dict keys. * Clean up depgraph._add_pkg() to use the   |
|         |Package object attributes.                                                   |

|8494     |Add DependencyArg instances as parents of packages in the digraph since these|
|zmedico  |relationships should be useful during backtracking.                          |

|8495     |Remove the depgraph.pkg_node_map attribute and use other means to accomplish |
|zmedico  |the same thing.                                                              |

|8496     |Make depgraph._add_pkg() match the package with all possible args and add    |
|zmedico  |them to the digraph.                                                         |

|8497     |Make depgraph._complete_graph() properly specify SetArg instances as parents |
|zmedico  |of each Dependency, similar to the want that select_files() does.            |

|8498     |Make the slot collision display show all collisions instead of just the first|
|zmedico  |one.                                                                         |

|8499     |Make 'full' the default mode, since 'scan' can be annoying since it ommits   |
|zmedico  |relevant info.                                                               |

|8500     |In the slot collision display, show a maximum of 3 parents for each package  |
|zmedico  |in order to avoid flooding the display.                                      |

|8501     |* Replace references to deprecated ${IMAGE} with equivalent ${D}. * Remove   |
|zmedico  |redundant trailing slashes and fix quoting.                                  |

|8502     |Make dir_get_metadata() return early if the current user does not have write |
|zmedico  |access to /var/cache/edb. Thanks to Cardoe for reporting.                    |

|8503     |Fix quoting for `source ${EBUILD}`.                                          |
|zmedico  |                                                                             |

|8511     |Bug #199311 - Make dblink.getcontents() show the path of the CONTENTS file   |
|zmedico  |when any kind of parse error occurs.                                         |

|8512     |Don't export ${IMAGE} to the ebuild environment anymore since everything uses|
|zmedico  |${D} now (including the entire tree).                                        |

|8513     |Set IMAGE for minimal backward compatibility with overlays or user's bashrc, |
|zmedico  |but don't export it.                                                         |

|8516     |Speed up LibraryPackageMap.update() by pulling NEEDED from the               |
|zmedico  |vardbapi.aux_get() cache. This greatly reduces the amount of needless IO that|
|         |has been happening just prior to the postinst phase in dblink.treewalk(). We |
|         |may want to consider having LibraryPackageMap work directly from the vardbapi|
|         |instead of creating the intermediate /var/cache/edb/library_consumers file.  |

|8518     |Clean up vardbapi.counter_tick_core() and replace shell code with pure       |
|zmedico  |python.                                                                      |

|8519     |Fix --usepkgonly code in depgraph.select_files() so that it only operates on |
|zmedico  |the Package type that it expects.                                            |

|8520     |Fix NEEDED logic in vardbapi.aux_get() so that empty NEEDED doesn't trigger  |
|zmedico  |unnecessary cache pulls.                                                     |

|8521     |Bug #198398 - Enable Manifest generation when there are no hash functions    |
|zmedico  |available for types such as RMD160. Now it's possible to generate a Manifest |
|         |when python-2.5 is built without ssl support. MANIFEST1_REQUIRED_HASH and    |
|         |MANIFEST2_REQUIRED_HASH are the only two functions that are strictly required|
|         |now (MD5 and SHA1).                                                          |

|8524     |Fix PROFILE_ONLY_VARIABLES handling in the config constructor so that        |
|zmedico  |variables are appropriately filtered from "backupenv", since otherwise they  |
|         |can leak in from there.                                                      |

|8525     |Use the existing RootConfig class to serve as a replacement for the          |
|zmedico  |EmergeConfig class. They both served roughly the same purpose and it was     |
|         |messy the way that EmergeConfig inherited from the portage.config class. It's|
|         |better to avoid inheritance here, expecially since it doesn't provide        |
|         |anything really useful.                                                      |

|8526     |Disable logging and ${T}/environment saving during the pkg_info() phase.     |
|zmedico  |                                                                             |

|8527     |When creating environment.bz2 at the end of dyn_compile(), reduce bloat by   |
|zmedico  |filtering out functions that are defined internally by portage. This reduces |
|         |the size of the resulting environment.bz2 file by approximately 10 KB.       |

|8528     |In bash-3.2_p20+ an attempt to assign BASH_*, FUNCNAME, GROUPS or any        |
|zmedico  |readonly variable cause the shell to exit while executing the "source"       |
|         |builtin command. To avoid this problem, a new save_ebuild_env() function     |
|         |filters those variables out and discards them. See bug #190128.              |

|8531     |Implement loading of environment.bz2 from binary and installed packages. For |
|zmedico  |binary packages, it's loaded prior to pkg_setup(). For installed packages,   |
|         |it's loaded prior to pkg_prerm(). For simplicity, the current implementation |
|         |will cause the current environment to override *everything* in the           |
|         |environment that is being processed. In the future, it should be more        |
|         |selective and only override the parts that are strictly necessary.           |

|8532     |Make preprocess_ebuild_env() explicitly filter out FEATURES since the value  |
|zmedico  |for that variable should never come from a previously saved environment.     |

|8533     |Make save_ebuild_env() filter out lots of variables that don't need to be    |
|zmedico  |saved.                                                                       |

|8534     |Make AA, PF, and WORKDIR readonly.                                           |
|zmedico  |                                                                             |

|8535     |Move LD_PRELOAD and FAKEROOTKEY filtering from filter_readonly_variables() to|
|zmedico  |save_ebuild_env().                                                           |

|8536     |Add some more variables to filter in filter_readonly_variables() and         |
|zmedico  |save_ebuild_env().                                                           |

|8537     |Now that save_ebuild_env() filters variables that could cause interference,  |
|zmedico  |preprocess_ebuild_env() can rely on it to clean up the environment enough so |
|         |that anything left can be allowed to override variables or functions from the|
|         |current environment.                                                         |

|8538     |When ${T}/environment is available, do not source the ebuild since that is   |
|zmedico  |redundant. This solves bug #46223.                                           |

|8539     |When ROOT != "/" we only want overrides from the calling environment to apply|
|zmedico  |to the config that's associated with ROOT != "/", so we wipe out the         |
|         |"backupenv" for the config that is associated with ROOT == "/" and regenerate|
|         |it's incrementals. Thanks to solar for the suggestion.                       |

|8540     |Don't make variables readonly during the "depend" phase.                     |
|zmedico  |                                                                             |

|8541     |Fix ${EBUILD_PHASE} quoting.                                                 |
|zmedico  |                                                                             |

|8542     |Instead of filtering out all readonly variables, make it selective so that   |
|zmedico  |any readonly variables that are not explicitly filtered are allowed to be    |
|         |saved.                                                                       |

|8543     |Don't unset ${S} inside save_ebuild_env().                                   |
|zmedico  |                                                                             |

|8559     |* Remove bogus "ci" mode. * Sync "scan" mode description with 2.1.2 branch.  |
|zmedico  |                                                                             |

|8569     |Move preinst IMAGE initialzation before bashrc handling.                     |
|zmedico  |                                                                             |

|8573     |Clean up some local variables that are needlessly saved in the environment.  |
|zmedico  |                                                                             |

|8575     |Move environment saving from dyn_compile() to dyn_install() so that state    |
|zmedico  |from src_install() is saved.                                                 |

|8577     |Generate an eerror elog message when an ebuild prerm or postrm phase fails.  |
|zmedico  |                                                                             |

|8578     |Fix the diefunc overlay message so that it doesn't trigger falsely in prerm  |
|zmedico  |or postrm.                                                                   |

|8581     |* Make save_ebuild_env() filter some more variables. * Make dyn_install()    |
|zmedico  |filter S when it's no longer needed.                                         |

|8583     |In dyn_install(), don't cleanse S from the global environment, in case the   |
|zmedico  |user wants to repeat the phase (like with FEATURES=noauto and the ebuild     |
|         |command). Only cleanse it from environment.bz2.                              |

|8585     |Replace usage of the "myarg" global variable with the equivalent readonly    |
|zmedico  |EBUILD_SH_ARGS variable.                                                     |

|8593     |In depgraph.altlist(), measure the bias of circular RDEPEND PDEPEND          |
|zmedico  |relationships and use it to optimize merge order.                            |

|8595     |Filter HOSTTYPE, MACHTYPE, and OSTYPE vars that are set by bash.             |
|zmedico  |                                                                             |

|8597     |Make dyn_package() create a /var/db/pkg/*/*/BINPKGMD5 entries so that        |
|zmedico  |packages installed via --buildpkg have a BINPKGMD5 entry matching the package|
|         |built.                                                                       |

|8599     |Document dohtml -p. Thanks to robbat2 for reporting.                         |
|zmedico  |                                                                             |

|8601     |When portage reinstalls itself, during inst/rm phases, the environment may   |
|zmedico  |have been saved by a different version of ebuild.sh, so it can't trusted that|
|         |it's been properly filtered. Therefore, always preprocess the environment    |
|         |when ${PN} == portage.                                                       |

|8603     |Don't call preprocess_ebuild_env() unless EBUILD_SH_ARGS is set since        |
|zmedico  |otherwise it can interfere with the environment for things like the "package"|
|         |phase.                                                                       |

|8605     |Generalize the sed expression in filter_readonly_variables() so that it will |
|zmedico  |work with things like 'declare -xr' as well as 'declare -rx'.                |

|8607     |Allow any errors from save_ebuild_env() to go to stderr instead of directing |
|zmedico  |them to /dev/null.                                                           |

|8609     |When filtering the backupenv in create_trees(), be more selective and ensure |
|zmedico  |that special variables that come from the config constructor are preserved.  |

|8611     |Make the sed expression in filter_readonly_variables() handle '^declare -r ' |
|zmedico  |by simply removing it.                                                       |

|8613     |Use %% instead of % parameter expansion where appropriate for md5sum output. |
|zmedico  |                                                                             |

|8615     |Sort hashes for predictable output from Manifest._createManifestEntries().   |
|zmedico  |                                                                             |

|8617     |For compatibility with previous behavior, so the bashrc sourcing after the   |
|zmedico  |ebuild environment is fully loaded.                                          |

|8619     |unset x to avoid global env pollution.                                       |
|zmedico  |                                                                             |

|8621     |Try again to make bashrc sourcing compatible with previous behavior. The     |
|zmedico  |bashrcs get an opportunity to set aliases that will be expanded during       |
|         |sourcing of ebuilds and eclasses.                                            |

|8623     |Make save_ebuild_env() filter the new source_all_bashrcs() function from the |
|zmedico  |environment.                                                                 |

|8628     |Add support for persistence of colon separated                               |
|zmedico  |SANDBOX_{DENY,READ,PREDICT,WRITE} variables between phases so things like the|
|         |global scope addpredict() call in qt3.eclass will continue to work.          |

|8629     |Filter _E_DOCDESTTREE_ and _E_EXEDESTTREE_ from environment.bz2.             |
|zmedico  |                                                                             |

|8630     |In the grep expression that's generated in filter_readonly_variables(),      |
|zmedico  |condense redundant identical expressions into a single one.                  |

|8634     |Fix the var_grep variable in filter_readonly_variables() so that it's        |
|zmedico  |properly local.                                                              |

|8636     |Unconditionally filter some of the SANDBOX_* variables from the environment  |
|zmedico  |in order to avoid potential interference problems. For example, having an    |
|         |invalid value for SANDBOX_LOG prevents the sandbox from killing the ebuild   |
|         |when a violation occurs.                                                     |

|8638     |When binarytree.populate() finds missing metadata, specify which keys are    |
|zmedico  |missing so that the user has a clue about what is wrong.                     |

|8640     |Fix quoting to work properly with eval.                                      |
|zmedico  |                                                                             |

|8643     |Use `md5` if `md5sum` is not available (useful for FreeBSD users).           |
|zmedico  |                                                                             |

|8645     |Bug #140180 - Never trigger a LICENSE.missing violation for old style        |
|zmedico  |virtuals since they don't directly install anything.                         |

|8647     |Bug #200238 - Make ebuild.sh properly bail out when the pkg_info() function  |
|zmedico  |doesn't exist.                                                               |

|8649     |Implement loading of environment.bz2 for the pkg_info() phase. Since a       |
|zmedico  |temporary directory is required for processing of ${T}/environment, and we   |
|         |want a user who's not in the portage group to be able to run the pkg_info()  |
|         |phase, PORTAGE_TMPDIR is temporarily overridden with a directory created by  |
|         |mkdtemp. To make this work, doebuild() creates the tempdir and cleans it up  |
|         |in a finally block.                                                          |

|8651     |* Load environment.bz2 for the pkg_config() phase. * Run the "clean" phase if|
|zmedico  |pkg_config() succeeds.                                                       |

|8653     |The qa_call() function and anything before it are portage internals that the |
|zmedico  |user will not be interested in. Therefore, the stack trace should only show  |
|         |calls that come after qa_call().                                             |

|8654     |Test if ebuild functions are defined before calling them. This will be useful|
|zmedico  |if an environment.bz2 has been loaded and it has missing functions for some  |
|         |reason. For example, there are a lot of default functions that are empty and |
|         |could simply be omitted from the environment.                                |

|8655     |Remove the empty default pkg_setup, src_install, pkg_preinst, pkg_postinst,  |
|zmedico  |pkg_prerm, pkg_postrm, and pkg_config functions since they do nothing more   |
|         |than clutter the environment.                                                |

|8659     |Allow the pkg_info and pkg_config pre/post hooks to run even when the ebuild |
|zmedico  |function is not defined.                                                     |

|8662     |Remove some unsafe assumptions from preprocess_ebuild_env() and note the     |
|zmedico  |remaining assumption that save_ebuild_env() is not overridden by the         |
|         |environment being loaded.                                                    |

|8663     |Make preprocess_ebuild_env() reload a known good version of save_ebuild_env()|
|zmedico  |in order to avoid making an assumption that it hasn't been overridden.       |

|8666     |Filter _RC_GET_KV_CACHE from the saved environment.                          |
|zmedico  |                                                                             |

|8668     |Bug #124041 - Make emerge show an informative warning message when one or    |
|zmedico  |more eclasses override eclasses from PORTDIR. The warning can be permanently |
|         |disabled by setting PORTAGE_ECLASS_WARNING_ENABLE="0" in /etc/make.conf.     |

|8670     |* Move filtering of a bunch of portage config variables from                 |
|zmedico  |save_ebuild_env() to config.environ(). * Add EMERGE_FROM to the              |
|         |READONLY_PORTAGE_VARS list.                                                  |

|8672     |Add NOCONFMEM to config._environ_filter.                                     |
|zmedico  |                                                                             |

|8674     |unset ECLASS along with the other variables from inherit().                  |
|zmedico  |                                                                             |

|8676     |Filter more misc environment variables.                                      |
|zmedico  |                                                                             |

|8678     |Make diefunc() show the path of ${T}/environment since it's usually in the   |
|zmedico  |stack trace and the user is likely to be interested in it.                   |

|8680     |Automatically try to load environment.bz2 whenever "${T}/environment" does   |
|zmedico  |not exist, except for "clean" and "depend" phases.                           |

|8682     |Bug #200313 - Detect and report when an ebuild phase exits unexpectedly. This|
|zmedico  |is type of behavior is known to be triggered by things such as failed        |
|         |variable assignments (bug #190128) or bad substitution errors (bug #200313). |
|         |We use a EBUILD_EXIT_STATUS_FILE environment variable to specify a file that |
|         |the shell code is supposed to create when it exits in a normal manner. If the|
|         |file does not get created like it's supposed to be then we can conclude that |
|         |the shell has exited in some unexpected way.                                 |

|8683     |--buildpkgonly will not merge anything, so it cancels all binary package     |
|zmedico  |options.                                                                     |

|8686     |Check if ${EBUILD_EXIT_STATUS_FILE} is empty before attempting to use it.    |
|zmedico  |                                                                             |

|8688     |Implement config.pop().                                                      |
|zmedico  |                                                                             |

|8690     |Make config.pop() properly call config.modifying().                          |
|zmedico  |                                                                             |

|8692     |* In doebuild(), don't create directories for the "clean" or "unmerge". * Fix|
|zmedico  |dyn_clean() to clean the status file and return early when appropriate.      |

|8694     |Fix grammar.                                                                 |
|zmedico  |                                                                             |

|8696     |Make doebuild skip directory creation for the "cleanrm" command.             |
|zmedico  |                                                                             |

|8698     |Make doebuild() use EBUILD_EXIT_STATUS_FILE sanity checks for the extra      |
|zmedico  |misc-functions.sh preinst/postinst shell code.                               |

|8700     |Make the environment handling code detect errors and die if necessary.       |
|zmedico  |                                                                             |

|8702     |Bug #200231 - Make dir_get_metadata() handle an exception thrown from        |
|zmedico  |dir_get_list() when there's a problem connection problem.                    |

|8704     |Fix config.pop() so that is will properly raise a KeyError.                  |
|zmedico  |                                                                             |

|8706     |Don't forget to unlink ${EBUILD_EXIT_STATUS_FILE} before each phase.         |
|zmedico  |                                                                             |

|8708     |Bug #200229 - The gimp ebuild defines AA as a local variable. In order to    |
|zmedico  |accomodate this, create a PORTAGE_MUTABLE_FILTERED_VARS list for variables   |
|         |that portage sets but doesn't mark readonly. In order to prevent changed     |
|         |values from causing unexpcted interference, they are filtered out of the     |
|         |environment when it is saved or loaded (any mutations do not persist).       |

|8710     |Fix logic wrt exit_status_check and elog_process in doebuild().              |
|zmedico  |                                                                             |

|8712     |Remove a redundant os.EX_OK check that exit_status_check() already handles   |
|zmedico  |internally.                                                                  |

|8714     |portage upgrade or downgrade invalidates EBUILD_EXIT_STATUS_FILE sanity      |
|zmedico  |checks since ebuild.sh portage version may differ from the current instance  |
|         |that is running in python.                                                   |

|8716     |Just use ${PN} instead of catpkgsplit().                                     |
|zmedico  |                                                                             |

|8718     |In the preprocess_ebuild_env() subshell, check for errors and return early   |
|zmedico  |when necessary.                                                              |

|8720     |Add a sanity check in dblink.treewalk() so that a broken ebuild that doesn't |
|zmedico  |install any files will not be able to replace a package in the same slot that|
|         |really installs files. This check can be bypassed by manually unmerging the  |
|         |old package or by setting PORTAGE_PACKAGE_EMPTY_ABORT="0" in /etc/make.conf. |

|8721     |Don't export PORTAGE_PACKAGE_EMPTY_ABORT to the ebuild environment.          |
|zmedico  |                                                                             |

|8724     |Disable PORTAGE_PACKAGE_EMPTY_ABORT by default since the scrollkeeper-9999   |
|zmedico  |upgrade will trigger a false positive. Thanks to leio for reporting.         |

|8726     |In chk_updated_cfg_files(), avoid scanning for config files for paths that   |
|zmedico  |aren't writable by the current user. This prevents Permission denied errors  |
|         |from being triggered later when trying to scan subdirectories that are       |
|         |inaccessible.                                                                |

|8729     |Bug #200652 - Skip ${T}/environment handling for pkg_nofetch().              |
|zmedico  |                                                                             |

|8731     |If portage is reinstalling itself, create a temporary copy of                |
|zmedico  |PORTAGE_BIN_PATH in order to avoid relying on on the new versions which may  |
|         |be incompatible.                                                             |

|8732     |Enable the EBUILD_EXIT_STATUS_FILE sanity check when portage is reinstalling |
|zmedico  |itself since the check is reliable in this case now that a temporary         |
|         |PORTAGE_BIN_PATH is created.                                                 |

|8733     |Fix references to PORTAGE_BIN_PATH in doebuild() to use the config setting   |
|zmedico  |since it may be a temp directory when portage is reinstalling itself.        |

|8734     |In doebuild, fix paths to ebuild.sh and misc-functions.sh so that they work  |
|zmedico  |with variable PORTAGE_BIN_PATH.                                              |

|8735     |Fix more references to MISC_SH_BINARY so that they work properly with        |
|zmedico  |variable PORTAGE_BIN_PATH.                                                   |

|8736     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|8737     |Make dblink.treewalk() properly delete the installed instance after it       |
|zmedico  |unmerges it.                                                                 |

|8738     |Fix references to EBUILD_SH_BINARY so that they work properly with variable  |
|zmedico  |PORTAGE_BIN_PATH.                                                            |

|8739     |Remove stray print statement.                                                |
|zmedico  |                                                                             |

|8741     |In dblink.treewalk(), make portage unmerge multiple instances os             |
|zmedico  |sys-apps/portage in the same slot if necessary (needed when AUTOCLEAN=no is  |
|         |set).                                                                        |

|8743     |When portage reinstalls itself, copy both the bin and pym directories to a   |
|zmedico  |temp dir. Insert the temporary PORTAGE_PYM_PATH as the first element of      |
|         |sys.path and register an atexit hook to clean up the temporary directories.  |

|8745     |Adjust PYTHONPATH when calling portageq so that variable PORTAGE_PYM_PATH    |
|zmedico  |works.                                                                       |

|8747     |Don't modify sys.path inside dblink.merge() because it doesn't seem to help  |
|zmedico  |and it triggers import errors for elog modules when downgrading to versions  |
|         |of portage that use the old namespace.                                       |

|8749     |When portage reinstalls itself, pre-load elog modules in dblink.merge() since|
|zmedico  |we won't be able to later if they get unmerged (happens when namespace       |
|         |changes).                                                                    |

|8751     |Make elog_process() pre-load log modules that it can be called just for that |
|zmedico  |purpose.                                                                     |

|8753     |Move environment.bz2 extraction from ebuild.sh to doebuild() on the python   |
|zmedico  |side. The python will be able to use it's awareness of the ${T}/environment  |
|         |to decide what type of ebuild environment should be generated. For example,  |
|         |if the ebuild environment should be able to unset variables that have been   |
|         |inherited from the calling environment, the existence of ${T}/environment    |
|         |will indicate that the ebuild environment should be isolated from the calling|
|         |environment.                                                                 |

|8754     |Bug #189417 - When ${T}/environment exists, isolate the ebuild environment   |
|zmedico  |from the calling environment. This makes it possible for the build to unset a|
|         |variable that was inherited from the calling environment, and the variable   |
|         |will remain unset between phases.                                            |

|8755     |Remove unused EBUILD_ENV_FILE variable.                                      |
|zmedico  |                                                                             |

|8757     |* After the initial setup phase, the original ebuild and eclasses are no     |
|zmedico  |longer needed because the same ebuild environment is reused for the entire   |
|         |lifecycle of the package, including uninstallation.                          |

|8759     |Make config.environ() export PKGDIR to the ebuild environment during the     |
|zmedico  |"package" phase since it's currently referenced there.                       |

|8761     |Don't use sandbox's BASH_ENV for new shells because it does 'source          |
|zmedico  |/etc/profile' which can interfere with the build environment by modifying our|
|         |PATH.                                                                        |

|8763     |Add some variables such as TERM to the whitelist of variables from the       |
|zmedico  |calling environment that are allowed into the ebuild environment.            |

|8765     |Bug #200775 - Save more portage generated environment variables that are in  |
|zmedico  |environment.bz2 so that they are available for use by tools such as epm.     |

|8768     |sandbox unsets ROOTPATH, so we have to back it up on the python side then    |
|zmedico  |restore it on the bash side.                                                 |

|8770     |Bug #200863 - Don't filter ${KV} since kernel-2.eclass uses that variable and|
|zmedico  |we don't want to interfere.                                                  |

|8771     |In doebuild_environment(), fix KV logic so that it never gets set during the |
|zmedico  |"depend" phase. Also, use backup_changes() to properly cache the result.     |

|8774     |Fix quoting for PORTAGE_ROOTPATH.                                            |
|zmedico  |                                                                             |

|8776     |Update comments about ROOTPATH: sandbox's bashrc sources /etc/profile which  |
|zmedico  |unsets ROOTPATH, so we have to back it up and restore it.                    |

|8777     |Update comments about ROOTPATH: sandbox's bashrc sources /etc/profile which  |
|zmedico  |unsets ROOTPATH, so we have to back it up and restore it                     |

|8779     |* whitelist DISTDIR, PORTDIR, and PORTAGE_TMPDIR, PORTAGE_WORKDIR_MODE. *    |
|zmedico  |whitelist RPMDIR just for the "rpm" phase.                                   |

|8781     |* whitelist PREROOTPATH in config.environ() * filter PREROOTPATH in          |
|zmedico  |save_ebuild_env()                                                            |

|8783     |When die has been called and ${T}/environment does not exist, dump the       |
|zmedico  |current environment to ${T}/die.env in case it helps for debugging.          |

|8785     |In create_trees(), when isolating the environment of the ROOT=/ config, use  |
|zmedico  |it's env.d keys as a blacklist to make env.d override the calling            |
|         |environment.                                                                 |

|8787     |Add missing newline after message.                                           |
|zmedico  |                                                                             |

|8789     |Move duplicate module loading code into a function.                          |
|zmedico  |                                                                             |

|8791     |After each merge, collect status from child processes in order to clean up   |
|zmedico  |zombies (such as the parallel-fetch process).                                |

|8792     |When os.waitid() raises OSError, discard the pid since there's no need to    |
|zmedico  |wait on it again.                                                            |

|8794     |Show the pid in the "starting parallel fetching" message.                    |
|zmedico  |                                                                             |

|8796     |* whitelist some misc variables from the calling environment * blacklist the |
|zmedico  |same variables in save_ebuild_env() so that the latest values from the       |
|         |calling environment always override those from the ebuild environment        |

|8798     |For portage.spawn() calls, use a _shell_quote() function to quote the path of|
|zmedico  |the binary since.                                                            |

|8801     |In dblink.treewalk(), tweak the "Safely unmerging already-installed instance"|
|zmedico  |logic to make sure that it works in all possible cases.                      |

|8803     |Synchronize self-reinstallation logic so that emerge will always restart     |
|zmedico  |itself when dblink.merge() creates temporary copies of                       |
|         |PORTAGE_{BIN,PYM}_PATH.                                                      |

|8805     |Fix useq() so that it won't generate a bogus IUSE QA Notice if called during |
|zmedico  |the "depend" phase with a flag that uses IUSE defaults.                      |

|8807     |Add back missing err() function.                                             |
|zmedico  |                                                                             |

|8808     |Convert caterror() to call warn() instead of err() since we don't want to    |
|zmedico  |exit here.                                                                   |

|8816     |For compatibility with cvs.eclass, do not unset CVS_RSH in save_ebuild_env() |
|zmedico  |since that variable may be initialized in global scope.                      |

|8818     |* whitelist CCACHE_* and DISTCC_* variables in config.environ() * unset      |
|zmedico  |CCACHE_* and DISTCC_* variables in save_ebuild_env()                         |

|8821     |implement the final part of FEATURES=preserved-libs and remove previously    |
|genone   |preserved libs that don't have any consumers left. Also fix the notice if    |
|         |preserved libs are found to use the preserved-rebuild package set instead of |
|         |revdep-rebuild.                                                              |

|8822     |Bug #201082 - Don't call config.load_infodir() prior to pkg_postinst()       |
|zmedico  |because it's not needed and the ebuild path that's passed in for postinst is |
|         |may be from the portage tree, which causes load_infodir() to discard critical|
|         |metadata such as CATEGORY without realoading it.                             |

|8824     |revert accidential commit                                                    |
|genone   |                                                                             |

|8825     |update TODO list                                                             |
|genone   |                                                                             |

|8826     |Make config.load_infodir() more fault tolerant for cases like bug #201082.   |
|zmedico  |                                                                             |

|8828     |Bug #201090 - When portage creates a temp PORTAGE_BIN_PATH, put it inside    |
|zmedico  |PORTAGE_TMPDIR since, unlike /tmp, it can't be mounted with the "noexec"     |
|         |option.                                                                      |

|8830     |* Don't load the CATEGORY in config.load_infodir() since this value is       |
|zmedico  |critical for doebuild() operation and we already know the category. * Always |
|         |call config.setcpv() prior to config.load_infodir() so that the CATEGORY is  |
|         |always known.                                                                |

|8831     |Fix typo in config.load_infodir() return value logic.                        |
|zmedico  |                                                                             |

|8833     |Synchronize the conditional that triggers "${T}"/environment generation with |
|zmedico  |the conditional that triggers distcc and ccache FEATURES setup.              |

|8835     |Remove redundant config.load_infodir() calls from portage.pkgmerge() and     |
|zmedico  |dblink.unmerge() since it's already called in doebuild.()                    |

|8837     |make sure we only remove files that were previously preserved                |
|genone   |                                                                             |

|8838     |enable FEATURES=preserve-libs globally for extended testing                  |
|genone   |                                                                             |

|8839     |Fix setconfig loader to use config files instead of hardcoded fallbacks      |
|genone   |                                                                             |

|8840     |perform sanity checks for set configuration even if myaction is None         |
|genone   |                                                                             |

|8841     |fix another typo                                                             |
|genone   |                                                                             |

|8844     |In order to know exactly which atoms/sets should be added to the world file, |
|zmedico  |the depgraph performs set expansion later. It will get confused about where  |
|         |the atoms came from if it's not allowed to expand them itself.               |

|8845     |bootstrap.sh expects that the "system" set always exists, so create it       |
|zmedico  |automatically if necessary.                                                  |

|8846     |Show ? if the installed package is missing a repository label. The stable    |
|zmedico  |version of portage creates these labels now, so false positives won't be as  |
|         |common as they used to be.                                                   |

|8848     |- repository configuration file and `emerge --sync [repo_set]... [repo]...`  |
|zmedico  |support for overlays and binhosts (zmedico)                                  |

|8849     |Make SetConfig.getSets() return a copy of the psets attribute instead of a   |
|zmedico  |direct reference. Fix the to stop relying on having the direct reference.    |

|8850     |Keep the RootConfig.sets attribute in sync with the SetConfig.               |
|zmedico  |                                                                             |

|8851     |Fix broken timestamp logic in do_snapshot(). Thanks to Alon Bar-Lev          |
|zmedico  |<alonbl@gentoo.org> for this patch.                                          |

|8852     |Remove redundant successful exit call from the "depend" phase and let it run |
|zmedico  |to the bottom of ebuild.sh just like the other phases.                       |

|8853     |Bug #201506 - Make preprocess_ebuild_env() preserve                          |
|zmedico  |SANDBOX_{DENY,PREDICT,READ,WRITE} between all phases, except when the        |
|         |environment comes directly from environment.bz2.                             |

|8857     |Prevent the filter_opts local variable from leaking into the environment in  |
|zmedico  |preprocess_ebuild_env().                                                     |

|8859     |Declare retval as a local variable.                                          |
|zmedico  |                                                                             |

|8861     |Bug #201513 - Fix typos for preserve-libs and PreservedLibraryConsumerSet.   |
|zmedico  |Thanks to Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com> for   |
|         |this patch.                                                                  |

|8862     |Remove automatic "system" and "world" set creation since we can probably rely|
|zmedico  |on having a complete config.                                                 |

|8863     |Perform set argument validation in emerge_main() even for values actions that|
|zmedico  |need to expland sets themselves.                                             |

|8864     |Add a TODO note about remaining work for bug #189417.                        |
|zmedico  |                                                                             |

|8865     |Bug #189417 - Explicitly whitelist any remaining variables that are allowed  |
|zmedico  |to leak into the ebuild environment. Also, fix spawnebuild to properly filter|
|         |the env when it spawns misc-functions.sh after the install phase. There is   |
|         |still some remaining leakage that seems to come from something in the ebuild |
|         |environment sourcing /etc/profile.                                           |

|8866     |Bug #189417 - Whitelist BASH_ENV since we need to have it set in order to    |
|zmedico  |prevent sandbox from causing env leakage by sourcing /etc/profile via it's   |
|         |bashrc.                                                                      |

|8867     |Bug #189417 - Comment on how the whitelist and BASH_ENV are used to prevent  |
|zmedico  |environment leakage.                                                         |

|8874     |Do an EBUILD_EXIT_STATUS_FILE sanity check in spawnebuild() where it spawns  |
|zmedico  |misc-functions.sh after the install phase.                                   |

|8876     |Add some documentation for ebuild phases and pre/post phase hooks that can be|
|zmedico  |defined via bashrc.                                                          |

|8877     |Add a "Quality Assurance" tag so that all chapters are consistently nested   |
|zmedico  |inside tags.                                                                 |

|8878     |* When installing a binary package, export the file name of the package as   |
|zmedico  |PORTAGE_BINPKG_FILE in order to give bashrc users an opportunity to do       |
|         |various things such as remove binary packages after they're installed. * Add |
|         |a note in ebuild.sh explaining why hardcoded bash lists are needed for       |
|         |backward compatibility with <portage-2.1.4 since they assume that a newly    |
|         |installed version of ebuild.sh will work for pkg_postinst, pkg_prerm, and    |
|         |pkg_postrm when portage is upgrading itself.                                 |

|8882     |First import the main portage module without legacy globals since it is      |
|zmedico  |almost certain to succeed in that case. This provides access to the          |
|         |portage.exception namespace which is needed for later exception handling,    |
|         |like if portage.exception.PermissionDenied is raised when constructing the   |
|         |legacy global config instance.                                               |

|8883     |* Raise PermissionDenied from getconfig() when appropriate. * When available,|
|zmedico  |make getconfig() include an invalid token in a ParseError message.           |

|8884     |Instead of calling sys.exit when a ParseError occurs in the config           |
|zmedico  |constructor, raise a ParseError and make emerge and portageq handle the      |
|         |error. This way consumers of the portage api can handle the ParseError rather|
|         |than have their application exit. Thanks to lxnay for reporting.             |

|8887     |Bug #198398 - Make repoman bail out if support for RMD160 hash creation      |
|zmedico  |appears to be missing.                                                       |

|8888     |Fix the check for bug #198398 so that it works even when running repoman from|
|zmedico  |the root of the repo.                                                        |

|8889     |Bug #202036 - In case of blockers, bail out earlier so that later code can   |
|zmedico  |assume there are no blockers.                                                |

|8891     |In filter_readonly_variables(), replace 'declare -r ' with 'declare ' instead|
|zmedico  |of removing it completely.                                                   |

|8892     |Bug #202068 - In order to filter unwanted variable assignments out of the    |
|zmedico  |bash environment, use a filter-bash-environment.py script that behaves       |
|         |similar to egrep -v except that it leaves bash here- documents intact.       |

|8893     |Use the sed -r option to enable extended regular expressions so that commonly|
|zmedico  |used characters like (, ), and + don't have to be escaped.                   |

|8894     |Bug #201848 - Mask ebuilds that do not define SLOT.                          |
|zmedico  |                                                                             |

|8895     |Bug #201848 - Make the ebuild command reject ebuilds that do not define SLOT.|
|zmedico  |                                                                             |

|8896     |Bug #201771 - Make unpack() detect common errors such as absolute paths that |
|zmedico  |start with ${DISTDIR} and die an appropriate error message. Thanks to grobian|
|         |for this patch.                                                              |

|8897     |Do the sanity check for bug #198398 as early as possible.                    |
|zmedico  |                                                                             |

|8901     |Make portdbapi.visible() mask ebuilds that do not define SLOT.               |
|zmedico  |(branches/2.1.2 r8900)                                                       |

|8904     |Use the BAD color class instead of hardcoded red.                            |
|zmedico  |                                                                             |

|8906     |Properly filter SANDBOX_ON from the environment. When sourcing               |
|zmedico  |${T}/environment it's a bit tricky because we have to temporarily disable    |
|         |sandbox since the SANDBOX_{DENY,READ,PREDICT,_WRITE} values we've just loaded|
|         |may be unusable (triggering in spurious sandbox violations) until we've      |
|         |merged them with our current values.                                         |

|8907     |Remove extra _ typo.                                                         |
|zmedico  |                                                                             |

|8909     |Allow FEATURES to persist between phases since the user might want to modify |
|zmedico  |it via bashrc to enable things like splitdebug and installsources for        |
|         |specific packages. They should be able to modify it in pre_pkg_setup() and   |
|         |have it persist all the way through the install phase. However, if FEATURES  |
|         |exist inside environment.bz2 then they should be overridden by current       |
|         |settings.                                                                    |

|8911     |Make sure that PORTAGE_SANDBOX_* variables can never be set by               |
|zmedico  |"${T}"/environment.                                                          |

|8913     |Bug #202126 - Replace an obsolete reference to `emerge --help config` with a |
|zmedico  |reference to the CONFIGURATION FILES section of emerge(1).                   |

|8915     |Disable the "QA Notice: Pre-stripped files" message when RESTRICT contains   |
|zmedico  |"strip" or "binchecks". This is needed at least for the glibc ebuild since it|
|         |calls prepallstrip directly, resulting in it being called twice. Thanks to   |
|         |loki_val for reporting.                                                      |

|8917     |Add --buildpkgonly to the options lists that exempt from slot collisions and |
|zmedico  |world file updates.                                                          |

|8920     |Add support for multi-line commit message input by using EOF as a delimiter  |
|zmedico  |(Ctrl-d) instead of a new line.                                              |

|8921     |Add support for getting a commit message using an editor defined by the      |
|zmedico  |EDITOR environment variable.                                                 |

|8923     |Prompt the user before letting the editor take over the screen so there is an|
|zmedico  |opportunity to review any QA warnings.                                       |

|8925     |Save QA output so that it can be conveniently displayed in $EDITOR while the |
|zmedico  |user creates a commit message. Otherwise, the user would not be able to see  |
|         |this output once the editor has taken over the screen. Output is done through|
|         |a formatter object where it is captured for later use. A file-like object    |
|         |that behaves something like the portage.output.colorize() function is used to|
|         |transfor style identifiers from the formatter framework into actual console  |
|         |codes.                                                                       |

|8927     |Replace hardcoded green, yellow, and red with GOOD, WARN, and BAD.           |
|zmedico  |                                                                             |

|8928     |Instead of all modes, only in commit mode save an extra copy of QA output for|
|zmedico  |display in $EDITOR.                                                          |

|8930     |Split out a format_qa_output() function to eliminate duplicate code.         |
|zmedico  |                                                                             |

|8932     |Fix punctuation and spelling. Thanks to Arfrever Frehtes Taifersar Arahesis  |
|zmedico  |<arfrever.fta@gmail.com>.                                                    |

|8934     |Move the reusable ConsoleStyleFile and StyleWriter classes into the ouput    |
|zmedico  |module.                                                                      |

|8935     |In "QA Notice: Precompiled python" messages, use sed to strip the leading    |
|zmedico  |${D} from file paths.                                                        |

|8937     |Fix setconfig.getSets() api breakage.                                        |
|zmedico  |                                                                             |

|8942     |Generalize the sed -> gsed wrapper script so that it's possible to create    |
|zmedico  |awk, make, and patch symlinks that behave analogously. These symlinks will   |
|         |make it unnecessary for default-bsd profiles to define profile.bashrc aliases|
|         |for these commands.                                                          |

|8943     |Fix typo: %% -> ##.                                                          |
|zmedico  |                                                                             |

|8944     |Bug #176467 - Filter out USE flags that aren't part of IUSE. Some flags are  |
|zmedico  |considered to be implicit members of IUSE: * Flags derived from ARCH * Flags |
|         |derived from USE_EXPAND_HIDDEN variables * Forced flags, such as those from  |
|         |{,package}use.force                                                          |

|8945     |Create a PORTAGE_IUSE variable containing an egrep pattern for use by the QA |
|zmedico  |check that's built into useq(). This allows the IUSE logic for this check to |
|         |be isolated in the python code.                                              |

|8949     |Include masked flags in PORTAGE_IUSE to avoid more false positives in the    |
|zmedico  |useq() IUSE check.                                                           |

|8951     |Only enable the PORTAGE_IUSE check during build time phases since that's the |
|zmedico  |only time it's valid for now.                                                |

|8953     |Display the merge list with blockers any time that there are blockers,       |
|zmedico  |instead of telling the user to try again with --pretend.                     |

|8955     |Make special build and bootstrap flags into implicit members of IUSE so that |
|zmedico  |stage builds will work again.                                                |

|8957     |Fix USE filtering code so that it doesn't rely on config.setcpv() calling    |
|zmedico  |config.regenerate().                                                         |

|8959     |Store filtered USE for config.environ() calls in a special attribute so that |
|zmedico  |the normal global USE is still available for things like emerge --info       |
|         |output.                                                                      |

|8961     |Trigger a config.regenerate() call inside setcpv() when the EBUILD_PHASE     |
|zmedico  |variable is defined. It's too expensive to do the regenerate() call every    |
|         |time. Do in when EBUILD_PHASE is defined since it's needed to create the     |
|         |filtered USE that environ() passes to the ebuild environment.                |

|8963     |Keep filtered USE in the PORTAGE_USE variable to keep it separate from the   |
|zmedico  |global USE that's shown by emerge --info.                                    |

|8965     |Bug #140180 - Ignore missing HOMEPAGE and LICENSE variables for new-style    |
|zmedico  |virtual packages.                                                            |

|8967     |Always add ARCH to USE without relying on it being listed in                 |
|zmedico  |PORTAGE_ARCHLIST.                                                            |

|8969     |Whitespace only: remove extra indentation.                                   |
|zmedico  |                                                                             |

|8971     |Bug #202748 - When merging a binary package, only clean up temp files on     |
|zmedico  |success. Otherwise, leave the temp files intact for debugging purposes.      |

|8973     |Make some adjustments so that it's possible to install binary packages       |
|zmedico  |without having a portage tree: * Make portdbapi.aux_get() return early by    |
|         |raising a KeyError if it detects that there is no portage tree. * Move the   |
|         |ARCH and USERLAND sanity check to the last moment in doebuild() and only     |
|         |require these variables if an existing environment (such as environment.bz2) |
|         |is unavailable. * Make the NewsManager constructor cope with a broken        |
|         |make.profile symlink.                                                        |

|8974     |Convert messages about missing portage tree to debug level warnings since    |
|zmedico  |quite often it's possible to function without a portage tree now.            |

|8975     |Make binarytree.populate() stop relying on having a categories list since it |
|zmedico  |may not be available if there is no portage tree.                            |

|8976     |Pass a valid phase into eerror so that it works.                             |
|zmedico  |                                                                             |

|8978     |Fix a type: eclasses -> eclass.                                              |
|zmedico  |                                                                             |

|8980     |Enable emerge search actions for binary packages when there is no portage    |
|zmedico  |tree available.                                                              |

|8982     |Make vartree.cpv_all() stop relying on having a categories list since it may |
|zmedico  |not be available if there is no portage tree.                                |

|8985     |Fix binarytree._update_pkgindex_header() so that it can cope with a missing  |
|zmedico  |profile.                                                                     |

|8988     |Make dep_zapdeps() fall back to installed packages in it's availability test |
|zmedico  |in cases where the package does not appear to be masked. This solves dep     |
|         |selection preference issues when working without a portage tree.             |

|8990     |Fix portdbapi.cp_list() so that it can cope with a missing profile.          |
|zmedico  |                                                                             |

|8992     |For simplicity and consistency, always use a regular expression for category |
|zmedico  |validation instead of using a list.                                          |

|8993     |Filter out some non-category directories in portdbapi.cp_all().              |
|zmedico  |                                                                             |

|8997     |Fix a typo in the _non_category_dirs regex.                                  |
|zmedico  |                                                                             |

|9002     |Hardcode #!/bin/bash for consistency with other scripts.                     |
|zmedico  |                                                                             |

|9004     |Bug #202566 - Move the 'global portage' statement to avoid "SyntaxWarning:   |
|zmedico  |name 'portage' is assigned to before global declaration" messages produced by|
|         |earlier python-2.4.                                                          |

|9005     |Fix a reference to an undefined "mykey" variable.                            |
|zmedico  |                                                                             |

|9006     |Slightly improved the masked package check inside dep_zapdeps().             |
|zmedico  |                                                                             |

|9008     |Add "metadata" and "licenses" to _non_category_dirs.                         |
|zmedico  |                                                                             |

|9010     |Use a regex to validate package directory names in portdbapi.cp_list() and   |
|zmedico  |also simplify the catagory regex a bit.                                      |

|9012     |Use regex category validation in binarytree.populate().                      |
|zmedico  |                                                                             |

|9013     |Fix references to dbapi._category_re.                                        |
|zmedico  |                                                                             |

|9015     |Tweak profile validation and warning logic a bit.                            |
|zmedico  |                                                                             |

|9016     |In portage.spawn(), make the default fd_pipes value get file descriptors from|
|zmedico  |sys.std{in,out,err} so that they can be overridden.                          |

|9018     |In portage.process.spawn(), make the default fd_pipes value get file         |
|zmedico  |descriptors from sys.std{in,out,err} so that they can be overridden.         |

|9020     |Fix xmatch "match-all" typo.                                                 |
|zmedico  |                                                                             |

|9023     |Eliminate redundant "notadded" error filtering.                              |
|zmedico  |                                                                             |

|9025     |Make the "test" flag that's enabled by FEATURES=test into an implicit iuse   |
|zmedico  |member.                                                                      |

|9027     |Implement emerge --search support for installed packages, so it works even   |
|zmedico  |without a portage tree or binary packages.                                   |

|9028     |Don't show "Size of files: 0 kB" in emerge --search output for installed     |
|zmedico  |packages that have no available ebuild in the tree.                          |

|9029     |Implement binary package visibility filtering for emerge --search.           |
|zmedico  |                                                                             |

|9031     |Make vardbapi cache DESCRIPTION and HOMEPAGE in order to optimize emerge     |
|zmedico  |--searchdesc.                                                                |

|9033     |Enhance the portageq match command to list all installed packages when given |
|zmedico  |an empty string.                                                             |

|9034     |Typo: remove bogus argument.                                                 |
|zmedico  |                                                                             |

|9035     |Implement a `portageq contents ` command that lists all the files that are   |
|zmedico  |installed for a given package, with one file listed on each line.            |

|9038     |Add support for --usepkg and --usepkgonly options together with emerge       |
|zmedico  |--search.                                                                    |

|9046     |Remove redundant find_binary import.                                         |
|zmedico  |                                                                             |

|9050     |- small UI cleanups. *should* not cause problems with lack of missing        |
|solar    |newlines.                                                                    |

|9051     |Bug #203239 - With FEATURES=noauto, always source ${EBUILD}. This will load  |
|zmedico  |the ${T}/environment file if available and then source ${EBUILD} to overwrite|
|         |any functions that have changed.                                             |

|9052     |Bug #203090 - Do not trust the global counter file that can lead to invalid  |
|zmedico  |COUNTER generation.                                                          |

|9053     |Fix "Initializing counter" message to show the correct value.                |
|zmedico  |                                                                             |

|9054     |In getconfig(), pass the infile attribute into the shlex constructor so that |
|zmedico  |shlex.sourcehook() properly joins relative paths.                            |

|9055     |Fix sync_local() to return 0 when a appropriate. Thanks to Alon Bar-Lev"     |
|zmedico  |<alonbl@gentoo.org>                                                          |

|9056     |Fix broken handling of the tuple that's returned from verify_all(). Thanks to|
|zmedico  |Betelgeuse.                                                                  |

|9059     |Bug #201498 - Use desktop-file-validate to validate *.desktop files inside   |
|zmedico  |${FILESDIR} and generate a "desktop.invalid" qa warning if an error is       |
|         |detected. Thanks to Betelgeuse for the initial patch.                        |

|9060     |Minor code readablity enhancements: * Use relative_path and full_path        |
|zmedico  |variables for files being checked instead of spreading code like             |
|         |x+"/files/"+y all over the place. * Use stat.S_IMODE with octal 0111 instead |
|         |of hex 0x0248 in the file.executable checks.                                 |

|9061     |Bug #203323 - Fix the FEATURES=sfperms code so that it doesn't chmod g-r on  |
|zmedico  |binaries that are both setuid and setgid. In that case, just chmod o-r.      |

|9062     |Always make sure that the depend phase triggers a source ${EBUILD} call, even|
|zmedico  |if "${T}"/environment happens to exist for some reason.                      |

|9064     |Fixes for logic related to FEATURES=test to USE=test mapping: * Add          |
|zmedico  |EBUILD_FORCE_TEST to the environment whitelist and filter it from the saved  |
|         |environment in save_ebuild_env(). * Tweak logic inside the ebuild command and|
|         |config.regenerate() so that EBUILD_FORCE_TEST works even in odd cases like   |
|         |when USE=test is masked. * Only make FEATURES=test map to USE=test when      |
|         |"test" is actually in IUSE. * Remove USE=test from the set of implicit IUSE  |
|         |so that useq() calls in ebuild.sh properly generate a QA Notice when "test"  |
|         |is missing from IUSE.                                                        |

|9065     |Show the EBUILD_FORCE_TEST "Forcing test" message even when "test" is not in |
|zmedico  |IUSE.                                                                        |

|9066     |In action_regen(), use writemsg() to send error messages to stderr.          |
|zmedico  |                                                                             |

|9078     |Just ignore it when the global counter file does not match the highest       |
|zmedico  |installed COUNTER since it's normal for them to differ in some cases. For    |
|         |example, the global counter file will contain a higher value if the user     |
|         |merges a package and then immediately unmerges it (unmerge does not update   |
|         |the global counter file, but merge does).                                    |

|9080     |Make dep_expand() stop relying on having a categories list: * Create and use |
|zmedico  |a dbapi.categories property that is automatically generated from             |
|         |dbapi.cp_all(). * Make mutable dbapi instances delete the invalidate the     |
|         |cached categories when they need to be regenerated.                          |

|9081     |Make key_expand() use dbapi.categories.                                      |
|zmedico  |                                                                             |

|9083     |Make the FEATURES=sfperms loops safe for whitespace in paths by using find   |
|zmedico  |-print0 | while read -d $'\0'.                                               |

|9085     |Bug #202697 - Add / to the default initial SANDBOX_READ in order to avoid a  |
|zmedico  |situation where attempts to read arbitrary files trigger sandbox violations. |

|9087     |Bug #121584 - Make the automatic USERLAND detection code recognize           |
|zmedico  |GNU/kFreeBSD.                                                                |

|9089     |Make the ARCH and USERLAND sanity check use the autodetected USERLAND from   |
|zmedico  |the portage.data module if necessary.                                        |

|9090     |Make doebuild() check XARGS together with ARCH and USERLAND.                 |
|zmedico  |                                                                             |

|9092     |* Initialize dbapi._categories = None so that we can compare with None       |
|zmedico  |instead of using hasattr. * Remove unwanted self._categories initialization  |
|         |from the portdbapi constructor.                                              |

|9094     |Add support for showing binary package file sizes in emerge --search output. |
|zmedico  |                                                                             |

|9096     |Move XARGS initialization from portage.data to isolated-functions.sh.        |
|zmedico  |                                                                             |

|9097     |Move XARGS initialization from portage.data to isolated-functions.sh.        |
|zmedico  |                                                                             |

|9099     |Remove redundant lchown() compatibility code since the getattr(os, "lchown", |
|zmedico  |None) call already handles it.                                               |

|9100     |Simplify the userland detection code in portage.data and add a bash version  |
|zmedico  |of it to isolated-functions.sh.                                              |

|9101     |Add back support for silent definition of the dummy lchown() function when   |
|zmedico  |ostype == Darwin.                                                            |

|9103     |Remove redundant USERLAND sanity check code from doebuild() since it's       |
|zmedico  |handled in isolated-functions.sh now.                                        |

|9105     |Make the global counter file correspond to the total number of installation  |
|zmedico  |actions that have occurred in the history of this package database.          |

|9107     |Rely on USERLAND since it's automatically generated by isolated-functions.sh |
|zmedico  |when necessary.                                                              |

|9109     |Document that docinto works for dohtml.                                      |
|zmedico  |                                                                             |

|9111     |Make the ecompressdir vecho output show a leading / on the directory path.   |
|zmedico  |Thanks to armin76.                                                           |

|9112     |Fix handling of leading / charactes some more.                               |
|zmedico  |                                                                             |

|9114     |Add PKGDIR to the config.environ() whitelist so that people's bashrc's don't |
|zmedico  |break.                                                                       |

|9116     |Fix broken Darwin USERLAND detection.                                        |
|zmedico  |                                                                             |

|9117     |Fix USERLAND references to handle Darwin like BSD.                           |
|zmedico  |                                                                             |

|9118     |As suggested by grobian, treat Darwin just like USERLAND=gnu since they seem |
|zmedico  |to be switching commands to gnu anyway.                                      |

|9126     |Fix config.setcpv() to properly call config.regenerate() in cases when USE   |
|zmedico  |needs to be regenerated due to FEATURES=test to USE=test mapping.            |

|9128     |When searching for "test" in IUSE, account for IUSE defaults.                |
|zmedico  |                                                                             |

|9135     |Bug #204020 - Make grabfile() properly raise PermissionDenied when           |
|zmedico  |appropriate instead of silently ignoring permission errors.                  |

|9137     |Recognize export statements when filtering the environment. This is needed   |
|zmedico  |for compatibility with environment.bz2 files generated by paludis.           |

|9140     |Send eerror and ewarn messages to stderr. This is important in case somebody |
|zmedico  |calls portageq inside a global scope command substitution. The output needs  |
|         |to go to stderr so that the die message from the subshell is visible.        |

|9144     |per bug 204468, remove old check from repoman (all ebuilds in gentoo-x86 are |
|WarnerBro|migrated).                                                                   |

|9145     |Filter PATH along with FEATURES when loading environment.bz2.                |
|zmedico  |                                                                             |

|9147     |Make filter_readonly_variables() filter PATH in any case since we never want |
|zmedico  |to save of reload it.                                                        |

|9151     |Bug #204651 - Make repoman respect NOCOLOR=true.                             |
|zmedico  |                                                                             |

|9155     |Bug #204753 - Add "distfiles" and "packages" to the list of non-category     |
|zmedico  |directories.                                                                 |

|9157     |When spawing the "depend" phase, use file descriptors from sys.std* streams. |
|zmedico  |                                                                             |

|9158     |After loading the environment, make sure the color variables are in sync with|
|zmedico  |the current NOCOLOR setting.                                                 |

|9160     |Bug #162542 - When dropping privileges for FEATURES=userpriv, automatically  |
|zmedico  |detect permission problems with CCACHE_DIR and recursively adjust permissions|
|         |only when necessary.                                                         |

|9162     |Bug#204668 - Fix WORKDIR quoting in econf() when updating config.guess and   |
|zmedico  |config.sub.                                                                  |

|9163     |Bug #204425 - Remove --delete-after from the default PORTAGE_RSYNC_OPTS. This|
|zmedico  |allows the rsync program to choose the preferred --delete algorithm, or the  |
|         |user can choose one via PORTAGE_RSYNC_EXTRA_OPTS.                            |

|9164     |Make sure that portdb.findname() returns the correct ebuild.                 |
|zmedico  |                                                                             |

|9165     |Fix the "Appending to PORTDIR_OVERLAY..." feature which was broken by the    |
|zmedico  |previous commit.                                                             |

|9166     |Bug #203316 - Fix isvalidatom() to properly detect invalid operators used    |
|zmedico  |together with slot atoms. Thanks to Arfrever Frehtes Taifersar Arahesis      |
|         |<Arfrever.FTA@GMail.Com> for the patch.                                      |

|9167     |Bug #203887 - Implement RESTRICT=installsources for binaries that are not    |
|zmedico  |compatible with debugedit.                                                   |

|9176     |Bug #162450 - Try to avoid having so many bugs marked UPSTREAM by encouraging|
|zmedico  |users to report 'poor programming practices' QA issues upstream and show them|
|         |the $HOMEPAGE for convenience.                                               |

|9177     |Add a DESCRIPTION.toolong warning for when the DESCRIPTION line is over 80   |
|zmedico  |characters long. Thanks to Betelgeuse for the patch.                         |

|9178     |* Make pkgcmp() pass the ebuild revision directly into vercmp() since there  |
|zmedico  |is code there to handle it already. This eliminates some redundant revision  |
|         |comparison code. Thanks to peper for the patch. * Add some vercmp() test     |
|         |cases for comparison of ebuild revisions.                                    |

|9179     |Add a new "ebuild.autotools" check for when ebuilds call autotools directly  |
|zmedico  |instead of using autotools.eclass. Thanks to Betelgeuse for the initial      |
|         |patch.                                                                       |

|9184     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|9186     |Adjust the max DESCRIPTION.toolong length to 100 characters so that it's not |
|zmedico  |too small and only about 3% of packages will trigger it.                     |

|9188     |Bug #205318 - Handle errno.ENOTDIR thrown from the lstat call inside         |
|zmedico  |dblink._security_check().                                                    |

|9190     |Bug #203887 - Make repoman recognize RESTRICT="installsources".              |
|zmedico  |                                                                             |

|9192     |Replace hardcoded value with max_desc_len.                                   |
|zmedico  |                                                                             |

|9194     |In preprocess_ebuild_env(), move a filter_readonly_variables call out of a   |
|zmedico  |subshell since FreeBSD and prefix users have reported apparent corruption of |
|         |the PATH environment variable that triggers calls to the wrong version of sed|
|         |(one that does not support the -r option). An example of what users have     |
|         |observed: >>> Source compiled. sed: illegal option -- r usage: sed script    |
|         |[-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... |
|         |[-f script_file] ... [file ...] Traceback (most recent call last): File      |
|         |"/usr/lib/portage/bin/filter-bash-environment.py", line 51, in               |
|         |compile_egrep_pattern(args[0]), file_in, file_out) File                      |
|         |"/usr/lib/portage/bin/filter-bash-environment.py", line 34, in               |
|         |filter_bash_environment file_out.write(line) IOError: [Errno 32] Broken pipe |

|9195     |Remove redundant return statement.                                           |
|zmedico  |                                                                             |

|9197     |Add some notes about enhancements related to binary package support that's   |
|zmedico  |now in 2.1.4.                                                                |

|9200     |style fixes (imports), add support for --version (bug 138159)                |
|WarnerBro|                                                                             |

|9201     |fix typo in emerge-webrsync from r9118                                       |
|WarnerBro|                                                                             |

|9206     |Check for quoted ${A}. Thanks to maekke for this patch.                      |
|zmedico  |                                                                             |

|9209     |Add a note that PORTDIR is a repository of software and that users should not|
|WarnerBro|add random directories in it.                                                |

|9216     |Replace the current diefunc() and die alias with a single die() function. The|
|zmedico  |previous arguments to diefunc() weren't used anyway. The result is that the  |
|         |die message looks better because it doesn't show the alias and all of it's   |
|         |arguments which are totally irrelevant. (branches/prefix r9212)              |

|9217     |We need to implement diefunc() since environment.bz2 files contain calls to  |
|zmedico  |it (due to alias expansion).                                                 |

|9220     |Bug #206772 - Enable bashrc once again for the clean phase.                  |
|zmedico  |                                                                             |

|9221     |Move random functions out of repoman and into utilties.py                    |
|WarnerBro|                                                                             |

|9222     |Restore desktop.invalid as a warning; was an intergration error              |
|WarnerBro|                                                                             |

|9225     |import ordering, prevent errors from mucking up module namespace in checks,  |
|WarnerBro|fix typo from last commit, rename 'm' to autotools_match, fix spacing between|
|         |classes                                                                      |

|9226     |Pull more functions out of repoman proper and into repoman.utilities         |
|WarnerBro|                                                                             |

|9227     |Pull more functions out of repoman proper and into repoman.utilities, correct|
|WarnerBro|a typo, clean up imports                                                     |

|9230     |use strip(os.sep) on paths prior to os.path.join (branches/prefix r9228)     |
|zmedico  |                                                                             |

|9235     |- Remove ebuild.autotools repoman check since it produces lots of false      |
|zmedico  |positives (bug #207104) and its hard to parse bash - Use QA_INTERCEPTORS in  |
|         |ebuild.sh to implement a runtime 'QA Notice' when autotools is called        |
|         |directly                                                                     |

|9236     |Remove the last traces of the ebuild.autotools check.                        |
|zmedico  |                                                                             |

|9238     |* Bug #205966 - Don't show binhost password when displaying the uri. * Fix a |
|zmedico  |cpv variable name typo.                                                      |

|9241     |Add 'local' to the list of non_category_dirs since it's commonly used for    |
|zmedico  |layman overlays.                                                             |

|9249     |Make the autotools.eclass functions exempt from the autotools QA Notice.     |
|zmedico  |                                                                             |

|9252     |Unconditionally disable manifest1 compatibility since it's been dropped from |
|zmedico  |the main tree and nobody needs it anymore.                                   |

|9254     |Disable manifest1_compat for ebuild --force digest.                          |
|zmedico  |                                                                             |

|9256     |Bug #205718 - Fix quoting of ${INSTALL_MASK} where appropriate. Thanks to Ed |
|zmedico  |Catmur <ed@catmur.co.uk> for this patch.                                     |

|9258     |Make the manifest1_compat constructor parameter default to False to prevent  |
|zmedico  |potential interference from stale old digest files in overlays.              |

|9260     |Remove the manifest1 digest filter from PORTAGE_RSYNC_OPTS since it's no     |
|zmedico  |longer needed.                                                               |

|9262     |Remove the manifest1 digest file removal code since it's no longer needed.   |
|zmedico  |                                                                             |

|9264     |portage-2.1.4.1 ================================== * If you have an overlay  |
|zmedico  |then you should remove **/files/digest-* files (Manifest1) because they are  |
|         |no longer supported. * If earlier versions of portage will be used to        |
|         |generate manifests for your overlay then you should add a file named         |
|         |manifest1_obsolete to the root of the repository in order to disable         |
|         |generation of the Manifest1 digest files.                                    |

|9273     |Use local time for elog summaries                                            |
|genone   |                                                                             |

|9275     |don't record internal providers in NEEDED records as they are pointless for  |
|genone   |all useful applications in portage and complicate them instead (e.g. bug     |
|         |#205531)                                                                     |

|9276     |display errors that occured during package set initalization                 |
|genone   |                                                                             |

|9277     |don't try to copy manually removed libraries (bug #208946)                   |
|genone   |                                                                             |

|9278     |Make qa_source and qa_call save the return value and return it. Thanks to    |
|zmedico  |igli for suggesting.                                                         |

|9279     |For the useq() IUSE qa check, use [[ $u =~ $PORTAGE_IUSE ]] instead of egrep |
|zmedico  |since apparently it's compatible in this case. Thanks to igli for this.      |

|9281     |Bug #155993 - Update environment.bz2 after postinst in case installation     |
|zmedico  |phases need to pass some variables to uninstallation phases.                 |

|9283     |Bug #209144 - For emerge --sync, don't return 0 when the server is out of    |
|zmedico  |date.                                                                        |

|9285     |Bug #208782 - Consistently use double quotes rather than mixining in single  |
|zmedico  |quotes.                                                                      |

|9287     |Bug #208743 - Clarify dosed docs to indicate that sed is performed in place  |
|zmedico  |of a file in ${D}.                                                           |

|9289     |Bug #208708 - Fix warnings for system or world packages that are masked.     |
|zmedico  |                                                                             |

|9290     |Add DISTDIR to the EbuildQuote.var_names. Thanks to Betelgeuse.              |
|zmedico  |                                                                             |

|9292     |Don't show unmasked packages (currently installed packages) in the masking   |
|zmedico  |display.                                                                     |

|9293     |Bug #208708 - Fix masked package display some more: - Warn if all matching   |
|zmedico  |ebuilds are masked or the installed package itself is masked. - Do not warn  |
|         |if there are simply no matching ebuilds since that would be annoying in some |
|         |cases.                                                                       |

|9299     |Fix some broken variable references found by pyflakes.                       |
|zmedico  |                                                                             |

|9301     |Bug #208708 - Show informative warning messages for installed packages that  |
|zmedico  |are masked.                                                                  |

|9307     |removing obsolete cruft                                                      |
|genone   |                                                                             |

|9308     |new script for creating release tarballs                                     |
|genone   |                                                                             |

|9309     |minor documentation updates                                                  |
|genone   |                                                                             |

|9310     |more minor doc updates regarding package sets                                |
|genone   |                                                                             |

|9311     |add preserve-libs info to make.conf.example                                  |
|genone   |                                                                             |

|9312     |add tagging capabilities and cli options                                     |
|genone   |                                                                             |

|9313     |Bug #208743 - Update dosed docs to indicate that "s:${D}::g" is used as the  |
|zmedico  |default expression if none other is given.                                   |

|9316     |fix nasty typo                                                               |
|genone   |                                                                             |

|9318     |Fix get_mask_info() to properly pass the "installed" attribute into the      |
|zmedico  |Package constructor.                                                         |

|9320     |Fix the exitcode logic for bug #209144 so that when the server is out of date|
|zmedico  |it's not interpreted like an actual rsync exitcode (to avoid a misleading    |
|         |exitcode interpretation message).                                            |

|9321     |Bug #209144 - For emerge --sync, show an informative error and don't return 1|
|zmedico  |when PORTAGE_RSYNC_RETRIES is exceeded.                                      |

|9324     |Fix CHOST masking logic wrt installed packages so that it's consistent       |
|zmedico  |between visible() and get_masking_status().                                  |

|9326     |Fix rejects.                                                                 |
|zmedico  |                                                                             |

|9327     |Remove the killparent() function and associated SIGINT trap since this should|
|zmedico  |already be handled on the python side and it won't work with dropped         |
|         |privileges anyway.                                                           |

|9328     |fix more trivial issues breaking repoman                                     |
|genone   |                                                                             |

|9330     |Bug #209538 - Disable annoying "masked by keyword" warnings for installed    |
|zmedico  |packages. We can assume that if the user accepted the keywords at merge time |
|         |then they never want to be bothered again.                                   |

|9332     |Add bits about namespace pollution, add whitespacing comments after looking  |
|WarnerBro|at some new code I wrote and realizing I was not following the current style.|
|         |Fix typos                                                                    |

|9333     |Bug #209768 - Fix --search "Size of files:" handling so that it properly     |
|zmedico  |shows the "Unknown (missing digest)" message instead of a traceback.         |

|9336     |Fix package selection logic in order to prevent downgrade in cases when      |
|zmedico  |selective is True and the currently installed version does not have a        |
|         |matching ebuild in the tree. For example, this type of situation is likely to|
|         |occur if the user somehow obtains a binary package that has a newer version  |
|         |than any of the ebuilds in the portage tree. If package maintainers want to  |
|         |encourage a downgrade in a case like this then they should use package.mask  |
|         |so that the user receives a warning about the installed package being masked.|

|9337     |Fix --newuse reinstall logic broken by the previous commit.                  |
|zmedico  |                                                                             |

|9338     |Update the DepPriority documentation so that the table shows all the         |
|zmedico  |currently supported priorities and categories.                               |

|9339     |Bug #201045 - Use a topological sort to create an unmerge order such that    |
|zmedico  |each package is unmerged before it's dependencies. This is necessary to avoid|
|         |breaking things that may need to run during pkg_prerm or pkg_postrm phases.  |

|9340     |Make depclean code filter out blocker atoms where appropriate.               |
|zmedico  |                                                                             |

|9341     |Fix depclean breakage so that it doesn't clean some packages that shouldn't  |
|zmedico  |be cleaned.                                                                  |

|9342     |Add missing % x (bug #208946, comment #2).                                   |
|zmedico  |                                                                             |

|9343     |Fix reversed order of parent/child parameders to digraph.add().              |
|zmedico  |                                                                             |

|9344     |Remove IUSE.invalid from qawarnings since there's no reason for it not to be |
|zmedico  |fatal. Thanks to Betelgeuse.                                                 |

|9345     |In the action_depclean() topological sort, only add packages to the graph if |
|zmedico  |they are being removed.                                                      |

|9346     |Bug #201045 - Make unmerge() preserve the unmerge order of packages given to |
|zmedico  |it by the user or depclean.                                                  |

|9347     |Make sure all packages to be pruned or depcleaned are added to the graph,    |
|zmedico  |even when they don't have any dependencies.                                  |

|9348     |Now that unmerge() preserves the order that it's given, if two different     |
|zmedico  |slots of the same package are being unmerged then they are not necessarily   |
|         |unmerged consecutively. To make the display less confusing, never display    |
|         |packages as "protected" or "omitted" when they actually belong to the overall|
|         |set of "selected" packages to be unmerged.                                   |

|9349     |Fix unmerge() breakage from due to pkgmap being changed from a dict to a     |
|zmedico  |list.                                                                        |

|9350     |Fix the --depclean/--prune code to use visible() for visibility checks       |
|zmedico  |instead of the old portdbapi hack.                                           |

|9351     |Make LibraryConsumerSet.mapPathsToAtoms() produce slot atoms so that atoms   |
|zmedico  |aren't restricted to the currently installed version, making upgrades        |
|         |possible.                                                                    |

|9352     |Revert back to some known working code from the 2.1.2 branch.                |
|zmedico  |                                                                             |

|9353     |Use parse_use_local_desc() from the repoman.utilities module.                |
|zmedico  |                                                                             |

|9354     |Make PreservedLibsRegistry.store() use atomic_ofstream so that we don't lose |
|zmedico  |the whole registry if an error such as 'out of space' occurs.                |

|9355     |Bug #210372 - Fix suidctl.conf parser to look for paths with a leading slash.|
|zmedico  |                                                                             |

|9357     |Bug #210449 - Reset exeinto(), docinto(), insinto(), and into() state        |
|zmedico  |variables in case the user is running the install phase multiple times       |
|         |consecutively via the ebuild command.                                        |

|9358     |- outsource logic for boolean options into a central function - enable       |
|genone   |support for greedy behavior in StaticFileSet                                 |

|9359     |For greedy slot behavior, in addition to any installed slots also try to pull|
|zmedico  |in the latest new slot that may be available.                                |

|9360     |When showing an unsatisfied dep, never include installed packages.           |
|zmedico  |                                                                             |

|9361     |Make stack_dicts() treat an empty variable assignment just like a non-empty  |
|zmedico  |assignment. This allows the profile to set and empty variable in             |
|         |make.defaults and have it override a non-empty value as one would expect.    |

|9362     |In the circular dependency display, drop PDEPEND (aka MEDIUM_SOFT) from the  |
|zmedico  |graph so there's less noise.                                                 |

|9363     |Optimize dblink.isowner() to use fewer stat calls by doing a basename        |
|zmedico  |comparison to try and eliminate the file before resorting to inode           |
|         |comparison. This speeds up the `portageq owners` command as well as the      |
|         |search that is done when collision-protect finds a collision.                |

|9364     |Make LibraryPackageMap.update() sort the contents of the library_consumers   |
|zmedico  |cache so that it's nice and orderly.                                         |

|9365     |Bug #211067 - Make the "portdir_overlay" and "mydir" variables contain paths |
|zmedico  |that are consistent wrt eachother regardless of any path irregularities that |
|         |can be induced by symlinks. Consistency is achieved by regenerating one of   |
|         |the paths to ensure that both paths have the exact same mapping between      |
|         |inodes and paths. This consistency ensures that the path manipulations used  |
|         |to calculate "repolevel" will work as intended.                              |

|9367     |Add support for file paths as arguments to emerge. If an argument starts with|
|zmedico  |/ and it's not recognized as a tbz2 or ebuild then we try to find and owner  |
|         |in the vdb and generate a slot atom from it. Thanks to solar for the         |
|         |suggestion.                                                                  |

|9368     |Revert portdbapi category auto-detection code since it's not really needed   |
|zmedico  |and can cause problems if we need to add new non-category directories in the |
|         |future. We only really need the category auto-detection for bindbapi and     |
|         |vardbapi anyway.                                                             |

|9369     |cleanup main option parsing                                                  |
|SpankMan |                                                                             |

|9370     |tighten up output from script                                                |
|SpankMan |                                                                             |

|9371     |add support for lzma/gz snapshots                                            |
|SpankMan |                                                                             |

|9372     |only try to fetch compression schemes which the host supports                |
|SpankMan |                                                                             |

|9377     |Various repoman fixes, plus a weird lockfile tracekback in news.             |
|WarnerBro|                                                                             |

|9381     |Double import, thanks grobian :)                                             |
|WarnerBro|                                                                             |

|9384     |Bug #211365 - Use catpkgsplit() instead of pkgsplit() on the cpv in the      |
|zmedico  |dblink constructor since otherwise weird categories containing numbers can   |
|         |make pkgsplit() return None (likely related to version regex handling).      |
|         |(branches/2.1.2 r9383)                                                       |

|9385     |For depclean/prune unmerge order, if there are no dependencies between       |
|zmedico  |package then just unmerge them alphabetically.                               |

|9387     |Bug #211554 - Replace references to config["USE"] with references to         |
|zmedico  |config["PORTAGE_USE"] (which is filtered for intersection with IUSE) so that |
|         |dependency calculations at installation time are consistent with those at    |
|         |depclean time.                                                               |

|9388     |Don't filter USE flags in emerge --info output.                              |
|zmedico  |                                                                             |

|9389     |Bug #211294 - Make repoman ignore profiles labeled with anything other than  |
|zmedico  |"stable" or "dev" in profiles.desc so that we can extend it with new labels  |
|         |such as "exp".                                                               |

|9391     |Revert r9387 (the fix for bug #211554) until I figure out why it's messing up|
|zmedico  |USE calculations for world updates.                                          |

|9392     |Bug #211554 - Replace references to config["USE"] with references to         |
|zmedico  |config["PORTAGE_USE"] (which is filtered for intersection with IUSE) so that |
|         |dependency calculations at installation time are consistent with those at    |
|         |depclean time.                                                               |

|9393     |Fix some references to config["PORTAGE_USE"] to prevent potential KeyErrors. |
|zmedico  |                                                                             |

|9394     |separate different messages with newlines in post-emerge output              |
|genone   |                                                                             |

|9395     |remove obsolete information from preserve-libs post-emerge message           |
|genone   |                                                                             |

|9397     |supress stupid line echo in deprecation notices                              |
|genone   |                                                                             |

|9398     |remove code for manifest1 support                                            |
|genone   |                                                                             |

|9399     |In the suidctl code, move the addwrite call out of the loop. Thanks to       |
|zmedico  |ferringb.                                                                    |

|9400     |Make 'import portage' statements more tolerant to broken source statements in|
|zmedico  |make.conf since exceptions thrown during 'import portage' statements can     |
|         |practically render the api unusable for api consumers. Thanks to lxnay for   |
|         |the suggestion.                                                              |

|9402     |Bug #211949 - Make filter_readonly_variables() remove any variables with     |
|zmedico  |names containing a hyphen since bash does not allow them.                    |

|9406     |undo registrations of preserved libraries if the merge fails, bug #210501    |
|genone   |                                                                             |

|9407     |ensure that global variables are used to prevent confusing issues like bug   |
|genone   |#212055                                                                      |

|9408     |stack use flags from package.use for multiple matching atoms (bug #200385)   |
|genone   |                                                                             |

|9409     |remove FEATURES=livecvsportage                                               |
|genone   |                                                                             |

|9410     |apply r9408 also for profile-base package.*use* files                        |
|genone   |                                                                             |

|9411     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|9412     |change stacking order of r9408 so more specific atoms override generic ones  |
|genone   |                                                                             |

|9413     |fix indentation screwup from r9412                                           |
|genone   |                                                                             |

|9414     |one more fix to restore correct order for usemask/useforce                   |
|genone   |                                                                             |

|9415     |Make profile stacking of default USE and package.* slightly more efficient by|
|zmedico  |skipping list.insert() calls when possible.                                  |

|9416     |Bug #211949 - As suggested by vapier, tighten the variable filter to also    |
|zmedico  |exclude variable names that begin with a digit or that contain any           |
|         |non-alphanumeric characters that are not be supported by bash.               |

|9418     |Quote the file path and uri inside FETCHCOMMAND and RESUMECOMMAND. Thanks to |
|zmedico  |igli for suggesting.                                                         |

|9419     |Fix the regex for bug #211949 so that it correctly matches variable names    |
|zmedico  |that contain more than one non-alphanumeric character.                       |

|9421     |Bug #211949 - Tweak the regex so that a leading whitespace character cannot  |
|zmedico  |match the required non-alphanumeric group.                                   |

|9423     |Buf #210372 - Fix FEATURES=suidctl so that it really works again.            |
|zmedico  |                                                                             |

|9425     |check available space in DISTDIR before trying to fetch/copy a file, bug     |
|genone   |#212152                                                                      |

|9426     |don't list files as being merged when they are ignored due to confmem, bug   |
|genone   |#212080                                                                      |

|9427     |fix message on ValueError to not sound like crap                             |
|genone   |                                                                             |

|9428     |tell rpmbuild to clean it's working files after completion, bug #97776       |
|genone   |                                                                             |

|9429     |Bug #211949 - Fix the regex so that it won't match the = character (equals   |
|zmedico  |sign).                                                                       |

|9431     |Add support for idendification of function definitions since it's needed in  |
|zmedico  |some cases in order to prevent some odd function contents from being         |
|         |mistakenly identified as invalid variable assignments. For example, this line|
|         |from _gcc-specs-directive_raw() is commonly found in environment.bz2 files:  |
|         |$1=="*"directive":" { pspec=spec; spec=""; outside=0; next }                 |

|9432     |Bug #211949 - Temporarily revert back to a less strict regex in order to     |
|zmedico  |avoid false positives with multi-line variable definitions that can be       |
|         |produced by the 'export' builtin.                                            |

|9433     |Tighten the funct_start_re so that it doesn't match leading whitespace since |
|zmedico  |that's not needed.                                                           |

|9434     |Fix func_start_re so that it requires at least one alphanumeric character.   |
|zmedico  |                                                                             |

|9435     |Remove redundant CUSTOM_PROFILE_PATH from the PROFILE_PATHS variable so that |
|zmedico  |/etc/portage/profile/profile.bashrc will only be sourced once if it exists.  |

|9436     |Implement variable assignment handling in python so that we can eventually   |
|zmedico  |make it more flexible and robust.                                            |

|9437     |Update description to reflect the new meaning of the PATTERN argument.       |
|zmedico  |                                                                             |

|9438     |TODO: Move variable name validation and declare -r filtering into            |
|zmedico  |filter-bash-environment.py.                                                  |

|9439     |As requested by wolf31o2, use the ROOT setting from make.conf as long as it's|
|zmedico  |not overridden by the calling environment.                                   |

|9440     |Handle multi-line quoted variable assignments.                               |
|zmedico  |                                                                             |

|9441     |Bug #211949 - Tighten the variable name filter to exclude any variables with |
|zmedico  |names containing any non-alphanumeric characters.                            |

|9442     |Fix have_end_quote() to compare the quote against the correct group.         |
|zmedico  |                                                                             |

|9443     |Pass a space-separated list of variables into filter-bash-environment.py and |
|zmedico  |generate the final regex on the python side instead of in bash. Also,        |
|         |properly anchor the regex so that it actually works.                         |

|9444     |Update the description to reflect the new meaning of PATTERN.                |
|zmedico  |                                                                             |

|9445     |Move the variable name validation regexes (for bug 211949) into              |
|zmedico  |filter-bash-environment.py instead of passing them in from bash.             |

|9446     |Implement the sed-based declare -r filter in python.                         |
|zmedico  |                                                                             |

|9447     |Remove egrep syntax emulation since it's not really needed.                  |
|zmedico  |                                                                             |

|9448     |Use os.environ["SANDBOX_ON"] = "0" to make portageq exempt from sandbox for  |
|zmedico  |things like writing metadata cache. Thanks to ferringb for the suggestion.   |

|9451     |Make --prune and --depclean operate with missing dependencies when only asked|
|zmedico  |to remove specific packages since it's relatively safe in this case.         |

|9452     |Convert PackageIndex.packages from a dict to a list so that in the future it |
|zmedico  |will be possible to support multiple packages with the same cpv.             |

|9453     |Make readpkgindex() and writepkgindex() private methods of PackageIndex.     |
|zmedico  |                                                                             |

|9455     |add some status messages, try to copy the tarball into DISTDIR, use getopt   |
|genone   |for option parsing                                                           |

|9456     |Fix var_assign_re to recognize a call to the 'declare' builtin even when no  |
|zmedico  |options are given.                                                           |

|9457     |When all available ebuilds are masked, avoid producing warning message when  |
|zmedico  |the package does not need to be reinstalled and the installed version is not |
|         |masked.                                                                      |

|9458     |Bug #212882 - Fix lockfile() to handle errno.EACCES raised from the fcntl    |
|zmedico  |call since the spec says that it's equivalent to EAGAIN and it appears that  |
|         |CIFS returns EACCES in this case.                                            |

|9459     |- news bugfix from ferringb                                                  |
|solar    |                                                                             |

|9460     |Make strip_empty() return a nedw list instead of working in-place. Thanks to |
|zmedico  |René Neumann <rene.neumann@necoro.net> for the suggestion.                  |

|9462     |* Optimize parallel-fetch to avoid redundant checksum verification. * Add    |
|zmedico  |parallel-fetch to the default FEATURES since it is more efficient now.       |

|9463     |Bug #42456 - When a checksum failure occurs during fetch, use a new          |
|zmedico  |PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS config variable to control how many       |
|         |mirrors should be tried before aborting the download. This type of behavior  |
|         |used to be enabled only in --fetchonly mode but now it's enabled for all     |
|         |fetch() calls.                                                               |

|9466     |Fix grammar.                                                                 |
|zmedico  |                                                                             |

|9467     |Fix an UnboundLocalError for 'pkgindex'.                                     |
|zmedico  |                                                                             |

|9469     |add a placeholder for repository paths in 'filename' and 'directory' options |
|genone   |for StaticFileSet                                                            |

|9470     |avoid importing portage to improve performance                               |
|genone   |                                                                             |

|9471     |When in strict mode, make paren_reduce() detect missing whitespace around    |
|zmedico  |parenthesis tokens and raise an InvalidDependString exception. Strict mode is|
|         |not enabled when handling installed packages, so this will only affect       |
|         |repoman and packages that haven't been installed yet. Thanks to zlin for     |
|         |reporting.                                                                   |

|9472     |Bug #213540 - Make sure DESTTREE=/usr is set before inherit calls.           |
|zmedico  |                                                                             |

|9473     |Bug #213592 - Fix --onlydeps breakage.                                       |
|zmedico  |                                                                             |

|9474     |Bug #212882 - For compatibility with ENOENT exceptions raised from fstat     |
|zmedico  |calls with CIFS, wrap fstat calls with an appropriate exception handler.     |

|9475     |Bug #174634 - Fix ebuild 'digest' and 'manifest' behave 100% identically and |
|zmedico  |update the docs to reflect this.                                             |

|9476     |Bug #149745 - Generate an eqawarn message if dohtml is called on a directory |
|zmedico  |without the recursive option. Thanks to brad walker                          |
|         |<bradmwalker@cableone.net> for reporting.                                    |

|9477     |use a dict with CP keys in unmerge() to avoid double unmerges if a package is|
|genone   |matched by multiple atoms                                                    |

|9478     |fix artifact from r9477                                                      |
|genone   |                                                                             |

|9479     |add @ to the list of invalid atom chars so sets with prefix aren't considered|
|genone   |as atoms accidentally                                                        |

|9480     |add unmerge protection for packages still referenced by installed package    |
|genone   |sets                                                                         |

|9481     |make filesets non-greedy by default                                          |
|genone   |                                                                             |

|9482     |Bug #139023 - When the --digest option is enabled, advise the user that      |
|zmedico  |`repoman manifest` is the preferred way to generate manifests.               |

|9483     |Bug #201045 - Fix unmerge() to preserve unmerge order so that dependencies   |
|zmedico  |are respected. Also, eliminate duplicate package selections since the same   |
|         |package may be selected by multiple atoms but we can only unmerge it once.   |

|9484     |Only show the eqawarn from bug #149745 when nothing is found to install.     |
|zmedico  |Also, exit successfully unless nothing is found to install.                  |

|9485     |Bug #210575 - Optimize doins -r so that it doesn't call itself recursively,  |
|zmedico  |since it's faster to handle the recursion internally. Thanks to Benedikt     |
|         |Böhm <hollow@gentoo.org> for the initial patch.                             |

|9486     |Bug #210690 - Fix --help output to show the leading slash on the path to the |
|zmedico  |world file.                                                                  |

|9487     |Strip trailing slashes from directory paths if necessary.                    |
|zmedico  |                                                                             |

|9488     |display versions of other slots for new-slot installs (bug #213790)          |
|genone   |                                                                             |

|9489     |Fix quoting.                                                                 |
|zmedico  |                                                                             |

|9491     |readd digestentry.unused category as it's still relevant                     |
|genone   |                                                                             |

|9495     |Fix depgraph._select_package() to make sure the installed package is a real  |
|zmedico  |match before rejecting other available packages.                             |

|9496     |Improve logic from the previous commit.                                      |
|zmedico  |                                                                             |

|9502     |Check is os.statvfs() is implemented before trying to us it. (branches/prefix|
|zmedico  |r9500)                                                                       |

|9503     |Bug #214499 - When compiler flags are unset, many packages will substitute   |
|zmedico  |their own implicit flags. For uniformity, use an empty string as the default.|

|9504     |Bug #211294 - Make repoman bail out if arch.list contains unrecognized lines |
|zmedico  |since we don't want people to commit with old versions of portage that don't |
|         |support the current arch.list format.                                        |

|9505     |Bug #212152 - Account pre-existing files when calculating whether there is   |
|zmedico  |enough space for a download.                                                 |

|9506     |Fix typo.                                                                    |
|zmedico  |                                                                             |

|9507     |Bug #212621 - Make the EbuildQuote check do quoting validation for misc      |
|zmedico  |variables from games.eclass.                                                 |

|9510     |Support ${HOST} substitution in "From" field. Thanks to wschlich.            |
|zmedico  |                                                                             |

|9511     |Move the default empty compiler flag settings from ebuild.sh to make.globals |
|zmedico  |(bug #214499).                                                               |

|9512     |Bug #214879 - In fetch(), only parse the Manifest when FEATURES=strict is    |
|zmedico  |enabled.                                                                     |

|9513     |Make --noreplace take precedence over --newuse, as suggested by wolf31o2.    |
|zmedico  |                                                                             |

|9514     |Fix the noreplace logic to break out of the cpv loop early since there's no  |
|zmedico  |point in examining any lower versions from the same repo.                    |

|9519     |Bug #214879 - Fix FEATURES=-strict behavior so that distfiles digests are    |
|zmedico  |always checked.                                                              |

|9520     |Bug #212509 - Implement a new --without-mask option that causes repoman to   |
|zmedico  |behave as if there are no package.mask entries.                              |

|9521     |Bug #212509 - Display a note about the --without-mask option when there are  |
|zmedico  |masked packages.                                                             |

|9522     |Bug #209418 - Add a new KEYWORDS.dropped check that compares keywords against|
|zmedico  |the keywords of earlier ebuild versions within a slot.                       |

|9523     |Remove redundant info from the KEYWORDS.dropped message.                     |
|zmedico  |                                                                             |

|9524     |Bug #213629 - Create an EAPI.incompatible category and use it in cases where |
|zmedico  |EAPI=0 and a slot atom is encountered.                                       |

|9525     |Bug #213629 - Use EAPI.incompatible in cases where EAPI=0 and a default IUSE |
|zmedico  |is encountered.                                                              |

|9526     |Bug #213698 - Make FEAUTURES=keepwork and keeptemp preserve ${T}/environment |
|zmedico  |since it may contain essential state.                                        |

|9527     |Make dyn_clean() consistent wrt removal of ${PORTAGE_BUILDDIR}/image and     |
|zmedico  |${PORTAGE_BUILDDIR}/.installed since otherwise with FEATURES=keepwork        |
|         |dyn_install() will not call src_install() as necessary to repopulate         |
|         |${PORTAGE_BUILDDIR}/image (resulting in install_qa_check failure due to      |
|         |absence of ${PORTAGE_BUILDDIR}/image).                                       |

|9528     |Bug #214619 - Add support for a PORTAGE_BINPKG_TAR_OPTS variable that allows |
|zmedico  |the user to specify tar command options for binary package creation.         |

|9537     |Disable tarsync when using lzma compression since it doesn't seem to be      |
|zmedico  |supported.                                                                   |

|9538     |* Skip the recusive chown call if it fails on the top level directory since  |
|zmedico  |it's possible that emerge-webrsync is not run by root. * Just chown to       |
|         |portage:portage instead of using PORTAGE_INST_{UID,GID}.                     |

|9584     |Bug #214691 - Move the "slot collision" display so that it is shown after the|
|zmedico  |merge list where it is most likely to be seen (along with other depgraph     |
|         |problems).                                                                   |

|9585     |Add a new "java.eclassesnotused" check for cases where DEPEND contains       |
|zmedico  |virtual/jdk and and the appropriate java eclass has not been inherited (a    |
|         |violation of the java team's policy). Thanks to Betelgeuse for the initial   |
|         |patch.                                                                       |

|9586     |Don't trigger the 'java.eclassesnotused' on blocker atoms.                   |
|zmedico  |                                                                             |

|9587     |Add a new "ebuild.patches" check for the PATCHES variable that's used by     |
|zmedico  |base_src_unpack() from base.eclass. This generates a warning if the variable |
|         |is not defined as an array, since this is required for white space safety.   |
|         |Thanks to Betelgeuse for the initial patch.                                  |

|9588     |Bug #215240 - Use an alarm signal to implement a 60 second timeout in        |
|zmedico  |finalize() in case send_mail() blocks indefinitely.                          |

|9589     |When a resume list contains packages that are no longer available,           |
|zmedico  |automatically delete it.                                                     |

|9590     |Fix quoting for ${root} in install_mask().                                   |
|zmedico  |                                                                             |

|9591     |Add a note about PKG_INSTALL_MASK.                                           |
|zmedico  |                                                                             |

|9592     |Bug #214619 - Run dyn_package() and preinst_mask() from ${T} instead of ${D} |
|zmedico  |in order to avoid leaving gmon.out files in ${D} in case any tools were built|
|         |with -pf in CFLAGS. Also, call preinst_mask() after all other functions so   |
|         |that INSTALL_MASK can be used to wipe out any gmon.out files created during  |
|         |previous functions.                                                          |

|9606     |When dyn_unpack() automatically cleans ${WORKDIR}, also remove things like   |
|zmedico  |.unpacked and .compiled so that the state is consistent.                     |

|9607     |Bug #215308 - Simplify the greedy atoms logic so that it behaves more like   |
|zmedico  |StaticFileSet and won't pull in lower slots.                                 |

|9611     |For bugs #197810 and #215308, pass the depgraph's "selective" parameter down |
|zmedico  |into dep_check() for better atom preference selection when handling virtuals |
|         |and other disjunctive || dependencies. (branches/2.1.2 r9610)                |

|9613     |Use enumerate() it iterate over an array.                                    |
|zmedico  |                                                                             |

|9615     |Bug #211365 - Use catpkgsplit() instead of pkgsplit() for a cpv.             |
|zmedico  |                                                                             |

|9616     |Make code a bit less prone to potentially hidden TypeError like bugs.        |
|zmedico  |                                                                             |

|9619     |Do not allow commit mode together with the --without-mask options.           |
|zmedico  |                                                                             |

|9621     |Move the AUTOCLEAN code into dblink.treewalk since it's already partially    |
|zmedico  |supported there anyway (for replacement of identical cpv). This has the      |
|         |benefit of guaranteeing that the order of installation and removal phases is |
|         |always the same.                                                             |

|9623     |Bug #211365 - Use catpkgsplit() instead of pkgsplit() for a cpv.             |
|zmedico  |                                                                             |

|9625     |Bug #211365 - Use catpkgsplit() instead of pkgsplit() for a cpv.             |
|zmedico  |                                                                             |

|9628     |Make doins clean up it's own temp files. This solves an odd issue in         |
|zmedico  |dyn_package() when portage 2.1.x is installing portage-2.2 and temp python   |
|         |module files from doins are imported instead of the expected ones.           |

|9630     |Fix display code that can triger a 'Invalid category' exception when it is   |
|zmedico  |given a blocker. It's only supposed to execute for normal packages.          |

|9632     |Fix typos. Thanks to Arfrever Frehtes Taifersar Arahesis                     |
|zmedico  |<Arfrever.FTA@GMail.Com>.                                                    |

|9634     |* Fix broken return value for doins. * Make newins cleanup temp files after  |
|zmedico  |itself.                                                                      |

|9636     |Make sure the all resume lists are deleted when a stale one is encountered.  |
|zmedico  |                                                                             |

|9637     |When dblink.treewalk() queries for other packages in the same slot, filter   |
|zmedico  |out old-style virtual matches since they are not desired.                    |

|9643     |Pass Package instances into visible() so that the package instance can be    |
|zmedico  |used to cache relevant visibility information such as whether or not the     |
|         |package is corrupt or otherwise invalid.                                     |

|9644     |Replace an package tuple with a real Package instance.                       |
|zmedico  |                                                                             |

|9645     |Make depgraph creation more tolerant of missing or masked packages when the  |
|zmedico  |relevant deps are satisfied by installed packages. This kind of friendliness |
|         |is especially desired in cases such as --emptytree where it might not be     |
|         |possible to reinstall every single package. Also, it allows multislot atoms  |
|         |from the world file (that are necessary to prevent them from being removed by|
|         |depclean) trigger warning messages while still allowing a --emptytree to     |
|         |proceed.                                                                     |

|9646     |Bug #197810 - Fix package selection logic so that it will always fall back to|
|zmedico  |an installed package when necessary.                                         |

|9648     |When selecting packages and there is a mixture of old-style and new-style    |
|zmedico  |virtual matches, filter out the old-style virtual matches.                   |

|9650     |Remove some redundant and obsolete code for warning about installed packages |
|zmedico  |pulled into the graph.                                                       |

|9652     |Fix package selection logic to always properly reject the installed package  |
|zmedico  |when another is available and the user wants to reinstall.                   |

|9654     |In the package selection loop, move the installed package rejection code as  |
|zmedico  |early as possible.                                                           |

|9656     |When deps are forced to be satisfied by installed packages due to masking or |
|zmedico  |unavailability, only tolerate it when the atom comes from either the system  |
|         |or world set since otherwise it's a good idea to bail so that the user can   |
|         |correct the problem.                                                         |

|9658     |Bug #215308 - Cache the paths of known bad manifests to ensure that the same |
|zmedico  |broken manifest is never checked twice.                                      |

|9660     |When identifying a sys-apps/portage node, compare category too (not just     |
|zmedico  |"portage".                                                                   |

|9662     |Handle missing LICENSE in the Packages index since that's allowed for virtual|
|zmedico  |packages.                                                                    |

|9665     |Exploid ascending order returned from dbapi.match() calls to avoid the need  |
|zmedico  |to call best().                                                              |

|9669     |Remove some boolean logic that is obsolete now that the "selective" parameter|
|zmedico  |is passed into dep_zapdeps().                                                |

|9672     |Use pkgcmp() instead of == and best() for correctness in case of implicit    |
|zmedico  |-r0.                                                                         |

|9674     |Bug #215673 - Make ebuild.sh leave IUSE defaults intact instead of filtering |
|zmedico  |them out. The built_with_use() function in eutils.eclass needs to be updated |
|         |for compatibility.                                                           |

|9675     |Remove the digraph._parent_child_digraph since it's no longer needed. It's   |
|zmedico  |main purpose was to track PDEPEND relationships but those are handled just   |
|         |like the other deps now.                                                     |

|9677     |Handle a potential FileNotFound exception in new_protect_filename() when the |
|zmedico  |last ._cfg* file happens to be a broken symlink. Thanks to bonsaikitten for  |
|         |reporting.                                                                   |

|9678     |Eliminate a redundant os.path.join() call.                                   |
|zmedico  |                                                                             |

|9680     |Use Package.cp instead of dep_getkey(cpv).                                   |
|zmedico  |                                                                             |

|9681     |Fix the previous commit so that the Package instance is created in the       |
|zmedico  |correct scope.                                                               |

|9683     |In cpv_expand(), if the virtuals file contains a versioned atom (like the    |
|zmedico  |base profile currently has for virtual/pam), properly remove the operator and|
|         |version from the atom before it is passed into dbapi.cp_list().              |

|9685     |For old-style virtuals, we need to repeat the package.provided check against |
|zmedico  |the selected package.                                                        |

|9687     |Implement a PORTAGE_FETCH_RESUME_MIN_SIZE variable that is useful for helping|
|zmedico  |to ensure that small garbage files such as html 404 pages are properly       |
|         |discarded.                                                                   |

|9689     |If PORTAGE_FETCH_RESUME_MIN_SIZE is undefined or empty, silently use the     |
|zmedico  |default.                                                                     |

|9691     |Add missing str.upper() call for PORTAGE_FETCH_RESUME_MIN_SIZE.              |
|zmedico  |                                                                             |

|9693     |Fix package selection logic so that it always properly finds the highest     |
|zmedico  |available version in a new slot even though the graph already contains a     |
|         |matching version in a lower slot.                                            |

|9695     |Eliminate a redundant atom from the --update greedy slot expansion code.     |
|zmedico  |                                                                             |

|9696     |Add missing DepPriority instances to the graph so that the --buildpkgonly    |
|zmedico  |hasallzeros() calculation works correctly again.                             |

|9697     |Decrease priority on --onlydpes dependencies so that --buildpkgonly          |
|zmedico  |hasallzeros() works correctly.                                               |

|9699     |When the user has given --depclean a list of atoms to clean, pull all        |
|zmedico  |installed packages into the graph (not just those traversable from system or |
|         |world) to ensure that packages can not be uninstalled unless nothing requires|
|         |them.                                                                        |

|9700     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|9702     |Fix a typo in the depclean USE flag handling when populating the digraph for |
|zmedico  |bug #201045.                                                                 |

|9705     |Display the note referencing "masked packages" docs when there are installed |
|zmedico  |masked packages to display.                                                  |

|9706     |Adjust newlines whitespace masked packages display.                          |
|zmedico  |                                                                             |

|9708     |* In the event that a previously installed package has since been masked,    |
|zmedico  |emerge will no longer perform an automatic downgrade as part of a "world"    |
|         |update. You should either unmask such packages or else explicitly re-merge   |
|         |them in order to have them dowgraded to an unmasked version.                 |

|9710     |Add missing "the" to fix grammar.                                            |
|zmedico  |                                                                             |

|9712     |In dbapi.move_ent(), never assume that any of the expected metadata entries  |
|zmedico  |exist (PF, CATEGORY, or *.ebuild).                                           |

|9713     |Replace the depgraph's fakedbapi of visible packages with a new              |
|zmedico  |CompositeDbapi that is implemented on top of the depgraph's existing package |
|         |selection logic.                                                             |

|9714     |Remove "selective" depgraph logic from dep_zapdeps() since it's now handled  |
|zmedico  |by CompositeDbapi.                                                           |

|9715     |Memoize package selection results in the depgraph for better performance.    |
|zmedico  |                                                                             |

|9716     |Fix a typo.                                                                  |
|zmedico  |                                                                             |

|9717     |Fix the depgraph package selection cache to update the "existing node" state |
|zmedico  |of packages if they've been added to the graph since the last call.          |

|9718     |Bug #216328 - Fix broken --newuse reinstallation logic.                      |
|zmedico  |                                                                             |

|9720     |Handle a potential InvalidDependString exception inside                      |
|zmedico  |CompositeDbapi.match().                                                      |

|9723     |When necessary, make quickpkg add missing metadata to the vdb entry before   |
|zmedico  |creating the binary package.                                                 |

|9725     |Clarify --with-bdeps behavior with example. Thanks to Griffon26 for this     |
|zmedico  |patch.                                                                       |

|9726     |preserve order of ebuild messages even between different message types (bug  |
|genone   |#197905)                                                                     |

|9727     |* Use type -P which does not produce messages to stderr. another option is to|
|zmedico  |redirect both stderr and out. * Avoid &> replace with > ... 2>&1 Thanks to   |
|         |Alon Bar-Lev for this patch.                                                 |

|9728     |only preserve libraries if no copy exists in the libary search path (bug     |
|genone   |#215242)                                                                     |

|9729     |Fix the CompositDbapi.match() logic wrt "selective" behavior and installed   |
|zmedico  |packages so that it correctly handles false argument matches due to PROVIDE  |
|         |when a corresponding new-style virtual exists.                               |

|9731     |Rename the CompositDbapi class to DepcheckCompositeDB since it's really a    |
|zmedico  |special pupose class just for dep_check() and it doesn't implement the full  |
|         |dbapi interface.                                                             |

|9732     |Fix java.eclassesnotused logic. Thanks to Betelgeuse.                        |
|zmedico  |                                                                             |

|9733     |In dump_trace(), fix BASH_ARGV and BASH_ARGC offsets so that they are always |
|zmedico  |correct wrt eachother. Thanks to Betelgeuse for reporting.                   |

|9734     |Fix BASH_ARGC and BASH_ARGV offsets some more.                               |
|zmedico  |                                                                             |

|9735     |Fix DepcheckCompositeDB.match() so that it doesn't assume that every         |
|zmedico  |DependencyArg instance has an "atom" attribute.                              |

|9736     |Fix variable name collision in DepcheckCompositeDB.match().                  |
|zmedico  |                                                                             |

|9737     |Move virtuals logic from DepcheckCompositeDB.match() to                      |
|zmedico  |depgraph._iter_atoms_for_pkg() since it's more generally useful there.       |

|9738     |Move all the --update greedy slot logic to depgraph.select_files().          |
|zmedico  |                                                                             |

|9739     |Fix broken IUSE defaults handling when filtering USE for the Packages file.  |
|zmedico  |                                                                             |

|9740     |Handle empty KEYWORDS in the Packages file.                                  |
|zmedico  |                                                                             |

|9741     |* Optimize metadata caching in pordbapi and bindbapi so that cache is never  |
|zmedico  |pulled for the same package twice. * Cache a Package instances constructed   |
|         |during package selection and reuse them during later package selections.     |

|9742     |When reading and writing the Packages index file, translate metadata keys on |
|zmedico  |the fly. Current translations: DESC DESCRIPTION REPO repository              |

|9743     |For repoman, only cache the metadata necessary for visibility checks in order|
|zmedico  |to reduce memory consumption.                                                |

|9744     |Remove unused iter_atoms() function.                                         |
|zmedico  |                                                                             |

|9745     |Remove the depgraph._get_arg_for_pkg() method since _iter_atoms_for_pkg()    |
|zmedico  |does the job.                                                                |

|9747     |Fix a little issue in the code from bug #197905 that causes some elog        |
|zmedico  |messages to get lost.                                                        |

|9755     |Fix --update greedy atoms logic so that it only pulls in packages that       |
|zmedico  |actually match the given atom.                                               |

|9756     |Bug #197810 - Don't automatically downgrade packages for which available     |
|zmedico  |matching versions are masked by corruption, but do automatically downgrade   |
|         |installed packages that themselves have a valid mask such as from            |
|         |package.mask.                                                                |

|9759     |Bug #162542 - When checking permissions inside CCACHE_DIR for compatibility  |
|zmedico  |with FEATURES=userpriv, check the permissions on files inside the directory  |
|         |to decide whether to fix the permissions.                                    |

|9761     |Split out a depgraph method to check if a specific new-style virtual package |
|zmedico  |exists.                                                                      |

|9762     |Make depgraph.select_files() detect when a package name given as an argument |
|zmedico  |is ambiguous due to the existence of a new-style virtual with the same name  |
|         |(cpv_expand() will not always raise a ValueError in cases like this).        |

|9763     |Handle issues with newlines in elog messages that can trigger an unhandled   |
|zmedico  |ValueError to be raised from a split() call inside collect_ebuild_messages():|
|         |* Use \0 to delimit messages, so that that elog messages containing newlines |
|         |are handled correctly. * Handle a potential ValueError when splitting the    |
|         |message type.                                                                |

|9765     |Create a new depgraph._dep_expand() method for select_files() to expand atoms|
|zmedico  |that have no category.                                                       |

|9769     |When depgraph.select_files() expands an atom category, in case of an         |
|zmedico  |old-style virtual, defer category expansion so that the depgraph has more    |
|         |choices.                                                                     |

|9771     |Make DepcheckCompositeDB cache Package instances for aux_get() calls.        |
|zmedico  |                                                                             |

|9774     |When pruning the list of parents for the slot collision display, always show |
|zmedico  |parents that themselves have been pulled into collision slots, since those   |
|         |are more relevant that others. (branches/2.1.2 r9773)                        |

|9775     |Fix minor issues in the calculation of the number of parents omitted from the|
|zmedico  |slot collision display.                                                      |

|9777     |Fix the docstring for depgraph._dep_expand().                                |
|zmedico  |                                                                             |

|9779     |When checking atoms without categories against the installed packages, just  |
|zmedico  |check for existence of the cat/pn rather that a full match.                  |

|9785     |Add some docs for the DepcheckCompositeDB class.                             |
|zmedico  |                                                                             |

|9786     |Replace the fakdbapi class that is used to track depgraph state with a       |
|zmedico  |similar PackageVirtualDbapi class that uses Package instances internally.    |
|         |This eliminates some redundancy since the Package instances can be reused    |
|         |elsewhere, unlike the internal data structures used by fakedbapi.            |

|9787     |Improve used of cached Package instances in                                  |
|zmedico  |depgraph._select_pkg_from_graph().                                           |

|9788     |Make FakeVartree use PackageVirtualDbapi instead of fakedbapi so that it can |
|zmedico  |populate and utilize a cache of Package instances.                           |

|9789     |* Make depclean/prune use cached Package instances for visibility checks. *  |
|zmedico  |Make FakeVartree wrap dbapi.match() to make sure the metadata in Package     |
|         |instances gets updated for any cpv that is returned from a match() call,     |
|         |since the metadata can be accessed directly from the Package instance instead|
|         |of via aux_get().                                                            |

|9794     |Use cached Package instances in depgraph.display().                          |
|zmedico  |                                                                             |

|9797     |Make sure that everything except Package nodes is ignored when doing the     |
|zmedico  |--buildpkgonly digraph.hasallzeros() check.                                  |

|9799     |Iterate over a copy of the digraph nodes so that removal can't break the     |
|zmedico  |iterator.                                                                    |

|9808     |Implement expansion of catgories in DepcheckCompositeDB.match() for old      |
|zmedico  |installed packages that may contain atoms that are not fully qualified.      |

|9810     |Remove an unused function.                                                   |
|zmedico  |                                                                             |

|9815     |Bug #217122 - When waiting for a parallel-fetch download to complete, show a |
|zmedico  |more friendly and informative message.                                       |

|9817     |Make the CHOST visibility check tolerant of missing CHOST metadata.          |
|zmedico  |                                                                             |

|9819     |Fix "pkg" variable name collisions in depgraph.display().                    |
|zmedico  |                                                                             |

|9821     |Rename variable pkg_cpv to pkg_str.                                          |
|zmedico  |                                                                             |

|9823     |Nest the DepcheckCompositeDB class inside the depgraph class since it's not  |
|zmedico  |intended for use elsewhere.                                                  |

|9825     |Tweak --buildpkgonly and fakeroot logic so that --buildpkgonly can be used by|
|zmedico  |a non-root user to build binary packages with fakeroot.                      |

|9827     |Copy group mode bits from $PKGDIR when creating subdirectories.              |
|zmedico  |                                                                             |

|9832     |In config.setcpv() and load_infodir(), always set known good values for      |
|zmedico  |CATEGORY and PF, since corruption of these can cause problems.               |

|9834     |Remove all calls to config.load_infodir() since it doesn't seem to server any|
|zmedico  |purpose now that the complete environment is loaded from environment.bz2.    |

|9835     |Remove unused infodir variable.                                              |
|zmedico  |                                                                             |

|9837     |Make doebuild() bail out early with a PermissionDenied error if there is no  |
|zmedico  |write access to $PKGDIR.                                                     |

|9839     |When dep_check() expands new-style virtuals, use USE flags from aux_get calls|
|zmedico  |to evaluate any conditionals that the depstrings might contain. This works   |
|         |properly for ebuilds now that aux_get() is backed by Package instances       |
|         |containing the correct USE.                                                  |

|9840     |Fix the code from the previous commit so that it doesn't try to pull USE from|
|zmedico  |a portdbapi instance (like when called by repoman) since portdbapi doesn't   |
|         |return USE in aux_get() calls.                                               |

|9842     |Fix 'undefined name' errors found by pyflakes.                               |
|zmedico  |                                                                             |

|9844     |Make file_get() redirect FETCHCOMMAND output to stdout just like             |
|zmedico  |portage.fetch() does. Thanks to Ramereth for reporting.                      |

|9846     |Rename the undocumented --conistent option to --complete-graph and add some  |
|zmedico  |docs.                                                                        |

|9848     |Add some notes for the parallel-fetch feature and the new --complete-graph   |
|zmedico  |option for emerge.                                                           |

|9850     |Make binarytree.prevent_collision() adjust permissions on directories and    |
|zmedico  |raise a PermissionDenied error if the required directories is not writable.  |

|9852     |Bug #215016 - When transforming of USE flags to USE_EXPAND variables, filter |
|zmedico  |out flags that aren't considered to be part of IUSE or implicit IUSE. This   |
|         |patch moves all IUSE dependent code from config.regenerate() to              |
|         |config.setcpv().                                                             |

|9854     |* Optimize config.setcpv() to return early if IUSE has not changed since the |
|zmedico  |previous setcpv() call. * Add EBUILD_PHASE to the blacklisted variables list.|

|9856     |Bug #217444 - Send debug-print() output to stderr so that it can't interfere |
|zmedico  |with command substitution. Thanks to Fabio Rossi <rossi.f@inwind.it> for this|
|         |patch.                                                                       |

|9858     |Fix the filtering for bug #215016: * fix broken comparison for he iuse       |
|zmedico  |filtering * filter out any duplicates that variable may contain              |

|9860     |In --buildpkgonly mode, don't discard RDEPEND and PDEPEND if --empty or      |
|zmedico  |--deep are enabled. The makes it possible to run `emerge -eB world` and have |
|         |every single package rebuilt (without actually installing anything).         |

|9862     |fix check for other lib copies to properly exclude the current package       |
|genone   |                                                                             |

|9864     |Make movefile() tolerant to EPERM errors that can be raised from utime()     |
|zmedico  |calls. Instead of failing, use stat() to return the mtime if possible.       |

|9865     |Convert st_mtime to long for movefile() return type.                         |
|zmedico  |                                                                             |

|9866     |store sets in a different physical location than normal packages for 'world' |
|genone   |(makes ferringb a bit happier, and might have other advantages in the future)|

|9870     |Make _dep_check_composite_db match() return multiple slots so that it behaves|
|zmedico  |more like other dbapi instances would, and also make it inherit from dbapi.  |

|9871     |Fix _dep_check_composite_db.match() so that it doesn't exempt the highest    |
|zmedico  |slot from visibility checks.                                                 |

|9872     |Fix the _dep_check_composite_db visibility filtering some more.              |
|zmedico  |                                                                             |

|9873     |Improve lookahead for new-style virtuals: * Substitue the graph tree for the |
|zmedico  |vartree in dep_check() since we want atom selections to be consistent with   |
|         |package selections have already been made. * Add the selected package to the |
|         |graph as soon as possible so that later dep_check() calls can use it as      |
|         |feedback for making more consistent atom selections. * Expand all slots of   |
|         |new-style virtuals inside _dep_check_composite_db so that lookahead examines |
|         |a matched slots. This solves some cases of bug #1343, and extends the fix for|
|         |bug #141118 to work in cases when a virtual is not yet installed but it has  |
|         |been pulled into the graph.                                                  |

|9874     |To optimize consistency of atom selections, add all of the root packages to  |
|zmedico  |the graph before processing any dependencies.                                |

|9879     |* For optimal atom selection, use PackageVirtualDbapi instances in place of  |
|zmedico  |the vardb for all dep_check() calls. * Replace dep_check_trees in            |
|         |depgraph.validate_blockers() with the equivalent self._graph_trees reference.|

|9881     |Fix buggy logic in WorldSet.load() that causes it to discard all of it's     |
|zmedico  |atoms in some cases (leading to loss of the whole world file).               |

|9882     |Fix some more broken logic inside WorldSet.load().                           |
|zmedico  |                                                                             |

|9883     |s/timetasmp/timestamp/                                                       |
|zmedico  |                                                                             |

|9884     |Split out a depgraph._add_dep() method.                                      |
|zmedico  |                                                                             |

|9885     |Call depgraph._add_dep() to add package dependencies to the graph as soon as |
|zmedico  |possible rather than pushing them onto the stack.                            |

|9886     |Fix some breakage in the allow_unsatisfied handling.                         |
|zmedico  |                                                                             |

|9890     |When regenerating USE_EXPAND in config.setcpv(), improve performance by using|
|zmedico  |regular expression instead of str.startswith().                              |

|9891     |Revert back to using startwith because I screwed up my benchmark and it turns|
|zmedico  |out starswith is faster than using regular expressions.                      |

|9895     |Fix issues with an empty string being passed into                            |
|zmedico  |PreservedLibsRegistry.register() now that COUNTER is not loaded via          |
|         |config.load_infodir(). Thanks to grobian for reporting.                      |

|9896     |In config.setcpv() and regenerate(), replace str.startswith() calls with     |
|zmedico  |slice comparison. It's not pretty but performance is critical in this section|
|         |of code and there is a measurable performance difference.                    |

|9898     |Bug #217664 - Fix emerge 'by path' package argument handling so that Package |
|zmedico  |instances are properly cached (avoiding a KeyError later).                   |

|9900     |Revert part of atom selection consistency improvement from r9873 since it in |
|zmedico  |some cases it triggers unresolvable direct circular dependencies. For        |
|         |example, this happens with gwydion-dylan which depends on either itself or   |
|         |gwydion-dylan-bin. In case gwydion-dylan is not yet installed,               |
|         |gwydion-dylan-bin needs to be selected in order to avoid a an unresolvable   |
|         |direct circular dependency.                                                  |

|9901     |Add support to depgraph._select_atoms() to take a "parent" parameter and use |
|zmedico  |that to try and avoid unresolvable direct circular dependencies when         |
|         |necessary. Also, make atom selection more consistent with the graph to solve |
|         |some cases of bug #1343. This improves the fix from bug #141118 to work in   |
|         |cases when a virtual is not yet installed but it has been pulled into the    |
|         |graph. For example, see the case of in Bug #163801#c17, where we want kaffe  |
|         |to satisfy virtual/jdk-1.4 without an extra jvm being pulled in              |
|         |unnecessarily.                                                               |

|9904     |Comment some more on the significance of passing the graph_db and parent into|
|zmedico  |depgraph._select_atoms() to solve some cases of bug #1343 while avoiding     |
|         |unresolvable direct circular dependencies.                                   |

|9906     |The dependency resolver now has a feedback mechanism that helps make atom    |
|zmedico  |selections more consistent with previous selections that have been added to  |
|         |the graph. This solves some common cases of bug #1343.                       |

|9910     |Inside dblink.unmerge(), call self.updateprotect() just in case anything has |
|zmedico  |changed since the dblink instance was constructed.                           |

|9912     |Handle potential InvalidDependString exceptions from visible().              |
|zmedico  |                                                                             |

|9914     |Bug #217905 - Fix portdbapi.getfetchlist() to correctly calculate USE when   |
|zmedico  |the useflags parameter is not passed in.                                     |

|9916     |If the mysettings parameter is not passed in to portdbapi.getfetchlist() then|
|zmedico  |substitue self.doebuild_settings since that one is mutable which is necessary|
|         |in case setcpv() needs to be called.                                         |

|9918     |Fix portdbapi.getfetchlist() so that it doesn't unnecessarily calculate USE  |
|zmedico  |when the "all" parameter is True.                                            |

|9920     |Remove redundant version sorting in _expand_new_virtuals() since the dbapi   |
|zmedico  |match results are already sorted.                                            |

|9922     |Make the ccache userpriv permission check from bug #162542 less sensitive by |
|zmedico  |skipping permission checks on files and just checking the directories.       |

|9924     |Bug #218202 - Make sure the spinner is quiet in --nodep mode.                |
|zmedico  |                                                                             |

|9926     |Add a new part for "Dependency Resolution".                                  |
|zmedico  |                                                                             |

|9928     |Bug #218559 - Make portdbapi automatically add sandbox write access to       |
|zmedico  |self.depcachedir when appropriate. This makes the portageq blanket sandbox   |
|         |exemption unnecessary.                                                       |

|9930     |* Make portdbapi.aux_get() automatically pull pre-generated metadata directly|
|zmedico  |from the metadata/cache/ directory when metadata-transfer is not enabled in  |
|         |FEATURES. This makes all cache modules behave similar to existing            |
|         |metadata_overlay module, except when FEATURES="metadata-transfer" has been   |
|         |explicitly enabled. * Remove metadata-transfer from FEATURES in make.globals |
|         |so that it's no longer enabled by default. Users will be happy about this    |
|         |since the "Updating Portage cache" part of emerge --sync can be more time    |
|         |consuming than the rsync run itself. It's also nicer when when using PORTDIR |
|         |over nfs or bind mounted in a chroot since there's no need to run emerge     |
|         |--metadata. * Update FEATURES="metadata-transfer" docs to warn users of the  |
|         |rsync tree to modify eclases in PORTDIR_OVERLAY if necessary instead of doing|
|         |it directly in the rsync tree. * Relevant updates to /etc/portage/modules    |
|         |docs.                                                                        |

|9932     |Fix portage version, should be >=2.1.5.                                      |
|zmedico  |                                                                             |

|9934     |Document FEATURES="metadata-transfer" changes some more.                     |
|zmedico  |                                                                             |

|9936     |In action_metadata(), properly put the source cache in readonly mode.        |
|zmedico  |                                                                             |

|9938     |In show_slot_collision_notice(), refer to the problem as a "slot conflict"   |
|zmedico  |since that's how I'm refering to it in the docs.                             |

|9940     |Bug #218439 - Improve alignment in short emerge --help options output.       |
|zmedico  |                                                                             |

|9941     |Swap --nospinner and --oneshot for alphabetical ordering.                    |
|zmedico  |                                                                             |

|9943     |Make dir_get_metadata() retry if a httplib.ResponseNotReady exception occurs.|
|zmedico  |                                                                             |

|9945     |Bug #172812 - Add an Uninstall class derived from the Package class, for     |
|zmedico  |packages that may need to be uninstalled to avoid conflicts.                 |

|9946     |Bug #172812 - Automatically uninstall packages to avoid blocker conflicts.   |
|zmedico  |The intention is to only uninstall packages that would be removed by         |
|         |--depclean (after the updates) anyway. To prevent automatic uninstallation of|
|         |packages that the user probably wants to keep, the following types of        |
|         |packages will not be automatically unmerged: * Installed packages that have  |
|         |been pulled into the current dependency graph. Note that this check is not   |
|         |necessarily complete unless the --complete-graph option is enabled, making   |
|         |other sanity checks necessary. * Installed packages matched by atoms from the|
|         |system set. For safety, these are unmerged after being replaced by another   |
|         |version. * Installed packages matched by atoms from the world set, if there  |
|         |is no matching replacement in the current dependency graph.                  |

|9947     |s/unmerge/uninstall/ for consistency.                                        |
|zmedico  |                                                                             |

|9948     |Bug #172812 - Document new automatic uninstallation behavior in the "Conflict|
|zmedico  |Avoidance" section.                                                          |

|9949     |Bug #172812 - Protect packages from being removed from the world file during |
|zmedico  |automatic uninstallation.                                                    |

|9950     |Reset the state variables for leaf node selection in depgraph.altlist() when |
|zmedico  |appropriate.                                                                 |

|9951     |Split out a _dequeue_uninstall_tasks() method.                               |
|zmedico  |                                                                             |

|9952     |Bug #172812 - When automatically uninstalling packages, build the next       |
|zmedico  |package in the merge list before executing scheduled uninstall tasks.        |

|9953     |Combine --nodeps spinner logic.                                              |
|zmedico  |                                                                             |

|9954     |Fix broken mtimedb resume list handling for automatic uninstall tasks.       |
|zmedico  |                                                                             |

|9955     |Handle potential InvalidDependString exceptions when match packages to system|
|zmedico  |and world atoms in depgraph.altlist().                                       |

|9956     |Fix interaction between automatic uninstall and options like --pretend,      |
|zmedico  |--fetchonly, and --buildpkgonly.                                             |

|9959     |Add a note about automatic uninstallation to solve blockers.                 |
|zmedico  |                                                                             |

|9963     |Rename the "consistent" depgraph parameter to "complete" since what it really|
|zmedico  |means is that the graph will be complete in the sense that no known          |
|         |dependencies are neglected.                                                  |

|9964     |Update description of "complete" depgraph param.                             |
|zmedico  |                                                                             |

|9965     |Bug #172812 - If any Uninstall tasks need to be executed in order to avoid a |
|zmedico  |conflict, complete the graph with any dependencies that may have been        |
|         |initially neglected (to ensure that unsafe Uninstall tasks are properly      |
|         |identified and blocked from execution).                                      |

|9967     |remove unused function                                                       |
|genone   |                                                                             |

|9968     |Add some more spinner.update() calls in possibly time consuming loops.       |
|zmedico  |                                                                             |

|9970     |as NEEDED files don't conain enough formation for e.g. preserve-libsto work  |
|genone   |properly and we don't want to change the format of existing files create     |
|         |another file including additional information                                |

|9971     |remove debug output                                                          |
|genone   |                                                                             |

|9972     |s/be only/only be/                                                           |
|zmedico  |                                                                             |

|9976     |Bug #219251 - Fix typo in PORTDIR_OVERLAY when searching for sets.conf files.|
|zmedico  |Thanks to Manuel Nickschas <sputnick@quassel-irc.org> for fixing this.       |

|9977     |Refactor the way that depgraph.altlist(), _complete_graph(), and             |
|zmedico  |validate_blockers() interact with eachother. This simplifies things by       |
|         |eliminating the need for recursive calls to validate_blockers().             |

|9978     |add LibraryPackageMap replacement using NEEDED.2 files                       |
|genone   |                                                                             |

|9979     |* Add a Blocker class to use instead of tuples. * Fix the Task constructor to|
|zmedico  |properly traverse __slots__ of all inherited classes.                        |

|9980     |Don't assume that altlist() will succeed inside display_problems().          |
|zmedico  |                                                                             |

|9981     |Use digraphs to clean up blocker reference counting in the depgraph.         |
|zmedico  |                                                                             |

|9982     |Add a PackageVirtualDbapi.copy() method.                                     |
|zmedico  |                                                                             |

|9983     |Bug #172812 - When a package needs to be uninstalled in advance rather than  |
|zmedico  |through replacement, show the corresponding [blocks] entries in the displayed|
|         |list. In order to show more structure in the --tree display, expand Package  |
|         |-> Uninstall edges into Package -> Blocker -> Uninstall edges. Also, create  |
|         |edges between a package's own blockers and it's Uninstall task since it's    |
|         |blockers become irrelevant as soon as it's uninstalled.                      |

|9990     |Remove unnecessary "mydbapi" variable in depgraph.display().                 |
|zmedico  |                                                                             |

|9992     |Create a digraph.difference_update() method and use it to amortize the cost  |
|zmedico  |of removing nodes from the digraph.order list.                               |

|9994     |Take the classes that initialize variables in __slots__ with keyword         |
|zmedico  |constructor arguments and make them all derive from a new SlotObject class.  |

|9996     |some minor code fixes                                                        |
|genone   |                                                                             |

|9997     |actually use rpath for the internal lib check                                |
|genone   |                                                                             |

|9998     |fix logic error                                                              |
|genone   |                                                                             |

|10001    |Bug #219369 - Enable automatic upgrage or downgrade to a version with visible|
|zmedico  |KEYWORDS when the installed version is masked by KEYWORDS, but never         |
|         |reinstall the same exact version only due to a KEYWORDS mask.                |

|10003    |Never uninstall sys-apps/portage except through replacement.                 |
|zmedico  |                                                                             |

|10005    |* Remove the only remaining sys.exit() calls inside the depgraph class. * Fix|
|zmedico  |_unknown_internal_error() to work with zero arguments.                       |

|10006    |Fix the EbuildQuote check to ignore "echo" and the elog functions since      |
|zmedico  |people might not want quotes in those cases.                                 |

|10007    |Bug #218854 - Fix depgraph._iter_atoms_for_pkg() so that argument atoms only |
|zmedico  |match the highest visible slot.                                              |

|10008    |Add missing slot comparison when looking for higher slot in                  |
|zmedico  |_iter_atoms_for_pkg().                                                       |

|10009    |Bug #211833 - When an ebuild removal phase fails, notify the user that       |
|zmedico  |removal of environment.bz2 file will cause the ebuild to be sourced and      |
|         |eclasses from the current portage tree will be used when necessary.          |

|10014    |Fix PackageVirtualDbapi.cpv_inject() to make sure packages with duplicate cpv|
|zmedico  |or slot are handled correctly.                                               |

|10016    |Use write_atomic() for manifest updates.                                     |
|zmedico  |                                                                             |

|10018    |Try to format the elog message better for bug #211833, separating paragraphs |
|zmedico  |for easier reading.                                                          |

|10020    |Add comma to ("__weakref__",) so that it's a tuple instead of a string.      |
|zmedico  |Thanks to ferringb.                                                          |

|10022    |As suggested by Chr. Schaefer in bug #211833, comment #15, note that removal |
|zmedico  |of the environment.bz2 file is preferred since it may allow the removal      |
|         |phases to execute successfully.                                              |

|10024    |For bug #211833, be explicit that the pkg_prerm() and pkg_postrm() removal   |
|zmedico  |phases are the ones that are skipped.                                        |

|10026    |Add a Package.pv_split attibute to optimize version comparison operators.    |
|zmedico  |                                                                             |

|10028    |Fix spelling.                                                                |
|zmedico  |                                                                             |

|10030    |When a package scheduled for uninstall isn't installed anymore, move on to   |
|zmedico  |the next task.                                                               |

|10032    |Handle a potential KeyError in depgraph.display() when in --resume mode and a|
|zmedico  |package scheduled for uninstall is no longer installed.                      |

|10034    |Prevent some more visible downgrades from possibly being missed (bug         |
|zmedico  |#219369).                                                                    |

|10035    |Prevent some more visible downgrades from possibly being missed (bug         |
|zmedico  |#219369).                                                                    |

|10037    |Make unmerge() group packages by cat/pn when the order doesn't matter, so the|
|zmedico  |display appears like earlier versions of portage.                            |

|10039    |Fix "deep" logic in depgraph._complete_graph() so that it always properly    |
|zmedico  |recognizes whether or not "deep" was previously enabled.                     |

|10041    |* Fix dep_check() so that it doesn't expand virtual blockers since the       |
|zmedico  |un-expanded virtual atom is more useful for maintaining a cache of blocker   |
|         |atoms. * Expand virtual blockers in depgraph.validate_blockers(), since it's |
|         |not done by dep_check() anymore. * If blocker data from the graph is         |
|         |available, use it to validate the blocker cache and update the cache if it   |
|         |seems invalid. * Make BlockerCache._load() more tolerant to                  |
|         |installs/uninstalls so so that cache isn't rebuilt every time.               |

|10042    |Fix logic to re-use blockers from the graph when populating the blocker      |
|zmedico  |cache.                                                                       |

|10043    |Fix broken comparison, compare with None instead of nonzero.                 |
|zmedico  |                                                                             |

|10045    |Handle a KeyError when validating the blocker cache.                         |
|zmedico  |                                                                             |

|10047    |Bug #219837 - Adjust date calculations to improve accuracy.                  |
|zmedico  |                                                                             |

|10050    |* Add a Package.operation attribute and use it to distinguish "uninstall"    |
|zmedico  |operations.                                                                  |

|10052    |Don't add blockers to the graph more times than necessary.                   |
|zmedico  |                                                                             |

|10054    |Sort blockers when caching them.                                             |
|zmedico  |                                                                             |

|10056    |Detect an old version of tarsync and use bzip2 compression in that case.     |
|zmedico  |                                                                             |

|10062    |When adding blockers for installed packages to the graph, use cached Package |
|zmedico  |instances instead of constructing new ones.                                  |

|10065    |Fix variable rename breakage: pkg -> pkg.cpv                                 |
|zmedico  |                                                                             |

|10067    |Bug #219837 - Adjust date calculations some more and show an informative     |
|zmedico  |ewarn message when bailing out due to a newer snapshot being unavailable.    |

|10069    |check if PORTAGE_TMPDIR is mounted readonly/noexec (bug #219957)             |
|genone   |                                                                             |

|10070    |Skip group/owner tarsync options for tarsync if chown on /usr/portage fails, |
|zmedico  |since the user might still be able to sync even though the chown call is not |
|         |permitted.                                                                   |

|10072    |Fix broken variable references found by pyflakes.                            |
|zmedico  |                                                                             |

|10073    |remove 'sets/' name-prefix for file-based package sets                       |
|genone   |                                                                             |

|10075    |check if a given package set is defined more than once                       |
|genone   |                                                                             |

|10077    |add config option for package sets to not be recorded in 'world'             |
|genone   |                                                                             |

|10078    |properly remove sets from 'world' when unmerging                             |
|genone   |                                                                             |

|10079    |move cleaning of sets out of package loop                                    |
|genone   |                                                                             |

|10080    |do not consider sets to be installed that are about to be unmerged           |
|genone   |                                                                             |

|10081    |v2 of FEATURES=preserved-libs, using LinkageMap instead of the now removed   |
|genone   |LibraryPackageMap class                                                      |

|10082    |use special symlink comparison code (original patch from prefix r9499)       |
|genone   |                                                                             |

|10083    |fix typo                                                                     |
|genone   |                                                                             |

|10085    |rename NEEDED.2 to NEEDED.ELF.2 to allow other ABI formats to use a different|
|genone   |syntax                                                                       |

|10086    |Update documentation for package set configuration. Original patch by        |
|genone   |Arfrever Frehtes Taifersar Arahesis                                          |

|10092    |Clean up merge list handling: * In depgraph.loadResumeCommand(), populate    |
|zmedico  |_serialized_tasks_cache so that it can be returned from depgraph.altlist(). *|
|         |Handle --skipfirst instide depgraph.loadResumeCommand(), and fix it to skip  |
|         |the first "merge" task and never skip "uninstall" tasks. * Always get the    |
|         |merge list from depgraph.altlist() instead of using the mtimedb directly. The|
|         |list returned from depgraph.altlist() contains Package instances with cached |
|         |metadata. * Remove obsolete code from depgraph.display() and                 |
|         |MergeTask.merge() since the merge list always comes from depgraph.altlist()  |
|         |now, and never directly from the mtimedb.                                    |

|10094    |Validate resume list data some more.                                         |
|zmedico  |                                                                             |

|10096    |In depgraph._complete_graph(), use cached Package instances instead of       |
|zmedico  |constructing new ones.                                                       |

|10098    |In depgraph._serialize_tasks(), filter "nomerge" nodes at a more appropriate |
|zmedico  |place.                                                                       |

|10100    |Use Package instance attributes to clean up and simplify                     |
|zmedico  |depgraph.validate_blockers().                                                |

|10102    |Use Package.cp attribute instead of calling cpv_getkey().                    |
|zmedico  |                                                                             |

|10104    |When searching for a "sys-apps/portage" installation task, use match_pkgs()  |
|zmedico  |instead of sequential search.                                                |

|10106    |In depgraph.validate_blockers(), discard any "uninstall" tasks scheduled by  |
|zmedico  |previous calls, since those tasks may not make sense given the current graph |
|         |state.                                                                       |

|10108    |Move the blocker cache validation into depgraph.validate_blockers().         |
|zmedico  |                                                                             |

|10110    |Use match_pkgs() to simplify package comparison.                             |
|zmedico  |                                                                             |

|10112    |Add a PackageVirtualDbapi.__iter__() method and use it to iterate over all   |
|zmedico  |installed packages in depgraph.validate_blockers().                          |

|10114    |* Check for masked packages in the --resume merge list and bail out in that  |
|zmedico  |case (bug #199408). * In depgraph.loadResumeCommand(), create a dependency   |
|         |graph from the resume list. This ensures that the merge list has it's        |
|         |dependencies satisfied. It also enables --tree display together with         |
|         |--resume.                                                                    |

|10115    |Fix --resume mode to check for unsatisfied blockers and bail out when        |
|zmedico  |necessary.                                                                   |

|10116    |Add --nodeps to the parallel-fetch --resume options since recalculation of   |
|zmedico  |deps is a a waste here.                                                      |

|10117    |Delete the resume list(s) if there is an unsatisfied block.                  |
|zmedico  |                                                                             |

|10119    |Fix depgraph.loadResumeCommand() to identify an unsatisfied dependency and   |
|zmedico  |invalidate the resume list in that case.                                     |

|10121    |Make --nodepa automatically disable --tree.                                  |
|zmedico  |                                                                             |

|10123    |Move --resume options handling to the beginning of action_build() so that the|
|zmedico  |current options are updated with the saved options as soon as possible.      |

|10124    |Also move mtimedb resume list validation earlier.                            |
|zmedico  |                                                                             |

|10126    |Buf #219294 - Fix 'date' and 'cut' arguments for BSD userland. Thanks to RB  |
|zmedico  |<aoz.syn@gmail.com> for this patch.                                          |

|10127    |Use absolute paths for files in ${DISTDIR}. Thanks to RB <aoz.syn@gmail.com> |
|zmedico  |for this patch.                                                              |

|10130    |Similar to the circular dependency display, handle the unsatisfied blocker   |
|zmedico  |display inside _serialize_tasks() since that's a convenient place to bail    |
|         |out.                                                                         |

|10132    |* Move circular deps and blocker displays to depgraph.display_problems(). *  |
|zmedico  |Always call display_problems() since calling it from inside display() can    |
|         |lead to unwanted recursion.                                                  |

|10134    |Improve --resume handling of saved "favorites" argument atoms: * Save the    |
|zmedico  |favorites in oneshot mode too since they're still useful for restoring state |
|         |upon --resume. * Add a depgraph._load_favorites() method to resume state from|
|         |a previous select_files() call. This allows Package instances to be matched  |
|         |with DependencyArg instances during graph creation.                          |

|10136    |Fix logic so display_problems() gets called every time display() does.       |
|zmedico  |                                                                             |

|10137    |Fix display_problems() logic some more.                                      |
|zmedico  |                                                                             |

|10139    |When loadResumeCommand() rejects a resume list, give a more informative      |
|zmedico  |explanation.                                                                 |

|10141    |Don't clean out old resume lists when in --ask or --pretend mode.            |
|zmedico  |                                                                             |

|10143    |When a --resume list is rejected due to unsatisfied deps, display a list of  |
|zmedico  |missing deps and which packages they belong to.                              |

|10145    |When a resume list is rejected, display the invalid resume list data in case |
|zmedico  |the user is interested. This is enabled with --verbose or --debug.           |

|10147    |Validate all the data types inside BlockerCache._load() so that any          |
|zmedico  |corruption is detected as soon as possible.                                  |

|10149    |In BlockerData._load(), salvage as much cache as possible when some seems to |
|zmedico  |be corrupt.                                                                  |

|10151    |Fix spelling of _show_unsatisfied_blockers().                                |
|zmedico  |                                                                             |

|10153    |Remove obsolete tuple() usage inside depgraph.display().                     |
|zmedico  |                                                                             |

|10155    |Fix some unwanted interaction between --tree display and unsatisfied blockers|
|zmedico  |in depgraph.display().                                                       |

|10157    |Fix package counters in depgraph.display() so they're only incremented for   |
|zmedico  |"ordered" display nodes.                                                     |

|10160    |Fix misplaced variable used as parameter to _load_favorites().               |
|zmedico  |                                                                             |

|10162    |In order to fix --tree display behave normally in --resume mode, properly add|
|zmedico  |to the digraph all packages matched by arguments.                            |

|10165    |Do more validation of resume data from the mtimedb.                          |
|zmedico  |                                                                             |

|10171    |Similar to the sys-apps/portage protection, also add protection against      |
|zmedico  |inappropriately uninstalling either app-shells/bash or dev-lang/python.      |

|10179    |remove obsolete class                                                        |
|genone   |                                                                             |

|10180    |remove NEEDED from list of metadata variables (and associated special        |
|genone   |handling) as it's no longer used                                             |

|10182    |actually remove libraries that aren't strictly needed from the preservation  |
|genone   |candidate list                                                               |

|10184    |In the package uninstall sanity check, use RDEPEND from the currently running|
|zmedico  |'sys-apps/portage' instance to create a set of protected atoms.              |

|10186    |Fix misplaced variable.                                                      |
|zmedico  |                                                                             |

|10188    |Use a separate digraph to preserve irrelevant blocker relationships that are |
|zmedico  |removed from depgraph._blocker_parents since the irrelevant blockers are     |
|         |still needed for the blocker cache.                                          |

|10190    |Use writemsg() to warn about InvalidDependString exceptions that may occur   |
|zmedico  |for installed packages.                                                      |

|10192    |Bug #220171 - Filter out 'lost+found' directories in vardbapi.cpv_all() in   |
|zmedico  |order to avoid fatal 'Permission denied' errors. Currently, CVS and names    |
|         |beginning with '.' are also filtered.                                        |

|10194    |* Fix --buildpkgonly logic to avoid an unwanted code path. * Remove          |
|zmedico  |unnecessary mtimedb.pop("resume", None) call.                                |

|10195    |Bug #219286 - Whitelist INSTALL_MASK so that it works properly for binary    |
|zmedico  |packages. Also, filter INSTALL_MASK when saving or loading environment.bz2.  |
|         |This also applies to PKG_INSTALL_MASK and DOC_SYMLINKS_DIR, so add them too. |

|10198    |Add "package" to EBUILD_PHASES since it's possible for einfo to be called by |
|zmedico  |install_mask() during that phase.                                            |

|10200    |fix preserve_libs logic to properly account for the current package instance |
|genone   |                                                                             |

|10202    |Handle a potential InvalidData exception in vardbapi.cp_all().               |
|zmedico  |                                                                             |

|10204    |* In vardbapi.cpv_all() use catpkgsplit() for validation since that's what   |
|zmedico  |with cp_all() uses. * Use the listdir() dirsonly=1 parameter to avoid        |
|         |unnecessary stat calls via os.path.isdir().                                  |

|10206    |Add -MERGING-.* to vardbapi._excluded_dirs.                                  |
|zmedico  |                                                                             |

|10208    |Use vardbapi._excluded_dirs to filter results inside cp_list().              |
|zmedico  |                                                                             |

|10210    |Cache results for Task.__hash__() calls.                                     |
|zmedico  |                                                                             |

|10212    |Use find -path -or -name to match basenames of files in INSTALL_MASK as      |
|zmedico  |suggested by solar in bug #219286, comment #8.                               |

|10214    |Display satisfied blockers in green and show a small "b" instead of a big "B"|
|zmedico  |(similar to "f" for satisfied fetch restrictions).                           |

|10216    |For consistency with the merge list display, show "block" instead of         |
|zmedico  |"blocker" in the summary.                                                    |

|10218    |Make satisfied blockers "darkblue" by default.                               |
|zmedico  |                                                                             |

|10220    |In install_mask(), discard stderr messages from the 'find' command since some|
|zmedico  |tokens from INSTALL_MASK can trigger lots of warnings and errors that are    |
|         |irrelevant for our purposes.                                                 |

|10222    |Fix spelling of "SATISFIED". Thanks to Arfrever.                             |
|zmedico  |                                                                             |

|10224    |Tolerate InvalidDependString exceptions when checking visibility of installed|
|zmedico  |packages.                                                                    |

|10225    |Instead of doing automatic uninstalls in advance, install conflicting        |
|zmedico  |packages first and then do the uninstall afterwards. This requires special   |
|         |handling for file collisions occur, but it's preferred because it ensures    |
|         |that package files remain installed in a usable state whenever possible. When|
|         |file collisions occur between conflicting packages, the contents entries for |
|         |those files are removed from the packages that are scheduled for             |
|         |uninstallation. This prevents uninstallation operations from removing        |
|         |overlapping files that have been claimed by conflicting packages.            |

|10229    |Fix findInstalledBlockers() to check for blockers in both directions.        |
|zmedico  |                                                                             |

|10231    |Don't use try/finally to close atomic_ofstream since we don't want to call   |
|zmedico  |close() on this stream if an error occurs.                                   |

|10233    |Bug #220689 - Fix package selection logic so that it doesn't trigger the code|
|zmedico  |path from bug 219369 in some unwanted cases.                                 |

|10235    |Bug #220775 - Source isolated-functions.sh before trying to call vecho.      |
|zmedico  |                                                                             |

|10237    |Bug #220341 - USE=multislot can make an installed package appear as if it    |
|zmedico  |doesn't satisfy a slot dependency. Rebuilding the ebuild won't do any good as|
|         |long as USE=multislot is enabled since the newly built package still won't   |
|         |have the expected slot. Therefore, assume that such SLOT dependencies are    |
|         |already satisfied rather than forcing a rebuild.                             |

|10239    |Don't save "uninstall" tasks in the resume list since they'll be regenerated |
|zmedico  |by dependency calculations upon resume.                                      |

|10241    |Remove unnecessary BlockerDB and BlockerCache _installed_pkgs attributes.    |
|zmedico  |                                                                             |

|10246    |Remove stale uninstall tasks from scheduled_uninstalls when necessary.       |
|zmedico  |                                                                             |

|10250    |Make some confmem behavior modifications in order to try and make it less    |
|zmedico  |confusing for people who have forgotten about the --noconfmem option or are  |
|         |completely unaware of it. Thanks to Joe Peterson <lavajoe@gentoo.org> for    |
|         |suggesting these: * Always behave like --noconfmem is enabled for downgrades.|
|         |* Purge confmem entries when a package is unmerged rather than replaced.     |

|10252    |Bug #220987 - Fix UnboundLocalError for 'skip' that only occurs when using   |
|zmedico  |alternate ROOT. Thanks to Ryan Tandy <tarpman@gmail.com>.                    |

|10254    |Optimize BlockerDB.findInstalledBlockers() so that it doesn't unnecessarily  |
|zmedico  |try to match packages against an empty set of blocker atoms.                 |

|10256    |Make the fix for bug #220341 better by checking all selected packages for    |
|zmedico  |matching cpv rather than just the last one.                                  |

|10258    |Allow scheduled uninstalls to be selected the same way as other leaf nodes.  |
|zmedico  |                                                                             |

|10260    |Use set.instersection() instead of a for loop.                               |
|zmedico  |                                                                             |

|10262    |If an uninstall task fails inside MergeTask.merge(), use an UninstallFailure |
|zmedico  |exception to handle it instead of allowing unmerge() to call exit().         |

|10264    |For the "blockers" parameter that's passed into the dblink constructor now,  |
|zmedico  |make it a callable since it really shouldn't be called until the vdb lock has|
|         |been acquired.                                                               |

|10266    |Simplify code for derived Package attributes.                                |
|zmedico  |                                                                             |

|10269    |Describe how file collisions between blocking packages are resolved when they|
|zmedico  |are temporarily installed simultaneously.                                    |

|10271    |Bug #221107 - Fix depgraph._serialize_tasks() so that it doesn't try to      |
|zmedico  |schedule an uninstall task that's already been scheduled but hasn't been     |
|         |executed yet due to dependence on installation of blocking packages.         |

|10273    |Bug #221071 - Prevent display_problems() from redundantly displaying the     |
|zmedico  |exact same merge list a second time.                                         |

|10275    |Bug #221053 - Save the resume list before verifying the ebuild Manifests     |
|zmedico  |since it might be possible for the user to use --resume --skipfirst get past |
|         |a non-essential package with a broken digest.                                |

|10277    |Fix another KeyError, reported in Bug #221107, comment #4. There's no need to|
|zmedico  |remove uninstall tasks from scheduled_uninstalls, so just keep them in there.|

|10279    |When selecting leaf nodes, if there is a mix of merge and uninstall nodes,   |
|zmedico  |save the uninstall nodes from later since sometimes a merge node will render |
|         |an install node unnecessary, and we want to avoid doing a separate uninstall |
|         |task in that case.                                                           |

|10281    |Always include satisfied blockers as an indicator that blocking packages will|
|zmedico  |be temporarily installed simultaneously.                                     |

|10284    |eachother -> each other                                                      |
|zmedico  |                                                                             |

|10286    |If the uninstall task did not need to be executed because of an upgrade,     |
|zmedico  |display Blocker -> Upgrade edges since the corresponding Blocker -> Uninstall|
|         |edges will not be shown.                                                     |

|10288    |Make the summary more accurate.                                              |
|zmedico  |                                                                             |

|10289    |Bug #220111 - Update the DISTDIR docs to clarify that it's safe to remove any|
|zmedico  |and all files from this location after packages are built.                   |

|10290    |Sync make.conf.example with make.conf.5 for bug #220111.                     |
|zmedico  |                                                                             |

|10291    |Add back the warning for DISTDIR about storing stuff inside PORTDIR.         |
|zmedico  |                                                                             |

|10293    |Bug #221755 - Enable variable substitution in make.defaults to work accross  |
|zmedico  |multiple files instead of being confined to a single file. This allows       |
|         |profiles to create incremental-like behavior with non-incremental variables  |
|         |when desired.                                                                |

|10295    |Fix the variable subsitution code from bug #221755 so that variable          |
|zmedico  |assignments from earlier files don't leak into variable assignments from     |
|         |later files (except through substitution).                                   |

|10296    |Make the variable substitution code for bug #221755 slightly more efficient  |
|zmedico  |by allowing getconfig() to directly update the map that's used for           |
|         |substitutions.                                                               |

|10297    |Simplify the code for bug #221755 now that the substitution map is updated   |
|zmedico  |automatically by getconfig().                                                |

svn path=/main/branches/prefix/; revision=10300

18 years agoPrepare for bootstrap snapshots that go off of an rsync image
Fabian Groffen [Mon, 12 May 2008 15:12:27 +0000 (15:12 -0000)]
Prepare for bootstrap snapshots that go off of an rsync image

svn path=/main/branches/prefix/; revision=10299

18 years agoProgressively nuke tbz2tool, per bug #220701, comment #4.
Fabian Groffen [Sat, 10 May 2008 09:37:08 +0000 (09:37 -0000)]
Progressively nuke tbz2tool, per bug #220701, comment #4.

svn path=/main/branches/prefix/; revision=10283

18 years ago Merged from trunk 10246:10266
Fabian Groffen [Fri, 9 May 2008 12:29:20 +0000 (12:29 -0000)]
   Merged from trunk 10246:10266

   | 10250   | Make some confmem behavior modifications in order to try and |
   | zmedico | make it less confusing for people who have forgotten about   |
   |         | the --noconfmem option or are completely unaware of it.      |
   |         | Thanks to Joe Peterson <lavajoe@gentoo.org> for suggesting   |
   |         | these: * Always behave like --noconfmem is enabled for       |
   |         | downgrades. * Purge confmem entries when a package is        |
   |         | unmerged rather than replaced.                               |

   | 10252   | Bug #220987 - Fix UnboundLocalError for 'skip' that only     |
   | zmedico | occurs when using alternate ROOT. Thanks to Ryan Tandy       |
   |         | <tarpman@gmail.com>.                                         |

   | 10254   | Optimize BlockerDB.findInstalledBlockers() so that it        |
   | zmedico | doesn't unnecessarily try to match packages against an empty |
   |         | set of blocker atoms.                                        |

   | 10256   | Make the fix for bug #220341 better by checking all selected |
   | zmedico | packages for matching cpv rather than just the last one.     |

   | 10258   | Allow scheduled uninstalls to be selected the same way as    |
   | zmedico | other leaf nodes.                                            |

   | 10260   | Use set.instersection() instead of a for loop.               |
   | zmedico |                                                              |

   | 10262   | If an uninstall task fails inside MergeTask.merge(), use an  |
   | zmedico | UninstallFailure exception to handle it instead of allowing  |
   |         | unmerge() to call exit().                                    |

   | 10264   | For the "blockers" parameter that's passed into the dblink   |
   | zmedico | constructor now, make it a callable since it really          |
   |         | shouldn't be called until the vdb lock has been acquired.    |

   | 10266   | Simplify code for derived Package attributes.                |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10268

18 years ago Merged from trunk 10245:10246
Fabian Groffen [Thu, 8 May 2008 20:05:53 +0000 (20:05 -0000)]
   Merged from trunk 10245:10246

   | 10246   | Remove stale uninstall tasks from scheduled_uninstalls when  |
   | zmedico | necessary.                                                   |

svn path=/main/branches/prefix/; revision=10249

18 years agotry to follow the changed 'interface' of linkmap in our MachO implementation
Fabian Groffen [Thu, 8 May 2008 20:01:27 +0000 (20:01 -0000)]
try to follow the changed 'interface' of linkmap in our MachO implementation

svn path=/main/branches/prefix/; revision=10248

18 years agoAdd missing EPREFIX
Fabian Groffen [Thu, 8 May 2008 19:24:12 +0000 (19:24 -0000)]
Add missing EPREFIX

svn path=/main/branches/prefix/; revision=10245

18 years ago Merged from trunk 10208:10241
Fabian Groffen [Thu, 8 May 2008 19:18:20 +0000 (19:18 -0000)]
   Merged from trunk 10208:10241

   | 10210   | Cache results for Task.__hash__() calls.                     |
   | zmedico |                                                              |

   | 10212   | Use find -path -or -name to match basenames of files in      |
   | zmedico | INSTALL_MASK as suggested by solar in bug #219286, comment   |
   |         | #8.                                                          |

   | 10214   | Display satisfied blockers in green and show a small "b"     |
   | zmedico | instead of a big "B" (similar to "f" for satisfied fetch     |
   |         | restrictions).                                               |

   | 10216   | For consistency with the merge list display, show "block"    |
   | zmedico | instead of "blocker" in the summary.                         |

   | 10218   | Make satisfied blockers "darkblue" by default.               |
   | zmedico |                                                              |

   | 10220   | In install_mask(), discard stderr messages from the 'find'   |
   | zmedico | command since some tokens from INSTALL_MASK can trigger lots |
   |         | of warnings and errors that are irrelevant for our purposes. |

   | 10222   | Fix spelling of "SATISFIED". Thanks to Arfrever.             |
   | zmedico |                                                              |

   | 10224   | Tolerate InvalidDependString exceptions when checking        |
   | zmedico | visibility of installed packages.                            |

   | 10225   | Instead of doing automatic uninstalls in advance, install    |
   | zmedico | conflicting packages first and then do the uninstall         |
   |         | afterwards. This requires special handling for file          |
   |         | collisions occur, but it's preferred because it ensures that |
   |         | package files remain installed in a usable state whenever    |
   |         | possible. When file collisions occur between conflicting     |
   |         | packages, the contents entries for those files are removed   |
   |         | from the packages that are scheduled for uninstallation.     |
   |         | This prevents uninstallation operations from removing        |
   |         | overlapping files that have been claimed by conflicting      |
   |         | packages.                                                    |

   | 10229   | Fix findInstalledBlockers() to check for blockers in both    |
   | zmedico | directions.                                                  |

   | 10231   | Don't use try/finally to close atomic_ofstream since we      |
   | zmedico | don't want to call close() on this stream if an error        |
   |         | occurs.                                                      |

   | 10233   | Bug #220689 - Fix package selection logic so that it doesn't |
   | zmedico | trigger the code path from bug 219369 in some unwanted       |
   |         | cases.                                                       |

   | 10235   | Bug #220775 - Source isolated-functions.sh before trying to  |
   | zmedico | call vecho.                                                  |

   | 10237   | Bug #220341 - USE=multislot can make an installed package    |
   | zmedico | appear as if it doesn't satisfy a slot dependency.           |
   |         | Rebuilding the ebuild won't do any good as long as           |
   |         | USE=multislot is enabled since the newly built package still |
   |         | won't have the expected slot. Therefore, assume that such    |
   |         | SLOT dependencies are already satisfied rather than forcing  |
   |         | a rebuild.                                                   |

   | 10239   | Don't save "uninstall" tasks in the resume list since        |
   | zmedico | they'll be regenerated by dependency calculations upon       |
   |         | resume.                                                      |

   | 10241   | Remove unnecessary BlockerDB and BlockerCache                |
   | zmedico | _installed_pkgs attributes.                                  |

svn path=/main/branches/prefix/; revision=10244

18 years ago Merged from trunk 10182:10208
Fabian Groffen [Thu, 8 May 2008 19:14:22 +0000 (19:14 -0000)]
   Merged from trunk 10182:10208

   | 10184   | In the package uninstall sanity check, use RDEPEND from the  |
   | zmedico | currently running 'sys-apps/portage' instance to create a    |
   |         | set of protected atoms.                                      |

   | 10186   | Fix misplaced variable.                                      |
   | zmedico |                                                              |

   | 10188   | Use a separate digraph to preserve irrelevant blocker        |
   | zmedico | relationships that are removed from                          |
   |         | depgraph._blocker_parents since the irrelevant blockers are  |
   |         | still needed for the blocker cache.                          |

   | 10190   | Use writemsg() to warn about InvalidDependString exceptions  |
   | zmedico | that may occur for installed packages.                       |

   | 10192   | Bug #220171 - Filter out 'lost+found' directories in         |
   | zmedico | vardbapi.cpv_all() in order to avoid fatal 'Permission       |
   |         | denied' errors. Currently, CVS and names beginning with '.'  |
   |         | are also filtered.                                           |

   | 10194   | * Fix --buildpkgonly logic to avoid an unwanted code path. * |
   | zmedico | Remove unnecessary mtimedb.pop("resume", None) call.         |

   | 10195   | Bug #219286 - Whitelist INSTALL_MASK so that it works        |
   | zmedico | properly for binary packages. Also, filter INSTALL_MASK when |
   |         | saving or loading environment.bz2. This also applies to      |
   |         | PKG_INSTALL_MASK and DOC_SYMLINKS_DIR, so add them too.      |

   | 10198   | Add "package" to EBUILD_PHASES since it's possible for einfo |
   | zmedico | to be called by install_mask() during that phase.            |

   | 10200   | fix preserve_libs logic to properly account for the current  |
   | genone  | package instance                                             |

   | 10202   | Handle a potential InvalidData exception in                  |
   | zmedico | vardbapi.cp_all().                                           |

   | 10204   | * In vardbapi.cpv_all() use catpkgsplit() for validation     |
   | zmedico | since that's what with cp_all() uses. * Use the listdir()    |
   |         | dirsonly=1 parameter to avoid unnecessary stat calls via     |
   |         | os.path.isdir().                                             |

   | 10206   | Add -MERGING-.* to vardbapi._excluded_dirs.                  |
   | zmedico |                                                              |

   | 10208   | Use vardbapi._excluded_dirs to filter results inside         |
   | zmedico | cp_list().                                                   |

svn path=/main/branches/prefix/; revision=10243

18 years agoFor backwards compatability, generate old NEEDED file
Fabian Groffen [Sun, 4 May 2008 14:35:06 +0000 (14:35 -0000)]
For backwards compatability, generate old NEEDED file

svn path=/main/branches/prefix/; revision=10183

18 years ago Merged from trunk 10178:10180
Fabian Groffen [Sun, 4 May 2008 13:33:49 +0000 (13:33 -0000)]
   Merged from trunk 10178:10180

   | 10179  | remove obsolete class                                         |
   | genone |                                                               |

   | 10180  | remove NEEDED from list of metadata variables (and associated |
   | genone | special handling) as it's no longer used                      |

svn path=/main/branches/prefix/; revision=10181

18 years agostupid typo
Fabian Groffen [Sun, 4 May 2008 12:19:23 +0000 (12:19 -0000)]
stupid typo

svn path=/main/branches/prefix/; revision=10178

18 years ago Merged from trunk 10165:10171
Fabian Groffen [Sun, 4 May 2008 12:02:29 +0000 (12:02 -0000)]
   Merged from trunk 10165:10171

   | 10171   | Similar to the sys-apps/portage protection, also add         |
   | zmedico | protection against inappropriately uninstalling either       |
   |         | app-shells/bash or dev-lang/python.                          |

svn path=/main/branches/prefix/; revision=10177

18 years ago(In theory) use the MachO linkage map on Darwin
Fabian Groffen [Sun, 4 May 2008 11:32:23 +0000 (11:32 -0000)]
(In theory) use the MachO linkage map on Darwin

svn path=/main/branches/prefix/; revision=10176

18 years agowe don't need the default paths
Fabian Groffen [Sun, 4 May 2008 11:26:50 +0000 (11:26 -0000)]
we don't need the default paths

svn path=/main/branches/prefix/; revision=10175

18 years agoAdd Mach-O LinkageMap implementation
Fabian Groffen [Sun, 4 May 2008 11:25:08 +0000 (11:25 -0000)]
Add Mach-O LinkageMap implementation

svn path=/main/branches/prefix/; revision=10174

18 years agoAlso store the install_name, we need it to detect the group of files/symlinks that...
Fabian Groffen [Sun, 4 May 2008 09:14:18 +0000 (09:14 -0000)]
Also store the install_name, we need it to detect the group of files/symlinks that make up one library

svn path=/main/branches/prefix/; revision=10173

18 years ago Merged from trunk 10149:10165
Fabian Groffen [Sun, 4 May 2008 07:52:57 +0000 (07:52 -0000)]
   Merged from trunk 10149:10165

   | 10151   | Fix spelling of _show_unsatisfied_blockers().                |
   | zmedico |                                                              |

   | 10153   | Remove obsolete tuple() usage inside depgraph.display().     |
   | zmedico |                                                              |

   | 10155   | Fix some unwanted interaction between --tree display and     |
   | zmedico | unsatisfied blockers in depgraph.display().                  |

   | 10157   | Fix package counters in depgraph.display() so they're only   |
   | zmedico | incremented for "ordered" display nodes.                     |

   | 10160   | Fix misplaced variable used as parameter to                  |
   | zmedico | _load_favorites().                                           |

   | 10162   | In order to fix --tree display behave normally in --resume   |
   | zmedico | mode, properly add to the digraph all packages matched by    |
   |         | arguments.                                                   |

   | 10165   | Do more validation of resume data from the mtimedb.          |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10170

18 years ago Merged from trunk 10124:10149
Fabian Groffen [Sun, 4 May 2008 07:51:38 +0000 (07:51 -0000)]
   Merged from trunk 10124:10149

   | 10126   | Buf #219294 - Fix 'date' and 'cut' arguments for BSD         |
   | zmedico | userland. Thanks to RB <aoz.syn@gmail.com> for this patch.   |

   | 10127   | Use absolute paths for files in ${DISTDIR}. Thanks to RB     |
   | zmedico | <aoz.syn@gmail.com> for this patch.                          |

   | 10130   | Similar to the circular dependency display, handle the       |
   | zmedico | unsatisfied blocker display inside _serialize_tasks() since  |
   |         | that's a convenient place to bail out.                       |

   | 10132   | * Move circular deps and blocker displays to                 |
   | zmedico | depgraph.display_problems(). * Always call                   |
   |         | display_problems() since calling it from inside display()    |
   |         | can lead to unwanted recursion.                              |

   | 10134   | Improve --resume handling of saved "favorites" argument      |
   | zmedico | atoms: * Save the favorites in oneshot mode too since        |
   |         | they're still useful for restoring state upon --resume. *    |
   |         | Add a depgraph._load_favorites() method to resume state from |
   |         | a previous select_files() call. This allows Package          |
   |         | instances to be matched with DependencyArg instances during  |
   |         | graph creation.                                              |

   | 10136   | Fix logic so display_problems() gets called every time       |
   | zmedico | display() does.                                              |

   | 10137   | Fix display_problems() logic some more.                      |
   | zmedico |                                                              |

   | 10139   | When loadResumeCommand() rejects a resume list, give a more  |
   | zmedico | informative explanation.                                     |

   | 10141   | Don't clean out old resume lists when in --ask or --pretend  |
   | zmedico | mode.                                                        |

   | 10143   | When a --resume list is rejected due to unsatisfied deps,    |
   | zmedico | display a list of missing deps and which packages they       |
   |         | belong to.                                                   |

   | 10145   | When a resume list is rejected, display the invalid resume   |
   | zmedico | list data in case the user is interested. This is enabled    |
   |         | with --verbose or --debug.                                   |

   | 10147   | Validate all the data types inside BlockerCache._load() so   |
   | zmedico | that any corruption is detected as soon as possible.         |

   | 10149   | In BlockerData._load(), salvage as much cache as possible    |
   | zmedico | when some seems to be corrupt.                               |

svn path=/main/branches/prefix/; revision=10169

18 years ago Merged from trunk 10091:10124
Fabian Groffen [Sun, 4 May 2008 07:49:43 +0000 (07:49 -0000)]
   Merged from trunk 10091:10124

   | 10092   | Clean up merge list handling: * In                           |
   | zmedico | depgraph.loadResumeCommand(), populate                       |
   |         | _serialized_tasks_cache so that it can be returned from      |
   |         | depgraph.altlist(). * Handle --skipfirst instide             |
   |         | depgraph.loadResumeCommand(), and fix it to skip the first   |
   |         | "merge" task and never skip "uninstall" tasks. * Always get  |
   |         | the merge list from depgraph.altlist() instead of using the  |
   |         | mtimedb directly. The list returned from depgraph.altlist()  |
   |         | contains Package instances with cached metadata. * Remove    |
   |         | obsolete code from depgraph.display() and MergeTask.merge()  |
   |         | since the merge list always comes from depgraph.altlist()    |
   |         | now, and never directly from the mtimedb.                    |

   | 10094   | Validate resume list data some more.                         |
   | zmedico |                                                              |

   | 10096   | In depgraph._complete_graph(), use cached Package instances  |
   | zmedico | instead of constructing new ones.                            |

   | 10098   | In depgraph._serialize_tasks(), filter "nomerge" nodes at a  |
   | zmedico | more appropriate place.                                      |

   | 10100   | Use Package instance attributes to clean up and simplify     |
   | zmedico | depgraph.validate_blockers().                                |

   | 10102   | Use Package.cp attribute instead of calling cpv_getkey().    |
   | zmedico |                                                              |

   | 10104   | When searching for a "sys-apps/portage" installation task,   |
   | zmedico | use match_pkgs() instead of sequential search.               |

   | 10106   | In depgraph.validate_blockers(), discard any "uninstall"     |
   | zmedico | tasks scheduled by previous calls, since those tasks may not |
   |         | make sense given the current graph state.                    |

   | 10108   | Move the blocker cache validation into                       |
   | zmedico | depgraph.validate_blockers().                                |

   | 10110   | Use match_pkgs() to simplify package comparison.             |
   | zmedico |                                                              |

   | 10112   | Add a PackageVirtualDbapi.__iter__() method and use it to    |
   | zmedico | iterate over all installed packages in                       |
   |         | depgraph.validate_blockers().                                |

   | 10114   | * Check for masked packages in the --resume merge list and   |
   | zmedico | bail out in that case (bug #199408). * In                    |
   |         | depgraph.loadResumeCommand(), create a dependency graph from |
   |         | the resume list. This ensures that the merge list has it's   |
   |         | dependencies satisfied. It also enables --tree display       |
   |         | together with --resume.                                      |

   | 10115   | Fix --resume mode to check for unsatisfied blockers and bail |
   | zmedico | out when necessary.                                          |

   | 10116   | Add --nodeps to the parallel-fetch --resume options since    |
   | zmedico | recalculation of deps is a a waste here.                     |

   | 10117   | Delete the resume list(s) if there is an unsatisfied block.  |
   | zmedico |                                                              |

   | 10119   | Fix depgraph.loadResumeCommand() to identify an unsatisfied  |
   | zmedico | dependency and invalidate the resume list in that case.      |

   | 10121   | Make --nodepa automatically disable --tree.                  |
   | zmedico |                                                              |

   | 10123   | Move --resume options handling to the beginning of           |
   | zmedico | action_build() so that the current options are updated with  |
   |         | the saved options as soon as possible.                       |

   | 10124   | Also move mtimedb resume list validation earlier.            |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=10168

18 years agoMach-O 2 format is essentially just a ';' instead of a ' ' so we can cope with paths...
Fabian Groffen [Sun, 4 May 2008 07:46:00 +0000 (07:46 -0000)]
Mach-O 2 format is essentially just a ';' instead of a ' ' so we can cope with paths containing spaces.  I still need to implement the Darwin logic though.

svn path=/main/branches/prefix/; revision=10167

18 years agoCall Prefix scanelf (yuck this is ugly!), do not run basename on NEEDED
Fabian Groffen [Fri, 2 May 2008 15:31:22 +0000 (15:31 -0000)]
Call Prefix scanelf (yuck this is ugly!), do not run basename on NEEDED
entries any more, genone says the code can deal with it.

svn path=/main/branches/prefix/; revision=10091

18 years agouse configured values for portage user and group instead of hardcoded portage:portage
Fabian Groffen [Fri, 2 May 2008 14:49:33 +0000 (14:49 -0000)]
use configured values for portage user and group instead of hardcoded portage:portage

svn path=/main/branches/prefix/; revision=10090

18 years ago Merged from trunk 10069:10086
Fabian Groffen [Fri, 2 May 2008 14:40:49 +0000 (14:40 -0000)]
   Merged from trunk 10069:10086

   | 10070   | Skip group/owner tarsync options for tarsync if chown on     |
   | zmedico | /usr/portage fails, since the user might still be able to    |
   |         | sync even though the chown call is not permitted.            |

   | 10072   | Fix broken variable references found by pyflakes.            |
   | zmedico |                                                              |

   | 10073   | remove 'sets/' name-prefix for file-based package sets       |
   | genone  |                                                              |

   | 10075   | check if a given package set is defined more than once       |
   | genone  |                                                              |

   | 10077   | add config option for package sets to not be recorded in     |
   | genone  | 'world'                                                      |

   | 10078   | properly remove sets from 'world' when unmerging             |
   | genone  |                                                              |

   | 10079   | move cleaning of sets out of package loop                    |
   | genone  |                                                              |

   | 10080   | do not consider sets to be installed that are about to be    |
   | genone  | unmerged                                                     |

   | 10081   | v2 of FEATURES=preserved-libs, using LinkageMap instead of   |
   | genone  | the now removed LibraryPackageMap class                      |

   | 10082   | use special symlink comparison code (original patch from     |
   | genone  | prefix r9499)                                                |

   | 10083   | fix typo                                                     |
   | genone  |                                                              |

   | 10085   | rename NEEDED.2 to NEEDED.ELF.2 to allow other ABI formats   |
   | genone  | to use a different syntax                                    |

   | 10086   | Update documentation for package set configuration. Original |
   | genone  | patch by Arfrever Frehtes Taifersar Arahesis                 |

svn path=/main/branches/prefix/; revision=10089

18 years ago Merged from trunk 10035:10069
Fabian Groffen [Fri, 2 May 2008 14:39:08 +0000 (14:39 -0000)]
   Merged from trunk 10035:10069

   | 10037   | Make unmerge() group packages by cat/pn when the order       |
   | zmedico | doesn't matter, so the display appears like earlier versions |
   |         | of portage.                                                  |

   | 10039   | Fix "deep" logic in depgraph._complete_graph() so that it    |
   | zmedico | always properly recognizes whether or not "deep" was         |
   |         | previously enabled.                                          |

   | 10041   | * Fix dep_check() so that it doesn't expand virtual blockers |
   | zmedico | since the un-expanded virtual atom is more useful for        |
   |         | maintaining a cache of blocker atoms. * Expand virtual       |
   |         | blockers in depgraph.validate_blockers(), since it's not     |
   |         | done by dep_check() anymore. * If blocker data from the      |
   |         | graph is available, use it to validate the blocker cache and |
   |         | update the cache if it seems invalid. * Make                 |
   |         | BlockerCache._load() more tolerant to installs/uninstalls so |
   |         | so that cache isn't rebuilt every time.                      |

   | 10042   | Fix logic to re-use blockers from the graph when populating  |
   | zmedico | the blocker cache.                                           |

   | 10043   | Fix broken comparison, compare with None instead of nonzero. |
   | zmedico |                                                              |

   | 10045   | Handle a KeyError when validating the blocker cache.         |
   | zmedico |                                                              |

   | 10047   | Bug #219837 - Adjust date calculations to improve accuracy.  |
   | zmedico |                                                              |

   | 10050   | * Add a Package.operation attribute and use it to            |
   | zmedico | distinguish "uninstall" operations.                          |

   | 10052   | Don't add blockers to the graph more times than necessary.   |
   | zmedico |                                                              |

   | 10054   | Sort blockers when caching them.                             |
   | zmedico |                                                              |

   | 10056   | Detect an old version of tarsync and use bzip2 compression   |
   | zmedico | in that case.                                                |

   | 10062   | When adding blockers for installed packages to the graph,    |
   | zmedico | use cached Package instances instead of constructing new     |
   |         | ones.                                                        |

   | 10065   | Fix variable rename breakage: pkg -> pkg.cpv                 |
   | zmedico |                                                              |

   | 10067   | Bug #219837 - Adjust date calculations some more and show an |
   | zmedico | informative ewarn message when bailing out due to a newer    |
   |         | snapshot being unavailable.                                  |

   | 10069   | check if PORTAGE_TMPDIR is mounted readonly/noexec (bug      |
   | genone  | #219957)                                                     |

svn path=/main/branches/prefix/; revision=10088

18 years ago Merged from trunk 10000:10035
Fabian Groffen [Fri, 2 May 2008 14:36:59 +0000 (14:36 -0000)]
   Merged from trunk 10000:10035

   | 10001   | Bug #219369 - Enable automatic upgrage or downgrade to a     |
   | zmedico | version with visible KEYWORDS when the installed version is  |
   |         | masked by KEYWORDS, but never reinstall the same exact       |
   |         | version only due to a KEYWORDS mask.                         |

   | 10003   | Never uninstall sys-apps/portage except through replacement. |
   | zmedico |                                                              |

   | 10005   | * Remove the only remaining sys.exit() calls inside the      |
   | zmedico | depgraph class. * Fix _unknown_internal_error() to work with |
   |         | zero arguments.                                              |

   | 10006   | Fix the EbuildQuote check to ignore "echo" and the elog      |
   | zmedico | functions since people might not want quotes in those cases. |

   | 10007   | Bug #218854 - Fix depgraph._iter_atoms_for_pkg() so that     |
   | zmedico | argument atoms only match the highest visible slot.          |

   | 10008   | Add missing slot comparison when looking for higher slot in  |
   | zmedico | _iter_atoms_for_pkg().                                       |

   | 10009   | Bug #211833 - When an ebuild removal phase fails, notify the |
   | zmedico | user that removal of environment.bz2 file will cause the     |
   |         | ebuild to be sourced and eclasses from the current portage   |
   |         | tree will be used when necessary.                            |

   | 10014   | Fix PackageVirtualDbapi.cpv_inject() to make sure packages   |
   | zmedico | with duplicate cpv or slot are handled correctly.            |

   | 10016   | Use write_atomic() for manifest updates.                     |
   | zmedico |                                                              |

   | 10018   | Try to format the elog message better for bug #211833,       |
   | zmedico | separating paragraphs for easier reading.                    |

   | 10020   | Add comma to ("__weakref__",) so that it's a tuple instead   |
   | zmedico | of a string. Thanks to ferringb.                             |

   | 10022   | As suggested by Chr. Schaefer in bug #211833, comment #15,   |
   | zmedico | note that removal of the environment.bz2 file is preferred   |
   |         | since it may allow the removal phases to execute             |
   |         | successfully.                                                |

   | 10024   | For bug #211833, be explicit that the pkg_prerm() and        |
   | zmedico | pkg_postrm() removal phases are the ones that are skipped.   |

   | 10026   | Add a Package.pv_split attibute to optimize version          |
   | zmedico | comparison operators.                                        |

   | 10028   | Fix spelling.                                                |
   | zmedico |                                                              |

   | 10030   | When a package scheduled for uninstall isn't installed       |
   | zmedico | anymore, move on to the next task.                           |

   | 10032   | Handle a potential KeyError in depgraph.display() when in    |
   | zmedico | --resume mode and a package scheduled for uninstall is no    |
   |         | longer installed.                                            |

   | 10034   | Prevent some more visible downgrades from possibly being     |
   | zmedico | missed (bug #219369).                                        |

   | 10035   | Prevent some more visible downgrades from possibly being     |
   | zmedico | missed (bug #219369).                                        |

svn path=/main/branches/prefix/; revision=10087

18 years agoRevert 9499, genone merged and improved it in 10082
Fabian Groffen [Fri, 2 May 2008 09:43:13 +0000 (09:43 -0000)]
Revert 9499, genone merged and improved it in 10082

svn path=/main/branches/prefix/; revision=10084

18 years agothis is /bin/sh so we need to quote the hell and beyond
Fabian Groffen [Thu, 1 May 2008 20:30:28 +0000 (20:30 -0000)]
this is /bin/sh so we need to quote the hell and beyond

svn path=/main/branches/prefix/; revision=10064

18 years agomore quoting to get spaces in username/groupname working right
Fabian Groffen [Thu, 1 May 2008 17:13:48 +0000 (17:13 -0000)]
more quoting to get spaces in username/groupname working right

svn path=/main/branches/prefix/; revision=10060

18 years agoproperly quote rootuser, since on Windows/Interix/SFU it can be a thing with spaces...
Fabian Groffen [Thu, 1 May 2008 17:10:11 +0000 (17:10 -0000)]
properly quote rootuser, since on Windows/Interix/SFU it can be a thing with spaces in it (yuk!)

svn path=/main/branches/prefix/; revision=10059

18 years agocorrect merge error
Fabian Groffen [Sun, 27 Apr 2008 15:38:38 +0000 (15:38 -0000)]
correct merge error

svn path=/main/branches/prefix/; revision=10000

18 years ago Merged from trunk 9962:9994
Fabian Groffen [Sun, 27 Apr 2008 14:56:09 +0000 (14:56 -0000)]
   Merged from trunk 9962:9994

   | 9963    | Rename the "consistent" depgraph parameter to "complete"     |
   | zmedico | since what it really means is that the graph will be         |
   |         | complete in the sense that no known dependencies are         |
   |         | neglected.                                                   |

   | 9964    | Update description of "complete" depgraph param.             |
   | zmedico |                                                              |

   | 9965    | Bug #172812 - If any Uninstall tasks need to be executed in  |
   | zmedico | order to avoid a conflict, complete the graph with any       |
   |         | dependencies that may have been initially neglected (to      |
   |         | ensure that unsafe Uninstall tasks are properly identified   |
   |         | and blocked from execution).                                 |

   | 9967    | remove unused function                                       |
   | genone  |                                                              |

   | 9968    | Add some more spinner.update() calls in possibly time        |
   | zmedico | consuming loops.                                             |

   | 9970    | as NEEDED files don't conain enough formation for e.g.       |
   | genone  | preserve-libsto work properly and we don't want to change    |
   |         | the format of existing files create another file including   |
   |         | additional information                                       |

   | 9971    | remove debug output                                          |
   | genone  |                                                              |

   | 9972    | s/be only/only be/                                           |
   | zmedico |                                                              |

   | 9976    | Bug #219251 - Fix typo in PORTDIR_OVERLAY when searching for |
   | zmedico | sets.conf files. Thanks to Manuel Nickschas                  |
   |         | <sputnick@quassel-irc.org> for fixing this.                  |

   | 9977    | Refactor the way that depgraph.altlist(), _complete_graph(), |
   | zmedico | and validate_blockers() interact with eachother. This        |
   |         | simplifies things by eliminating the need for recursive      |
   |         | calls to validate_blockers().                                |

   | 9978    | add LibraryPackageMap replacement using NEEDED.2 files       |
   | genone  |                                                              |

   | 9979    | * Add a Blocker class to use instead of tuples. * Fix the    |
   | zmedico | Task constructor to properly traverse __slots__ of all       |
   |         | inherited classes.                                           |

   | 9980    | Don't assume that altlist() will succeed inside              |
   | zmedico | display_problems().                                          |

   | 9981    | Use digraphs to clean up blocker reference counting in the   |
   | zmedico | depgraph.                                                    |

   | 9982    | Add a PackageVirtualDbapi.copy() method.                     |
   | zmedico |                                                              |

   | 9983    | Bug #172812 - When a package needs to be uninstalled in      |
   | zmedico | advance rather than through replacement, show the            |
   |         | corresponding [blocks] entries in the displayed list. In     |
   |         | order to show more structure in the --tree display, expand   |
   |         | Package -> Uninstall edges into Package -> Blocker ->        |
   |         | Uninstall edges. Also, create edges between a package's own  |
   |         | blockers and it's Uninstall task since it's blockers become  |
   |         | irrelevant as soon as it's uninstalled.                      |

   | 9990    | Remove unnecessary "mydbapi" variable in depgraph.display(). |
   | zmedico |                                                              |

   | 9992    | Create a digraph.difference_update() method and use it to    |
   | zmedico | amortize the cost of removing nodes from the digraph.order   |
   |         | list.                                                        |

   | 9994    | Take the classes that initialize variables in __slots__ with |
   | zmedico | keyword constructor arguments and make them all derive from  |
   |         | a new SlotObject class.                                      |
   Merged from trunk 9995:9996

   | 9996   | some minor code fixes                                         |
   | genone |                                                               |
   Merged from trunk 9996:9998

   | 9997   | actually use rpath for the internal lib check                 |
   | genone |                                                               |

   | 9998   | fix logic error                                               |
   | genone |                                                               |

svn path=/main/branches/prefix/; revision=9999

18 years ago Merged from trunk 9941:9959
Fabian Groffen [Thu, 24 Apr 2008 18:00:13 +0000 (18:00 -0000)]
   Merged from trunk 9941:9959

   | 9943    | Make dir_get_metadata() retry if a httplib.ResponseNotReady  |
   | zmedico | exception occurs.                                            |

   | 9945    | Bug #172812 - Add an Uninstall class derived from the        |
   | zmedico | Package class, for packages that may need to be uninstalled  |
   |         | to avoid conflicts.                                          |

   | 9946    | Bug #172812 - Automatically uninstall packages to avoid      |
   | zmedico | blocker conflicts. The intention is to only uninstall        |
   |         | packages that would be removed by --depclean (after the      |
   |         | updates) anyway. To prevent automatic uninstallation of      |
   |         | packages that the user probably wants to keep, the following |
   |         | types of packages will not be automatically unmerged: *      |
   |         | Installed packages that have been pulled into the current    |
   |         | dependency graph. Note that this check is not necessarily    |
   |         | complete unless the --complete-graph option is enabled,      |
   |         | making other sanity checks necessary. * Installed packages   |
   |         | matched by atoms from the system set. For safety, these are  |
   |         | unmerged after being replaced by another version. *          |
   |         | Installed packages matched by atoms from the world set, if   |
   |         | there is no matching replacement in the current dependency   |
   |         | graph.                                                       |

   | 9947    | s/unmerge/uninstall/ for consistency.                        |
   | zmedico |                                                              |

   | 9948    | Bug #172812 - Document new automatic uninstallation behavior |
   | zmedico | in the "Conflict Avoidance" section.                         |

   | 9949    | Bug #172812 - Protect packages from being removed from the   |
   | zmedico | world file during automatic uninstallation.                  |

   | 9950    | Reset the state variables for leaf node selection in         |
   | zmedico | depgraph.altlist() when appropriate.                         |

   | 9951    | Split out a _dequeue_uninstall_tasks() method.               |
   | zmedico |                                                              |

   | 9952    | Bug #172812 - When automatically uninstalling packages,      |
   | zmedico | build the next package in the merge list before executing    |
   |         | scheduled uninstall tasks.                                   |

   | 9953    | Combine --nodeps spinner logic.                              |
   | zmedico |                                                              |

   | 9954    | Fix broken mtimedb resume list handling for automatic        |
   | zmedico | uninstall tasks.                                             |

   | 9955    | Handle potential InvalidDependString exceptions when match   |
   | zmedico | packages to system and world atoms in depgraph.altlist().    |

   | 9956    | Fix interaction between automatic uninstall and options like |
   | zmedico | --pretend, --fetchonly, and --buildpkgonly.                  |

   | 9959    | Add a note about automatic uninstallation to solve blockers. |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=9962

18 years ago Merged from trunk 9909:9941
Fabian Groffen [Thu, 24 Apr 2008 17:58:14 +0000 (17:58 -0000)]
   Merged from trunk 9909:9941

   | 9910    | Inside dblink.unmerge(), call self.updateprotect() just in   |
   | zmedico | case anything has changed since the dblink instance was      |
   |         | constructed.                                                 |

   | 9912    | Handle potential InvalidDependString exceptions from         |
   | zmedico | visible().                                                   |

   | 9914    | Bug #217905 - Fix portdbapi.getfetchlist() to correctly      |
   | zmedico | calculate USE when the useflags parameter is not passed in.  |

   | 9916    | If the mysettings parameter is not passed in to              |
   | zmedico | portdbapi.getfetchlist() then substitue                      |
   |         | self.doebuild_settings since that one is mutable which is    |
   |         | necessary in case setcpv() needs to be called.               |

   | 9918    | Fix portdbapi.getfetchlist() so that it doesn't              |
   | zmedico | unnecessarily calculate USE when the "all" parameter is      |
   |         | True.                                                        |

   | 9920    | Remove redundant version sorting in _expand_new_virtuals()   |
   | zmedico | since the dbapi match results are already sorted.            |

   | 9922    | Make the ccache userpriv permission check from bug #162542   |
   | zmedico | less sensitive by skipping permission checks on files and    |
   |         | just checking the directories.                               |

   | 9924    | Bug #218202 - Make sure the spinner is quiet in --nodep      |
   | zmedico | mode.                                                        |

   | 9926    | Add a new part for "Dependency Resolution".                  |
   | zmedico |                                                              |

   | 9928    | Bug #218559 - Make portdbapi automatically add sandbox write |
   | zmedico | access to self.depcachedir when appropriate. This makes the  |
   |         | portageq blanket sandbox exemption unnecessary.              |

   | 9930    | * Make portdbapi.aux_get() automatically pull pre-generated  |
   | zmedico | metadata directly from the metadata/cache/ directory when    |
   |         | metadata-transfer is not enabled in FEATURES. This makes all |
   |         | cache modules behave similar to existing metadata_overlay    |
   |         | module, except when FEATURES="metadata-transfer" has been    |
   |         | explicitly enabled. * Remove metadata-transfer from FEATURES |
   |         | in make.globals so that it's no longer enabled by default.   |
   |         | Users will be happy about this since the "Updating Portage   |
   |         | cache" part of emerge --sync can be more time consuming than |
   |         | the rsync run itself. It's also nicer when when using        |
   |         | PORTDIR over nfs or bind mounted in a chroot since there's   |
   |         | no need to run emerge --metadata. * Update                   |
   |         | FEATURES="metadata-transfer" docs to warn users of the rsync |
   |         | tree to modify eclases in PORTDIR_OVERLAY if necessary       |
   |         | instead of doing it directly in the rsync tree. * Relevant   |
   |         | updates to /etc/portage/modules docs.                        |

   | 9932    | Fix portage version, should be >=2.1.5.                      |
   | zmedico |                                                              |

   | 9934    | Document FEATURES="metadata-transfer" changes some more.     |
   | zmedico |                                                              |

   | 9936    | In action_metadata(), properly put the source cache in       |
   | zmedico | readonly mode.                                               |

   | 9938    | In show_slot_collision_notice(), refer to the problem as a   |
   | zmedico | "slot conflict" since that's how I'm refering to it in the   |
   |         | docs.                                                        |

   | 9940    | Bug #218439 - Improve alignment in short emerge --help       |
   | zmedico | options output.                                              |

   | 9941    | Swap --nospinner and --oneshot for alphabetical ordering.    |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=9961

18 years ago Merged from trunk 9894:9906
Fabian Groffen [Tue, 15 Apr 2008 18:14:49 +0000 (18:14 -0000)]
   Merged from trunk 9894:9906

   | 9895    | Fix issues with an empty string being passed into            |
   | zmedico | PreservedLibsRegistry.register() now that COUNTER is not     |
   |         | loaded via config.load_infodir(). Thanks to grobian for      |
   |         | reporting.                                                   |

   | 9896    | In config.setcpv() and regenerate(), replace                 |
   | zmedico | str.startswith() calls with slice comparison. It's not       |
   |         | pretty but performance is critical in this section of code   |
   |         | and there is a measurable performance difference.            |

   | 9898    | Bug #217664 - Fix emerge 'by path' package argument handling |
   | zmedico | so that Package instances are properly cached (avoiding a    |
   |         | KeyError later).                                             |

   | 9900    | Revert part of atom selection consistency improvement from   |
   | zmedico | r9873 since it in some cases it triggers unresolvable direct |
   |         | circular dependencies. For example, this happens with        |
   |         | gwydion-dylan which depends on either itself or              |
   |         | gwydion-dylan-bin. In case gwydion-dylan is not yet          |
   |         | installed, gwydion-dylan-bin needs to be selected in order   |
   |         | to avoid a an unresolvable direct circular dependency.       |

   | 9901    | Add support to depgraph._select_atoms() to take a "parent"   |
   | zmedico | parameter and use that to try and avoid unresolvable direct  |
   |         | circular dependencies when necessary. Also, make atom        |
   |         | selection more consistent with the graph to solve some cases |
   |         | of bug #1343. This improves the fix from bug #141118 to work |
   |         | in cases when a virtual is not yet installed but it has been |
   |         | pulled into the graph. For example, see the case of in Bug   |
   |         | #163801#c17, where we want kaffe to satisfy virtual/jdk-1.4  |
   |         | without an extra jvm being pulled in unnecessarily.          |

   | 9904    | Comment some more on the significance of passing the         |
   | zmedico | graph_db and parent into depgraph._select_atoms() to solve   |
   |         | some cases of bug #1343 while avoiding unresolvable direct   |
   |         | circular dependencies.                                       |

   | 9906    | The dependency resolver now has a feedback mechanism that    |
   | zmedico | helps make atom selections more consistent with previous     |
   |         | selections that have been added to the graph. This solves    |
   |         | some common cases of bug #1343.                              |

svn path=/main/branches/prefix/; revision=9909

18 years agorevert -r9893:9894, zmedico checked in a correct fix
Fabian Groffen [Tue, 15 Apr 2008 18:12:42 +0000 (18:12 -0000)]
revert -r9893:9894, zmedico checked in a correct fix

svn path=/main/branches/prefix/; revision=9908

18 years agoIn the absence of expertise: layman's fix for the following error:
Fabian Groffen [Mon, 14 Apr 2008 18:04:12 +0000 (18:04 -0000)]
In the absence of expertise: layman's fix for the following error:

  File "pym/portage/dbapi/vartree.py", line 1189, in unmerge
    plib_registry.unregister(self.mycpv, self.settings["SLOT"], self.settings["COUNTER"])
  File "pym/portage/dbapi/vartree.py", line 100, in unregister
    self.register(cpv, slot, counter, [])
  File "pym/portage/dbapi/vartree.py", line 86, in register
    and self._data[cps][0] == cpv and int(self._data[cps][1]) == int(counter):
ValueError: invalid literal for int() with base 10: ''

COUNTER appears to be empty quite often, in this case it is often and
called by some preserved-libs stuff.  I just replace counter with an
explicit 0 in case counter == "".

svn path=/main/branches/prefix/; revision=9894

18 years ago Merged from trunk 9869:9891
Fabian Groffen [Mon, 14 Apr 2008 17:49:59 +0000 (17:49 -0000)]
   Merged from trunk 9869:9891

   | 9870    | Make _dep_check_composite_db match() return multiple slots   |
   | zmedico | so that it behaves more like other dbapi instances would,    |
   |         | and also make it inherit from dbapi.                         |

   | 9871    | Fix _dep_check_composite_db.match() so that it doesn't       |
   | zmedico | exempt the highest slot from visibility checks.              |

   | 9872    | Fix the _dep_check_composite_db visibility filtering some    |
   | zmedico | more.                                                        |

   | 9873    | Improve lookahead for new-style virtuals: * Substitue the    |
   | zmedico | graph tree for the vartree in dep_check() since we want atom |
   |         | selections to be consistent with package selections have     |
   |         | already been made. * Add the selected package to the graph   |
   |         | as soon as possible so that later dep_check() calls can use  |
   |         | it as feedback for making more consistent atom selections. * |
   |         | Expand all slots of new-style virtuals inside                |
   |         | _dep_check_composite_db so that lookahead examines a matched |
   |         | slots. This solves some cases of bug #1343, and extends the  |
   |         | fix for bug #141118 to work in cases when a virtual is not   |
   |         | yet installed but it has been pulled into the graph.         |

   | 9874    | To optimize consistency of atom selections, add all of the   |
   | zmedico | root packages to the graph before processing any             |
   |         | dependencies.                                                |

   | 9879    | * For optimal atom selection, use PackageVirtualDbapi        |
   | zmedico | instances in place of the vardb for all dep_check() calls. * |
   |         | Replace dep_check_trees in depgraph.validate_blockers() with |
   |         | the equivalent self._graph_trees reference.                  |

   | 9881    | Fix buggy logic in WorldSet.load() that causes it to discard |
   | zmedico | all of it's atoms in some cases (leading to loss of the      |
   |         | whole world file).                                           |

   | 9882    | Fix some more broken logic inside WorldSet.load().           |
   | zmedico |                                                              |

   | 9883    | s/timetasmp/timestamp/                                       |
   | zmedico |                                                              |

   | 9884    | Split out a depgraph._add_dep() method.                      |
   | zmedico |                                                              |

   | 9885    | Call depgraph._add_dep() to add package dependencies to the  |
   | zmedico | graph as soon as possible rather than pushing them onto the  |
   |         | stack.                                                       |

   | 9886    | Fix some breakage in the allow_unsatisfied handling.         |
   | zmedico |                                                              |

   | 9890    | When regenerating USE_EXPAND in config.setcpv(), improve     |
   | zmedico | performance by using regular expression instead of           |
   |         | str.startswith().                                            |

   | 9891    | Revert back to using startwith because I screwed up my       |
   | zmedico | benchmark and it turns out starswith is faster than using    |
   |         | regular expressions.                                         |

svn path=/main/branches/prefix/; revision=9893

18 years ago Merged from trunk 9865:9866
Fabian Groffen [Mon, 14 Apr 2008 17:48:19 +0000 (17:48 -0000)]
   Merged from trunk 9865:9866

   | 9866   | store sets in a different physical location than normal       |
   | genone | packages for 'world' (makes ferringb a bit happier, and might |
   |        | have other advantages in the future)                          |

   This is a risky sync, as it requires Portage's ebuild to do the sets
   split from world -> world_sets.

svn path=/main/branches/prefix/; revision=9892

18 years ago Merged from trunk 9862:9865
Fabian Groffen [Sun, 13 Apr 2008 10:44:49 +0000 (10:44 -0000)]
   Merged from trunk 9862:9865

   | 9864    | Make movefile() tolerant to EPERM errors that can be raised  |
   | zmedico | from utime() calls. Instead of failing, use stat() to return |
   |         | the mtime if possible.                                       |

   | 9865    | Convert st_mtime to long for movefile() return type.         |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=9869

18 years ago Merged from trunk 9831:9860
Fabian Groffen [Sun, 13 Apr 2008 09:42:21 +0000 (09:42 -0000)]
   Merged from trunk 9831:9860

   | 9832    | In config.setcpv() and load_infodir(), always set known good |
   | zmedico | values for CATEGORY and PF, since corruption of these can    |
   |         | cause problems.                                              |

   | 9834    | Remove all calls to config.load_infodir() since it doesn't   |
   | zmedico | seem to server any purpose now that the complete environment |
   |         | is loaded from environment.bz2.                              |

   | 9835    | Remove unused infodir variable.                              |
   | zmedico |                                                              |

   | 9837    | Make doebuild() bail out early with a PermissionDenied error |
   | zmedico | if there is no write access to $PKGDIR.                      |

   | 9839    | When dep_check() expands new-style virtuals, use USE flags   |
   | zmedico | from aux_get calls to evaluate any conditionals that the     |
   |         | depstrings might contain. This works properly for ebuilds    |
   |         | now that aux_get() is backed by Package instances containing |
   |         | the correct USE.                                             |

   | 9840    | Fix the code from the previous commit so that it doesn't try |
   | zmedico | to pull USE from a portdbapi instance (like when called by   |
   |         | repoman) since portdbapi doesn't return USE in aux_get()     |
   |         | calls.                                                       |

   | 9842    | Fix 'undefined name' errors found by pyflakes.               |
   | zmedico |                                                              |

   | 9844    | Make file_get() redirect FETCHCOMMAND output to stdout just  |
   | zmedico | like portage.fetch() does. Thanks to Ramereth for reporting. |

   | 9846    | Rename the undocumented --conistent option to                |
   | zmedico | --complete-graph and add some docs.                          |

   | 9848    | Add some notes for the parallel-fetch feature and the new    |
   | zmedico | --complete-graph option for emerge.                          |

   | 9850    | Make binarytree.prevent_collision() adjust permissions on    |
   | zmedico | directories and raise a PermissionDenied error if the        |
   |         | required directories is not writable.                        |

   | 9852    | Bug #215016 - When transforming of USE flags to USE_EXPAND   |
   | zmedico | variables, filter out flags that aren't considered to be     |
   |         | part of IUSE or implicit IUSE. This patch moves all IUSE     |
   |         | dependent code from config.regenerate() to config.setcpv().  |

   | 9854    | * Optimize config.setcpv() to return early if IUSE has not   |
   | zmedico | changed since the previous setcpv() call. * Add EBUILD_PHASE |
   |         | to the blacklisted variables list.                           |

   | 9856    | Bug #217444 - Send debug-print() output to stderr so that it |
   | zmedico | can't interfere with command substitution. Thanks to Fabio   |
   |         | Rossi <rossi.f@inwind.it> for this patch.                    |

   | 9858    | Fix the filtering for bug #215016: * fix broken comparison   |
   | zmedico | for he iuse filtering * filter out any duplicates that       |
   |         | variable may contain                                         |

   | 9860    | In --buildpkgonly mode, don't discard RDEPEND and PDEPEND if |
   | zmedico | --empty or --deep are enabled. The makes it possible to run  |
   |         | `emerge -eB world` and have every single package rebuilt     |
   |         | (without actually installing anything).                      |

svn path=/main/branches/prefix/; revision=9868

18 years ago- use EPREFIX_LSTRIP constant instead of dynamic EPREFIX.lstrip(os.path.sep)
Fabian Groffen [Sun, 13 Apr 2008 08:12:26 +0000 (08:12 -0000)]
- use EPREFIX_LSTRIP constant instead of dynamic EPREFIX.lstrip(os.path.sep)
- avoid bug #217481 from happening, but don't fix it for real
  by ignoring host-provided stuff on Darwin in this case, we also ignore
  the Carbon Framework which preserve-libs tries to preserve, basically
  because it selects its targets wrongly.

svn path=/main/branches/prefix/; revision=9867

18 years agoRevert commit -r972{7,8} in Prefix. It indeed fixes bug #215242, but by
Fabian Groffen [Fri, 11 Apr 2008 11:27:18 +0000 (11:27 -0000)]
Revert commit -r972{7,8} in Prefix.  It indeed fixes bug #215242, but by
entirely disabling preserve-libs, which is undesirable for me.

svn path=/main/branches/prefix/; revision=9831

18 years agoImplement sort of 'stub' for getlibpaths in Prefix. I'm still quite concerned that...
Fabian Groffen [Fri, 11 Apr 2008 10:59:35 +0000 (10:59 -0000)]
Implement sort of 'stub' for getlibpaths in Prefix.  I'm still quite concerned that this is used, and actually not convinced that it makes sense at all.

svn path=/main/branches/prefix/; revision=9830

18 years ago Merged from trunk 9814:9827
Fabian Groffen [Fri, 11 Apr 2008 10:13:26 +0000 (10:13 -0000)]
   Merged from trunk 9814:9827

   | 9815    | Bug #217122 - When waiting for a parallel-fetch download to  |
   | zmedico | complete, show a more friendly and informative message.      |

   | 9817    | Make the CHOST visibility check tolerant of missing CHOST    |
   | zmedico | metadata.                                                    |

   | 9819    | Fix "pkg" variable name collisions in depgraph.display().    |
   | zmedico |                                                              |

   | 9821    | Rename variable pkg_cpv to pkg_str.                          |
   | zmedico |                                                              |

   | 9823    | Nest the DepcheckCompositeDB class inside the depgraph class |
   | zmedico | since it's not intended for use elsewhere.                   |

   | 9825    | Tweak --buildpkgonly and fakeroot logic so that              |
   | zmedico | --buildpkgonly can be used by a non-root user to build       |
   |         | binary packages with fakeroot.                               |

   | 9827    | Copy group mode bits from $PKGDIR when creating              |
   | zmedico | subdirectories.                                              |

svn path=/main/branches/prefix/; revision=9829

18 years agofix the next backtrace
Fabian Groffen [Thu, 10 Apr 2008 18:12:26 +0000 (18:12 -0000)]
fix the next backtrace

svn path=/main/branches/prefix/; revision=9812

18 years ago Merged from trunk 9799:9810
Fabian Groffen [Thu, 10 Apr 2008 18:05:50 +0000 (18:05 -0000)]
   Merged from trunk 9799:9810

   | 9808    | Implement expansion of catgories in                          |
   | zmedico | DepcheckCompositeDB.match() for old installed packages that  |
   |         | may contain atoms that are not fully qualified.              |

   | 9810    | Remove an unused function.                                   |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=9811

18 years agoFix "!!! global name 'built' is not defined None" backtrace.
Fabian Groffen [Thu, 10 Apr 2008 18:02:57 +0000 (18:02 -0000)]
Fix "!!! global name 'built' is not defined None" backtrace.

svn path=/main/branches/prefix/; revision=9809

18 years ago Merged from trunk 9774:9799
Fabian Groffen [Thu, 10 Apr 2008 16:55:08 +0000 (16:55 -0000)]
   Merged from trunk 9774:9799

   | 9775    | Fix minor issues in the calculation of the number of parents |
   | zmedico | omitted from the slot collision display.                     |

   | 9777    | Fix the docstring for depgraph._dep_expand().                |
   | zmedico |                                                              |

   | 9779    | When checking atoms without categories against the installed |
   | zmedico | packages, just check for existence of the cat/pn rather that |
   |         | a full match.                                                |

   | 9785    | Add some docs for the DepcheckCompositeDB class.             |
   | zmedico |                                                              |

   | 9786    | Replace the fakdbapi class that is used to track depgraph    |
   | zmedico | state with a similar PackageVirtualDbapi class that uses     |
   |         | Package instances internally. This eliminates some           |
   |         | redundancy since the Package instances can be reused         |
   |         | elsewhere, unlike the internal data structures used by       |
   |         | fakedbapi.                                                   |

   | 9787    | Improve used of cached Package instances in                  |
   | zmedico | depgraph._select_pkg_from_graph().                           |

   | 9788    | Make FakeVartree use PackageVirtualDbapi instead of          |
   | zmedico | fakedbapi so that it can populate and utilize a cache of     |
   |         | Package instances.                                           |

   | 9789    | * Make depclean/prune use cached Package instances for       |
   | zmedico | visibility checks. * Make FakeVartree wrap dbapi.match() to  |
   |         | make sure the metadata in Package instances gets updated for |
   |         | any cpv that is returned from a match() call, since the      |
   |         | metadata can be accessed directly from the Package instance  |
   |         | instead of via aux_get().                                    |

   | 9794    | Use cached Package instances in depgraph.display().          |
   | zmedico |                                                              |

   | 9797    | Make sure that everything except Package nodes is ignored    |
   | zmedico | when doing the --buildpkgonly digraph.hasallzeros() check.   |

   | 9799    | Iterate over a copy of the digraph nodes so that removal     |
   | zmedico | can't break the iterator.                                    |

svn path=/main/branches/prefix/; revision=9807

18 years ago Merged from trunk 9741:9774
Fabian Groffen [Thu, 10 Apr 2008 16:52:27 +0000 (16:52 -0000)]
   Merged from trunk 9741:9774

   | 9742    | When reading and writing the Packages index file, translate  |
   | zmedico | metadata keys on the fly. Current translations: DESC         |
   |         | DESCRIPTION REPO repository                                  |

   | 9743    | For repoman, only cache the metadata necessary for           |
   | zmedico | visibility checks in order to reduce memory consumption.     |

   | 9744    | Remove unused iter_atoms() function.                         |
   | zmedico |                                                              |

   | 9745    | Remove the depgraph._get_arg_for_pkg() method since          |
   | zmedico | _iter_atoms_for_pkg() does the job.                          |

   | 9747    | Fix a little issue in the code from bug #197905 that causes  |
   | zmedico | some elog messages to get lost.                              |

   | 9755    | Fix --update greedy atoms logic so that it only pulls in     |
   | zmedico | packages that actually match the given atom.                 |

   | 9756    | Bug #197810 - Don't automatically downgrade packages for     |
   | zmedico | which available matching versions are masked by corruption,  |
   |         | but do automatically downgrade installed packages that       |
   |         | themselves have a valid mask such as from package.mask.      |

   | 9759    | Bug #162542 - When checking permissions inside CCACHE_DIR    |
   | zmedico | for compatibility with FEATURES=userpriv, check the          |
   |         | permissions on files inside the directory to decide whether  |
   |         | to fix the permissions.                                      |

   | 9761    | Split out a depgraph method to check if a specific new-style |
   | zmedico | virtual package exists.                                      |

   | 9762    | Make depgraph.select_files() detect when a package name      |
   | zmedico | given as an argument is ambiguous due to the existence of a  |
   |         | new-style virtual with the same name (cpv_expand() will not  |
   |         | always raise a ValueError in cases like this).               |

   | 9763    | Handle issues with newlines in elog messages that can        |
   | zmedico | trigger an unhandled ValueError to be raised from a split()  |
   |         | call inside collect_ebuild_messages(): * Use \0 to delimit   |
   |         | messages, so that that elog messages containing newlines are |
   |         | handled correctly. * Handle a potential ValueError when      |
   |         | splitting the message type.                                  |

   | 9765    | Create a new depgraph._dep_expand() method for               |
   | zmedico | select_files() to expand atoms that have no category.        |

   | 9769    | When depgraph.select_files() expands an atom category, in    |
   | zmedico | case of an old-style virtual, defer category expansion so    |
   |         | that the depgraph has more choices.                          |

   | 9771    | Make DepcheckCompositeDB cache Package instances for         |
   | zmedico | aux_get() calls.                                             |

   | 9774    | When pruning the list of parents for the slot collision      |
   | zmedico | display, always show parents that themselves have been       |
   |         | pulled into collision slots, since those are more relevant   |
   |         | that others. (branches/2.1.2 r9773)                          |

svn path=/main/branches/prefix/; revision=9806

18 years ago Merged from trunk 9725:9741
Fabian Groffen [Thu, 10 Apr 2008 16:50:06 +0000 (16:50 -0000)]
   Merged from trunk 9725:9741

   | 9726    | preserve order of ebuild messages even between different     |
   | genone  | message types (bug #197905)                                  |

   | 9727    | * Use type -P which does not produce messages to stderr.     |
   | zmedico | another option is to redirect both stderr and out. * Avoid   |
   |         | &> replace with > ... 2>&1 Thanks to Alon Bar-Lev for this   |
   |         | patch.                                                       |

   | 9728    | only preserve libraries if no copy exists in the libary      |
   | genone  | search path (bug #215242)                                    |

   | 9729    | Fix the CompositDbapi.match() logic wrt "selective" behavior |
   | zmedico | and installed packages so that it correctly handles false    |
   |         | argument matches due to PROVIDE when a corresponding         |
   |         | new-style virtual exists.                                    |

   | 9731    | Rename the CompositDbapi class to DepcheckCompositeDB since  |
   | zmedico | it's really a special pupose class just for dep_check() and  |
   |         | it doesn't implement the full dbapi interface.               |

   | 9732    | Fix java.eclassesnotused logic. Thanks to Betelgeuse.        |
   | zmedico |                                                              |

   | 9733    | In dump_trace(), fix BASH_ARGV and BASH_ARGC offsets so that |
   | zmedico | they are always correct wrt eachother. Thanks to Betelgeuse  |
   |         | for reporting.                                               |

   | 9734    | Fix BASH_ARGC and BASH_ARGV offsets some more.               |
   | zmedico |                                                              |

   | 9735    | Fix DepcheckCompositeDB.match() so that it doesn't assume    |
   | zmedico | that every DependencyArg instance has an "atom" attribute.   |

   | 9736    | Fix variable name collision in DepcheckCompositeDB.match().  |
   | zmedico |                                                              |

   | 9737    | Move virtuals logic from DepcheckCompositeDB.match() to      |
   | zmedico | depgraph._iter_atoms_for_pkg() since it's more generally     |
   |         | useful there.                                                |

   | 9738    | Move all the --update greedy slot logic to                   |
   | zmedico | depgraph.select_files().                                     |

   | 9739    | Fix broken IUSE defaults handling when filtering USE for the |
   | zmedico | Packages file.                                               |

   | 9740    | Handle empty KEYWORDS in the Packages file.                  |
   | zmedico |                                                              |

   | 9741    | * Optimize metadata caching in pordbapi and bindbapi so that |
   | zmedico | cache is never pulled for the same package twice. * Cache a  |
   |         | Package instances constructed during package selection and   |
   |         | reuse them during later package selections.                  |

svn path=/main/branches/prefix/; revision=9805