2008-11-22 04:46  zmedico

	* [r12030] mkrelease.sh: Fix quoting on $CHANGELOG_REVISION.

2008-11-22 03:51  zmedico

	* [r12028] pym/portage/cache/metadata.py: Make sure the dict
	  returned from _parse_data() contains all of _known_keys.

2008-11-22 01:59  zmedico

	* [r12026] pym/portage/__init__.py: Add missing '%' symbol (for
	  binary package moves) to the key that's displayed by
	  _global_updates(). Thanks to Andrew Gaffney <agaffney@g.o> for
	  reporting.

2008-11-22 01:33  zmedico

	* [r12024] pym/portage/__init__.py: Fix some cases in dep_zapdeps()
	  where blocker atoms are inappropriately tested for availablity.
	  Thanks to Jorge Manuel B. S. Vicetto <jmbsvicetto@g.o> for
	  reporting.

2008-11-21 23:20  zmedico

	* [r12022] pym/_emerge/__init__.py: Bug #247776 - Show a warning
	  message if CONFIG_PROTECT is empty.

2008-11-21 22:31  zmedico

	* [r12020] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #248059 - Make --depclean more tolerant of invalid atoms in
	  dependencies of packages that will be uninstalled anyway.

2008-11-21 21:55  zmedico

	* [r12018] pym/_emerge/__init__.py: Bug #248059 - In
	  action_depclean(), ignore invalid atoms in deps of packages to be
	  uninstalled.

2008-11-21 21:28  zmedico

	* [r12016] pym/_emerge/__init__.py: In EbuildProcess._start(),
	  don't open the log file during the clean phase since the open
	  file can result in an nfs lock on $T/build.log which prevents the
	  clean phase from removing $T. Thanks to Jeremy Olexa
	  <darkside@g.o> for reporting.

2008-11-21 08:23  zmedico

	* [r12014] pym/_emerge/__init__.py: In JobStatusDisplay, always
	  flush the output stream after writing to it.

2008-11-21 02:46  zmedico

	* [r12012] pym/_emerge/__init__.py: When given an ambiguous ebuild
	  name to install, format the list of choices in emerge --search
	  format if --quiet mode is not enabled, otherwise just show a
	  brief list. Thanks to Markus Meier <maekke@g.o> for the
	  suggestion.

2008-11-20 22:42  zmedico

	* [r12010] pym/portage/cache/sqlite.py: Remove inappropriate
	  backslash escaping inside _db_escape_string().

2008-11-20 21:02  zmedico

	* [r12008] pym/portage/cache/metadata.py: Inside _parse_data(),
	  don't rely on the magic 22 line count for the flat_list format,
	  since it doesn't make a significant performance difference and it
	  places an artificial limit on the number of keys that can be
	  stored.

2008-11-20 02:39  zmedico

	* [r12006] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #247370 - Use a private PORTAGE_TMPDIR for --fetchonly mode in
	  order do avoid locking the normal build dir location (similar to
	  bug #245231). The EbuildFetchPretend class is renamed to
	  EbuildFetchonly and it's used for --fetchonly mode regardless of
	  whether --pretend is enabled. Also, fix stdout/stderr flushing in
	  JobStatusDisplay.displayMessage() and portage.spawn() to ensure
	  output always occurs in the correct order when displaying
	  pkg_nofetch() output in --fetchonly mode.

2008-11-19 22:51  zmedico

	* [r12004] cnf/make.globals: Remove PORTAGE_IONICE_COMMAND setting
	  since it's commented out.

2008-11-19 22:47  zmedico

	* [r12003] man/make.conf.5: Bug #247625 - Update
	  PORTAGE_IONICE_COMMAND docs to reflect that it is unset by
	  default.

2008-11-19 06:54  zmedico

	* [r12001] pym/_emerge/__init__.py: Remove --fetchonly --resume
	  time.sleep() call which is an artifact from the previous
	  parallel-fetch implementation.

2008-11-19 06:47  zmedico

	* [r11999] pym/portage/__init__.py: Bug #245716 - When generating
	  QA notices for 'command not found' messages in the build log,
	  exclude messages that are emitted from configure scripts since
	  those are normal in some cases.

2008-11-19 03:14  zmedico

	* [r11997] man/ebuild.1, man/emerge.1, man/make.conf.5: Bug #245779
	  - Document the new category subdirectory behavior for PKGDIR.

2008-11-18 21:22  zmedico

	* [r11995] pym/_emerge/__init__.py: Move the repo_name
	  check/warning into a function.

2008-11-18 21:13  zmedico

	* [r11994] pym/_emerge/__init__.py: When warning about 'missing
	  repo_name', also give the exact path where the entry should
	  exist, and explain that it should be a plain text file containing
	  a unique name of the first line. This should give the users
	  enough information to correct the problem without needing to seek
	  help.

2008-11-18 08:16  zmedico

	* [r11992] pym/portage/cache/template.py: Make serialize_eclasses()
	  sort eclass names.

2008-11-18 07:05  zmedico

	* [r11990] pym/portage/cache/util.py, pym/portage/eclass_cache.py:
	  For emerge --metadata runs, update _eclasses_ metadata to insert
	  local eclass paths.

2008-11-18 01:31  vapier

	* [r11988] bin/emake: include quotes when showing make output

2008-11-17 23:40  zmedico

	* [r11986] pym/portage/cache/metadata.py: Store the _eclasses_
	  field instead of INHERITED.

2008-11-17 23:09  zmedico

	* [r11984] pym/portage/cache/flat_hash.py,
	  pym/portage/cache/fs_template.py: Bug #139134 - Make the
	  flat_hash and metadata modules write the _mtime_ field inside the
	  file instead of mangling the mtime of the cache entry file. Also,
	  fix FsBased._ensure_access() to properly skip the utime() call
	  when no mtime is passed in. Theses cache changes are compatible
	  with current stable portage (2.1.4.x), which uses the _mtime_
	  field contained in the file when available.

2008-11-17 20:50  zmedico

	* [r11982] bin/repoman: When parsing `git diff` output, filter
	  paths that are not descended from the current directory.

2008-11-17 09:36  zmedico

	* [r11980] bin/repoman: When committing manifests, specify the
	  manifest paths instead of using git commit -a, since we may not
	  want to commit all dirty files in the whole repo. Thanks to Robin
	  Johnson <robbat2@g.o> for reporting.

2008-11-17 09:26  zmedico

	* [r11978] bin/repoman: Bug #246667 - Add REPOMAN_VCS_LOCAL_OPTS
	  and REPOMAN_VCS_GLOBAL_OPTS variables that allow vcs options to
	  be passed in for commit commands.

2008-11-17 08:58  zmedico

	* [r11976] bin/repoman: Add missing -a option for git commits.

2008-11-17 00:51  zmedico

	* [r11974] pym/portage/__init__.py: Fix the 'jobserver unavailable'
	  regex to match gmake.

2008-11-16 21:25  zmedico

	* [r11972] pym/portage/__init__.py: Add a QA Notice for 'jobserver
	  unavailable' from make in the build log. Thanks to Diego
	  'Flameeyes' Pettenò <flameeyes@g.o> for the suggestion.

2008-11-16 20:44  zmedico

	* [r11970] bin/repoman: Trigger the --include-dev suggestion for
	  any keywords from dev profiles, even if those keywords also
	  belong to stable profiles.

2008-11-16 20:38  zmedico

	* [r11968] bin/repoman: Suggest to use the new --include-dev (-d)
	  option in cases when some ebuilds have keywords from 'dev'
	  profiles. This should help avoid confusion about 'dev' profiles
	  no longer being checked by default.

2008-11-16 18:08  zmedico

	* [r11966] bin/repoman: Only show the "--without-mask" suggestion
	  when packages are actually masked by package.mask (rather than
	  just keywords).

2008-11-16 08:13  zmedico

	* [r11964] bin/repoman, man/repoman.1: Add a short -d option for
	  the new --include-dev option. Thanks to Joshua Kinard <kumba@g.o>
	  for the suggestion.

2008-11-16 07:57  zmedico

	* [r11962] bin/repoman, man/repoman.1: In order to reduce time
	  consumed for dependency checks, skip 'dev' profiles by default
	  and add an --include-dev option which causes them to be checked.
	  Given the current profiles.desc content, this approximately
	  halves the number of profiles checked by default and also halves
	  the time consumed by repoman. Thanks to Donnie Berkholz
	  <dberkholz@g.o> for the suggestion.

2008-11-16 07:26  zmedico

	* [r11960] pym/_emerge/__init__.py: When a "slot conflict" occurs
	  due to USE dependencies, display the usual slot conflict output
	  together with the unsatisfied USE dependency output, since both
	  might be useful.

2008-11-15 23:14  zmedico

	* [r11958] pym/_emerge/__init__.py: Fix logic inside
	  PollScheduler._can_add_job() so that load average is properly
	  considered when a single job is running.

2008-11-15 22:16  zmedico

	* [r11956] pym/portage/news.py: Make NewsManager.updateItems() and
	  getUnreadItems() return early if PermissionDenied errors are
	  encountered when attempting to read the skip or unread files.

2008-11-15 21:14  zmedico

	* [r11954] pym/_emerge/__init__.py: Inside depgraph._add_pkg(),
	  handle the case where multiple different instances of the same
	  version (typically one installed and another not yet installed)
	  have been pulled into the graph due to a USE dependency. The
	  "slot collision" display is not helpful in a case like this, so
	  display it as an unsatisfied dependency. Thanks to Peter Volkov
	  <pva@g.o> for reporting.

2008-11-15 20:42  zmedico

	* [r11953] pym/_emerge/__init__.py: Check the return value from
	  depgraph._add_pkg() when adding library consumers inside
	  action_depclean().

2008-11-15 18:51  zmedico

	* [r11951] pym/portage/dbapi/bintree.py: Bug #246821 - Avoid
	  TypeError from binarytree.isremote() by returning early if
	  self._remotepkgs is None due to PORTAGE_BINHOST being unset.

2008-11-15 18:09  zmedico

	* [r11949] pym/_emerge/__init__.py: Make
	  depgraph.display_problems() send unsatisfied dependency ouput to
	  stdout, for parsing by programs such as autounmask.

2008-11-15 17:57  zmedico

	* [r11948] pym/_emerge/__init__.py: Bug #246853 - Redirect all
	  ouput from depgraph.display_problems() to stderr.

2008-11-15 06:50  zmedico

	* [r11935] pym/_emerge/__init__.py: Bug #236207 - Replace some
	  hardcoded colors with color codes, and use
	  portage.output.EOutput() where appropriate.

2008-11-15 06:38  zmedico

	* [r11933] pym/_emerge/__init__.py: Bug #173284 - Update config
	  update counting code in chk_updated_cfg_files() so hidden
	  directories are ignored.

2008-11-15 06:09  zmedico

	* [r11931] bin/dispatch-conf: Remove stray print statement from
	  previous commit.

2008-11-15 06:00  zmedico

	* [r11929] bin/dispatch-conf: Bug #173284 - Do not traverse hidden
	  directories such as .svn or .git when search for protected files.

2008-11-15 05:59  zmedico

	* [r11928] bin/etc-update: Bug #173284 - Do not traverse hidden
	  directories such as .svn or .git when search for protected files.

2008-11-15 05:09  zmedico

	* [r11926] bin/ebuild, pym/portage/__init__.py: Bug #236714 -
	  Handle PortagePackageException raised from Manifest.create().

2008-11-15 04:59  zmedico

	* [r11924] pym/portage/__init__.py: Make digestgen() handle
	  PermissionDenied internally by returning failure, so callers like
	  repoman don't need exception handling.

2008-11-15 04:50  zmedico

	* [r11922] bin/ebuild, pym/portage/__init__.py: Bug #236683 - Fix
	  PermissionDenied handling to report the exception type.

2008-11-15 04:27  zmedico

	* [r11920] pym/portage/dbapi/vartree.py: Bug #243022 - Inside
	  dblink.mergeme(), when merging a directory and a symlink is in
	  the way, verify that if points to a directory before accepting
	  it, otherwise move it out of the way.

2008-11-15 04:12  zmedico

	* [r11918] pym/portage/dbapi/vartree.py: Bug #216190 - Make
	  dblink.treewalk() bail out rather than install a package with
	  file paths containing newlines.

2008-11-15 02:23  zmedico

	* [r11916] bin/dobin, bin/dodoc, bin/doexe, bin/doinfo, bin/doins,
	  bin/doman, bin/domo, bin/newbin, bin/newconfd, bin/newdoc,
	  bin/newenvd, bin/newexe, bin/newinitd, bin/newins, bin/newlib.a,
	  bin/newlib.so, bin/newman, bin/newsbin, pym/portage/__init__.py:
	  Fix new* and do* ebuild helpers to generate consistent error
	  messages for missing files and generate an appropriate QA Notice
	  when such an error is detected in the build log. Thanks to Diego
	  'Flameeyes' Pettenò <flameeyes@g.o> for the suggestion.

2008-11-14 21:57  zmedico

	* [r11913] pym/repoman/checks.py: Make the EbuildQuote check filter
	  out matches that appear to be an argument to a message command.
	  For example: false || ewarn "foo $WORKDIR/bar baz" Thanks to
	  Diego 'Flameeyes' Pettenò <flameeyes@g.o> for reporting this
	  issue (currently triggered by ruby-prof-0.7.0.ebuild).

2008-11-14 20:50  zmedico

	* [r11911] bin/repoman: Exempt live ebuilds from KEYWORDS.missing
	  and KEYWORDS.dropped warnings. Thanks to Jorge Manuel B. S.
	  Vicetto <jmbsvicetto@g.o> for the suggestion.

2008-11-14 18:39  zmedico

	* [r11909] bin/misc-functions.sh: In dyn_package(), use the
	  'assert' macro (from isolated-functions.sh) die if PIPESTATUS
	  array contains a non-zero exist status.

2008-11-14 17:35  zmedico

	* [r11907] mkrelease.sh: Add a --changelog-rev option that
	  truncates the ChangeLog at a specific revision. Also, add -i to
	  the svn2cl options so that the actual svn revision numbers are
	  included in the log. (trunk r11889)
	  
	  Use svn2cl --reparagraph option for better ChangeLog formatting.
	  (trunk r11906)

2008-11-14 08:00  zmedico

	* [r11904] NEWS: * git support for repoman

2008-11-14 07:43  zmedico

	* [r11902] man/ebuild.5: Use a table to condense the docs for the
	  default_* phase functions.

2008-11-14 07:33  zmedico

	* [r11901] man/ebuild.5: Bug #244485 - Document the !!atom blocker
	  syntax.

2008-11-14 07:17  zmedico

	* [r11900] man/ebuild.5: Add newlines so that first lines of tables
	  display properly with man2html.

2008-11-14 07:00  zmedico

	* [r11899] doc/package/ebuild/eapi/2.docbook: Note that USE
	  dependencies appear on the right hand side of SLOT dependencies.

2008-11-14 06:56  zmedico

	* [r11898] man/ebuild.5: Bug #244485 - Document USE dependencies.

2008-11-14 06:12  zmedico

	* [r11896] bin/repoman: Having a leading ./ prefix on file paths
	  can trigger a bug in the cvs server when committing files to
	  multiple directories, so strip the prefix. Thanks to Robin H.
	  Johnson <robbat2@g.o> for reporting.

2008-11-13 23:23  zmedico

	* [r11894] man/ebuild.5: Bug #244485 - Document SRC_URI arrows for
	  output file customization.

2008-11-13 22:22  zmedico

	* [r11893] man/ebuild.5: Rename the "FUNCTIONS" section to "PHASE
	  FUNCTIONS".

2008-11-13 22:19  zmedico

	* [r11892] man/ebuild.5: Bug #244485 - Document the default phase
	  function helpers.

2008-11-13 22:03  zmedico

	* [r11891] man/ebuild.5: Bug #244485 - Document src_prepare() and
	  src_configure() phase functions.

2008-11-13 21:33  zmedico

	* [r11890] man/ebuild.5: Bug #244485 - Document the doman
	  enhancement from bug #222439.

2008-11-13 03:40  zmedico

	* [r11873] pym/portage/news.py: Use apply_secpass_permissions() to
	  avoid OperationNotPermitted errors when not allowed to chown
	  files to root uid.

2008-11-13 03:32  zmedico

	* [r11872] pym/portage/news.py: Use grabfile() instead of
	  grablines(), to ignore empty lines.

2008-11-13 03:11  zmedico

	* [r11871] pym/portage/news.py: Add quote from GLEP 42 about
	  permission bits.

2008-11-13 03:08  zmedico

	* [r11870] pym/portage/news.py: Misc fixes and cleanups in
	  NewsManager.

2008-11-13 02:00  zmedico

	* [r11869] pym/portage/news.py: Return early from
	  NewsManager.updateItems() if the news path listdir call fails.

2008-11-13 01:50  zmedico

	* [r11868] pym/portage/news.py: Always return early from
	  NewsManager.updateItems() if self.unread_path can't be created.

2008-11-12 21:58  zmedico

	* [r11867] pym/portage/news.py: Use a simpler approach instead of
	  implementing NewsItem.__getattr__().

2008-11-12 21:47  zmedico

	* [r11866] pym/portage/news.py: * Add NewsItem.isValid() and
	  DisplayRestriction.isValid() methods and use use them to check
	  validity inside NewsManager.updateItems(). * Make
	  DisplayInstalledRestriction.isValid() check validity of the atom.

2008-11-12 19:22  zmedico

	* [r11865] pym/portage/dbapi/vartree.py: Sort the return value from
	  cpv_all() inside vardbapi._counter_hash() instead of sorting them
	  in side cpv_all(). Thanks to Brian Harring for the suggestion.

2008-11-12 18:57  zmedico

	* [r11864] pym/portage/news.py: Inside NewsManager.updateItems(),
	  use a mutable set for skiplist and sort the contents when writing
	  the file.

2008-11-12 18:43  zmedico

	* [r11863] pym/portage/news.py: Instead of raising a TypeError from
	  the NewsItem constructor, check the path inside
	  NewsManager.updateItems() before the NewsItem constructor is
	  called.

2008-11-12 18:32  zmedico

	* [r11862] pym/portage/news.py: Use a frozenset to optimize
	  skiplist containment checks inside NewsManager.updateItems().

2008-11-12 02:24  zmedico

	* [r11861] pym/portage/sets/security.py: Bug #246451 - Inside
	  SecuritySet._reduce(), use portdbapi.xmatch("match-all") in order
	  do be consistent with portage.glsa.getMinUpgrade() which also
	  uses match-all.

2008-11-11 19:59  zmedico

	* [r11859] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py: Make post_emerge() exit early if it
	  detects that the vdb state hasn't changed. This works by
	  comparing a hash of the COUNTER values for all packages in the
	  vdb.

2008-11-11 19:27  zmedico

	* [r11858] pym/_emerge/__init__.py: Allow --keep-going to continue
	  in some cases when a runtime dependency has failed to build or
	  install. This involves pruning off the parts of the graph
	  containing installed packages with unsatisfied dependencies.

2008-11-11 18:37  zmedico

	* [r11856] pym/_emerge/__init__.py: Simplify code for cloning
	  config instances inside Scheduler.merge().

2008-11-11 18:20  zmedico

	* [r11855] pym/repoman/utilities.py: Make FindPortdir() fall back
	  to have_profile_dir() checks if it can't match the current
	  location with anything from PORTDIR_OVERLAY. Assume that an
	  overlay will contain at least a "repo_name" file while a master
	  repo (portdir) will contain at least a "profiles.desc" file.

2008-11-11 17:53  zmedico

	* [r11854] bin/repoman: Derive the changelog_path variable from the
	  new checkdir_relative variable.

2008-11-11 17:46  zmedico

	* [r11853] bin/repoman, pym/repoman/utilities.py: Make
	  FindPortdir() return (None, None, None) on failure, instead of
	  raising a potentially ambiguous ValueError.

2008-11-11 17:39  zmedico

	* [r11852] pym/repoman/utilities.py: Inside have_profile_dir(),
	  check for existence of profiles.desc since that makes a little
	  more sense thatn checking for package.mask.

2008-11-11 10:19  zmedico

	* [r11851] bin/repoman: Update hardcoded "cvs" error messages to
	  show the correct vcs value.

2008-11-11 10:06  zmedico

	* [r11850] bin/repoman: Fix pretend output to show git -a option
	  when committing signed manifest.

2008-11-11 10:04  zmedico

	* [r11849] bin/repoman: Add git support. Thanks to Daniel Robbins
	  for the initial patch.

2008-11-11 05:39  zmedico

	* [r11848] pym/_emerge/__init__.py: Fix logic from previous commit
	  in Scheduler._choose_pkg() to ensure that the --nodeps code is
	  only triggered when --jobs > 1.

2008-11-11 05:01  zmedico

	* [r11847] pym/_emerge/__init__.py: When in --nodeps mode, make
	  Scheduler._set_digraph() discard the digraph and make
	  Scheduler._choose_pkg() always return the task at the front of
	  the queue.

2008-11-11 04:41  zmedico

	* [r11846] pym/_emerge/__init__.py: Inside
	  depgraph.loadResumeCommand(), initialize self._scheduler_graph
	  when in --nodeps mode in order to avoid an AttributeError later
	  when self.schedulerGraph() is called.

2008-11-10 22:30  zmedico

	* [r11845] pym/_emerge/__init__.py: Fix --jobs parallel scheduling
	  to ensure that temporary simultaneous installation of conflicting
	  packages is avoided when appropriate (especially for !!atom
	  blockers), but allowed in specific cases that require it. This is
	  accomplished by reversing specific uninstall edges in the
	  digraph, while possibly leaving some edges in there original
	  state.

2008-11-10 16:41  zmedico

	* [r11844] pym/_emerge/__init__.py: Revert r11839 since it's not
	  necessarily desired to invert all uninstall edges. TODO: Invert
	  only the specific edges that the depgraph has decided are
	  necessary and allowed to be inverted.

2008-11-10 04:10  zmedico

	* [r11843] pym/portage/dbapi/vartree.py: In the
	  LinkageMap.findConsumers() docstring, add a note about
	  incompatibility with symlinks created by binutils-config.

2008-11-09 23:02  zmedico

	* [r11842] pym/portage/dbapi/vartree.py: * Use noiselevel=-1 for
	  preserve-libs ">>> needed" and "<<< !needed" messages so that
	  they're show even without --verbose mode. * Sort files for the
	  ">>> needed" display.

2008-11-09 22:36  zmedico

	* [r11841] pym/_emerge/__init__.py: Remove unused formatter code in
	  show_invalid_depstring_notice().

2008-11-09 22:32  zmedico

	* [r11840] pym/_emerge/__init__.py: Make
	  show_invalid_depstring_notice() send output to stderr via
	  writemsg_level().

2008-11-09 22:18  zmedico

	* [r11839] pym/_emerge/__init__.py: Inside
	  Scheduler._reverse_uninstall_edges(), iover all nodes rather than
	  just the merge list, because some uninstall nodes may not be in
	  the merge list since they will be performed as part of an upgrade
	  within a slot. This solves a problem with Scheduler._choose_pkg()
	  not parallelizing in some cases when it should, due to an
	  uninstall node not having it's edge reversed like it's supposed
	  to.

2008-11-09 21:29  zmedico

	* [r11838] pym/_emerge/__init__.py: Move initialization of
	  Scheduler._background from the constructor to the merge() method
	  so that a potential InvalidDependString exception can be handled
	  there, causing merge() to return unsuccessfully. This avoids
	  having to raise an exception from the constructor.

2008-11-09 20:36  zmedico

	* [r11837] pym/_emerge/__init__.py: Add PROPERTIES=interactive
	  support in depgraph.display() and the PackageCounters class.

2008-11-09 17:19  zmedico

	* [r11836] pym/portage/dbapi/vartree.py: When adding parent
	  directories to contents inside
	  dblink._add_preserve_libs_to_contents(), account for the trailing
	  slash on $ROOT in the while loop.

2008-11-09 16:58  zmedico

	* [r11835] pym/portage/dbapi/vartree.py: Handle a corner case
	  inside dblink._add_preserve_libs_to_contents() in which a path to
	  be preserved doesn't exist in the contents of the installed
	  instance.

2008-11-09 16:40  zmedico

	* [r11834] pym/portage/dbapi/vartree.py: Update docstring for
	  dblink._find_libs_to_preserve().

2008-11-09 09:21  zmedico

	* [r11833] pym/portage/dbapi/vartree.py: Inside
	  vardbapi.removeFromContents(), automatically clear the contents
	  cache of the dblink instance in case an existing one was passed
	  in.

2008-11-09 07:42  zmedico

	* [r11832] pym/portage/sets/libs.py: Bug #243030 - In
	  PreservedLibraryConsumerSet.load(), avoid rebuilding packages
	  just because they contain preserved libs that happen to be
	  consumers of other preserved libs.

2008-11-09 07:14  zmedico

	* [r11831] pym/portage/dbapi/vartree.py: Bug #245362 - Rewrite
	  preserve-libs preservation code so that it always relies on inode
	  comparisons rather than string comparisons. Instead of injecting
	  libraries into $D before the files are merged, the preservation
	  code now executes after the files are merged but before the old
	  version is unmerged. After determining which libs to preserve,
	  the CONTENTS are updated to include those libs. The
	  PreservedLibsRegistry.register() call is now done just after the
	  temporary vdb entry has been moved into place, guaranteeing that
	  a valid vdb entry is in place so that the unregistration code
	  from bug #210501 is no longer needed.

2008-11-09 02:03  zmedico

	* [r11830] pym/portage/dbapi/vartree.py: Inside LinkageMap, use
	  self._obj_key() whenever possible.

2008-11-08 18:29  zmedico

	* [r11829] pym/_emerge/__init__.py: Fix $ROOT handlink inside
	  display_preserved_libs().

2008-11-08 05:12  zmedico

	* [r11828] pym/portage/checksum.py: With python-2.6, importing the
	  Crypto.Hash.MD5 and Crypto.Hash.SHA modules from pycrypto
	  triggers warnings since those modules are implemented using the
	  deprecated md5 and sha modules from python's stdlib. So, in order
	  to avoid the warning and the inferior hash implementations that
	  come with them, never use these particular modules from pycrypto.
	  Instead, use hashlib or directly use stdlib's md5 and sha modules
	  if necessary. Thanks to Markus Peloquin for reporting.

2008-11-08 00:55  zmedico

	* [r11827] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Handle CommandNotFound exceptions if the scanelf binary happens
	  to be missing, and disable preserve-libs code in that case.

2008-11-07 22:18  zmedico

	* [r11826] pym/portage/dbapi/vartree.py: In LinkageMap.rebuild(),
	  immediately raise a CommandNotFound exception if scanelf is
	  missing since otherwise it will lead to a KeyError later on from
	  findConsumers or findProviders. This will allow the caller to
	  handle the CommandNotFound exception if necessary, and skip any
	  findConsumers or findProviders since they won't be able to return
	  valid results.

2008-11-07 21:52  zmedico

	* [r11825] pym/portage/dbapi/vartree.py: Handle a potential OSError
	  that occurs if the scanelf binary is missing when
	  LinkageMap.rebuild() is called.

2008-11-07 21:40  zmedico

	* [r11824] pym/portage/dbapi/vartree.py: Replace NEEDED.ELF.2
	  strings with references to LinkageMap._needed_aux_key.

2008-11-07 21:18  zmedico

	* [r11823] pym/portage/dbapi/vartree.py: Improve the error message
	  that's generated in LinkageMap.rebuild() for corrupt NEEDED.ELF.2
	  entries.

2008-11-07 21:04  zmedico

	* [r11822] pym/portage/dbapi/vartree.py: When calling scanelf
	  inside LinkageMap.rebuild(), join paths with $ROOT when
	  generating the arguments and then strip $ROOT from the paths in
	  the output.

2008-11-07 18:20  zmedico

	* [r11821] pym/portage/dbapi/vartree.py: Fix LinkageMap.rebuild()
	  so that the data from include_file overrides the data from any
	  previously installed files. This prevent possible corruption of
	  the data since only one set of data can be correct for a given
	  file.

2008-11-07 16:56  zmedico

	* [r11820] bin/isolated-functions.sh: When using the `read` builtin
	  to split newlines in e* function arguments, use $REPLY in order
	  to ensure that whitespace in each line is correctly preserved.
	  Thanks to Joe Peterson <lavajoe@g.o> for reporting.

2008-11-07 16:23  zmedico

	* [r11819] pym/portage/dbapi/vartree.py: Combine redundant arch_map
	  code inside LinkageMap.rebuild().

2008-11-07 16:09  zmedico

	* [r11818] pym/portage/dbapi/vartree.py: Swap the locations of the
	  arch and soname keys inside LinkageMap._libs in order to conserve
	  memory. This new branching layout uses fewer dict instances since
	  the number of sonames is much larger than the number of archs.

2008-11-07 15:39  zmedico

	* [r11817] pym/portage/dbapi/vartree.py: Inside LinkageMap._libs,
	  use a SlotDict to store consumers and providers, to use less
	  memory than a normal dict.

2008-11-07 08:56  zmedico

	* [r11816] pym/portage/__init__.py: Bug #245932 - Pass use_mask and
	  use_force parameters into recursive _expand_new_virtuals() calls,
	  fixing a TypeError which is triggered inside
	  portage.dep._use_dep._eval_qa_conditionals().

2008-11-06 20:27  zmedico

	* [r11815] pym/_emerge/__init__.py: Remove the special
	  package.keywords mask warning from bug #223447 since --depclean
	  now uses the depgraph class and therefore should be more
	  consistent with the update algorithm.

2008-11-06 20:08  zmedico

	* [r11814] pym/_emerge/__init__.py: Bug #245661 - Never enable
	  --complete-graph automatically since it's confusing for users.

2008-11-06 04:56  zmedico

	* [r11813] pym/portage/dep.py: In Atom.__setattr__(), include
	  inputs in case it helps for debugging with derived classes.
	  Thanks to Brian Harring for the suggestion.

2008-11-05 23:55  zmedico

	* [r11812] pym/portage/dep.py: Override Atom.__setattr__() to make
	  Atom instances immutable. Thanks to Brian Harring for the
	  suggestion.

2008-11-04 23:43  zmedico

	* [r11809] pym/portage/__init__.py: Fix broken reference to self
	  inside unmerge().

2008-11-04 17:52  zmedico

	* [r11808] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Synchronize portage update/restart logic in dblink.merge() and
	  depgraph.display() so it's consistent with
	  Scheduler._is_restart_necessary(). Thanks to Jeremy Olexa
	  <darkside@g.o> for reporting.

2008-11-04 07:55  zmedico

	* [r11807] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py: Free some memory by clearing the
	  LinkageMap cache when it's not needed.

2008-11-04 07:40  zmedico

	* [r11806] pym/portage/dbapi/vartree.py, pym/portage/util.py: Bug
	  #245362 - Use tuples of (device, inode) for all path comparisons
	  inside LinkageMap, so that they work regardless of path
	  differences due to symlinked directories. TODO: Fix other
	  preserve-libs code, such as dblink._preserve_libs(), to use this
	  approach for path comparisons.

2008-11-03 08:00  zmedico

	* [r11805] pym/_emerge/__init__.py: Bug #245358 - For unsatisfied
	  dependencies, display the parent nodes and the argument that
	  pulled them in.

2008-11-03 06:52  zmedico

	* [r11804] bin/ebuild.sh, pym/portage/__init__.py: Bug #245356 -
	  Filter POSIXLY_CORRECT from the ebuild environment since it
	  breaks stuff.

2008-11-02 21:44  zmedico

	* [r11803] bin/repoman: Make metadata.missing and metadata.bad
	  fatal by removing them from the qawarnings set. Thanks to Robin
	  H. Johnson <robbat2@g.o> for the suggestion.

2008-11-02 20:04  zmedico

	* [r11802] pym/portage/dbapi/vartree.py: Import shutil globally.

2008-11-02 18:17  zmedico

	* [r11801] pym/_emerge/__init__.py: Remove duplicate code inside
	  EbuildFetchPretend._execute().

2008-11-02 18:14  zmedico

	* [r11800] pym/_emerge/__init__.py: Remove locking from
	  EbuildFetchPretend since it uses a private temp directory now
	  (since bug #245231).

2008-11-02 09:05  zmedico

	* [r11796] pym/_emerge/__init__.py: Bug #245231 - Make
	  EbuildFetchPretend use a private temp directory in order to avoid
	  locking the main one.

2008-11-01 23:12  zmedico

	* [r11791] pym/portage/sets/__init__.py: In
	  SetConfig.getSetAtoms(), access self.psets directly in order to
	  avoid making a copy and also to avoid potential swallowing of an
	  unexpected KeyError.

2008-11-01 23:02  zmedico

	* [r11790] pym/portage/__init__.py: In config.setcpv(), ensure that
	  A and AA aren't in the env dict.

2008-11-01 22:59  zmedico

	* [r11789] pym/portage/__init__.py: In _validate_deps(), show the
	  ebuild version to clarify which ebuild the errors belong to.

2008-11-01 22:06  zmedico

	* [r11788] pym/portage/dbapi/vartree.py: TODO: In case some elf
	  files collide with blocked packages, ensure that NEEDED data from
	  include_file overrides the stale NEEDED data from the colliding
	  files in the blocked packages.

2008-11-01 21:10  zmedico

	* [r11787] pym/_emerge/__init__.py: In
	  Scheduler._calc_resume_list(), use self.pkgsettings instead of
	  the the temportary depgraph's.

2008-11-01 17:55  zmedico

	* [r11786] pym/portage/sets/dbapi.py: Bug #239015 - Disable unmerge
	  operations for EverythingSet/@installed.

2008-11-01 10:51  zmedico

	* [r11784] bin/emake: When echoing the emake command, redirect to
	  stderr since otherwise it breaks the gcc ebuild because of the
	  way that the get_make_var() function from toolchain.eclass is
	  used.

2008-11-01 08:48  zmedico

	* [r11783] pym/portage/util.py: Remove broken pickle_write() since
	  it can't possibly be used.

2008-11-01 08:32  zmedico

	* [r11782] pym/portage/__init__.py: * In fetch(), ensure that
	  pkg_nofetch is never called more than once. * In
	  _validate_deps(), revert back to using aux_get since the config
	  instance does not cache SRC_URI.

2008-11-01 07:22  zmedico

	* [r11781] pym/portage/dbapi/vartree.py: Remove unnecessary handler
	  for plain "Exception" from lstat() call in dblink.mergeme().

2008-11-01 07:09  zmedico

	* [r11780] pym/portage/__init__.py, pym/portage/dbapi/vartree.py:
	  Also call PreservedLibsRegistry.pruneNonExisting() after
	  obtaining a lock and loading it for merge or unmerge.

2008-11-01 06:48  zmedico

	* [r11779] pym/portage/__init__.py, pym/portage/dbapi/vartree.py:
	  Explicitly load the preserved libs registry after obtaining a
	  lock for merge or unmerge, in case the registry has been changed
	  by a parallel emerge instance.

2008-11-01 06:40  zmedico

	* [r11778] pym/portage/dbapi/vartree.py: Before returning from
	  PreservedLibsRegistry.store(), update self._data_orig.

2008-11-01 05:44  zmedico

	* [r11777] pym/portage/dbapi/vartree.py: Rename "object" variable
	  to avoid name collision with the builtin class.

2008-11-01 05:32  zmedico

	* [r11776] pym/portage/dbapi/__init__.py: Define __all__ and remove
	  unused imports.

2008-11-01 05:28  zmedico

	* [r11775] pym/portage/dbapi/bintree.py: Define __all__ and remove
	  unused import.

2008-11-01 04:48  zmedico

	* [r11774] pym/_emerge/__init__.py: Remove unused imports.

2008-11-01 04:00  zmedico

	* [r11773] bin/isolated-functions.sh: Filter PORTAGE_VERBOSE in
	  save_ebuild_env().

2008-11-01 03:28  zmedico

	* [r11772] bin/emake: Bug #240295 - When emake is called, echo the
	  make command similar to the way that econf echoes the configure
	  command.

2008-11-01 03:14  zmedico

	* [r11771] bin/regenworld: Bug #241906 - Handle InvalidAtom
	  exception raised from vardbapi.match().

2008-11-01 02:52  zmedico

	* [r11770] bin/ebuild.sh, pym/portage/__init__.py: Bug #244792 -
	  Remove confcache support.

2008-11-01 02:43  zmedico

	* [r11769] pym/portage/__init__.py, pym/portage/dep.py: Bug #244947
	  - Add repoman support for checking masked and forced flags on
	  conditional USE deps.

2008-10-31 21:37  zmedico

	* [r11768] pym/portage/__init__.py, pym/portage/dbapi/__init__.py:
	  Bug #244947 - Add basic repoman support for checking masked and
	  forced flags when verifying USE deps. TODO: Add repoman support
	  in dep_check() for evaluation of conditional USE deps based on
	  forced/masked flags. masked flags, so that repoman can also

2008-10-31 20:40  zmedico

	* [r11767] pym/portage/dbapi/vartree.py: Eliminate duplicate code
	  by calling equivalent dblink._clear_contents_cache().

2008-10-31 20:21  zmedico

	* [r11766] pym/portage/dbapi/vartree.py: Bug #243178 - Handle file
	  collisions with preserved libs by allowing the current package to
	  assume ownership and unregistering the preserved libraries.

2008-10-31 18:49  zmedico

	* [r11765] pym/portage/dbapi/vartree.py: In
	  dblink._collision_protect(), remove redundant self.isowner()
	  calls since self hasn't yet been merged and therefore has no
	  CONTENTS file for ownership checks. Also, remove redundant
	  isprotected() calls.

2008-10-31 17:25  zmedico

	* [r11764] bin/isolated-functions.sh: Bug #236609 - Fix columns
	  calculation for TERM="dumb". Thanks to Ulrich Müller <ulm@g.o>
	  for the patch.

2008-10-31 05:07  zmedico

	* [r11763] pym/portage/dbapi/__init__.py: Revert previous commit
	  since it doesn't properly calculate masked and forced flags for
	  the package being matched (it erroneously uses the masked and
	  forced flags from the parent package).

2008-10-31 04:29  zmedico

	* [r11762] pym/portage/dbapi/__init__.py: Bug #244947 - Add repoman
	  support for checking masked and forced flags when verifying USE
	  deps. Thanks to Brian Harring for reporting.

2008-10-31 04:26  zmedico

	* [r11761] pym/portage/dep.py: Remove unused conditional_disabled
	  and conditional_enabled attributes from _use_dep.__slots__.

2008-10-31 04:01  zmedico

	* [r11760] bin/repoman: Fix broken stuff to avoid tracebacks when
	  running in commit mode with --pretend and no vcs.

2008-10-31 03:46  zmedico

	* [r11759] bin/repoman: Pass a Package instance into the
	  config.setcpv() call.

2008-10-30 22:44  zmedico

	* [r11758] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Use portage.const.PORTAGE_PACKAGE_ATOM where appropriate.

2008-10-30 22:25  zmedico

	* [r11757] bin/repoman: recheck what changed in the repository also
	  when nothing was added, because manifest regeneration might
	  change the Manifest, this fixes bug #229033 (branches/prefix
	  r11755)

2008-10-30 22:18  zmedico

	* [r11756] pym/_emerge/__init__.py: Bug #244975 - Don't allow the
	  user to make portage unmerge itself since there's never any valid
	  reason to do so.

2008-10-30 20:33  zmedico

	* [r11753] bin/repoman: Make sure mychanged and mynew are always
	  defined even if there is no vcs because commit mode is allowed
	  without a vcs in pretend mode.

2008-10-30 20:20  zmedico

	* [r11752] pym/_emerge/__init__.py: Avoid unnecessary aux_get calls
	  inside Scheduler._pkg() by getting the existing Package instance
	  from the digraph.

2008-10-30 19:54  zmedico

	* [r11751] bin/repoman: define myunadded such that repoman doesn't
	  crash when being run in a non-{cvs,svn} dir (branches/prefix
	  r11750)

2008-10-30 07:58  zmedico

	* [r11749] pym/portage/dbapi/vartree.py: Bug #225429 - Inside
	  LinkageMap.rebuild(), update self._defpath since it can change
	  during a gcc upgrade.

2008-10-30 07:46  zmedico

	* [r11748] pym/portage/dbapi/vartree.py: Bug # 225429 - Try to
	  remove unneeded preserved libs just before returning from
	  dblink.treewalk(), after the library path has been updated. This
	  is intended to remove unneeded preserved libs after a gcc
	  upgrade. TODO: Figure out why libgomp.so.1 still isn't properly
	  removed.

2008-10-30 03:37  zmedico

	* [r11747] pym/portage/dbapi/vartree.py: In dblink.unmerge(),
	  update the CONTENTS entries when preserved libs are removed.

2008-10-30 03:04  zmedico

	* [r11746] pym/portage/dbapi/vartree.py: Bug #225429 - In
	  dblink.unmerge(), eliminate consumers having providers with the
	  same soname as an installed library that is not preserved. This
	  eliminates libraries that are erroneously preserved due to a move
	  from one directory to another.

2008-10-29 17:03  zmedico

	* [r11743] pym/_emerge/__init__.py, pym/portage/__init__.py: Make
	  config.setcpv() store the ebuild metadata inside
	  self.configdict["pkg"], and reuse this metadata inside doebuild()
	  in order to avoid redundant portdbapi.aux_get() calls.

2008-10-29 00:07  zmedico

	* [r11742] pym/portage/dbapi/vartree.py: Fix interaction between
	  LinkageMap.rebuild() and the package replacement process in order
	  to avoid problems with stale or unaccounted NEEDED. This solves a
	  LinkageMap corruption issue which caused findConsumers to return
	  false positive inside dblink.unmerge().

2008-10-28 23:15  zmedico

	* [r11741] pym/portage/dbapi/vartree.py: Fix $ROOT handling inside
	  LinkageMap.findConsumers().

2008-10-28 23:04  zmedico

	* [r11740] pym/portage/dbapi/vartree.py: Bug #238957 - When
	  removing unneeded preserved libs inside dblink.unmerge(), use a
	  digraph to properly track consumer relationships between
	  preserved libs. This fixes cases where preserved libs failed to
	  be removed due to being consumed by other preserved libs.

2008-10-28 21:22  zmedico

	* [r11739] bin/repoman: Update the auto-add message to say
	  "Manifest" instead of "digests". Thanks to grobian.

2008-10-28 21:10  zmedico

	* [r11738] bin/repoman: Remove manifest1 digest-* autoadd code.
	  Thanks to grobian.

2008-10-28 20:53  zmedico

	* [r11737] pym/portage/__init__.py: Fix graph.get() so that it
	  works as intended, returning the node corresponding to the given
	  key.

2008-10-28 09:25  zmedico

	* [r11733] pym/portage/dbapi/vartree.py: Fix some incorrect $ROOT
	  handling inside LinkageMap.

2008-10-28 09:07  zmedico

	* [r11732] pym/_emerge/__init__.py, pym/portage/sets/__init__.py:
	  Make SetConfig.getSetAtoms() raise a PackageSetNotFound exception
	  when necessary and add handling code in emerge. This solves an
	  unhandled KeyError that was raise when a nested set did not
	  exist. Thanks to ABCD for reporting.

2008-10-28 05:30  zmedico

	* [r11731] pym/portage/dbapi/vartree.py: Fix incorrect $ROOT
	  handling inside dblink._preserve_libs().

2008-10-28 04:04  zmedico

	* [r11730] pym/portage/dbapi/vartree.py: Pass $ROOT into the
	  LinkageMap._ObjectKey constructor since it's needed for os.stat()
	  and realpath() calls.

2008-10-28 03:41  zmedico

	* [r11729] pym/portage/dbapi/vartree.py, pym/portage/util.py: Pass
	  $ROOT into portage.util.getlibpaths().

2008-10-27 22:35  zmedico

	* [r11728] pym/portage/__init__.py: Return early from fetch() if no
	  uris are given.

2008-10-27 22:19  zmedico

	* [r11727] pym/portage/__init__.py: In fetch(), avoid the
	  "Adjusting permissions recursively" message in cases when the
	  directory has just been created and therefore it must be empty.

2008-10-26 07:55  zmedico

	* [r11726] bin/ebuild.sh: Enable bashrc even when $EBUILD_PHASE is
	  unset, so it's possible to override things like INSTALL_MASK.

2008-10-25 18:20  zmedico

	* [r11725] pym/portage/__init__.py: When creating the temporary
	  $DISTDIR, do not try to set the uid since it will fail when not
	  running as root.

2008-10-24 20:28  zmedico

	* [r11724] pym/portage/dbapi/vartree.py: Fix preserve-libs code
	  inside dblink.unmerge() so that it will join paths correctly when
	  ROOT != /.

2008-10-24 00:07  zmedico

	* [r11723] pym/portage/__init__.py: When populating the fake
	  $DISTDIR inside doebuild(), reuse existing symlinks when
	  possible, instead of recreating the whole directory from scratch.

2008-10-23 17:19  zmedico

	* [r11722] pym/repoman/checks.py: Add "subversion" to
	  InheritAutotools._exempt_eclasses. Thanks to Arfrever.

2008-10-23 06:00  zmedico

	* [r11721] cnf/sets.conf: Add "bzr" to the lists of live eclasses.

2008-10-23 05:57  zmedico

	* [r11720] bin/repoman, pym/_emerge/__init__.py: Add "bzr" to the
	  lists of live eclasses.

2008-10-22 17:59  zmedico

	* [r11719] pym/repoman/checks.py: Bug #243224 - Add an exemption to
	  the inherit.autotools check for ebuilds that inherit git.eclass
	  since the GIT_BOOTSTRAP variable may be used to call one of
	  autotools functions.

2008-10-22 16:15  zmedico

	* [r11718] man/ebuild.5: Fix grammar.

2008-10-22 05:36  zmedico

	* [r11717] bin/repoman, man/repoman.1: Add a PROPERTIES.syntax
	  check.

2008-10-22 05:20  zmedico

	* [r11716] man/ebuild.5: Document PROPERTIES=interactive.

2008-10-21 23:24  zmedico

	* [r11715] pym/_emerge/__init__.py: Bug #233296 - Add minimal
	  PROPERTIES=interactive support by simply forcing all package
	  output to stdio whenever the merge list contains one or more
	  interactive packages.

2008-10-21 22:05  zmedico

	* [r11714] pym/portage/__init__.py: Split dep validation out of
	  doebuild() and skip it when called by emerge since there's no
	  need to do this every time emerge executes a phase.

2008-10-21 21:45  zmedico

	* [r11713] pym/portage/__init__.py: Validate PROPERTIES inside
	  doebuild().

2008-10-21 21:09  zmedico

	* [r11712] pym/portage/dbapi/vartree.py: Remove unused imports
	  found by pyflakes.

2008-10-21 21:05  zmedico

	* [r11711] pym/portage/dbapi/vartree.py: Remove needlessly complex
	  error handling code from vardbapi.cpv_counter().

2008-10-21 20:55  zmedico

	* [r11710] pym/portage/dbapi/vartree.py: Use normal return
	  statements instead of calling sys.exit() inside dblink.mergeme().

2008-10-21 08:39  zmedico

	* [r11709] bin/misc-functions.sh, pym/_emerge/__init__.py,
	  pym/portage/__init__.py, pym/portage/dbapi/vartree.py: Bug
	  #186842 - Suppress file merge display, as previously done in
	  --quiet mode, whenever --verbose is not enabled. Also, export
	  PORTAGE_VERBOSE to the ebuild environment and use it to control
	  tar verbosity when creating binary packages.

2008-10-21 08:01  zmedico

	* [r11708] bin/isolated-functions.sh, pym/portage/__init__.py: Add
	  PORTAGE_QUIET to the environment whitelist and filter it from the
	  saved ebuild environment.

2008-10-20 19:15  zmedico

	* [r11707] pym/portage/__init__.py: Remove redundant duplicate uri
	  elimination code. It's already handled in the fetch loop.

2008-10-20 19:11  zmedico

	* [r11706] pym/portage/__init__.py: Prefer thirdpartymirrors over
	  normal mirrors in cases when the file does not yet exist on the
	  normal mirrors. Thanks to Maurice van der Pot <griffon26@g.o> for
	  reporting.

2008-10-20 18:21  zmedico

	* [r11705] pym/_emerge/__init__.py: Handle the case that was
	  intended to be fixed by r11702 (which got reverted).

2008-10-20 00:44  zmedico

	* [r11704] pym/_emerge/__init__.py: Revert previous 2 commits since
	  they broke "selective" behavior.

2008-10-20 00:30  zmedico

	* [r11703] pym/_emerge/__init__.py: Simplify logic from the
	  previous commit.

2008-10-19 17:33  zmedico

	* [r11702] pym/_emerge/__init__.py: Remove the
	  "found_available_arg" variable from depgraph._select_pkg() and
	  use the "matched_packages" variable instead. This solve a problem
	  where the "found_available_arg" flag is unreliable due to the
	  slot filtering behavior of depgraph._iter_atoms_for_pkg(). For
	  example, a higher version in a different slot than the available
	  ebuild might be masked or unavailable, and
	  depgraph._iter_atoms_for_pkg() will not identify the available
	  ebuild as a match due to this installed package (which is not
	  available for reinstall).

2008-10-17 19:56  zmedico

	* [r11699] bin/portage_gpg_update.sh, pym/portage/gpg.py: Remove
	  the unused portage.gpg module and portage_gpg_update.sh script.

2008-10-17 18:52  zmedico

	* [r11698] man/make.conf.5, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Remove support for FEATURES=gpg
	  since it's already disabled and broken anyway. Thanks to DJ
	  Anderson for the suggestion.

2008-10-17 02:02  zmedico

	* [r11697] pym/portage/__init__.py: In fetch(), make sure all
	  references to digests for zero-byte distfile are always
	  discarded.

2008-10-16 23:04  zmedico

	* [r11696] pym/portage/__init__.py: In fetch(), don't spawn
	  pkg_nofetch unless PORTAGE_BUILDDIR exists since it will die
	  anyway due to the code for bug #239560 that's in ebuild.sh.

2008-10-16 22:55  zmedico

	* [r11695] pym/portage/__init__.py: Bug #242304 - When a zero-byte
	  distfile is detected inside fetch(), discard the digests and
	  attempt to fetch the file if possible. This code is triggered via
	  digestgen() when appropriate, so it fixes all digestgen()
	  callers, including repoman.

2008-10-14 22:14  zmedico

	* [r11692] bin/repoman: Bug #229033 - When a Manifest is added
	  automatically by repoman, it's in the "mynew" list, so move
	  manifest paths from that list to the "mymanifests" list when
	  necessary.

2008-10-14 21:37  zmedico

	* [r11691] pym/_emerge/__init__.py: Bug #241366 - Only suggest to
	  run `emaint --check world` when the atom is a direct member of
	  the world set (rather than from a nested set).

2008-10-14 21:05  zmedico

	* [r11690] pym/_emerge/__init__.py, pym/portage/elog/__init__.py:
	  When emerge --keep-going bails due to missing dependencies, show
	  the error message after the mod_echo output since otherwise the
	  mod_echo output can sweep the error message out of view. Thanks
	  to Donnie Berkholz <dberkholz@g.o> for reporting.

2008-10-13 20:52  zmedico

	* [r11689] pym/portage/__init__.py: Make sure the pkg_nofetch phase
	  is only called once when in fetchonly mode.

2008-10-13 00:39  zmedico

	* [r11688] pym/portage/__init__.py: Make fetch() fetch as many
	  files as possible, even if some fail, when in fetchonly mode.

2008-10-13 00:21  zmedico

	* [r11687] pym/portage/__init__.py: Don't return from fetch() due
	  to fetch restriction when in "listonly" mode.

2008-10-12 23:57  zmedico

	* [r11686] pym/_emerge/__init__.py: Bug #234301 - When fetch fails,
	  include the path of the log file in the eerror message that's
	  generated. This way it's easy for the user to find the output
	  from the fetcher or from the pkg_nofetch phase.

2008-10-12 23:17  zmedico

	* [r11685] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #241118 - Re-enable pkg_nofetch for emerge --pretend --fetch, but
	  direct output to stderr. This requires PORTAGE_BUILDDIR locking
	  for bug #239560 and also for elog message storage.

2008-10-12 21:01  zmedico

	* [r11684] bin/ebuild.sh: Add an explicit note about bug #239560 in
	  the relevant code.

2008-10-12 20:57  zmedico

	* [r11683] pym/portage/__init__.py: Inside fetch(), don't call
	  pkg_nofetch when in parallel-fetch mode since it will get call
	  again later anyway.

2008-10-12 19:59  zmedico

	* [r11682] pym/_emerge/__init__.py: Now that only prefetch
	  (parallel-fetch) output goes to the global fetch log, update code
	  to remove inappropriate references to this log.

2008-10-12 02:15  zmedico

	* [r11681] pym/_emerge/__init__.py: Remove the prefetch logic in
	  EbuildFetcher._pipe() since prefetchers are always in the
	  background anyway.

2008-10-12 00:46  zmedico

	* [r11680] pym/_emerge/__init__.py: Buge #241100 - Make
	  EbuildFetcher use a pty when appropriate, so that fetcher
	  progress bars, like wget has, will work properly.

2008-10-12 00:09  zmedico

	* [r11679] pym/_emerge/__init__.py: Make the Scheduler class treat
	  failed fetches the same as other failed packages, and don't bail
	  out due to a failure when in --fetchonly mode. This fixes an
	  issue with --fetchonly bailing out instead of continuing to
	  fetch.

2008-10-11 20:31  zmedico

	* [r11678] pym/_emerge/__init__.py: In EbuildFetcher._start(), in
	  order to ensure that a new log is created when appropriate, clean
	  up PORTAGE_BUILDDIR if appropriate.

2008-10-11 19:34  zmedico

	* [r11677] pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/porttree.py: When warning about package
	  categories that haven't been configured via
	  /etc/portage/categories, join the path with PORTAGE_CONFIGROOT.
	  Thanks to Ned Ludd <solar@g.o> for reporting.

2008-10-11 18:51  zmedico

	* [r11676] pym/portage/dbapi/vartree.py: Bug #241204 - Fix
	  dbapi.invalidentry() calls inside vardbapi.cpv_all() to correctly
	  join the path via self.getpath().

2008-10-10 22:02  vapier

	* [r11673] bin/etc-update: only use dummy echos in do_file() when
	  running in interactive mode

2008-10-10 20:33  zmedico

	* [r11672] pym/_emerge/__init__.py: Migrate code from plain
	  ValueError to AmbiguousPackageName where appropriate (inherits
	  from ValueError for backward compatibility).

2008-10-10 20:25  zmedico

	* [r11671] pym/_emerge/__init__.py: Bug #241132 - Handle
	  AmbiguousPackageName exceptions for atoms passed to the --info
	  action.

2008-10-10 20:15  zmedico

	* [r11670] pym/portage/__init__.py, pym/portage/exception.py:
	  Create a new AmbiguousPackageName exception to raise from
	  portage.cpv_expand(). It inherits from ValueError, for backward
	  compatibility with calling code that already handles ValueError.

2008-10-09 23:29  zmedico

	* [r11669] pym/portage/__init__.py: Grab make.globals from
	  GLOBAL_CONFIG_PATH if available and fall back to the legacy
	  location if necessary.

2008-10-09 20:31  zmedico

	* [r11667] bin/ebuild.sh: At the end of dyn_clean(), also remove
	  the $CATEGORY directory if possible.

2008-10-09 20:03  zmedico

	* [r11666] pym/_emerge/__init__.py: Remove redundant
	  os.close(master_fd) call inside SpawnProcess._start() since that
	  file discriptor is referenced by a file object which already has
	  an appropriate close() call. This fixes an 'IOError: [Errno 9]
	  Bad file descriptor' exception which was raised when attempting
	  to close the file object.

2008-10-09 19:46  zmedico

	* [r11665] bin/ebuild.sh: Fix code from previous commit so it
	  properly checks $eapi to verify that src_prepare is really a
	  supported phase function.

2008-10-09 19:32  zmedico

	* [r11664] bin/ebuild.sh: Bug #240684 - Fix _ebuild_arg_to_phase()
	  to handle the src_prepare phase so that the default() function is
	  properly created.

2008-10-09 01:10  zmedico

	* [r11661] pym/_emerge/__init__.py: In
	  EbuildFetcher._set_returncode(), don't clean up PORTAGE_BUILDDIR
	  if keepwork or keeptemp are in FEATURES.

2008-10-08 22:47  zmedico

	* [r11660] pym/_emerge/__init__.py: Don't show the repo display
	  when the merge list is empty.

2008-10-08 22:35  zmedico

	* [r11659] pym/portage/glsa.py: Fix apparent breakage from r11593
	  (slot dep support): * Handle KeyError from element.getAttribute()
	  in makeAtom() and makeVersion(). * Avoid 'sre_constants.error:
	  unmatched group' exceptions in revisionMatch() when the atom does
	  not have a slot.

2008-10-08 18:25  zmedico

	* [r11658] pym/_emerge/__init__.py: In EbuildBuild._fetch_exit(),
	  clean up the fetch log if fetch was successful.

2008-10-08 18:03  zmedico

	* [r11657] bin/doins: Use separate temp directories in order to
	  avoid potential name collisions.

2008-10-08 16:16  zmedico

	* [r11656] pym/_emerge/__init__.py: Since EbuildBuild no longer
	  directs it's EbuildFetcher instance's output to the global fetch
	  log, there's no need to schedule it on the fetch queue.

2008-10-08 03:27  zmedico

	* [r11655] pym/_emerge/__init__.py: Before returning config
	  instances from Scheduler._allocate_config(), call the
	  config.reset() method to make sure all settings from the previous
	  package get flushed out (such as PORTAGE_LOG_FILE). This fixes a
	  case where PORTAGE_LOG_FILE leaked from the previous package to
	  the clean phase of the next one, resulting in an IOError due to
	  the path being invalid and the parent directory being
	  nonexistent.

2008-10-07 20:48  zmedico

	* [r11654] pym/_emerge/__init__.py: Generate elog messages for
	  failed fetches. This restores some functionality that was removed
	  in r11645.

2008-10-07 16:00  zmedico

	* [r11653] pym/portage/sets/__init__.py: Instead of using
	  inheritance, reference the ConfigParser part of SetConfig as an
	  attribute in case we want to swap out the ConfigParser
	  implemention and no longer want to implement the whole interface.

2008-10-07 15:51  zmedico

	* [r11652] bin/repoman: Make "qawarnings" a normal set since the
	  missingvars code might modify it.

2008-10-07 15:36  zmedico

	* [r11651] bin/repoman: Change the "qawarnings" variable from a
	  list to a set.

2008-10-07 15:31  zmedico

	* [r11650] bin/repoman: Make HOMEPAGE.missing fatal again since, in
	  cases when homepages are no longer available, we can use a link
	  to some site like packages.gentoo.org or
	  www.unmaintained-free-software.org.

2008-10-07 09:03  zmedico

	* [r11649] pym/_emerge/__init__.py: When EbuildBuild encounters a
	  failed fetch, propagee the log path so that it can be properly
	  displayed in the status display.

2008-10-07 08:52  zmedico

	* [r11648] pym/_emerge/__init__.py: Make EbuildFetcher clean up the
	  build dir after failures in fetchonly mode since the log is in
	  emerge-fetch.log anyway.

2008-10-07 08:40  zmedico

	* [r11647] pym/_emerge/__init__.py: Make EbuildFetcher direct fetch
	  output to the normal build log. By keeping the output in the
	  build log instead of the global emerge-fetch.log file, output
	  from a possible fetch failure can be recovered and displayed
	  later. TODO: Convert failed fetch to elog message as suggested in
	  bug #234301.

2008-10-07 08:04  zmedico

	* [r11646] pym/_emerge/__init__.py: Fix EbuildFetcher._wait_hook()
	  so it can be called more than once without throwing an
	  AttributeError.

2008-10-07 02:01  zmedico

	* [r11645] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #234301 - Add support to EbuildFetcher to collect elog messages
	  that might be generated during the pkg_nofetch phase. This
	  involves maintaining a lock on PORTAGE_BUILDDIR where the elog
	  messages are collected, and cleaning up PORTAGE_BUILDDIR before
	  releasing the lock.

2008-10-06 20:58  zmedico

	* [r11644] pym/portage/__init__.py: In fetch(), never call the
	  pkg_nofetch phase when in "listonly" mode.

2008-10-06 20:51  zmedico

	* [r11643] pym/portage/__init__.py: In doebuild(), don't create
	  build dirs when "listonly" fetch mode.

2008-10-06 20:12  zmedico

	* [r11642] pym/_emerge/__init__.py: In order to avoid "waiting for
	  lock" messages at the beginning, which annoy users, never spawn a
	  prefetcher for the first package.

2008-10-06 02:47  zmedico

	* [r11637] pym/_emerge/__init__.py: Fix KeyError raised from
	  display_preserved_libs() when the realpath is used as a key in
	  consumer_map instead of the orignal path that was returned from
	  the PreservedLibsRegistry.

2008-10-05 18:47  zmedico

	* [r11636] pym/_emerge/__init__.py: Bug #240022 - Avoid duplicate
	  output for the same library (due to symlinks) in
	  display_preserved_libs() by using os.path.realpath() to group
	  duplicate references together. Thanks to Fabian Groffen
	  <grobian@g.o> for the initial patch.

2008-10-05 17:04  zmedico

	* [r11634] bin/repoman: Make HOMEPAGE.missing a warning since some
	  packages become homeless even though they still continue to work.
	  Thanks to Robin H. Johnson <robbat2@g.o> for the suggestion.

2008-10-05 16:57  zmedico

	* [r11633] pym/_emerge/__init__.py: Avoid raising a KeyError from
	  display_preserved_libs() in cases when no owners are found for a
	  particular library consumer.

2008-10-05 16:31  zmedico

	* [r11630] bin/ebuild.sh: In dyn_clean, cd to $PORTAGE_BUILDDIR/..
	  before attempting to remove it since some kernels, such as
	  Solaris, return EINVAL when an attempt is made to remove the
	  current working directory. Thanks to Fabian Groffen <grobian@g.o>
	  for reporting.

2008-10-05 16:04  zmedico

	* [r11629] bin/doins: Bug #239529 - When doins is called on a
	  symlink to a directory, preserve the name of the symlink for the
	  installed directory. This involves temporarily renaming the
	  directory and then renaming it back again.

2008-10-05 05:09  zmedico

	* [r11628] bin/ebuild.sh, pym/portage/__init__.py: * When ensuring
	  sane $PWD in ebuild.sh, die if the `cd "$PORTAGE_BUILDDIR"` call
	  fails. * Create $PORTAGE_BUILDDIR for the "fetch" phase too since
	  it might be necessary to call pkg_nofetch.

2008-10-05 04:20  zmedico

	* [r11627] pym/portage/dbapi/vartree.py: Only update the confmem
	  file when something has changed.

2008-10-05 04:12  zmedico

	* [r11626] pym/portage/dbapi/vartree.py: Fix
	  PreservedLibsRegistry.store() so that it only rewrites the data
	  file when something has changed.

2008-10-05 03:46  zmedico

	* [r11625] bin/doins: Redirect pushd and popd output to /dev/null
	  when appropriate.

2008-10-05 03:40  zmedico

	* [r11624] bin/doins: Add missing quotes on pushd argument from
	  previous commit.

2008-10-05 03:39  zmedico

	* [r11623] bin/doins: Bug #239529 - Fix 'doins' to work with
	  symlinks to directories, like it did before the changes from bug
	  #210575.

2008-10-05 02:17  zmedico

	* [r11622] pym/_emerge/__init__.py: A cpv can be returned from
	  dbapi.match() as an old-style virtual match even in cases when
	  the package does not actually PROVIDE the virtual. Filter out any
	  such false matches inside depgraph._select_package() and
	  _show_unsatisfied_dep(). Thanks to Ned Ludd <solar@g.o> for
	  reporting this issue which was discovered when attempting to
	  install virtual/libc on uclibc profile. Apparently the uclibc
	  ebuilds need to be fixed to properly set PROVIDE when the
	  metadata cache is generated.

2008-10-04 21:32  zmedico

	* [r11621] pym/_emerge/__init__.py: Handle AttributeError in case
	  os.getloadavg does not exist, like when python is built agains
	  uclibc.

2008-10-04 05:40  zmedico

	* [r11618] pym/_emerge/__init__.py: Fix depgraph._add_pkg() to
	  ensure that the existing package in the graph matches the
	  required atom in cases when a different package has been passed
	  in. This solves a problem with silently unsatisfied USE deps that
	  was reported by Jorge Manuel B. S. Vicetto <jmbsvicetto@g.o>. Now
	  the unsatisfied dependency will result in a "slot conflict"
	  rather than be silently ignored.

2008-10-04 05:09  zmedico

	* [r11617] pym/_emerge/__init__.py: Make depgraph._add_pkg() take a
	  Dependency instance. This provides access to the atom which
	  pulled in the package, which may be needed in order to verify
	  that a different package that's been added to the graph is
	  capable of satisfying the atom.

2008-10-02 16:57  zmedico

	* [r11613] bin/repoman: Fix `svn status` output parsing for
	  compatibility with subversion-1.6. Thanks to Arfrever for this
	  patch.

2008-10-02 06:56  zmedico

	* [r11611] pym/_emerge/__init__.py: Remove pointless copying of the
	  owners dict inside display_preserved_libs().

2008-10-02 06:35  zmedico

	* [r11610] bin/repoman, man/repoman.1: Implement a new
	  "changelog.ebuildadded" check which causes repoman to bail out if
	  an ebuild has been added and the ChangeLog has not been modified.
	  This was requested by Robin H Johnson <robbat2@g.o> since it is a
	  requirement for the packages.gentoo.org ChangeLog code.

2008-10-02 05:11  zmedico

	* [r11609] pym/_emerge/__init__.py: In JobStatusDisplay._update(),
	  set _displayed = True when ruturning early due to stdout not
	  being a tty. This fixes a problem excess output which was
	  reported by Daniel Robbins.

2008-10-02 03:58  zmedico

	* [r11608] pym/_emerge/__init__.py: Optimize
	  display_preserved_libs() by using a single getFileOwnerMap() to
	  look up all the files.

2008-10-02 02:52  zmedico

	* [r11607] pym/_emerge/__init__.py: Fix broken logic in
	  Scheduler._main_loop() which would allow the main loop to exit
	  while one or more merges are still scheduled. Thanks to Patrick
	  Lauer for reporting.

2008-10-02 00:57  zmedico

	* [r11606] pym/_emerge/__init__.py: Call elog_process before
	  calling the "clean" phase for --buildpkgonly mode.

2008-10-02 00:44  zmedico

	* [r11605] pym/portage/elog/__init__.py: When parsing
	  PORTAGE_ELOG_SYSTEM, stack values in a dict so that things like
	  "echo:info echo:qa" stack like one might expect. Thanks to
	  Betelgeuse for reporting.

2008-10-01 21:17  zmedico

	* [r11604] pym/_emerge/__init__.py: Bug #239272 - Handle
	  InvalidAtom exception inside depgraph.validate_blockers().

2008-10-01 17:43  zmedico

	* [r11603] bin/ebuild.sh: Generate an eqawarn message if econf is
	  called from src_compile and src_configure is also defined. Thanks
	  to Betelgeuse for the patch which I've modified to be silent in
	  EAPI 0 or 1 in case ebuilds want to define src_configure in those
	  EAPIs and call it manually from src_compile.

2008-09-30 15:16  zmedico

	* [r11602] pym/_emerge/__init__.py: Handle InvalidDependString from
	  portdbapi.getFetchMap() inside search.output(). Thanks to
	  agaffney for reporting.

2008-09-30 01:06  zmedico

	* [r11601] bin/isolated-functions.sh, pym/portage/elog/messages.py:
	  Now that elog_base() uses 'echo -e' to expand escape codes prior
	  to using 'read' to split on newlines, it's safe to use newlines
	  as delimiters in the log file since 'read' is guaranteed to split
	  any newlines contained in the arguments.

2008-09-29 16:58  zmedico

	* [r11600] pym/_emerge/__init__.py: Bug #239006 - In
	  FakeVartree._aux_get_wrapper(), fall back to vdb metadata if the
	  live ebuild's EAPI is unsupported.

2008-09-29 00:18  genone

	* [r11599] pym/portage/sets/__init__.py: allow the portage.sets.
	  prefix to be omitted in 'class' options of set definitions

2008-09-28 23:38  genone

	* [r11598] pym/portage/sets/base.py: Add a new DummyPackageSet
	  handler to make set operators easier to use

2008-09-28 23:02  genone

	* [r11597] doc/config/sets.docbook, pym/portage/sets/dbapi.py:
	  remove the 'repository' option from CategorySet in favor of the
	  generic 'intersect' option

2008-09-28 22:55  genone

	* [r11596] pym/portage/sets/dbapi.py: allow selection of metadata
	  source for VariableSet

2008-09-28 22:36  genone

	* [r11595] pym/portage/sets/__init__.py: make sure that cli-defined
	  sets aren't added to @world

2008-09-28 22:28  zmedico

	* [r11594] pym/_emerge/__init__.py: For compatibility with
	  long-standing --columns behavior, do not display "uninstall" or
	  satsified "blocks" nodes in the merge list when --columns is
	  enabled. Thanks to solar for the suggestion.

2008-09-28 19:15  genone

	* [r11593] pym/portage/glsa.py: add support for slot dependencies
	  (original patch by Robert Buchholz <rbu@gentoo.org>)

2008-09-28 18:59  genone

	* [r11592] bin/glsa-check: use summarylist for output of test mode
	  when --verbose is given (patch by Robert Buchholz
	  <rbu@gentoo.org>)

2008-09-28 18:58  genone

	* [r11591] bin/glsa-check, pym/portage/glsa.py: sort summarylist
	  output (patch by Robert Buchholz <rbu@gentoo.org>)

2008-09-28 18:50  genone

	* [r11590] pym/portage/glsa.py: print dates in a consistent format
	  (patch by Robert Buchholz <rbu@gentoo.org>)

2008-09-28 18:41  genone

	* [r11589] pym/portage/glsa.py: also accept glsa-2.dtd as valid for
	  GLSAs (patch by Robert Buchholz <rbu@gentoo.org>)

2008-09-28 18:39  genone

	* [r11588] pym/portage/glsa.py: account for DTD changes wrt
	  'revised' element (patch by Robert Buchholz <rbu@gentoo.org>)

2008-09-28 18:09  genone

	* [r11587] doc/config/sets.docbook: document AgeSet handler class

2008-09-28 17:57  genone

	* [r11586] doc/config/sets.docbook: update set config documentation
	  to include extend, remove and intersect options

2008-09-28 17:33  genone

	* [r11585] pym/portage/sets/__init__.py: use ignorelist to avoid
	  potential infite loop

2008-09-28 17:27  genone

	* [r11584] pym/portage/sets/__init__.py: Add operator logic to
	  sets.conf

2008-09-28 17:02  genone

	* [r11583] pym/_emerge/__init__.py: Properly process set arguments
	  inside set expressions

2008-09-28 17:01  genone

	* [r11582] pym/portage/sets/__init__.py: disable redefintion errors
	  when updating the set definitions

2008-09-28 16:08  genone

	* [r11581] pym/_emerge/__init__.py, pym/portage/sets/__init__.py:
	  implement set arguments to reconfigure and create package sets on
	  the commandline

2008-09-27 22:16  zmedico

	* [r11576] pym/_emerge/__init__.py: Another correctness fix in
	  BlockerDB.findInstalledBlockers().

2008-09-27 22:10  zmedico

	* [r11575] pym/_emerge/__init__.py: Fix code inside
	  BlockerDB.findInstalledBlockers() to correctly strip multiple "!"
	  characters when necessary. The code seemed to work fine anyway so
	  this is more a correctness fix than a bug fix.

2008-09-27 20:04  zmedico

	* [r11574] NEWS: EAPI 2 is now supported.

2008-09-27 19:24  zmedico

	* [r11573] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Mask packages with deprecated
	  EAPIs in order to prevent them from being installed. Such
	  packages will still behave normally if they are already
	  installed, but preventing new installation will remind people to
	  update the EAPIs in their overlays if necessary.

2008-09-27 05:55  zmedico

	* [r11564] man/emerge.1, pym/_emerge/__init__.py,
	  pym/_emerge/help.py: In the --depclean docs, there's no need to
	  advise the user to use --oneshot when updating @system @world
	  since @system now has world-candidate set to False by default.

2008-09-27 00:08  zmedico

	* [r11563] bin/ebuild.sh: Make $PWD default to $PORTAGE_BUILDDIR
	  since $WORKDIR is sometimes created later.

2008-09-26 23:00  zmedico

	* [r11562] pym/portage/dbapi/bintree.py: Add PROPERTIES to the list
	  of USE evaluated keys for the Packages index.

2008-09-26 21:40  zmedico

	* [r11561] bin/ebuild.sh, bin/repoman, pym/_emerge/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/porttree.py,
	  pym/portage/dbapi/vartree.py: Add PROPERTIES to all of the
	  metadata caches.

2008-09-26 19:20  zmedico

	* [r11560] pym/portage/cache/flat_list.py,
	  pym/portage/cache/metadata.py: Update hardcoded auxdbkey_order
	  attributes to include PROPERTIES.

2008-09-26 15:00  zmedico

	* [r11558] pym/portage/__init__.py: Bug #238766 - Revert the
	  fetch() mirror:// behavior change from r11537 since it wasn't
	  actually needed to comply with PMS 9.2.8, and the change actuall
	  caused incorrect mirror fetching behavior.

2008-09-26 03:13  zmedico

	* [r11556] pym/_emerge/__init__.py: Add back code removed in r11553
	  and fix logic to avoid IndexError.

2008-09-26 02:16  zmedico

	* [r11555] pym/portage/cache/util.py: Handle possible CacheError
	  inside mirror_cache().

2008-09-26 01:48  zmedico

	* [r11554] pym/portage/output.py: Direct EOutput.eerror() and
	  ewarn() output to stderr.

2008-09-26 01:45  zmedico

	* [r11553] pym/_emerge/__init__.py: Fix a potential IndexError
	  inside display_preserved_libs().

2008-09-26 01:15  zmedico

	* [r11552] pym/portage/cache/flat_hash.py,
	  pym/portage/dbapi/porttree.py: Make flat_hash write keys in
	  alphabetical order.

2008-09-26 00:16  zmedico

	* [r11551] doc/package/ebuild/eapi/2.docbook: Rename the EAPI 2
	  docs and to indicate that they are no longer a draft, and remove
	  the EAPI 2_pre* docs.

2008-09-26 00:09  zmedico

	* [r11550] pym/portage/const.py: Bump to EAPI 2.

2008-09-25 23:42  zmedico

	* [r11549] bin/ebuild.sh, pym/portage/__init__.py: Add PROPERTIES
	  to portage.auxdbkeys since it's been approved by the council.

2008-09-25 23:29  zmedico

	* [r11548] pym/portage/cache/util.py: Fix mirror_cache() so it
	  won't silently swallow a KeyError if _mtime_ or _eclass_ happens
	  to be missing from the cache data for some reason.

2008-09-25 23:13  zmedico

	* [r11547] pym/portage/cache/flat_hash.py,
	  pym/portage/cache/metadata.py, pym/portage/cache/sql_template.py,
	  pym/portage/cache/sqlite.py, pym/portage/cache/template.py:
	  Ensure that cache modules always return a dict containing the
	  _eclasses_ key.

2008-09-25 21:23  zmedico

	* [r11546] pym/_emerge/__init__.py: Fix message: s/One or
	  packages/One or more packages/. Thanks to Marijn Schouten
	  <hkBst@g.o> for reporting.

2008-09-25 18:58  zmedico

	* [r11545] bin/isolated-functions.sh: Use echo -e when splitting
	  lines in e* functions, for compatibility with previous behavior
	  wrt \e escape codes such as `elog "\e[31m***\e[0m"` for example.
	  Thanks to Arfrever for finding this solution.

2008-09-25 17:03  genone

	* [r11544] pym/_emerge/__init__.py: change set expression syntax:
	  operators now have a @ suffix (IOW: all operands must be prefixed
	  with @) to maintain compability with existing set names
	  containing hyphens

2008-09-25 16:37  genone

	* [r11543] pym/_emerge/__init__.py: implement simple expression
	  logic for apckage sets to generate unions, intersections and
	  differences of two or more package sets

2008-09-25 15:45  genone

	* [r11542] pym/_emerge/__init__.py: move set expansion code into
	  its own function

2008-09-25 15:26  genone

	* [r11541] pym/_emerge/__init__.py: relocate the post_emerge call
	  so it gets called in more situations.

2008-09-25 15:25  genone

	* [r11540] pym/portage/sets/dbapi.py: Add a new AgeSet class to
	  select installed packages that have been installed more/less than
	  n days ago

2008-09-25 13:30  zmedico

	* [r11539] bin/ecompress: Fix the case where all arguments are
	  filtered out by PORTAGE_COMPRESS_EXCLUDE_SUFFIXES, since
	  otherwise 'set' was called with no arguments which caused the
	  environment to be displayed on stdout.

2008-09-25 01:24  zmedico

	* [r11538] cnf/sets.conf: Bug #238550 - Set world-candidate = False
	  for the @system since the portage ebuild will now automatically
	  add @system to world_sets on upgrade and therefore it should no
	  longer be necessary to add it world_sets via the command line.

2008-09-24 19:09  zmedico

	* [r11537] pym/portage/__init__.py: Fix fetch() mirror:// handling
	  in to comply with section 9.2.8 of PMS.

2008-09-23 20:04  zmedico

	* [r11536] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py, pym/portage/getbinpkg.py,
	  pym/portage/util.py: Import cPickle as pickle instead of vice
	  versa. Eases 2to3's job because cPickle won't exist in py3k and
	  2to3 does s/cPickle/pickle. Thanks to Ali Polatel <hawking@g.o>
	  for this patch.

2008-09-22 20:28  zmedico

	* [r11535] pym/portage/__init__.py, pym/portage/_selinux.py,
	  pym/portage/selinux.py: Bug #230975 - Rename the portage.selinux
	  module to portage._selinux in order to avoid a relative import
	  issue which caused portage.selinux to attempt to import itself
	  instead of the real 'selinux' module. Thanks to Michael Edenfield
	  for this patch.

2008-09-22 11:26  genone

	* [r11534] pym/_emerge/__init__.py: remove deprecation warnings and
	  compat code for 2.1 changes to rsync and action argument syntax

2008-09-22 11:14  genone

	* [r11533] pym/_emerge/__init__.py: don't attempt to unmerge a set
	  that doesn't exist anymore

2008-09-21 16:53  zmedico

	* [r11531] man/emerge.1, pym/_emerge/__init__.py,
	  pym/_emerge/help.py: Add a new --list-sets action, as requested
	  by jmbsvicetto.

2008-09-21 15:50  zmedico

	* [r11530] bin/ebuild.sh: Always call `cd "$WORKDIR"` to ensure
	  that $CWD is sane whenever possible.

2008-09-21 13:39  zmedico

	* [r11529] bin/isolated-functions.sh: Bug #238251 - Use 'read'
	  instead of $IFS for splitting newlines in e* functions, since
	  using $IFS causes spurious newlines to be inserted in the message
	  when the e* function is called with more than one argument.

2008-09-21 05:30  zmedico

	* [r11528] pym/portage/sets/__init__.py: Fix erroneous variable
	  references in the multiset 'Redefinition of set' message.

2008-09-20 18:55  zmedico

	* [r11527] pym/portage/sets/files.py: As requested by jmbsvicetto,
	  add support to StaticFileSet for sets within subdirectories. This
	  makes it possible to create a set name foo/bar by placing a file
	  named bar inside a directory named foo. By allowing sets to be
	  organized in subdirectories, it will allow us to avoid
	  overcrowding as the number of sets grows.

2008-09-20 16:55  zmedico

	* [r11526] pym/portage/dbapi/porttree.py,
	  pym/portage/tests/dep/test_src_uri.py: More SRC_URI validation.

2008-09-20 09:33  zmedico

	* [r11525] pym/portage/dbapi/porttree.py: Fix some broken logic
	  inside portdbapi.getFetchMap().

2008-09-20 08:47  zmedico

	* [r11524] pym/portage/dbapi/porttree.py,
	  pym/portage/tests/dep/test_src_uri.py: Add test cases for SRC_URI
	  validation.

2008-09-20 08:17  zmedico

	* [r11523] doc/package/ebuild/eapi/2.docbook: Add a "EAPI 2_pre3"
	  section to show what's changed.

2008-09-20 08:02  zmedico

	* [r11522] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Implement SRC_URI arrows for EAPI
	  2. The portdbapi.getfetchlist() method is now deprecated and
	  there is a new getFetchMap() method that returns a dict which
	  maps each file name to a set of alternative URIs. The
	  portage.fetch() function uses introspection to detect when such a
	  dict is passed in and handles it appropriately, while maintaining
	  backward compatibility if a list of uris is passed in.

2008-09-20 07:57  zmedico

	* [r11521] man/ebuild.1: Document the --ignore-default-opts and
	  --skip-manifest options.

2008-09-20 07:15  zmedico

	* [r11520] man/make.conf.5: Bug #238157 - Update
	  http_proxy/ftp_proxy docs to show protocol://, for compat with
	  rubygems.

2008-09-19 21:41  zmedico

	* [r11519] pym/portage/dbapi/porttree.py: Define __all__ and clean
	  up unused imports found by pyflakes.

2008-09-19 18:10  zmedico

	* [r11518] man/ebuild.1: Document the --debug option. Thanks to
	  Jeremy Olexa <darkside@g.o> suggesting.

2008-09-19 03:28  zmedico

	* [r11517] bin/repoman, pym/_emerge/__init__.py,
	  pym/portage/dep.py: Implement the new EAPI 2 blocker behavior,
	  including !!atom sytax which forbids temporary simultaneous
	  installation of conflicting packages.

2008-09-19 01:55  zmedico

	* [r11516] bin/isolated-functions.sh: Fix typo in from previous
	  commit.

2008-09-18 21:01  zmedico

	* [r11515] bin/ebuild.sh, bin/isolated-functions.sh,
	  doc/package/ebuild/eapi/2.docbook: Remove everything related to
	  the eapi* default phase functions since they are not included in
	  the current EAPI 2 draft.

2008-09-15 19:30  zmedico

	* [r11514] pym/_emerge/__init__.py: Fix broken reference to
	  self.files inside SpawnProcess._start().

2008-09-15 18:54  zmedico

	* [r11513] pym/_emerge/__init__.py: Improve error messages for
	  issues with the SYNC variable inside action_sync().

2008-09-13 23:30  zmedico

	* [r11512] bin/ebuild.sh, bin/misc-functions.sh: Remove unneeded
	  quotes from PYTHONPATH assignments and also fix one more
	  potential redundant colon inside misc-functions.sh.

2008-09-13 23:21  zmedico

	* [r11511] bin/ebuild.sh: Fix PYTHONPATH adjustments to only insert
	  a colon when necessary. This is necessary since having a stray
	  colon causes python to interpret the empty path entry as "."
	  which triggers the following message if cwd happens to contain a
	  directory names "os":
	  
	  warning: Not importing directory 'os': missing __init__.py
	  
	  Thanks to Joe Peterson <lavajoe@g.o> for reporting.

2008-09-13 18:10  zmedico

	* [r11510] pym/portage/news.py: Bug #237526 - Use
	  portage.util.grablines() for exception handling when reading the
	  unread file.

2008-09-13 17:38  zmedico

	* [r11509] pym/portage/news.py: Define __all__ and remove unused
	  imports found by pyflakes.

2008-09-13 05:53  zmedico

	* [r11508] pym/portage/__init__.py, pym/portage/update.py: Move the
	  world file update code out of update_config_files() since it
	  should not be relative to PORTAGE_CONFIGROOT. Thanks to grobian
	  for reporting.

2008-09-13 02:47  zmedico

	* [r11506] man/make.conf.5: Document FEATURES=preserve-libs.

2008-09-11 05:50  zmedico

	* [r11503] doc/custom.xsl: Adjust chunk.section.depth and
	  generate.section.toc.level so that the EAPI 2 draft docs appear
	  on a single page which includes it's own table of contents.

2008-09-11 05:03  zmedico

	* [r11502] doc/package/ebuild/eapi/2.docbook: Remove docs for the
	  proposed eapi* default phase functions since they are unpopular.

2008-09-11 04:56  zmedico

	* [r11501] doc/package/ebuild/eapi/2.docbook: Remove docs for the
	  proposed unpack() gitweb snapshot extension since it's unpopular.

2008-09-10 20:46  zmedico

	* [r11500] bin/prepstrip: New debugedit support for
	  FEATURES=splitdebug, by Sven Wegener:
	  
	  This will create new-style buildid symlinks for the splitted
	  debuginfo and also a symlink to the binary that belongs to the
	  debuginfo. Requires debugedit from rpm 5. Old versions of
	  debugedit ignore all unkown command line arguments, so this is a
	  no-op for them.
	  
	  Information:
	  http://fedoraproject.org/wiki/Releases/FeatureBuildId New
	  debugedit tarball:
	  http://dev.gentoo.org/~swegener/distfiles/debugedit-5.0.0.tar.bz2

2008-09-06 22:57  zmedico

	* [r11498] bin/misc-functions.sh: Don't mention log files in $T for
	  eqawarn messages since the logs are likely to get removed and the
	  user can just use the log from elog anyway. Thanks to Jeremy
	  Olexa <darkside@g.o> for the suggestion.

2008-09-06 21:23  zmedico

	* [r11497] bin/misc-functions.sh: In the ignored LDFLAGS check,
	  filter out anything under /usr/lib/debug/ in order to avoid
	  duplicate warnings for splitdebug files. Thanks to Cardoe for the
	  suggestion.

2008-09-04 22:44  zmedico

	* [r11495] doc/package/ebuild/eapi/2.docbook: Split the doman
	  language code documentation into it's own section.

2008-09-04 22:39  zmedico

	* [r11494] doc/package/ebuild/eapi/2.docbook: Document EAPI 2
	  support in the unpack helper function for gitweb snapshots. A
	  patch implementing this feature has been submitted by Daniel
	  Robbins.

2008-09-04 21:34  zmedico

	* [r11493] doc/package/ebuild/eapi/2.docbook: Add EAPI 2
	  documentation for customization of output file names in SRC_URI
	  (bug #177863).

2008-09-04 20:55  zmedico

	* [r11492] doc/package/ebuild/eapi/2.docbook: Nest the EAPI 2
	  "Dependencies" section inside a "Metadata" section.

2008-09-04 19:35  zmedico

	* [r11491] doc/package/ebuild/eapi/2.docbook:
	  s/blocking/conflicting/ for consistency

2008-09-04 19:22  zmedico

	* [r11490] doc/package/ebuild/eapi/2.docbook: Document EAPI 2
	  blocker atom extensions (not yet implemented).

2008-09-04 18:50  zmedico

	* [r11489] doc/package/ebuild/eapi/2.docbook: Nest the EAPI 2 "USE
	  Dependencies" section inside a "Dependencies" section.

2008-09-04 03:45  zmedico

	* [r11488] doc/Makefile, doc/custom.xsl: Adjust toc.section.depth
	  in the stylesheet so that deeper sections appear in the table of
	  contents.

2008-09-03 21:27  zmedico

	* [r11487] doc/package/ebuild/eapi/2.docbook: Add a new "EAPI 2
	  Draft" section which unifies the content of the EAPI 2_pre*
	  sections.

2008-09-03 02:13  zmedico

	* [r11486] pym/portage/sets/files.py: Adjust
	  StaticFileSet._validate() to allow set tokens, so that sets can
	  contain other sets.

2008-09-01 19:32  zmedico

	* [r11485] bin/filter-bash-environment.py: Bug #222091 - Filter out
	  any instances of the \1 character from variable values since this
	  character multiplies each time that the environment is saved
	  (strange bash behavior). This can eventually result in mysterious
	  'Argument list too long' errors from programs that have huge
	  strings of \1 characters in their environment.

2008-09-01 17:06  zmedico

	* [r11483] man/make.conf.5: Update PORTAGE_RSYNC_OPTS docs to
	  reflect that --delete-after is no longer used by default.

2008-09-01 06:31  zmedico

	* [r11482] pym/repoman/checks.py: Adjust EMakeParallelDisabled.re
	  to require at least one space after emake.

2008-08-31 08:05  zmedico

	* [r11481] pym/repoman/checks.py, pym/repoman/errors.py: Check for
	  calls to the deprecated bindnow-flags function. Thanks to Diego
	  "Flameeyes" Pettenò for the suggestion.

2008-08-31 07:13  zmedico

	* [r11480] pym/repoman/checks.py, pym/repoman/errors.py: Add a
	  warning for emake -j1 calls which disable parallelization. Thanks
	  to Diego "Flameeyes" Pettenò for the suggestion.

2008-08-30 21:43  zmedico

	* [r11479] cnf/make.globals, man/make.conf.5,
	  pym/portage/dbapi/vartree.py: Add support for
	  FEATURES="protect-owned" which is identical to the
	  collision-protect feature except that files may be overwritten if
	  they are not explicitly listed in the contents of a currently
	  installed package. This is particularly useful on systems that
	  have lots of orphan files that have been left behind by older
	  versions of portage that did not support the unmerge-orphans
	  feature.
	  
	  The additional tolerance makes this feature more suitable than
	  collision-protect for being enabled by default. In order to
	  ensure smooth operation of protect-owned in all cases, we also
	  have to set COLLISION_IGNORE="/lib/modules" since files inside
	  this directory are never unmerge. By enabling protect-owned by
	  default, users are protected from problems that may occur due
	  interactions with file collisions and the unmerge-orphans feature
	  which is also enabled by default.

2008-08-30 06:10  zmedico

	* [r11478] pym/portage/__init__.py: In dep_zapdeps(), add a new
	  choice category for choices that have packages that aren't yet
	  installed but have been added to the graph. This category is
	  given lower priority that the category for packages that are
	  already installed. This helps dep_zapdeps() avoid making choices
	  in some cases that would result in an unsolvable circular
	  dependency. Thanks to Diego "Flameeyes" Pettenò for reporting a
	  circular dependency issue involving that java overlay which is
	  solved by this patch. The particular issue was triggered when
	  attempting to install dev-java/icedtea6 for the first time. A
	  circular dependency between dev-java/eclipse-ecj-3.2.2-r1 and
	  dev-java/icedtea6-1.2 occured since icedtea6 was chosen to
	  satisfy the jdk dependency of eclipse-ecj, even though
	  sun-jdk-1.6.0.07 was already installed and capable of satisfying
	  the dependency. This patch solves the issue by causing sun-jdk to
	  be properly selected to satisfy the jdk dependency of
	  eclipse-ecj.

2008-08-27 17:04  zmedico

	* [r11475] pym/_emerge/__init__.py: When reloading the emerge
	  config due to global updates in action_sync(), correctly update
	  the local root_config reference. This should fix a KeyError:
	  'porttree' exception that's been reported to be triggered after
	  --sync.

2008-08-25 05:08  zmedico

	* [r11474] pym/portage/dbapi/vartree.py: Revert recent changes to
	  _ObjectKey.__eq__() since it's probably a bug if the wrong type
	  is compared for equality anyway.

2008-08-24 21:14  zmedico

	* [r11473] pym/portage/dbapi/vartree.py: Fix _ObjectKey.__eq__() to
	  account for potential hash collisions that would break dict
	  behavior. Thanks to Lucian Poston for spotting this.

2008-08-24 18:21  zmedico

	* [r11470] pym/_emerge/__init__.py: Prevent [None] in repo display.
	  Thanks to grobian.

2008-08-24 17:32  zmedico

	* [r11467] pym/portage/dbapi/vartree.py: * Fix broken
	  _ObjectKey.__eq__() logic from previous commit. * Define
	  _ObjectKey.__slots__ to save memory.

2008-08-24 17:21  zmedico

	* [r11466] pym/portage/dbapi/vartree.py: Avoid possible
	  AttributeError raised from _ObjectKey.__eq__().

2008-08-24 05:44  zmedico

	* [r11460] bin/portageq: Fix grammar. Thanks to ABCD.

2008-08-23 18:10  zmedico

	* [r11459] bin/portageq: Fix spelling typos in error messages.

2008-08-23 09:29  zmedico

	* [r11458] bin/portageq: Fix the loop in filter_protected() to
	  continue when necessary due to an error.

2008-08-23 09:20  zmedico

	* [r11457] bin/portageq: Flush stdout after the loop inside
	  filter_protected() completes.

2008-08-23 09:18  zmedico

	* [r11456] bin/portageq: Add a new filter_protected command which
	  is similar to is_protected but works by reading filenames from
	  stdin and writing to stdout only the filenames that are
	  protected. This allows an unlimited number of files to be checked
	  via a single portageq call.

2008-08-23 05:43  zmedico

	* [r11455] pym/portage/dbapi/vartree.py: More LinkageMap
	  enhancments from Lucian Poston: * Added _ObjectKey helper class
	  to LinkageMap. (commit eac5528887656abec65fc3a825506187397482e4)
	  * Minor change to docstrings. (commit
	  adde422145d81f25b4024eac1e78b80e1b4a4531)

2008-08-23 02:02  zmedico

	* [r11454] bin/ebuild.sh, bin/isolated-functions.sh,
	  doc/package/ebuild/eapi/2.docbook, pym/_emerge/__init__.py,
	  pym/portage/__init__.py, pym/portage/const.py: Add a new
	  src_prepare phase function which is called in-between src_unpack
	  and src_configure (and bump EAPI to 2_pre3). Thanks to Ciaran
	  McCreesh for the suggestion.

2008-08-22 23:53  zmedico

	* [r11453] bin/portageq: Add a new is_protected command which
	  queries whether or not CONFIG_PROTECT applies to a given file,
	  using logic identical to the merge code.

2008-08-22 23:30  zmedico

	* [r11452] pym/portage/dbapi/vartree.py: Fix isprotected() call in
	  dblink._collision_protect() to properly account for $ROOT.

2008-08-22 22:49  zmedico

	* [r11451] man/emerge.1: Update ROOT docs wrt make.conf since it
	  can now be set there regardless of PORTAGE_CONFIGROOT setting.

2008-08-22 22:25  zmedico

	* [r11450] pym/portage/dbapi/vartree.py: Use shlex.split() to split
	  CONFIG_PROTECT and CONFIG_PROTECT_MASK.

2008-08-22 22:08  zmedico

	* [r11449] pym/_emerge/__init__.py: For consistency, show [0] in
	  the repo display instead of suppressing it. Now the repo display
	  and [0] will only be suppressed when [0] is all that would show
	  for every package. Thanks to Joe Peterson <lavajoe@g.o> for the
	  suggestion.

2008-08-22 06:25  zmedico

	* [r11448] pym/portage/dbapi/vartree.py: Update comment, from
	  Lucian Poston's git repo.

2008-08-22 06:21  zmedico

	* [r11447] pym/portage/dbapi/vartree.py: Optimize LinkageMap to use
	  tuples of device and inode numbers from stat calls, instead of
	  paths from realpath, as unique keys for identification of files.
	  This is the same approach used by dblink.isowner() for cases in
	  which path comparison fails due to symlinks.
	  
	  Thanks to Lucian Poston <lucianposton@gmail.com> for submitting
	  this patch (along with the missing-rebuild package set which I
	  haven't merged yet). These patches are hosted in the following
	  location:
	  
	  http://repo.or.cz/w/revdep-rebuild-reimplementation.git?a=tree;h=refs/heads/rc3;hb=refs/heads/rc3

2008-08-21 19:49  zmedico

	* [r11446] pym/portage/__init__.py: Fix typo in "directory"
	  spelling. Thanks to Ofer Wald in bug #219957.

2008-08-20 04:29  zmedico

	* [r11443] pym/_emerge/__init__.py: Fix spelling of overriding for
	  bug #235250.

2008-08-20 04:24  zmedico

	* [r11442] pym/portage/__init__.py: Fix dep_wordreduce() so that it
	  doesn't cancel out blocker atoms that happen to be matched by
	  package.provided.

2008-08-20 03:18  zmedico

	* [r11441] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Make dblink call back to the scheduler for "clean" and "cleanrm"
	  phases, to handle output redirection. Thanks to Arfrever for
	  reporting.

2008-08-20 03:13  zmedico

	* [r11440] pym/_emerge/__init__.py, pym/portage/__init__.py: Make
	  sure EBUILD_PHASE is properly unset when calling
	  misc-functions.sh.

2008-08-19 22:05  zmedico

	* [r11439] pym/_emerge/__init__.py, pym/portage/__init__.py: When
	  in background mode, redirect "adjusting permissions" messages for
	  features directories like CCACHE_DIR and DISTCC_DIR. Thanks to
	  Arfrever for reporting.

2008-08-19 20:16  zmedico

	* [r11438] doc/package/ebuild/eapi/1.docbook: Add an 'IUSE
	  defaults' section.

2008-08-19 09:15  zmedico

	* [r11437] man/emerge.1: Remove reference to use.default. Thanks to
	  ulm for reporting.

2008-08-18 23:24  zmedico

	* [r11436] pym/_emerge/__init__.py: The following error is known to
	  occur with Linux kernel versions less than 2.6.24:
	  
	  select.error: (4, 'Interrupted system call')
	  
	  This error has been observed after a SIGSTOP, followed by
	  SIGCONT. Treat it similar to EAGAIN if timeout is None, otherwise
	  just return without any events.
	  
	  Thanks to Jeremy Olexa <darkside@g.o> for reporting and testing
	  this patch.

2008-08-18 21:20  zmedico

	* [r11435] doc/config/sets.docbook: Update for @everything ->
	  @installed rename. Thanks to Arfrever.

2008-08-18 08:53  zmedico

	* [r11434] pym/_emerge/__init__.py: * Truncate status display
	  output when necessary to avoid line overflow and unwanted
	  terminal scroll. * When the load average goes above 10, save
	  space by showing fewer decimal places in the output.

2008-08-18 08:09  zmedico

	* [r11433] pym/_emerge/__init__.py: Don't assume that the "world"
	  set is an instance of WorldSet, allowing the user to substitute
	  some other set type if desired.

2008-08-18 07:47  zmedico

	* [r11432] pym/portage/sets/files.py: Fix atom -> str breakage in
	  StaticFileSet.write().

2008-08-17 07:36  zmedico

	* [r11423] man/portage.5: Document /var/lib/portage/world_sets.

2008-08-15 22:03  zmedico

	* [r11419] bin/ecompress, cnf/make.globals, man/make.conf.5: Bug
	  #172496 - Add a PORTAGE_COMPRESS_EXCLUDE_SUFFIXES config variable
	  which is used to filter ecompress arguments. This allows the user
	  to control compression of files installed dodoc, excluding files
	  with specific suffix patterns. The current default value includes
	  all of the suffixes that are recognized by dohtml, as well as
	  pdf.

2008-08-15 18:45  zmedico

	* [r11418] pym/portage/process.py: For consistency, make
	  get_open_fds() return a plain iterator in any case, rather than
	  return a list in some cases.

2008-08-15 18:12  zmedico

	* [r11417] pym/portage/process.py: Use a list comprehension instead
	  of strange map() usage which yields odd results when fed to the
	  py3k converter. Thanks to René 'Necoro' Neumann.

2008-08-15 18:00  zmedico

	* [r11416] pym/portage/dbapi/porttree.py: For py3k compatibility,
	  replace map() call with a normal for loop. Thanks to Ali Polatel
	  <hawking@g.o>.

2008-08-15 17:39  zmedico

	* [r11415] pym/_emerge/__init__.py: Pass atom instances into
	  action_depclean() instead of the plain strings.

2008-08-15 17:34  zmedico

	* [r11414] pym/_emerge/__init__.py: Validate atoms from command
	  line args before calling action_depclean().

2008-08-15 17:19  zmedico

	* [r11413] pym/_emerge/__init__.py: In order to avoid an unhandled
	  InvalidAtom exception, validate atoms from command line arguments
	  before passing them to unmerge(). Thanks to Cardoe for reporting.

2008-08-15 17:08  zmedico

	* [r11412] pym/_emerge/__init__.py: * Replace vartree.dep_match()
	  call with normal dbapi.match() call. * Don't silently swallow
	  unexpected KeyError exceptions from dbapi.match() inside
	  unmerge().

2008-08-14 20:28  zmedico

	* [r11411] pym/_emerge/__init__.py: When a build fails, generate a
	  status message showing which package failed and the path of the
	  relevant log file if available. Thanks to _neuron_ for the
	  suggestion. Here is some sample output:
	  
	  >>> Emerging (1 of 1) foo-bar/baz-1.0 >>> Failed to emerge
	  foo-bar/baz-1.0, Log file: >>>
	  '/var/log/portage/foo-bar:baz-1.0:20080814-202327.log'

2008-08-14 19:30  zmedico

	* [r11410] bin/repoman: Convert exceptions from
	  parse_metadata_use() into "metadata.bad" errors instead of
	  exiting.

2008-08-14 19:07  zmedico

	* [r11407] pym/repoman/utilities.py: * Fix parse_metadata_use() to
	  raise ParseError instead of the ExpatError that was reported by
	  grobian.
	  
	  * Define __all__.

2008-08-14 09:37  zmedico

	* [r11406] pym/_emerge/__init__.py: The fpformat module is
	  deprecated and will be removed in py3k. The % string
	  interpolation operator should be used instead. Thanks to Ali
	  Polatel <hawking@g.o> for this patch.

2008-08-14 05:29  zmedico

	* [r11405] pym/_emerge/__init__.py: Make Scheduler._choose_pkg()
	  parallelize more aggressively in cases when it will not result in
	  a less optimal build order. This works by modifying the behavior
	  of Scheduler._dependent_on_scheduled_merges() so that two cases
	  of dependence are ignored:
	  
	  * A given dependency will be merged later anyway (due to dep
	  cycles) and therefore delaying the merge of the parent package
	  will not result in a more optimal build order.
	  
	  * A given dependency is an "uninstall" operation and it also is
	  not a direct dependency, therefore it should be irrelevant to
	  build order optimization.

2008-08-12 22:40  zmedico

	* [r11404] bin/ebuild.sh: Fix quoting for iteration over
	  PROFILE_PATHS.

2008-08-12 19:54  zmedico

	* [r11402] doc/package/ebuild.docbook,
	  doc/package/ebuild/eapi/0.docbook,
	  doc/package/ebuild/eapi/1.docbook,
	  doc/package/ebuild/eapi/2.docbook,
	  doc/package/ebuild/helper_functions.docbook,
	  doc/package/ebuild/phases.docbook: Create a single EAPI section
	  to contain all of the EAPI subsections and replace sect[1-3]
	  elements with "section" elements which have unbounded depth.

2008-08-12 07:12  zmedico

	* [r11401] pym/portage/__init__.py: Bug #234478 - Fix
	  config._getMissingLicenses() to only access USE when LICENSE is
	  conditional since otherwise USE hasn't necessarily been
	  calculated.

2008-08-12 02:33  zmedico

	* [r11400] pym/_emerge/__init__.py, pym/portage/locks.py: Disable
	  "waiting for lock" messages when in background mode. Thanks to
	  Thargor for reporting.

2008-08-11 20:20  zmedico

	* [r11399] pym/portage/__init__.py: Fix ebuild(1) so that
	  src_configure is only called for EAPIs for which it is supported.

2008-08-11 19:50  zmedico

	* [r11398] bin/ebuild.sh, pym/_emerge/__init__.py: Entirely disable
	  the src_configure phase from the python side for EAPI values for
	  which it's not supported. This avoids pointless spawning of
	  ebuild.sh and also avoids having bashrc called during an invalid
	  phase as reported by Arfrever.

2008-08-11 06:52  zmedico

	* [r11397] bin/ebuild.sh: In source_all_bashrcs(), only change $IFS
	  while splitting $PROFILE_PATHS into an array, and then restore it
	  before doing anything else. This avoids interference that can
	  otherwise occur if code from profile.bashrc (or /etc/portage/env,
	  be extension) needs to call any of the elog functions which use
	  the save_IFS and restore_IFS aliases internally.

2008-08-10 11:56  zmedico

	* [r11395] pym/_emerge/__init__.py: Increase
	  Scheduler._job_delay_max to 10 seconds.

2008-08-10 11:21  zmedico

	* [r11394] pym/portage/const.py: For pkg_config and pkg_info, add
	  respective "config" and "info" values to EBUILD_PHASES.

2008-08-10 11:07  zmedico

	* [r11393] pym/portage/__init__.py: When testing userpriv write
	  access in $DISTDIR, redirect the 'permission denied' error
	  message to /dev/null.

2008-08-10 10:30  zmedico

	* [r11392] pym/portage/dbapi/vartree.py: Remove unnecessary
	  dict.keys() call.

2008-08-10 09:04  zmedico

	* [r11387] bin/ebuild.sh: Move the default EAPI definition where it
	  will work in any case it might be necessary, such as after
	  loading an exising environment.

2008-08-10 08:20  zmedico

	* [r11386] pym/_emerge/__init__.py: Remove most references to
	  Package.metadata_keys and replace them with approriate keys for
	  the given package type.

2008-08-10 05:17  zmedico

	* [r11385] doc/package/ebuild/eapi/2.docbook: Add sample code for
	  the new src_configure and src_compile phase functions.

2008-08-10 04:56  zmedico

	* [r11384] doc/package/ebuild/eapi/0.docbook,
	  doc/package/ebuild/eapi/1.docbook: Document the differences
	  between EAPIs 0 and 1.

2008-08-10 04:09  zmedico

	* [r11383] doc/package/ebuild.docbook,
	  doc/package/ebuild/eapi/0.docbook,
	  doc/package/ebuild/eapi/1.docbook, doc/portage.docbook: Add new
	  sections for EAPI 0 and 1 (currently empty).

2008-08-10 02:00  zmedico

	* [r11382] pym/_emerge/__init__.py: Fix typo.

2008-08-10 01:48  zmedico

	* [r11381] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Remove INHERITED from the vardbapi aux_get cache since it's not
	  really that useful (@live-rebuild currently pulls INHERITED from
	  the highest visible ebuild). Also adjust keys used to pull
	  metadata for Package instances, so that INHERITED won't get
	  pulled from the vardbapi anymore.

2008-08-10 01:10  zmedico

	* [r11380] bin/ebuild.sh: Remove pointless `cd` calls in
	  dyn_configure() and dyn_compile().

2008-08-10 01:02  zmedico

	* [r11379] bin/ebuild.sh: Eliminate duplicate code by making
	  _eapi1_src_compile() call _eapi2_src_configure().

2008-08-10 00:17  zmedico

	* [r11378] pym/_emerge/__init__.py: Make the scheduler's job delay
	  ramp up faster by increasing the factor to 1.0 and adding an
	  exponent of 1.5.

2008-08-09 23:47  zmedico

	* [r11377] bin/ebuild.sh: Fix dyn_clean() to properly clean
	  $PORTAGE_BUILDDIR/.configured.

2008-08-09 22:29  zmedico

	* [r11376] pym/portage/dbapi/vartree.py: Add write_contents() and
	  tar_contents() functions to __all__.

2008-08-09 22:27  zmedico

	* [r11375] pym/portage/dbapi/vartree.py: * Use shlex.split() for
	  splitting COLLISION_IGNORE. * Define __all__.

2008-08-09 20:39  zmedico

	* [r11374] man/color.map.5, man/dispatch-conf.1, man/ebuild.1,
	  man/ebuild.5, man/emaint.1, man/emerge.1, man/env-update.1,
	  man/etc-update.1, man/make.conf.5, man/portage.5, man/quickpkg.1,
	  man/repoman.1: Bug #234100 - Update date and portage version in
	  man page headers.

2008-08-09 20:26  zmedico

	* [r11373] man/make.conf.5: Bug #234157 - Remove BUILD_PREFIX from
	  the docs since it's not a user config variable.

2008-08-09 19:03  zmedico

	* [r11372] pym/portage/dbapi/vartree.py: Don't use "dir" for a
	  variable name since it's also a builtin.

2008-08-09 10:33  zmedico

	* [r11366] man/emerge.1: Add a reference to the default sets.conf
	  location. Thanks to dberkholz for the suggestion.

2008-08-09 10:07  zmedico

	* [r11365] bin/ebuild.sh: Make eapi*_src_install die since they're
	  not supported.

2008-08-09 10:05  zmedico

	* [r11364] pym/_emerge/__init__.py, pym/portage/__init__.py: Escape
	  use flags before compiling regular expressions from them. Thanks
	  to pchrist for reporting.

2008-08-09 09:21  zmedico

	* [r11363] bin/ebuild.sh: Update date in dyn_help copyright header.
	  Thanks to grobian.

2008-08-09 08:06  zmedico

	* [r11360] pym/_emerge/__init__.py: When calling dbaip.aux_get()
	  inside depgraph._select_package(), only pull the keys that are
	  cached. This avoids triggering useless cache pulls for INHERITED
	  from the bindbapi.

2008-08-09 06:12  zmedico

	* [r11359] pym/_emerge/__init__.py: Increase
	  Scheduler._job_delay_factor from 0.5 to 0.75 so that the delay
	  ramps up a little quicker, since the current value appears to be
	  too weak in some cases.

2008-08-08 22:24  zmedico

	* [r11358] bin/ebuild.sh: Remove redundant default pkg_nofetch,
	  src_unpack, and src_test definitions which are now handled inside
	  _ebuild_phase_funcs().

2008-08-08 21:51  zmedico

	* [r11357] pym/portage/dbapi/vartree.py: Add new
	  LinkageMap.listBrokenBinaries() and listProviders() methods.
	  Thanks to Lucian Poston <lucianposton@gmail.com> for submitting
	  this patch along with the missing-rebuild package set posted on
	  the gentoo-portage-dev mailing list.

2008-08-08 21:45  zmedico

	* [r11356] pym/portage/dbapi/vartree.py: Fix broken reference to
	  os.path.realpath() inside LinkageMap.getSoname().

2008-08-08 21:37  zmedico

	* [r11355] pym/portage/dbapi/vartree.py: In LinkageMap.rebuild(),
	  filter empty strings that may be returned from split calls when
	  processing the "needed" and "path" entries. Thanks to Lucian
	  Poston for reporting.

2008-08-08 20:38  zmedico

	* [r11354] bin/ebuild.sh: Fix broken quoting in eval statements.
	  Thanks to Arfrever.

2008-08-08 20:36  zmedico

	* [r11353] doc/package/ebuild/eapi/2.docbook: Add missing
	  default_src_configure() function to table. Thanks to Arfrever.

2008-08-08 20:34  zmedico

	* [r11352] bin/ebuild.sh: Fix default phase functions in EAPI
	  2_pre2, since they should be labeled as "2" instead of "2_pre2.
	  Thanks to Arfrever for reporting.

2008-08-08 12:02  zmedico

	* [r11351] bin/ebuild.sh, bin/isolated-functions.sh,
	  doc/package/ebuild/eapi/2.docbook: Rename the eapi2_pre2_*
	  functions to just eapi2_* and document all the new eapi*
	  functions.

2008-08-08 11:24  zmedico

	* [r11350] bin/ebuild.sh, bin/isolated-functions.sh: Implement
	  eapi$EAPI_* default phase functions that are equivalent to the
	  default_* functions for the given EAPI. For example, a function
	  named eapi0_src_compile provides access to the default
	  src_compile implementation that EAPI 0 provides. This feature is
	  supported only when EAPI=2_pre2 is set. Thanks to Brian Harring
	  for suggesting this idea.

2008-08-08 11:01  zmedico

	* [r11348] pym/_emerge/__init__.py: Handle missing ipv6 support
	  (branches/prefix r11347).

2008-08-08 06:49  zmedico

	* [r11346] bin/ebuild.sh, bin/isolated-functions.sh,
	  pym/portage/__init__.py, pym/portage/const.py: * Fix the
	  default() implementation so that it maps the ebuild argument to
	  the correct phase function. * Add --exclude-init-phases option to
	  save_ebuild_env() for filtering out unnecessary functions and
	  variables when creating environment.bz2. * Add support for
	  default() and default_* functions that die in all ebuild phases
	  so that improper use of these functions is quickly discovered.

2008-08-08 00:43  zmedico

	* [r11345] pym/_emerge/__init__.py: Shorten the scheduler status
	  display in the xterm title by removing all consecutive spaces.

2008-08-07 22:08  zmedico

	* [r11344] bin/repoman: When testing containment of elem[:1] in
	  "MR", filter potential empty string matches.

2008-08-07 14:00  zmedico

	* [r11343] pym/_emerge/__init__.py: In order to properly preserve
	  --jobs and --load-average settings for --resume operations, store
	  resume options in the mtimedb as a dict instead of a list. The
	  dict type is supported in >=portage-2.1.3_rc8 (2.1.4.4 is current
	  stable) so people switching between stable/unstable will be fine.

2008-08-07 12:50  zmedico

	* [r11342] bin/ebuild.sh, doc/package/ebuild/eapi/2.docbook: Add
	  support in EAPI 2_pre2 for a function named "default" is
	  redefined for each phase so that it will call the default_*
	  function corresponding to the current phase. Thanks to Thomas
	  Anderson <gentoofan23> for the initial patch.

2008-08-07 11:22  zmedico

	* [r11341] pym/portage/dbapi/vartree.py: Fix a bug in
	  vardbapi.removeFromContents() which sometimes prevents the
	  CONTENTS from being updated when it should.

2008-08-07 09:08  zmedico

	* [r11340] pym/portage/cache/flat_hash.py: In order to conserve
	  some space, make _setitem() skip writing keys for which the value
	  is empty.

2008-08-07 00:32  zmedico

	* [r11339] bin/repoman: Replace call to `svn list` with a call to
	  `svn status --depth=files --verbose` since the former contacts
	  the server while the latter does not. Thanks to Arfrever for this
	  patch.

2008-08-06 22:58  zmedico

	* [r11338] bin/repoman, man/repoman.1: Remove the
	  "ebuild.disjointed" check because it's obsolete since we've
	  switched to manifest2 only. Thanks to Arfrever for this patch.

2008-08-06 03:30  zmedico

	* [r11337] bin/repoman: Fix `svn status` output parsing to account
	  for "replaced" files indicated by "R". Thanks to Arfrever.

2008-08-06 02:09  zmedico

	* [r11336] bin/isolated-functions.sh: Remove redundant 'local line'
	  definition from previous commit.

2008-08-06 02:07  zmedico

	* [r11335] bin/isolated-functions.sh: Fix breakage in elog function
	  newline handling with causes blank/empty lines to get lost.

2008-08-05 08:28  zmedico

	* [r11332] pym/portage/__init__.py: Make doebuild() display
	  manifest verification failures for each corrupt ebuild rather
	  than just the first one.

2008-08-05 06:58  zmedico

	* [r11331] pym/_emerge/__init__.py: When there is no build log to
	  display, it means that fetch failed, so display the fetch log in
	  that case.

2008-08-05 02:20  zmedico

	* [r11330] pym/repoman/utilities.py: Remove unused
	  parse_use_local_desc() function.

2008-08-05 02:15  zmedico

	* [r11329] bin/repoman: Remove the use.local.desc IUSE validation
	  which is now replaced by glep56 metadata.xml validation. This was
	  requested by Cardoe since he expects to complete the gleep56
	  conversion process pretty soon.

2008-08-04 19:07  zmedico

	* [r11328] doc/package/ebuild/eapi/2.docbook: Add some docs for
	  EAPI 2_pre2.

2008-08-04 17:54  zmedico

	* [r11327] bin/ebuild, bin/ebuild.sh, bin/isolated-functions.sh,
	  pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/const.py: Bug #233735 - Add support for src_configure
	  and default_* functions with new EAPI=2_pre2. Thanks to Arfrever
	  Frehtes Taifersar Arahesis for the initial patch which I've made
	  a few adjustments to.

2008-08-04 15:46  zmedico

	* [r11326] pym/_emerge/__init__.py: Remove code from bug #223447
	  which is now obsolete due to depclean using the depgraph class.

2008-08-04 04:57  zmedico

	* [r11325] pym/_emerge/__init__.py: Make the status display say
	  "Emerging" and "Emerging binary" instead of "Building" and
	  "Extracting". Thanks to Joe Peterson <lavajoe> for the suggestion
	  (including extra newlines from previous commit).

2008-08-04 04:52  zmedico

	* [r11324] pym/_emerge/__init__.py: Insert extra newline before
	  status messages, since that's how it used to be.

2008-08-04 01:11  zmedico

	* [r11323] pym/portage/dbapi/vartree.py: Make dblink.unmerge()
	  succeed even when ebuild phases are unsuccessful because the
	  current behavior is even worse (results in orphan files). Thanks
	  to Arfrever for this patch (UnsupportedAPIException hunk by me).

2008-08-03 05:51  zmedico

	* [r11320] cnf/sets.conf, doc/config/sets.docbook,
	  pym/portage/sets/dbapi.py: Add a more generic VariableSet to
	  replace the InheritSet and RestrictSet classes. Thanks to
	  Arfrever Frehtes Taifersar Arahesis for this patch from bug
	  #233589 (with some minor adjustments from me).

2008-08-02 07:23  zmedico

	* [r11319] pym/_emerge/__init__.py: Handle missing sets, to avoid
	  KeyError raised from unmerge().

2008-08-02 01:35  zmedico

	* [r11318] cnf/sets.conf, doc/config/sets.docbook: Document the
	  fact that use of @installed/EverythingSet makes it impossible for
	  emerge to solve blockers by automatic uninstallation of blocked
	  packages.

2008-08-02 01:27  zmedico

	* [r11317] doc/config/sets.docbook, pym/portage/sets/dbapi.py: Add
	  a new RestrictSet which contains all packages that match
	  specified RESTRICT values. This could be useful for implementing
	  something like a @live-rebuild based on RESTRICT metadata, as
	  suggested in bug #233589.

2008-08-02 00:32  zmedico

	* [r11316] pym/portage/dbapi/vartree.py: In the file collision elog
	  message, only say 'NOT merged' when collision-protect is enabled.
	  Thanks to dberkholz for reporting.

2008-08-01 22:22  zmedico

	* [r11315] pym/portage/dbapi/vartree.py: * Add INHERITED to
	  vardbapi._aux_cache_keys since Package.metadata_keys also
	  includes this one now. * Fix pull_me calculation inside
	  vardbapi.aux_get() so that it correctly subtracts _mtime_ from
	  the list of keys to pull.

2008-08-01 21:56  zmedico

	* [r11314] pym/portage/sets/profiles.py: Add debug support to
	  PackagesSystemSet since robbat2 is reporting an empty set for
	  some unknown reason.

2008-08-01 10:37  zmedico

	* [r11312] pym/_emerge/__init__.py: Make EbuildFetcher pass a copy
	  of os.environ to the ebuild(1) subprocess so that any incremental
	  variables have been overridden are correctly considered by the
	  config instance in the subproccess.

2008-08-01 10:14  zmedico

	* [r11311] doc/dependency_resolution/task_scheduling.docbook:
	  Update the Parallel Scheduling section to describe the current
	  algorithm.

2008-08-01 07:33  zmedico

	* [r11310] pym/portage/sets/dbapi.py: Add DowngradeSet and OwnerSet
	  to __all__.

2008-08-01 07:05  zmedico

	* [r11309] pym/_emerge/__init__.py: Bug #233252 - Handle
	  InvalidAtom exceptions that can be raised from
	  depgraph._add_dep() calls inside _add_pkg_deps().

2008-08-01 04:51  zmedico

	* [r11308] pym/portage/sets/dbapi.py: Make InheritSet more like
	  DowngradeSet, and check INHERITED from the highest visible ebuild
	  in the portage tree rather than from the installed package
	  itself.

2008-08-01 04:13  zmedico

	* [r11307] bin/emaint, pym/portage/cache/mappings.py,
	  pym/portage/dbapi/bintree.py: Optimize `emaint` --fix binhost so
	  that it the Packages file isn't re-read and re-written for each
	  package that's updated. Instead, hold a lock for the whole time
	  the command is running and just update it once.

2008-08-01 02:22  zmedico

	* [r11306] cnf/make.conf.sparc-fbsd.diff,
	  cnf/make.conf.x86-fbsd.diff: Fix new rejects in
	  cnf/make.conf.*.diff.

2008-08-01 02:09  zmedico

	* [r11305] cnf/make.conf, man/make.conf.5: Remove the list of
	  FEATURES descriptions from make.conf.example and replace it with
	  a reference to the make.conf(5) man page.

2008-08-01 01:44  zmedico

	* [r11304] bin/repoman: Bug #229033 - Use `svn propget -R
	  svn:keywords` to detect which will have changed headers that
	  require an additional manifest commit. Thanks to Fabian Groffen
	  for this patch which I've made some modifications to: * For
	  clarity, use separate "no_expansion" variable for cvs bin blobs.
	  * Fix svn keyword parsing to properly handle multiple keywords
	  delimited by newlines.

2008-08-01 00:47  zmedico

	* [r11303] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #233487 - Fix --fetch-all-uri breakage:
	  
	  * Make --fetch-all-uri imply --fetchonly so that all the
	  --fetchonly conditionals apply to --fetch-all-uri as well.
	  
	  * Add an EbuildFetcher.fetchall attribute, and also add the
	  required support to portage.doebuild() for a "fetchall" phase
	  that EbuildFetcher can invoke in the background via the ebuild(1)
	  command.

2008-07-31 12:58  zmedico

	* [r11300] pym/portage/sets/dbapi.py: Fix DowngradeSet so it's safe
	  for cases when no ebuild is available.

2008-07-31 12:47  zmedico

	* [r11299] cnf/sets.conf, doc/config/sets.docbook,
	  pym/portage/sets/dbapi.py: Bug #233253 - Implement a @downgrade
	  set which selects packages for which the highest visible ebuild
	  version is lower than the currently installed version. This is
	  useful if you have installed packages from an overlay and you
	  want to downgrade to the highest visible after removing the
	  overlay, even though the packages that will be dowgraded are not
	  necessarily masked in any way.

2008-07-31 11:44  zmedico

	* [r11298] pym/portage/__init__.py: Always invalidate results from
	  _userpriv_test_write_file_cache when adjusting permissions on a
	  given directory.

2008-07-31 10:37  zmedico

	* [r11297] pym/_emerge/__init__.py: Bug #233458 - Fix
	  AsynchronousTask exit listener handling so that an exit listener
	  will never get called after it's been passed into
	  removeExitListener(), since the caller of removeExitListener()
	  needs to be able to be able to trust that the given exit listener
	  will not be called under any circumstances.

2008-07-31 07:25  zmedico

	* [r11296] doc/config/sets.docbook: Describe InheritSet and
	  OwnerSet.

2008-07-31 07:22  zmedico

	* [r11295] cnf/sets.conf, doc/config/sets.docbook: * Rename
	  @live-ebuilds to @live-rebuild, for consistency with the other
	  *-rebuild sets. * Document the new sets.

2008-07-31 07:04  zmedico

	* [r11294] cnf/sets.conf: Remove quotes since the seem to cause
	  incorrect results.

2008-07-31 06:11  zmedico

	* [r11293] cnf/sets.conf, pym/portage/sets/dbapi.py: Add a new
	  @module-rebuild set which emulates the behavior of the
	  module-rebuild tool. The /lib/modules path is set in sets.conf
	  via a "files" attribute of an OwnerSet instance. This can be
	  easily used to define similar sets based on paths on installed
	  files.

2008-07-31 05:45  zmedico

	* [r11292] cnf/sets.conf, pym/portage/sets/dbapi.py: Implement a
	  new @live-ebuilds which is generated from installed packages that
	  inherit from know live eclasses such as cvs, darcs, git,
	  mercurial, and subversion. The list of eclasses is controlled by
	  an "inherits" attribute that is configure in sets.conf for and
	  instance of InheritSet. This set serves a purpose similar to the
	  -scm ebuild suffix that has been proposed in GLEP 54.

2008-07-31 04:51  genone

	* [r11291] cnf/make.globals: disable default IONICE command as it
	  breaks for non-root, and ionice might not always be available

2008-07-31 03:46  zmedico

	* [r11290] pym/portage/__init__.py: Fixes in portage.fetch() for
	  bugs #233303 and #94133:
	  
	  * Totally skip $DISTDIR creation if the fetch_to_ro feature is
	  enabled. * Don't touch $DISTDIR permissions unless unless usepriv
	  and/or userfetch are enabled. * When usepriv and/or userfetch are
	  enabled, test whether or not a process that has dropped
	  privileges is able to create a file in the directory, and only
	  adjust permissions if the test fails. * Completely

2008-07-31 00:59  zmedico

	* [r11289] pym/portage/__init__.py: Split out a _spawn_fetch()
	  function that will be useful for implementing a userpriv testcase
	  for bug #233303.

2008-07-30 22:24  zmedico

	* [r11288] pym/_emerge/help.py: Bug #233421 - Fix grammar, missing
	  "be" in --update description. Thanks to Mikael Magnusson for this
	  patch.

2008-07-30 09:21  zmedico

	* [r11284] pym/_emerge/__init__.py: Fix typo.

2008-07-30 09:04  zmedico

	* [r11283] doc/package/ebuild/eapi/2.docbook: Update foo[!bar=]
	  syntax.

2008-07-30 08:45  zmedico

	* [r11282] pym/_emerge/__init__.py: * Fix
	  Scheduler._restart_if_necessary() breakage so that the given
	  package is correctly compared to the last one in the merge list.
	  * Update code in depgraph.display() to be more consistent with
	  the code in Scheduler._is_restart_necessary().

2008-07-30 06:12  zmedico

	* [r11281] pym/portage/dep.py: Remove redundant use dep validation
	  code that's handled by regular expression now.

2008-07-30 06:07  zmedico

	* [r11280] pym/portage/dep.py: Remove unused variable.

2008-07-30 06:05  zmedico

	* [r11279] pym/portage/dep.py,
	  pym/portage/tests/dep/test_isvalidatom.py: * Add more use dep
	  validation. * Fix broken handling of !foo? reported by ABCD.

2008-07-30 04:57  zmedico

	* [r11278] pym/_emerge/__init__.py: When checking for news items in
	  --pretend mode, pass update=False into the
	  NewsManager.getUnreadItems() call. Emerge shouldn't have to
	  update anything anyway when in --pretend mode, and this helps to
	  avoid potential permission problems. In order to pass the
	  relevant information about options (--pretend state) to the new
	  code, supporting function parameters have been added to
	  display_news_notification(), post_emerge(), and
	  checkUpdatedNewsItems().

2008-07-30 03:33  zmedico

	* [r11277] pym/_emerge/__init__.py: Put a 5 second cap on the delay
	  produced by Scheduler._job_delay().

2008-07-30 03:17  zmedico

	* [r11276] pym/_emerge/__init__.py: Just return a boolean "state
	  changed" value from Scheduler._schedule_tasks_imp(), since the
	  other "remaining" part is now unused.

2008-07-30 03:07  zmedico

	* [r11275] pym/_emerge/__init__.py: * Optimize
	  SequentialTaskQueue.schedule() by using a _dirty attribute to
	  track whether anything relevant has changed since the last
	  schedule call. Since we can always rely on exist listeners being
	  called, set of running tasks is always pruned automatically and
	  there is never any need to actively prune it. * Remove the unused
	  SequentialTaskQueue.auto_schedule feature.

2008-07-30 02:27  zmedico

	* [r11274] doc/package/ebuild/eapi/2.docbook,
	  pym/portage/__init__.py, pym/portage/dep.py,
	  pym/portage/tests/__init__.py,
	  pym/portage/tests/dep/test_isvalidatom.py: Change conditional USE
	  deps syntax and expermental EAPI from 2_pre0 to 2_pre1.
	  
	  Conditional syntax examples:
	  
	  Compact Form Equivalent Expanded Form
	  
	  foo[bar?] bar? ( foo[bar] ) !bar? ( foo ) foo[!bar?] bar? ( foo )
	  !bar? ( foo[-bar] ) foo[bar=] bar? ( foo[bar] ) !bar? ( foo[-bar]
	  ) foo[!bar=] bar? ( foo[-bar] ) !bar? ( foo[bar] )

2008-07-29 21:27  zmedico

	* [r11273] pym/_emerge/__init__.py: Count state changes in
	  Scheduler._schedule_tasks() and avoid some extra calls when
	  nothing changes.

2008-07-29 20:52  zmedico

	* [r11272] pym/_emerge/__init__.py: Fix _choose_pkg() to always
	  return something if nothing is running or merging.

2008-07-29 20:24  zmedico

	* [r11271] pym/_emerge/__init__.py: Avoid triggering a tight loop
	  AssertionError in Scheduler._main_loop().

2008-07-29 19:54  zmedico

	* [r11270] pym/_emerge/__init__.py: Fix the last part of
	  Scheduler._main_loop() to work correctly now that all the queues
	  have auto_schedule disabled.

2008-07-29 19:30  zmedico

	* [r11269] pym/_emerge/__init__.py: Disable auto_schedule on all of
	  Scheduler._task_queues and schedule them inside
	  _schedule_tasks(). This should help solve a tight loop.

2008-07-29 18:31  zmedico

	* [r11268] bin/ebuild: Add a quiet signal handler for SIGINT and
	  SIGTERM since emerge calls ebuild for fetchs and we don't want
	  the user to see a traceback due to the ebuild process getting
	  killed.

2008-07-29 17:50  zmedico

	* [r11267] pym/_emerge/__init__.py: Fix Scheduler._set_digraph() to
	  correctly handle cases when max_jobs is True.

2008-07-29 17:13  zmedico

	* [r11266] pym/_emerge/__init__.py: Make sure
	  Scheduler._choose_pkg() doesn't return a package too early when
	  there's no digraph and the previous merge hasn't completed yet.

2008-07-29 16:51  zmedico

	* [r11265] pym/_emerge/__init__.py: Fix Scheduler._choose_pkg() so
	  that it doesn't choose packages prematurely in some cases.

2008-07-29 15:17  zmedico

	* [r11264] pym/_emerge/__init__.py: Enable Scheduler._job_delay()
	  whenever --load-average is enabled, for whole time the scheduler
	  is running. This protects against too many jobs being sheduled if
	  the load average temporarily drops.

2008-07-29 14:34  zmedico

	* [r11263] pym/_emerge/__init__.py: During the first minute of
	  entering the main scheduler loop, if --load-average is enabled
	  then limit the rate that new jobs are spawned, so that the load
	  average measurement has time to respond to the new load
	  introduced by the new jobs. The time between spawning new jobs is
	  proportional to the number of currently running jobs.

2008-07-29 13:01  zmedico

	* [r11262] pym/_emerge/__init__.py: Fix slightly broken loop logic
	  in insert_optional_args() by converting it to pop args off of a
	  stack.

2008-07-29 12:05  zmedico

	* [r11261] man/emerge.1, pym/_emerge/__init__.py,
	  pym/_emerge/help.py: Add support for the --jobs option to be
	  specified without an argument, and also support -j as a short
	  option. Since optparse doesn't natively support options with
	  non-required args, create an insert_optional_args() function that
	  inserts the required argument into the args so that optparse is
	  happy. The function inserts the string True as a substitute for
	  the argument that is required. This string is later converted to
	  the True constant when stored in the emerge opts dict (similar to
	  how normal boolean options are stored). The PollScheduler and
	  SequentialTaskQueue classes recognize the meaning of the True
	  constant to mean unlimited concurrent jobs.

2008-07-29 10:29  zmedico

	* [r11260] pym/portage/util.py: In apply_recursive_permissions(),
	  ignore InvalidLocation exceptions such as FileNotFound and
	  DirectoryNotFound since sometimes things disappear, like when
	  adjusting permissions on DISTCC_DIR.

2008-07-29 07:15  zmedico

	* [r11259] pym/portage/dep.py: Tweak table alignment.

2008-07-29 07:10  zmedico

	* [r11258] pym/portage/dep.py: Implement _use_dep.__nonzero__().

2008-07-29 06:44  zmedico

	* [r11257] pym/portage/dep.py: Fix _use_dep.__str__() to work
	  correctly in the case when conditional USE deps have evaluated to
	  nothing (empty string rather than []). Thanks to ABCD for
	  reporting.

2008-07-29 00:46  zmedico

	* [r11256] pym/_emerge/__init__.py: Redirect the
	  FEATURES=buildsyspkg message to the log when in background mode.

2008-07-28 22:59  zmedico

	* [r11255] doc/package/ebuild/eapi/2.docbook: Add syntax examples
	  for unconditional USE deps.

2008-07-28 22:50  zmedico

	* [r11254] pym/portage/dep.py: Fix alignment.

2008-07-28 22:36  zmedico

	* [r11253] doc/package/ebuild/eapi/2.docbook, pym/portage/dep.py:
	  Tweak the conditional USE deps examples.

2008-07-28 22:27  zmedico

	* [r11252] doc/package/ebuild/eapi/2.docbook: Document the doman
	  language code path translation extension from bug #222439.

2008-07-28 21:55  zmedico

	* [r11251] pym/_emerge/__init__.py: Make use of the new
	  config.iteritems() method.

2008-07-28 21:46  zmedico

	* [r11250] pym/portage/sets/dbapi.py: Fix broken reference to
	  "categories" in CategorySet.singleBuilder(). Thanks to Thargor
	  for reporting.

2008-07-28 21:31  zmedico

	* [r11249] pym/_emerge/__init__.py: Bug #233165 - When waiting for
	  jobs and merges to finish in Scheduler._main_loop(), keep
	  scheduling the merge queue since it doesn't autoschedule, and
	  skip the poll loop if there no event handlers due to synchronous
	  merge tasks being the only things left to do.

2008-07-28 20:00  zmedico

	* [r11245] pym/portage/__init__.py: Bug #233103 - In
	  portage.fetch(), pass all config variables instead of just those
	  returned by the environ() method which is filtered.

2008-07-28 19:48  zmedico

	* [r11244] bin/isolated-functions.sh, pym/portage/elog/messages.py:
	  Even though the message is split on $'\n' in elog_base(), it's
	  still not entirely safe to use it as a delimiter in the log file
	  since there can still be escaped newlines that will be expanded
	  due to the echo -e parameter.

2008-07-28 11:00  zmedico

	* [r11238] pym/portage/dep.py: Remove pointless generator
	  expression.

2008-07-28 08:52  zmedico

	* [r11236] NEWS: Add note about support for EAPI="2_pre0".

2008-07-28 08:41  zmedico

	* [r11235] doc/package/ebuild.docbook, doc/package/ebuild/eapi,
	  doc/package/ebuild/eapi/2.docbook, doc/portage.docbook: Create a
	  table to document conditional USE dependency syntax.

2008-07-28 07:51  zmedico

	* [r11234] pym/portage/cache/mappings.py: Fix arg count when
	  constructing a TypeError in the SlotDict constructor.

2008-07-28 07:08  zmedico

	* [r11233] pym/portage/__init__.py: Add support for an new
	  EAPI="2_pre0" value so that people who want to test USE deps can
	  set the EAPI to something other than 0 or 1. We can support as
	  many different experimental EAPI values as we need, and drop
	  support for them when the final EAPI 2 is defined.

2008-07-28 06:43  zmedico

	* [r11232] pym/portage/dep.py,
	  pym/portage/tests/dep/test_dep_getusedeps.py,
	  pym/portage/tests/dep/test_isvalidatom.py: Disable the
	  multi-bracket USE deps syntax, so only the comma separated syntax
	  is now valid.

2008-07-28 05:52  zmedico

	* [r11231] pym/portage/dep.py,
	  pym/portage/tests/dep/test_isvalidatom.py: Implement new
	  conditional USE dep syntax:
	  
	  Conditional evaluation behavior:
	  
	  parent state conditional result
	  
	  x x? x -x x? x -x? -x -x? -x
	  
	  x x= x -x x= -x x x!= -x -x x!= x
	  
	  Conditional syntax examples:
	  
	  compact form equivalent expanded form
	  
	  foo[bar?] foo bar? ( foo[bar] ) foo[-bar?] foo !bar? ( foo[-bar]
	  ) foo[bar=] foo bar? ( foo[bar] ) !bar? ( foo[-bar] ) foo[bar!=]
	  foo bar? ( foo[-bar] ) !bar? ( foo[bar] )

2008-07-28 05:34  zmedico

	* [r11230] pym/portage/cache/mappings.py: Create a SlotDict
	  constructor which can take an optional positional arg that is
	  passed to the update() method (similar to the dict constructor),
	  and also pass keyword arguments into the update() method if any
	  are given. This makes it possible to use the constructor
	  similarly to the way that the _emerge.SlotObject constructor is
	  used.

2008-07-28 01:42  zmedico

	* [r11229] pym/portage/dep.py,
	  pym/portage/tests/dep/test_isvalidatom.py: * Add support in
	  dep_getusedeps() and isvalidatom() for comma separated USE deps
	  that only have one set of square brackets. * Add test cases for
	  the new comma separated USE deps syntax.

2008-07-28 01:05  zmedico

	* [r11228] pym/portage/dep.py: Bug #233137 - Implement
	  Atom.split().

2008-07-27 23:30  zmedico

	* [r11227] bin/repoman: Fix incorrect logging.exception()
	  arguments. The exception instance is not supposed to be passed
	  into this function.

2008-07-27 23:09  zmedico

	* [r11226] bin/repoman: Fix the new glep56 code to handle missing
	  metadata.xml. Thanks to jmbsvicetto for reporting.

2008-07-27 14:23  zmedico

	* [r11223] pym/_emerge/__init__.py, pym/portage/__init__.py: Fix
	  EbuildFetcher to pass all config variables to the fetcher so
	  things like http_proxy are included.

2008-07-27 14:13  zmedico

	* [r11222] man/make.conf.5: Update path to make.conf.example.
	  Thanks to Arfrever.

2008-07-27 14:10  zmedico

	* [r11221] bin/misc-functions.sh: Use ${NORMAL} to properly restore
	  color when necessary.

2008-07-27 14:07  zmedico

	* [r11220] bin/isolated-functions.sh, pym/portage/elog/messages.py:
	  Make elog_base() just use \n as the delimiter in the file since
	  it's safe now that lines are always split.

2008-07-27 13:59  zmedico

	* [r11219] bin/isolated-functions.sh: Make all the elog functions
	  split lines when displaying output, just like elog_base() does
	  when saving it.

2008-07-27 13:31  zmedico

	* [r11218] bin/isolated-functions.sh: Add support to elog_base() to
	  split messages on newlines automatically. Thanks to Arfrever for
	  the suggestion.

2008-07-27 12:24  zmedico

	* [r11217] pym/portage/dbapi/porttree.py: Fix breakage from r11213
	  in INHERITED values returned from portdbapi.aux_get().

2008-07-27 12:02  zmedico

	* [r11216] bin/ebuild.sh, bin/misc-functions.sh: Fixes from
	  Arfrever: * Highlight the "Files built without respecting
	  LDFLAGS" QA Notice with red. * Remove scanelf-ignored-LDFLAGS.log
	  when empty.

2008-07-27 11:31  zmedico

	* [r11213] pym/_emerge/__init__.py, pym/portage/dbapi/porttree.py:
	  Serialize src_unpack() $DISTDIR access for live ebuilds since
	  otherwise they can interfere with eachother. This will have to
	  rely on a hardcoded list of eclasses until we create way to
	  properly tag this information in the metadata.

2008-07-27 10:42  zmedico

	* [r11210] bin/repoman: * Define a frozenset of live eclasses for
	  the LIVEVCS.stable check. * Add "mercurial" to the list of known
	  live eclasses.

2008-07-27 10:23  zmedico

	* [r11209] bin/repoman: Fix repoman not seeing subversion
	  auto-ignored files (such as patch rejects and editor backup
	  copies), thereby causing messed up Manifests. This fix should be
	  merged in the trunk. (branches/prefix r11208)

2008-07-27 06:02  zmedico

	* [r11206] bin/misc-functions.sh: Temporarily `set -o noglob` when
	  splitting QA_DT_HASH.

2008-07-27 05:08  zmedico

	* [r11205] bin/misc-functions.sh, man/ebuild.5, man/make.conf.5:
	  Bug #233077 - Add QA check which verifies that LDFLAGS are
	  respected. For now this only works when LDFLAGS contains
	  --hash-style=gnu since in this case the the elf files should not
	  contain .hash sections and we can use scanelf to check whether or
	  not the those sections exist. This adds a QA_DT_HASH variable
	  that is analogous to existing QA control variables documented in
	  the ebuild.5 man page. There is also a complementary
	  QA_STRICT_DT_HASH variable that can be set in make.conf in order
	  to ignore QA_DT_HASH settings in ebuilds. Thanks to Arfrever
	  Frehtes Taifersar Arahesis for this patch which I've tweaked in
	  just a few minor ways.

2008-07-27 02:23  zmedico

	* [r11204] pym/_emerge/__init__.py: Schedule ebuild pkg_setup
	  phases on the merge queue, in order to serialize unsandboxed
	  access to the live filesystem.

2008-07-27 02:16  zmedico

	* [r11203] pym/_emerge/__init__.py: In PollScheduler._poll(), add a
	  call to _schedule() in order to ensure that event handlers are
	  registered if possible. If not, raise StopIteration in order to
	  avoid endless blocking in a poll call with no file descriptors
	  registered. Add StopIteration exception handling for all
	  PollScheduler._poll._next_poll_event() calls.

2008-07-27 01:31  zmedico

	* [r11202] pym/_emerge/__init__.py: Fix
	  AsynchronousTask.removeStartListener() and removeExitListener()
	  to return early if there are no listeners.

2008-07-26 11:33  zmedico

	* [r11200] pym/portage/dbapi/vartree.py: Fix
	  LinkageMap.findConsumers() to check whether the master link for a
	  lib providing a given soname actually points to that lib. If
	  there is another version of this lib with the same soname and the
	  master link points to that other version, this lib will be
	  shadowed and won't have any consumers. By eliminating false,
	  positives this way, we avoid the following state after upgrade
	  from media-libs/mesa-7.0.3 to media-libs/mesa-7.1_rc3:
	  
	  # scanelf -S /usr/lib64/libGLU.so* TYPE SONAME FILE ET_DYN
	  libGLU.so.1 /usr/lib64/libGLU.so ET_DYN libGLU.so.1
	  /usr/lib64/libGLU.so.1 ET_DYN libGLU.so.1
	  /usr/lib64/libGLU.so.1.3 ET_DYN libGLU.so.1
	  /usr/lib64/libGLU.so.1.3.070003 ET_DYN libGLU.so.1
	  /usr/lib64/libGLU.so.1.3.070100 <- shadowed lib
	  
	  Thanks to Diego "Flameeyes" Pettenò for reporting this issue.

2008-07-26 10:31  zmedico

	* [r11199] bin/misc-functions.sh: * Use pure bash ${PARAMETER%/*}
	  instead of spawing`dirname`. * Break out of loop as early as
	  possible when searching for libs in ${D}.

2008-07-26 09:33  zmedico

	* [r11198] pym/_emerge/__init__.py: Split out an apply_priorities()
	  function to apply nice and ionice settings.

2008-07-26 07:56  zmedico

	* [r11197] pym/_emerge/__init__.py, pym/portage/exception.py: Bug
	  #232924 - When the user specifies a non-existent set, display a
	  list of existing sets.

2008-07-26 07:22  zmedico

	* [r11196] pym/portage/dbapi/vartree.py: Bug #228085 - In the event
	  of a file collision, the explanation about the collision and how
	  to solve it may not be visible via a scrollback buffer,
	  especially if the number of file collisions is large. Therefore,
	  show a summary at the end and refer the user to the elog
	  messages.

2008-07-26 06:36  zmedico

	* [r11195] bin/misc-functions.sh: Replace hardcoded i386 machine
	  name in dyn_rpm() with the result of `uname -m`.

2008-07-26 06:17  zmedico

	* [r11194] bin/misc-functions.sh: * For bug 227625, automatically
	  create the /usr/src/rpm/SOURCES directory when necessary.
	  
	  * Add `cd "${T}"` at the beginning of dyn_rpm() since the spec
	  file is written to $PWD.

2008-07-26 04:20  zmedico

	* [r11193] cnf/make.globals, man/make.conf.5: Reduce the default
	  PORTAGE_IONICE_COMMAND priority to "idle" priority since it's
	  probably suitable for most people. This way, even when the IO
	  load is very high, the impact on system responsiveness should be
	  practically unnoticeable.

2008-07-25 22:59  zmedico

	* [r11192] NEWS: Add PORTAGE_IONICE_COMMAND setting for make.conf
	  which is called to adjust IO priority on portage and it's
	  subprocesses.

2008-07-25 22:48  zmedico

	* [r11191] pym/_emerge/__init__.py: Suppress "for /" and "to /" in
	  status messages when ROOT=/. Thanks to Thargor for the
	  suggestion.

2008-07-25 21:36  zmedico

	* [r11190] pym/_emerge/__init__.py: Fix PORTAGE_BIN_PATH typo in
	  EbuildFetcher._start().

2008-07-25 21:04  zmedico

	* [r11188] pym/portage/dbapi/porttree.py: Detect an invalid cpv
	  passed into portdbapi.findname2() and raise an InvalidPackageName
	  exception. This avoids silent or nonsense errors later on.

2008-07-25 00:12  zmedico

	* [r11185] pym/_emerge/__init__.py: Cancel prefetchers if they're
	  the only reason the main poll loop is still running.

2008-07-24 23:05  zmedico

	* [r11184] pym/_emerge/__init__.py: When in background mode and
	  there is a single failure, dump the whole build log for
	  convenience.

2008-07-24 22:16  zmedico

	* [r11183] man/make.conf.5, pym/_emerge/__init__.py: * Refer user
	  to make.conf(5) if PORTAGE_IONICE_COMMAND fails. * Document that
	  PORTAGE_IONICE_COMMAND can be disabled by setting it to an empty
	  string.

2008-07-24 14:43  zmedico

	* [r11182] cnf/make.globals, man/make.conf.5,
	  pym/_emerge/__init__.py, pym/portage/__init__.py: Bug #206773 -
	  Add a new PORTAGE_IONICE_COMMAND variable that emerge uses to
	  adjust ionice priority, similar to PORTAGE_NICENESS but used more
	  like FETCHCOMMAND since so that portage doesn't have to know
	  anything about ionice options. The command should include a
	  \${PID} place-holder to be substituted with an integer pid.

2008-07-24 11:40  zmedico

	* [r11181] pym/portage/util.py: Bug #228117 - Insert a trailing
	  newline in the getconfig() input file as necessary to avoid a
	  silent error in shlex that is triggered by a source statement at
	  the end of the file without a trailing newline after the source
	  statement. To solve this problem, derive a special file class
	  that inserts a newline just before eof when necessary.

2008-07-23 21:27  zmedico

	* [r11179] bin/portageq: Fix bug in get_repo_path() when called
	  with multiple args.

2008-07-23 20:23  zmedico

	* [r11178] bin/portageq: Fix typo, found by pyflakes.

2008-07-23 20:04  zmedico

	* [r11177] pym/portage/dbapi/vartree.py: Avoid "0 files checked
	  ..." messages reported by Pesa.

2008-07-23 19:48  zmedico

	* [r11176] pym/_emerge/__init__.py: Fix --depclean/--prune
	  regressions reported by selkin:
	  
	  * Make --with-bdeps default to "y" for removal actions.
	  
	  * Treat unsatisfied build time dependencies as "soft" for removal
	  actions, even when --with-bdeps=y.

2008-07-23 12:33  zmedico

	* [r11175] bin/portageq: Add sandbox write access to
	  PORTAGE_PYM_PATH before importing portage in order to avoid
	  sandbox violations after python upgrade.

2008-07-23 07:23  zmedico

	* [r11173] pym/_emerge/__init__.py: Add GENTOO_MIRRORS to the
	  variables exported by EbuildFetcher.

2008-07-23 05:46  zmedico

	* [r11170] pym/_emerge/__init__.py: Make --fetchonly disable
	  background mode.

2008-07-22 15:02  zmedico

	* [r11169] pym/_emerge/__init__.py: Handle UnsatisfiedResumeDep in
	  Scheduler._calc_resume_list().

2008-07-22 13:29  zmedico

	* [r11168] NEWS, man/emerge.1, pym/_emerge/__init__.py,
	  pym/_emerge/help.py: Update --depclean and --prune, removing
	  warnings about libraries since those are now automatically
	  accounted for.

2008-07-22 12:24  zmedico

	* [r11167] pym/portage/dbapi/vartree.py: In dblink.unmerge(),
	  redirect preserve-libs "!needed" messages to the log file when in
	  background mode.

2008-07-22 06:39  zmedico

	* [r11166] pym/_emerge/__init__.py: Fix resume_depgraph() so that
	  it doesn't raise an AssertionError due to unsatisfied PDEPEND.

2008-07-22 04:09  zmedico

	* [r11165] pym/_emerge/__init__.py: Show the number of failed
	  packages in the status display.

2008-07-22 03:58  zmedico

	* [r11164] pym/_emerge/__init__.py, pym/portage/__init__.py:
	  Redirect build log eqawarn messages to the log file when in
	  background mode.

2008-07-22 03:42  zmedico

	* [r11163] pym/_emerge/__init__.py: Disable "Installing" status
	  messages when in --pretend or --buildpkgonly mode.

2008-07-22 03:25  zmedico

	* [r11162] pym/_emerge/__init__.py: Make --pretend disable
	  background mode and imply --jobs=1.

2008-07-22 02:02  zmedico

	* [r11161] pym/portage/dbapi/vartree.py: Redirect
	  dblink._preserve_libs() messages to the log when in background
	  mode.

2008-07-22 00:35  zmedico

	* [r11160] pym/_emerge/__init__.py: Adjust status messages for
	  --fetchonly mode.

2008-07-22 00:24  zmedico

	* [r11159] pym/_emerge/__init__.py: Adjust --fetchonly failure
	  messages to work better with background mode.

2008-07-21 23:15  zmedico

	* [r11158] pym/_emerge/__init__.py: Fix --depclean/--prune to add
	  lib providers and their dependencies to the graph and create a
	  new clean list when necessary. This completes the fix for bug
	  #230053.

2008-07-21 13:19  zmedico

	* [r11157] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Add initial lib awareness for --depclean and --prune. Currently
	  it will simply bail out if the clean list contains a package that
	  will cause link breakage if removed. TODO: Calculate a new
	  cleanlist instead of bailing out, and implement a package set for
	  rebuilding consumers.

2008-07-21 10:29  zmedico

	* [r11156] pym/portage/dbapi/vartree.py: In dblink.findProviders(),
	  clone the "path" variable before extending it since obviously it
	  shouldn't grow each time that findProviders() is called.

2008-07-21 06:08  zmedico

	* [r11155] pym/portage/dbapi/vartree.py: In
	  dblink._preserve_libs(), strip leading $ROOT from contents paths
	  so that it works when $ROOT != /.

2008-07-21 02:39  zmedico

	* [r11154] pym/_emerge/__init__.py: Fix breakage in the
	  depclean/prune unsatisfied deps handling.

2008-07-21 02:29  zmedico

	* [r11153] pym/_emerge/__init__.py: Fix typo.

2008-07-21 02:20  zmedico

	* [r11152] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/sets/base.py: For --depclean and --prune, eliminate
	  duplicate graph creation code by re-using the depgraph class to
	  do it. The depgraph class was used in the past for this purpose
	  but back then it didn't handle USE flags correctly for installed
	  packages. Now it works fine.

2008-07-21 00:26  zmedico

	* [r11151] pym/_emerge/__init__.py: Redirect the 'Recording <pkg>
	  in "world" favorites file...' message through _status_msg().

2008-07-20 22:30  zmedico

	* [r11150] pym/portage/elog/mod_custom.py: Fix broken references to
	  the old elog_modules namespace.

2008-07-20 05:01  zmedico

	* [r11147] pym/_emerge/__init__.py: Redirect some more unmerge()
	  output through writemsg_level() so that it can filtered out when
	  in background mode.

2008-07-20 02:38  zmedico

	* [r11146] pym/_emerge/__init__.py: Fix Scheduler emergelog()
	  interaction to properly disable emergelog() xterm titles whenever
	  the status display is enabled.

2008-07-20 01:16  zmedico

	* [r11145] pym/_emerge/__init__.py: * Clean up
	  _schedule_tasks_imp() a bit. * Make _task() access _background
	  directly instead of as a parameter.

2008-07-20 01:00  zmedico

	* [r11144] pym/_emerge/__init__.py: Make PollScheduler._poll() add
	  poll events to the stack instead of returning them. This makes it
	  more useful as a hook, allowing Scheduler._poll() to safely call
	  _schedule().

2008-07-19 15:09  zmedico

	* [r11143] pym/_emerge/__init__.py: Merge tasks currently run
	  synchronously which makes it necessary to disable auto_schedule
	  on the merge queue in order to avoid excess recursion which
	  prevents tasks from being marked complete as soon as they should
	  be.

2008-07-19 13:56  zmedico

	* [r11142] pym/_emerge/__init__.py: Fix
	  Scheduler._schedule_tasks_imp() so that it never indicates that
	  there are remaining tasks in cases when it's supposed to bail out
	  due to a package failure.

2008-07-19 13:22  zmedico

	* [r11141] pym/_emerge/__init__.py: Calling _schedule() from
	  Scheduler._poll() is unsafe since the _schedule() call itself can
	  consume poll events. Therefore, until a safe way exists, don't do
	  it.

2008-07-19 12:30  zmedico

	* [r11140] pym/_emerge/__init__.py: Use the memoized _choose_pkg()
	  result to return earlier from _schedule_tasks() when possible.

2008-07-19 12:25  zmedico

	* [r11139] pym/_emerge/__init__.py: When Scheduler._choose_pkg() is
	  unable to find a package, memoize the result until at least one
	  of the existing jobs completes.

2008-07-19 11:46  zmedico

	* [r11138] pym/portage/elog/__init__.py: Bug #231464 - Replace
	  erroneous "return" statement in elog_process() with a continue
	  statement. Thanks to TGL for this patch.

2008-07-19 10:55  zmedico

	* [r11137] pym/_emerge/__init__.py: Instead of calling
	  _background_mode(), use the cached result.

2008-07-19 10:28  zmedico

	* [r11136] pym/_emerge/__init__.py: Fix
	  JobStatusDisplay._init_term() to supply default codes in cases
	  when curses.tigetstr() returns None.

2008-07-19 10:07  zmedico

	* [r11135] pym/_emerge/__init__.py: * Call self._schedule() from
	  inside Scheduler._poll(). This ensures that new jobs can
	  scheduled as soon a the load average is low enough, and one of
	  the running jobs doesn't have to complete for _schedule() to get
	  called.
	  
	  * Cache the result of _background_mode() so it doesn't have to be
	  called inside _schedule(), since this method is called a lot more
	  often now.
	  
	  * Move background related state adjustments into
	  _background_mode().
	  
	  * Call _status_display.display() unconditionally inside
	  _schedule_tasks(), since we want to update the display to show
	  current load average even if no new jobs are added.

2008-07-19 07:33  zmedico

	* [r11134] pym/_emerge/__init__.py: Fix typos.

2008-07-19 07:24  zmedico

	* [r11133] pym/_emerge/__init__.py: Add a
	  Scheduler._background_mode() method to control background mode,
	  and trigger it if either --quiet is enabled or --jobs > 1.

2008-07-19 05:37  zmedico

	* [r11132] pym/_emerge/__init__.py: Display "Verifying ebuild
	  manifests" and "Starting parallel fetch" via the status display
	  instead of directly to stdout.

2008-07-19 04:30  zmedico

	* [r11131] pym/_emerge/__init__.py: Add a hook in Scheduler._poll()
	  that updates the display once every 2 seconds if stdout is a tty,
	  so that the load average numbers are always current.

2008-07-19 03:46  zmedico

	* [r11130] pym/_emerge/__init__.py: Make all poll() calls pass
	  through PollScheduler._poll().

2008-07-19 03:25  zmedico

	* [r11129] pym/_emerge/__init__.py: When
	  JobStatusDisplay.displayMessage() is called while the status is
	  currently displayed, call display() after showing the given
	  message.

2008-07-19 03:18  zmedico

	* [r11128] pym/_emerge/__init__.py: Add support to
	  JobStatusDisplay() to update the current line on the terminal,
	  which in the future can be used to erase the line and update it
	  with new information such as the latest load average measurement.
	  This uses curses to obtain the simple control codes that are
	  needed, and has fallback codes in case the curses module is
	  unavailable or raises an error. When stdout is not a tty then the
	  line erasing behavior is automatically disabled and display
	  updates are simply show on a new line.

2008-07-19 00:37  zmedico

	* [r11127] pym/_emerge/__init__.py: Add a
	  MergeListItem.statusMessage(msg) callback for displaying messages
	  like "Building this" or "Installing that". This delegates the
	  resposibility of generating \r and \n control characters, to
	  guarantee that lines are created or erased when necessary and
	  appropriate. TODO: Make JobStatusDisplay display the output.

2008-07-18 12:40  zmedico

	* [r11126] bin/repoman, pym/repoman/utilities.py: Bug #199788 -
	  Make repoman parse GLEP 56 USE flag descriptions from
	  metadata.xml (in addition to use.local.desc). Thanks to Doug
	  Goldstein <cardoe@g.o> for this patch.

2008-07-18 08:56  zmedico

	* [r11124] pym/portage/__init__.py: Fix typo.

2008-07-18 07:47  zmedico

	* [r11123] pym/portage/dbapi/vartree.py: Suppress counter
	  initialization warning messages in
	  vardbapi.get_counter_tick_core() in cases when the vdb is empty.
	  This avoids pointless error messages when merging packages into a
	  new root, like when building stage 1.

2008-07-18 03:45  zmedico

	* [r11122] pym/_emerge/__init__.py, pym/portage/__init__.py: Add
	  background output redirection and async ebuild phase support for
	  PackageUninstall (automatic uninstalls that solve blockers).

2008-07-18 01:42  zmedico

	* [r11121] pym/_emerge/__init__.py: Change package status messages
	  to give more accurate information about what is happening at a
	  given time:
	  
	  * Change "Emerging" messages to "Building" for ebuilds and
	  "Extracting" for binary packages.
	  
	  * Change "Merging" messages to "Installing" and "Uninstalling".

2008-07-18 00:52  zmedico

	* [r11120] pym/_emerge/__init__.py: In
	  dblink._dblink_display_merge(), when in background mode and no
	  log is available, suppress output when level < logging.WARNING.
	  This hides ">>> Regenerating /etc/ld.so.cache..." messages that
	  appear after postrm when PORT_LOGDIR is unset (the log file if it
	  exists is removed after postrm so there's no place to log the
	  message).

2008-07-18 00:34  zmedico

	* [r11119] pym/portage/dbapi/vartree.py: Use dblink._eerror() to
	  eliminate duplicate code.

2008-07-18 00:13  zmedico

	* [r11118] pym/portage/dbapi/vartree.py: If an problem is detected
	  in dblink._security_check(), log it via elog so that it's
	  properly displayed in the foreground even when in background
	  mode.

2008-07-17 23:53  zmedico

	* [r11117] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py,
	  pym/portage/elog/messages.py: Redirect dblink elog messages from
	  stdout to the log file when in background mode. This is
	  implemented by adding a new "out" parameter to the
	  portage.elog.e* functions, which can be used to send output to an
	  arbitary file instead of stdout.

2008-07-17 22:41  zmedico

	* [r11116] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  When dblink is looping over files for merge/unmerge, temporarily
	  yield to the scheduler each time a fixed number of files are
	  processed (currently 20). This gives the scheduler an opportunity
	  to service pending poll events. This is implemented with a new
	  PollScheduler._schedule_yield() method which calls poll() exactly
	  once, without blocking, and any services any resulting poll
	  events.

2008-07-17 16:11  zmedico

	* [r11115] pym/_emerge/__init__.py: Also, reset "merges" in
	  JobStatusDisplay.reset().

2008-07-17 16:09  zmedico

	* [r11114] pym/_emerge/__init__.py: Initialize
	  JobStatusDisplay.merges since it's not initialized with the bound
	  properties anymore.

2008-07-17 16:05  zmedico

	* [r11113] pym/_emerge/__init__.py: Also, don't count "merges" as
	  changes in the status display.

2008-07-17 16:04  zmedico

	* [r11112] pym/_emerge/__init__.py: Since it's not very
	  interesting, disable the "merges" part of status display.

2008-07-17 14:21  zmedico

	* [r11111] pym/portage/tests/process/test_poll.py: Fix identation
	  (tabnanny complains about this) branches/prefix r11110

2008-07-17 14:01  zmedico

	* [r11107] pym/_emerge/__init__.py: Reformat the status display.
	  Here's an example:
	  
	  >>> Jobs: 0 of 2 complete, 2 running Load average: 2.9, 2.4, 2.0
	  >>> Jobs: 0 of 2 complete, 1 running, 2 merges Load average: 2.8,
	  2.4, 2.0 >>> Jobs: 2 of 2 complete Load average: 2.6, 2.3, 2.0

2008-07-17 13:08  zmedico

	* [r11105] pym/_emerge/__init__.py: Don't show "Merging" and
	  "merged." messages when in background mode.

2008-07-17 13:02  zmedico

	* [r11104] pym/_emerge/__init__.py: Make Binpkg send "Extracting"
	  messages to the log file when in background mode, instead of
	  stdout.

2008-07-17 12:21  zmedico

	* [r11103] pym/_emerge/__init__.py: Update the status display in
	  _build_exit(), after decrementing the job count.

2008-07-17 11:39  zmedico

	* [r11102] pym/_emerge/__init__.py: Make BinpkgVerifier redirect
	  output to the fetch log when in background mode.

2008-07-17 11:21  zmedico

	* [r11101] pym/_emerge/__init__.py: Don't show a blank newline
	  before ">>> Emerging" when in background mode.

2008-07-17 10:57  zmedico

	* [r11100] pym/portage/dbapi/vartree.py: Handle the case in
	  dblink.unmerge() when the log file is a temp file and so it
	  doesn't exist after postrm cleaning.

2008-07-17 10:40  zmedico

	* [r11099] pym/_emerge/__init__.py: Tweak interaction between
	  Scheduler and status display so that it doesn't display more
	  often than necessary and avoids showing inconsistent counts.

2008-07-17 10:11  zmedico

	* [r11098] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py, pym/portage/util.py: * Add a new
	  portage.util.writemsg_level() function which uses a "level"
	  parameter to control whether the message is sent to stdout or
	  stderr. When level >= logging.WARNING then the message is sent to
	  stderr, otherwise it is sent to stdout. The noiselevel is passed
	  directly to writemsg().
	  
	  * Use writemsg_level() for handling merge messages from dblink
	  and add appropriate noiselevel values to each call.
	  
	  * Add a writemsg_level parameter to portage.env_update() so that
	  dblink can pass in dblink._display_merge() as a means to redirect
	  output back to the scheduler for appropriate handling when
	  running in the background.

2008-07-17 09:57  zmedico

	* [r11097] pym/_emerge/__init__.py: Don't increment the "complete"
	  count for uninstall tasks.

2008-07-17 08:57  zmedico

	* [r11096] pym/_emerge/__init__.py: Add a JobStatusDisplay class to
	  encapsulate the status display. This object tracks whether or not
	  any of it's attributes have changed since the last time it was
	  displayed, so the it's only displayed when something has changed.
	  Unlike before, now the display should always update whenever a
	  relevant change occurs.

2008-07-17 06:31  zmedico

	* [r11095] pym/_emerge/__init__.py: In SequentialTaskQueue.clear(),
	  remove the exit listener from each task before cancelling it.

2008-07-17 04:50  zmedico

	* [r11094] mkrelease.sh: Add the new --anon option to the getopt
	  args.

2008-07-17 04:20  zmedico

	* [r11093] pym/_emerge/__init__.py: When SpawnProcess._start()
	  spawns a process in the background, use /dev/null so that any
	  attempts to read from stdin will immediately return EOF instead
	  of blocking indefinitely. TODO: Use job control functions like
	  tcsetpgrp() to control access to stdin.

2008-07-17 03:52  zmedico

	* [r11092] pym/_emerge/__init__.py, pym/portage/__init__.py:
	  Eliminate duplicate code by making EbuildProcess inherit from
	  SpawnProcess instead of SubProcess.

2008-07-16 21:57  zmedico

	* [r11091] mkrelease.sh: Add --anon to the usage message.

2008-07-16 21:52  zmedico

	* [r11090] mkrelease.sh: Add --anon option for anonsvn.gentoo.org
	  users.

2008-07-16 21:11  zmedico

	* [r11089] mkrelease.sh: Remove TODO since it no longer exists.

2008-07-16 20:43  zmedico

	* [r11088] pym/portage/__init__.py: Avoid raising an IndexError
	  from deprecated_profile_check() if the deprecated file happens to
	  be empty. Instead just refer to the "Gentoo Upgrading Guide".
	  Thanks to armin76 for reporting.

2008-07-16 08:47  zmedico

	* [r11076] pym/_emerge/__init__.py: Pass background=True into
	  prefetcher constructors.

2008-07-16 08:37  zmedico

	* [r11075] pym/_emerge/__init__.py: Add a progress counter showing
	  "x of y complete" to Scheduler._display_status().

2008-07-16 07:38  zmedico

	* [r11073] pym/_emerge/__init__.py: * Add xterm titles support to
	  Scheduler._display_status(). * Tweak emergelog() so that it won't
	  interfere with the scheduler summary.

2008-07-16 07:09  zmedico

	* [r11072] pym/_emerge/__init__.py, pym/portage/__init__.py: Add
	  async support for calling functions in misc-functions.sh:
	  
	  * Create a new MiscFunctionsProcess class derived from
	  SpawnProcess.
	  
	  * Add "background" support to the SpawnProcess class and split
	  out a _spawn() template function so MiscFunctionsProcess can
	  override it.
	  
	  * Rename the existing EbuildPhase class to EbuildProcess.
	  
	  * Create a new EbuildPhase class derived from CompositeTask. This
	  class spawns the EbuildProcess and MiscFunctionsProcess classes
	  as sub-tasks.

2008-07-16 03:32  zmedico

	* [r11071] pym/portage/__init__.py: Remove the
	  config._filter_calling_env attribute since it's not really
	  needed. Replace it with an simple os.path.exists() call inside
	  config.environ().

2008-07-16 02:38  zmedico

	* [r11070] pym/_emerge/__init__.py: Show LDFLAGS in emerge --info
	  <pkg> output. Thanks to dirtyepic for this patch.

2008-07-16 01:42  zmedico

	* [r11069] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Pass the whole dblink instance into
	  Scheduler._dblink_display_merge() in case it's ever needed.

2008-07-16 01:37  zmedico

	* [r11068] pym/portage/dbapi/vartree.py: Redirect dblink.merge()
	  output to the log file when --jobs > 1.

2008-07-16 01:15  zmedico

	* [r11067] pym/portage/dbapi/vartree.py: Make
	  dblink._display_merge() detect scheduler presence internally.

2008-07-16 01:09  zmedico

	* [r11066] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Adapt the dblink merge display callback to use log levels from
	  the logging module so that it can be used as an interface for
	  both writemsg() and writemsg_stdout().

2008-07-16 00:44  zmedico

	* [r11065] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Redirect dblink.unmerge() output to the log file when --jobs > 1.

2008-07-16 00:11  zmedico

	* [r11064] pym/_emerge/__init__.py: When --jobs > 1, display a
	  status message each time that Scheduler._schedule_tasks() is
	  called. For example:
	  
	  >>> Jobs: 2 running, 0 merges, load average: 0.34, 0.46, 0.27

2008-07-15 23:19  zmedico

	* [r11063] man/emerge.1, man/make.conf.5, pym/_emerge/help.py: Add
	  some cross references between emerge's new parallel build options
	  and MAKEOPTS.

2008-07-15 22:31  zmedico

	* [r11062] pym/_emerge/__init__.py: Make EbuildFetcher copy
	  FETCHCOMMAND and RESUMECOMMAND to the fetch environment, in case
	  the default values have been overridden.

2008-07-15 21:17  zmedico

	* [r11061] pym/_emerge/__init__.py: In
	  Scheduler._restart_if_necessary(), use list.remove() instead of
	  assuming that portage is first in the resume list.

2008-07-15 10:45  zmedico

	* [r11057] bin/misc-functions.sh: Since lots of packages will have
	  to be fixed before stable portage can abort with "this code is
	  not 64bit clean", convert the die call to an eerror message
	  instructing the user to file a bug at bugs.gentoo.org. This
	  should allow us to stabilize portage-2.2 without having to ensure
	  that the entire stable tree is 64 bit clean first.

2008-07-15 09:50  zmedico

	* [r11056] pym/_emerge/__init__.py, pym/portage/elog/__init__.py:
	  When packages fail with --jobs > 1 and the "echo" elog module is
	  not enabled, emulate elog's mod_echo module to show the 'error'
	  level messages, which should include the important die message.
	  This is implemented by adding a private hook inside
	  elog_process() which the scheduler uses to collect error
	  messages.

2008-07-15 08:58  zmedico

	* [r11055] pym/_emerge/__init__.py: When there is more than one
	  failure, show a summary packages that failed to build or install.
	  This is especially useful when using --jobs or --keep-going since
	  there can be multiple failures.

2008-07-15 08:28  zmedico

	* [r11054] pym/_emerge/__init__.py: * Fix --keep-going breakage
	  that occured when Scheduler._choose_pkg() was introduced.
	  
	  * Handle multiple failed builds when buildinding in parallel.
	  
	  * Fix Scheduler._do_merge_exit() to remove the correct package
	  since it's not always at position 0 when using --jobs.
	  
	  in parallel, so

2008-07-15 03:03  zmedico

	* [r11053] pym/_emerge/__init__.py: Make AsynchronousTask
	  "registered" attributes private since poll() and wait() do the
	  job now. Also, hide SubProcess.files since there's no reason to
	  expose it.

2008-07-15 02:49  zmedico

	* [r11052] pym/_emerge/__init__.py: Use self.registered to return
	  early from SubProcess.poll() when possible, and remove the
	  related code from SequentialTaskQueue.schedule() since this makes
	  it obsolete.

2008-07-15 02:11  zmedico

	* [r11051] pym/_emerge/__init__.py: Add a
	  PollScheduler._next_poll_event() method to maintain a central
	  event queue between _poll_loop() and _schedule_wait(). This
	  solves an intermittent KeyError from _poll_loop() which occured
	  when an event handler called _schedule_wait() which unregistered
	  an event handler for an event that _poll_loop() had already
	  recieved but hadn't processed yet.

2008-07-15 00:50  zmedico

	* [r11050] pym/_emerge/__init__.py: Split out a
	  _main_loop_cleanup() method from Scheduler._merge() and call it
	  before restarting in _restart_if_necessary() to kill any
	  parallel-fetch tasks that may still be running.

2008-07-14 23:31  zmedico

	* [r11049] pym/_emerge/__init__.py: Split out a generic
	  SubProcess._unregister() method that's called from _wait() to
	  make sure everything is cleaned up before wait() returns. This
	  might solve an intermittent KeyError that is sometimes raised
	  from the main poll() loop when a handler is no longer registered
	  for a poll() event that has occurred.

2008-07-14 09:00  zmedico

	* [r11047] pym/_emerge/__init__.py: Unregister from poll() objects
	  before closing file in order to hopefully avoid stale events that
	  can trigger a KeyError in Scheduler._poll_loop() if the event's
	  file descriptor no longer has a registered handler.

2008-07-14 06:48  zmedico

	* [r11046] pym/portage/dbapi/vartree.py: Call prepare_build_dirs()
	  prior to pkg_preinst so that logging works properly.

2008-07-14 06:38  zmedico

	* [r11045] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py: * Fix doebuild so "returnpid" works
	  for preinst and postinst. * Add async support for pkg_prerm and
	  pkg_postrm. * Add missing "treetype" parameter to dblink
	  constructor calls. * Fix SubProcess._wait() to check
	  self.returncode _after_ calling the scheduler.

2008-07-14 03:47  zmedico

	* [r11044] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py: Add async execution support for
	  pkg_preinst and pkg_postinst. This allows the scheduler's poll
	  loop to run so that other parallel tasks aren't starved for
	  output handling while pkg_preinst and pkg_postinst are executing.

2008-07-13 23:25  zmedico

	* [r11043] pym/_emerge/__init__.py: Remove redundant
	  failed_packages check from Scheduler._main_loop() since it's now
	  handled inside the _schedule() call.

2008-07-13 22:13  zmedico

	* [r11042] pym/_emerge/__init__.py: Ensure that that
	  Scheduler._main_loop() doesn't return before the merge queue is
	  empty.

2008-07-13 13:38  zmedico

	* [r11040] pym/_emerge/__init__.py: Remove all traces of the "poll"
	  parameter for the PollScheduler constructor since it was only
	  used by can_poll_pty().

2008-07-13 13:24  zmedico

	* [r11039] pym/_emerge/__init__.py,
	  pym/portage/tests/process/test_poll.py: * Since can_poll_pty() is
	  unsafe due to he possibility of the poll() call blocking forever,
	  replace it with a simpler test on /dev/null that's derived from a
	  test in a glib2 configure script.
	  
	  * Remove PtyReaderTestCase since it has the same problem as
	  can_poll_pty().

2008-07-13 11:54  zmedico

	* [r11037] pym/_emerge/__init__.py: In can_poll_tty(), direct
	  bash's stderr into the pty since we don't want so see any error
	  message it generates (due to PipeReader closing it's end of the
	  pty). The error message is irrelevant since all we want to know
	  is whether or not the data is successfully transmitted through
	  the pty.

2008-07-13 07:34  zmedico

	* [r11035] pym/_emerge/__init__.py: Changes to
	  pym/_emerge/__init__.py from the previous commit weren't meant to
	  be committed yet.

2008-07-13 07:30  zmedico

	* [r11034] pym/_emerge/__init__.py, pym/portage/dbapi/bintree.py:
	  Fix broken binpkg path comparison in in binarytree.inject() so
	  that duplicate entries are correctly from the Packages index.

2008-07-13 05:29  zmedico

	* [r11033] pym/_emerge/__init__.py: In order to avoid having
	  BlockerDB instantiate a new FakeVartree for each merge, add a
	  FakeVartree.sync() method and so that the same FakeVartree can be
	  reused. Package counters and timestamps are used to validate
	  package instances during each sync() call.

2008-07-13 04:30  zmedico

	* [r11032] pym/_emerge/__init__.py: Fix Scheduler._schedule_tasks()
	  so that it never schedules a task when a package has already
	  failed.

2008-07-13 01:10  zmedico

	* [r11031] pym/_emerge/__init__.py: Decrement the job count prior
	  to merging a given package (after it's been built or extracted).
	  This will allow additional jobs to spawn sooner in some cases
	  when there may be idle resources.

2008-07-12 23:45  zmedico

	* [r11030] pym/_emerge/__init__.py: * Wrap calls to
	  PollScheduler._schedule_tasks() with a _schedule() method that
	  automatically returns early from any recursive calls that the
	  _schedule_tasks() call might trigger. This makes _schedule() safe
	  to call from inside exit listeners.
	  
	  * Call _schedule() inside Scheduler._job_exit() to trigger a new
	  job when possible.
	  
	  * Fix SequentialTaskQueue._task_exit() to avoid a potential
	  KeyError if the task had already been removed from
	  self.running_tasks for some reason.

2008-07-12 23:19  zmedico

	* [r11029] pym/_emerge/__init__.py: Rename
	  PollScheduler._schedule() to _schedule_wait().

2008-07-12 22:54  zmedico

	* [r11028] pym/_emerge/__init__.py: Remember to close file
	  descriptors before returning early from can_poll_pty().

2008-07-12 11:52  zmedico

	* [r11027] pym/_emerge/__init__.py: Add missing self.wait() calls
	  when tasks return unsuccessfully.

2008-07-12 11:36  zmedico

	* [r11026] pym/_emerge/__init__.py: Set self._mergelist inside
	  Scheduler._calc_resume_list() since it needs to be set when
	  calling _set_digraph().

2008-07-12 10:17  zmedico

	* [r11025] pym/_emerge/__init__.py: Implement a runtime test that
	  checks whether it's possible to use poll() to read data from a
	  pty device. The test only runs the first time that the
	  can_poll_pty() function is called (currently happens when the
	  first PollScheduler instance is created). The test is known to
	  fail on Darwin and we're not sure how many other kernels might
	  have a similar problem, this runtime test allows us to avoid
	  having to maintain special cases for various kernels.

2008-07-12 08:43  zmedico

	* [r11024] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/tests/process/test_poll.py: Split out a
	  portage._create_pty_or_pipe() function to avoid duplicate code.

2008-07-12 07:32  zmedico

	* [r11023] pym/_emerge/__init__.py,
	  pym/portage/tests/process/test_poll.py: Derive a
	  PtyReaderTestCase from PipeReaderTestCase. This test is expected
	  to fail on some operating systems such as Darwin that do not
	  support poll() on pty devices.

2008-07-12 06:22  zmedico

	* [r11022] pym/_emerge/__init__.py, pym/portage/tests/process,
	  pym/portage/tests/process/__init__.py,
	  pym/portage/tests/process/__test__,
	  pym/portage/tests/process/test_poll.py: Create a test case for
	  the poll loop which uses the loop to read data from a pipe and
	  assert that the data written to the pipe is identical to the data
	  read from the pipe. In order to implement this test, several
	  useful classes have been added:
	  
	  * PipeReader
	  
	  Reads output from one or more files and saves it in memory, for
	  retrieval via the getvalue() method. This is driven by the
	  scheduler's poll() loop, so it runs entirely within the current
	  process.
	  
	  * QueueScheduler
	  
	  Add instances of SequentialTaskQueue and then call run(). The
	  run() method returns when no tasks remain.
	  
	  * TaskScheduler
	  
	  A simple way to handle scheduling of AsynchrousTask instances.
	  Simply add tasks and call run(). The run() method returns when no
	  tasks remain.

2008-07-12 01:58  zmedico

	* [r11021] pym/_emerge/__init__.py, pym/portage/__init__.py: * Add
	  a digraph.get() method, analogous to dict.get(), used to simplify
	  Scheduler._pkg().
	  
	  * Define digraph.__contains__ for containment tests via the "in"
	  operator.

2008-07-12 00:03  zmedico

	* [r11020] pym/_emerge/__init__.py: For subclasses of Task,
	  explicitly assign __hash__ = Task.__hash__ for compatibility with
	  python-2.6_beta. Thanks to Arfrever for reporting.

2008-07-11 22:40  zmedico

	* [r11019] pym/_emerge/__init__.py: Fix SpawnProcess.start() to
	  return early and notify exit listeners if the spawn call fails.

2008-07-11 21:28  zmedico

	* [r11018] pym/repoman/utilities.py: Fix a few typos found with
	  pyflakes. Thanks to Cardoe for reporting.

2008-07-11 06:02  zmedico

	* [r11016] pym/portage/dbapi/porttree.py: Copy INHERITED/_eclasses_
	  handling from portdbapi._metadata_callback() to
	  portdbapi.aux_get() since it's still needed there or else aux_get
	  won't properly return INHERITED.

2008-07-11 05:12  zmedico

	* [r11015] pym/_emerge/__init__.py: Call settings.reset() in
	  EbuildMetadataPhase.start() since that's what portdbapi does too
	  before generating metadata, and without it, a previous CATEGORY
	  can leak into the ebuild env and corrupt it (breaks lots of
	  packages that reference $CATEGORY).

2008-07-11 04:16  zmedico

	* [r11014] NEWS, man/emerge.1, pym/_emerge/help.py: Document the
	  new --jobs and --load-average options for parallelization.

2008-07-11 02:38  zmedico

	* [r11013] pym/_emerge/__init__.py: Refactor and simplify the main
	  task scheduling and poll loops:
	  
	  * Make output handlers unregister themselves and call wait() to
	  notify exit listeners immediately. This makes the exit listeners
	  more useful for scheduling tasks. This makes the poll loop nice
	  an clean because it just calls the handlers and then the handlers
	  can do the scheduling when necessary.
	  
	  * Make SequentialTaskQueue.add() and addFront() trigger
	  scheduling internally, so that it's more of a chain reaction than
	  something that has to be done explicitly.

2008-07-10 15:00  zmedico

	* [r11012] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Add support for parallel --regen,
	  using the existing --jobs and --load-average options:
	  
	  * Split out a PollLoop base class from Scheduler and derive a
	  MetadataRegen class to handle parallel scheduling for --regen.
	  
	  * Add pordbapi._metadata_process() and _metadata_callback()
	  methods to implement asynchronous metadata generation. One method
	  returns an EbuildMetadataPhase instance to encapsulate the async
	  task. The other method is called to save the metadata when the
	  process completes successfully. These methods share code with
	  aux_get to avoid duplicate code.

2008-07-10 10:33  zmedico

	* [r11011] pym/_emerge/__init__.py: When a package replaces another
	  one, add the corresponding uninstall task for the replaced
	  package to Scheduler._completed_tasks so that it's properly
	  accounted for in _dependent_on_scheduled_merges().

2008-07-10 09:08  zmedico

	* [r11010] pym/portage/util.py: Bug #231382 - If the open() call in
	  getconfig() raises an unexpected IOError, write a message to
	  stderr showing the exact call that failed, including the path of
	  the file, in order to aid in debugging.

2008-07-10 04:41  zmedico

	* [r11009] pym/portage/__init__.py: Make digestcheck() skip the
	  "checking ebuild checksums" part when fetching in the background.

2008-07-10 03:40  zmedico

	* [r11008] pym/_emerge/__init__.py: * Fix
	  AsynchronousTask._wait_hook() to prevent potential recursive
	  calls triggered when calling exit listeners.
	  
	  * Make SequentialTaskQueue use exit listeners to trigger
	  scheduling as soon as a task exits. This makes it possible for
	  the queues to automatically schedule new tasks while scheduler
	  remains in it's poll() loop.

2008-07-10 01:24  zmedico

	* [r11007] pym/_emerge/__init__.py: * Handle errno.ECHILD and
	  errno.ESRCH from waitpid() and kill() calls. These errors
	  commonly occur when ^C is used to kill emerge.
	  
	  * Remove spawned pids from portage.process.spawned_pids
	  immediately in order to avoid a race condition for removing it.

2008-07-10 00:58  zmedico

	* [r11006] pym/_emerge/__init__.py: Fix
	  Scheduler._is_restart_necessary() to return False if the
	  replacement version of portage is the same exact version as the
	  currently running instance.

2008-07-09 23:53  zmedico

	* [r11005] pym/_emerge/__init__.py: Like in Binpkg, cancel or wait
	  for the prefetcher in EbuildBuild.

2008-07-09 23:20  zmedico

	* [r11004] pym/portage/__init__.py: Bug #231358 - Fix 'NameError:
	  global name 'p' is not defined' in getmaskingstatus() that's
	  triggered by a conditional in LICENSE.

2008-07-09 21:51  zmedico

	* [r11003] pym/_emerge/__init__.py: For parallel-fetch prefetchers,
	  pass fetchonly=1 into the EbuildFetcher constructor.

2008-07-09 21:39  zmedico

	* [r11002] pym/_emerge/__init__.py, pym/portage/__init__.py: Use
	  the EbuildFetcher class to implement async fetch for the
	  EbuildBuild class. When in background mode, fetch output is
	  logged to emerge-fetch.log. This solves a problem with calling
	  doebuild(returnpid=1) and then doebuild calling fetch()
	  synchronously. In that case, doebuild would return an int if
	  fetch() failed (including when running pkg_nofetch), which would
	  lead to a TypeError since doebuild(returnpid=1) is supposed to
	  return a list containing a spawned pid.

2008-07-09 12:33  zmedico

	* [r10999] pym/_emerge/__init__.py: * Unify the scheduler's "build"
	  and "extract" queues into a single "jobs" queue.
	  
	  * Add support for logging fetches to /var/log/emerge-fetch.log
	  when --jobs is enabled. Previously this log was only used for the
	  parallel-fetch feature but now it's also used for --jobs. The
	  scheduler's "prefetch" queue has been renamed to "fetch" since
	  it's not exclusively used for parallel-fetch anymore.
	  
	  * Pass the "background" parameter from Binpkg in to the
	  BinpkgFetcher instance, to send output to emerge-fetch.log
	  instead of stdout.

2008-07-09 12:03  zmedico

	* [r10998] pym/_emerge/__init__.py: Fix SubProcess._poll to handle
	  a missing pid gracefully.

2008-07-09 02:15  zmedico

	* [r10996] pym/_emerge/__init__.py: Fix Scheduler._choose_pkg() to
	  perform uninstallation actions (due to blockers) in the correct
	  order when building in parallel.

2008-07-09 01:46  zmedico

	* [r10995] pym/_emerge/__init__.py: Fix _prune_digraph() to
	  correctly distinguish "nomerge" nodes from "uninstall" nodes.

2008-07-08 23:42  zmedico

	* [r10994] pym/_emerge/__init__.py: * Fix _choose_pkg() to pop the
	  first node if there are no other jobs running. * Allow
	  _choose_pkg() to choose an uninstall node when it reaches the
	  front of the queue. TODO: fix order for uninstall operations. *
	  Fix _dependent_on_scheduled_merges() to handle direct circular
	  deps correctly.

2008-07-08 22:35  zmedico

	* [r10993] pym/_emerge/__init__.py: Make the "tight loop" assertion
	  trigger whenever there is no state change detected for a given
	  _schedule_main() call.

2008-07-08 22:28  zmedico

	* [r10992] pym/_emerge/__init__.py: In scheduler._schedule_main(),
	  only consider a poll() event to be a state change if it results
	  in a handler being unregistered.

2008-07-08 22:19  zmedico

	* [r10991] pym/_emerge/__init__.py: Fix
	  Scheduler._dependent_on_scheduled_merges() to properly
	  distinguish "nomerge" nodes from "uninstall" nodes.

2008-07-08 21:56  zmedico

	* [r10990] pym/_emerge/__init__.py: Remove redundant call to
	  _schedule_main().

2008-07-08 21:19  zmedico

	* [r10989] pym/_emerge/__init__.py: * Call self._wait() when
	  unregistering output handlers, in order to avoid triggering a
	  tight loop. Also fix Subprocess._wait() to only schedule when
	  self.registered is True.
	  
	  * Add an assertion inside Scheduler._schedule_main() to try and
	  detect tight loops like the one above.
	  
	  * Fix typo in Scheduler._merge_exit().

2008-07-08 17:44  zmedico

	* [r10988] pym/_emerge/__init__.py: Derive PackageMerge from
	  AsynchronousTask instead of CompositeTask since CompositeTask is
	  designed for self._current_task to be set.

2008-07-08 17:26  zmedico

	* [r10987] pym/_emerge/__init__.py: Raise an AssertionError in
	  CompositeTask._wait() if it's detected that self._current_task
	  hasn't been properly updated after calling wait on it.

2008-07-08 16:59  zmedico

	* [r10986] pym/_emerge/__init__.py: Fix infinite loop in
	  CompositeTask._wait().

2008-07-08 10:49  zmedico

	* [r10985] pym/_emerge/__init__.py: Fix ValueError triggered when
	  Scheduler._choose_pkg() doesn't find a package and returns None.

2008-07-08 10:28  zmedico

	* [r10984] pym/_emerge/__init__.py: Use a normal list instead of a
	  deque for Scheduler._pkg_queue since deque doesn't have a
	  remove() method until python-2.5.

2008-07-08 09:50  zmedico

	* [r10983] pym/_emerge/__init__.py: Implement parallel build
	  support by adding new --jobs and --load-average options that are
	  analogous to the corresponding `make` options. Input and output
	  handling still need work to make it look better and act more
	  friendly for things like interactive ebuilds that require input.

2008-07-08 05:49  zmedico

	* [r10982] pym/_emerge/__init__.py: * Add background support to the
	  SpawProcess class. * Make Binpkg pass the current background
	  setting into subtasks.

2008-07-08 05:15  zmedico

	* [r10981] pym/_emerge/__init__.py: Add AsynchronousTask.background
	  attribute and add support for it to the EbuildPhase class.

2008-07-08 01:01  zmedico

	* [r10980] pym/_emerge/__init__.py: Also add "background"
	  attributes to the EbuildBuild and Binpkg classes.

2008-07-08 00:53  zmedico

	* [r10979] pym/_emerge/__init__.py: Add a MergeListItem.background
	  attribute for putting a task in the background when max_jobs > 1.

2008-07-08 00:39  zmedico

	* [r10978] pym/_emerge/__init__.py: Add a missing check in
	  Scheduler._main_loop() to ensure that max_jobs isn't exceeded.

2008-07-08 00:25  zmedico

	* [r10977] bin/repoman: Use plain sequential search for the
	  SRC_URI.mirror check since the regex approach is actually much
	  slower.

2008-07-07 23:32  zmedico

	* [r10976] pym/_emerge/__init__.py: Add a Scheduler._digraph
	  attribute for use in parallel build scheduling.

2008-07-07 22:55  zmedico

	* [r10975] pym/_emerge/__init__.py: Rename SubProcess.reg_id to
	  _reg_id since it no longer needs to be exposed.

2008-07-07 22:41  zmedico

	* [r10974] pym/_emerge/__init__.py: * Add new
	  CompositeTask._default_final_exit() method and use it as the new
	  generic task exit callback.
	  
	  * Remove erroneous self.wait() calls inside
	  MergeListItem.start().

2008-07-07 22:07  zmedico

	* [r10973] bin/repoman, man/repoman.1: Add a new "SRC_URI.mirror"
	  check which checks to if a uri listed in
	  profiles/thirdpartymirrors is found in SRC_URI. Thanks to
	  Betelgeuse for the initial patch which has now been optimized
	  with a regex.

2008-07-07 12:04  zmedico

	* [r10971] pym/_emerge/__init__.py: Move the "registered" attribute
	  to the SubProcess class too.

2008-07-07 11:45  zmedico

	* [r10970] pym/_emerge/__init__.py: Make SubProcess._wait() call
	  scheduler.schedule(self.reg_id) so it's encapsulated and callers
	  don't have to know about it.

2008-07-07 11:08  genone

	* [r10969] TODO: remove TODO list as it's not maintained anyway

2008-07-07 05:35  zmedico

	* [r10966] pym/_emerge/__init__.py: * Implement
	  CompositeTask._poll(). * Make AsynchronousTask classes call
	  self.wait() to notify exit listeners. * Rewrite
	  Scheduler._main_loop() to bring it closer to allowing parallel
	  build scheduling.

2008-07-07 03:12  zmedico

	* [r10965] pym/_emerge/__init__.py: Fix broken code in
	  AsynchronousTask.poll().

2008-07-07 02:18  zmedico

	* [r10964] pym/_emerge/__init__.py: Fix
	  EbuildPhase._set_returncode() so that it correctly updates the
	  returncode attrbute instead of just a local variable.

2008-07-07 02:11  zmedico

	* [r10963] pym/_emerge/__init__.py: Fix typo in Binpkg.start()
	  which prevents --genbinpkg prefetcher sync from working properly
	  in some cases.

2008-07-06 18:45  zmedico

	* [r10962] pym/_emerge/__init__.py: * Implement
	  MergeListItem._poll() and _wait(). * Fix BinpkgVerifier.start()
	  to call wait() since it's not asynchronous.

2008-07-06 15:17  zmedico

	* [r10961] pym/_emerge/__init__.py: Add a PackageMerge class to
	  serve as an asynchronous interface to package merges. For now it
	  executes synchronously inside the start() method.

2008-07-06 14:32  zmedico

	* [r10960] pym/_emerge/__init__.py: Add async support to
	  MergeListItem.

2008-07-06 13:07  zmedico

	* [r10959] pym/_emerge/__init__.py: Add async support to the Binpkg
	  class.

2008-07-06 09:17  zmedico

	* [r10958] pym/_emerge/__init__.py: Make BinpkgFetcher send output
	  directly to stdout when appropriate, so that wget's progress bar
	  works normally.

2008-07-06 08:22  zmedico

	* [r10957] pym/_emerge/__init__.py: Fix parent class constructor
	  call in the BinpkgFetcher constructor.

2008-07-06 08:16  zmedico

	* [r10956] pym/_emerge/__init__.py: Make AsynchronousTask
	  subclasses override _wait() and _poll() so that calls to public
	  methods can be wrapped for implementing hooks such as exit
	  listener notification.

2008-07-06 07:09  zmedico

	* [r10955] pym/_emerge/__init__.py: Fix --getbinpkg to inject
	  downloaded packages into the local bintree.

2008-07-06 06:48  zmedico

	* [r10954] pym/_emerge/__init__.py: * Fix broke return code
	  handling from previous commit, in MergeListItem.execute(). * Fix
	  TaskSequence._task_exit_handler() so it won't call final_exit()
	  if _default_exit() has already set self._current_task to None.

2008-07-06 06:28  zmedico

	* [r10953] pym/_emerge/__init__.py: Add async support to
	  EbuildBuild, and an synchronous install() method.

2008-07-06 03:44  zmedico

	* [r10952] pym/_emerge/__init__.py: Split out a
	  CompositeTask._start_task() for subclasses to use as a generic
	  way to start a task.

2008-07-06 01:51  zmedico

	* [r10951] pym/_emerge/__init__.py: Add CompositeTask._final_exit()
	  method and use it to fix breakage from the previous commit.

2008-07-06 01:24  zmedico

	* [r10950] pym/_emerge/__init__.py: Split out a reusable
	  CompositeTask._default_exit() method that subclasses can use as a
	  generic task exit callback.

2008-07-06 00:44  zmedico

	* [r10949] pym/_emerge/__init__.py: Add a
	  CompositeTask._assert_current() method that asynchronous
	  callbacks can use detect possible bugs.

2008-07-06 00:01  zmedico

	* [r10948] pym/_emerge/__init__.py: Fix typo in xterm titles total
	  package count which causes it to show the current package
	  instead. Thanks to Arfrever for this patch.

2008-07-05 23:17  zmedico

	* [r10947] pym/_emerge/__init__.py: * Fix AsynchronousTask.poll()
	  to call _wait_hook() when necessary. * Use the default poll() and
	  cancel() implementations for BinpkgVerifier.

2008-07-05 14:02  zmedico

	* [r10946] pym/_emerge/__init__.py: Call _wait_hook() from poll()
	  if the wait call occurs there.

2008-07-05 13:44  zmedico

	* [r10945] pym/_emerge/__init__.py: Correct TaskSequence docstring
	  to refer to the addExitListener() method.

2008-07-05 13:34  zmedico

	* [r10944] bin/archive-conf: Thanks to Ali Polatel <hawking@g.o>
	  for this patch to fix broken indentation.

2008-07-05 13:19  zmedico

	* [r10943] pym/_emerge/__init__.py: Split out common code from
	  CompositeTask and EbuildExecuter into a new CompositeTask class
	  and rename the old CompositeTask class to TaskSequence.

2008-07-05 13:06  zmedico

	* [r10942] pym/_emerge/__init__.py: Make EbuildExecuter inherit
	  from AsynchronousTask.

2008-07-05 12:36  zmedico

	* [r10941] pym/_emerge/__init__.py: Fix CompositeTask.cancel() so
	  that it's safe to call when there is no running task.

2008-07-05 12:21  zmedico

	* [r10940] pym/_emerge/__init__.py: Add a new CompositeTask class
	  which can be used to combine separate AsynchronousTask instances
	  into a single instance. The CompositeTask instance used task exit
	  listeners as a means to (asynchronously) trigger progression from
	  one subtask to the next. This technique is used to group together
	  all the ebuild phases executed by EbuildExecuter, and should be
	  useful for grouping many more sets of tasks into similar
	  composite tasks.

2008-07-05 08:52  zmedico

	* [r10939] pym/_emerge/__init__.py: Add async support to
	  EbuildBinpkg by making it inherit from EbuildPhase.

2008-07-05 08:08  zmedico

	* [r10938] pym/_emerge/__init__.py, pym/portage/__init__.py: Use
	  the EbuildPhase class to execute the "clean" phase
	  asynchronously.

2008-07-05 07:36  zmedico

	* [r10937] pym/_emerge/__init__.py: Remove unused variable.

2008-07-05 07:34  zmedico

	* [r10936] pym/_emerge/__init__.py: Rename BinpkgFetcherAsync class
	  to BinpkgFetcher and use it to replace the older class with the
	  same name

2008-07-05 07:18  zmedico

	* [r10935] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/bintree.py: * Implement a new
	  binarytree.digestCheck() method and use it to check digests for
	  binary packages.
	  
	  * Split out a AsynchronousTask base class from SubProcess.
	  
	  * Derive a new BinpkgVerifier class from AsynchronousTask. Even
	  though this is not really asynchronous yet, it can fake the
	  interface by doing everything in the start() method.

2008-07-04 22:49  zmedico

	* [r10934] pym/_emerge/__init__.py: Make Binpkg inherit from
	  EbuildBuildDir since it's going to hold the build dir lock while
	  it runs asynchronously.

2008-07-04 22:39  zmedico

	* [r10933] pym/_emerge/__init__.py: Make EbuildBuild inherit from
	  EbuildBuildDir since it's going to hold the build dir lock while
	  it runs asynchronously.

2008-07-04 22:19  zmedico

	* [r10932] pym/_emerge/__init__.py: Convert EbuildFetcher to an
	  asynchronous interface: * Rename EbuildFetcher to
	  EbuildFetchPretend. * Rename EbuildFetcherAsync to EbuildFetcher.

2008-07-04 21:46  zmedico

	* [r10931] pym/_emerge/__init__.py: TODO: For parallel scheduling,
	  everything in MergeListItem needs asynchronous execution support
	  (start, poll, and wait methods).

2008-07-04 21:27  zmedico

	* [r10930] pym/_emerge/__init__.py: Add a PollConstants class to
	  serve as a layer of indirection for accessing select.POLL*
	  attributes which do not exist on interix. Thanks to grobian for
	  reporting.

2008-07-04 20:57  zmedico

	* [r10929] bin/portageq: Bug #230525 - Work around ObjectProxy
	  breakage in `portageq vdb_path`.

2008-07-04 13:58  zmedico

	* [r10928] pym/_emerge/__init__.py: In --keep-going mode, display
	  the new merge list when appropriate.

2008-07-04 13:20  zmedico

	* [r10927] pym/_emerge/__init__.py: Split a _main_loop() method out
	  of Scheduler._merge().

2008-07-04 11:12  zmedico

	* [r10926] pym/_emerge/__init__.py: Split out a
	  Scheduler._execute_pkg() method from _merge().

2008-07-04 10:48  zmedico

	* [r10925] pym/_emerge/__init__.py: Rename PollSelectFallback to
	  PollSelectAdapter.

2008-07-04 10:45  zmedico

	* [r10924] pym/_emerge/__init__.py: * Split out a MergeListItem
	  class from Scheduler._execute_task(). * Remove
	  Scheduler._execute_task() and migrate some of it's code to
	  Scheduler._merge(). * Fix _world_atom() so that it doesn't add an
	  atom in --oneshot mode or similar.

2008-07-04 10:15  zmedico

	* [r10923] pym/portage/dbapi/vartree.py: Fix broken references to
	  portage.exception.

2008-07-04 07:09  zmedico

	* [r10922] pym/_emerge/__init__.py: Create a Scheduler._task_queues
	  attribute which has "build" and "prefetch" queues. The build
	  queue is currently unused and the prefetch queue is used for
	  parallel fetch.

2008-07-04 06:15  zmedico

	* [r10921] pym/_emerge/__init__.py: Change the way the way things
	  that have to call the scheduler interact with it:
	  
	  * Return a unique integer id from scheduler.register(), to be
	  passed back into other scheduler methods.
	  
	  * Control handler unregistration with the handler's return value,
	  like some other frameworks do for similar callbacks.
	  
	  * Add a SpawnProcess.reg_id attribute to store the id returned
	  from scheduler.register()
	  
	  * Pass the SpawnProcess.reg_id value into scheduler.schedule()
	  calls, so the scheduler knows to return when the callback
	  referred to by the given id unregisters itself by returning
	  False.

2008-07-04 03:03  zmedico

	* [r10920] pym/_emerge/__init__.py: When logging is disabled, make
	  the EbuildPhase create a dummy pipe to provide a file descriptor
	  that the scheduler can use to monitor the process from inside a
	  poll() loop.

2008-07-04 00:46  zmedico

	* [r10919] bin/portageq: Import portage before trying to access
	  portage.exception for exception handling.

2008-07-04 00:11  zmedico

	* [r10918] pym/_emerge/__init__.py: * Split out a
	  SequentialTaskQueue class to encapsulate the parallel-fetch
	  prefetcher queue.
	  
	  * Fix broken return value status handling in Scheduler.merge().

2008-07-03 22:48  zmedico

	* [r10917] pym/portage/__init__.py, pym/portage/exception.py,
	  pym/portage/locks.py: Bug #230469 - Implement non-blocking
	  distlocks for --fetchonly. This adds a "flags" keyword parameter
	  to the portage.locks.lock() function. Default is flags=0. If
	  flags contains os.O_NONBLOCK then lock() will raise
	  portage.exception.TryAgain instead of blocking. This new flags
	  parameter is used to implement non-blocking distlocks in fetch()
	  when fetchonly mode is enabled.

2008-07-03 21:53  zmedico

	* [r10916] pym/portage/dbapi/vartree.py: Fix typo.

2008-07-03 21:52  zmedico

	* [r10915] pym/portage/dbapi/vartree.py: Bug #230579 - Handle
	  EOFError raised from cPickle.load() in
	  PreservedLibsRegistry.load().

2008-07-03 12:04  zmedico

	* [r10913] pym/_emerge/__init__.py: Split out a
	  _create_prefetcher() method from _add_prefetchers().

2008-07-03 11:42  zmedico

	* [r10912] pym/_emerge/__init__.py: Remove old unused vars inside
	  _execute_task() and fix code not to use the old vars.

2008-07-03 11:17  zmedico

	* [r10911] pym/_emerge/__init__.py: Split logging and world atom
	  code out of Scheduler._execute() task, and trigger it inside
	  EbuildPhase.execute().

2008-07-03 09:30  zmedico

	* [r10910] pym/_emerge/__init__.py: Clean up Scheduler.merge() and
	  split out a _save_resume_list() method.

2008-07-03 09:05  zmedico

	* [r10909] bin/repoman, pym/_emerge/__init__.py,
	  pym/portage/__init__.py: Add a portage._disable_legacy_globals()
	  function. This deletes the ObjectProxy instances that are used
	  for lazy initialization of legacy global variables. The purpose
	  of deleting them is to prevent new code from referencing these
	  deprecated variables. This allows the removal of the
	  PORTAGE_LEGACY_GLOBALS variable which used to serve the same
	  purpose.

2008-07-03 08:44  zmedico

	* [r10908] pym/_emerge/__init__.py: Split out a
	  _restart_if_necessary() method from Scheduler._merge().

2008-07-03 08:17  zmedico

	* [r10907] pym/_emerge/__init__.py: Remove unused BinpkgMerge
	  class.

2008-07-03 07:38  zmedico

	* [r10906] pym/_emerge/__init__.py: Remove the
	  Scheduler._post_merge() method, and create a new
	  _show_failed_fetches() method.

2008-07-03 07:04  zmedico

	* [r10905] pym/_emerge/__init__.py: Split out a new
	  _add_prefetchers() method from Scheduler._merge().

2008-07-03 06:39  zmedico

	* [r10903] pym/_emerge/__init__.py: Split out a new
	  _check_manifests() method from Scheduler._merge() since this
	  method is not useful for parallel scheduling and any useful code
	  needs to be relocated.

2008-07-03 06:06  zmedico

	* [r10902] pym/_emerge/__init__.py, pym/portage/__init__.py:
	  Implement asynchronous binary package extraction, so that the
	  scheduler can run while a package is extracting in the
	  background.

2008-07-03 04:24  zmedico

	* [r10901] pym/_emerge/__init__.py: Make BinpkgFetcherAsync inherit
	  from SpawnProcess.

2008-07-03 04:10  zmedico

	* [r10900] pym/_emerge/__init__.py: Add missing
	  BinpkgFetcherAsync.registered attribute.

2008-07-03 03:49  zmedico

	* [r10899] pym/_emerge/__init__.py: Move post ebuild phase code
	  (originally from spawnebuild) from EbuildExecuter.execute() to
	  EbuildPhase._set_returncode().

2008-07-03 03:39  zmedico

	* [r10898] pym/_emerge/__init__.py: Split out a SpawnProcess base
	  class out of EbuildFetcherAsync.

2008-07-03 03:09  zmedico

	* [r10897] pym/portage/output.py: Use stdout.write() instead of
	  "print", for py3k compat.

2008-07-02 22:44  zmedico

	* [r10896] pym/portage_compat_namespace.py: Fix broken except
	  statement. Thanks to hawking.

2008-07-02 12:04  zmedico

	* [r10895] pym/_emerge/__init__.py: Fix EbuildBuildDir so that it
	  works properly with binary packages.

2008-07-02 11:33  zmedico

	* [r10894] pym/_emerge/__init__.py: Handle missing select.poll on
	  interix by using select() to emulate a poll object.

2008-07-02 08:21  zmedico

	* [r10892] pym/_emerge/__init__.py, pym/portage/__init__.py: Remove
	  $PORTAGE_BUILDDIR locking from portage.pkgmerge() and use an
	  instance of EbuildBuildDir instead.

2008-07-02 08:07  zmedico

	* [r10891] pym/_emerge/__init__.py: Split out a SubProcess base
	  class for EbuildFetcherAsync, EbuildPhase, and
	  BinpkgFetcherAsync.

2008-07-02 07:50  zmedico

	* [r10890] DEVELOPING, pym/portage/__init__.py,
	  pym/portage/checksum.py, pym/portage/dbapi/porttree.py,
	  pym/portage/dep.py, pym/portage/getbinpkg.py, pym/portage/gpg.py,
	  pym/portage/locks.py: Py3k compatibility patch by Ali Polatel
	  <hawking@g.o>. Don't use the format raise Exception, "string"

2008-07-02 06:45  zmedico

	* [r10889] pym/_emerge/__init__.py: Fix EbuildBuild.execute() to
	  return os.EX_OK on success.

2008-07-02 02:09  zmedico

	* [r10888] pym/_emerge/__init__.py: Fix inverted buildpkgonly
	  logic.

2008-07-02 02:01  zmedico

	* [r10887] pym/_emerge/__init__.py: Split out a Binpkg class from
	  code inside Scheduler._execute_task().

2008-07-02 01:15  zmedico

	* [r10886] pym/_emerge/__init__.py: Remove debugging code from the
	  previous commit.

2008-07-02 01:13  zmedico

	* [r10885] pym/_emerge/__init__.py: * Rename existing EbuildBuild
	  class to EbuildExecuter. * Split more code out of
	  Scheduler._execute_task() and use it to make a more comprehensive
	  EbuildBuild class.

2008-07-01 12:55  zmedico

	* [r10875] pym/portage/__init__.py, pym/portage/cache/mappings.py,
	  pym/portage/cache/template.py: Py3k compatibility patch #6 by Ali
	  Polatel <hawking@g.o>. Replace dict.has_key() calls with "in" and
	  "not in" operators.

2008-07-01 12:53  zmedico

	* [r10874] bin/dispatch-conf, bin/dohtml, bin/glsa-check,
	  bin/repoman: Py3k compatibility patch #5 by Ali Polatel
	  <hawking@g.o>. Replace dict.has_key() calls with "in" and "not
	  in" operators.

2008-07-01 12:50  zmedico

	* [r10873] pym/portage/elog/__init__.py,
	  pym/portage/elog/filtering.py, pym/portage/elog/messages.py,
	  pym/portage/elog/mod_mail.py,
	  pym/portage/elog/mod_mail_summary.py: Py3k compatibility patch #4
	  by Ali Polatel <hawking@g.o>. Replace dict.has_key() calls with
	  "in" and "not in" operators.

2008-07-01 12:48  zmedico

	* [r10872] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/vartree.py,
	  pym/portage/dbapi/virtual.py: Py3k compatibility patch #3 by Ali
	  Polatel <hawking@g.o>. Replace dict.has_key() calls with "in" and
	  "not in" operators.

2008-07-01 12:42  zmedico

	* [r10871] pym/portage/cache/metadata_overlay.py,
	  pym/portage/cache/sql_template.py: Py3k compatibility patch #2 by
	  Ali Polatel <hawking@g.o>. Replace dict.has_key() calls with "in"
	  and "not in" operators.

2008-07-01 12:38  zmedico

	* [r10870] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/cvstree.py, pym/portage/dispatch_conf.py,
	  pym/portage/getbinpkg.py, pym/portage/glsa.py,
	  pym/portage/locks.py, pym/portage/manifest.py,
	  pym/portage/util.py: Py3k compatibility patch #1 by Ali Polatel
	  <hawking@g.o>. Replace dict.has_key() calls with "in" and "not
	  in" operators..

2008-07-01 10:11  zmedico

	* [r10869] pym/_emerge/__init__.py, pym/portage/cache/mappings.py:
	  Add a "prefix" keyword parameter to slot_dict_class() which
	  controls the prefix used when mapping attribute names from keys.
	  Use this to change the syntax from files["foo"] to files.foo
	  (it's fewer characters to look at).

2008-07-01 09:47  zmedico

	* [r10868] pym/_emerge/__init__.py: Add a new BinpkgFetcherAsync
	  class and use it to implement parellel-fetch for --getbinpkg.

2008-07-01 08:43  zmedico

	* [r10867] pym/portage/dbapi/porttree.py: Never do realpath() on an
	  empty string for portdbapi.porttree_root since otherwise it can
	  evaluate to $CWD which leads to undesireable results.

2008-07-01 08:29  zmedico

	* [r10866] pym/portage/dbapi/vartree.py: Also avoid sandbox
	  violations in PreservedLibsRegistry.store(), for running portage
	  inside ebuild phases.

2008-07-01 08:24  zmedico

	* [r10865] pym/portage/dbapi/vartree.py: Handle potential errors in
	  PreservedLibsRegistry.store() now that it can be called via
	  pruneNonExisting(), due to things such as portageq calls where
	  the user may not have write permission to the registry.

2008-07-01 08:10  zmedico

	* [r10864] pym/portage/dbapi/vartree.py: Split out a
	  write_contents() function and a vardbapi.removeFromContents()
	  function. This is refactoring of code from the blocker file
	  collision contents handling in dblink.treewalk(). Also, there is
	  a new dblink._match_contents() method derived from isowner(). It
	  returns the exact path from the contents file that matches the
	  given path, regardless of path differences due to things such as
	  symlinks.

2008-07-01 05:22  zmedico

	* [r10862] pym/portage/dbapi/vartree.py: add a call to
	  pruneNonExisting() at the end of
	  dbapi.vartree.PreservedLibsRegistry.__init__()

2008-06-30 22:20  zmedico

	* [r10861] bin/repoman: Fix typo.

2008-06-30 22:18  zmedico

	* [r10860] bin/repoman: Bug #230249 - Disable the "ebuild.notadded"
	  check when not in commit mode and running `svn list` and `svn
	  status` calls in every package dir will be too expensive.

2008-06-30 21:54  zmedico

	* [r10859] bin/repoman: Bug #230245 - Use os.path.basename() on
	  paths returned from `svn list` and `svn status`.

2008-06-30 21:51  zmedico

	* [r10858] bin/repoman: Bug #230245 - Pass the correct directory
	  when calling `snv list` and `svn status` since repoman supports
	  category-level and repo-level commits.

2008-06-30 21:13  zmedico

	* [r10857] man/portage.5: Add "(no inline comments)" to qualify
	  "comments begin with #" statements.

2008-06-30 12:46  zmedico

	* [r10856] pym/_emerge/__init__.py: Clear the self._task_queue to
	  avoid duplicate parallel-fetch tasks in --keep-going mode.

2008-06-30 12:08  zmedico

	* [r10855] pym/_emerge/__init__.py, pym/portage/__init__.py:
	  Reimplement parallel-fetch by spawning the `ebuild fetch` command
	  for each ebuild. The benefit of using this approach is that it
	  can be integrated together with parallel build scheduling that's
	  planned. Parallel-fetch support for binhost is not implemented
	  yet, though it worked previously.

2008-06-30 03:18  zmedico

	* [r10854] pym/portage/checksum.py: Avoid python-2.6 deprecation
	  warnings for md5 and sha modules by trying to import hashlib
	  first and then falling back to the deprecated modules if
	  necessary. Thanks to ColdWind for reporting.

2008-06-30 02:34  zmedico

	* [r10853] pym/_emerge/__init__.py: Rename the MergeTask class to
	  Scheduler.

2008-06-30 00:18  zmedico

	* [r10852] pym/portage/__init__.py: * Tweak conditionals in
	  doebuild() to fix emerge --fetch breakage reported by Arfrever.
	  
	  * Change a couple EMERGE_FROM conditionals to use the "returnpid"
	  parameter instead.

2008-06-29 17:27  zmedico

	* [r10851] pym/_emerge/__init__.py: Centralize select.poll() event
	  handling in MergeTask._schedule(). This will allow the parent
	  process to handle output of multiple child processes running in
	  parllel.

2008-06-29 15:08  zmedico

	* [r10850] pym/portage/__init__.py: Add EMERGE_FROM to the
	  blacklisted vars in the config constructor.

2008-06-29 14:51  zmedico

	* [r10849] pym/_emerge/__init__.py, pym/portage/__init__.py: * Add
	  "fd_pipes" and "returnpid" parameters to doebuild() and pass
	  these into spawn calls, enabling ebuild processes to execute
	  asynchronously.
	  
	  * Add a EbuildPhase class that's derived from the pty logging
	  code inside portage.spawn().
	  
	  * Integrate post-phase code from spawnebuild() into
	  EbuildBuild.execute() so that it still gets called even though
	  doebuild() calls execute asynchronously.

2008-06-29 09:38  zmedico

	* [r10848] pym/_emerge/__init__.py, pym/portage/__init__.py: In
	  EbuildBuild.execute(), call doebuild() separately for each phase
	  since it will be easier to add asynchronous support to doebuild()
	  if it's called this way.

2008-06-29 08:50  zmedico

	* [r10847] pym/portage/__init__.py: Split out a _check_build_log()
	  function from spawnebuild().

2008-06-29 08:23  zmedico

	* [r10846] pym/portage/__init__.py: Split out a
	  _post_src_install_uid_fix() function from spawnebuild().

2008-06-29 08:09  zmedico

	* [r10845] pym/portage/__init__.py: Split out a _spawn_misc_sh()
	  function from spawnebuild().

2008-06-29 06:46  zmedico

	* [r10844] pym/_emerge/__init__.py: Handle invalid atoms inside
	  depgraph._add_pkg_deps(), to avoid an unhandled InvalidAtom
	  exception from dep_expand() when matching against the vardb.

2008-06-29 04:27  zmedico

	* [r10843] pym/_emerge/__init__.py, pym/portage/__init__.py: Move
	  clean code, from the previous commit, from doebuild() to
	  EbuildBuild.execute() where it fits better.

2008-06-29 03:13  zmedico

	* [r10842] pym/_emerge/__init__.py, pym/portage/__init__.py:
	  Instead of calling the ebuild "clean" phase in MergeTask.merge(),
	  move it inside doebuild() where it can be tied into the
	  actionmap_deps framework.

2008-06-29 01:43  zmedico

	* [r10841] pym/_emerge/__init__.py: Split out an EbuildBuildDir
	  class to handle locking of the build dir.

2008-06-28 23:54  zmedico

	* [r10840] pym/portage/__init__.py: Handle re.error exceptions
	  raised from re.compile() when ACCEPT_CHOSTS is invalid. Thanks to
	  solar for reporting.

2008-06-28 23:32  zmedico

	* [r10839] pym/_emerge/__init__.py: Make EbuildBinpkg delegate
	  everything up to src_install() to the EbuildBuild class.

2008-06-28 22:38  zmedico

	* [r10838] pym/_emerge/__init__.py: * Remove unused
	  EbuildBuild.pretend attribute. * Add TODO not about asynchronous
	  execution.

2008-06-28 22:14  zmedico

	* [r10837] bin/portageq: Bug #229859 - Also add atom validation to
	  match().

2008-06-28 21:58  zmedico

	* [r10836] bin/ebuild.sh: Copy portageq exit code validation from
	  has_version() to best_version().

2008-06-28 21:54  zmedico

	* [r10835] bin/portageq: Bug #229859 - Make portageq check atom
	  validity when has_version() and best_version() are called from
	  inside the ebuild environment.

2008-06-28 09:16  zmedico

	* [r10834] pym/_emerge/__init__.py: Use the EbuildMerge class
	  instead of portage.merge().

2008-06-28 09:08  zmedico

	* [r10833] pym/_emerge/__init__.py: Split out a PackageUninstall
	  class.

2008-06-28 07:00  zmedico

	* [r10832] pym/_emerge/__init__.py: * Split out an EbuildBinpkg
	  class. * Remove unused EbuildBuild.ldpath_mtimes attribute.

2008-06-28 06:10  zmedico

	* [r10831] pym/_emerge/__init__.py: Split out an EbuildBuild class.

2008-06-28 06:06  zmedico

	* [r10830] pym/_emerge/__init__.py: Fix typo.

2008-06-28 05:24  zmedico

	* [r10829] pym/_emerge/__init__.py: Split out an EbuildMerge class.

2008-06-28 05:04  zmedico

	* [r10828] pym/_emerge/__init__.py: * Split out a BinpkgMerge
	  class. * Fix typos in _get_hash_key() methods.

2008-06-28 04:20  zmedico

	* [r10827] pym/_emerge/__init__.py: Split out a BinpkgFetcher
	  class.

2008-06-28 02:53  zmedico

	* [r10826] pym/_emerge/__init__.py: Split out an EbuildFetcher
	  class.

2008-06-28 01:45  zmedico

	* [r10825] pym/_emerge/__init__.py: Split the MergeTask._merge()
	  method into 3 smaller methods. The new methods are
	  _execute_task() and _post_merge().

2008-06-28 01:01  zmedico

	* [r10824] pym/_emerge/__init__.py: Bug #226307 - Copy come code
	  from depgraph._iter_atoms_for_pkg() that was used to solve bug
	  #218854, and use it inside unmerge() when matching sets to
	  packages.

2008-06-27 23:42  zmedico

	* [r10823] pym/_emerge/__init__.py: Fix depgraph.break_refs() to
	  work with DependencyArg instances (or anything else that may have
	  a "root_config" attribute).

2008-06-27 23:34  zmedico

	* [r10822] pym/_emerge/__init__.py: Remove the
	  MergeTask._blocker_db attribute since it can just be a local
	  variable.

2008-06-27 23:17  zmedico

	* [r10821] pym/_emerge/__init__.py: Break references from Package
	  instances in the digraph before passing it into the MergeTask
	  constructor.

2008-06-27 22:53  zmedico

	* [r10820] pym/_emerge/__init__.py: Pass the digraph into the
	  MergeTask constructor. It's currently unused but it will be
	  useful for parallel scheduling.

2008-06-27 22:44  zmedico

	* [r10819] NEWS: Fix typo.

2008-06-27 22:26  zmedico

	* [r10818] NEWS, man/emerge.1, pym/_emerge/help.py: Add
	  documentation for the new --keep-going option.

2008-06-27 20:58  zmedico

	* [r10817] pym/_emerge/__init__.py: Generate and log eerror
	  messages for any packages that need to be dropped due to
	  unsatisfied dependencies when --keep-going is enabled.

2008-06-27 08:04  zmedico

	* [r10812] pym/_emerge/__init__.py: Call clear_caches() after the
	  depgraph is out of scope, in MergeTask.merge().

2008-06-27 07:49  zmedico

	* [r10811] pym/_emerge/__init__.py: Bug #12768 - Add a --keep-going
	  option. This uses the same resume_depgraph() function that's
	  called for emerge --resume operations. Given the remaining tasks,
	  depedencies are recalculated and any tasks with unsatisfied
	  dependencies are automatically dropped.

2008-06-27 06:44  zmedico

	* [r10810] pym/portage/util.py: Use bool() to simplify
	  ObjectProxy.__nonzero__().

2008-06-27 04:00  zmedico

	* [r10809] pym/_emerge/__init__.py: Split the --skipfirst code into
	  a resume_depgraph() function that will be useful for implementing
	  a --keep-going option (bug #12768).

2008-06-26 22:05  zmedico

	* [r10808] cnf/sets.conf: For brevity, and consistency with
	  pkgcore, rename "all-installed" to just "installed". Thanks to
	  ferringb for the suggestion.

2008-06-26 21:36  zmedico

	* [r10807] bin/repoman: Call use_reduce() with matchall=1 when
	  checking depstrings. Otherwise it's possible for invalid deps to
	  be ignored. Thanks to grobian for reporting.

2008-06-26 21:16  zmedico

	* [r10806] pym/portage/dbapi/bintree.py: Add "PATH" to the set of
	  allowed pacakge metadata keys for the PackageIndex.

2008-06-26 19:34  zmedico

	* [r10805] pym/portage/output.py: Fix the PermissionDenied message
	  for color.map.

2008-06-26 19:28  zmedico

	* [r10804] bin/portageq: * Remove PORTAGE_LEGACY_GLOBALS hack for
	  portage import since late initialization of portage.settings (via
	  ObjectProxy) allows us to rely on being able to access the
	  portage.exception namespace before portage.settings is
	  initialized.
	  
	  * Use portage.settings["ROOT"] instead of portage.root to avoid
	  potential ObjectProxy compatibility issues.

2008-06-26 18:49  zmedico

	* [r10803] pym/portage/__init__.py: Use settings["ROOT"] at the
	  beginning of env_update() to avoid breakage due to "root" being
	  an ObjectProxy instance.

2008-06-26 18:24  zmedico

	* [r10802] pym/portage/dbapi/__init__.py: Handle KeyError from
	  aux_get() inside dbapi._iter_match_slot() and _iter_match_use().
	  Thanks to grobian for reporting.

2008-06-26 17:11  genone

	* [r10801] cnf/sets.conf: change default name of EverythingSet to
	  @all-installed (bug #229467)

2008-06-26 06:43  zmedico

	* [r10800] pym/portage/__init__.py: Also use a separate proxy type
	  for portage.mtimedb since it's independent from the portdb and
	  settings.

2008-06-26 06:01  zmedico

	* [r10799] pym/portage/__init__.py: Use a separate proxy type to
	  trigger portage.portdb initialization separately from the rest of
	  the legacy global variables. This can be useful since sometimes
	  the other variables are needed while the portdb is not.

2008-06-26 05:28  zmedico

	* [r10798] pym/portage/__init__.py, pym/portage/util.py: Implement
	  lazy initialization of global "portdb", "settings" and other
	  variables that pollute the portage module. This works by
	  initializing the global variables with dummy "proxy" objects that
	  serve as a means to trigger lazy initialization. As soon as the
	  first attribute access or method call occurs on one of the proxy
	  objects, it causes all the proxy objects to be replaced with the
	  real ones.
	  
	  It's possible for an unsupported attribute access or method call
	  on a proxy object to trigger an error, leading to breakage.
	  However, hopefully these such corner cases will negligible (only
	  time will tell).

2008-06-26 00:49  zmedico

	* [r10797] pym/portage/cache/mappings.py,
	  pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py: Make
	  PackageIndex use SlotDict for package metadata storage. The set
	  of allowed keys is passed into the PackageIndex constructor
	  (normal dict instances will be used if the set of keys is not
	  passed in for some reason). A SlotDict.allowed_keys attribute now
	  provides access to a frozenset of allowed keys.

2008-06-25 23:10  zmedico

	* [r10796] pym/portage/dbapi/bintree.py: Use SlotDict where
	  appropriate in binarytree._populate().

2008-06-25 22:54  zmedico

	* [r10795] pym/portage/cache/mappings.py: Fix typo.

2008-06-25 22:49  zmedico

	* [r10794] pym/portage/cache/mappings.py: Add docstring to
	  slot_dict_class().

2008-06-25 22:39  zmedico

	* [r10793] pym/portage/cache/mappings.py: Fix typo.

2008-06-25 22:39  zmedico

	* [r10792] pym/portage/cache/mappings.py: Fix KeyError constructor
	  style.

2008-06-25 22:37  zmedico

	* [r10791] pym/portage/cache/mappings.py: Fix indentation.

2008-06-25 22:36  zmedico

	* [r10790] pym/_emerge/__init__.py, pym/portage/cache/mappings.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/porttree.py: Add
	  a generic portage.cache.mappings.slot_dict_class() function which
	  generates mapping classes that behave similar to a dict but store
	  values as object attributes that are allocated via __slots__.
	  Instances of these objects have a smaller memory footprint than a
	  normal dict object. These classes are used to reduce the memory
	  footprint of the dbapi.aux_get() caches and the Package.metadata
	  attribute.

2008-06-25 20:47  zmedico

	* [r10789] pym/_emerge/__init__.py: Swap out the whole
	  Package.root_config attribute inside depgraph.break_refs().

2008-06-25 20:08  zmedico

	* [r10787] doc/config/sets.docbook: Clarify
	  EverythingSet.description a bit. Thanks to Necoro.

2008-06-25 20:06  zmedico

	* [r10786] pym/portage/sets/dbapi.py: Clarify
	  EverythingSet.description a bit. Thanks to Necoro.

2008-06-25 19:45  zmedico

	* [r10785] pym/_emerge/__init__.py: Fix Atom -> str breakage in
	  depgraph.saveNomergeFavorites(). Thanks to grobian and darsiide.

2008-06-25 12:41  zmedico

	* [r10783] bin/repoman, pym/_emerge/__init__.py: Fix repoman
	  breakage wrt _PackageMetadataWrapper._keys values.

2008-06-25 10:06  zmedico

	* [r10782] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  After the depgraph caches the vardb state in a FakeVartree, to
	  make some room on the heap, clear the vardbapi caches.

2008-06-25 08:42  zmedico

	* [r10780] pym/_emerge/__init__.py: Implement __contains__, pop()
	  and clear() for Package.metadata attributes.

2008-06-25 07:49  zmedico

	* [r10779] pym/portage/dbapi/vartree.py: Use os.listdir() instead
	  of portage.listdir() to avoid needless caching of directories
	  that only need to be listed once.

2008-06-25 07:39  zmedico

	* [r10778] pym/_emerge/__init__.py: Make clear_caches() call
	  portage.dircache.clear().

2008-06-25 07:18  zmedico

	* [r10777] pym/_emerge/__init__.py: Remove the
	  BlockerDB._blocker_cache attribute and just create new instances
	  on demand instead of taking space on the heap.

2008-06-25 06:38  zmedico

	* [r10776] pym/_emerge/__init__.py, pym/portage/__init__.py: For
	  the Package.metadata attribute, only implement the dict interface
	  instead of actually inheriting from dict. This slightly decreases
	  the memory footprint by defining __slots__ and storing items as
	  object attributes.

2008-06-25 04:24  zmedico

	* [r10775] pym/_emerge/__init__.py: Bug #229069 - Before deleting
	  the depgraph, break references pointing to the depgraph from
	  Package instances in the merge list. This helps reduce the heap
	  size a lot.

2008-06-24 22:55  zmedico

	* [r10774] pym/_emerge/__init__.py: Fix spelling of
	  depgraph._complete_threshold.

2008-06-24 22:53  zmedico

	* [r10773] pym/_emerge/__init__.py: If dep calculation time exceeds
	  20 seconds then automatically enable "complete" mode since any
	  performance difference is not as likely to be noticed by the user
	  after this much time has passed.

2008-06-24 22:30  zmedico

	* [r10772] pym/portage/dep.py: Use weakref.WeakValueDictionary to
	  make cached Atom instances eligible for garbage collection when
	  no strong references remain.

2008-06-24 21:14  zmedico

	* [r10771] pym/_emerge/__init__.py: Bug #229233 - Fix Atom -> str
	  breakage in the depgraph.display_problems() package.provided
	  warning message.

2008-06-24 05:52  zmedico

	* [r10769] pym/_emerge/__init__.py: Clear dbapi caches just after
	  deleting the depgraph in action_build(). This trims down the heap
	  size by a few megs, for bug #229069.

2008-06-24 01:00  zmedico

	* [r10768] pym/_emerge/__init__.py: Fix some remaining corner cases
	  that cause bug #220341 to reappear intermittently. Thanks to pva
	  for reporting.

2008-06-23 18:22  zmedico

	* [r10766] bin/repoman: Use paths from portage.const instead of
	  hardcoded versions. (branches/prefix r10765)

2008-06-23 10:00  zmedico

	* [r10764] pym/portage/dbapi/vartree.py: Bug #228977 - During
	  dblink._preserve_libs() calls, cache results of
	  LinkageMap.findProviders(), LinkageMap.findConsumers(), and
	  os.path.realpath() calls in order to improve performance. This
	  makes a huge difference in performance for glibc upgrades since
	  glibc provides so many libs to check consumerge for.

2008-06-23 02:40  zmedico

	* [r10763] pym/portage/__init__.py: Bug #228935 - Add a new
	  "command not found" build log QA Notice. Thanks to Olivier Huber
	  for the initial patch.

2008-06-23 01:24  zmedico

	* [r10762] pym/portage/dbapi/vartree.py: Bug #228977 - Protect
	  against possible infinite loop in dblink._preserve_libs().

2008-06-22 23:15  zmedico

	* [r10761] pym/_emerge/__init__.py: Bug #228939 - Fix display list
	  interaction with --tree mode to prevent display of a duplicate
	  list.

2008-06-22 04:04  zmedico

	* [r10759] pym/portage/sets/libs.py: Fix broken path handling wrt
	  $ROOT in LibraryConsumerSet.mapPathsToAtoms().

2008-06-21 22:41  zmedico

	* [r10758] pym/_emerge/__init__.py: Fix Atom -> str breakage in
	  depgraph._show_slot_collision_notice(). Thanks to Arfrever for
	  reporting.

2008-06-21 22:22  zmedico

	* [r10757] pym/portage/dep.py: Implement Atom.__cmp__() so that
	  things like list.sort() work correctly for Atom instances.

2008-06-21 17:11  zmedico

	* [r10756] bin/repoman: Bug #228489 - Restore the "ci" alias for
	  "commit" mode. Thanks to grobian for the patch.

2008-06-21 16:14  zmedico

	* [r10755] pym/_emerge/__init__.py: Fix Atom -> str breakage in
	  depgraph.display_problems().

2008-06-21 14:58  zmedico

	* [r10754] pym/portage/sets/libs.py: Make
	  LibraryConsumerSet.mapPathsToAtoms() use the contents index for
	  more efficient owner lookups.

2008-06-21 11:58  zmedico

	* [r10753] bin/check-implicit-pointer-usage.py: Fix
	  implicit_pattern to match different quote character found in
	  warnings generated by gcc-4.3. Thanks to aballier for reporting
	  with sample log.

2008-06-21 10:53  zmedico

	* [r10752] pym/portage/__init__.py: Exclude calls to autoheader and
	  makeinfo from the automake "maintainer mode" check (filter some
	  false positives). Thanks to Flameeyes.

2008-06-21 09:26  zmedico

	* [r10751] pym/portage/tests/sets/shell/testShell.py: Use bash's
	  built-in echo instead of the actual echo binary since it has
	  compatibility issues on FreeBSD systems. Thanks to aballier for
	  reporting the issue and testing this patch.

2008-06-21 05:18  vapier

	* [r10750] man/repoman.1: drop old -i,--include-masked option
	  #226429 by Tobias Klausmann

2008-06-20 22:31  zmedico

	* [r10749] pym/portage/sets/files.py: Fix Atom -> str breakage in
	  WorldSet.write().

2008-06-20 20:36  zmedico

	* [r10748] pym/portage/dep.py: Remove unused Atom.string attribute.

2008-06-20 19:43  zmedico

	* [r10747] NEWS: Add subversion support for repoman. (thanks
	  grobian)

2008-06-20 18:00  zmedico

	* [r10746] pym/_emerge/__init__.py: Bug #228595 - Use
	  os.path.realpath() before comparing paths to those returned from
	  portdbapi.getRepositoryPath() since those paths are also
	  cannonical.

2008-06-20 17:36  zmedico

	* [r10745] pym/portage/dep.py: Make isvalidatom() use the Atom
	  cache to avoid validating the same atom twice.

2008-06-20 17:04  zmedico

	* [r10744] pym/portage/dep.py: Make Atom use str.__eq__ and __ne__
	  also.

2008-06-20 16:59  zmedico

	* [r10743] pym/portage/dep.py: Make Atom use str.__hash__.

2008-06-20 16:47  zmedico

	* [r10742] pym/portage/dep.py: Make the Atom cache dict private and
	  add a docstring for _AtomCache.

2008-06-20 16:18  zmedico

	* [r10741] pym/portage/dep.py: Use a metaclass to cache Atom
	  instances transparently. This should improve performance and
	  conserve memory in cases when the same atom is more than once.

2008-06-20 14:37  zmedico

	* [r10740] pym/portage/dep.py: Instead of having Atom inherit from
	  str, just emulate the interface. This allows us to define
	  __slots__ (not allowed when inheriting from str) and therefore
	  should conserve some memory by avoiding a __dict__ attribute on
	  every Atom.

2008-06-20 13:39  zmedico

	* [r10739] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Make the visibility related config
	  methods such as getMaskAtom() and getProfileMaskAtom() private
	  since these methods really should take Package instances before
	  we expose them as public api.

2008-06-20 05:12  genone

	* [r10735] pym/_emerge/__init__.py: reenable warning about missing
	  repository names

2008-06-20 05:01  genone

	* [r10734] bin/isolated-functions.sh, cnf/make.globals: revert
	  accidential commit

2008-06-20 04:59  genone

	* [r10733] NEWS, RELEASE-NOTES, bin/isolated-functions.sh,
	  cnf/make.globals: update release notes/news

2008-06-20 03:46  zmedico

	* [r10732] RELEASE-NOTES, man/emerge.1, pym/_emerge/help.py:
	  Document the new emerge <file> feature.

2008-06-20 03:14  zmedico

	* [r10731] pym/_emerge/__init__.py: Fix typo.

2008-06-20 03:13  zmedico

	* [r10730] pym/_emerge/__init__.py: Make emerge <path> path search
	  for multiple owners of directories. This makes it possible to use
	  `emerge /lib/modules` as a decent substitute for module-rebuild.

2008-06-19 05:26  zmedico

	* [r10725] pym/repoman/checks.py: Pass a Package instance into
	  LineCheck.new(), and use this to avoid passing the ebuild mtime
	  into the EbuildHeader constructor (the mtime is given when the
	  new() method is called).

2008-06-19 05:01  zmedico

	* [r10723] pym/repoman/checks.py: Refactor the 'inherit.autotools'
	  and 'IUSE.undefined' checks into classes derived from LineCheck.

2008-06-18 21:33  zmedico

	* [r10717] pym/_emerge/__init__.py: Bug #228075 - Explicitly call
	  gc.collect() to try and free memory when checking for blockers.
	  This avoids a heap overflow that triggers 'Cannot allocate
	  memory' errors (reported with python-2.5).

2008-06-18 08:11  zmedico

	* [r10715] pym/repoman/checks.py: As suggested by remi`, make the
	  'inherit.autotools' check only ebuilds that inherit the autotools
	  eclass directly (rather than indirectly through an eclass such as
	  apache-2 or x-modular).

2008-06-18 06:55  zmedico

	* [r10714] pym/repoman/checks.py: Add an exemption for x-modular in
	  the "inherit.autotools" check. Thanks to remi` for reporting.

2008-06-18 04:49  zmedico

	* [r10713] bin/ebuild: Bug #225285 - Add support for persistent
	  options stored in the EBUILD_DEFAULT_OPTS environment variable
	  (similar to {EMERGE,QUICKPKG}_DEFAULT_OPTS).

2008-06-18 04:38  zmedico

	* [r10712] bin/ebuild, pym/portage/__init__.py: Bug #225285 - Add a
	  --skip-manifest option that disables all interaction with the
	  manifest.

2008-06-18 03:36  zmedico

	* [r10711] bin/ebuild: Add a help string for --debug.

2008-06-18 03:30  zmedico

	* [r10710] bin/ebuild: Use optparse instead of getopt.

2008-06-17 20:16  zmedico

	* [r10704] bin/isolated-functions.sh, cnf/make.conf,
	  man/color.map.5, pym/portage/__init__.py, pym/portage/output.py:
	  More eblank.

2008-06-17 19:39  zmedico

	* [r10698] doc/package/ebuild/helper_functions.docbook,
	  man/ebuild.5: Remove eblank docs.

2008-06-17 18:13  genone

	* [r10696] pym/portage/dbapi/vartree.py: remove stray line

2008-06-17 17:35  genone

	* [r10695] cnf/make.globals: Remove eblank nonsense

2008-06-17 17:35  genone

	* [r10694] bin/isolated-functions.sh, pym/portage/elog/messages.py,
	  pym/portage/elog/mod_echo.py, pym/portage/output.py: Remove
	  eblank nonsense

2008-06-17 17:03  genone

	* [r10693] pym/portage/dbapi/vartree.py: Do not preserve the master
	  link of a library to avoid packages being linked against
	  preserved libs on rebuilds

2008-06-17 16:12  genone

	* [r10690] pym/_emerge/__init__.py: fix typo

2008-06-17 07:46  zmedico

	* [r10687] doc/package/ebuild.docbook,
	  doc/package/ebuild/helper_functions.docbook, doc/portage.docbook,
	  man/ebuild.5: * Document eblank and eqawarn in the ebuild.5 man
	  page. * Create "Ebuild Helper Functions" section docbook format,
	  including all the functions documented in the ebuild.5 man page.

2008-06-17 06:01  zmedico

	* [r10685] RELEASE-NOTES: Add note about bug #226505.

2008-06-17 05:44  zmedico

	* [r10683] doc/package/ebuild/phases.docbook: Add a "Interaction
	  with previous installed version" section to document the
	  upgrade/downgrade phase execution order change from bug #226505.

2008-06-17 05:07  zmedico

	* [r10681] cnf/make.conf, cnf/make.globals: Add "blank" to the
	  default PORTAGE_ELOG_CLASSES setting.

2008-06-17 04:57  zmedico

	* [r10679] man/color.map.5: Fix BLANK order and color.

2008-06-17 04:05  zmedico

	* [r10677] bin/isolated-functions.sh, man/color.map.5,
	  pym/portage/__init__.py, pym/portage/elog/mod_echo.py,
	  pym/portage/output.py: * Rename NEUTRAL color to BLANK for
	  eblank. * Document the new BLANK code in color.map.5. * Implement
	  python version of eblank for mod_echo.

2008-06-17 03:31  zmedico

	* [r10675] bin/isolated-functions.sh, pym/portage/__init__.py,
	  pym/portage/output.py: Add support for an new "eblank" elog
	  function that shows a blank line. Consecutive eblank calls are
	  all collapsed into a single blank line. Thanks to Joe Peterson
	  <lavajoe@g.o> for this patch.

2008-06-16 14:40  zmedico

	* [r10673] pym/portage/dbapi/vartree.py: Fix typo.

2008-06-16 14:30  zmedico

	* [r10671] man/emerge.1, man/make.conf.5: Document the new
	  ACCEPT_CHOSTS variable.

2008-06-16 11:48  zmedico

	* [r10669] pym/portage/__init__.py: Tweak the
	  config._accept_chost() regex.

2008-06-16 10:24  zmedico

	* [r10661] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Re-enable vardbapi.cpv_all() cache now that bug #223417 is
	  solved.

2008-06-16 10:19  zmedico

	* [r10660] pym/portage/dbapi/vartree.py: Bug #223417 - Due to 1
	  second mtime granularity in < 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.

2008-06-16 08:32  zmedico

	* [r10659] pym/_emerge/__init__.py: Make some post_merge() things
	  conditional on the vdb lock being held (mtimedb commit and info
	  dirs processing).

2008-06-16 08:10  zmedico

	* [r10658] pym/_emerge/__init__.py: Add some write access checks in
	  post_merge() in order to avoid triggering permission related
	  exceptions.

2008-06-15 04:50  zmedico

	* [r10656] pym/portage/__init__.py: Fix config._accept_chost_re so
	  it's only an instance variable.

2008-06-15 04:38  zmedico

	* [r10654] pym/_emerge/__init__.py, pym/portage/__init__.py: Add
	  support for and ACCEPT_CHOSTS variable that controls 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.

2008-06-14 13:15  zmedico

	* [r10653] pym/repoman/checks.py: Fix the 'inherit.autotools' check
	  to account for apache-2_src_unpack() calling eautoreconf.

2008-06-14 07:15  zmedico

	* [r10652] pym/portage/__init__.py: Add two new build log qa
	  checks, suggested by Diego 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.

2008-06-12 02:41  zmedico

	* [r10651] pym/_emerge/__init__.py: Pass missing "installed"
	  parameter into Package constructor.

2008-06-11 09:33  zmedico

	* [r10648] pym/_emerge/__init__.py: Handle InvalidDependString in
	  _package_cache.__setitem__().

2008-06-11 09:16  zmedico

	* [r10646] pym/_emerge/__init__.py: Fix indent.

2008-06-11 09:15  zmedico

	* [r10645] pym/_emerge/__init__.py: Handle InvalidDependString.

2008-06-11 09:06  zmedico

	* [r10644] pym/_emerge/__init__.py: Bug #225767 - Suppress warnings
	  for installed packages masked by keywords if there is an
	  equivalent ebuild in the portage tree (same cpv) with visible
	  keywords.

2008-06-11 03:37  zmedico

	* [r10642] bin/dispatch-conf: Use spawn() instead of system().

2008-06-10 05:31  zmedico

	* [r10640] pym/portage/dbapi/vartree.py: Add another sanity check
	  in the owners cache.

2008-06-10 04:48  zmedico

	* [r10638] pym/portage/dbapi/vartree.py: Use isinstance() instead
	  of handling TypeError.

2008-06-10 04:13  zmedico

	* [r10636] pym/portage/__init__.py: Bug #225285 - Allow
	  digestcheck() to succeed when the Manifest is empty and strict
	  mode is disabled.

2008-06-10 03:31  zmedico

	* [r10633] pym/portage/dbapi/vartree.py: Add some sanity checks and
	  error tolerance in the owners cache.

2008-06-10 02:13  zmedico

	* [r10631] pym/portage/dbapi/vartree.py: Fix typo.

2008-06-10 01:05  zmedico

	* [r10628] pym/portage/dbapi/vartree.py: Fix typo.

2008-06-09 23:25  zmedico

	* [r10626] pym/portage/dbapi/vartree.py: Fix missing
	  initialization.

2008-06-09 14:24  zmedico

	* [r10612] pym/_emerge/__init__.py: Remove unused
	  PackageVirtualDbapi.__getitem__() method.

2008-06-09 13:55  zmedico

	* [r10609] bin/portageq, pym/_emerge/__init__.py,
	  pym/portage/dbapi/vartree.py: Add CONTENTS indexing support for
	  optimization of owner 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 <filename>`
	  
	  * `portageq owners`
	  
	  The

2008-06-08 20:23  zmedico

	* [r10608] pym/portage/__init__.py: When inside fakeroot,
	  directories with portage's gid appear to have root's gid.
	  Therefore, use root's gid instead of portage's gid to avoid
	  spurrious permissions adjustments when inside fakeroot.

2008-06-08 19:01  genone

	* [r10607] pym/portage/dbapi/vartree.py: make sure that scanelf is
	  called with the right paths, and properly register all preserved
	  objects to fix bug #223591

2008-06-08 05:11  zmedico

	* [r10604] pym/portage/__init__.py: Bug #225285 - Allow
	  digestcheck() to succeed when the Manifest is missing and strict
	  mode is disabled.

2008-06-08 04:20  zmedico

	* [r10603] pym/portage/dbapi/porttree.py: Make portdbapi.aux_get()
	  return float type for _mtime_.

2008-06-08 03:15  zmedico

	* [r10602] pym/repoman/checks.py: Add additional functions such as
	  eaclocal and eautoheader to the inherit.autotools regex. Thanks
	  to Arfrever.

2008-06-08 02:22  zmedico

	* [r10601] bin/repoman: Fix typo.

2008-06-08 02:19  zmedico

	* [r10600] bin/repoman, pym/_emerge/__init__.py,
	  pym/repoman/checks.py: Make repoman pass Package instances into
	  run_checks(), so that the checks can use the Package.mtime and
	  inherited attributes.

2008-06-07 23:50  zmedico

	* [r10598] pym/portage/__init__.py: Inside, create_trees(), pass
	  target_root="/" into the config constructor when necessary to
	  override the setting in make.conf.

2008-06-07 22:51  zmedico

	* [r10596] pym/portage/__init__.py: Validate ROOT from make.conf.

2008-06-07 22:40  zmedico

	* [r10594] pym/_emerge/__init__.py: Make load_emerge_config()
	  filter out empty PORTAGE_CONFIGROOT and ROOT values, and those
	  containing only whitespace.

2008-06-07 22:18  zmedico

	* [r10593] bin/repoman, man/repoman.1, pym/repoman/checks.py: Bug
	  #224271 - New check 'IUSE.undefined', renamed from generic
	  'ebuild.minorsyn'.

2008-06-07 22:07  zmedico

	* [r10592] bin/repoman, man/repoman.1, pym/repoman/checks.py: As
	  suggested by Flameeyes, add a new 'inherit.autotools' 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.

2008-06-07 17:18  vapier

	* [r10591] bin/ebuild.sh, bin/isolated-functions.sh: remove
	  old/unused gen_wrapper function

2008-06-07 09:23  zmedico

	* [r10589] pym/repoman/checks.py: Bug #224271 - Add a 'IUSE is not
	  defined' ebuild.minorsyn warning.

2008-06-06 00:22  zmedico

	* [r10588] pym/_emerge/__init__.py: Add a
	  PackageVirtualDbapi.__getitem__() method.

2008-06-05 23:35  zmedico

	* [r10587] pym/_emerge/__init__.py: Add Package.counter and mtime
	  attributes.

2008-06-05 17:30  zmedico

	* [r10586] pym/portage/dbapi/vartree.py: Add vardbapi.aux_get()
	  support for an "_mtime_" value which 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.

2008-06-04 23:44  zmedico

	* [r10582] pym/portage/__init__.py: Bug #224713 - Avoid TypeError
	  when make.conf is missing: TypeError: argument of type 'NoneType'
	  is not iterable

2008-06-04 21:15  zmedico

	* [r10580] man/make.conf.5: Mention PORTAGE_RO_DISTDIRS in the
	  DISTDIR docs.

2008-06-04 20:24  zmedico

	* [r10578] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Use sets for more accurate cache modification counts BlockerCache
	  and vardbapi.

2008-06-04 03:50  zmedico

	* [r10575] pym/_emerge/__init__.py: 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.
	  (branches/prefix r10555)

2008-06-04 03:47  zmedico

	* [r10574] bin/repoman, pym/portage/__init__.py,
	  pym/portage/data.py: 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. (branches/prefix
	  r10554)

2008-06-04 01:07  zmedico

	* [r10566] pym/portage/__init__.py: Fix typo.

2008-06-04 00:48  zmedico

	* [r10564] pym/portage/__init__.py: Use a distdir_writable variable
	  in fetch(), for better control of write operations inside
	  ${DISTDIR}.

2008-06-03 23:33  zmedico

	* [r10563] man/emerge.1, man/portage.5, pym/_emerge/help.py: Update
	  --depclean and package.provided docs to indicate interaction
	  between them.

2008-06-03 20:44  zmedico

	* [r10561] pym/portage/sets/profiles.py: Make
	  PackagesSystemSet.description refer to the real profile rather
	  than /etc/portage/profile when possible.

2008-06-03 20:37  zmedico

	* [r10560] pym/portage/sets/profiles.py: Avoid an unhandled
	  IndexError thrown from the PackagesSystemSet constructor when
	  neither /etc/make.profile nor /etc/portage/profile exist.

2008-06-03 20:11  zmedico

	* [r10558] bin/doman: Fix regex for compatibility with the regex
	  implementation from FreeBSD's libc (used by bash on FreeBSD).
	  Thanks to Alexis Ballier <aballier@g.o> for the patch.

2008-06-03 09:38  zmedico

	* [r10553] pym/_emerge/__init__.py: Tweak the installed masked code
	  from bug #223447 so that it less noisy by suppressing masking
	  messages for packages that haven't been pulled into the current
	  dependency graph.

2008-06-03 06:51  zmedico

	* [r10552] pym/portage/__init__.py: Fix typo.

2008-06-03 06:50  zmedico

	* [r10551] pym/portage/__init__.py: When pruning the digests to
	  optimize parallel-fetch, use a separate dict so that the original
	  digests are still available if a file needs to be downloaded.

2008-06-03 05:41  zmedico

	* [r10550] pym/portage/dbapi/vartree.py: Use float mtime instead of
	  int for finer granularity in vardbapi.match() cache staleness
	  checks.

2008-06-03 04:04  zmedico

	* [r10549] pym/_emerge/__init__.py: Add modification threshold for
	  BlockerCache.flush(), to avoid wasteful IO.

2008-06-03 03:45  zmedico

	* [r10548] pym/portage/dbapi/vartree.py: Fix vardbapi.flush_cache()
	  so that it only updates the cache 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.

2008-06-03 02:24  zmedico

	* [r10547] man/make.conf.5, pym/portage/__init__.py: Add support
	  for a PORTAGE_RO_DISTDIRS variable. When a given 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.

2008-06-03 01:41  zmedico

	* [r10546] bin/isolated-functions.sh: Don't unset
	  PORTAGE_BINPKG_FILE because it's readonly.

2008-06-01 18:28  zmedico

	* [r10541] bin/isolated-functions.sh: Filter PORTAGE_BINPKG_FILE in
	  save_ebuild_env().

2008-06-01 08:33  zmedico

	* [r10538] pym/_emerge/__init__.py: Fix typo.

2008-06-01 04:58  zmedico

	* [r10535] pym/_emerge/__init__.py: Mention masked packages in
	  another --resume message.

2008-06-01 04:50  zmedico

	* [r10533] pym/_emerge/__init__.py: Reference
	  depgraph.UnsatisfiedResumeDep instead of mydepgraph since the
	  latter can trigger an UnboundLocalError in some cases (^C for
	  example).

2008-06-01 04:47  zmedico

	* [r10532] pym/_emerge/__init__.py: Update the --skipfirst dropped
	  packages warning to mention "masking" in addition to unsatisfied
	  dependencies.

2008-06-01 04:35  zmedico

	* [r10529] pym/_emerge/__init__.py: Update the UnsatisfiedResumeDep
	  display to distinguish masked packages from those with
	  unsatisfied dependencies.

2008-06-01 04:27  zmedico

	* [r10528] pym/_emerge/__init__.py: Revert changes wrt argument
	  atoms in the previous commit since it's not really useful.

2008-06-01 01:37  zmedico

	* [r10526] pym/_emerge/__init__.py: Make --skipfirst tolerate
	  masked packages by dropping them (similar to how it would drop a
	  package that has an unsatisfied dependency).

2008-06-01 01:27  zmedico

	* [r10525] pym/portage/sets/base.py: Fix
	  EditablePackageSet.update() to create Atom instances when
	  necessary.

2008-05-31 23:10  zmedico

	* [r10523] pym/portage/sets/base.py: Make PackageSet._setAtoms()
	  use existing Atom instances when available.

2008-05-31 20:02  zmedico

	* [r10521] pym/_emerge/__init__.py: Fix create_world_atom() to take
	  a Package instance in it's arguments.

2008-05-31 09:35  zmedico

	* [r10519] pym/portage/tests/dep/test_isvalidatom.py: Add some
	  isvalidatom() test cases with "null" and missing category.

2008-05-31 09:24  zmedico

	* [r10518] pym/portage/dep.py: Fix TypeError: 'tuple' object does
	  not support item assignment

2008-05-31 09:11  zmedico

	* [r10516] pym/_emerge/__init__.py, pym/portage/dep.py: * Tweak
	  isvalidatom() to treat "null" category as valid, but 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).

2008-05-31 02:06  zmedico

	* [r10514] pym/_emerge/__init__.py: Clean up reference to parts of
	  the first graph for --skipfirst.

2008-05-31 01:54  zmedico

	* [r10513] pym/_emerge/__init__.py: Optimize the new --skipfirst
	  code so that in only has to 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.

2008-05-30 23:46  zmedico

	* [r10511] pym/portage/sets/base.py: Fix
	  PackageSet.findAtomForPackage() to find the most specific atom
	  since it can affect behavior when deciding whether or not to add
	  a slot atom to the world file.

2008-05-30 21:14  zmedico

	* [r10509] pym/portage/dbapi/porttree.py: Now that
	  dbapi._iter_match() is guaranteed to return a real iterator with
	  a next method(), we can just call next() and handle
	  StopIteration.

2008-05-30 20:46  zmedico

	* [r10507] pym/portage/dbapi/__init__.py: For consistency, make
	  sure that a normal iterator is always returned from
	  dbapi._iter_match() (and never a list). This way the caller can
	  be sure that the returned object has a next() method.

2008-05-30 20:19  zmedico

	* [r10505] pym/portage/dbapi/vartree.py: Make the use_cache=0
	  listdir() implementation inside vardbapi.cpv_all() rains a
	  PermissionDenied error when appropriate.

2008-05-30 09:56  zmedico

	* [r10503] pym/_emerge/__init__.py: Pass a mutable config instance
	  into get_masking_status(). Currently it doesn't matter for
	  installed packages but it's safer to be consistent to avoid
	  accidental breakage in the future.

2008-05-30 06:50  zmedico

	* [r10501] pym/portage/sets/base.py: Make
	  PackageSet.findAtomForPackage() just return the first atom found
	  since best_match_to_list() won't work correctly for atoms matched
	  via PROVIDE.

2008-05-30 01:08  zmedico

	* [r10499] pym/portage/dep.py: Simplify None Package.slot handling
	  in match_from_list().

2008-05-30 00:37  zmedico

	* [r10497] pym/portage/dep.py: Fix Atom attribute handling in
	  get_operator() and dep_getslot() to account for None return
	  values.

2008-05-30 00:03  zmedico

	* [r10495] bin/repoman: Create Atom instances earlier to avoid
	  redundant validation.

2008-05-29 23:40  zmedico

	* [r10493] pym/_emerge/__init__.py: When dropping deps from the
	  resume list, make sure that the loop can't be infinite.

2008-05-29 23:31  zmedico

	* [r10491] pym/_emerge/__init__.py: Use Package.metadata instead of
	  calling dbapi.aux_get().

2008-05-29 23:10  zmedico

	* [r10489] pym/_emerge/__init__.py: Use a frozenset instead of a
	  list for containment tests.

2008-05-29 22:54  zmedico

	* [r10487] pym/_emerge/__init__.py: Fix typo.

2008-05-29 22:34  zmedico

	* [r10485] pym/_emerge/__init__.py: Use izip() to eliminate
	  temporary dict instances.

2008-05-29 21:00  zmedico

	* [r10482] pym/_emerge/__init__.py: Clean up references to
	  unsatisfied_parents.

2008-05-29 20:52  zmedico

	* [r10481] pym/_emerge/__init__.py: Clean up reference to
	  dropped_tasks when finished.

2008-05-29 20:44  zmedico

	* [r10480] pym/_emerge/__init__.py: When --skipfirst drops packages
	  due to unsatisfied dependencies, display a warning message with
	  the list of dropped packages.

2008-05-29 19:56  zmedico

	* [r10479] pym/_emerge/__init__.py: Clean up exception reference
	  from previous commit.

2008-05-29 19:50  zmedico

	* [r10478] pym/_emerge/__init__.py: Make --skipfirst handle missing
	  dependencies by dropping the 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.

2008-05-29 05:23  zmedico

	* [r10476] pym/portage/dbapi/vartree.py: Save the content of
	  CONFIG_MEMORY_FILE in dblink.treewalk() _before_ unmerging other
	  instances, in order to avoid overwritting/undoing the pruning
	  that's done during unmerge.

2008-05-29 04:53  zmedico

	* [r10474] pym/portage/dbapi/vartree.py: Make the unmerge time
	  CONFIG_MEMORY_FILE pruning slightly more aggressive, so that
	  anything not claimed by another package in the same slot is
	  pruned.

2008-05-29 00:35  zmedico

	* [r10471] pym/_emerge/__init__.py: Filter out installed keyword
	  masked packages when populating RootConfig.visible_pkgs since
	  otherwise such packages can trigger undesireable results inside
	  depgraph._iter_atoms_for_pkg().

2008-05-29 00:32  zmedico

	* [r10470] pym/_emerge/__init__.py: Fix the code from bug #220341
	  so that it matches the atom against the installed package, like
	  it's supposed to.

2008-05-28 22:12  zmedico

	* [r10468] pym/_emerge/__init__.py: Skip redundant Atom
	  construction in select_package().

2008-05-28 22:06  zmedico

	* [r10467] pym/_emerge/__init__.py: Update the fix from bug #220341
	  to protect USE deps from being neglected.

2008-05-28 08:31  zmedico

	* [r10465] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #223447 - Adjust the "installed packages are masked" 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.

2008-05-28 01:27  zmedico

	* [r10462] bin/doman: Make the new behavior from bug #222439
	  conditional on EAPI being something other than 0 or 1.

2008-05-28 01:13  zmedico

	* [r10461] pym/portage/output.py: Make set_term_size() handle the
	  CommandNotFound exception if stty is missing for some reason.

2008-05-28 00:37  zmedico

	* [r10460] bin/doman: Convert doman to use bash's =~ operator
	  instead of calling egrep.

2008-05-27 23:08  zmedico

	* [r10459] bin/doman: Bug #222439 - Add doman support for
	  foo.lang.N filenames. 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.

2008-05-27 10:20  zmedico

	* [r10455] pym/_emerge/__init__.py: Fix breakage due to frozenset
	  being immutable.

2008-05-27 07:53  zmedico

	* [r10453] pym/portage/__init__.py: Fix typo.

2008-05-27 07:48  zmedico

	* [r10452] pym/portage/__init__.py: Make config._init_dirs()
	  preserver /tmp and /var/tmp permissions if those directories
	  already exist. This gives freedom to the user to adjust
	  permissions to suit their taste.

2008-05-27 06:22  zmedico

	* [r10450] pym/_emerge/__init__.py: Fix a typo from the previous
	  commit.

2008-05-27 06:08  zmedico

	* [r10448] pym/_emerge/__init__.py: Use new Package.use and iuse
	  attributes to avoid extra split() calls.

2008-05-27 05:45  zmedico

	* [r10447] pym/portage/dep.py: Set Atom.use = None when there are
	  no USE deps (instead of the empty tuple returned from
	  dep_getusedeps()).

2008-05-27 05:42  zmedico

	* [r10446] pym/portage/__init__.py: Repoman only checks IUSE for
	  USE deps, so don't evaluate conditional USE deps in this case.

2008-05-27 04:50  zmedico

	* [r10445] pym/portage/dbapi/__init__.py: Fix
	  dbapi._iter_match_use() to escape IUSE values when necessary.

2008-05-27 04:37  zmedico

	* [r10443] pym/_emerge/__init__.py: Fix breakage in the BlockerDB
	  constructor.

2008-05-27 04:10  zmedico

	* [r10441] pym/portage/dep.py: Define __slots__ for the _use_dep
	  class.

2008-05-27 04:04  zmedico

	* [r10440] pym/_emerge/__init__.py, pym/portage/dep.py: Fix USE dep
	  matching support in match_from_list() so that it 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.

2008-05-27 00:49  zmedico

	* [r10438] pym/_emerge/__init__.py: Bug #223685 - Use the finally
	  clause to collect elog messages just before releasing the build
	  dir lock, so they never get missed.

2008-05-27 00:10  zmedico

	* [r10436] pym/_emerge/__init__.py: Add some debug output for
	  arguments and their associated atoms, to help in debugging
	  problems similar to bug #223735.

2008-05-26 23:22  zmedico

	* [r10434] pym/portage/dbapi/vartree.py: Don't silently swallow
	  instances of UnpicklingError since they are easily triggered by
	  storing instances of custom classes in a pickle.

2008-05-26 23:16  zmedico

	* [r10433] pym/_emerge/__init__.py, pym/portage/__init__.py: Don't
	  silently swallow instances of UnpicklingError since they are
	  easily triggered by storing instances of custom classes in a
	  pickle.

2008-05-26 23:03  zmedico

	* [r10431] pym/_emerge/__init__.py: Avoid triggering
	  "cPickle.UnpicklingError: Global and instance pickles are not
	  supported." errors that are triggered when the pickle contains
	  custom classes.

2008-05-26 20:12  zmedico

	* [r10429] bin/ebuild.sh: Skip source_all_bashrcs() when
	  $EBUILD_PHASE is not set.

2008-05-26 08:02  zmedico

	* [r10427] pym/_emerge/__init__.py, pym/portage/__init__.py: *
	  Enable config.setcpv() to use a Package instance in place of a
	  cpv. * Make depgraph._select_package() pass Package instances
	  into setcpv() calls. * Enable the Package constructor to use an
	  iterable for metadata items.

2008-05-26 00:34  zmedico

	* [r10425] pym/portage/__init__.py: Fix a broken reference to the
	  Package.cpv_slot attribute.

2008-05-25 22:49  zmedico

	* [r10423] pym/_emerge/__init__.py: Fix breakage in Package
	  constructor attribute initialization.

2008-05-25 22:33  zmedico

	* [r10422] pym/_emerge/__init__.py: Remove unused code.

2008-05-25 21:57  zmedico

	* [r10421] pym/_emerge/__init__.py: Use the metadata wrapper to
	  initialize Package slot and use attributes.

2008-05-25 21:45  zmedico

	* [r10420] pym/_emerge/__init__.py: Remove the Package.cpv_slot
	  attribute.

2008-05-25 21:34  zmedico

	* [r10419] pym/_emerge/__init__.py, pym/portage/dep.py,
	  pym/portage/sets/base.py: * Add support for Package instances and
	  USE deps in match_from_list(). * Add USE dep matching support to
	  depgraph._iter_atoms_for_pkg().

2008-05-25 08:45  zmedico

	* [r10415] pym/_emerge/__init__.py, pym/portage/sets/base.py: * Fix
	  PackageSet.findAtomForPackage() to take a Package instance as an
	  argument. * Simplify PackageSet.findAtomForPackage() by
	  implementing it on top of iterAtomsForPackage().

2008-05-25 08:04  zmedico

	* [r10413] pym/_emerge/__init__.py, pym/portage/sets/base.py:
	  Facilitate creation of Atom instances in a few obvious places:
	  
	  * PackageSet._setAtoms() * AtomArg and PackageArg constructors.

2008-05-25 04:37  zmedico

	* [r10410] pym/portage/dbapi/porttree.py: Remove redundant SLOT dep
	  code in portdbapi.xmatch() since it's now handled by
	  dbapi._iter_match().

2008-05-25 03:05  zmedico

	* [r10400] pym/portage/versions.py: Remove category validation
	  cruft from catpkgsplit().

2008-05-25 02:56  zmedico

	* [r10399] pym/portage/dep.py,
	  pym/portage/tests/dep/test_isvalidatom.py: Fix isvalidatom() so
	  tests pass, and add a USE deps case to the tests.

2008-05-25 02:20  zmedico

	* [r10398] pym/portage/tests/__init__.py,
	  pym/portage/tests/dep/test_dep_getusedeps.py: * Fix
	  dep_getusedeps() test to work with tuples. * Add test cases for
	  conditional USE deps.

2008-05-25 01:44  zmedico

	* [r10396] pym/portage/__init__.py, pym/portage/dep.py: Add support
	  for conditionals inside USE dependencies. This 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]

2008-05-24 22:24  zmedico

	* [r10395] pym/portage/dep.py: Fix broken dep_getusedeps() cache
	  behavior so that it returns the correct type.

2008-05-24 22:03  zmedico

	* [r10394] pym/portage/__init__.py: For dep_expand() backward
	  compatibility, handle atoms with missing '=' prefix which did not
	  raise an error here before the portage.dep.Atom class was
	  introduced.

2008-05-24 21:33  zmedico

	* [r10393] pym/portage/dep.py: Fix paren_reduce() so that it
	  appropriately raises an InvalidDependString() in some cases,
	  instead of a nonsense ValueError.

2008-05-24 21:23  zmedico

	* [r10392] pym/portage/dep.py: Fix paren_reduce() so that it
	  appropriately raises an InvalidDependString() in some cases,
	  instead of a nonsense AttributeError.

2008-05-24 21:00  zmedico

	* [r10391] pym/portage/dep.py: Fix use_reduce() so that it
	  appropriately raises an InvalidDependString instead of an
	  IndexError in some cases (avoid IndexError by using slice
	  notation).

2008-05-24 20:35  zmedico

	* [r10390] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Bug #223417 - Make the vardbapi.cpv_all() use_cache 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).

2008-05-24 19:22  zmedico

	* [r10389] pym/portage/__init__.py: Bug #223417 - use floating
	  point mtime for finer grained validation in cachedir().

2008-05-23 18:51  zmedico

	* [r10388] pym/portage/dbapi/vartree.py: Bug #220671 - Fix
	  'RuntimeError: Set changed size during iteration' error.

2008-05-23 08:42  zmedico

	* [r10387] bin/repoman, pym/_emerge/__init__.py,
	  pym/portage/__init__.py, pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/porttree.py, pym/portage/dbapi/vartree.py,
	  pym/portage/dep.py: Bug #2272 - Extend dependency atom sytax to
	  specify enabled 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).

2008-05-21 16:05  genone

	* [r10383] pym/portage/sets/files.py: Raise an error if the named
	  repository doesn't exist

2008-05-20 19:42  zmedico

	* [r10381] bin/prepalldocs: When using vecho or eqawarn it comes in
	  handy when isolated-functions have been sourced. (branches/prefix
	  r10380)

2008-05-20 03:06  zmedico

	* [r10377] pym/portage/dbapi/vartree.py: Simplify cache code in
	  vardbapi.aux_get().

2008-05-20 01:51  zmedico

	* [r10375] pym/portage/dbapi/vartree.py: In vardbapi.aux_get(),
	  don't mark cacheed metadata invalid just because some of the
	  values are missing.

2008-05-20 01:13  zmedico

	* [r10373] pym/portage/dbapi/vartree.py: Inside vardbapi.aux_get(),
	  do more validation on the cache data to ensure it contains the
	  expected data types.

2008-05-19 23:39  zmedico

	* [r10372] pym/portage/__init__.py: Adjust code order to organize
	  it a bit. (branches/2.1.2 r10371)

2008-05-19 23:19  zmedico

	* [r10369] pym/portage/__init__.py: Validate and normalize
	  target_root earlier in the config constructor.

2008-05-19 23:06  zmedico

	* [r10367] pym/portage/dbapi/vartree.py: Fix vardbapi.aux_get()
	  logic so that it will correctly pull the metadata value
	  corresponding to an unrecognized metadata key.

2008-05-19 20:29  zmedico

	* [r10364] pym/portage/__init__.py: Exclude "env" from use in
	  variable substitution since we want to avoid any interaction with
	  the calling environment that might lead to unexpected results.

2008-05-18 22:43  zmedico

	* [r10361] pym/_emerge/__init__.py: In unmerge(), flush the
	  vardbapi aux_get() cache to disk before releasing the vardb lock.

2008-05-18 22:27  zmedico

	* [r10360] pym/portage/dbapi/vartree.py: Tweak vardbapi.aux_get()
	  cache logic a bit.

2008-05-18 22:18  zmedico

	* [r10359] pym/portage/dbapi/vartree.py: * To avoid excessive IO on
	  each call to LinkageMap.rebuild(), cache NEEDED.* files via
	  vardbapi.aux_get().
	  
	  * Make vardbapi.aux_get() preserve newlines in multi-line
	  metadata such as NEEDED.* and CONTENTS.

2008-05-18 19:00  zmedico

	* [r10357] man/emerge.1: Bug #222623 - Use "regardless" instead of
	  "irregardless" since the latter is considered to be incorrect.

2008-05-17 22:44  zmedico

	* [r10351] pym/portage/__init__.py: Add the environment and some
	  more files to the existing make.defaults variable substitution
	  support. Variable substitution occurs in the following order:
	  
	  * env.d * env * make.globals * make.defaults * make.conf

2008-05-17 19:55  zmedico

	* [r10350] pym/_emerge/__init__.py: Fix th logic from the previous
	  commit.

2008-05-17 18:49  zmedico

	* [r10349] pym/_emerge/__init__.py: Add back the "install new
	  portage asap" behavior that got lost when that area of code was
	  rewritten.

2008-05-16 21:41  zmedico

	* [r10346] pym/portage/dbapi/porttree.py: Detect and filter ebuilds
	  that have invalid versions in portdbapi.cp_list().

2008-05-16 05:54  zmedico

	* [r10344] bin/repoman: Add dev-util/ftjam to the RDEPEND.suspect
	  list as per bug #221537, comment #3. Leaving dev-util/jam in
	  place, in case it revives somehow.

2008-05-14 18:56  zmedico

	* [r10337] RELEASE-NOTES: Add a note about interaction between
	  FEATURES="metadata-transfer" and eclasses from PORTDIR_OVERLAY
	  that override eclasses from PORTDIR.

2008-05-14 18:04  zmedico

	* [r10335] bin/repoman: Skip blocker atoms for the RDEPEND.suspect
	  check.

2008-05-14 17:53  zmedico

	* [r10333] bin/repoman, man/repoman.1: Bug #221537 - Add a new
	  "RDEPEND.suspect" check for packages in RDEPEND that usually only
	  belong in DEPEND.

2008-05-13 22:50  genone

	* [r10329] pym/portage/output.py: add xterm-color and interix to
	  list of valid terminals

2008-05-13 22:44  genone

	* [r10328] pym/_emerge/__init__.py: Remove 'eselect compiler'
	  references

2008-05-13 22:41  genone

	* [r10327] bin/ebuild.sh: Prefer deb2tgz over ar for unpacking .deb
	  files when installed (patch by Fabian Groffen,
	  http://archives.gentoo.org/gentoo-portage-dev/msg_2f9c8543016f1a96f9122aca0ec35ded.xml)

2008-05-13 22:38  genone

	* [r10326] pym/portage/sets/libs.py: make debug mode configurable

2008-05-13 22:33  genone

	* [r10325] bin/repoman, pym/portage/sets/libs.py,
	  pym/repoman/utilities.py: Add subversion support for repoman
	  (patch by Fabien Groffen,
	  http://archives.gentoo.org/gentoo-portage-dev/msg_b7080f212c3eb09c943a1ce5a7356f01.xml)

2008-05-13 20:05  genone

	* [r10324] pym/portage/dbapi/vartree.py: ignore consumers from the
	  current package instance when checking if a preserved library can
	  be removed

2008-05-13 19:36  genone

	* [r10322] pym/portage/versions.py: Check vercmp() return value to
	  avoid arbitrary results in case it returns None

2008-05-13 12:32  vapier

	* [r10320] man/make.conf.5: fix man markup for
	  PORTAGE_FETCH_RESUME_MIN_SIZE

2008-05-13 06:17  zmedico

	* [r10318] doc/dependency_resolution/package_modeling.docbook:
	  capitalize Portage

2008-05-13 06:12  zmedico

	* [r10316] doc/dependency_resolution/package_modeling.docbook:
	  Describe how we limit the probability that temporary simultaneous
	  installation of blocking packages will cause some sort of
	  problem.

2008-05-13 03:38  zmedico

	* [r10314] man/make.conf.5: Bug #220533 - Document
	  FEATURES="skiprocheck".

2008-05-12 23:01  zmedico

	* [r10313] pym/_emerge/__init__.py: Define the world_candidates
	  variable earlier to make sure it's in scope.

2008-05-12 22:58  zmedico

	* [r10312] pym/_emerge/__init__.py: Filter sets that are not "world
	  candidates" from the favorites list at the last moment since the
	  favorites list needs to be complete for
	  depgraph.loadResumeCommand() to operate correctly.

2008-05-12 22:21  zmedico

	* [r10310] pym/_emerge/__init__.py: In the warning about eclasses
	  in overlay overriding eclasses from PORTDIR, also advise the user
	  to add FEATURES="metadata-transfer" to make.conf.

2008-05-12 16:47  genone

	* [r10303] pym/_emerge/__init__.py: don't add package sets to
	  'world' that have world-candidate=False

2008-05-11 23:56  zmedico

	* [r10297] pym/portage/__init__.py: Simplify the code for bug
	  #221755 now that the substitution map is updated automatically by
	  getconfig().

2008-05-11 23:51  zmedico

	* [r10296] pym/portage/__init__.py, pym/portage/util.py: Make the
	  variable substitution code for bug #221755 slightly more
	  efficient by allowing getconfig() to directly update the map
	  that's used for substitutions.

2008-05-11 23:45  zmedico

	* [r10295] pym/portage/__init__.py, pym/portage/util.py: Fix the
	  variable subsitution code from bug #221755 so that variable
	  assignments from earlier files don't leak into variable
	  assignments from later files (except through substitution).

2008-05-11 23:22  zmedico

	* [r10293] pym/portage/__init__.py, pym/portage/util.py: Bug
	  #221755 - Enable variable substitution in make.defaults to work
	  accross multiple files instead of being confined to a single
	  file. This allows profiles to create incremental-like behavior
	  with non-incremental variables when desired.

2008-05-11 19:37  zmedico

	* [r10291] cnf/make.conf: Add back the warning for DISTDIR about
	  storing stuff inside PORTDIR.

2008-05-11 19:35  zmedico

	* [r10290] cnf/make.conf: Sync make.conf.example with make.conf.5
	  for bug #220111.

2008-05-11 19:21  zmedico

	* [r10289] man/make.conf.5: Bug #220111 - Update the DISTDIR docs
	  to clarify that it's safe to remove any and all files from this
	  location after packages are built.

2008-05-11 18:25  zmedico

	* [r10288] man/emaint.1: Make the summary more accurate.

2008-05-10 18:12  zmedico

	* [r10286] pym/_emerge/__init__.py: If the uninstall task did not
	  need to be executed because of an upgrade, display Blocker ->
	  Upgrade edges since the corresponding Blocker -> Uninstall edges
	  will not be shown.

2008-05-10 17:09  zmedico

	* [r10284] doc/dependency_resolution/package_modeling.docbook:
	  eachother -> each other

2008-05-10 08:47  zmedico

	* [r10281] pym/_emerge/__init__.py: Always include satisfied
	  blockers as an indicator that blocking packages will be
	  temporarily installed simultaneously.

2008-05-10 08:35  zmedico

	* [r10279] pym/_emerge/__init__.py: When selecting leaf nodes, if
	  there is a mix of merge and uninstall nodes, 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.

2008-05-10 08:07  zmedico

	* [r10277] pym/_emerge/__init__.py: Fix another KeyError, reported
	  in Bug #221107, comment #4. There's no need to remove uninstall
	  tasks from scheduled_uninstalls, so just keep them in there.

2008-05-09 19:12  zmedico

	* [r10275] pym/_emerge/__init__.py: Bug #221053 - Save the resume
	  list before verifying the ebuild Manifests since it might be
	  possible for the user to use --resume --skipfirst get past a
	  non-essential package with a broken digest.

2008-05-09 19:04  zmedico

	* [r10273] pym/_emerge/__init__.py: Bug #221071 - Prevent
	  display_problems() from redundantly displaying the exact same
	  merge list a second time.

2008-05-09 18:36  zmedico

	* [r10271] pym/_emerge/__init__.py: Bug #221107 - Fix
	  depgraph._serialize_tasks() so that it doesn't try to schedule an
	  uninstall task that's already been scheduled but hasn't been
	  executed yet due to dependence on installation of blocking
	  packages.

2008-05-09 15:49  zmedico

	* [r10269] doc/dependency_resolution/package_modeling.docbook:
	  Describe how file collisions between blocking packages are
	  resolved when they are temporarily installed simultaneously.

2008-05-09 08:45  zmedico

	* [r10266] pym/_emerge/__init__.py: Simplify code for derived
	  Package attributes.

2008-05-09 04:17  zmedico

	* [r10264] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  For the "blockers" parameter that's passed into the dblink
	  constructor now, make it a callable since it really shouldn't be
	  called until the vdb lock has been acquired.

2008-05-09 03:41  zmedico

	* [r10262] pym/_emerge/__init__.py: If an uninstall task fails
	  inside MergeTask.merge(), use an UninstallFailure exception to
	  handle it instead of allowing unmerge() to call exit().

2008-05-09 03:00  zmedico

	* [r10260] pym/_emerge/__init__.py: Use set.instersection() instead
	  of a for loop.

2008-05-09 02:28  zmedico

	* [r10258] pym/_emerge/__init__.py: Allow scheduled uninstalls to
	  be selected the same way as other leaf nodes.

2008-05-09 02:14  zmedico

	* [r10256] pym/_emerge/__init__.py: Make the fix for bug #220341
	  better by checking all selected packages for matching cpv rather
	  than just the last one.

2008-05-09 01:49  zmedico

	* [r10254] pym/_emerge/__init__.py: Optimize
	  BlockerDB.findInstalledBlockers() so that it doesn't
	  unnecessarily try to match packages against an empty set of
	  blocker atoms.

2008-05-08 21:51  zmedico

	* [r10252] pym/_emerge/__init__.py: Bug #220987 - Fix
	  UnboundLocalError for 'skip' that only occurs when using
	  alternate ROOT. Thanks to Ryan Tandy <tarpman@gmail.com>.

2008-05-08 21:18  zmedico

	* [r10250] pym/portage/dbapi/vartree.py: Make some confmem behavior
	  modifications in order to try and 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.

2008-05-08 19:46  zmedico

	* [r10246] pym/_emerge/__init__.py: Remove stale uninstall tasks
	  from scheduled_uninstalls when necessary.

2008-05-08 19:03  zmedico

	* [r10241] pym/_emerge/__init__.py: Remove unnecessary BlockerDB
	  and BlockerCache _installed_pkgs attributes.

2008-05-08 18:35  zmedico

	* [r10239] pym/_emerge/__init__.py: Don't save "uninstall" tasks in
	  the resume list since they'll be regenerated by dependency
	  calculations upon resume.

2008-05-08 17:37  zmedico

	* [r10237] pym/_emerge/__init__.py: Bug #220341 - USE=multislot can
	  make an installed package 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.

2008-05-08 17:08  zmedico

	* [r10235] bin/dodoc: Bug #220775 - Source isolated-functions.sh
	  before trying to call vecho.

2008-05-08 16:52  zmedico

	* [r10233] pym/_emerge/__init__.py: Bug #220689 - Fix package
	  selection logic so that it doesn't trigger the code path from bug
	  219369 in some unwanted cases.

2008-05-08 10:33  zmedico

	* [r10231] pym/portage/dbapi/vartree.py: Don't use try/finally to
	  close atomic_ofstream since we don't want to call close() on this
	  stream if an error occurs.

2008-05-08 09:26  zmedico

	* [r10229] pym/_emerge/__init__.py: Fix findInstalledBlockers() to
	  check for blockers in both directions.

2008-05-08 07:48  zmedico

	* [r10225] doc/dependency_resolution/task_scheduling.docbook,
	  pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py: Instead of doing automatic
	  uninstalls in advance, install 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.

2008-05-07 18:49  zmedico

	* [r10224] pym/_emerge/__init__.py: Tolerate InvalidDependString
	  exceptions when checking visibility of installed packages.

2008-05-07 17:06  zmedico

	* [r10222] man/color.map.5: Fix spelling of "SATISFIED". Thanks to
	  Arfrever.

2008-05-06 20:26  zmedico

	* [r10220] bin/misc-functions.sh: In install_mask(), discard stderr
	  messages from the 'find' command since some tokens from
	  INSTALL_MASK can trigger lots of warnings and errors that are
	  irrelevant for our purposes.

2008-05-06 01:34  zmedico

	* [r10218] man/color.map.5, pym/portage/output.py: Make satisfied
	  blockers "darkblue" by default.

2008-05-06 00:36  zmedico

	* [r10216] pym/_emerge/__init__.py: For consistency with the merge
	  list display, show "block" instead of "blocker" in the summary.

2008-05-06 00:12  zmedico

	* [r10214] man/color.map.5, pym/_emerge/__init__.py,
	  pym/portage/output.py: Display satisfied blockers in green and
	  show a small "b" instead of a big "B" (similar to "f" for
	  satisfied fetch restrictions).

2008-05-05 21:50  zmedico

	* [r10212] bin/misc-functions.sh: Use find -path -or -name to match
	  basenames of files in INSTALL_MASK as suggested by solar in bug
	  #219286, comment #8.

2008-05-05 21:06  zmedico

	* [r10210] pym/_emerge/__init__.py: Cache results for
	  Task.__hash__() calls.

2008-05-05 19:29  zmedico

	* [r10208] pym/portage/dbapi/vartree.py: Use
	  vardbapi._excluded_dirs to filter results inside cp_list().

2008-05-05 19:22  zmedico

	* [r10206] pym/portage/dbapi/vartree.py: Add -MERGING-.* to
	  vardbapi._excluded_dirs.

2008-05-05 18:40  zmedico

	* [r10204] pym/portage/dbapi/vartree.py: * In vardbapi.cpv_all()
	  use catpkgsplit() for validation since that's what with cp_all()
	  uses. * Use the listdir() dirsonly=1 parameter to avoid
	  unnecessary stat calls via os.path.isdir().

2008-05-05 16:55  zmedico

	* [r10202] pym/portage/dbapi/vartree.py: Handle a potential
	  InvalidData exception in vardbapi.cp_all().

2008-05-05 08:58  genone

	* [r10200] pym/portage/dbapi/vartree.py: fix preserve_libs logic to
	  properly account for the current package instance

2008-05-05 06:35  zmedico

	* [r10198] pym/portage/const.py: Add "package" to EBUILD_PHASES
	  since it's possible for einfo to be called by install_mask()
	  during that phase.

2008-05-05 05:56  zmedico

	* [r10195] bin/isolated-functions.sh, pym/portage/__init__.py: Bug
	  #219286 - Whitelist INSTALL_MASK so that it works 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.

2008-05-05 05:07  zmedico

	* [r10194] pym/_emerge/__init__.py: * Fix --buildpkgonly logic to
	  avoid an unwanted code path. * Remove unnecessary
	  mtimedb.pop("resume", None) call.

2008-05-05 04:44  zmedico

	* [r10192] pym/portage/dbapi/vartree.py: Bug #220171 - Filter out
	  'lost+found' directories in vardbapi.cpv_all() in order to avoid
	  fatal 'Permission denied' errors. Currently, CVS and names
	  beginning with '.' are also filtered.

2008-05-05 03:30  zmedico

	* [r10190] pym/_emerge/__init__.py: Use writemsg() to warn about
	  InvalidDependString exceptions that may occur for installed
	  packages.

2008-05-05 03:27  zmedico

	* [r10188] pym/_emerge/__init__.py: Use a separate digraph to
	  preserve irrelevant blocker relationships that are removed from
	  depgraph._blocker_parents since the irrelevant blockers are still
	  needed for the blocker cache.

2008-05-05 03:18  zmedico

	* [r10186] pym/_emerge/__init__.py: Fix misplaced variable.

2008-05-04 19:41  zmedico

	* [r10184] pym/_emerge/__init__.py, pym/portage/const.py: In the
	  package uninstall sanity check, use RDEPEND from the currently
	  running 'sys-apps/portage' instance to create a set of protected
	  atoms.

2008-05-04 14:16  genone

	* [r10182] pym/portage/dbapi/vartree.py: actually remove libraries
	  that aren't strictly needed from the preservation candidate list

2008-05-04 13:00  genone

	* [r10180] pym/portage/dbapi/vartree.py: remove NEEDED from list of
	  metadata variables (and associated special handling) as it's no
	  longer used

2008-05-04 12:55  genone

	* [r10179] pym/portage/dbapi/vartree.py: remove obsolete class

2008-05-04 08:06  zmedico

	* [r10171] pym/_emerge/__init__.py: Similar to the sys-apps/portage
	  protection, also add protection against inappropriately
	  uninstalling either app-shells/bash or dev-lang/python.

2008-05-04 06:39  zmedico

	* [r10165] pym/_emerge/__init__.py: Do more validation of resume
	  data from the mtimedb.

2008-05-04 05:25  zmedico

	* [r10162] pym/_emerge/__init__.py: In order to fix --tree display
	  behave normally in --resume mode, properly add to the digraph all
	  packages matched by arguments.

2008-05-04 04:20  zmedico

	* [r10160] pym/_emerge/__init__.py: Fix misplaced variable used as
	  parameter to _load_favorites().

2008-05-04 03:46  zmedico

	* [r10157] pym/_emerge/__init__.py: Fix package counters in
	  depgraph.display() so they're only incremented for "ordered"
	  display nodes.

2008-05-04 03:24  zmedico

	* [r10155] pym/_emerge/__init__.py: Fix some unwanted interaction
	  between --tree display and unsatisfied blockers in
	  depgraph.display().

2008-05-04 02:09  zmedico

	* [r10153] pym/_emerge/__init__.py: Remove obsolete tuple() usage
	  inside depgraph.display().

2008-05-04 01:48  zmedico

	* [r10151] pym/_emerge/__init__.py: Fix spelling of
	  _show_unsatisfied_blockers().

2008-05-04 01:04  zmedico

	* [r10149] pym/_emerge/__init__.py: In BlockerData._load(), salvage
	  as much cache as possible when some seems to be corrupt.

2008-05-04 00:48  zmedico

	* [r10147] pym/_emerge/__init__.py: Validate all the data types
	  inside BlockerCache._load() so that any corruption is detected as
	  soon as possible.

2008-05-03 23:09  zmedico

	* [r10145] pym/_emerge/__init__.py: When a resume list is rejected,
	  display the invalid resume list data in case the user is
	  interested. This is enabled with --verbose or --debug.

2008-05-03 21:57  zmedico

	* [r10143] pym/_emerge/__init__.py: When a --resume list is
	  rejected due to unsatisfied deps, display a list of missing deps
	  and which packages they belong to.

2008-05-03 21:22  zmedico

	* [r10141] pym/_emerge/__init__.py: Don't clean out old resume
	  lists when in --ask or --pretend mode.

2008-05-03 21:08  zmedico

	* [r10139] pym/_emerge/__init__.py: When loadResumeCommand()
	  rejects a resume list, give a more informative explanation.

2008-05-03 19:48  zmedico

	* [r10137] pym/_emerge/__init__.py: Fix display_problems() logic
	  some more.

2008-05-03 19:39  zmedico

	* [r10136] pym/_emerge/__init__.py: Fix logic so display_problems()
	  gets called every time display() does.

2008-05-03 19:00  zmedico

	* [r10134] pym/_emerge/__init__.py: Improve --resume handling of
	  saved "favorites" argument 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.

2008-05-03 08:21  zmedico

	* [r10132] pym/_emerge/__init__.py: * Move circular deps and
	  blocker displays to depgraph.display_problems(). * Always call
	  display_problems() since calling it from inside display() can
	  lead to unwanted recursion.

2008-05-03 05:53  zmedico

	* [r10130] pym/_emerge/__init__.py: Similar to the circular
	  dependency display, handle the unsatisfied blocker display inside
	  _serialize_tasks() since that's a convenient place to bail out.

2008-05-03 04:16  zmedico

	* [r10127] bin/emerge-webrsync: Use absolute paths for files in
	  ${DISTDIR}. Thanks to RB <aoz.syn@gmail.com> for this patch.

2008-05-03 04:13  zmedico

	* [r10126] bin/emerge-webrsync: Buf #219294 - Fix 'date' and 'cut'
	  arguments for BSD userland. Thanks to RB <aoz.syn@gmail.com> for
	  this patch.

2008-05-03 03:47  zmedico

	* [r10124] pym/_emerge/__init__.py: Also move mtimedb resume list
	  validation earlier.

2008-05-03 03:43  zmedico

	* [r10123] pym/_emerge/__init__.py: Move --resume options handling
	  to the beginning of action_build() so that the current options
	  are updated with the saved options as soon as possible.

2008-05-03 03:27  zmedico

	* [r10121] pym/_emerge/__init__.py: Make --nodepa automatically
	  disable --tree.

2008-05-03 02:55  zmedico

	* [r10119] pym/_emerge/__init__.py: Fix
	  depgraph.loadResumeCommand() to identify an unsatisfied
	  dependency and invalidate the resume list in that case.

2008-05-03 02:24  zmedico

	* [r10117] pym/_emerge/__init__.py: Delete the resume list(s) if
	  there is an unsatisfied block.

2008-05-03 02:17  zmedico

	* [r10116] pym/_emerge/__init__.py: Add --nodeps to the
	  parallel-fetch --resume options since recalculation of deps is a
	  a waste here.

2008-05-03 02:14  zmedico

	* [r10115] pym/_emerge/__init__.py: Fix --resume mode to check for
	  unsatisfied blockers and bail out when necessary.

2008-05-03 01:42  zmedico

	* [r10114] pym/_emerge/__init__.py: * Check for masked packages in
	  the --resume merge list and 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.

2008-05-02 22:32  zmedico

	* [r10112] pym/_emerge/__init__.py: Add a
	  PackageVirtualDbapi.__iter__() method and use it to iterate over
	  all installed packages in depgraph.validate_blockers().

2008-05-02 22:11  zmedico

	* [r10110] pym/_emerge/__init__.py: Use match_pkgs() to simplify
	  package comparison.

2008-05-02 21:47  zmedico

	* [r10108] pym/_emerge/__init__.py: Move the blocker cache
	  validation into depgraph.validate_blockers().

2008-05-02 21:09  zmedico

	* [r10106] pym/_emerge/__init__.py: In
	  depgraph.validate_blockers(), discard any "uninstall" tasks
	  scheduled by previous calls, since those tasks may not make sense
	  given the current graph state.

2008-05-02 20:30  zmedico

	* [r10104] pym/_emerge/__init__.py: When searching for a
	  "sys-apps/portage" installation task, use match_pkgs() instead of
	  sequential search.

2008-05-02 20:16  zmedico

	* [r10102] pym/_emerge/__init__.py: Use Package.cp attribute
	  instead of calling cpv_getkey().

2008-05-02 19:58  zmedico

	* [r10100] pym/_emerge/__init__.py: Use Package instance attributes
	  to clean up and simplify depgraph.validate_blockers().

2008-05-02 19:20  zmedico

	* [r10098] pym/_emerge/__init__.py: In depgraph._serialize_tasks(),
	  filter "nomerge" nodes at a more appropriate place.

2008-05-02 19:02  zmedico

	* [r10096] pym/_emerge/__init__.py: In depgraph._complete_graph(),
	  use cached Package instances instead of constructing new ones.

2008-05-02 18:27  zmedico

	* [r10094] pym/_emerge/__init__.py: Validate resume list data some
	  more.

2008-05-02 17:47  zmedico

	* [r10092] pym/_emerge/__init__.py: Clean up merge list handling: *
	  In 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.

2008-05-02 10:46  genone

	* [r10086] doc/config/sets.docbook: Update documentation for
	  package set configuration. Original patch by Arfrever Frehtes
	  Taifersar Arahesis

2008-05-02 10:04  genone

	* [r10085] bin/misc-functions.sh, pym/portage/dbapi/vartree.py:
	  rename NEEDED.2 to NEEDED.ELF.2 to allow other ABI formats to use
	  a different syntax

2008-05-02 09:35  genone

	* [r10083] pym/portage/dbapi/vartree.py: fix typo

2008-05-02 09:28  genone

	* [r10082] pym/portage/dbapi/vartree.py: use special symlink
	  comparison code (original patch from prefix r9499)

2008-05-02 08:20  genone

	* [r10081] cnf/sets.conf, pym/_emerge/__init__.py,
	  pym/portage/dbapi/vartree.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/libs.py: v2 of FEATURES=preserved-libs, using
	  LinkageMap instead of the now removed LibraryPackageMap class

2008-05-02 05:09  genone

	* [r10080] pym/_emerge/__init__.py: do not consider sets to be
	  installed that are about to be unmerged

2008-05-02 05:00  genone

	* [r10079] pym/_emerge/__init__.py: move cleaning of sets out of
	  package loop

2008-05-02 04:57  genone

	* [r10078] pym/_emerge/__init__.py, pym/portage/sets/base.py:
	  properly remove sets from 'world' when unmerging

2008-05-02 04:17  genone

	* [r10077] cnf/sets.conf, pym/_emerge/__init__.py,
	  pym/portage/sets/__init__.py, pym/portage/sets/base.py: add
	  config option for package sets to not be recorded in 'world'

2008-05-02 03:24  genone

	* [r10075] pym/portage/sets/__init__.py: check if a given package
	  set is defined more than once

2008-05-02 03:23  genone

	* [r10073] pym/portage/sets/files.py: remove 'sets/' name-prefix
	  for file-based package sets

2008-05-02 03:23  zmedico

	* [r10072] pym/_emerge/__init__.py: Fix broken variable references
	  found by pyflakes.

2008-05-02 02:56  zmedico

	* [r10070] bin/emerge-webrsync: Skip group/owner tarsync options
	  for tarsync if chown on /usr/portage fails, since the user might
	  still be able to sync even though the chown call is not
	  permitted.

2008-05-02 02:53  genone

	* [r10069] pym/portage/__init__.py: check if PORTAGE_TMPDIR is
	  mounted readonly/noexec (bug #219957)

2008-05-02 02:27  zmedico

	* [r10067] bin/emerge-webrsync: Bug #219837 - Adjust date
	  calculations some more and show an informative ewarn message when
	  bailing out due to a newer snapshot being unavailable.

2008-05-01 20:33  zmedico

	* [r10065] pym/_emerge/__init__.py: Fix variable rename breakage:
	  pkg -> pkg.cpv

2008-05-01 19:15  zmedico

	* [r10062] pym/_emerge/__init__.py: When adding blockers for
	  installed packages to the graph, use cached Package instances
	  instead of constructing new ones.

2008-05-01 07:26  zmedico

	* [r10056] bin/emerge-webrsync: Detect an old version of tarsync
	  and use bzip2 compression in that case.

2008-05-01 05:42  zmedico

	* [r10054] pym/_emerge/__init__.py: Sort blockers when caching
	  them.

2008-05-01 05:30  zmedico

	* [r10052] pym/_emerge/__init__.py: Don't add blockers to the graph
	  more times than necessary.

2008-05-01 04:17  zmedico

	* [r10050] pym/_emerge/__init__.py: * Add a Package.operation
	  attribute and use it to distinguish "uninstall" operations.

2008-04-30 18:25  zmedico

	* [r10047] bin/emerge-webrsync: Bug #219837 - Adjust date
	  calculations to improve accuracy.

2008-04-30 09:00  zmedico

	* [r10045] pym/_emerge/__init__.py: Handle a KeyError when
	  validating the blocker cache.

2008-04-30 08:46  zmedico

	* [r10043] pym/_emerge/__init__.py: Fix broken comparison, compare
	  with None instead of nonzero.

2008-04-30 08:40  zmedico

	* [r10042] pym/_emerge/__init__.py: Fix logic to re-use blockers
	  from the graph when populating the blocker cache.

2008-04-30 08:30  zmedico

	* [r10041] pym/_emerge/__init__.py, pym/portage/__init__.py: * Fix
	  dep_check() so that it doesn't expand virtual blockers 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.

2008-04-30 00:09  zmedico

	* [r10039] pym/_emerge/__init__.py: Fix "deep" logic in
	  depgraph._complete_graph() so that it always properly recognizes
	  whether or not "deep" was previously enabled.

2008-04-29 18:02  zmedico

	* [r10037] pym/_emerge/__init__.py: Make unmerge() group packages
	  by cat/pn when the order doesn't matter, so the display appears
	  like earlier versions of portage.

2008-04-29 03:13  zmedico

	* [r10035] pym/_emerge/__init__.py: Prevent some more visible
	  downgrades from possibly being missed (bug #219369).

2008-04-29 03:02  zmedico

	* [r10034] pym/_emerge/__init__.py: Prevent some more visible
	  downgrades from possibly being missed (bug #219369).

2008-04-28 22:22  zmedico

	* [r10032] pym/_emerge/__init__.py: Handle a potential KeyError in
	  depgraph.display() when in --resume mode and a package scheduled
	  for uninstall is no longer installed.

2008-04-28 21:15  zmedico

	* [r10030] pym/_emerge/__init__.py: When a package scheduled for
	  uninstall isn't installed anymore, move on to the next task.

2008-04-28 20:44  zmedico

	* [r10028] pym/_emerge/__init__.py: Fix spelling.

2008-04-28 20:29  zmedico

	* [r10026] pym/_emerge/__init__.py: Add a Package.pv_split attibute
	  to optimize version comparison operators.

2008-04-28 17:33  zmedico

	* [r10024] pym/portage/dbapi/vartree.py: For bug #211833, be
	  explicit that the pkg_prerm() and pkg_postrm() removal phases are
	  the ones that are skipped.

2008-04-28 17:20  zmedico

	* [r10022] pym/portage/dbapi/vartree.py: As suggested by Chr.
	  Schaefer in bug #211833, comment #15, note that removal of the
	  environment.bz2 file is preferred since it may allow the removal
	  phases to execute successfully.

2008-04-28 06:00  zmedico

	* [r10020] pym/_emerge/__init__.py: Add comma to ("__weakref__",)
	  so that it's a tuple instead of a string. Thanks to ferringb.

2008-04-28 03:35  zmedico

	* [r10018] pym/portage/dbapi/vartree.py: Try to format the elog
	  message better for bug #211833, separating paragraphs for easier
	  reading.

2008-04-28 02:34  zmedico

	* [r10016] pym/portage/manifest.py: Use write_atomic() for manifest
	  updates.

2008-04-28 02:03  zmedico

	* [r10014] pym/_emerge/__init__.py: Fix
	  PackageVirtualDbapi.cpv_inject() to make sure packages with
	  duplicate cpv or slot are handled correctly.

2008-04-28 01:22  zmedico

	* [r10009] pym/portage/dbapi/vartree.py: Bug #211833 - When an
	  ebuild removal phase fails, notify the 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.

2008-04-28 01:02  zmedico

	* [r10008] pym/_emerge/__init__.py: Add missing slot comparison
	  when looking for higher slot in _iter_atoms_for_pkg().

2008-04-28 00:52  zmedico

	* [r10007] pym/_emerge/__init__.py: Bug #218854 - Fix
	  depgraph._iter_atoms_for_pkg() so that argument atoms only match
	  the highest visible slot.

2008-04-27 21:25  zmedico

	* [r10006] pym/repoman/checks.py: Fix the EbuildQuote check to
	  ignore "echo" and the elog functions since people might not want
	  quotes in those cases.

2008-04-27 20:52  zmedico

	* [r10005] pym/_emerge/__init__.py: * Remove the only remaining
	  sys.exit() calls inside the depgraph class. * Fix
	  _unknown_internal_error() to work with zero arguments.

2008-04-27 20:15  zmedico

	* [r10003] pym/_emerge/__init__.py: Never uninstall
	  sys-apps/portage except through replacement.

2008-04-27 19:52  zmedico

	* [r10001] pym/_emerge/__init__.py: Bug #219369 - Enable automatic
	  upgrage or downgrade to a 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.

2008-04-27 09:19  genone

	* [r9998] bin/misc-functions.sh: fix logic error

2008-04-27 08:56  genone

	* [r9997] bin/misc-functions.sh: actually use rpath for the
	  internal lib check

2008-04-27 08:22  genone

	* [r9996] bin/misc-functions.sh: some minor code fixes

2008-04-27 07:22  zmedico

	* [r9994] pym/_emerge/__init__.py: Take the classes that initialize
	  variables in __slots__ with keyword constructor arguments and
	  make them all derive from a new SlotObject class.

2008-04-27 06:31  zmedico

	* [r9992] pym/_emerge/__init__.py, pym/portage/__init__.py: Create
	  a digraph.difference_update() method and use it to amortize the
	  cost of removing nodes from the digraph.order list.

2008-04-27 00:43  zmedico

	* [r9990] pym/_emerge/__init__.py: Remove unnecessary "mydbapi"
	  variable in depgraph.display().

2008-04-27 00:10  zmedico

	* [r9983] pym/_emerge/__init__.py: Bug #172812 - When a package
	  needs to be uninstalled in 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.

2008-04-26 20:23  zmedico

	* [r9982] pym/_emerge/__init__.py: Add a PackageVirtualDbapi.copy()
	  method.

2008-04-26 20:16  zmedico

	* [r9981] pym/_emerge/__init__.py, pym/portage/__init__.py: Use
	  digraphs to clean up blocker reference counting in the depgraph.

2008-04-26 05:13  zmedico

	* [r9980] pym/_emerge/__init__.py: Don't assume that altlist() will
	  succeed inside display_problems().

2008-04-26 03:55  zmedico

	* [r9979] pym/_emerge/__init__.py: * Add a Blocker class to use
	  instead of tuples. * Fix the Task constructor to properly
	  traverse __slots__ of all inherited classes.

2008-04-26 01:10  genone

	* [r9978] pym/portage/dbapi/vartree.py: add LibraryPackageMap
	  replacement using NEEDED.2 files

2008-04-25 22:26  zmedico

	* [r9977] pym/_emerge/__init__.py: Refactor the way that
	  depgraph.altlist(), _complete_graph(), and validate_blockers()
	  interact with eachother. This simplifies things by eliminating
	  the need for recursive calls to validate_blockers().

2008-04-25 18:39  zmedico

	* [r9976] pym/portage/sets/__init__.py: Bug #219251 - Fix typo in
	  PORTDIR_OVERLAY when searching for sets.conf files. Thanks to
	  Manuel Nickschas <sputnick@quassel-irc.org> for fixing this.

2008-04-25 06:33  zmedico

	* [r9972] doc/dependency_resolution/task_scheduling.docbook: s/be
	  only/only be/

2008-04-25 03:41  genone

	* [r9971] pym/portage/dbapi/vartree.py: remove debug output

2008-04-25 03:39  genone

	* [r9970] bin/misc-functions.sh, pym/portage/dbapi/vartree.py: as
	  NEEDED files don't conain enough formation for e.g.
	  preserve-libsto work properly and we don't want to change the
	  format of existing files create another file including additional
	  information

2008-04-25 03:16  zmedico

	* [r9968] pym/_emerge/__init__.py: Add some more spinner.update()
	  calls in possibly time consuming loops.

2008-04-25 03:00  genone

	* [r9967] pym/portage/dbapi/porttree.py: remove unused function

2008-04-25 01:53  zmedico

	* [r9965] doc/dependency_resolution/task_scheduling.docbook,
	  pym/_emerge/__init__.py: Bug #172812 - If any Uninstall tasks
	  need to be executed in 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).

2008-04-24 20:43  zmedico

	* [r9964] pym/_emerge/__init__.py: Update description of "complete"
	  depgraph param.

2008-04-24 20:40  zmedico

	* [r9963] pym/_emerge/__init__.py: Rename the "consistent" depgraph
	  parameter to "complete" since what it really means is that the
	  graph will be complete in the sense that no known dependencies
	  are neglected.

2008-04-24 03:58  zmedico

	* [r9959] RELEASE-NOTES: Add a note about automatic uninstallation
	  to solve blockers.

2008-04-24 03:17  zmedico

	* [r9956] pym/_emerge/__init__.py: Fix interaction between
	  automatic uninstall and options like --pretend, --fetchonly, and
	  --buildpkgonly.

2008-04-24 02:55  zmedico

	* [r9955] pym/_emerge/__init__.py: Handle potential
	  InvalidDependString exceptions when match packages to system and
	  world atoms in depgraph.altlist().

2008-04-24 02:48  zmedico

	* [r9954] pym/_emerge/__init__.py: Fix broken mtimedb resume list
	  handling for automatic uninstall tasks.

2008-04-24 02:31  zmedico

	* [r9953] pym/_emerge/__init__.py: Combine --nodeps spinner logic.

2008-04-24 02:21  zmedico

	* [r9952] pym/_emerge/__init__.py: Bug #172812 - When automatically
	  uninstalling packages, build the next package in the merge list
	  before executing scheduled uninstall tasks.

2008-04-24 02:09  zmedico

	* [r9951] pym/_emerge/__init__.py: Split out a
	  _dequeue_uninstall_tasks() method.

2008-04-24 01:49  zmedico

	* [r9950] pym/_emerge/__init__.py: Reset the state variables for
	  leaf node selection in depgraph.altlist() when appropriate.

2008-04-23 23:58  zmedico

	* [r9949] pym/_emerge/__init__.py: Bug #172812 - Protect packages
	  from being removed from the world file during automatic
	  uninstallation.

2008-04-23 23:53  zmedico

	* [r9948] doc/dependency_resolution/task_scheduling.docbook: Bug
	  #172812 - Document new automatic uninstallation behavior in the
	  "Conflict Avoidance" section.

2008-04-23 23:04  zmedico

	* [r9947] man/color.map.5: s/unmerge/uninstall/ for consistency.

2008-04-23 22:37  zmedico

	* [r9946] man/color.map.5, pym/_emerge/__init__.py,
	  pym/portage/output.py: Bug #172812 - Automatically uninstall
	  packages to avoid 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.

2008-04-22 23:40  zmedico

	* [r9945] pym/_emerge/__init__.py: Bug #172812 - Add an Uninstall
	  class derived from the Package class, for packages that may need
	  to be uninstalled to avoid conflicts.

2008-04-22 18:29  zmedico

	* [r9943] pym/portage/getbinpkg.py: Make dir_get_metadata() retry
	  if a httplib.ResponseNotReady exception occurs.

2008-04-21 19:43  zmedico

	* [r9941] pym/_emerge/help.py: Swap --nospinner and --oneshot for
	  alphabetical ordering.

2008-04-21 19:41  zmedico

	* [r9940] pym/_emerge/help.py: Bug #218439 - Improve alignment in
	  short emerge --help options output.

2008-04-21 18:54  zmedico

	* [r9938] pym/_emerge/__init__.py: In show_slot_collision_notice(),
	  refer to the problem as a "slot conflict" since that's how I'm
	  refering to it in the docs.

2008-04-21 16:55  zmedico

	* [r9936] pym/_emerge/__init__.py: In action_metadata(), properly
	  put the source cache in readonly mode.

2008-04-21 05:14  zmedico

	* [r9934] RELEASE-NOTES, man/emerge.1, man/portage.5: Document
	  FEATURES="metadata-transfer" changes some more.

2008-04-21 04:26  zmedico

	* [r9932] man/make.conf.5: Fix portage version, should be >=2.1.5.

2008-04-21 04:00  zmedico

	* [r9930] cnf/make.globals, man/make.conf.5, man/portage.5,
	  pym/portage/dbapi/porttree.py: * Make portdbapi.aux_get()
	  automatically pull pre-generated 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.

2008-04-20 20:50  zmedico

	* [r9928] bin/portageq, pym/portage/dbapi/porttree.py: Bug #218559
	  - Make portdbapi automatically add sandbox write access to
	  self.depcachedir when appropriate. This makes the portageq
	  blanket sandbox exemption unnecessary.

2008-04-18 21:30  zmedico

	* [r9926] doc/dependency_resolution,
	  doc/dependency_resolution.docbook,
	  doc/dependency_resolution/decision_making.docbook,
	  doc/dependency_resolution/package_modeling.docbook,
	  doc/dependency_resolution/task_scheduling.docbook,
	  doc/portage.docbook: Add a new part for "Dependency Resolution".

2008-04-18 04:13  zmedico

	* [r9924] pym/_emerge/__init__.py: Bug #218202 - Make sure the
	  spinner is quiet in --nodep mode.

2008-04-18 01:43  zmedico

	* [r9922] pym/portage/__init__.py: Make the ccache userpriv
	  permission check from bug #162542 less sensitive by skipping
	  permission checks on files and just checking the directories.

2008-04-16 22:29  zmedico

	* [r9920] pym/portage/__init__.py: Remove redundant version sorting
	  in _expand_new_virtuals() since the dbapi match results are
	  already sorted.

2008-04-16 18:08  zmedico

	* [r9918] pym/portage/dbapi/porttree.py: Fix
	  portdbapi.getfetchlist() so that it doesn't unnecessarily
	  calculate USE when the "all" parameter is True.

2008-04-16 18:02  zmedico

	* [r9916] pym/portage/dbapi/porttree.py: If the mysettings
	  parameter is not passed in to portdbapi.getfetchlist() then
	  substitue self.doebuild_settings since that one is mutable which
	  is necessary in case setcpv() needs to be called.

2008-04-16 17:54  zmedico

	* [r9914] pym/portage/dbapi/porttree.py: Bug #217905 - Fix
	  portdbapi.getfetchlist() to correctly calculate USE when the
	  useflags parameter is not passed in.

2008-04-16 00:19  zmedico

	* [r9912] pym/_emerge/__init__.py: Handle potential
	  InvalidDependString exceptions from visible().

2008-04-15 23:11  zmedico

	* [r9910] pym/portage/dbapi/vartree.py: Inside dblink.unmerge(),
	  call self.updateprotect() just in case anything has changed since
	  the dblink instance was constructed.

2008-04-15 17:54  zmedico

	* [r9906] NEWS: The dependency resolver now has a feedback
	  mechanism that helps make atom selections more consistent with
	  previous selections that have been added to the graph. This
	  solves some common cases of bug #1343.

2008-04-15 17:14  zmedico

	* [r9904] pym/_emerge/__init__.py: Comment some more on the
	  significance of passing the graph_db and parent into
	  depgraph._select_atoms() to solve some cases of bug #1343 while
	  avoiding unresolvable direct circular dependencies.

2008-04-15 06:13  zmedico

	* [r9901] pym/_emerge/__init__.py, pym/portage/__init__.py: Add
	  support to depgraph._select_atoms() to take a "parent" 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.

2008-04-15 03:49  zmedico

	* [r9900] pym/_emerge/__init__.py: Revert part of atom selection
	  consistency improvement from 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.

2008-04-14 23:52  zmedico

	* [r9898] pym/_emerge/__init__.py: Bug #217664 - Fix emerge 'by
	  path' package argument handling so that Package instances are
	  properly cached (avoiding a KeyError later).

2008-04-14 21:13  zmedico

	* [r9896] pym/portage/__init__.py: In config.setcpv() and
	  regenerate(), replace 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.

2008-04-14 19:18  zmedico

	* [r9895] pym/portage/dbapi/vartree.py: Fix issues with an empty
	  string being passed into PreservedLibsRegistry.register() now
	  that COUNTER is not loaded via config.load_infodir(). Thanks to
	  grobian for reporting.

2008-04-14 17:00  zmedico

	* [r9891] pym/portage/__init__.py: Revert back to using startwith
	  because I screwed up my benchmark and it turns out starswith is
	  faster than using regular expressions.

2008-04-14 16:32  zmedico

	* [r9890] pym/portage/__init__.py: When regenerating USE_EXPAND in
	  config.setcpv(), improve performance by using regular expression
	  instead of str.startswith().

2008-04-14 01:23  zmedico

	* [r9886] pym/_emerge/__init__.py: Fix some breakage in the
	  allow_unsatisfied handling.

2008-04-14 01:12  zmedico

	* [r9885] pym/_emerge/__init__.py: Call depgraph._add_dep() to add
	  package dependencies to the graph as soon as possible rather than
	  pushing them onto the stack.

2008-04-14 00:59  zmedico

	* [r9884] pym/_emerge/__init__.py: Split out a depgraph._add_dep()
	  method.

2008-04-14 00:22  zmedico

	* [r9883] bin/emerge-webrsync: s/timetasmp/timestamp/

2008-04-14 00:09  zmedico

	* [r9882] pym/portage/sets/files.py: Fix some more broken logic
	  inside WorldSet.load().

2008-04-14 00:03  zmedico

	* [r9881] pym/portage/sets/files.py: Fix buggy logic in
	  WorldSet.load() that causes it to discard all of it's atoms in
	  some cases (leading to loss of the whole world file).

2008-04-13 23:18  zmedico

	* [r9879] pym/_emerge/__init__.py: * For optimal atom selection,
	  use PackageVirtualDbapi 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.

2008-04-13 21:49  zmedico

	* [r9874] pym/_emerge/__init__.py: To optimize consistency of atom
	  selections, add all of the root packages to the graph before
	  processing any dependencies.

2008-04-13 19:57  zmedico

	* [r9873] pym/_emerge/__init__.py: Improve lookahead for new-style
	  virtuals:
	  
	  * Substitue the 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.

2008-04-13 19:17  zmedico

	* [r9872] pym/_emerge/__init__.py: Fix the _dep_check_composite_db
	  visibility filtering some more.

2008-04-13 19:03  zmedico

	* [r9871] pym/_emerge/__init__.py: Fix
	  _dep_check_composite_db.match() so that it doesn't exempt the
	  highest slot from visibility checks.

2008-04-13 18:01  zmedico

	* [r9870] pym/_emerge/__init__.py: Make _dep_check_composite_db
	  match() return multiple slots so that it behaves more like other
	  dbapi instances would, and also make it inherit from dbapi.

2008-04-13 07:49  genone

	* [r9866] pym/portage/sets/files.py: store sets in a different
	  physical location than normal packages for 'world' (makes
	  ferringb a bit happier, and might have other advantages in the
	  future)

2008-04-13 07:43  zmedico

	* [r9865] pym/portage/__init__.py: Convert st_mtime to long for
	  movefile() return type.

2008-04-13 07:32  zmedico

	* [r9864] pym/portage/__init__.py: Make movefile() tolerant to
	  EPERM errors that can be raised from utime() calls. Instead of
	  failing, use stat() to return the mtime if possible.

2008-04-13 05:36  genone

	* [r9862] pym/portage/dbapi/vartree.py: fix check for other lib
	  copies to properly exclude the current package

2008-04-13 01:53  zmedico

	* [r9860] pym/_emerge/__init__.py: In --buildpkgonly mode, don't
	  discard RDEPEND and PDEPEND if --empty or --deep are enabled. The
	  makes it possible to run `emerge -eB world` and have every single
	  package rebuilt (without actually installing anything).

2008-04-12 20:32  zmedico

	* [r9858] pym/portage/__init__.py: Fix the filtering for bug
	  #215016:
	  
	  * fix broken comparison for he iuse filtering * filter out any
	  duplicates that variable may contain

2008-04-12 19:52  zmedico

	* [r9856] bin/ebuild.sh: Bug #217444 - Send debug-print() output to
	  stderr so that it can't interfere with command substitution.
	  Thanks to Fabio Rossi <rossi.f@inwind.it> for this patch.

2008-04-12 19:37  zmedico

	* [r9854] pym/portage/__init__.py: * Optimize config.setcpv() to
	  return early if IUSE has not changed since the previous setcpv()
	  call.
	  
	  * Add EBUILD_PHASE to the blacklisted variables list.

2008-04-12 18:44  zmedico

	* [r9852] pym/portage/__init__.py: Bug #215016 - When transforming
	  of USE flags to USE_EXPAND 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().

2008-04-12 09:16  zmedico

	* [r9850] pym/portage/dbapi/bintree.py: Make
	  binarytree.prevent_collision() adjust permissions on directories
	  and raise a PermissionDenied error if the required directories is
	  not writable.

2008-04-11 23:32  zmedico

	* [r9848] RELEASE-NOTES, man/make.conf.5: Add some notes for the
	  parallel-fetch feature and the new --complete-graph option for
	  emerge.

2008-04-11 22:56  zmedico

	* [r9846] man/emerge.1, pym/_emerge/__init__.py,
	  pym/_emerge/help.py: Rename the undocumented --conistent option
	  to --complete-graph and add some docs.

2008-04-11 21:58  zmedico

	* [r9844] pym/portage/getbinpkg.py: Make file_get() redirect
	  FETCHCOMMAND output to stdout just like portage.fetch() does.
	  Thanks to Ramereth for reporting.

2008-04-11 21:19  zmedico

	* [r9842] pym/portage/__init__.py: Fix 'undefined name' errors
	  found by pyflakes.

2008-04-11 20:23  zmedico

	* [r9840] pym/portage/__init__.py: Fix the code from the previous
	  commit so that it doesn't try to pull USE from a portdbapi
	  instance (like when called by repoman) since portdbapi doesn't
	  return USE in aux_get() calls.

2008-04-11 20:11  zmedico

	* [r9839] pym/portage/__init__.py: When dep_check() expands
	  new-style virtuals, use USE flags 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.

2008-04-11 19:48  zmedico

	* [r9837] pym/portage/__init__.py: Make doebuild() bail out early
	  with a PermissionDenied error if there is no write access to
	  $PKGDIR.

2008-04-11 19:03  zmedico

	* [r9835] pym/portage/__init__.py: Remove unused infodir variable.

2008-04-11 19:01  zmedico

	* [r9834] pym/portage/__init__.py: Remove all calls to
	  config.load_infodir() since it doesn't seem to server any purpose
	  now that the complete environment is loaded from environment.bz2.

2008-04-11 18:46  zmedico

	* [r9832] pym/portage/__init__.py: In config.setcpv() and
	  load_infodir(), always set known good values for CATEGORY and PF,
	  since corruption of these can cause problems.

2008-04-11 02:46  zmedico

	* [r9827] pym/portage/dbapi/bintree.py: Copy group mode bits from
	  $PKGDIR when creating subdirectories.

2008-04-11 00:37  zmedico

	* [r9825] pym/_emerge/__init__.py, pym/portage/__init__.py: Tweak
	  --buildpkgonly and fakeroot logic so that --buildpkgonly can be
	  used by a non-root user to build binary packages with fakeroot.

2008-04-10 23:29  zmedico

	* [r9823] pym/_emerge/__init__.py: Nest the DepcheckCompositeDB
	  class inside the depgraph class since it's not intended for use
	  elsewhere.

2008-04-10 21:08  zmedico

	* [r9821] pym/_emerge/__init__.py: Rename variable pkg_cpv to
	  pkg_str.

2008-04-10 21:03  zmedico

	* [r9819] pym/_emerge/__init__.py: Fix "pkg" variable name
	  collisions in depgraph.display().

2008-04-10 20:44  zmedico

	* [r9817] pym/_emerge/__init__.py: Make the CHOST visibility check
	  tolerant of missing CHOST metadata.

2008-04-10 20:36  zmedico

	* [r9815] pym/portage/__init__.py: Bug #217122 - When waiting for a
	  parallel-fetch download to complete, show a more friendly and
	  informative message.

2008-04-10 18:03  zmedico

	* [r9810] pym/_emerge/__init__.py: Remove an unused function.

2008-04-10 17:57  zmedico

	* [r9808] pym/_emerge/__init__.py: Implement expansion of catgories
	  in DepcheckCompositeDB.match() for old installed packages that
	  may contain atoms that are not fully qualified.

2008-04-10 09:11  zmedico

	* [r9799] pym/_emerge/__init__.py: Iterate over a copy of the
	  digraph nodes so that removal can't break the iterator.

2008-04-10 08:41  zmedico

	* [r9797] pym/_emerge/__init__.py: Make sure that everything except
	  Package nodes is ignored when doing the --buildpkgonly
	  digraph.hasallzeros() check.

2008-04-10 06:34  zmedico

	* [r9794] pym/_emerge/__init__.py: Use cached Package instances in
	  depgraph.display().

2008-04-10 05:58  zmedico

	* [r9789] pym/_emerge/__init__.py: * Make depclean/prune use cached
	  Package instances for 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().

2008-04-10 05:39  zmedico

	* [r9788] pym/_emerge/__init__.py: Make FakeVartree use
	  PackageVirtualDbapi instead of fakedbapi so that it can populate
	  and utilize a cache of Package instances.

2008-04-10 05:17  zmedico

	* [r9787] pym/_emerge/__init__.py: Improve used of cached Package
	  instances in depgraph._select_pkg_from_graph().

2008-04-10 05:01  zmedico

	* [r9786] pym/_emerge/__init__.py: Replace the fakdbapi class that
	  is used to track depgraph 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.

2008-04-09 21:51  zmedico

	* [r9785] pym/_emerge/__init__.py: Add some docs for the
	  DepcheckCompositeDB class.

2008-04-09 18:31  zmedico

	* [r9779] pym/_emerge/__init__.py: When checking atoms without
	  categories against the installed packages, just check for
	  existence of the cat/pn rather that a full match.

2008-04-09 18:21  zmedico

	* [r9777] pym/_emerge/__init__.py: Fix the docstring for
	  depgraph._dep_expand().

2008-04-09 18:04  zmedico

	* [r9775] pym/_emerge/__init__.py: Fix minor issues in the
	  calculation of the number of parents omitted from the slot
	  collision display.

2008-04-09 17:55  zmedico

	* [r9774] pym/_emerge/__init__.py: When pruning the list of parents
	  for the slot collision display, always show parents that
	  themselves have been pulled into collision slots, since those are
	  more relevant that others. (branches/2.1.2 r9773)

2008-04-09 17:00  zmedico

	* [r9771] pym/_emerge/__init__.py: Make DepcheckCompositeDB cache
	  Package instances for aux_get() calls.

2008-04-09 16:14  zmedico

	* [r9769] pym/_emerge/__init__.py: When depgraph.select_files()
	  expands an atom category, in case of an old-style virtual, defer
	  category expansion so that the depgraph has more choices.

2008-04-09 07:15  zmedico

	* [r9765] pym/_emerge/__init__.py, pym/portage/__init__.py: Create
	  a new depgraph._dep_expand() method for select_files() to expand
	  atoms that have no category.

2008-04-09 05:29  zmedico

	* [r9763] bin/isolated-functions.sh, pym/portage/elog/messages.py:
	  Handle issues with newlines in elog messages that can 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.

2008-04-09 00:37  zmedico

	* [r9762] pym/_emerge/__init__.py: Make depgraph.select_files()
	  detect when a package name 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).

2008-04-08 23:55  zmedico

	* [r9761] pym/_emerge/__init__.py: Split out a depgraph method to
	  check if a specific new-style virtual package exists.

2008-04-08 22:31  zmedico

	* [r9759] pym/portage/__init__.py: Bug #162542 - When checking
	  permissions inside CCACHE_DIR for compatibility with
	  FEATURES=userpriv, check the permissions on files inside the
	  directory to decide whether to fix the permissions.

2008-04-08 18:42  zmedico

	* [r9756] RELEASE-NOTES, pym/_emerge/__init__.py: Bug #197810 -
	  Don't automatically downgrade packages for 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.

2008-04-08 17:57  zmedico

	* [r9755] pym/_emerge/__init__.py: Fix --update greedy atoms logic
	  so that it only pulls in packages that actually match the given
	  atom.

2008-04-08 04:43  zmedico

	* [r9747] pym/portage/elog/messages.py: Fix a little issue in the
	  code from bug #197905 that causes some elog messages to get lost.

2008-04-08 03:54  zmedico

	* [r9745] pym/_emerge/__init__.py: Remove the
	  depgraph._get_arg_for_pkg() method since _iter_atoms_for_pkg()
	  does the job.

2008-04-08 03:46  zmedico

	* [r9744] pym/_emerge/__init__.py: Remove unused iter_atoms()
	  function.

2008-04-07 23:47  zmedico

	* [r9743] bin/repoman: For repoman, only cache the metadata
	  necessary for visibility checks in order to reduce memory
	  consumption.

2008-04-07 23:10  zmedico

	* [r9742] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  When reading and writing the Packages index file, translate
	  metadata keys on the fly. Current translations: DESC <->
	  DESCRIPTION REPO <-> repository

2008-04-07 22:12  zmedico

	* [r9741] pym/_emerge/__init__.py, pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/porttree.py,
	  pym/portage/getbinpkg.py: * Optimize metadata caching in pordbapi
	  and bindbapi so that cache is never pulled for the same package
	  twice. * Cache a Package instances constructed during package
	  selection and reuse them during later package selections.

2008-04-07 07:33  zmedico

	* [r9740] pym/portage/dbapi/bintree.py: Handle empty KEYWORDS in
	  the Packages file.

2008-04-07 06:32  zmedico

	* [r9739] pym/portage/dbapi/bintree.py: Fix broken IUSE defaults
	  handling when filtering USE for the Packages file.

2008-04-07 02:36  zmedico

	* [r9738] pym/_emerge/__init__.py: Move all the --update greedy
	  slot logic to depgraph.select_files().

2008-04-07 02:04  zmedico

	* [r9737] pym/_emerge/__init__.py: Move virtuals logic from
	  DepcheckCompositeDB.match() to depgraph._iter_atoms_for_pkg()
	  since it's more generally useful there.

2008-04-06 23:33  zmedico

	* [r9736] pym/_emerge/__init__.py: Fix variable name collision in
	  DepcheckCompositeDB.match().

2008-04-06 23:28  zmedico

	* [r9735] pym/_emerge/__init__.py: Fix DepcheckCompositeDB.match()
	  so that it doesn't assume that every DependencyArg instance has
	  an "atom" attribute.

2008-04-06 21:44  zmedico

	* [r9734] bin/isolated-functions.sh: Fix BASH_ARGC and BASH_ARGV
	  offsets some more.

2008-04-06 21:37  zmedico

	* [r9733] bin/isolated-functions.sh: In dump_trace(), fix BASH_ARGV
	  and BASH_ARGC offsets so that they are always correct wrt
	  eachother. Thanks to Betelgeuse for reporting.

2008-04-06 21:10  zmedico

	* [r9732] bin/repoman: Fix java.eclassesnotused logic. Thanks to
	  Betelgeuse.

2008-04-06 19:20  zmedico

	* [r9731] pym/_emerge/__init__.py: Rename the CompositDbapi class
	  to DepcheckCompositeDB since it's really a special pupose class
	  just for dep_check() and it doesn't implement the full dbapi
	  interface.

2008-04-06 18:53  zmedico

	* [r9729] pym/_emerge/__init__.py: Fix the CompositDbapi.match()
	  logic wrt "selective" behavior and installed packages so that it
	  correctly handles false argument matches due to PROVIDE when a
	  corresponding new-style virtual exists.

2008-04-06 17:12  genone

	* [r9728] pym/portage/dbapi/vartree.py: only preserve libraries if
	  no copy exists in the libary search path (bug #215242)

2008-04-06 17:09  zmedico

	* [r9727] bin/emerge-webrsync: * Use type -P which does not produce
	  messages to stderr. another option is to redirect both stderr and
	  out. * Avoid &> replace with > ... 2>&1 Thanks to Alon Bar-Lev
	  for this patch.

2008-04-06 14:20  genone

	* [r9726] bin/isolated-functions.sh, pym/portage/elog/messages.py:
	  preserve order of ebuild messages even between different message
	  types (bug #197905)

2008-04-05 23:22  zmedico

	* [r9725] man/emerge.1: Clarify --with-bdeps behavior with example.
	  Thanks to Griffon26 for this patch.

2008-04-05 19:51  zmedico

	* [r9723] bin/quickpkg: When necessary, make quickpkg add missing
	  metadata to the vdb entry before creating the binary package.

2008-04-05 18:30  zmedico

	* [r9720] pym/_emerge/__init__.py: Handle a potential
	  InvalidDependString exception inside CompositeDbapi.match().

2008-04-05 17:48  zmedico

	* [r9718] pym/_emerge/__init__.py: Bug #216328 - Fix broken
	  --newuse reinstallation logic.

2008-04-05 10:30  zmedico

	* [r9717] pym/_emerge/__init__.py: Fix the depgraph package
	  selection cache to update the "existing node" state of packages
	  if they've been added to the graph since the last call.

2008-04-05 09:42  zmedico

	* [r9716] pym/_emerge/__init__.py: Fix a typo.

2008-04-05 09:41  zmedico

	* [r9715] pym/_emerge/__init__.py: Memoize package selection
	  results in the depgraph for better performance.

2008-04-05 09:15  zmedico

	* [r9714] pym/_emerge/__init__.py, pym/portage/__init__.py: Remove
	  "selective" depgraph logic from dep_zapdeps() since it's now
	  handled by CompositeDbapi.

2008-04-05 08:50  zmedico

	* [r9713] pym/_emerge/__init__.py: Replace the depgraph's fakedbapi
	  of visible packages with a new CompositeDbapi that is implemented
	  on top of the depgraph's existing package selection logic.

2008-04-05 06:25  zmedico

	* [r9712] pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/vartree.py: In dbapi.move_ent(), never assume
	  that any of the expected metadata entries exist (PF, CATEGORY, or
	  *.ebuild).

2008-04-04 20:41  zmedico

	* [r9710] pym/_emerge/__init__.py: Add missing "the" to fix
	  grammar.

2008-04-04 18:58  zmedico

	* [r9708] RELEASE-NOTES: * In the event that a previously installed
	  package has since been masked, 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.

2008-04-04 18:40  zmedico

	* [r9706] pym/_emerge/__init__.py: Adjust newlines whitespace
	  masked packages display.

2008-04-04 18:29  zmedico

	* [r9705] pym/_emerge/__init__.py: Display the note referencing
	  "masked packages" docs when there are installed masked packages
	  to display.

2008-04-04 06:32  zmedico

	* [r9702] pym/_emerge/__init__.py: Fix a typo in the depclean USE
	  flag handling when populating the digraph for bug #201045.

2008-04-04 04:51  zmedico

	* [r9700] pym/_emerge/__init__.py: Fix a typo.

2008-04-04 04:48  zmedico

	* [r9699] pym/_emerge/__init__.py: When the user has given
	  --depclean a list of atoms to clean, pull all 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.

2008-04-04 00:44  zmedico

	* [r9697] pym/_emerge/__init__.py: Decrease priority on --onlydpes
	  dependencies so that --buildpkgonly hasallzeros() works
	  correctly.

2008-04-04 00:30  zmedico

	* [r9696] pym/_emerge/__init__.py: Add missing DepPriority
	  instances to the graph so that the --buildpkgonly hasallzeros()
	  calculation works correctly again.

2008-04-03 22:40  zmedico

	* [r9695] pym/_emerge/__init__.py: Eliminate a redundant atom from
	  the --update greedy slot expansion code.

2008-04-03 22:34  zmedico

	* [r9693] pym/_emerge/__init__.py: Fix package selection logic so
	  that it always properly finds the highest available version in a
	  new slot even though the graph already contains a matching
	  version in a lower slot.

2008-04-03 20:03  zmedico

	* [r9691] pym/portage/__init__.py: Add missing str.upper() call for
	  PORTAGE_FETCH_RESUME_MIN_SIZE.

2008-04-03 19:58  zmedico

	* [r9689] pym/portage/__init__.py: If PORTAGE_FETCH_RESUME_MIN_SIZE
	  is undefined or empty, silently use the default.

2008-04-03 19:23  zmedico

	* [r9687] cnf/make.globals, man/make.conf.5,
	  pym/portage/__init__.py: Implement a
	  PORTAGE_FETCH_RESUME_MIN_SIZE variable that is useful for helping
	  to ensure that small garbage files such as html 404 pages are
	  properly discarded.

2008-04-03 16:45  zmedico

	* [r9685] pym/_emerge/__init__.py: For old-style virtuals, we need
	  to repeat the package.provided check against the selected
	  package.

2008-04-03 01:17  zmedico

	* [r9683] pym/portage/__init__.py: In cpv_expand(), if the virtuals
	  file contains a versioned atom (like the base profile currently
	  has for virtual/pam), properly remove the operator and version
	  from the atom before it is passed into dbapi.cp_list().

2008-04-02 19:22  zmedico

	* [r9681] pym/_emerge/__init__.py: Fix the previous commit so that
	  the Package instance is created in the correct scope.

2008-04-02 19:09  zmedico

	* [r9680] pym/_emerge/__init__.py: Use Package.cp instead of
	  dep_getkey(cpv).

2008-04-02 18:06  zmedico

	* [r9678] pym/portage/util.py: Eliminate a redundant os.path.join()
	  call.

2008-04-02 18:03  zmedico

	* [r9677] pym/portage/util.py: Handle a potential FileNotFound
	  exception in new_protect_filename() when the last ._cfg* file
	  happens to be a broken symlink. Thanks to bonsaikitten for
	  reporting.

2008-04-01 23:34  zmedico

	* [r9675] pym/_emerge/__init__.py: Remove the
	  digraph._parent_child_digraph since it's no longer needed. It's
	  main purpose was to track PDEPEND relationships but those are
	  handled just like the other deps now.

2008-04-01 22:13  zmedico

	* [r9674] bin/ebuild.sh: Bug #215673 - Make ebuild.sh leave IUSE
	  defaults intact instead of filtering them out. The
	  built_with_use() function in eutils.eclass needs to be updated
	  for compatibility.

2008-04-01 21:58  zmedico

	* [r9672] pym/portage/__init__.py: Use pkgcmp() instead of == and
	  best() for correctness in case of implicit -r0.

2008-04-01 18:36  zmedico

	* [r9669] pym/portage/__init__.py: Remove some boolean logic that
	  is obsolete now that the "selective" parameter is passed into
	  dep_zapdeps().

2008-04-01 18:08  zmedico

	* [r9665] pym/portage/__init__.py: Exploid ascending order returned
	  from dbapi.match() calls to avoid the need to call best().

2008-04-01 06:55  zmedico

	* [r9662] pym/portage/dbapi/bintree.py: Handle missing LICENSE in
	  the Packages index since that's allowed for virtual packages.

2008-04-01 05:59  zmedico

	* [r9660] pym/_emerge/__init__.py: When identifying a
	  sys-apps/portage node, compare category too (not just "portage".

2008-04-01 00:33  zmedico

	* [r9658] pym/portage/__init__.py: Bug #215308 - Cache the paths of
	  known bad manifests to ensure that the same broken manifest is
	  never checked twice.

2008-03-31 23:47  zmedico

	* [r9656] pym/_emerge/__init__.py: When deps are forced to be
	  satisfied by installed packages due to masking or 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.

2008-03-31 23:12  zmedico

	* [r9654] pym/_emerge/__init__.py: In the package selection loop,
	  move the installed package rejection code as early as possible.

2008-03-31 21:07  zmedico

	* [r9652] pym/_emerge/__init__.py: Fix package selection logic to
	  always properly reject the installed package when another is
	  available and the user wants to reinstall.

2008-03-31 20:25  zmedico

	* [r9650] pym/_emerge/__init__.py: Remove some redundant and
	  obsolete code for warning about installed packages pulled into
	  the graph.

2008-03-31 19:55  zmedico

	* [r9648] pym/_emerge/__init__.py: When selecting packages and
	  there is a mixture of old-style and new-style virtual matches,
	  filter out the old-style virtual matches.

2008-03-31 18:14  zmedico

	* [r9646] pym/_emerge/__init__.py: Bug #197810 - Fix package
	  selection logic so that it will always fall back to an installed
	  package when necessary.

2008-03-31 18:00  zmedico

	* [r9645] pym/_emerge/__init__.py: Make depgraph creation more
	  tolerant of missing or masked packages when the 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.

2008-03-31 17:11  zmedico

	* [r9644] pym/_emerge/__init__.py: Replace an package tuple with a
	  real Package instance.

2008-03-31 07:21  zmedico

	* [r9643] pym/_emerge/__init__.py: Pass Package instances into
	  visible() so that the package instance can be used to cache
	  relevant visibility information such as whether or not the
	  package is corrupt or otherwise invalid.

2008-03-30 21:54  zmedico

	* [r9637] pym/portage/dbapi/vartree.py: When dblink.treewalk()
	  queries for other packages in the same slot, filter out old-style
	  virtual matches since they are not desired.

2008-03-30 21:40  zmedico

	* [r9636] pym/_emerge/__init__.py: Make sure the all resume lists
	  are deleted when a stale one is encountered.

2008-03-30 19:51  zmedico

	* [r9634] bin/doins, bin/newins: * Fix broken return value for
	  doins. * Make newins cleanup temp files after itself.

2008-03-30 19:20  zmedico

	* [r9632] RELEASE-NOTES, bin/md5check.py, bin/repoman,
	  pym/portage/manifest.py: Fix typos. Thanks to Arfrever Frehtes
	  Taifersar Arahesis <Arfrever.FTA@GMail.Com>.

2008-03-30 10:00  zmedico

	* [r9630] pym/_emerge/__init__.py: Fix display code that can triger
	  a 'Invalid category' exception when it is given a blocker. It's
	  only supposed to execute for normal packages.

2008-03-30 09:17  zmedico

	* [r9628] bin/doins: Make doins clean up it's own temp files. This
	  solves an odd issue in 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.

2008-03-30 07:14  zmedico

	* [r9625] pym/_emerge/__init__.py: Bug #211365 - Use catpkgsplit()
	  instead of pkgsplit() for a cpv.

2008-03-30 06:57  zmedico

	* [r9623] pym/_emerge/__init__.py: Bug #211365 - Use catpkgsplit()
	  instead of pkgsplit() for a cpv.

2008-03-30 06:18  zmedico

	* [r9621] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Move the AUTOCLEAN code into dblink.treewalk since it's already
	  partially 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.

2008-03-30 05:40  zmedico

	* [r9619] bin/repoman, man/repoman.1: Do not allow commit mode
	  together with the --without-mask options.

2008-03-30 04:16  zmedico

	* [r9616] pym/_emerge/__init__.py: Make code a bit less prone to
	  potentially hidden TypeError like bugs.

2008-03-30 03:59  zmedico

	* [r9615] pym/_emerge/__init__.py: Bug #211365 - Use catpkgsplit()
	  instead of pkgsplit() for a cpv.

2008-03-30 03:42  zmedico

	* [r9613] pym/_emerge/__init__.py: Use enumerate() it iterate over
	  an array.

2008-03-30 02:13  zmedico

	* [r9611] pym/_emerge/__init__.py, pym/portage/__init__.py: For
	  bugs #197810 and #215308, pass the depgraph's "selective"
	  parameter down into dep_check() for better atom preference
	  selection when handling virtuals and other disjunctive ||
	  dependencies. (branches/2.1.2 r9610)

2008-03-30 00:19  zmedico

	* [r9607] pym/_emerge/__init__.py: Bug #215308 - Simplify the
	  greedy atoms logic so that it behaves more like StaticFileSet and
	  won't pull in lower slots.

2008-03-29 22:47  zmedico

	* [r9606] bin/ebuild.sh: When dyn_unpack() automatically cleans
	  ${WORKDIR}, also remove things like .unpacked and .compiled so
	  that the state is consistent.

2008-03-29 05:30  zmedico

	* [r9592] bin/misc-functions.sh, pym/portage/__init__.py: Bug
	  #214619 - Run dyn_package() and preinst_mask() from ${T} instead
	  of ${D} 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.

2008-03-29 04:55  zmedico

	* [r9591] man/make.conf.5: Add a note about PKG_INSTALL_MASK.

2008-03-29 04:32  zmedico

	* [r9590] bin/misc-functions.sh: Fix quoting for ${root} in
	  install_mask().

2008-03-29 04:12  zmedico

	* [r9589] pym/_emerge/__init__.py: When a resume list contains
	  packages that are no longer available, automatically delete it.

2008-03-29 03:40  zmedico

	* [r9588] pym/portage/elog/mod_mail_summary.py: Bug #215240 - Use
	  an alarm signal to implement a 60 second timeout in finalize() in
	  case send_mail() blocks indefinitely.

2008-03-29 03:29  zmedico

	* [r9587] bin/repoman, man/repoman.1, pym/repoman/checks.py,
	  pym/repoman/errors.py: Add a new "ebuild.patches" check for the
	  PATCHES variable that's used by 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.

2008-03-29 00:02  zmedico

	* [r9586] bin/repoman: Don't trigger the 'java.eclassesnotused' on
	  blocker atoms.

2008-03-28 23:44  zmedico

	* [r9585] bin/repoman, man/repoman.1: Add a new
	  "java.eclassesnotused" check for cases where DEPEND contains
	  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.

2008-03-28 23:11  zmedico

	* [r9584] pym/_emerge/__init__.py: Bug #214691 - Move the "slot
	  collision" display so that it is shown after the merge list where
	  it is most likely to be seen (along with other depgraph
	  problems).

2008-03-28 10:18  zmedico

	* [r9538] bin/emerge-webrsync: * Skip the recusive chown call if it
	  fails on the top level directory since it's possible that
	  emerge-webrsync is not run by root.
	  
	  * Just chown to portage:portage instead of using
	  PORTAGE_INST_{UID,GID}.

2008-03-28 10:03  zmedico

	* [r9537] bin/emerge-webrsync: Disable tarsync when using lzma
	  compression since it doesn't seem to be supported.

2008-03-28 05:45  zmedico

	* [r9528] bin/isolated-functions.sh, bin/misc-functions.sh,
	  man/make.conf.5, pym/portage/__init__.py: Bug #214619 - Add
	  support for a PORTAGE_BINPKG_TAR_OPTS variable that allows the
	  user to specify tar command options for binary package creation.

2008-03-28 05:03  zmedico

	* [r9527] bin/ebuild.sh: Make dyn_clean() consistent wrt removal of
	  ${PORTAGE_BUILDDIR}/image and ${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).

2008-03-28 04:55  zmedico

	* [r9526] bin/ebuild.sh: Bug #213698 - Make FEAUTURES=keepwork and
	  keeptemp preserve ${T}/environment since it may contain essential
	  state.

2008-03-28 04:14  zmedico

	* [r9525] bin/repoman: Bug #213629 - Use EAPI.incompatible in cases
	  where EAPI=0 and a default IUSE is encountered.

2008-03-28 04:07  zmedico

	* [r9524] bin/repoman, man/repoman.1: Bug #213629 - Create an
	  EAPI.incompatible category and use it in cases where EAPI=0 and a
	  slot atom is encountered.

2008-03-28 00:05  zmedico

	* [r9523] bin/repoman: Remove redundant info from the
	  KEYWORDS.dropped message.

2008-03-27 23:31  zmedico

	* [r9522] bin/repoman, man/repoman.1: Bug #209418 - Add a new
	  KEYWORDS.dropped check that compares keywords against the
	  keywords of earlier ebuild versions within a slot.

2008-03-27 22:03  zmedico

	* [r9521] bin/repoman: Bug #212509 - Display a note about the
	  --without-mask option when there are masked packages.

2008-03-27 21:39  zmedico

	* [r9520] bin/repoman, man/repoman.1: Bug #212509 - Implement a new
	  --without-mask option that causes repoman to behave as if there
	  are no package.mask entries.

2008-03-27 16:49  zmedico

	* [r9519] man/make.conf.5, pym/portage/__init__.py: Bug #214879 -
	  Fix FEATURES=-strict behavior so that distfiles digests are
	  always checked.

2008-03-27 04:28  zmedico

	* [r9514] pym/_emerge/__init__.py: Fix the noreplace logic to break
	  out of the cpv loop early since there's no point in examining any
	  lower versions from the same repo.

2008-03-27 04:23  zmedico

	* [r9513] pym/_emerge/__init__.py: Make --noreplace take precedence
	  over --newuse, as suggested by wolf31o2.

2008-03-26 23:37  zmedico

	* [r9512] pym/portage/__init__.py: Bug #214879 - In fetch(), only
	  parse the Manifest when FEATURES=strict is enabled.

2008-03-26 16:54  zmedico

	* [r9511] bin/ebuild.sh, cnf/make.globals: Move the default empty
	  compiler flag settings from ebuild.sh to make.globals (bug
	  #214499).

2008-03-26 16:46  zmedico

	* [r9510] pym/portage/elog/mod_mail.py,
	  pym/portage/elog/mod_mail_summary.py: Support ${HOST}
	  substitution in "From" field. Thanks to wschlich.

2008-03-25 04:04  zmedico

	* [r9507] pym/repoman/checks.py: Bug #212621 - Make the EbuildQuote
	  check do quoting validation for misc variables from games.eclass.

2008-03-25 03:54  zmedico

	* [r9506] pym/portage/__init__.py: Fix typo.

2008-03-25 03:51  zmedico

	* [r9505] pym/portage/__init__.py: Bug #212152 - Account
	  pre-existing files when calculating whether there is enough space
	  for a download.

2008-03-25 03:18  zmedico

	* [r9504] bin/repoman: Bug #211294 - Make repoman bail out if
	  arch.list contains unrecognized lines since we don't want people
	  to commit with old versions of portage that don't support the
	  current arch.list format.

2008-03-24 23:14  zmedico

	* [r9503] bin/ebuild.sh: Bug #214499 - When compiler flags are
	  unset, many packages will substitute their own implicit flags.
	  For uniformity, use an empty string as the default.

2008-03-24 23:05  zmedico

	* [r9502] pym/portage/__init__.py: Check is os.statvfs() is
	  implemented before trying to us it. (branches/prefix r9500)

2008-03-20 21:35  zmedico

	* [r9496] pym/_emerge/__init__.py: Improve logic from the previous
	  commit.

2008-03-20 21:31  zmedico

	* [r9495] pym/_emerge/__init__.py: Fix depgraph._select_package()
	  to make sure the installed package is a real match before
	  rejecting other available packages.

2008-03-19 22:46  genone

	* [r9491] bin/repoman: readd digestentry.unused category as it's
	  still relevant

2008-03-19 19:49  zmedico

	* [r9489] bin/doins: Fix quoting.

2008-03-19 18:44  genone

	* [r9488] pym/_emerge/__init__.py: display versions of other slots
	  for new-slot installs (bug #213790)

2008-03-19 11:34  zmedico

	* [r9487] bin/doins: Strip trailing slashes from directory paths if
	  necessary.

2008-03-19 10:31  zmedico

	* [r9486] bin/regenworld: Bug #210690 - Fix --help output to show
	  the leading slash on the path to the world file.

2008-03-19 10:24  zmedico

	* [r9485] bin/doins: Bug #210575 - Optimize doins -r so that it
	  doesn't call itself recursively, since it's faster to handle the
	  recursion internally. Thanks to Benedikt Böhm <hollow@gentoo.org>
	  for the initial patch.

2008-03-19 09:45  zmedico

	* [r9484] bin/dohtml: Only show the eqawarn from bug #149745 when
	  nothing is found to install. Also, exit successfully unless
	  nothing is found to install.

2008-03-19 07:03  zmedico

	* [r9483] pym/_emerge/__init__.py: Bug #201045 - Fix unmerge() to
	  preserve unmerge order so that dependencies are respected. Also,
	  eliminate duplicate package selections since the same package may
	  be selected by multiple atoms but we can only unmerge it once.

2008-03-18 23:44  zmedico

	* [r9482] pym/_emerge/__init__.py: Bug #139023 - When the --digest
	  option is enabled, advise the user that `repoman manifest` is the
	  preferred way to generate manifests.

2008-03-18 23:41  genone

	* [r9481] pym/portage/sets/files.py: make filesets non-greedy by
	  default

2008-03-18 23:38  genone

	* [r9480] pym/_emerge/__init__.py: add unmerge protection for
	  packages still referenced by installed package sets

2008-03-18 23:37  genone

	* [r9479] pym/portage/dep.py: add @ to the list of invalid atom
	  chars so sets with prefix aren't considered as atoms accidentally

2008-03-18 22:40  genone

	* [r9478] pym/_emerge/__init__.py: fix artifact from r9477

2008-03-18 22:36  genone

	* [r9477] pym/_emerge/__init__.py: use a dict with CP keys in
	  unmerge() to avoid double unmerges if a package is matched by
	  multiple atoms

2008-03-18 22:12  zmedico

	* [r9476] bin/dohtml: Bug #149745 - Generate an eqawarn message if
	  dohtml is called on a directory without the recursive option.
	  Thanks to brad walker <bradmwalker@cableone.net> for reporting.

2008-03-18 21:22  zmedico

	* [r9475] bin/ebuild, bin/ebuild.sh, man/ebuild.1: Bug #174634 -
	  Fix ebuild 'digest' and 'manifest' behave 100% identically and
	  update the docs to reflect this.

2008-03-17 02:23  zmedico

	* [r9474] pym/portage/locks.py: Bug #212882 - For compatibility
	  with ENOENT exceptions raised from fstat calls with CIFS, wrap
	  fstat calls with an appropriate exception handler.

2008-03-16 20:33  zmedico

	* [r9473] pym/_emerge/__init__.py: Bug #213592 - Fix --onlydeps
	  breakage.

2008-03-16 00:54  zmedico

	* [r9472] bin/ebuild.sh: Bug #213540 - Make sure DESTTREE=/usr is
	  set before inherit calls.

2008-03-15 23:10  zmedico

	* [r9471] pym/portage/dep.py: When in strict mode, make
	  paren_reduce() detect missing whitespace around 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.

2008-03-15 22:43  genone

	* [r9470] bin/pkgname: avoid importing portage to improve
	  performance

2008-03-15 19:33  genone

	* [r9469] pym/portage/sets/files.py: add a placeholder for
	  repository paths in 'filename' and 'directory' options for
	  StaticFileSet

2008-03-15 05:28  zmedico

	* [r9467] bin/emaint: Fix an UnboundLocalError for 'pkgindex'.

2008-03-14 18:23  zmedico

	* [r9466] cnf/make.globals, man/make.conf.5: Fix grammar.

2008-03-14 06:53  zmedico

	* [r9463] cnf/make.globals, man/make.conf.5,
	  pym/portage/__init__.py: Bug #42456 - When a checksum failure
	  occurs during fetch, use a new 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.

2008-03-14 02:41  zmedico

	* [r9462] cnf/make.globals, pym/_emerge/__init__.py,
	  pym/portage/__init__.py: * Optimize parallel-fetch to avoid
	  redundant checksum verification. * Add parallel-fetch to the
	  default FEATURES since it is more efficient now.

2008-03-13 18:04  zmedico

	* [r9460] pym/portage/dep.py: Make strip_empty() return a nedw list
	  instead of working in-place. Thanks to René Neumann
	  <rene.neumann@necoro.net> for the suggestion.

2008-03-11 00:52  solar

	* [r9459] pym/portage/news.py: - news bugfix from ferringb

2008-03-10 16:42  zmedico

	* [r9458] pym/portage/locks.py: Bug #212882 - Fix lockfile() to
	  handle errno.EACCES raised from the fcntl call since the spec
	  says that it's equivalent to EAGAIN and it appears that CIFS
	  returns EACCES in this case.

2008-03-09 20:13  zmedico

	* [r9457] pym/_emerge/__init__.py: When all available ebuilds are
	  masked, avoid producing warning message when the package does not
	  need to be reinstalled and the installed version is not masked.

2008-03-09 02:36  zmedico

	* [r9456] bin/filter-bash-environment.py: Fix var_assign_re to
	  recognize a call to the 'declare' builtin even when no options
	  are given.

2008-03-09 01:27  genone

	* [r9455] mkrelease.sh: add some status messages, try to copy the
	  tarball into DISTDIR, use getopt for option parsing

2008-03-08 00:21  zmedico

	* [r9453] pym/portage/getbinpkg.py: Make readpkgindex() and
	  writepkgindex() private methods of PackageIndex.

2008-03-07 23:52  zmedico

	* [r9452] bin/emaint, pym/portage/dbapi/bintree.py,
	  pym/portage/getbinpkg.py: Convert PackageIndex.packages from a
	  dict to a list so that in the future it will be possible to
	  support multiple packages with the same cpv.

2008-03-07 21:26  zmedico

	* [r9451] pym/_emerge/__init__.py: Make --prune and --depclean
	  operate with missing dependencies when only asked to remove
	  specific packages since it's relatively safe in this case.

2008-03-06 02:33  zmedico

	* [r9448] bin/ebuild.sh, bin/portageq: Use os.environ["SANDBOX_ON"]
	  = "0" to make portageq exempt from sandbox for things like
	  writing metadata cache. Thanks to ferringb for the suggestion.

2008-03-06 01:16  zmedico

	* [r9447] bin/ebuild.sh, bin/filter-bash-environment.py: Remove
	  egrep syntax emulation since it's not really needed.

2008-03-06 01:03  zmedico

	* [r9446] bin/ebuild.sh, bin/filter-bash-environment.py: Implement
	  the sed-based declare -r filter in python.

2008-03-06 00:23  zmedico

	* [r9445] bin/ebuild.sh, bin/filter-bash-environment.py: Move the
	  variable name validation regexes (for bug 211949) into
	  filter-bash-environment.py instead of passing them in from bash.

2008-03-05 23:54  zmedico

	* [r9444] bin/filter-bash-environment.py: Update the description to
	  reflect the new meaning of PATTERN.

2008-03-05 23:48  zmedico

	* [r9443] bin/ebuild.sh, bin/filter-bash-environment.py: Pass a
	  space-separated list of variables into filter-bash-environment.py
	  and generate the final regex on the python side instead of in
	  bash. Also, properly anchor the regex so that it actually works.

2008-03-05 22:03  zmedico

	* [r9442] bin/filter-bash-environment.py: Fix have_end_quote() to
	  compare the quote against the correct group.

2008-03-05 19:59  zmedico

	* [r9441] bin/ebuild.sh: Bug #211949 - Tighten the variable name
	  filter to exclude any variables with names containing any
	  non-alphanumeric characters.

2008-03-05 19:51  zmedico

	* [r9440] bin/filter-bash-environment.py: Handle multi-line quoted
	  variable assignments.

2008-03-05 19:01  zmedico

	* [r9439] pym/portage/__init__.py: As requested by wolf31o2, use
	  the ROOT setting from make.conf as long as it's not overridden by
	  the calling environment.

2008-03-05 09:34  zmedico

	* [r9438] bin/ebuild.sh: TODO: Move variable name validation and
	  declare -r filtering into filter-bash-environment.py.

2008-03-05 09:23  zmedico

	* [r9437] bin/filter-bash-environment.py: Update description to
	  reflect the new meaning of the PATTERN argument.

2008-03-05 09:20  zmedico

	* [r9436] bin/ebuild.sh, bin/filter-bash-environment.py: Implement
	  variable assignment handling in python so that we can eventually
	  make it more flexible and robust.

2008-03-05 00:19  zmedico

	* [r9435] pym/portage/__init__.py: Remove redundant
	  CUSTOM_PROFILE_PATH from the PROFILE_PATHS variable so that
	  /etc/portage/profile/profile.bashrc will only be sourced once if
	  it exists.

2008-03-04 18:43  zmedico

	* [r9434] bin/filter-bash-environment.py: Fix func_start_re so that
	  it requires at least one alphanumeric character.

2008-03-04 18:42  zmedico

	* [r9433] bin/filter-bash-environment.py: Tighten the
	  funct_start_re so that it doesn't match leading whitespace since
	  that's not needed.

2008-03-04 08:11  zmedico

	* [r9432] bin/ebuild.sh: Bug #211949 - Temporarily revert back to a
	  less strict regex in order to avoid false positives with
	  multi-line variable definitions that can be produced by the
	  'export' builtin.

2008-03-04 07:44  zmedico

	* [r9431] bin/filter-bash-environment.py: Add support for
	  idendification of function definitions since it's needed in 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 }

2008-03-04 04:48  zmedico

	* [r9429] bin/ebuild.sh: Bug #211949 - Fix the regex so that it
	  won't match the = character (equals sign).

2008-03-03 22:17  genone

	* [r9428] bin/misc-functions.sh: tell rpmbuild to clean it's
	  working files after completion, bug #97776

2008-03-03 20:53  genone

	* [r9427] bin/portageq: fix message on ValueError to not sound like
	  crap

2008-03-03 20:28  genone

	* [r9426] pym/portage/dbapi/vartree.py: don't list files as being
	  merged when they are ignored due to confmem, bug #212080

2008-03-03 19:43  genone

	* [r9425] pym/portage/__init__.py: check available space in DISTDIR
	  before trying to fetch/copy a file, bug #212152

2008-03-03 19:21  zmedico

	* [r9423] bin/misc-functions.sh: Buf #210372 - Fix FEATURES=suidctl
	  so that it really works again.

2008-03-03 10:24  zmedico

	* [r9421] bin/ebuild.sh: Bug #211949 - Tweak the regex so that a
	  leading whitespace character cannot match the required
	  non-alphanumeric group.

2008-03-03 10:16  zmedico

	* [r9419] bin/ebuild.sh: Fix the regex for bug #211949 so that it
	  correctly matches variable names that contain more than one
	  non-alphanumeric character.

2008-03-03 04:28  zmedico

	* [r9418] cnf/make.globals: Quote the file path and uri inside
	  FETCHCOMMAND and RESUMECOMMAND. Thanks to igli for suggesting.

2008-03-02 23:26  zmedico

	* [r9416] bin/ebuild.sh, bin/filter-bash-environment.py: Bug
	  #211949 - As suggested by vapier, tighten the variable filter to
	  also exclude variable names that begin with a digit or that
	  contain any non-alphanumeric characters that are not be supported
	  by bash.

2008-03-02 21:42  zmedico

	* [r9415] pym/portage/__init__.py: Make profile stacking of default
	  USE and package.* slightly more efficient by skipping
	  list.insert() calls when possible.

2008-03-02 20:02  genone

	* [r9414] pym/portage/__init__.py: one more fix to restore correct
	  order for usemask/useforce

2008-03-02 19:44  genone

	* [r9413] pym/portage/__init__.py: fix indentation screwup from
	  r9412

2008-03-02 19:36  genone

	* [r9412] pym/portage/__init__.py: change stacking order of r9408
	  so more specific atoms override generic ones

2008-03-02 19:20  zmedico

	* [r9411] pym/portage/__init__.py: Fix typo.

2008-03-02 19:08  genone

	* [r9410] pym/portage/__init__.py: apply r9408 also for
	  profile-base package.*use* files

2008-03-02 18:56  genone

	* [r9409] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  remove FEATURES=livecvsportage

2008-03-02 14:45  genone

	* [r9408] pym/portage/__init__.py: stack use flags from package.use
	  for multiple matching atoms (bug #200385)

2008-03-02 13:44  genone

	* [r9407] pym/portage/elog/__init__.py,
	  pym/portage/elog/messages.py: ensure that global variables are
	  used to prevent confusing issues like bug #212055

2008-03-02 11:40  genone

	* [r9406] pym/portage/dbapi/vartree.py: undo registrations of
	  preserved libraries if the merge fails, bug #210501

2008-03-01 08:30  zmedico

	* [r9402] bin/ebuild.sh: Bug #211949 - Make
	  filter_readonly_variables() remove any variables with names
	  containing a hyphen since bash does not allow them.

2008-03-01 00:04  zmedico

	* [r9400] pym/portage/__init__.py, pym/portage/util.py: Make
	  'import portage' statements more tolerant to broken source
	  statements in make.conf since exceptions thrown during 'import
	  portage' statements can practically render the api unusable for
	  api consumers. Thanks to lxnay for the suggestion.

2008-02-29 22:58  zmedico

	* [r9399] bin/misc-functions.sh: In the suidctl code, move the
	  addwrite call out of the loop. Thanks to ferringb.

2008-02-28 15:08  genone

	* [r9398] bin/repoman, man/repoman.1, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py, pym/portage/manifest.py: remove
	  code for manifest1 support

2008-02-28 14:55  genone

	* [r9397] pym/portage_compat_namespace.py: supress stupid line echo
	  in deprecation notices

2008-02-28 13:09  genone

	* [r9395] pym/_emerge/__init__.py: remove obsolete information from
	  preserve-libs post-emerge message

2008-02-28 13:08  genone

	* [r9394] pym/_emerge/__init__.py: separate different messages with
	  newlines in post-emerge output

2008-02-28 10:12  zmedico

	* [r9393] pym/portage/__init__.py: Fix some references to
	  config["PORTAGE_USE"] to prevent potential KeyErrors.

2008-02-27 19:43  zmedico

	* [r9392] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #211554 - Replace references to config["USE"] with references to
	  config["PORTAGE_USE"] (which is filtered for intersection with
	  IUSE) so that dependency calculations at installation time are
	  consistent with those at depclean time.

2008-02-27 16:16  zmedico

	* [r9391] pym/_emerge/__init__.py, pym/portage/__init__.py: Revert
	  r9387 (the fix for bug #211554) until I figure out why it's
	  messing up USE calculations for world updates.

2008-02-27 16:00  zmedico

	* [r9389] bin/repoman: Bug #211294 - Make repoman ignore profiles
	  labeled with anything other than "stable" or "dev" in
	  profiles.desc so that we can extend it with new labels such as
	  "exp".

2008-02-27 08:57  zmedico

	* [r9388] pym/_emerge/__init__.py: Don't filter USE flags in emerge
	  --info output.

2008-02-27 04:06  zmedico

	* [r9387] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #211554 - Replace references to config["USE"] with references to
	  config["PORTAGE_USE"] (which is filtered for intersection with
	  IUSE) so that dependency calculations at installation time are
	  consistent with those at depclean time.

2008-02-26 06:22  zmedico

	* [r9385] pym/_emerge/__init__.py: For depclean/prune unmerge
	  order, if there are no dependencies between package then just
	  unmerge them alphabetically.

2008-02-26 00:02  zmedico

	* [r9384] pym/portage/dbapi/vartree.py: Bug #211365 - Use
	  catpkgsplit() instead of pkgsplit() on the cpv in the dblink
	  constructor since otherwise weird categories containing numbers
	  can make pkgsplit() return None (likely related to version regex
	  handling). (branches/2.1.2 r9383)

2008-02-24 23:14  antarus

	* [r9381] bin/repoman: Double import, thanks grobian :)

2008-02-24 07:52  antarus

	* [r9377] bin/repoman, pym/portage/news.py,
	  pym/repoman/utilities.py: Various repoman fixes, plus a weird
	  lockfile tracekback in news.

2008-02-23 01:20  vapier

	* [r9372] bin/emerge-webrsync: only try to fetch compression
	  schemes which the host supports

2008-02-23 01:17  vapier

	* [r9371] bin/emerge-webrsync: add support for lzma/gz snapshots

2008-02-23 01:08  vapier

	* [r9370] bin/emerge-webrsync: tighten up output from script

2008-02-23 00:57  vapier

	* [r9369] bin/emerge-webrsync: cleanup main option parsing

2008-02-22 23:53  zmedico

	* [r9368] pym/portage/dbapi/porttree.py: Revert portdbapi category
	  auto-detection code since it's not really needed 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.

2008-02-22 22:20  zmedico

	* [r9367] pym/_emerge/__init__.py: Add support for file paths as
	  arguments to emerge. If an argument starts with / 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.

2008-02-22 06:46  zmedico

	* [r9365] pym/repoman/utilities.py: Bug #211067 - Make the
	  "portdir_overlay" and "mydir" variables contain paths 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.

2008-02-21 09:29  zmedico

	* [r9364] pym/portage/dbapi/vartree.py: Make
	  LibraryPackageMap.update() sort the contents of the
	  library_consumers cache so that it's nice and orderly.

2008-02-21 08:04  zmedico

	* [r9363] pym/portage/dbapi/vartree.py: Optimize dblink.isowner()
	  to use fewer stat calls by doing a basename 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.

2008-02-20 20:52  zmedico

	* [r9362] pym/_emerge/__init__.py: In the circular dependency
	  display, drop PDEPEND (aka MEDIUM_SOFT) from the graph so there's
	  less noise.

2008-02-20 03:59  zmedico

	* [r9361] pym/portage/util.py: Make stack_dicts() treat an empty
	  variable assignment just like a non-empty 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.

2008-02-19 08:47  zmedico

	* [r9360] pym/_emerge/__init__.py: When showing an unsatisfied dep,
	  never include installed packages.

2008-02-19 08:27  zmedico

	* [r9359] pym/portage/sets/files.py: For greedy slot behavior, in
	  addition to any installed slots also try to pull in the latest
	  new slot that may be available.

2008-02-19 07:36  genone

	* [r9358] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/security.py: -
	  outsource logic for boolean options into a central function -
	  enable support for greedy behavior in StaticFileSet

2008-02-19 05:59  zmedico

	* [r9357] bin/ebuild.sh: Bug #210449 - Reset exeinto(), docinto(),
	  insinto(), and into() state variables in case the user is running
	  the install phase multiple times consecutively via the ebuild
	  command.

2008-02-19 05:38  zmedico

	* [r9355] bin/misc-functions.sh: Bug #210372 - Fix suidctl.conf
	  parser to look for paths with a leading slash.

2008-02-19 04:09  zmedico

	* [r9354] pym/portage/dbapi/vartree.py: Make
	  PreservedLibsRegistry.store() use atomic_ofstream so that we
	  don't lose the whole registry if an error such as 'out of space'
	  occurs.

2008-02-19 03:27  zmedico

	* [r9353] bin/repoman: Use parse_use_local_desc() from the
	  repoman.utilities module.

2008-02-19 02:32  zmedico

	* [r9352] bin/repoman: Revert back to some known working code from
	  the 2.1.2 branch.

2008-02-19 01:53  zmedico

	* [r9351] pym/portage/sets/dbapi.py: Make
	  LibraryConsumerSet.mapPathsToAtoms() produce slot atoms so that
	  atoms aren't restricted to the currently installed version,
	  making upgrades possible.

2008-02-17 23:51  zmedico

	* [r9350] pym/_emerge/__init__.py: Fix the --depclean/--prune code
	  to use visible() for visibility checks instead of the old
	  portdbapi hack.

2008-02-17 08:38  zmedico

	* [r9349] pym/_emerge/__init__.py: Fix unmerge() breakage from due
	  to pkgmap being changed from a dict to a list.

2008-02-17 01:59  zmedico

	* [r9348] pym/_emerge/__init__.py: Now that unmerge() preserves the
	  order that it's given, if two different 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.

2008-02-17 01:28  zmedico

	* [r9347] pym/_emerge/__init__.py: Make sure all packages to be
	  pruned or depcleaned are added to the graph, even when they don't
	  have any dependencies.

2008-02-17 00:29  zmedico

	* [r9346] pym/_emerge/__init__.py: Bug #201045 - Make unmerge()
	  preserve the unmerge order of packages given to it by the user or
	  depclean.

2008-02-16 23:46  zmedico

	* [r9345] pym/_emerge/__init__.py: In the action_depclean()
	  topological sort, only add packages to the graph if they are
	  being removed.

2008-02-16 23:43  zmedico

	* [r9344] bin/repoman: Remove IUSE.invalid from qawarnings since
	  there's no reason for it not to be fatal. Thanks to Betelgeuse.

2008-02-16 23:12  zmedico

	* [r9343] pym/_emerge/__init__.py: Fix reversed order of
	  parent/child parameders to digraph.add().

2008-02-16 09:02  zmedico

	* [r9342] pym/portage/dbapi/vartree.py: Add missing % x (bug
	  #208946, comment #2).

2008-02-16 07:59  zmedico

	* [r9341] pym/_emerge/__init__.py: Fix depclean breakage so that it
	  doesn't clean some packages that shouldn't be cleaned.

2008-02-16 07:53  zmedico

	* [r9340] pym/_emerge/__init__.py: Make depclean code filter out
	  blocker atoms where appropriate.

2008-02-16 07:42  zmedico

	* [r9339] pym/_emerge/__init__.py: Bug #201045 - Use a topological
	  sort to create an unmerge order such that 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.

2008-02-16 00:43  zmedico

	* [r9338] pym/_emerge/__init__.py: Update the DepPriority
	  documentation so that the table shows all the currently supported
	  priorities and categories.

2008-02-15 07:47  zmedico

	* [r9337] pym/_emerge/__init__.py: Fix --newuse reinstall logic
	  broken by the previous commit.

2008-02-14 07:30  zmedico

	* [r9336] pym/_emerge/__init__.py: Fix package selection logic in
	  order to prevent downgrade in cases when 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.

2008-02-12 04:08  zmedico

	* [r9333] pym/_emerge/__init__.py: Bug #209768 - Fix --search "Size
	  of files:" handling so that it properly shows the "Unknown
	  (missing digest)" message instead of a traceback.

2008-02-11 02:29  antarus

	* [r9332] DEVELOPING: Add bits about namespace pollution, add
	  whitespacing comments after looking at some new code I wrote and
	  realizing I was not following the current style. Fix typos

2008-02-10 23:32  zmedico

	* [r9330] pym/_emerge/__init__.py, pym/portage/__init__.py: Bug
	  #209538 - Disable annoying "masked by keyword" warnings for
	  installed packages. We can assume that if the user accepted the
	  keywords at merge time then they never want to be bothered again.

2008-02-10 13:01  genone

	* [r9328] pym/repoman/utilities.py: fix more trivial issues
	  breaking repoman

2008-02-10 07:18  zmedico

	* [r9327] bin/ebuild.sh, bin/isolated-functions.sh: Remove the
	  killparent() function and associated SIGINT trap since this
	  should already be handled on the python side and it won't work
	  with dropped privileges anyway.

2008-02-10 05:33  zmedico

	* [r9326] cnf/make.conf.sparc-fbsd.diff,
	  cnf/make.conf.x86-fbsd.diff: Fix rejects.

2008-02-10 03:14  zmedico

	* [r9324] pym/_emerge/__init__.py: Fix CHOST masking logic wrt
	  installed packages so that it's consistent between visible() and
	  get_masking_status().

2008-02-10 01:50  zmedico

	* [r9321] pym/_emerge/__init__.py: Bug #209144 - For emerge --sync,
	  show an informative error and don't return 1 when
	  PORTAGE_RSYNC_RETRIES is exceeded.

2008-02-10 01:39  zmedico

	* [r9320] pym/_emerge/__init__.py: Fix the exitcode logic for bug
	  #209144 so that when the server is out of date it's not
	  interpreted like an actual rsync exitcode (to avoid a misleading
	  exitcode interpretation message).

2008-02-10 00:38  zmedico

	* [r9318] pym/_emerge/__init__.py: Fix get_mask_info() to properly
	  pass the "installed" attribute into the Package constructor.

2008-02-09 23:06  genone

	* [r9316] bin/repoman, mkrelease.sh: fix nasty typo

2008-02-09 22:05  zmedico

	* [r9313] man/ebuild.5: Bug #208743 - Update dosed docs to indicate
	  that "s:${D}::g" is used as the default expression if none other
	  is given.

2008-02-09 15:39  genone

	* [r9312] mkrelease.sh: add tagging capabilities and cli options

2008-02-09 15:13  genone

	* [r9311] cnf/make.conf: add preserve-libs info to
	  make.conf.example

2008-02-09 13:31  genone

	* [r9310] RELEASE-NOTES, man/emerge.1: more minor doc updates
	  regarding package sets

2008-02-09 13:23  genone

	* [r9309] NEWS, RELEASE-NOTES: minor documentation updates

2008-02-09 12:47  genone

	* [r9308] mkrelease.sh: new script for creating release tarballs

2008-02-09 12:04  genone

	* [r9307] make-man-tarball.sh, tarball.sh: removing obsolete cruft

2008-02-09 04:58  zmedico

	* [r9301] pym/_emerge/__init__.py: Bug #208708 - Show informative
	  warning messages for installed packages that are masked.

2008-02-08 11:46  zmedico

	* [r9299] pym/_emerge/__init__.py: Fix some broken variable
	  references found by pyflakes.

2008-02-08 08:39  zmedico

	* [r9293] pym/_emerge/__init__.py: Bug #208708 - Fix masked package
	  display some more:
	  
	  - Warn if all matching 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.

2008-02-08 08:01  zmedico

	* [r9292] pym/_emerge/__init__.py: Don't show unmasked packages
	  (currently installed packages) in the masking display.

2008-02-08 04:33  zmedico

	* [r9290] pym/repoman/checks.py: Add DISTDIR to the
	  EbuildQuote.var_names. Thanks to Betelgeuse.

2008-02-08 01:26  zmedico

	* [r9289] pym/_emerge/__init__.py: Bug #208708 - Fix warnings for
	  system or world packages that are masked.

2008-02-08 00:32  zmedico

	* [r9287] man/ebuild.5: Bug #208743 - Clarify dosed docs to
	  indicate that sed is performed in place of a file in ${D}.

2008-02-08 00:19  zmedico

	* [r9285] pym/_emerge/__init__.py: Bug #208782 - Consistently use
	  double quotes rather than mixining in single quotes.

2008-02-08 00:12  zmedico

	* [r9283] pym/_emerge/__init__.py: Bug #209144 - For emerge --sync,
	  don't return 0 when the server is out of date.

2008-02-07 23:30  zmedico

	* [r9281] bin/ebuild.sh, bin/isolated-functions.sh,
	  pym/portage/__init__.py, pym/portage/dbapi/vartree.py: Bug
	  #155993 - Update environment.bz2 after postinst in case
	  installation phases need to pass some variables to uninstallation
	  phases.

2008-02-06 08:43  zmedico

	* [r9279] bin/ebuild.sh: For the useq() IUSE qa check, use [[ $u =~
	  $PORTAGE_IUSE ]] instead of egrep since apparently it's
	  compatible in this case. Thanks to igli for this.

2008-02-06 06:08  zmedico

	* [r9278] bin/ebuild.sh: Make qa_source and qa_call save the return
	  value and return it. Thanks to igli for suggesting.

2008-02-05 21:29  genone

	* [r9277] pym/portage/dbapi/vartree.py, pym/portage/util.py: don't
	  try to copy manually removed libraries (bug #208946)

2008-02-05 19:02  genone

	* [r9276] pym/_emerge/__init__.py: display errors that occured
	  during package set initalization

2008-02-05 18:57  genone

	* [r9275] bin/misc-functions.sh: don't record internal providers in
	  NEEDED records as they are pointless for all useful applications
	  in portage and complicate them instead (e.g. bug #205531)

2008-02-05 08:21  genone

	* [r9273] pym/portage/elog/mod_mail_summary.py,
	  pym/portage/elog/mod_save_summary.py: Use local time for elog
	  summaries

2008-02-01 04:36  zmedico

	* [r9264] RELEASE-NOTES: portage-2.1.4.1
	  ==================================
	  
	  * If you have an overlay 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.

2008-02-01 03:11  zmedico

	* [r9262] bin/repoman: Remove the manifest1 digest file removal
	  code since it's no longer needed.

2008-02-01 02:53  zmedico

	* [r9260] cnf/make.globals, pym/_emerge/__init__.py: Remove the
	  manifest1 digest filter from PORTAGE_RSYNC_OPTS since it's no
	  longer needed.

2008-02-01 00:04  zmedico

	* [r9258] pym/portage/manifest.py: Make the manifest1_compat
	  constructor parameter default to False to prevent potential
	  interference from stale old digest files in overlays.

2008-01-31 23:45  zmedico

	* [r9256] bin/misc-functions.sh: Bug #205718 - Fix quoting of
	  ${INSTALL_MASK} where appropriate. Thanks to Ed Catmur
	  <ed@catmur.co.uk> for this patch.

2008-01-31 20:25  zmedico

	* [r9254] bin/ebuild: Disable manifest1_compat for ebuild --force
	  digest.

2008-01-31 20:04  zmedico

	* [r9252] bin/repoman, pym/portage/__init__.py: Unconditionally
	  disable manifest1 compatibility since it's been dropped from the
	  main tree and nobody needs it anymore.

2008-01-31 09:31  zmedico

	* [r9249] bin/ebuild.sh: Make the autotools.eclass functions exempt
	  from the autotools QA Notice.

2008-01-31 07:46  zmedico

	* [r9241] pym/portage/dbapi/porttree.py: Add 'local' to the list of
	  non_category_dirs since it's commonly used for layman overlays.

2008-01-31 04:15  zmedico

	* [r9238] pym/portage/dbapi/bintree.py: * Bug #205966 - Don't show
	  binhost password when displaying the uri. * Fix a cpv variable
	  name typo.

2008-01-30 22:52  zmedico

	* [r9236] bin/repoman: Remove the last traces of the
	  ebuild.autotools check.

2008-01-30 22:49  zmedico

	* [r9235] bin/ebuild.sh, bin/isolated-functions.sh,
	  pym/repoman/checks.py: - Remove ebuild.autotools repoman check
	  since it produces lots of false 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

2008-01-30 18:45  zmedico

	* [r9230] pym/portage/dbapi/vartree.py: use strip(os.sep) on paths
	  prior to os.path.join (branches/prefix r9228)

2008-01-27 11:26  antarus

	* [r9227] bin/repoman: Pull more functions out of repoman proper
	  and into repoman.utilities, correct a typo, clean up imports

2008-01-27 11:26  antarus

	* [r9226] pym/repoman/utilities.py: Pull more functions out of
	  repoman proper and into repoman.utilities

2008-01-27 11:05  antarus

	* [r9225] pym/repoman/checks.py: import ordering, prevent errors
	  from mucking up module namespace in checks, fix typo from last
	  commit, rename 'm' to autotools_match, fix spacing between
	  classes

2008-01-27 06:01  antarus

	* [r9222] bin/repoman: Restore desktop.invalid as a warning; was an
	  intergration error

2008-01-26 20:53  antarus

	* [r9221] bin/repoman, pym/repoman/utilities.py: Move random
	  functions out of repoman and into utilties.py

2008-01-22 22:14  zmedico

	* [r9220] bin/ebuild.sh: Bug #206772 - Enable bashrc once again for
	  the clean phase.

2008-01-21 01:43  zmedico

	* [r9217] bin/isolated-functions.sh: We need to implement diefunc()
	  since environment.bz2 files contain calls to it (due to alias
	  expansion).

2008-01-20 22:28  zmedico

	* [r9216] bin/isolated-functions.sh: Replace the current diefunc()
	  and die alias with a single die() function. The 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)

2008-01-19 23:18  antarus

	* [r9209] man/make.conf.5: Add a note that PORTDIR is a repository
	  of software and that users should not add random directories in
	  it.

2008-01-18 22:58  zmedico

	* [r9206] pym/repoman/checks.py: Check for quoted ${A}. Thanks to
	  maekke for this patch.

2008-01-13 01:03  antarus

	* [r9201] bin/emerge-webrsync: fix typo in emerge-webrsync from
	  r9118

2008-01-13 00:55  antarus

	* [r9200] bin/emaint: style fixes (imports), add support for
	  --version (bug 138159)

2008-01-12 02:53  zmedico

	* [r9197] RELEASE-NOTES: Add some notes about enhancements related
	  to binary package support that's now in 2.1.4.

2008-01-12 01:39  zmedico

	* [r9195] bin/ebuild.sh: Remove redundant return statement.

2008-01-12 01:35  zmedico

	* [r9194] bin/ebuild.sh: In preprocess_ebuild_env(), move a
	  filter_readonly_variables call out of a 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
	  <module> 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

2008-01-12 00:18  zmedico

	* [r9192] bin/repoman: Replace hardcoded value with max_desc_len.

2008-01-11 23:42  zmedico

	* [r9190] bin/repoman: Bug #203887 - Make repoman recognize
	  RESTRICT="installsources".

2008-01-11 23:07  zmedico

	* [r9188] pym/portage/dbapi/vartree.py: Bug #205318 - Handle
	  errno.ENOTDIR thrown from the lstat call inside
	  dblink._security_check().

2008-01-11 22:24  zmedico

	* [r9186] bin/repoman: Adjust the max DESCRIPTION.toolong length to
	  100 characters so that it's not too small and only about 3% of
	  packages will trigger it.

2008-01-11 11:59  zmedico

	* [r9184] bin/misc-functions.sh: Fix a typo.

2008-01-11 09:27  zmedico

	* [r9179] bin/repoman, pym/repoman/checks.py: Add a new
	  "ebuild.autotools" check for when ebuilds call autotools directly
	  instead of using autotools.eclass. Thanks to Betelgeuse for the
	  initial patch.

2008-01-11 08:19  zmedico

	* [r9178] pym/portage/tests/versions/test_vercmp.py,
	  pym/portage/versions.py: * Make pkgcmp() pass the ebuild revision
	  directly into vercmp() since there 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.

2008-01-11 07:22  zmedico

	* [r9177] bin/repoman: Add a DESCRIPTION.toolong warning for when
	  the DESCRIPTION line is over 80 characters long. Thanks to
	  Betelgeuse for the patch.

2008-01-11 06:51  zmedico

	* [r9176] bin/misc-functions.sh: Bug #162450 - Try to avoid having
	  so many bugs marked UPSTREAM by encouraging users to report 'poor
	  programming practices' QA issues upstream and show them the
	  $HOMEPAGE for convenience.

2008-01-11 05:14  zmedico

	* [r9167] bin/prepstrip, man/ebuild.5: Bug #203887 - Implement
	  RESTRICT=installsources for binaries that are not compatible with
	  debugedit.

2008-01-11 04:31  zmedico

	* [r9166] pym/portage/dep.py: Bug #203316 - Fix isvalidatom() to
	  properly detect invalid operators used together with slot atoms.
	  Thanks to Arfrever Frehtes Taifersar Arahesis
	  <Arfrever.FTA@GMail.Com> for the patch.

2008-01-11 02:18  zmedico

	* [r9165] bin/ebuild: Fix the "Appending to PORTDIR_OVERLAY..."
	  feature which was broken by the previous commit.

2008-01-11 02:03  zmedico

	* [r9164] bin/ebuild: Make sure that portdb.findname() returns the
	  correct ebuild.

2008-01-11 00:28  zmedico

	* [r9163] cnf/make.globals, pym/_emerge/__init__.py: Bug #204425 -
	  Remove --delete-after from the default PORTAGE_RSYNC_OPTS. This
	  allows the rsync program to choose the preferred --delete
	  algorithm, or the user can choose one via
	  PORTAGE_RSYNC_EXTRA_OPTS.

2008-01-11 00:05  zmedico

	* [r9162] bin/ebuild.sh: Bug#204668 - Fix WORKDIR quoting in
	  econf() when updating config.guess and config.sub.

2008-01-10 23:02  zmedico

	* [r9160] pym/portage/__init__.py: Bug #162542 - When dropping
	  privileges for FEATURES=userpriv, automatically detect permission
	  problems with CCACHE_DIR and recursively adjust permissions only
	  when necessary.

2008-01-08 09:05  zmedico

	* [r9158] bin/ebuild.sh: After loading the environment, make sure
	  the color variables are in sync with the current NOCOLOR setting.

2008-01-08 04:56  zmedico

	* [r9157] pym/portage/__init__.py: When spawing the "depend" phase,
	  use file descriptors from sys.std* streams.

2008-01-07 22:17  zmedico

	* [r9155] pym/portage/dbapi/porttree.py: Bug #204753 - Add
	  "distfiles" and "packages" to the list of non-category
	  directories.

2008-01-06 20:22  zmedico

	* [r9151] pym/portage/output.py: Bug #204651 - Make repoman respect
	  NOCOLOR=true.

2008-01-05 22:00  zmedico

	* [r9147] bin/ebuild.sh, bin/isolated-functions.sh: Make
	  filter_readonly_variables() filter PATH in any case since we
	  never want to save of reload it.

2008-01-05 21:33  zmedico

	* [r9145] bin/ebuild.sh: Filter PATH along with FEATURES when
	  loading environment.bz2.

2008-01-05 20:31  antarus

	* [r9144] bin/repoman: per bug 204468, remove old check from
	  repoman (all ebuilds in gentoo-x86 are migrated).

2008-01-04 20:49  zmedico

	* [r9140] bin/isolated-functions.sh: Send eerror and ewarn messages
	  to stderr. This is important in case somebody 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.

2008-01-03 15:39  zmedico

	* [r9137] bin/ebuild.sh: Recognize export statements when filtering
	  the environment. This is needed for compatibility with
	  environment.bz2 files generated by paludis.

2008-01-02 15:00  zmedico

	* [r9135] pym/portage/util.py: Bug #204020 - Make grabfile()
	  properly raise PermissionDenied when appropriate instead of
	  silently ignoring permission errors.

2007-12-31 11:43  zmedico

	* [r9128] pym/portage/__init__.py: When searching for "test" in
	  IUSE, account for IUSE defaults.

2007-12-31 09:54  zmedico

	* [r9126] pym/portage/__init__.py: Fix config.setcpv() to properly
	  call config.regenerate() in cases when USE needs to be
	  regenerated due to FEATURES=test to USE=test mapping.

2007-12-29 20:14  zmedico

	* [r9118] bin/emerge-webrsync, bin/etc-update,
	  bin/isolated-functions.sh, pym/portage/data.py: As suggested by
	  grobian, treat Darwin just like USERLAND=gnu since they seem to
	  be switching commands to gnu anyway.

2007-12-29 19:54  zmedico

	* [r9117] bin/emerge-webrsync, bin/etc-update: Fix USERLAND
	  references to handle Darwin like BSD.

2007-12-29 19:36  zmedico

	* [r9116] bin/isolated-functions.sh, pym/portage/data.py: Fix
	  broken Darwin USERLAND detection.

2007-12-29 18:20  zmedico

	* [r9114] pym/portage/__init__.py: Add PKGDIR to the
	  config.environ() whitelist so that people's bashrc's don't break.

2007-12-29 17:56  zmedico

	* [r9112] bin/ecompressdir: Fix handling of leading / charactes
	  some more.

2007-12-29 17:41  zmedico

	* [r9111] bin/ecompressdir: Make the ecompressdir vecho output show
	  a leading / on the directory path. Thanks to armin76.

2007-12-29 16:47  zmedico

	* [r9109] man/ebuild.5: Document that docinto works for dohtml.

2007-12-29 13:50  zmedico

	* [r9107] bin/emerge-webrsync: Rely on USERLAND since it's
	  automatically generated by isolated-functions.sh when necessary.

2007-12-29 13:31  zmedico

	* [r9105] pym/portage/dbapi/vartree.py: Make the global counter
	  file correspond to the total number of installation actions that
	  have occurred in the history of this package database.

2007-12-29 12:37  zmedico

	* [r9103] pym/portage/__init__.py: Remove redundant USERLAND sanity
	  check code from doebuild() since it's handled in
	  isolated-functions.sh now.

2007-12-29 12:14  zmedico

	* [r9101] pym/portage/data.py: Add back support for silent
	  definition of the dummy lchown() function when ostype == Darwin.

2007-12-29 12:07  zmedico

	* [r9100] bin/isolated-functions.sh, pym/portage/data.py: Simplify
	  the userland detection code in portage.data and add a bash
	  version of it to isolated-functions.sh.

2007-12-29 11:49  zmedico

	* [r9099] pym/portage/data.py: Remove redundant lchown()
	  compatibility code since the getattr(os, "lchown", None) call
	  already handles it.

2007-12-29 11:36  zmedico

	* [r9097] pym/portage/__init__.py: Move XARGS initialization from
	  portage.data to isolated-functions.sh.

2007-12-29 11:30  zmedico

	* [r9096] bin/isolated-functions.sh, pym/portage/data.py: Move
	  XARGS initialization from portage.data to isolated-functions.sh.

2007-12-29 10:41  zmedico

	* [r9094] pym/_emerge/__init__.py: Add support for showing binary
	  package file sizes in emerge --search output.

2007-12-29 09:58  zmedico

	* [r9092] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/porttree.py, pym/portage/dbapi/vartree.py,
	  pym/portage/dbapi/virtual.py: * Initialize dbapi._categories =
	  None so that we can compare with None instead of using hasattr. *
	  Remove unwanted self._categories initialization from the
	  portdbapi constructor.

2007-12-29 09:04  zmedico

	* [r9090] pym/portage/__init__.py: Make doebuild() check XARGS
	  together with ARCH and USERLAND.

2007-12-29 08:57  zmedico

	* [r9089] pym/portage/__init__.py: Make the ARCH and USERLAND
	  sanity check use the autodetected USERLAND from the portage.data
	  module if necessary.

2007-12-29 08:38  zmedico

	* [r9087] pym/portage/data.py: Bug #121584 - Make the automatic
	  USERLAND detection code recognize GNU/kFreeBSD.

2007-12-28 23:12  zmedico

	* [r9085] bin/ebuild.sh: Bug #202697 - Add / to the default initial
	  SANDBOX_READ in order to avoid a situation where attempts to read
	  arbitrary files trigger sandbox violations.

2007-12-28 21:10  zmedico

	* [r9083] bin/misc-functions.sh: Make the FEATURES=sfperms loops
	  safe for whitespace in paths by using find -print0 | while read
	  -d $'\0'.

2007-12-28 18:27  zmedico

	* [r9081] pym/portage/__init__.py: Make key_expand() use
	  dbapi.categories.

2007-12-28 18:20  zmedico

	* [r9080] pym/portage/__init__.py, pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/vartree.py, pym/portage/dbapi/virtual.py: Make
	  dep_expand() stop relying on having a categories list: * Create
	  and use 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.

2007-12-28 18:01  zmedico

	* [r9078] pym/portage/dbapi/vartree.py: Just ignore it when the
	  global counter file does not match the highest 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).

2007-12-28 15:35  zmedico

	* [r9066] pym/_emerge/__init__.py: In action_regen(), use
	  writemsg() to send error messages to stderr.

2007-12-28 14:56  zmedico

	* [r9065] pym/portage/__init__.py: Show the EBUILD_FORCE_TEST
	  "Forcing test" message even when "test" is not in IUSE.

2007-12-28 14:40  zmedico

	* [r9064] bin/ebuild, bin/ebuild.sh, bin/isolated-functions.sh,
	  pym/portage/__init__.py: Fixes for logic related to FEATURES=test
	  to USE=test mapping: * Add 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.

2007-12-28 13:27  zmedico

	* [r9062] bin/ebuild.sh: Always make sure that the depend phase
	  triggers a source ${EBUILD} call, even if "${T}"/environment
	  happens to exist for some reason.

2007-12-28 11:29  zmedico

	* [r9061] bin/misc-functions.sh: Bug #203323 - Fix the
	  FEATURES=sfperms code so that it doesn't chmod g-r on binaries
	  that are both setuid and setgid. In that case, just chmod o-r.

2007-12-28 10:45  zmedico

	* [r9060] bin/repoman: Minor code readablity enhancements: * Use
	  relative_path and full_path 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.

2007-12-28 10:23  zmedico

	* [r9059] bin/repoman: Bug #201498 - Use desktop-file-validate to
	  validate *.desktop files inside ${FILESDIR} and generate a
	  "desktop.invalid" qa warning if an error is detected. Thanks to
	  Betelgeuse for the initial patch.

2007-12-26 14:17  zmedico

	* [r9056] bin/repoman: Fix broken handling of the tuple that's
	  returned from verify_all(). Thanks to Betelgeuse.

2007-12-26 08:21  zmedico

	* [r9055] bin/emerge-webrsync: Fix sync_local() to return 0 when a
	  appropriate. Thanks to Alon Bar-Lev" <alonbl@gentoo.org>

2007-12-25 05:41  zmedico

	* [r9054] pym/portage/util.py: In getconfig(), pass the infile
	  attribute into the shlex constructor so that shlex.sourcehook()
	  properly joins relative paths.

2007-12-25 03:20  zmedico

	* [r9053] pym/portage/dbapi/vartree.py: Fix "Initializing counter"
	  message to show the correct value.

2007-12-25 02:51  zmedico

	* [r9052] pym/portage/dbapi/vartree.py: Bug #203090 - Do not trust
	  the global counter file that can lead to invalid COUNTER
	  generation.

2007-12-25 01:34  zmedico

	* [r9051] bin/ebuild.sh: Bug #203239 - With FEATURES=noauto, always
	  source ${EBUILD}. This will load the ${T}/environment file if
	  available and then source ${EBUILD} to overwrite any functions
	  that have changed.

2007-12-25 00:24  solar

	* [r9050] pym/_emerge/__init__.py, pym/portage/dbapi/bintree.py: -
	  small UI cleanups. *should* not cause problems with lack of
	  missing newlines.

2007-12-23 02:21  zmedico

	* [r9046] bin/repoman: Remove redundant find_binary import.

2007-12-21 12:51  zmedico

	* [r9038] pym/_emerge/__init__.py: Add support for --usepkg and
	  --usepkgonly options together with emerge --search.

2007-12-21 11:36  zmedico

	* [r9035] bin/portageq: Implement a `portageq contents <root>
	  <category/package>` command that lists all the files that are
	  installed for a given package, with one file listed on each line.

2007-12-21 11:15  zmedico

	* [r9034] bin/portageq: Typo: remove bogus argument.

2007-12-21 11:14  zmedico

	* [r9033] bin/portageq: Enhance the portageq match command to list
	  all installed packages when given an empty string.

2007-12-21 10:31  zmedico

	* [r9031] pym/portage/dbapi/vartree.py: Make vardbapi cache
	  DESCRIPTION and HOMEPAGE in order to optimize emerge
	  --searchdesc.

2007-12-21 10:05  zmedico

	* [r9029] pym/_emerge/__init__.py: Implement binary package
	  visibility filtering for emerge --search.

2007-12-21 07:16  zmedico

	* [r9028] pym/_emerge/__init__.py: Don't show "Size of files: 0 kB"
	  in emerge --search output for installed packages that have no
	  available ebuild in the tree.

2007-12-21 06:59  zmedico

	* [r9027] pym/_emerge/__init__.py: Implement emerge --search
	  support for installed packages, so it works even without a
	  portage tree or binary packages.

2007-12-21 05:05  zmedico

	* [r9025] pym/portage/__init__.py: Make the "test" flag that's
	  enabled by FEATURES=test into an implicit iuse member.

2007-12-21 03:28  zmedico

	* [r9023] bin/repoman: Eliminate redundant "notadded" error
	  filtering.

2007-12-21 02:47  zmedico

	* [r9020] pym/portage/__init__.py: Fix xmatch "match-all" typo.

2007-12-21 02:20  zmedico

	* [r9018] pym/portage/process.py: In portage.process.spawn(), make
	  the default fd_pipes value get file descriptors from
	  sys.std{in,out,err} so that they can be overridden.

2007-12-21 02:14  zmedico

	* [r9016] pym/portage/__init__.py: In portage.spawn(), make the
	  default fd_pipes value get file descriptors from
	  sys.std{in,out,err} so that they can be overridden.

2007-12-21 02:04  zmedico

	* [r9015] pym/_emerge/__init__.py, pym/portage/__init__.py: Tweak
	  profile validation and warning logic a bit.

2007-12-21 01:27  zmedico

	* [r9013] pym/portage/dbapi/bintree.py: Fix references to
	  dbapi._category_re.

2007-12-21 01:23  zmedico

	* [r9012] pym/portage/dbapi/bintree.py: Use regex category
	  validation in binarytree.populate().

2007-12-21 01:16  zmedico

	* [r9010] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/porttree.py: Use a regex to validate package
	  directory names in portdbapi.cp_list() and also simplify the
	  catagory regex a bit.

2007-12-21 00:57  zmedico

	* [r9008] pym/portage/dbapi/porttree.py: Add "metadata" and
	  "licenses" to _non_category_dirs.

2007-12-21 00:47  zmedico

	* [r9006] pym/portage/__init__.py: Slightly improved the masked
	  package check inside dep_zapdeps().

2007-12-21 00:38  zmedico

	* [r9005] pym/_emerge/__init__.py: Fix a reference to an undefined
	  "mykey" variable.

2007-12-21 00:03  zmedico

	* [r9004] bin/portageq: Bug #202566 - Move the 'global portage'
	  statement to avoid "SyntaxWarning: name 'portage' is assigned to
	  before global declaration" messages produced by earlier
	  python-2.4.

2007-12-20 23:53  zmedico

	* [r9002] bin/sed: Hardcode #!/bin/bash for consistency with other
	  scripts.

2007-12-20 17:01  zmedico

	* [r8997] pym/portage/dbapi/porttree.py: Fix a typo in the
	  _non_category_dirs regex.

2007-12-20 14:21  zmedico

	* [r8993] pym/portage/dbapi/porttree.py: Filter out some
	  non-category directories in portdbapi.cp_all().

2007-12-20 14:07  zmedico

	* [r8992] pym/portage/dbapi/porttree.py,
	  pym/portage/dbapi/vartree.py: For simplicity and consistency,
	  always use a regular expression for category validation instead
	  of using a list.

2007-12-20 13:34  zmedico

	* [r8990] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/porttree.py, pym/portage/dbapi/vartree.py: Fix
	  portdbapi.cp_list() so that it can cope with a missing profile.

2007-12-20 13:06  zmedico

	* [r8988] pym/portage/__init__.py: Make dep_zapdeps() fall back to
	  installed packages in it's availability test in cases where the
	  package does not appear to be masked. This solves dep selection
	  preference issues when working without a portage tree.

2007-12-20 11:40  zmedico

	* [r8985] pym/portage/dbapi/bintree.py: Fix
	  binarytree._update_pkgindex_header() so that it can cope with a
	  missing profile.

2007-12-20 10:48  zmedico

	* [r8982] pym/portage/dbapi/vartree.py: Make vartree.cpv_all() stop
	  relying on having a categories list since it may not be available
	  if there is no portage tree.

2007-12-20 08:34  zmedico

	* [r8980] pym/_emerge/__init__.py: Enable emerge search actions for
	  binary packages when there is no portage tree available.

2007-12-20 08:17  zmedico

	* [r8978] pym/portage/dbapi/porttree.py: Fix a type: eclasses ->
	  eclass.

2007-12-20 06:07  zmedico

	* [r8976] pym/portage/__init__.py: Pass a valid phase into eerror
	  so that it works.

2007-12-20 06:00  zmedico

	* [r8975] pym/portage/dbapi/bintree.py: Make binarytree.populate()
	  stop relying on having a categories list since it may not be
	  available if there is no portage tree.

2007-12-20 05:38  zmedico

	* [r8974] pym/portage/__init__.py: Convert messages about missing
	  portage tree to debug level warnings since quite often it's
	  possible to function without a portage tree now.

2007-12-20 05:16  zmedico

	* [r8973] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py, pym/portage/news.py: Make some
	  adjustments so that it's possible to install binary packages
	  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.

2007-12-20 04:00  zmedico

	* [r8971] pym/portage/__init__.py: Bug #202748 - When merging a
	  binary package, only clean up temp files on success. Otherwise,
	  leave the temp files intact for debugging purposes.

2007-12-20 02:29  zmedico

	* [r8969] pym/portage/__init__.py: Whitespace only: remove extra
	  indentation.

2007-12-20 02:11  zmedico

	* [r8967] pym/portage/__init__.py: Always add ARCH to USE without
	  relying on it being listed in PORTAGE_ARCHLIST.

2007-12-19 06:54  zmedico

	* [r8965] bin/repoman: Bug #140180 - Ignore missing HOMEPAGE and
	  LICENSE variables for new-style virtual packages.

2007-12-19 03:41  zmedico

	* [r8963] pym/portage/__init__.py: Keep filtered USE in the
	  PORTAGE_USE variable to keep it separate from the global USE
	  that's shown by emerge --info.

2007-12-19 02:49  zmedico

	* [r8961] pym/portage/__init__.py: Trigger a config.regenerate()
	  call inside setcpv() when the EBUILD_PHASE 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.

2007-12-18 14:47  zmedico

	* [r8959] pym/portage/__init__.py: Store filtered USE for
	  config.environ() calls in a special attribute so that the normal
	  global USE is still available for things like emerge --info
	  output.

2007-12-18 14:14  zmedico

	* [r8957] pym/portage/__init__.py: Fix USE filtering code so that
	  it doesn't rely on config.setcpv() calling config.regenerate().

2007-12-18 12:05  zmedico

	* [r8955] pym/portage/__init__.py: Make special build and bootstrap
	  flags into implicit members of IUSE so that stage builds will
	  work again.

2007-12-18 09:27  zmedico

	* [r8953] pym/_emerge/__init__.py: Display the merge list with
	  blockers any time that there are blockers, instead of telling the
	  user to try again with --pretend.

2007-12-18 08:21  zmedico

	* [r8951] bin/ebuild.sh: Only enable the PORTAGE_IUSE check during
	  build time phases since that's the only time it's valid for now.

2007-12-18 07:09  zmedico

	* [r8949] pym/portage/__init__.py: Include masked flags in
	  PORTAGE_IUSE to avoid more false positives in the useq() IUSE
	  check.

2007-12-18 06:32  zmedico

	* [r8945] bin/ebuild.sh, pym/portage/__init__.py: Create a
	  PORTAGE_IUSE variable containing an egrep pattern for use by the
	  QA check that's built into useq(). This allows the IUSE logic for
	  this check to be isolated in the python code.

2007-12-18 04:04  zmedico

	* [r8944] pym/portage/__init__.py: Bug #176467 - Filter out USE
	  flags that aren't part of IUSE. Some flags are 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

2007-12-18 03:43  zmedico

	* [r8943] bin/sed: Fix typo: %% -> ##.

2007-12-18 03:16  zmedico

	* [r8942] bin/sed: Generalize the sed -> gsed wrapper script so
	  that it's possible to create 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.

2007-12-17 08:04  zmedico

	* [r8937] bin/emaint: Fix setconfig.getSets() api breakage.

2007-12-15 23:49  zmedico

	* [r8935] bin/misc-functions.sh: In "QA Notice: Precompiled python"
	  messages, use sed to strip the leading ${D} from file paths.

2007-12-15 21:32  zmedico

	* [r8934] bin/repoman, pym/portage/output.py: Move the reusable
	  ConsoleStyleFile and StyleWriter classes into the ouput module.

2007-12-15 21:04  zmedico

	* [r8932] doc/config/sets.docbook, doc/qa.docbook: Fix punctuation
	  and spelling. Thanks to Arfrever Frehtes Taifersar Arahesis
	  <arfrever.fta@gmail.com>.

2007-12-15 07:31  zmedico

	* [r8930] bin/repoman: Split out a format_qa_output() function to
	  eliminate duplicate code.

2007-12-15 03:54  zmedico

	* [r8928] bin/repoman: Instead of all modes, only in commit mode
	  save an extra copy of QA output for display in $EDITOR.

2007-12-15 03:02  zmedico

	* [r8927] bin/repoman: Replace hardcoded green, yellow, and red
	  with GOOD, WARN, and BAD.

2007-12-15 00:18  zmedico

	* [r8925] bin/repoman: Save QA output so that it can be
	  conveniently displayed in $EDITOR while the 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.

2007-12-14 11:41  zmedico

	* [r8923] bin/repoman: Prompt the user before letting the editor
	  take over the screen so there is an opportunity to review any QA
	  warnings.

2007-12-14 11:17  zmedico

	* [r8921] bin/repoman: Add support for getting a commit message
	  using an editor defined by the EDITOR environment variable.

2007-12-14 09:52  zmedico

	* [r8920] bin/repoman: Add support for multi-line commit message
	  input by using EOF as a delimiter (Ctrl-d) instead of a new line.

2007-12-13 21:21  zmedico

	* [r8917] pym/_emerge/__init__.py: Add --buildpkgonly to the
	  options lists that exempt from slot collisions and world file
	  updates.

2007-12-13 20:54  zmedico

	* [r8915] bin/prepstrip: Disable the "QA Notice: Pre-stripped
	  files" message when RESTRICT contains "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.

2007-12-13 20:07  zmedico

	* [r8913] man/make.conf.5: Bug #202126 - Replace an obsolete
	  reference to `emerge --help config` with a reference to the
	  CONFIGURATION FILES section of emerge(1).

2007-12-13 19:57  zmedico

	* [r8911] bin/isolated-functions.sh: Make sure that
	  PORTAGE_SANDBOX_* variables can never be set by
	  "${T}"/environment.

2007-12-13 10:30  zmedico

	* [r8909] bin/ebuild.sh, bin/isolated-functions.sh: Allow FEATURES
	  to persist between phases since the user might want to modify 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.

2007-12-13 08:34  zmedico

	* [r8907] bin/ebuild.sh: Remove extra _ typo.

2007-12-13 08:30  zmedico

	* [r8906] bin/ebuild.sh: Properly filter SANDBOX_ON from the
	  environment. When sourcing ${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.

2007-12-13 07:25  zmedico

	* [r8904] bin/repoman, pym/_emerge/__init__.py: Use the BAD color
	  class instead of hardcoded red.

2007-12-13 06:28  zmedico

	* [r8901] pym/portage/dbapi/porttree.py: Make portdbapi.visible()
	  mask ebuilds that do not define SLOT. (branches/2.1.2 r8900)

2007-12-13 05:37  zmedico

	* [r8897] bin/repoman: Do the sanity check for bug #198398 as early
	  as possible.

2007-12-13 05:27  zmedico

	* [r8896] bin/ebuild.sh: Bug #201771 - Make unpack() detect common
	  errors such as absolute paths that start with ${DISTDIR} and die
	  an appropriate error message. Thanks to grobian for this patch.

2007-12-13 04:30  zmedico

	* [r8895] pym/portage/__init__.py: Bug #201848 - Make the ebuild
	  command reject ebuilds that do not define SLOT.

2007-12-13 04:23  zmedico

	* [r8894] pym/_emerge/__init__.py: Bug #201848 - Mask ebuilds that
	  do not define SLOT.

2007-12-13 03:54  zmedico

	* [r8893] bin/ebuild.sh: Use the sed -r option to enable extended
	  regular expressions so that commonly used characters like (, ),
	  and + don't have to be escaped.

2007-12-13 03:44  zmedico

	* [r8892] bin/ebuild.sh, bin/filter-bash-environment.py: Bug
	  #202068 - In order to filter unwanted variable assignments out of
	  the bash environment, use a filter-bash-environment.py script
	  that behaves similar to egrep -v except that it leaves bash here-
	  documents intact.

2007-12-13 01:53  zmedico

	* [r8891] bin/ebuild.sh: In filter_readonly_variables(), replace
	  'declare -r ' with 'declare ' instead of removing it completely.

2007-12-13 01:18  zmedico

	* [r8889] pym/_emerge/__init__.py: Bug #202036 - In case of
	  blockers, bail out earlier so that later code can assume there
	  are no blockers.

2007-12-12 09:25  zmedico

	* [r8888] bin/repoman: Fix the check for bug #198398 so that it
	  works even when running repoman from the root of the repo.

2007-12-12 08:06  zmedico

	* [r8887] bin/repoman: Bug #198398 - Make repoman bail out if
	  support for RMD160 hash creation appears to be missing.

2007-12-11 23:26  zmedico

	* [r8884] bin/emerge, bin/portageq, pym/_emerge/__init__.py,
	  pym/portage/__init__.py: Instead of calling sys.exit when a
	  ParseError occurs in the config 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.

2007-12-11 23:12  zmedico

	* [r8883] pym/portage/util.py: * Raise PermissionDenied from
	  getconfig() when appropriate. * When available, make getconfig()
	  include an invalid token in a ParseError message.

2007-12-11 23:09  zmedico

	* [r8882] bin/portageq: First import the main portage module
	  without legacy globals since it is 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.

2007-12-11 06:36  zmedico

	* [r8878] bin/ebuild.sh, pym/portage/__init__.py: * When installing
	  a binary package, export the file name of the package as
	  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.

2007-12-09 05:58  zmedico

	* [r8877] doc/qa.docbook: Add a "Quality Assurance" <part> tag so
	  that all chapters are consistently nested inside <part> tags.

2007-12-09 05:50  zmedico

	* [r8876] doc/config.docbook, doc/config/bashrc.docbook,
	  doc/package, doc/package.docbook, doc/package/ebuild,
	  doc/package/ebuild.docbook, doc/package/ebuild/phases.docbook,
	  doc/portage.docbook: Add some documentation for ebuild phases and
	  pre/post phase hooks that can be defined via bashrc.

2007-12-08 22:56  zmedico

	* [r8874] pym/portage/__init__.py: Do an EBUILD_EXIT_STATUS_FILE
	  sanity check in spawnebuild() where it spawns misc-functions.sh
	  after the install phase.

2007-12-07 22:21  zmedico

	* [r8867] pym/portage/__init__.py: Bug #189417 - Comment on how the
	  whitelist and BASH_ENV are used to prevent environment leakage.

2007-12-07 22:08  zmedico

	* [r8866] pym/portage/__init__.py: Bug #189417 - Whitelist BASH_ENV
	  since we need to have it set in order to prevent sandbox from
	  causing env leakage by sourcing /etc/profile via it's bashrc.

2007-12-07 22:03  zmedico

	* [r8865] pym/portage/__init__.py: Bug #189417 - Explicitly
	  whitelist any remaining variables that are allowed 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.

2007-12-07 09:59  zmedico

	* [r8864] pym/portage/__init__.py: Add a TODO note about remaining
	  work for bug #189417.

2007-12-07 05:42  zmedico

	* [r8863] pym/_emerge/__init__.py: Perform set argument validation
	  in emerge_main() even for values actions that need to expland
	  sets themselves.

2007-12-07 05:33  zmedico

	* [r8862] pym/_emerge/__init__.py: Remove automatic "system" and
	  "world" set creation since we can probably rely on having a
	  complete config.

2007-12-07 01:25  zmedico

	* [r8861] cnf/sets.conf: Bug #201513 - Fix typos for preserve-libs
	  and PreservedLibraryConsumerSet. Thanks to Arfrever Frehtes
	  Taifersar Arahesis <Arfrever.FTA@GMail.Com> for this patch.

2007-12-06 23:37  zmedico

	* [r8859] bin/ebuild.sh: Declare retval as a local variable.

2007-12-06 23:28  zmedico

	* [r8857] bin/ebuild.sh: Prevent the filter_opts local variable
	  from leaking into the environment in preprocess_ebuild_env().

2007-12-06 22:23  zmedico

	* [r8853] bin/ebuild.sh, pym/portage/__init__.py: Bug #201506 -
	  Make preprocess_ebuild_env() preserve
	  SANDBOX_{DENY,PREDICT,READ,WRITE} between all phases, except when
	  the environment comes directly from environment.bz2.

2007-12-06 21:55  zmedico

	* [r8852] bin/ebuild.sh: Remove redundant successful exit call from
	  the "depend" phase and let it run to the bottom of ebuild.sh just
	  like the other phases.

2007-12-06 00:19  zmedico

	* [r8851] bin/emerge-webrsync: Fix broken timestamp logic in
	  do_snapshot(). Thanks to Alon Bar-Lev <alonbl@gentoo.org> for
	  this patch.

2007-12-05 08:54  zmedico

	* [r8850] pym/_emerge/__init__.py: Keep the RootConfig.sets
	  attribute in sync with the SetConfig.

2007-12-05 08:46  zmedico

	* [r8849] pym/_emerge/__init__.py, pym/portage/sets/__init__.py:
	  Make SetConfig.getSets() return a copy of the psets attribute
	  instead of a direct reference. Fix the to stop relying on having
	  the direct reference.

2007-12-05 04:42  zmedico

	* [r8848] TODO: - repository configuration file and `emerge --sync
	  [repo_set]... [repo]...` support for overlays and binhosts
	  (zmedico)

2007-12-05 03:42  zmedico

	* [r8846] pym/_emerge/__init__.py: Show ? if the installed package
	  is missing a repository label. The stable version of portage
	  creates these labels now, so false positives won't be as common
	  as they used to be.

2007-12-05 03:32  zmedico

	* [r8845] pym/_emerge/__init__.py: bootstrap.sh expects that the
	  "system" set always exists, so create it automatically if
	  necessary.

2007-12-05 00:52  zmedico

	* [r8844] pym/_emerge/__init__.py: In order to know exactly which
	  atoms/sets should be added to the world file, 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.

2007-12-04 10:46  genone

	* [r8841] pym/_emerge/__init__.py: fix another typo

2007-12-04 10:14  genone

	* [r8840] pym/_emerge/__init__.py, pym/portage/sets/__init__.py:
	  perform sanity checks for set configuration even if myaction is
	  None

2007-12-04 09:58  genone

	* [r8839] bin/emaint, pym/_emerge/__init__.py,
	  pym/portage/sets/__init__.py: Fix setconfig loader to use config
	  files instead of hardcoded fallbacks

2007-12-04 09:29  genone

	* [r8838] cnf/make.globals: enable FEATURES=preserve-libs globally
	  for extended testing

2007-12-04 09:28  genone

	* [r8837] pym/portage/dbapi/vartree.py: make sure we only remove
	  files that were previously preserved

2007-12-03 23:27  zmedico

	* [r8835] pym/portage/__init__.py, pym/portage/dbapi/vartree.py:
	  Remove redundant config.load_infodir() calls from
	  portage.pkgmerge() and dblink.unmerge() since it's already called
	  in doebuild.()

2007-12-03 23:06  zmedico

	* [r8833] bin/ebuild.sh: Synchronize the conditional that triggers
	  "${T}"/environment generation with the conditional that triggers
	  distcc and ccache FEATURES setup.

2007-12-03 21:49  zmedico

	* [r8831] pym/portage/__init__.py: Fix typo in
	  config.load_infodir() return value logic.

2007-12-03 21:46  zmedico

	* [r8830] pym/portage/__init__.py, pym/portage/dbapi/vartree.py: *
	  Don't load the CATEGORY in config.load_infodir() since this value
	  is 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.

2007-12-03 20:53  zmedico

	* [r8828] pym/portage/dbapi/vartree.py: Bug #201090 - When portage
	  creates a temp PORTAGE_BIN_PATH, put it inside PORTAGE_TMPDIR
	  since, unlike /tmp, it can't be mounted with the "noexec" option.

2007-12-03 19:58  zmedico

	* [r8826] pym/portage/__init__.py: Make config.load_infodir() more
	  fault tolerant for cases like bug #201082.

2007-12-03 19:34  genone

	* [r8825] TODO: update TODO list

2007-12-03 19:31  genone

	* [r8824] bin/repoman: revert accidential commit

2007-12-03 19:12  zmedico

	* [r8822] pym/portage/__init__.py: Bug #201082 - Don't call
	  config.load_infodir() prior to pkg_postinst() 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.

2007-12-03 19:09  genone

	* [r8821] bin/repoman, cnf/sets.conf, pym/_emerge/__init__.py,
	  pym/portage/dbapi/vartree.py, pym/portage/sets/__init__.py:
	  implement the final part of FEATURES=preserved-libs and remove
	  previously 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.

2007-12-03 06:19  zmedico

	* [r8818] bin/isolated-functions.sh, pym/portage/__init__.py: *
	  whitelist CCACHE_* and DISTCC_* variables in config.environ() *
	  unset CCACHE_* and DISTCC_* variables in save_ebuild_env()

2007-12-02 22:04  zmedico

	* [r8816] bin/isolated-functions.sh: For compatibility with
	  cvs.eclass, do not unset CVS_RSH in save_ebuild_env() since that
	  variable may be initialized in global scope.

2007-12-02 21:12  zmedico

	* [r8808] bin/repoman: Convert caterror() to call warn() instead of
	  err() since we don't want to exit here.

2007-12-02 21:07  zmedico

	* [r8807] bin/repoman: Add back missing err() function.

2007-12-02 20:55  zmedico

	* [r8805] bin/ebuild.sh: Fix useq() so that it won't generate a
	  bogus IUSE QA Notice if called during the "depend" phase with a
	  flag that uses IUSE defaults.

2007-12-02 09:10  zmedico

	* [r8803] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Synchronize self-reinstallation logic so that emerge will always
	  restart itself when dblink.merge() creates temporary copies of
	  PORTAGE_{BIN,PYM}_PATH.

2007-12-02 07:58  zmedico

	* [r8801] pym/portage/dbapi/vartree.py: In dblink.treewalk(), tweak
	  the "Safely unmerging already-installed instance" logic to make
	  sure that it works in all possible cases.

2007-12-02 06:44  zmedico

	* [r8798] pym/portage/__init__.py: For portage.spawn() calls, use a
	  _shell_quote() function to quote the path of the binary since.

2007-12-01 22:26  zmedico

	* [r8796] bin/isolated-functions.sh, pym/portage/__init__.py: *
	  whitelist some misc variables from the calling environment *
	  blacklist the same variables in save_ebuild_env() so that the
	  latest values from the calling environment always override those
	  from the ebuild environment

2007-12-01 21:39  zmedico

	* [r8794] pym/_emerge/__init__.py: Show the pid in the "starting
	  parallel fetching" message.

2007-12-01 21:23  zmedico

	* [r8792] pym/_emerge/__init__.py: When os.waitid() raises OSError,
	  discard the pid since there's no need to wait on it again.

2007-12-01 21:11  zmedico

	* [r8791] pym/_emerge/__init__.py: After each merge, collect status
	  from child processes in order to clean up zombies (such as the
	  parallel-fetch process).

2007-12-01 12:45  zmedico

	* [r8789] pym/portage/elog/__init__.py: Move duplicate module
	  loading code into a function.

2007-12-01 12:28  zmedico

	* [r8787] pym/portage/__init__.py: Add missing newline after
	  message.

2007-12-01 08:38  zmedico

	* [r8785] pym/portage/__init__.py: In create_trees(), when
	  isolating the environment of the ROOT=/ config, use it's env.d
	  keys as a blacklist to make env.d override the calling
	  environment.

2007-12-01 08:04  zmedico

	* [r8783] bin/isolated-functions.sh: When die has been called and
	  ${T}/environment does not exist, dump the current environment to
	  ${T}/die.env in case it helps for debugging.

2007-12-01 04:19  zmedico

	* [r8781] bin/isolated-functions.sh, pym/portage/__init__.py: *
	  whitelist PREROOTPATH in config.environ() * filter PREROOTPATH in
	  save_ebuild_env()

2007-12-01 03:07  zmedico

	* [r8779] pym/portage/__init__.py: * whitelist DISTDIR, PORTDIR,
	  and PORTAGE_TMPDIR, PORTAGE_WORKDIR_MODE. * whitelist RPMDIR just
	  for the "rpm" phase.

2007-12-01 01:36  zmedico

	* [r8777] pym/portage/__init__.py: Update comments about ROOTPATH:
	  sandbox's bashrc sources /etc/profile which unsets ROOTPATH, so
	  we have to back it up and restore it

2007-12-01 01:34  zmedico

	* [r8776] bin/ebuild.sh: Update comments about ROOTPATH: sandbox's
	  bashrc sources /etc/profile which unsets ROOTPATH, so we have to
	  back it up and restore it.

2007-12-01 00:46  zmedico

	* [r8774] bin/ebuild.sh: Fix quoting for PORTAGE_ROOTPATH.

2007-12-01 00:25  zmedico

	* [r8771] pym/portage/__init__.py: In doebuild_environment(), fix
	  KV logic so that it never gets set during the "depend" phase.
	  Also, use backup_changes() to properly cache the result.

2007-12-01 00:24  zmedico

	* [r8770] bin/isolated-functions.sh: Bug #200863 - Don't filter
	  ${KV} since kernel-2.eclass uses that variable and we don't want
	  to interfere.

2007-11-30 23:43  zmedico

	* [r8768] bin/ebuild.sh, pym/portage/__init__.py: sandbox unsets
	  ROOTPATH, so we have to back it up on the python side then
	  restore it on the bash side.

2007-11-30 11:05  zmedico

	* [r8765] bin/ebuild.sh, bin/isolated-functions.sh: Bug #200775 -
	  Save more portage generated environment variables that are in
	  environment.bz2 so that they are available for use by tools such
	  as epm.

2007-11-30 09:27  zmedico

	* [r8763] pym/portage/__init__.py: Add some variables such as TERM
	  to the whitelist of variables from the calling environment that
	  are allowed into the ebuild environment.

2007-11-30 09:03  zmedico

	* [r8761] bin/ebuild.sh: Don't use sandbox's BASH_ENV for new
	  shells because it does 'source /etc/profile' which can interfere
	  with the build environment by modifying our PATH.

2007-11-30 07:19  zmedico

	* [r8759] pym/portage/__init__.py: Make config.environ() export
	  PKGDIR to the ebuild environment during the "package" phase since
	  it's currently referenced there.

2007-11-30 01:58  zmedico

	* [r8757] NEWS: * After the initial setup phase, the original
	  ebuild and eclasses are no longer needed because the same ebuild
	  environment is reused for the entire lifecycle of the package,
	  including uninstallation.

2007-11-30 00:54  zmedico

	* [r8755] bin/ebuild.sh: Remove unused EBUILD_ENV_FILE variable.

2007-11-30 00:35  zmedico

	* [r8754] bin/ebuild.sh, pym/portage/__init__.py: Bug #189417 -
	  When ${T}/environment exists, isolate the ebuild environment 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.

2007-11-29 20:24  zmedico

	* [r8753] bin/ebuild.sh, bin/isolated-functions.sh,
	  pym/portage/__init__.py: Move environment.bz2 extraction from
	  ebuild.sh to doebuild() on the python 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.

2007-11-29 09:35  zmedico

	* [r8751] pym/portage/elog/__init__.py: Make elog_process()
	  pre-load log modules that it can be called just for that purpose.

2007-11-29 09:06  zmedico

	* [r8749] pym/portage/dbapi/vartree.py,
	  pym/portage/elog/__init__.py: When portage reinstalls itself,
	  pre-load elog modules in dblink.merge() since we won't be able to
	  later if they get unmerged (happens when namespace changes).

2007-11-29 08:28  zmedico

	* [r8747] pym/portage/dbapi/vartree.py: Don't modify sys.path
	  inside dblink.merge() because it doesn't seem to help and it
	  triggers import errors for elog modules when downgrading to
	  versions of portage that use the old namespace.

2007-11-29 07:55  zmedico

	* [r8745] bin/ebuild.sh: Adjust PYTHONPATH when calling portageq so
	  that variable PORTAGE_PYM_PATH works.

2007-11-29 06:06  zmedico

	* [r8743] pym/portage/dbapi/vartree.py: When portage reinstalls
	  itself, copy both the bin and pym directories to a 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.

2007-11-29 03:11  zmedico

	* [r8741] pym/portage/dbapi/vartree.py: In dblink.treewalk(), make
	  portage unmerge multiple instances os sys-apps/portage in the
	  same slot if necessary (needed when AUTOCLEAN=no is set).

2007-11-29 02:37  zmedico

	* [r8739] pym/portage/__init__.py: Remove stray print statement.

2007-11-29 02:19  zmedico

	* [r8738] pym/portage/__init__.py: Fix references to
	  EBUILD_SH_BINARY so that they work properly with variable
	  PORTAGE_BIN_PATH.

2007-11-29 00:50  zmedico

	* [r8737] pym/portage/dbapi/vartree.py: Make dblink.treewalk()
	  properly delete the installed instance after it unmerges it.

2007-11-29 00:18  zmedico

	* [r8736] pym/portage/__init__.py: Fix a typo.

2007-11-29 00:12  zmedico

	* [r8735] pym/portage/__init__.py: Fix more references to
	  MISC_SH_BINARY so that they work properly with variable
	  PORTAGE_BIN_PATH.

2007-11-28 23:50  zmedico

	* [r8734] pym/portage/__init__.py: In doebuild, fix paths to
	  ebuild.sh and misc-functions.sh so that they work with variable
	  PORTAGE_BIN_PATH.

2007-11-28 22:57  zmedico

	* [r8733] pym/portage/__init__.py: Fix references to
	  PORTAGE_BIN_PATH in doebuild() to use the config setting since it
	  may be a temp directory when portage is reinstalling itself.

2007-11-28 22:35  zmedico

	* [r8732] pym/portage/__init__.py: Enable the
	  EBUILD_EXIT_STATUS_FILE sanity check when portage is reinstalling
	  itself since the check is reliable in this case now that a
	  temporary PORTAGE_BIN_PATH is created.

2007-11-28 22:29  zmedico

	* [r8731] pym/portage/dbapi/vartree.py: If portage is reinstalling
	  itself, create a temporary copy of PORTAGE_BIN_PATH in order to
	  avoid relying on on the new versions which may be incompatible.

2007-11-28 18:57  zmedico

	* [r8729] bin/ebuild.sh: Bug #200652 - Skip ${T}/environment
	  handling for pkg_nofetch().

2007-11-28 08:27  zmedico

	* [r8726] pym/_emerge/__init__.py: In chk_updated_cfg_files(),
	  avoid scanning for config files for paths that aren't writable by
	  the current user. This prevents Permission denied errors from
	  being triggered later when trying to scan subdirectories that are
	  inaccessible.

2007-11-28 05:49  zmedico

	* [r8724] pym/portage/dbapi/vartree.py: Disable
	  PORTAGE_PACKAGE_EMPTY_ABORT by default since the
	  scrollkeeper-9999 upgrade will trigger a false positive. Thanks
	  to leio for reporting.

2007-11-28 04:16  zmedico

	* [r8721] pym/portage/__init__.py: Don't export
	  PORTAGE_PACKAGE_EMPTY_ABORT to the ebuild environment.

2007-11-28 03:45  zmedico

	* [r8720] pym/portage/dbapi/vartree.py: Add a sanity check in
	  dblink.treewalk() so that a broken ebuild that doesn't 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.

2007-11-28 00:02  zmedico

	* [r8718] bin/ebuild.sh: In the preprocess_ebuild_env() subshell,
	  check for errors and return early when necessary.

2007-11-27 22:11  zmedico

	* [r8716] pym/portage/__init__.py: Just use ${PN} instead of
	  catpkgsplit().

2007-11-27 21:56  zmedico

	* [r8714] pym/portage/__init__.py: portage upgrade or downgrade
	  invalidates EBUILD_EXIT_STATUS_FILE sanity checks since ebuild.sh
	  portage version may differ from the current instance that is
	  running in python.

2007-11-27 21:16  zmedico

	* [r8712] pym/portage/__init__.py: Remove a redundant os.EX_OK
	  check that exit_status_check() already handles internally.

2007-11-27 21:11  zmedico

	* [r8710] pym/portage/__init__.py: Fix logic wrt exit_status_check
	  and elog_process in doebuild().

2007-11-27 18:52  zmedico

	* [r8708] bin/ebuild.sh: Bug #200229 - The gimp ebuild defines AA
	  as a local variable. In order to 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).

2007-11-27 08:20  zmedico

	* [r8706] pym/portage/__init__.py: Don't forget to unlink
	  ${EBUILD_EXIT_STATUS_FILE} before each phase.

2007-11-27 02:08  zmedico

	* [r8704] pym/portage/__init__.py: Fix config.pop() so that is will
	  properly raise a KeyError.

2007-11-27 01:11  zmedico

	* [r8702] pym/portage/getbinpkg.py: Bug #200231 - Make
	  dir_get_metadata() handle an exception thrown from dir_get_list()
	  when there's a problem connection problem.

2007-11-26 23:57  zmedico

	* [r8700] bin/ebuild.sh: Make the environment handling code detect
	  errors and die if necessary.

2007-11-26 22:19  zmedico

	* [r8698] pym/portage/__init__.py: Make doebuild() use
	  EBUILD_EXIT_STATUS_FILE sanity checks for the extra
	  misc-functions.sh preinst/postinst shell code.

2007-11-26 22:05  zmedico

	* [r8696] pym/portage/__init__.py: Make doebuild skip directory
	  creation for the "cleanrm" command.

2007-11-26 20:34  zmedico

	* [r8694] pym/portage/__init__.py: Fix grammar.

2007-11-26 19:02  zmedico

	* [r8692] bin/ebuild.sh, pym/portage/__init__.py: * In doebuild(),
	  don't create directories for the "clean" or "unmerge". * Fix
	  dyn_clean() to clean the status file and return early when
	  appropriate.

2007-11-26 17:35  zmedico

	* [r8690] pym/portage/__init__.py: Make config.pop() properly call
	  config.modifying().

2007-11-26 17:28  zmedico

	* [r8688] pym/portage/__init__.py: Implement config.pop().

2007-11-26 12:06  zmedico

	* [r8686] bin/ebuild.sh, bin/isolated-functions.sh,
	  bin/misc-functions.sh: Check if ${EBUILD_EXIT_STATUS_FILE} is
	  empty before attempting to use it.

2007-11-26 11:38  zmedico

	* [r8683] pym/_emerge/__init__.py: --buildpkgonly will not merge
	  anything, so it cancels all binary package options.

2007-11-26 11:23  zmedico

	* [r8682] bin/ebuild.sh, bin/isolated-functions.sh,
	  bin/misc-functions.sh, pym/portage/__init__.py: Bug #200313 -
	  Detect and report when an ebuild phase exits unexpectedly. This
	  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.

2007-11-26 05:48  zmedico

	* [r8680] bin/ebuild.sh: Automatically try to load environment.bz2
	  whenever "${T}/environment" does not exist, except for "clean"
	  and "depend" phases.

2007-11-26 04:40  zmedico

	* [r8678] bin/isolated-functions.sh: Make diefunc() show the path
	  of ${T}/environment since it's usually in the stack trace and the
	  user is likely to be interested in it.

2007-11-26 04:05  zmedico

	* [r8676] bin/isolated-functions.sh, pym/portage/__init__.py:
	  Filter more misc environment variables.

2007-11-26 02:52  zmedico

	* [r8674] bin/ebuild.sh: unset ECLASS along with the other
	  variables from inherit().

2007-11-26 02:44  zmedico

	* [r8672] pym/portage/__init__.py: Add NOCONFMEM to
	  config._environ_filter.

2007-11-26 02:05  zmedico

	* [r8670] bin/ebuild.sh, bin/isolated-functions.sh,
	  pym/portage/__init__.py: * Move filtering of a bunch of portage
	  config variables from save_ebuild_env() to config.environ(). *
	  Add EMERGE_FROM to the READONLY_PORTAGE_VARS list.

2007-11-26 01:05  zmedico

	* [r8668] pym/_emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/eclass_cache.py: Bug #124041 - Make emerge show an
	  informative warning message when one or more eclasses override
	  eclasses from PORTDIR. The warning can be permanently disabled by
	  setting PORTAGE_ECLASS_WARNING_ENABLE="0" in /etc/make.conf.

2007-11-25 23:05  zmedico

	* [r8666] bin/isolated-functions.sh: Filter _RC_GET_KV_CACHE from
	  the saved environment.

2007-11-25 22:46  zmedico

	* [r8663] bin/ebuild.sh, bin/isolated-functions.sh: Make
	  preprocess_ebuild_env() reload a known good version of
	  save_ebuild_env() in order to avoid making an assumption that it
	  hasn't been overridden.

2007-11-25 21:34  zmedico

	* [r8662] bin/ebuild.sh: Remove some unsafe assumptions from
	  preprocess_ebuild_env() and note the remaining assumption that
	  save_ebuild_env() is not overridden by the environment being
	  loaded.

2007-11-25 09:30  zmedico

	* [r8659] bin/ebuild.sh: Allow the pkg_info and pkg_config pre/post
	  hooks to run even when the ebuild function is not defined.

2007-11-25 08:50  zmedico

	* [r8655] bin/ebuild.sh: Remove the empty default pkg_setup,
	  src_install, pkg_preinst, pkg_postinst, pkg_prerm, pkg_postrm,
	  and pkg_config functions since they do nothing more than clutter
	  the environment.

2007-11-25 08:35  zmedico

	* [r8654] bin/ebuild.sh: Test if ebuild functions are defined
	  before calling them. This will be useful 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.

2007-11-25 08:15  zmedico

	* [r8653] bin/isolated-functions.sh: The qa_call() function and
	  anything before it are portage internals that the user will not
	  be interested in. Therefore, the stack trace should only show
	  calls that come after qa_call().

2007-11-25 06:56  zmedico

	* [r8651] bin/ebuild.sh, pym/_emerge/__init__.py: * Load
	  environment.bz2 for the pkg_config() phase. * Run the "clean"
	  phase if pkg_config() succeeds.

2007-11-25 06:26  zmedico

	* [r8649] bin/ebuild.sh, pym/portage/__init__.py: Implement loading
	  of environment.bz2 for the pkg_info() phase. Since a 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.

2007-11-24 22:25  zmedico

	* [r8647] bin/ebuild.sh: Bug #200238 - Make ebuild.sh properly bail
	  out when the pkg_info() function doesn't exist.

2007-11-24 22:11  zmedico

	* [r8645] bin/repoman: Bug #140180 - Never trigger a
	  LICENSE.missing violation for old style virtuals since they don't
	  directly install anything.

2007-11-24 18:28  zmedico

	* [r8643] bin/misc-functions.sh: Use `md5` if `md5sum` is not
	  available (useful for FreeBSD users).

2007-11-24 05:42  zmedico

	* [r8640] bin/ebuild.sh: Fix quoting to work properly with eval.

2007-11-24 04:47  zmedico

	* [r8638] pym/portage/dbapi/bintree.py: When binarytree.populate()
	  finds missing metadata, specify which keys are missing so that
	  the user has a clue about what is wrong.

2007-11-24 04:21  zmedico

	* [r8636] bin/ebuild.sh: Unconditionally filter some of the
	  SANDBOX_* variables from the environment 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.

2007-11-24 02:58  zmedico

	* [r8634] bin/ebuild.sh: Fix the var_grep variable in
	  filter_readonly_variables() so that it's properly local.

2007-11-24 02:24  zmedico

	* [r8630] bin/ebuild.sh: In the grep expression that's generated in
	  filter_readonly_variables(), condense redundant identical
	  expressions into a single one.

2007-11-24 01:56  zmedico

	* [r8629] bin/ebuild.sh: Filter _E_DOCDESTTREE_ and _E_EXEDESTTREE_
	  from environment.bz2.

2007-11-24 01:50  zmedico

	* [r8628] bin/ebuild.sh: Add support for persistence of colon
	  separated SANDBOX_{DENY,READ,PREDICT,WRITE} variables between
	  phases so things like the global scope addpredict() call in
	  qt3.eclass will continue to work.

2007-11-23 11:07  zmedico

	* [r8623] bin/ebuild.sh: Make save_ebuild_env() filter the new
	  source_all_bashrcs() function from the environment.

2007-11-23 10:53  zmedico

	* [r8621] bin/ebuild.sh: Try again to make bashrc sourcing
	  compatible with previous behavior. The bashrcs get an opportunity
	  to set aliases that will be expanded during sourcing of ebuilds
	  and eclasses.

2007-11-23 10:32  zmedico

	* [r8619] bin/ebuild.sh: unset x to avoid global env pollution.

2007-11-23 10:12  zmedico

	* [r8617] bin/ebuild.sh: For compatibility with previous behavior,
	  so the bashrc sourcing after the ebuild environment is fully
	  loaded.

2007-11-23 02:37  zmedico

	* [r8615] pym/portage/manifest.py: Sort hashes for predictable
	  output from Manifest._createManifestEntries().

2007-11-23 01:56  zmedico

	* [r8613] bin/misc-functions.sh: Use %% instead of % parameter
	  expansion where appropriate for md5sum output.

2007-11-23 01:37  zmedico

	* [r8611] bin/ebuild.sh: Make the sed expression in
	  filter_readonly_variables() handle '^declare -r ' by simply
	  removing it.

2007-11-23 00:08  zmedico

	* [r8609] pym/portage/__init__.py: When filtering the backupenv in
	  create_trees(), be more selective and ensure that special
	  variables that come from the config constructor are preserved.

2007-11-22 22:23  zmedico

	* [r8607] bin/ebuild.sh: Allow any errors from save_ebuild_env() to
	  go to stderr instead of directing them to /dev/null.

2007-11-22 21:59  zmedico

	* [r8605] bin/ebuild.sh: Generalize the sed expression in
	  filter_readonly_variables() so that it will work with things like
	  'declare -xr' as well as 'declare -rx'.

2007-11-22 20:19  zmedico

	* [r8603] bin/ebuild.sh: Don't call preprocess_ebuild_env() unless
	  EBUILD_SH_ARGS is set since otherwise it can interfere with the
	  environment for things like the "package" phase.

2007-11-22 19:52  zmedico

	* [r8601] bin/ebuild.sh: When portage reinstalls itself, during
	  inst/rm phases, the environment may 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.

2007-11-22 19:05  zmedico

	* [r8599] bin/dohtml, man/ebuild.5: Document dohtml -p. Thanks to
	  robbat2 for reporting.

2007-11-22 08:21  zmedico

	* [r8597] bin/misc-functions.sh: Make dyn_package() create a
	  /var/db/pkg/*/*/BINPKGMD5 entries so that packages installed via
	  --buildpkg have a BINPKGMD5 entry matching the package built.

2007-11-22 07:41  zmedico

	* [r8595] bin/ebuild.sh: Filter HOSTTYPE, MACHTYPE, and OSTYPE vars
	  that are set by bash.

2007-11-22 06:12  zmedico

	* [r8593] pym/_emerge/__init__.py: In depgraph.altlist(), measure
	  the bias of circular RDEPEND <-> PDEPEND relationships and use it
	  to optimize merge order.

2007-11-21 18:54  zmedico

	* [r8585] bin/ebuild.sh: Replace usage of the "myarg" global
	  variable with the equivalent readonly EBUILD_SH_ARGS variable.

2007-11-21 10:45  zmedico

	* [r8583] bin/ebuild.sh: In dyn_install(), don't cleanse S from the
	  global environment, in case the user wants to repeat the phase
	  (like with FEATURES=noauto and the ebuild command). Only cleanse
	  it from environment.bz2.

2007-11-21 10:31  zmedico

	* [r8581] bin/ebuild.sh: * Make save_ebuild_env() filter some more
	  variables. * Make dyn_install() filter S when it's no longer
	  needed.

2007-11-21 08:29  zmedico

	* [r8578] bin/isolated-functions.sh: Fix the diefunc overlay
	  message so that it doesn't trigger falsely in prerm or postrm.

2007-11-21 08:26  zmedico

	* [r8577] pym/_emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  Generate an eerror elog message when an ebuild prerm or postrm
	  phase fails.

2007-11-21 08:00  zmedico

	* [r8575] bin/ebuild.sh: Move environment saving from dyn_compile()
	  to dyn_install() so that state from src_install() is saved.

2007-11-21 07:38  zmedico

	* [r8573] bin/ebuild.sh: Clean up some local variables that are
	  needlessly saved in the environment.

2007-11-21 04:17  zmedico

	* [r8569] bin/ebuild.sh: Move preinst IMAGE initialzation before
	  bashrc handling.

2007-11-20 23:47  zmedico

	* [r8559] bin/repoman, man/repoman.1: * Remove bogus "ci" mode. *
	  Sync "scan" mode description with 2.1.2 branch.

2007-11-20 11:39  zmedico

	* [r8543] bin/ebuild.sh: Don't unset ${S} inside save_ebuild_env().

2007-11-20 10:41  zmedico

	* [r8542] bin/ebuild.sh: Instead of filtering out all readonly
	  variables, make it selective so that any readonly variables that
	  are not explicitly filtered are allowed to be saved.

2007-11-20 07:09  zmedico

	* [r8541] bin/ebuild.sh: Fix ${EBUILD_PHASE} quoting.

2007-11-20 06:31  zmedico

	* [r8540] bin/ebuild.sh: Don't make variables readonly during the
	  "depend" phase.

2007-11-20 05:49  zmedico

	* [r8539] pym/portage/__init__.py: When ROOT != "/" we only want
	  overrides from the calling environment to apply 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.

2007-11-20 05:21  zmedico

	* [r8538] bin/ebuild.sh: When ${T}/environment is available, do not
	  source the ebuild since that is redundant. This solves bug
	  #46223.

2007-11-20 02:33  zmedico

	* [r8537] bin/ebuild.sh: Now that save_ebuild_env() filters
	  variables that could cause interference, 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.

2007-11-20 02:17  zmedico

	* [r8536] bin/ebuild.sh: Add some more variables to filter in
	  filter_readonly_variables() and save_ebuild_env().

2007-11-20 01:00  zmedico

	* [r8535] bin/ebuild.sh: Move LD_PRELOAD and FAKEROOTKEY filtering
	  from filter_readonly_variables() to save_ebuild_env().

2007-11-19 23:03  zmedico

	* [r8534] bin/ebuild.sh: Make AA, PF, and WORKDIR readonly.

2007-11-19 22:57  zmedico

	* [r8533] bin/ebuild.sh: Make save_ebuild_env() filter out lots of
	  variables that don't need to be saved.

2007-11-19 22:08  zmedico

	* [r8532] bin/ebuild.sh: Make preprocess_ebuild_env() explicitly
	  filter out FEATURES since the value for that variable should
	  never come from a previously saved environment.

2007-11-19 21:41  zmedico

	* [r8531] bin/ebuild.sh: Implement loading of environment.bz2 from
	  binary and installed packages. For 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.

2007-11-19 10:16  zmedico

	* [r8528] bin/ebuild.sh: In bash-3.2_p20+ an attempt to assign
	  BASH_*, FUNCNAME, GROUPS or any 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.

2007-11-19 06:46  zmedico

	* [r8527] bin/ebuild.sh: When creating environment.bz2 at the end
	  of dyn_compile(), reduce bloat by filtering out functions that
	  are defined internally by portage. This reduces the size of the
	  resulting environment.bz2 file by approximately 10 KB.

2007-11-19 06:09  zmedico

	* [r8526] bin/ebuild.sh, pym/portage/__init__.py: Disable logging
	  and ${T}/environment saving during the pkg_info() phase.

2007-11-19 06:00  zmedico

	* [r8525] pym/_emerge/__init__.py: Use the existing RootConfig
	  class to serve as a replacement for the 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.

2007-11-19 00:02  zmedico

	* [r8524] pym/portage/__init__.py: Fix PROFILE_ONLY_VARIABLES
	  handling in the config constructor so that variables are
	  appropriately filtered from "backupenv", since otherwise they can
	  leak in from there.

2007-11-18 02:50  zmedico

	* [r8521] pym/portage/const.py, pym/portage/manifest.py: Bug
	  #198398 - Enable Manifest generation when there are no hash
	  functions 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).

2007-11-18 00:21  zmedico

	* [r8520] pym/portage/dbapi/vartree.py: Fix NEEDED logic in
	  vardbapi.aux_get() so that empty NEEDED doesn't trigger
	  unnecessary cache pulls.

2007-11-17 21:54  zmedico

	* [r8519] pym/_emerge/__init__.py: Fix --usepkgonly code in
	  depgraph.select_files() so that it only operates on the Package
	  type that it expects.

2007-11-17 09:09  zmedico

	* [r8518] pym/portage/dbapi/vartree.py: Clean up
	  vardbapi.counter_tick_core() and replace shell code with pure
	  python.

2007-11-16 08:43  zmedico

	* [r8516] pym/portage/dbapi/vartree.py: Speed up
	  LibraryPackageMap.update() by pulling NEEDED from the
	  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.

2007-11-16 06:21  zmedico

	* [r8513] bin/ebuild.sh: Set IMAGE for minimal backward
	  compatibility with overlays or user's bashrc, but don't export
	  it.

2007-11-16 06:16  zmedico

	* [r8512] pym/portage/__init__.py: Don't export ${IMAGE} to the
	  ebuild environment anymore since everything uses ${D} now
	  (including the entire tree).

2007-11-16 00:09  zmedico

	* [r8511] pym/portage/dbapi/vartree.py: Bug #199311 - Make
	  dblink.getcontents() show the path of the CONTENTS file when any
	  kind of parse error occurs.

2007-11-15 05:41  zmedico

	* [r8503] bin/ebuild.sh: Fix quoting for `source ${EBUILD}`.

2007-11-15 02:27  zmedico

	* [r8502] pym/portage/getbinpkg.py: Make dir_get_metadata() return
	  early if the current user does not have write access to
	  /var/cache/edb. Thanks to Cardoe for reporting.

2007-11-14 21:07  zmedico

	* [r8501] bin/ebuild.sh, bin/misc-functions.sh: * Replace
	  references to deprecated ${IMAGE} with equivalent ${D}. * Remove
	  redundant trailing slashes and fix quoting.

2007-11-14 00:30  zmedico

	* [r8500] pym/_emerge/__init__.py: In the slot collision display,
	  show a maximum of 3 parents for each package in order to avoid
	  flooding the display.

2007-11-13 21:05  zmedico

	* [r8499] bin/repoman, man/repoman.1: Make 'full' the default mode,
	  since 'scan' can be annoying since it ommits relevant info.

2007-11-13 20:53  zmedico

	* [r8498] pym/_emerge/__init__.py: Make the slot collision display
	  show all collisions instead of just the first one.

2007-11-13 19:20  zmedico

	* [r8497] pym/_emerge/__init__.py: Make depgraph._complete_graph()
	  properly specify SetArg instances as parents of each Dependency,
	  similar to the want that select_files() does.

2007-11-13 07:48  zmedico

	* [r8496] pym/_emerge/__init__.py: Make depgraph._add_pkg() match
	  the package with all possible args and add them to the digraph.

2007-11-12 18:36  zmedico

	* [r8495] pym/_emerge/__init__.py: Remove the depgraph.pkg_node_map
	  attribute and use other means to accomplish the same thing.

2007-11-12 07:54  zmedico

	* [r8494] pym/_emerge/__init__.py: Add DependencyArg instances as
	  parents of packages in the digraph since these relationships
	  should be useful during backtracking.

2007-11-12 06:43  zmedico

	* [r8493] pym/_emerge/__init__.py: * Remove all references to the
	  obsolete Package.digraph_node attribute. * 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.

2007-11-12 03:34  zmedico

	* [r8492] pym/_emerge/__init__.py, pym/portage/__init__.py: Make
	  the Package class emulate the interface of it's own digraph_node
	  tuple so that the Package instance itself can be added directly
	  to the digraph.

2007-11-12 01:42  zmedico

	* [r8491] bin/emaint: Bug #197797 - Set umask to 022 so that
	  created files (such as the world file) have sane permissions.

2007-11-11 22:17  zmedico

	* [r8490] bin/isolated-functions.sh: Make diefunc() clean up
	  QA_INTERCEPTORS in case it is called from inherit() since sed
	  called below.

2007-11-11 10:51  zmedico

	* [r8489] pym/_emerge/__init__.py: * Provide reasonable default
	  values for Dependency priority and depth attributes. * Remove
	  depgraph.create() since it's no longer needed. * Remove
	  depgraph._get_parent_sets() and instead get the information from
	  DependencyArg attributes.

2007-11-11 08:47  zmedico

	* [r8488] pym/_emerge/__init__.py: Fix depgraph._get_arg_for_pkg()
	  so that it compares package types to help ensure a proper match.

2007-11-11 06:20  zmedico

	* [r8487] pym/_emerge/__init__.py, pym/portage/sets/base.py:
	  Implement mapping of packages to instances of DependencyArg in
	  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.

2007-11-11 01:01  zmedico

	* [r8486] pym/_emerge/__init__.py: Wrap accesses to
	  depgraph._set_atoms.findAtomForPackage() in a new
	  depgraph._get_arg_for_pkg() method.

2007-11-10 17:31  zmedico

	* [r8485] pym/repoman/checks.py: Make the
	  EbuildQuote.missing_quotes regex accept single quotes where it
	  accepts double quotes in order to eliminate some false positives.
	  Thanks to Krzysiek Pawlik <nelchael@gentoo.org> for reporting.

2007-11-10 06:48  zmedico

	* [r8484] pym/portage/sets/files.py: Fix WorldSet.cleanPackage() so
	  that it properly preserves nonatoms (sets) in the world file.

2007-11-10 03:12  zmedico

	* [r8483] bin/repoman, pym/repoman/checks.py: Convert all the
	  checks in repoman.checks to use a new LineCheck interface 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.

2007-11-09 20:17  zmedico

	* [r8482] pym/_emerge/__init__.py: Clean up expansion of set
	  arguments in depgraph.select_files().

2007-11-09 16:35  genone

	* [r8481] pym/portage/sets/shell.py: fix typo and missing
	  classmethod declaration

2007-11-09 15:51  genone

	* [r8480] pym/portage/sets/security.py: if multiple glsas result in
	  the same cat/pkg:slot being affected only use the highest
	  resulting atom

2007-11-09 15:38  genone

	* [r8479] bin/glsa-check, pym/portage/glsa.py,
	  pym/portage/sets/security.py: move checkfile parsing into its own
	  function

2007-11-09 15:10  genone

	* [r8478] bin/emaint, bin/glsa-check: Move glsa-check from
	  gentoolkit into portage so the gentoolkit version can be removed
	  after 2.2 is released

2007-11-09 15:07  genone

	* [r8477] pym/portage/glsa.py, pym/portage/sets/security.py: revert
	  getMergeList to return CPVs again instead of atoms

2007-11-09 08:21  zmedico

	* [r8476] pym/_emerge/__init__.py: Fix incorrect type in
	  depgraph._missing_args.

2007-11-09 07:15  zmedico

	* [r8475] pym/_emerge/__init__.py: Create classes to encapsulate
	  eache of the depgraph argument types: atoms, packages and sets.

2007-11-09 03:35  zmedico

	* [r8474] pym/portage/tests/ebuild/test_spawn.py: Remove the
	  workaround for \n -> \r\n transformations in
	  SpawnTestCase.testLogfile() since the problem is solved by the
	  patch from bug #198491.

2007-11-09 03:33  zmedico

	* [r8473] pym/portage/__init__.py: Bug #198491 - Disable
	  termios.OPOST post-processing of output on the slave pty file
	  descriptor since otherwise weird things like \n -> \r\n
	  transformations may occur. Thanks to Ulrich Mueller
	  <ulm@gentoo.org> for this patch.

2007-11-09 01:54  zmedico

	* [r8472] pym/portage/__init__.py: Revert accidental hunk from bug
	  198491. Haven't tested this yet.

2007-11-09 01:33  zmedico

	* [r8471] pym/portage/__init__.py: make.globals should not be
	  relative to config_root because it only contains constants.

2007-11-08 22:36  zmedico

	* [r8468] pym/portage/output.py: Tweak EOutput.term_columns
	  calculation for TERM="dumb" so that it behaves like TERM="cons25"
	  currently does. Thanks to Ulrich Mueller <ulm@gentoo.org> for the
	  patch.

2007-11-08 22:11  zmedico

	* [r8466] pym/portage/dbapi/bintree.py: Don't do: Calculating
	  dependencies |Fetching binary packages info... but instead put
	  "Fetching ..." on it's own line. (branches/prefix r8461)

2007-11-08 22:03  zmedico

	* [r8464] bin/quickpkg: Bug #198492 - Make quickpkg create $PKGDIR
	  if it doesn't already exist.

2007-11-08 21:57  zmedico

	* [r8462] pym/portage/getbinpkg.py: It is not cool and/or helpfull
	  to see an HTML dump of some page in case it is not what is
	  expected (like a 404). (branches/prefix r8460)

2007-11-07 23:54  zmedico

	* [r8457] pym/_emerge/__init__.py, pym/portage/__init__.py: For
	  unsatisfied dependencies, shorten the per-package EAPI mask
	  output and show an informative message whenever an EAPI mask is
	  encountered.

2007-11-07 08:19  zmedico

	* [r8453] pym/_emerge/__init__.py: Really fix broken logic for
	  --update greedy slot atoms in depgraph.select_files().

2007-11-07 08:15  zmedico

	* [r8452] pym/_emerge/__init__.py: Fix broken logic for --update
	  greedy slot atoms in depgraph.select_files().

2007-11-06 22:58  zmedico

	* [r8451] pym/_emerge/__init__.py: Make depgraph.select_files()
	  perform internal expansion of package set arguments since ideally
	  the depgraph needs to be awary of the precise origin of each
	  atom.

2007-11-06 17:21  zmedico

	* [r8447] bin/repoman: Remove the usage.obsolete "KEYWORDS contain
	  -*" warning since people are using -* to indicate that a package
	  should not be tried on archs other than those for which it
	  already has KEYWORDS.

2007-11-06 09:39  zmedico

	* [r8445] pym/_emerge/__init__.py: Simplify and fix bugs in
	  is_valid_package_atom().

2007-11-06 08:58  zmedico

	* [r8444] bin/misc-functions.sh: Remove references to ${O} in
	  dyn_spec() since antarus made that variable mutable.

2007-11-06 08:31  zmedico

	* [r8442] bin/ebuild.sh: Go ahead and exempt selected
	  profile-specific USE_EXPAND flags from IUSE QA 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).

2007-11-06 06:54  zmedico

	* [r8439] pym/_emerge/__init__.py: Fix create_world_atom() logic
	  some more for bug #198129.

2007-11-06 06:41  zmedico

	* [r8438] pym/_emerge/__init__.py: Bug #198129 - Prevent SLOT atoms
	  like sys-devel/binutils:0 from being inappropriately recorded in
	  the world file when USE=multislot is enabled.

2007-11-06 06:25  antarus

	* [r8437] bin/ebuild.sh: remove O and PPID from being readonly. O
	  is set python side (and we will hopefully stop being exported
	  soon. PPID is ro by bash, so no need to declare it twice

2007-11-05 22:42  zmedico

	* [r8436] pym/_emerge/__init__.py: Allow multislot packages to be
	  added to the world file via --noreplace. 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.

2007-11-05 08:41  zmedico

	* [r8432] bin/emaint, pym/portage/sets/base.py: Make WorldHandler
	  lock the world file when in --fix mode.

2007-11-05 08:01  zmedico

	* [r8431] bin/emaint: Add support for package sets in WorldHandler.

2007-11-05 06:49  zmedico

	* [r8429] bin/repoman, pym/repoman/errors.py: Fix 'TypeError: not
	  all arguments converted during string formatting' issues with the
	  EbuildNestedDie check.

2007-11-05 06:16  zmedico

	* [r8428] bin/repoman: Replace StringIO usage with a simple list of
	  lines. The iteration interface 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.

2007-11-04 20:57  zmedico

	* [r8426] pym/portage/manifest.py: Make exception strings more
	  informative.

2007-11-04 18:00  zmedico

	* [r8423] pym/portage/manifest.py: Make Manifest.create() do some
	  basic validation of ebuild file names like portdbapi.cp_list()
	  would do.

2007-11-04 09:29  zmedico

	* [r8421] pym/portage/dbapi/porttree.py: In portdbapi.cp_list(),
	  validate the ebuild name to ensure that it matches the name of
	  the package.

2007-11-04 08:10  zmedico

	* [r8420] pym/portage/dbapi/bintree.py: When evaluating *DEPEND
	  conditionals for the Packages metadata index, do not use IUSE to
	  filter USE since there is currently no guarantee that IUSE
	  properly defines all of the necessary flags.

2007-11-04 06:36  zmedico

	* [r8418] pym/portage/__init__.py: Clean up ACCEPT_KEYWORDS
	  incremental stacking logic and fix some minor inconsistencies.

2007-11-04 05:32  zmedico

	* [r8416] pym/portage/__init__.py: In fetch(), replace
	  checksum_failure_counts dict with single int counter.

2007-11-04 03:32  zmedico

	* [r8414] bin/repoman: Generate a usage.obsolete warning whenever
	  -* is found in KEYWORDS.

2007-11-04 02:11  zmedico

	* [r8412] pym/portage/__init__.py: Make fetch() behave like the
	  ebuild has RESTRICT="primaryuri" after 2 checksum failures for a
	  fetched file. This should increase the probability of fetching
	  the correct file before the maximum number of tries is reached.

2007-11-04 00:21  zmedico

	* [r8410] pym/portage/dbapi/porttree.py: For sanity, pass an actual
	  list of keys into aux_get() instead of iterating over a set that
	  happens to be mutable (though it remains constant in practice).

2007-11-03 23:43  zmedico

	* [r8408] pym/portage/dbapi/vartree.py: Bug #197797 - Do not
	  actively clear o+rx permission bits on the /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().

2007-11-03 22:47  zmedico

	* [r8405] bin/etc-update: Call die() so that the $TMP directory is
	  always properly cleaned up.

2007-11-03 21:40  zmedico

	* [r8403] pym/portage/__init__.py: Bug #197965 - Make fetch() bail
	  out after 5 checksum failures for a particular file since
	  downloading the same file repeatedly from every single available
	  mirror is a waste of bandwidth and time.

2007-11-03 21:13  vapier

	* [r8402] bin/etc-update: if mode=1 and `dialog` is not usable,
	  abort #197990 by DominikBuerkle

2007-11-03 20:40  zmedico

	* [r8401] pym/portage/__init__.py: Bug #197965 - When fetch()
	  encounters a checksum failure, look for an identical file from a
	  previous checksum failure in order to avoid consuming unnecessary
	  disk space with duplicate files.

2007-11-03 19:11  zmedico

	* [r8397] pym/portage/update.py: Fix update_config_files() so that
	  it uses update_dbentry() to handle update commands since that
	  already supports slotmove commands for SLOT atoms.

2007-11-03 16:37  zmedico

	* [r8392] pym/portage/dbapi/__init__.py: Remove redundant code from
	  previous commit.

2007-11-03 16:34  zmedico

	* [r8390] pym/portage/dbapi/__init__.py: Bug #197932 - Make
	  dbapi._cpv_sort_ascending() preserve explicit -r0 for consistency
	  in findname and aux_get calls.

2007-11-03 09:45  zmedico

	* [r8387] pym/portage/update.py: TODO: Make update_config_files()
	  handle slotmove commands for SLOT atoms.

2007-11-03 01:54  zmedico

	* [r8385] pym/portage/__init__.py: In portage.fetch(), condense
	  digest check output to a single line for all digests.

2007-11-02 21:17  zmedico

	* [r8383] bin/repoman: Sort scanlist and ebuildlist to ensure that
	  repoman always processes packages in a predictable order.

2007-11-02 08:51  zmedico

	* [r8381] pym/portage/dbapi/porttree.py: Make portdbapi.gvisible()
	  use portdbapi._aux_cache_keys for metadata pulls.

2007-11-02 08:33  zmedico

	* [r8379] pym/portage/__init__.py: Return early from
	  config.getMaskAtom() as soon as a matching unmask atom is found.

2007-11-02 07:14  zmedico

	* [r8373] man/make.conf.5: Bug #197594 - Document
	  FEATURES="lmirror".

2007-11-02 06:14  zmedico

	* [r8366] pym/portage/dbapi/vartree.py: Make sure
	  vardbapi.cp_list() always sorts the results.

2007-11-02 04:31  zmedico

	* [r8360] pym/_emerge/__init__.py: Fix ignore_priority logic in
	  depgraph.altlist() in order to handle some cases where it was
	  possible for nodes to be selected without their PDEPENDs being
	  propperly added to the asap_nodes list.

2007-11-02 02:14  zmedico

	* [r8359] pym/_emerge/__init__.py: Collapse 2 identical code hunks
	  into 1.

2007-11-02 01:14  zmedico

	* [r8358] pym/_emerge/__init__.py: Optimize merge order to try and
	  select nodes that only have unsatisfied 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.

2007-11-01 21:14  zmedico

	* [r8357] pym/_emerge/__init__.py: In the 'there are no ebuilds to
	  satisfy "foo"' message, discard null/ from failed cpv_expand
	  category expansion.

2007-11-01 18:26  zmedico

	* [r8355] pym/repoman/checks.py: Properly escape { and } characters
	  in regular expressions even though it seems to work either way.

2007-11-01 18:19  zmedico

	* [r8354] pym/repoman/checks.py: Remove an extra \$ from the
	  EbuildQuote.var_reference regex so that it will properly match
	  things like variable references without braces, like $S.

2007-11-01 17:49  zmedico

	* [r8353] pym/repoman/checks.py: Make the EbuildUselessCdS check
	  for both quoted and unquoted ${S} so the user doesn't have to fix
	  quoting before this check will recognize the violation.

2007-11-01 06:37  zmedico

	* [r8352] pym/portage/sets/base.py, pym/portage/sets/files.py:
	  Avoid making unnecessary copies of PackageSet._atoms by replacing
	  calls to self.getAtoms() with self._load().

2007-11-01 02:25  zmedico

	* [r8351] bin/repoman, pym/repoman/checks.py,
	  pym/repoman/errors.py: Add a check for redundant cd "${S}"
	  statements on the first line of src_(compile|install|test) ebuild
	  methods. Thanks to Petteri Räty <betelgeuse@gentoo.org> for this
	  patch.

2007-10-31 22:12  zmedico

	* [r8350] pym/_emerge/__init__.py: Make depgraph.select_files()
	  recursively expand sets given as arguments so 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.

2007-10-31 17:33  zmedico

	* [r8349] bin/isolated-functions.sh: Fix diefunc() so that it
	  doesn't report that the ebuild is from an overlay when
	  EMERGE_FROM == binary.

2007-10-31 17:12  zmedico

	* [r8348] man/make.conf.5: Update the FEATURES=mirror docs to more
	  accurately reflect behavior.

2007-10-31 05:27  zmedico

	* [r8347] pym/_emerge/__init__.py: Defer selection of package
	  dependency atoms until they are actually needed 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).

2007-10-31 02:38  zmedico

	* [r8346] pym/_emerge/__init__.py: Gather some ignored dependencies
	  so that they can be properly processed by the depgraph when
	  "conistent" mode is enabled.

2007-10-31 01:35  zmedico

	* [r8345] pym/_emerge/__init__.py: Remove a few unused depgraph
	  attributes.

2007-10-30 23:33  zmedico

	* [r8344] pym/_emerge/__init__.py: Fix "args" set handling wrt
	  $ROOT in depgraph._complete_graph().

2007-10-30 22:00  zmedico

	* [r8343] pym/portage/dbapi/porttree.py: Implement license
	  filtering for xmatch minimum-visible and bestmatch-visible. Also,
	  make the gvisible license filtering conditional on
	  config.local_config since repoman doesn't do license filtering.

2007-10-30 21:48  zmedico

	* [r8342] pym/portage/dbapi/porttree.py: Optimize xmatch
	  "bestmatch-visible" to do fewer metadata accesses by using the
	  same code as "minimum-visible" but with a reverse iterator.

2007-10-30 21:25  zmedico

	* [r8341] pym/_emerge/__init__.py: Implement a "consistent"
	  depgraph parameter (enabled by --consistent) that 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.

2007-10-29 05:26  zmedico

	* [r8338] pym/portage/dbapi/vartree.py: Use rstrip("\n") to remove
	  trailing newlines from CONTENTS lines.

2007-10-29 05:22  zmedico

	* [r8337] pym/portage/dbapi/vartree.py: Rewrite the
	  dblink.getcontents() code to use str.split(" ") for splitting
	  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.

2007-10-29 00:08  zmedico

	* [r8336] pym/portage/dbapi/porttree.py: Make portdbapi.cp_list()
	  use os.listdir() instead of portage.listdir() since
	  portage.listdir() has unnecessary overhead and it's cache isn't
	  needed since cp_list() has it's own cache.

2007-10-28 21:34  zmedico

	* [r8335] pym/portage/sets/base.py: Fix PackageSet.getAtoms() and
	  getNonAtoms() so that they don't return references to private
	  data structures.

2007-10-28 20:47  zmedico

	* [r8334] pym/_emerge/__init__.py: Fix --depclean to use
	  SetConfig.getSetAtoms() and also fix a broken reference to
	  packagesets which is now settings.sets.

2007-10-28 20:30  zmedico

	* [r8333] pym/portage/sets/__init__.py: Fix SetConfig.getSetAtoms()
	  to stop initializing ignorelist in the parameter list since
	  otherwise the ignorelist persists between calls and causes
	  unpredictable results for callers.

2007-10-28 18:56  zmedico

	* [r8332] pym/_emerge/__init__.py: Optimize stdout_spinner.update()
	  methods so that they don't waste cpu time by flushing ouput to
	  the tty too frequently.

2007-10-28 09:05  zmedico

	* [r8331] pym/portage/dbapi/virtual.py: Fix cp_list() to prevent it
	  from returning a reference to one of it's internal lists.

2007-10-28 07:26  zmedico

	* [r8329] pym/_emerge/__init__.py, pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/porttree.py, pym/portage/dbapi/vartree.py,
	  pym/portage/dbapi/virtual.py: Sort all dbapi.cp_list() results in
	  ascending order and cache the results when possible. The order is
	  preserved in dbapi.match() so those results are also sorted.

2007-10-27 20:43  zmedico

	* [r8324] pym/_emerge/__init__.py: Replace depgraph._slot_node_map
	  with _slot_pkg_map so that it's easier to get existing Package
	  instances.

2007-10-27 04:41  zmedico

	* [r8319] pym/_emerge/__init__.py: Make depgraph._select_atoms()
	  more flexible by allowing the repositories to be passed in as a
	  parameter.

2007-10-27 01:59  zmedico

	* [r8318] pym/_emerge/__init__.py: Reuse an existing EmergeConfig
	  instance instead of constructing a new one.

2007-10-27 01:46  zmedico

	* [r8317] pym/_emerge/__init__.py: Fix broken $ROOT handling for
	  setconfig in the MergeTask constructor.

2007-10-26 19:35  zmedico

	* [r8316] pym/portage/__init__.py: In portage.fetch(), condense
	  digest check ouput to a single line for all digests.

2007-10-26 18:06  zmedico

	* [r8313] bin/repoman, pym/portage/dbapi/porttree.py: Optimize
	  repoman to share portdbapi.cp_list() results between all profiles
	  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).

2007-10-26 16:34  zmedico

	* [r8310] pym/portage/dbapi/porttree.py: Add missing break
	  statement for xmatch minimum-visible.

2007-10-26 08:38  zmedico

	* [r8309] bin/repoman, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Optimize repoman visibility checks
	  to access as little metadata as possible. (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.

2007-10-26 06:10  zmedico

	* [r8308] pym/_emerge/__init__.py, pym/portage/sets/base.py: Make
	  emerge add sets to the world file as one would expect.

2007-10-26 05:18  zmedico

	* [r8307] pym/portage/sets/__init__.py, pym/portage/sets/files.py:
	  Allow sets to get through world file validation and expand
	  properly. It's now possible to put @system in the world file and
	  get the old behavior where world includes system.

2007-10-26 04:38  zmedico

	* [r8306] pym/_emerge/__init__.py: Prevent premature expansion of
	  old-style virtuals inside depgraph.select_files().

2007-10-26 03:55  zmedico

	* [r8305] pym/_emerge/__init__.py: Optimize the algorithm used for
	  expansion of set arguments into atoms.

2007-10-26 01:13  genone

	* [r8304] RELEASE-NOTES: update notes about package sets

2007-10-26 01:07  genone

	* [r8303] pym/portage/sets/__init__.py: break potential cycles in
	  set expansion

2007-10-26 01:03  genone

	* [r8302] pym/_emerge/__init__.py, pym/portage/sets/__init__.py:
	  use SetConfig.getSetAtoms instead of PackageSet.getAtoms for
	  expanding sets to allow recursion, and drop the default 'sets/'
	  prefix for setnames

2007-10-26 00:55  genone

	* [r8301] pym/_emerge/__init__.py, pym/portage/sets/__init__.py:
	  use a @ prefix for sets, and replace world/system with their real
	  prefixed names if found on the commandline

2007-10-25 23:59  genone

	* [r8300] pym/portage/sets/__init__.py, pym/portage/sets/base.py:
	  Allow sets to contain non-atoms

2007-10-25 19:56  zmedico

	* [r8296] bin/repoman: FIX: indentation problem, also end the
	  Portage identification line with a ) if repoman wasn't forced to
	  do its job. (branches/prefix r8281)

2007-10-25 19:54  zmedico

	* [r8295] bin/repoman: Fix: Make repoman actually USE -m commit
	  message again (and -M commit message file). (branches/prefix
	  r8280)

2007-10-25 17:01  zmedico

	* [r8294] pym/portage/dbapi/vartree.py: Correct expected split
	  counts for CONTENTS lines.

2007-10-25 16:49  zmedico

	* [r8293] pym/portage/dbapi/vartree.py: Handle a potential
	  IndexError.

2007-10-25 16:43  zmedico

	* [r8292] pym/portage/dbapi/vartree.py: Remove obsolete whitespace
	  handling code for "obj" filenames in CONTENTS.

2007-10-25 16:36  zmedico

	* [r8291] pym/portage/dbapi/vartree.py: Handle multiple consecutive
	  spaces in filenames as per bug #196836#c6.

2007-10-25 06:02  zmedico

	* [r8290] pym/_emerge/__init__.py: For the emergelog message, send
	  in the original list of arguments that exists before expansion of
	  sets.

2007-10-25 05:57  zmedico

	* [r8289] pym/portage/output.py: If the title string is too big
	  then xtermTitle() can misbehave by causing the 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.

2007-10-25 05:29  zmedico

	* [r8288] pym/_emerge/__init__.py: Filter atoms that come from sets
	  when generating the list of atoms to record in the world file.

2007-10-25 04:50  zmedico

	* [r8287] pym/_emerge/__init__.py: For the global AUTOCLEAN, pass
	  an empty list into unmerge() so it behaves like it used to.

2007-10-25 02:52  zmedico

	* [r8286] pym/_emerge/__init__.py: Spit out a
	  depgraph._get_existing_pkg() method for getting an existing
	  Package instance added to the graph for a given SLOT.

2007-10-25 02:01  zmedico

	* [r8285] pym/_emerge/__init__.py: Make the Package class generate
	  the digraph nodes.

2007-10-25 00:05  zmedico

	* [r8284] pym/_emerge/__init__.py: Fix inverted logic error.

2007-10-24 21:31  zmedico

	* [r8283] pym/_emerge/__init__.py: Convert depgraph creation from
	  using recursive calls to using a stack of dependencies which will
	  be more suitable for implementation of backtracking.

2007-10-24 15:45  zmedico

	* [r8282] pym/_emerge/__init__.py: Add back support for greedy
	  SLOTs when --update is enabled as per bug #150361. This is
	  currently disabled for sets since greedy SLOT atoms could be a
	  property of the set itself.

2007-10-24 06:47  zmedico

	* [r8270] pym/portage/sets/shell.py: Fix broken import.

2007-10-24 06:42  zmedico

	* [r8269] pym/_emerge/__init__.py: Add back support for helpful
	  `emaint --check world` suggestions and also show package masking
	  reasons when appropriate.

2007-10-24 06:13  zmedico

	* [r8268] pym/_emerge/__init__.py: Add back support for detecting
	  if the world file contains atoms that match packages in
	  package.provided.

2007-10-24 05:50  zmedico

	* [r8267] pym/_emerge/__init__.py: Add back support for handling
	  missing system/world atoms that was removed 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.

2007-10-24 01:59  zmedico

	* [r8266] pym/_emerge/__init__.py: Replace sys.exit() calls with
	  return statements in emerge_main().

2007-10-24 01:44  zmedico

	* [r8265] pym/_emerge/__init__.py: Remove --update greedy SLOTs
	  code from depgraph.select_files() so that any desired SLOTs have
	  to be pulled in explicitly. Any SLOTs that are not explicitly
	  pulled in will be removed by --depclean.

2007-10-24 01:33  zmedico

	* [r8264] pym/_emerge/__init__.py: Make world atoms non-greedy for
	  SLOTs in action_depclean() since users can simply add SLOT atoms
	  to world for any specific SLOTs that they want to keep.

2007-10-24 01:11  genone

	* [r8263] pym/_emerge/__init__.py: remove 'system' and 'world' as
	  actions, and remove most of the special case code as well

2007-10-23 23:11  zmedico

	* [r8262] pym/_emerge/__init__.py: Fix selective logic to work
	  properly with masked packages.

2007-10-23 22:58  zmedico

	* [r8261] pym/_emerge/__init__.py: Match packages against arguments
	  earlier in depgraph._select_package() so that corrupt PROVIDE is
	  detected sooner.

2007-10-23 22:55  zmedico

	* [r8260] pym/_emerge/__init__.py: Fix logic for the "selective"
	  depgraph parameter so that it behaves correctly in cases where
	  installed packages provide old-style virtuals but none of the
	  available packages do.

2007-10-23 22:35  genone

	* [r8259] man/portage.5: document PROFILE_ONLY_VARIABLES

2007-10-23 20:58  genone

	* [r8258] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py: revert
	  r8256 (plans changed)

2007-10-23 20:33  genone

	* [r8257] pym/_emerge/__init__.py, pym/portage/sets/__init__.py,
	  pym/portage/sets/base.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py: move
	  base classes for package sets into a separate module

2007-10-23 20:24  genone

	* [r8256] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py: just
	  pass the SetConfig instance instead of only the settings and
	  trees attributes

2007-10-23 19:30  zmedico

	* [r8255] pym/portage/__init__.py: Optimize PROFILE_ONLY_VARIABLES
	  handling.

2007-10-23 19:24  genone

	* [r8254] pym/_emerge/__init__.py: make 'world' and 'system' behave
	  like their sets/ counterparts

2007-10-23 19:13  genone

	* [r8253] pym/portage/const.py: make PROFILE_ONLY_VARIABLES
	  incremental

2007-10-23 18:50  genone

	* [r8252] pym/portage/__init__.py: protect variables specified in
	  PROFILE_ONLY_VARIABLES from being set by the user

2007-10-23 07:49  antarus

	* [r8251] pym/portage/util.py: add quickie logger function

2007-10-23 07:48  antarus

	* [r8250] bin/repoman: Begin to use python logging framework.
	  Remove if quiet < bla logic and 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.

2007-10-23 05:36  zmedico

	* [r8248] pym/portage/dbapi/vartree.py: Don't show the "checking
	  files for package collisions" message when --quiet is enabled.

2007-10-23 03:57  antarus

	* [r8247] bin/repoman: aha, i knew that diff was screwy, the mail
	  to portage-commits and grep made it obvious as to why; lets try
	  removing those dupe checks.

2007-10-23 03:53  antarus

	* [r8246] bin/repoman: fix tabbing

2007-10-23 03:51  antarus

	* [r8245] bin/repoman: Sigh, this integration did not go well,
	  please check the diff (it seemed to 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 ;)

2007-10-23 02:38  zmedico

	* [r8243] bin/portageq: Print the Id tag an it's own line to avoid
	  going over 80 columns.

2007-10-23 02:32  zmedico

	* [r8242] bin/portageq: Fix the version Id tag.

2007-10-23 01:11  zmedico

	* [r8240] pym/portage/__init__.py: Fix config.setinst() to return
	  early when the given package already provides the virtual.

2007-10-23 00:49  zmedico

	* [r8238] pym/portage/__init__.py: Remove a redundant
	  self.treeVirtuals deepcopy from the config constructor.

2007-10-23 00:27  zmedico

	* [r8236] bin/repoman, pym/repoman/checks.py: Bug #196652 - Check
	  for useless ABOUT-NLS|COPYING|LICENSE files in dodoc arguments.

2007-10-22 23:32  zmedico

	* [r8235] bin/repoman: Fix broken imports.

2007-10-22 22:32  zmedico

	* [r8233] pym/_emerge/__init__.py: In depgraph.create(), if a
	  direct circular dependency is not an unsatisfied buildtime
	  dependency then drop it here since otherwise it can skew the
	  merge order calculation in an unwanted way.

2007-10-22 06:59  zmedico

	* [r8225] pym/_emerge/__init__.py: In depgraph.create(), don't
	  ignore direct circular dependencies anymore since 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.

2007-10-22 05:45  zmedico

	* [r8224] bin/emaint: Bug #184118 - Add an emaint "cleanresume"
	  action that deletes any existing resume lists from the mtimedb.
	  Thanks to Arfrever Frehtes Taifersar Arahesis for the initial
	  patch.

2007-10-22 03:50  zmedico

	* [r8222] pym/portage/cache/util.py: Bug #196680 - Handle a
	  CacheError inside mirror_cache() when reading from the source
	  cache.

2007-10-21 23:23  zmedico

	* [r8221] pym/_emerge/__init__.py: Combine depgraph._select_dep()
	  into create() so that create() simply calls itself recursively.
	  In order to implement backtracking, create() will eventually
	  operate on a stack instead of calling itself.

2007-10-21 21:23  zmedico

	* [r8220] pym/_emerge/__init__.py: Always pass package metadata
	  into depgraph.create() so it doesn't have to get it itself.

2007-10-21 20:59  zmedico

	* [r8219] pym/_emerge/__init__.py: Do a loop over each dependency
	  type to simplify select_dep() calls.

2007-10-21 20:31  zmedico

	* [r8218] pym/_emerge/__init__.py: Don't catch a ValueError if it
	  isn't the type that's expected from portage.cpv_expand().

2007-10-21 18:38  zmedico

	* [r8215] pym/portage/news.py: Fix NewsManager.getUnreadItems() so
	  that it works properly for an unprivileged user in readonly mode.

2007-10-21 18:07  zmedico

	* [r8214] pym/portage/exception.py, pym/portage/news.py: Bug
	  #196427 - Prevent various news related tracebacks from occuring
	  when running emerge as an unprivileged user in --pretend mode.

2007-10-21 11:51  genone

	* [r8207] RELEASE-NOTES: note that sets can't contain other sets

2007-10-21 10:55  genone

	* [r8206] NEWS, RELEASE-NOTES: add some notes about restrictions
	  wrt package sets

2007-10-21 10:36  genone

	* [r8204] pym/_emerge/__init__.py: fix comment

2007-10-21 10:34  genone

	* [r8202] pym/portage/news.py: ignore "permission denied" errors
	  when changing perms of news skipfile that happen when running
	  with user priviledges in pretend mode

2007-10-21 10:30  genone

	* [r8201] pym/_emerge/__init__.py: restore proper call logic

2007-10-21 10:13  genone

	* [r8200] bin/ebuild.sh: Remove slashes that cause problems when
	  unpacking files with relative paths (bug #196565)

2007-10-21 08:32  zmedico

	* [r8199] pym/_emerge/__init__.py: Remove uneeded "arg" and "addme"
	  parameters where possible.

2007-10-21 08:16  zmedico

	* [r8198] pym/_emerge/__init__.py: Use a "depth" parameter to track
	  depth of recursion relative to the nearest argument atom.

2007-10-21 07:23  zmedico

	* [r8197] pym/_emerge/__init__.py: Split the "arg" parameter out of
	  depgraph.select_dep() so that it's used purely for processing
	  atoms that are pulled in by parent packages.

2007-10-21 06:07  zmedico

	* [r8195] bin/portageq: Bug #196537 - Make portageq check that the
	  <root> parameter is an existing directory and exit gracefully if
	  not.

2007-10-21 05:47  zmedico

	* [r8194] pym/_emerge/__init__.py: Make depgraph.xcreate() use the
	  filtered repo to determine availablility of system/world atoms so
	  that the raise_on_missing parameter can be removed from
	  depgraph.select_dep().

2007-10-21 05:20  zmedico

	* [r8193] pym/_emerge/__init__.py: Raise an InvalidDependString
	  exception if necessary when the depgraph is populating the
	  filtered repo so that we don't have to check the return value.

2007-10-21 04:25  zmedico

	* [r8192] pym/_emerge/__init__.py: Rename variable for consistency.

2007-10-21 00:45  zmedico

	* [r8191] pym/_emerge/__init__.py: Split the atom selection logic
	  out of depgraph.select_dep().

2007-10-20 23:26  zmedico

	* [r8190] pym/_emerge/__init__.py: Split the package selection
	  logic out of depgraph.select_dep().

2007-10-20 22:21  zmedico

	* [r8189] pym/_emerge/__init__.py: Split the masked packages
	  display out of depgraph.select_dep().

2007-10-20 21:51  zmedico

	* [r8188] pym/_emerge/__init__.py: Use a simple Package class to
	  bundle package data for depgraph.create() calls.

2007-10-20 08:18  zmedico

	* [r8187] pym/_emerge/__init__.py, pym/portage/__init__.py: Allow
	  the depgraph to add old-style virtual providers but prefer any
	  pre-existing providers over new ones that are added.

2007-10-20 07:19  zmedico

	* [r8186] pym/_emerge/__init__.py: Remove the config.setinst() call
	  from depgraph.select_dep() since it's never 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.

2007-10-19 22:33  zmedico

	* [r8185] man/emerge.1, man/make.conf.5, pym/_emerge/help.py: Bug
	  #196435 - Add some more references to quickpkg(1) since sometimes
	  people don't realize that it exists.

2007-10-19 19:33  zmedico

	* [r8184] pym/portage/elog/__init__.py: Refactor
	  _merge_logentries() to make it a little more efficient.

2007-10-19 19:27  zmedico

	* [r8183] pym/portage/elog/__init__.py: Use a list to buffer
	  strings in _combine_logentries() and do a single concatenation at
	  the end for better efficiency.

2007-10-19 19:18  zmedico

	* [r8182] pym/portage/elog/__init__.py: Prevent
	  _combine_logentries() from generating redundant consecutive
	  'TYPE: phase' lines that show in summary.log when the
	  python-based elog functions are used.

2007-10-19 19:09  zmedico

	* [r8181] pym/portage/elog/__init__.py: Fix broken call to renamed
	  _combine_logentries().

2007-10-19 18:33  zmedico

	* [r8180] pym/portage/elog/mod_echo.py: Don't show each character
	  of the log message on a new line when displaying 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.

2007-10-19 16:53  zmedico

	* [r8179] pym/_emerge/__init__.py: Bug #196427 - Don't display news
	  notifications when in --pretend mode.

2007-10-19 15:32  zmedico

	* [r8178] pym/portage/dbapi/vartree.py: Pass the whole cpv to elog
	  instead of just ${PF}.

2007-10-19 15:17  zmedico

	* [r8177] pym/portage/elog/messages.py: The ERROR color code is
	  currently undefined, so make eerror use BAD like the bash version
	  does.

2007-10-19 10:27  genone

	* [r8176] pym/portage/dbapi/vartree.py: Use the python version of
	  eerror

2007-10-18 21:08  zmedico

	* [r8174] pym/portage/dbapi/vartree.py: Handle EnvironmentError
	  instead of OSError since open() actually raises 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.

2007-10-18 19:30  zmedico

	* [r8172] pym/portage/dbapi/vartree.py: Bug #195375 - Make
	  dblink.treewalk() read inforoot/SLOT since it differs from 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.

2007-10-18 03:20  zmedico

	* [r8170] pym/portage/dbapi/vartree.py: Adjust quote usage in
	  collision-protect eerror output.

2007-10-18 02:32  zmedico

	* [r8168] pym/portage/dbapi/vartree.py: Fix collision-protect so
	  that it properly cancels the preinst phase like it used to.

2007-10-17 21:44  zmedico

	* [r8166] pym/portage/dbapi/vartree.py: Fix the normalize_needed
	  regex to properly match // anywhere in the path. Also add support
	  for detection of . or .. where appropriate.

2007-10-17 20:22  zmedico

	* [r8163] pym/portage/dbapi/vartree.py: Bug #196043 - Unify the
	  ouput handling for file collisions so that similar eerror
	  messages are generated whether or not collision-protect is
	  enabled.

2007-10-17 04:35  zmedico

	* [r8161] pym/portage/dbapi/vartree.py: Add missing "to" to fix
	  grammer.

2007-10-17 02:34  zmedico

	* [r8155] pym/portage/dbapi/vartree.py: Bug #196043 - Update the
	  file collision ewarn notice to try and clarify the cases when a
	  bug should NOT be filed. Also, recommend the new `portageq owners
	  / <filename>` command since it works properly even when paths are
	  ambiguous due to symlinked directories.

2007-10-17 01:17  zmedico

	* [r8154] bin/portageq: Bug #196043 - Implement a `portageq owners
	  <root> [<filename>]+` command that is suitable for 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.

2007-10-17 00:02  zmedico

	* [r8153] pym/portage/dbapi/vartree.py: Optimize dblink.isowner()
	  to use fewer stat calls by only collecting stat 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.

2007-10-16 21:15  zmedico

	* [r8152] pym/portage/dbapi/vartree.py: Only re.compile() the
	  normalize_needed pattern once rather than for each dblink
	  constructor call.

2007-10-16 20:38  zmedico

	* [r8151] pym/portage/dbapi/vartree.py: In dblink.getcontents(),
	  use a regular expression to detect when path 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
	  <filename>` by about 50%. M pym/portage/dbapi/vartree.py

2007-10-16 17:17  genone

	* [r8150] pym/_emerge/__init__.py: Use EmergeConfig instead of
	  portage.config in RootConfig

2007-10-16 17:11  genone

	* [r8149] pym/_emerge/__init__.py, pym/portage/sets/files.py: Move
	  clean_world() into WorldSet

2007-10-16 16:43  genone

	* [r8148] pym/portage/news.py: use skipfile rather than timestamp
	  to ignore processed files

2007-10-16 16:14  genone

	* [r8147] pym/_emerge/__init__.py: Also use EmergeConfig() in
	  MergeTask

2007-10-16 14:50  genone

	* [r8146] pym/_emerge/__init__.py: fix typo

2007-10-16 14:47  genone

	* [r8145] pym/_emerge/__init__.py: Replace getlist() with
	  PackageSet.getAtoms()

2007-10-16 14:37  genone

	* [r8144] pym/_emerge/__init__.py, pym/portage/sets/__init__.py:
	  subclass portage.config to include a setconfig instance to avoid
	  adding one more parameter to most of the emerge functions

2007-10-16 14:28  genone

	* [r8143] pym/portage/sets/dbapi.py: Add debug mode to display the
	  libraries that cause the package to be included

2007-10-16 06:15  zmedico

	* [r8142] bin/emerge, pym/_emerge, pym/_emerge/__init__.py,
	  pym/emerge: Move the emerge module to _emerge to make it private
	  since it's mostly unsuitable for api consumers at this time.

2007-10-15 19:52  zmedico

	* [r8140] bin/repoman: Fix --help summary so that "commit" mode
	  shows.

2007-10-15 19:35  zmedico

	* [r8138] cnf/etc-update.conf: Update emacs and vim docs to
	  reference NOTE_2.

2007-10-15 19:30  zmedico

	* [r8136] cnf/etc-update.conf: Update NOTE_2 to document proper use
	  of the using_editor config option.

2007-10-15 18:05  zmedico

	* [r8130] bin/etc-update: Bug #195949 - Add one more using_editor
	  conditional for diff_command.

2007-10-15 16:15  zmedico

	* [r8129] bin/etc-update: Bug #195949 - Use a different
	  diff_command sanity check when using_editor is true.

2007-10-15 13:13  genone

	* [r8128] cnf/make.conf, pym/portage/dbapi/porttree.py: remove
	  unused tmpfs variable

2007-10-15 07:40  zmedico

	* [r8126] man/repoman.1: Document the "manifest" mode.

2007-10-15 07:38  zmedico

	* [r8125] bin/repoman: Sort the modes in the repoman --help output.

2007-10-14 18:29  zmedico

	* [r8124] pym/portage/dbapi/vartree.py: Add a note to clarify
	  os.walk() behavior with respect to symlinks to directories.

2007-10-14 03:57  zmedico

	* [r8121] pym/portage/dbapi/vartree.py: Remove the checks for files
	  in symlinked directories from the collision 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.

2007-10-13 19:04  zmedico

	* [r8119] pym/portage/__init__.py: In some cases, openpty can be
	  slow when it fails. Therefore, stop trying to use it after the
	  first failure.

2007-10-13 18:18  zmedico

	* [r8117] bin/misc-functions.sh: Avoid an error message from find
	  when "${D}"/usr/share does not exist.

2007-10-13 17:46  zmedico

	* [r8115] pym/portage/dbapi/vartree.py: Remove unused import.

2007-10-13 17:44  zmedico

	* [r8114] pym/portage/dbapi/vartree.py: In the file collision
	  eerror output, don't colorize the file paths since the escape
	  codes look ugly in the log.

2007-10-13 06:44  zmedico

	* [r8102] pym/portage/elog/mod_mail.py: Handle the PortageException
	  that can be raised from portage.mail.send_mail().

2007-10-13 06:16  zmedico

	* [r8100] pym/portage/dbapi/vartree.py: Make the file collision
	  eerror message less verbose when in --quiet mode.

2007-10-13 05:59  zmedico

	* [r8098] pym/portage/dbapi/vartree.py: Remove a chdir() call
	  that's no longer needed for the collision-protect symlink code.

2007-10-13 05:40  zmedico

	* [r8097] pym/portage/dbapi/vartree.py: Use os.listdir() instead of
	  portage.listdir() in dblink.mergeme().

2007-10-13 05:27  zmedico

	* [r8096] pym/portage/dbapi/vartree.py: In dblink.treewalk(), use
	  os.walk() instead of portage.listdir() in order to avoid
	  cacheddir() bloat when listing the files to be merged from ${D}.

2007-10-12 22:34  zmedico

	* [r8093] pym/emerge/__init__.py: Bug #195370 - Filter some more
	  bogus matches due to old-style virtuals.

2007-10-12 22:00  zmedico

	* [r8091] pym/portage/dbapi/vartree.py: Remove a redundant call to
	  elog_process().

2007-10-12 21:42  zmedico

	* [r8089] pym/portage/dbapi/vartree.py: s:this package wants:this
	  package will:

2007-10-12 20:56  zmedico

	* [r8087] pym/portage/dbapi/vartree.py: Bug #195527 - Add some more
	  information to the file collision eerror message to try and
	  prevent user confusion:
	  
	  - Hint that `equery belongs <filename>` 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).

2007-10-12 18:55  zmedico

	* [r8086] pym/portage/dbapi/vartree.py: Bug #195527 -
	  Unconditionally detect file collisions and log them as eerror
	  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.

2007-10-12 05:41  zmedico

	* [r8058] pym/portage/elog/mod_mail_summary.py: Use writemsg() to
	  send exception string to stderr.

2007-10-12 01:03  zmedico

	* [r8055] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Pass into the PackageIndex constructor a list of package metadata
	  keys that inherit a default value from the header.

2007-10-12 00:38  zmedico

	* [r8054] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Pass default package metadata values into the PackageIndex
	  constructor for optional things like EAPI and SLOT.

2007-10-12 00:12  zmedico

	* [r8053] pym/portage/dbapi/bintree.py: Sync code between
	  binarytree.inject() and populate().

2007-10-11 18:14  zmedico

	* [r8052] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Split USE evaluation code out of binarytree.inject() so that it
	  can be reused in populate().

2007-10-11 16:29  zmedico

	* [r8051] pym/emerge/__init__.py: Strip the leading path separator
	  from USER_CONFIG_PATH so that os.path.join works correctly.

2007-10-11 14:22  zmedico

	* [r8050] pym/emerge/__init__.py: In depgraph.select_dep(), check
	  for existing nodes in installed packages when necessary.

2007-10-11 08:17  genone

	* [r8049] pym/portage/dbapi/vartree.py: typo fix

2007-10-11 08:14  genone

	* [r8048] pym/portage/dbapi/vartree.py: Do not use aux_get to parse
	  the NEEDED file as we need to distinguish spaces and newlines

2007-10-11 06:05  genone

	* [r8047] TODO: Update todo list

2007-10-11 05:59  genone

	* [r8046] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py:
	  Add a set to group all consumers of missing libraries as a simple
	  revdep-rebuild replacement

2007-10-11 05:37  zmedico

	* [r8045] pym/emerge/__init__.py: Make depgraph.select_dep() reject
	  installed packages in the same cases that it used to so that a
	  warning message is properly generated in depgraph.xcreate() when
	  a package is unavailable but installed.

2007-10-11 05:19  genone

	* [r8044] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py:
	  implement new set to group all consumers of preserved libraries

2007-10-11 05:19  zmedico

	* [r8043] pym/emerge/__init__.py: Raise a PackageNotFound exception
	  instead of a ValueError in order to avoid ambiguity if an
	  unexpected ValueError occurs.

2007-10-11 02:54  zmedico

	* [r8042] pym/emerge/__init__.py: Move some package selection code
	  from depgraph.create() to select_dep() so that all package
	  selection is done in the same place.

2007-10-11 02:02  zmedico

	* [r8041] pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/porttree.py, pym/portage/getbinpkg.py: Make
	  portdbapi and bindbapi cache PROVIDE in order to optimize
	  matching of old-style virtuals.

2007-10-10 15:34  zmedico

	* [r8040] man/emerge.1: Remove ambiguous "you should edit this
	  file" warning. Thanks to Cardoe.

2007-10-10 08:33  zmedico

	* [r8039] pym/emerge/__init__.py: Prevent bogus upgrade display
	  when a new-style virtual is first installed and it replaces an
	  old-style virtual.

2007-10-10 08:07  zmedico

	* [r8038] pym/emerge/__init__.py: Comment about avoiding expensive
	  metadata pulls in depgraph.select_dep().

2007-10-10 07:46  zmedico

	* [r8037] pym/emerge/__init__.py: Refactor depgraph.select_dep() to
	  eliminate redundant code that was duplicated for each package
	  type.

2007-10-10 06:33  zmedico

	* [r8036] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Cache IUSE in bindbapi to optimize --newuse calculations. Also,
	  fix filtering code for reading/writing USE and IUSE from/to the
	  metadata index.

2007-10-10 02:55  zmedico

	* [r8035] pym/emerge/__init__.py: Migrate depgraph.select_files()
	  to use the filtered repo for expansion of greedy atoms. Also, use
	  the list of repos to clean up the category expansion code.

2007-10-10 02:03  zmedico

	* [r8034] pym/emerge/__init__.py: Initialize the list of package
	  repos inside the depgraph constructor so it's always available.

2007-10-09 23:36  zmedico

	* [r8033] pym/emerge/__init__.py, pym/portage/__init__.py: Unify
	  the masking reasons output so that the same code path is used for
	  both ebuilds and binary packages.

2007-10-09 21:41  genone

	* [r8032] doc/config/sets.docbook: document default sets

2007-10-09 21:29  genone

	* [r8031] doc/config/sets.docbook: add descriptions for dbapi set
	  classes

2007-10-09 21:26  genone

	* [r8030] doc/config/sets.docbook: add description to security set
	  handlers

2007-10-09 20:48  genone

	* [r8029] doc/config/sets.docbook: security sets actually have one
	  option

2007-10-09 20:13  genone

	* [r8028] doc/config/sets.docbook: document all options

2007-10-09 19:21  genone

	* [r8025] doc/config/sets.docbook: Start documentation of set
	  handler classes

2007-10-09 18:55  genone

	* [r8021] pym/portage/sets/__init__.py, pym/portage/sets/files.py:
	  Exclude .metadata files in multi set configurations for
	  StaticFileSet

2007-10-09 17:57  zmedico

	* [r8017] pym/emerge/__init__.py: Fix USE logic for built packages
	  when populating the filtered repo.

2007-10-09 17:43  genone

	* [r8016] pym/emerge/__init__.py, pym/portage/const.py: Replace
	  hardcoded path with new constant

2007-10-09 15:46  zmedico

	* [r8015] pym/emerge/__init__.py: Fix InvalidDependString namespace
	  and initialize USE before visibility check.

2007-10-09 15:38  zmedico

	* [r8014] pym/emerge/__init__.py: When an ebuild has conditionals
	  in it's LICENSE, calculate USE before the visibility check.

2007-10-09 11:07  zmedico

	* [r8013] pym/emerge/__init__.py: In depgraph.xcreate(), installed
	  packages are excluded from the filtered tree. Clear out the
	  history of atoms so that they can be processed again to satisfy
	  dependencies with installed packages if necessary.

2007-10-09 10:06  zmedico

	* [r8012] pym/emerge/__init__.py, pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/vartree.py, pym/portage/dbapi/virtual.py: Bug
	  #149816 - Implement visibility filtering support for binary
	  packages. This works by creating a virtual filtered repository
	  that can be composed of multiple package types, including
	  ebuilds, binary packages, and installed packages.

2007-10-09 09:28  zmedico

	* [r8011] pym/portage/dbapi/porttree.py: Make portdbapi.aux_get()
	  cache more often.

2007-10-09 09:26  zmedico

	* [r8010] pym/portage/dbapi/porttree.py: Properly exclude old-style
	  virtuals from the portdbapi.cp_list() cache.

2007-10-09 06:06  zmedico

	* [r8009] pym/portage/dbapi/porttree.py: Remove a redundant
	  os.access() call in portdbapi.aux_get() and handle the potential
	  OSError instead.

2007-10-09 03:50  zmedico

	* [r8008] pym/portage/dbapi/porttree.py: Optimize away a
	  match_from_list() call inside portdbapi.xmatch("match-all") when
	  given atom has no operator or version. Also, make cp_list() use
	  the xmatch("match-all") cache when possible.

2007-10-07 23:04  zmedico

	* [r8001] pym/portage/__init__.py, pym/portage/dbapi/porttree.py:
	  Factor package.mask and profile masking logic out of
	  portdbapi.visible() and move it to config.getMaskAtom() and
	  getProfileMaskAtom(). This will allow the code to be reused for
	  binary packages.

2007-10-07 22:24  zmedico

	* [r8000] pym/portage/dbapi/porttree.py: Cache IUSE for
	  portdbapi.gvisible() calls.

2007-10-07 22:08  zmedico

	* [r7999] pym/portage/__init__.py: Restore profile masking support
	  to getmaskingstatus().

2007-10-07 21:55  zmedico

	* [r7998] pym/portage/__init__.py, pym/portage/dbapi/porttree.py:
	  Allow config.setcpv() to take a dictionary of package metadata in
	  place of a dbapi instance so that extra cache pulls can be
	  avoided.

2007-10-07 21:46  zmedico

	* [r7997] pym/portage/__init__.py, pym/portage/dbapi/porttree.py:
	  Factor the KEYWORDS masking logic out of portdbapi.visible() and
	  move it to config.getMissingEeywords(). This will allow the code
	  to be reused for binary packages.

2007-10-07 21:28  zmedico

	* [r7996] bin/repoman: Remove duplicate call to digestgen().

2007-10-07 21:25  zmedico

	* [r7995] bin/repoman: Move the "commit" mode manifest generation
	  earlier in order to avoid digest verification issues when
	  FEATURES="strict" is enabled.

2007-10-07 19:33  vapier

	* [r7994] bin/etc-update: add --debug option and display a message
	  about skipping non-files so we dont get confusing loops where
	  portage claims there are things to update but etc-update claims
	  there are not

2007-10-07 19:16  vapier

	* [r7993] bin/etc-update: add standard --help/--version options

2007-10-07 19:06  vapier

	* [r7992] bin/etc-update: unify diff_command handling

2007-10-07 18:00  vapier

	* [r7991] bin/ebuild.sh: add support for .lzma / .tar.lzma to
	  unpack

2007-10-07 17:52  vapier

	* [r7990] bin/misc-functions.sh: add QA check for .pyc/.pyo files
	  in /usr/share

2007-10-06 22:26  zmedico

	* [r7989] pym/portage/dbapi/bintree.py: Fix binarytree.populate()
	  so that it properly caches all the metadata necessary for
	  visibility filtering.

2007-10-06 22:23  zmedico

	* [r7988] pym/portage/getbinpkg.py: In PackageIndex.write(), skip
	  writing the CHOST for a package entry if it's CHOST matches the
	  header.

2007-10-06 22:02  zmedico

	* [r7987] pym/portage/getbinpkg.py: In PackageIndex.readBody(),
	  make each package entry inherit CHOST from the header.

2007-10-06 20:24  zmedico

	* [r7986] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Bug #194552 - Include EAPI in the binary package metadata index.

2007-10-06 19:19  zmedico

	* [r7985] pym/emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Fix package.license support so
	  that SLOT atoms will work.

2007-10-06 16:30  genone

	* [r7984] pym/portage/elog/mod_mail_summary.py,
	  pym/portage/mail.py: Handle Exceptions in
	  mod_mail_summary.finalize() and check if the server actually
	  supports TLS, bug #183808

2007-10-06 15:40  genone

	* [r7983] bin/dohtml: let dohtml handle weird filenames, patch by
	  TGL (bug #171272)

2007-10-06 15:12  genone

	* [r7982] cnf/make.globals: Add @localhost to default
	  PORTAGE_ELOG_MAILFROM to account for mail servers that don't
	  accept mails without a domainname

2007-10-06 14:27  genone

	* [r7981] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py: clean up
	  module namespace

2007-10-06 14:04  genone

	* [r7980] doc/Makefile: Also clean portage.txt

2007-10-06 13:59  genone

	* [r7979] pym/emerge/__init__.py: Also look for sets.conf in
	  overlays

2007-10-06 13:49  genone

	* [r7978] doc/config, doc/config.docbook, doc/config/sets.docbook,
	  doc/portage.docbook: Add some documentation about set
	  configuration

2007-10-06 12:04  genone

	* [r7977] cnf/sets.conf: default set configuration, should probably
	  go into /usr/share/portage

2007-10-05 23:09  zmedico

	* [r7975] pym/portage/__init__.py: Strip the - prefix from EAPI in
	  getmaskingstatus() if necessary.

2007-10-05 22:07  genone

	* [r7974] pym/emerge/__init__.py: handle empty sets properly

2007-10-05 21:27  zmedico

	* [r7967] man/make.conf.5: Shorten the reference to IUSE defaults
	  since it's now documented in ebuild(5).

2007-10-05 21:19  zmedico

	* [r7966] man/ebuild.5: Document IUSE defaults.

2007-10-05 20:46  genone

	* [r7963] pym/emerge/__init__.py: include sets in emerge --search

2007-10-05 20:43  zmedico

	* [r7962] man/ebuild.5: Document SLOT dependencies.

2007-10-05 20:05  genone

	* [r7959] pym/emerge/__init__.py, pym/portage/sets/__init__.py,
	  pym/portage/sets/files.py: replace category sets in test
	  configuration with user sets

2007-10-05 20:05  zmedico

	* [r7958] man/emerge.1: Generalize the first paragraph of the
	  MASKED PACKAGES section and document binary package CHOST
	  masking.

2007-10-05 19:34  genone

	* [r7957] pym/portage/sets/__init__.py: only add short names for
	  sets if they begin with 'sets/'

2007-10-05 19:29  genone

	* [r7956] pym/emerge/__init__.py, pym/portage/sets/__init__.py:
	  first version of set integration in emerge

2007-10-05 17:27  genone

	* [r7952] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py: Add set
	  configuration framework in preparation for emerge integration

2007-10-05 17:09  zmedico

	* [r7951] man/emerge.1: Documnet EAPI in the MASKED PACKAGES
	  section.

2007-10-05 17:01  zmedico

	* [r7950] man/ebuild.5: Fix spelling of backward.

2007-10-05 16:53  zmedico

	* [r7949] man/ebuild.5: Document the EAPI variable.

2007-10-05 16:40  genone

	* [r7948] pym/portage/env/loaders.py: ignore missing files

2007-10-05 15:16  genone

	* [r7947] TODO: add TODO list for portage-2.2

2007-10-05 14:17  genone

	* [r7946] pym/portage/glsa.py: copy of gentoolkit r451

2007-10-05 04:20  zmedico

	* [r7944] bin/portageq: Bug #194764 - All the match* functions can
	  raise a ValueError if cpv_expand() receives an ambiguous atom.
	  Therefore, move the ValueError handling code out of match() and
	  use it to handle all such errors when appropriate.

2007-10-05 03:56  zmedico

	* [r7942] pym/repoman/checks.py: Make the EbuildQuote check ignore
	  lines beginning with local or export builtins since unquoted
	  assignments are okay there.

2007-10-04 08:19  zmedico

	* [r7919] pym/portage/dbapi/porttree.py: In portdbapi.aux_get(),
	  simplify code by using string manipulation instead of int
	  conversion to manipulate negative EAPI when deciding whether or
	  not regen is necessary.

2007-10-04 07:53  zmedico

	* [r7918] bin/ebuild: Handle UnsupportedAPIException when running
	  the ebuild(1) command.

2007-10-04 07:25  zmedico

	* [r7917] pym/portage/__init__.py, pym/portage/dbapi/porttree.py:
	  Include the package name in all exceptions raised from
	  portdbapi.getfetchlist() so that a redundant and sometimes
	  inaccurate message doesn't have to be shown when the error is
	  caught in digestgen().

2007-10-04 07:05  zmedico

	* [r7916] pym/portage/dbapi/porttree.py: Make
	  portdbapi.getfetchlist() bail out if the EAPI is unsupported.
	  This makes it impossible for an unsupported EAPI to result in
	  invalid Manifest generation.

2007-10-04 06:46  zmedico

	* [r7915] bin/repoman: Fix logic for the message that's show when
	  --force is disabled.

2007-10-04 06:35  zmedico

	* [r7914] bin/repoman, man/repoman.1: Make repoman bail out if it
	  is unable to properly access ebuild metadata for some reason. In
	  this case it's impossible to generate a Manifest and therefore
	  the --force option has to be disabled.

2007-10-04 04:00  zmedico

	* [r7913] pym/emerge/__init__.py, pym/portage/dbapi/bintree.py: Add
	  EAPI masking support for binary packages.

2007-10-04 02:56  zmedico

	* [r7912] pym/portage/exception.py: Fix
	  UnsupportedAPIException.__str__() to strip the leading negative
	  sign (-) from the EAPI, to prevent confusion.

2007-10-04 02:33  zmedico

	* [r7911] pym/portage/dbapi/porttree.py: Non-integer EAPI isn't
	  supported. In case it's supported in the future, assume that it's
	  valid (rather than trigger a regen).

2007-10-04 02:19  zmedico

	* [r7910] pym/portage/dbapi/porttree.py: When the metadata cache
	  contains a negative EAPI, it means that the cache 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.

2007-10-04 01:52  zmedico

	* [r7909] pym/portage/__init__.py, pym/portage/const.py: Bump EAPI
	  from 0 to 1 and fix eapi_is_supported() so that it works properly
	  with both 0 and 1.

2007-10-03 21:08  vapier

	* [r7908] bin/etc-update: no need to use "function" when defining a
	  function

2007-10-03 21:06  vapier

	* [r7907] bin/etc-update: this isnt part of gentoolkit anymore

2007-10-03 07:50  zmedico

	* [r7905] bin/repoman, man/repoman.1: Eliminate confusing false
	  positive error messages for SRC_URI.syntax and 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.

2007-10-03 00:12  zmedico

	* [r7904] pym/repoman/checks.py: In the EbuildQuote check, combine
	  the var_assignment regex together with the ignore_line regex.
	  This also fixes an issue with the var_assignment regex allowing
	  violations like `make DESTDIR=${D}` to slip through.

2007-10-02 04:03  zmedico

	* [r7901] pym/repoman/checks.py: Filter some false positives out of
	  the EbuildQuote check. It might work well enough now so that we
	  don't have to degrade it to a warning.

2007-10-01 19:44  zmedico

	* [r7900] pym/emerge/__init__.py: Bug #194398 - Do not log "exiting
	  successfully" in emerge.log unless the status really is
	  successful. Otherwise, log "exiting unsuccessfully". Thanks to
	  David Watzke.

2007-10-01 12:28  antarus

	* [r7899] bin/repoman: Apply new checks, minor cleanup

2007-10-01 12:27  antarus

	* [r7898] pym/repoman/checks.py, pym/repoman/errors.py: Rename
	  checks as the naming was overkill (they are all obviously checks
	  being in the check module), add nesteddie check

2007-10-01 11:05  antarus

	* [r7897] bin/repoman: Delete some extra leaky vars, also after
	  some testing I discovered read() is much faster than readlines(),
	  see
	  http://dev.gentoo.org/~antarus/projects/portage/stats/StringIOVsFiles.txt

2007-10-01 10:26  antarus

	* [r7896] pym/repoman/checks.py: keep old repoman names so we don't
	  confuse people

2007-10-01 10:20  antarus

	* [r7895] bin/repoman: Add Donnie's quote check, refactor other
	  ebuild-content checks into classes 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?

2007-10-01 10:19  antarus

	* [r7894] pym/repoman, pym/repoman/__init__.py,
	  pym/repoman/checks.py, pym/repoman/errors.py: Add new repoman
	  check classes using StringIO; possibly need some testing,
	  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?

2007-10-01 03:13  zmedico

	* [r7893] bin/dispatch-conf: Bug #142508 - Clear the screen each
	  time before calling the "diff" command so that any remnants of
	  the previous config are now shown with the current one. command
	  so that

2007-09-30 21:25  zmedico

	* [r7892] pym/portage/dbapi/porttree.py: Reimplement
	  portdbapi.visible() so that is works without using self.xmatch().
	  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

2007-09-30 18:57  zmedico

	* [r7891] pym/portage/__init__.py: Document interaction between
	  config.setinst() and old-style virtuals preferences.

2007-09-29 21:23  zmedico

	* [r7890] bin/ebuild.sh: Remove redundant trailing slashes from
	  ${D}. (branches/prefix r7886)

2007-09-29 21:09  zmedico

	* [r7887] bin/etc-update: Initialize PORTAGE_TMPDIR before using
	  it.

2007-09-29 08:27  vapier

	* [r7879] bin/ebuild.sh, bin/prepallman: revert useless quoting

2007-09-29 07:45  antarus

	* [r7878] bin/ebuild.sh, bin/isolated-functions.sh, bin/prepallman:
	  Fix quoting as reported by Drac in bug 194169

2007-09-29 01:49  zmedico

	* [r7877] bin/dispatch-conf: Bug #194095 - Validate dispatch-conf
	  input in order to prevent spurious input characters from being
	  interpreted as user input (which can be quite confusing and gives
	  an "out of control" feeling).

2007-09-28 21:51  zmedico

	* [r7875] pym/emerge/__init__.py: Bug #193548 - When scanning for
	  config updates and an error occurs, send find's stdout to
	  /dev/null so that only an error message is shown.

2007-09-28 20:16  zmedico

	* [r7873] pym/emerge/__init__.py: When scanning for config updates,
	  treat a symlink to an existing directory as if it's just a normal
	  directory.

2007-09-28 18:11  zmedico

	* [r7871] pym/emerge/__init__.py: Bug #193548 - When emerge spawns
	  find to search for config updates, show the find output if there
	  is an error.

2007-09-28 17:07  zmedico

	* [r7869] pym/portage/dbapi/vartree.py: Bug #194081 - Add EBUSY to
	  the list of ignored errnos for unlink and rmdir calls during
	  unmerge.

2007-09-27 22:47  zmedico

	* [r7866] bin/ebuild: Handle KeyError thrown from aux_get().

2007-09-27 22:26  zmedico

	* [r7864] pym/portage/checksum.py: Move prelink tempfile cleanup to
	  the finally block and remove unused locking code.

2007-09-27 20:59  zmedico

	* [r7861] pym/portage/eclass_cache.py: Simplify update_eclasses() a
	  little.

2007-09-27 20:41  zmedico

	* [r7858] pym/emerge/__init__.py: Move a newline to fix formatting.

2007-09-27 19:22  zmedico

	* [r7856] pym/portage/dbapi/vartree.py: Ignore ENOTDIR from unmerge
	  unlink calls.

2007-09-27 17:54  zmedico

	* [r7853] pym/emerge/__init__.py: Bug #194025 - Lock /var/db/pkg in
	  post_merge() during the "Regenerating GNU info directory index"
	  routine.

2007-09-27 17:12  vapier

	* [r7852] bin/isolated-functions.sh: with help from Donnie and
	  Ulrich, use sed to extract the statement that led to the call to
	  die so we can print it out in our error message

2007-09-27 15:46  zmedico

	* [r7850] bin/ecompress: Bug #193486 - Use echo -n and properly
	  quote the array argument.

2007-09-27 15:40  zmedico

	* [r7848] bin/ecompress: Bug #193486 - Use xargs to avoid 'bash:
	  /bin/rm: Argument list too long' errors. This patch uses a weird
	  tr '\001' '\000' workaround since bash doesn't echo null bytes
	  like one might expect.

2007-09-27 15:34  zmedico

	* [r7846] bin/ebuild: Do the stale env check/warning after the
	  digest/manifest phase when necessary.

2007-09-27 06:50  zmedico

	* [r7844] bin/ebuild: Display a short notification when an existing
	  ${T}/environment sourced since 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.

2007-09-26 23:49  vapier

	* [r7842] bin/isolated-functions.sh: align the filename and line
	  numbers in the output of the stack dump so that it is much easier
	  to read

2007-09-26 23:46  zmedico

	* [r7840] man/make.conf.5: Fix a typo.

2007-09-26 23:38  vapier

	* [r7839] bin/isolated-functions.sh: someone seriously screwed the
	  pooch on whitespacing here so clean it all up

2007-09-26 21:58  zmedico

	* [r7838] pym/emerge/__init__.py: Bug #192706 - Do not print a
	  summary at the end of --depclean if there is nothing to clean and
	  --quiet is enabled.

2007-09-26 20:01  zmedico

	* [r7835] pym/portage/__init__.py: Set non-blocking mode on the pty
	  master file descriptor while the slave file 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.

2007-09-26 17:03  zmedico

	* [r7834] pym/portage/__init__.py: Bug #192341 - When the chflags
	  command does not exit successfully, try to 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.

2007-09-26 03:30  zmedico

	* [r7808] pym/portage/__init__.py: Bug #192341 - Eliminate the
	  dependency on py-freebsd by implementing it's 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.

2007-09-25 15:33  zmedico

	* [r7807] pym/portage/dbapi/vartree.py: Bug #193695 - Add FreeBSD
	  chflags support for rmdir() calls during unmerge.

2007-09-25 05:29  zmedico

	* [r7806] pym/portage/__init__.py: In movefile() FreeBSD chflags
	  handling, use chflags instead of lchflags when temporarily
	  adjusting the flags on the parent directory since we want to
	  follow any symlinks to the real parent directory.

2007-09-25 05:22  zmedico

	* [r7805] pym/portage/dbapi/vartree.py: Bug #193695 - Add support
	  for FreeBSD chflags during unmerge. This code is adapted from the
	  code that already exists in movefile() for the merge phase.

2007-09-24 23:25  zmedico

	* [r7804] pym/portage/dbapi/vartree.py: Bugs #168772 and #193695 -
	  During unmerge, only ignore specific exceptions raised from
	  unlink() and rmdir() calls.

2007-09-24 22:15  zmedico

	* [r7803] bin/dispatch-conf, cnf/dispatch-conf.conf,
	  pym/portage/dispatch_conf.py: Bug #74615 - Quote all file paths
	  inside dispatch-conf shell commands.

2007-09-24 21:20  zmedico

	* [r7802] bin/etc-update: Initialize ${TMP} before registering the
	  die trap so that we're sure which directory die will clean up.

2007-09-24 20:26  zmedico

	* [r7801] pym/portage/checksum.py: Bug #190179 - Use `prelink
	  --verify filename` to write the temp file via 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.

2007-09-24 16:48  zmedico

	* [r7800] man/repoman.1: s/note/not/ reported by p-y.

2007-09-24 07:09  vapier

	* [r7799] bin/etc-update: fix possible information leak
	  vulnerability when doing a merge of configuration files and be
	  better about handling of whitespace in $TMP in a few places

2007-09-24 06:49  vapier

	* [r7798] bin/etc-update: tweak get_config() so that it only
	  executes one external binary (sed) instead of chaining multiple
	  ones

2007-09-23 23:56  zmedico

	* [r7797] pym/emerge/__init__.py: When --deep is not enabled, many
	  dependencies are dicarded and left out of 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).

2007-09-23 18:08  zmedico

	* [r7796] pym/portage/__init__.py: In spawn(), initialize default
	  fd_pipes before doing the stdout/stderr flush.

2007-09-22 18:54  zmedico

	* [r7795] pym/emerge/__init__.py, pym/portage/__init__.py: Flush
	  stderr and stdout if their file descriptors are in fd_pipes at
	  the beginning of spawn().

2007-09-22 18:40  zmedico

	* [r7794] pym/emerge/__init__.py: Flush stdout before calling
	  pkg_info() to ensure that output always shows in the correct
	  order.

2007-09-22 02:30  zmedico

	* [r7793] pym/emerge/__init__.py: When --with-bdeps=y is enabled
	  for built packages, pull in build time deps as 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.

2007-09-19 22:01  zmedico

	* [r7792] pym/emerge/__init__.py, pym/portage/dbapi/bintree.py:
	  Mask binary packages if their CHOST does not match the one
	  defined in make.conf.

2007-09-18 06:01  zmedico

	* [r7790] pym/emerge/__init__.py: Bug #190781 - Don't include
	  --oneshot in the options that --update implies.

2007-09-16 22:01  zmedico

	* [r7789] pym/portage/elog/mod_save.py,
	  pym/portage/elog/mod_save_summary.py: Use ensure_dirs() and
	  apply_permissions() to avoid redundant chown/chmod calls. This
	  helps avoid 'Permission denied' errors during elog_process() when
	  the ebuild command is run by normal user (issue reported by
	  graaff).

2007-09-15 17:32  zmedico

	* [r7785] pym/emerge/__init__.py: Revert the workaround for bug
	  #192341 since it will be much cleaner if we fall back to spawning
	  the chflags command when the freebsd module is unavailable.

2007-09-13 23:41  zmedico

	* [r7780] pym/emerge/__init__.py: Bug #192341 - Make emerge bail
	  out on FreeBSD if the freebsd python module 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.

2007-09-13 18:21  zmedico

	* [r7779] pym/emerge/help.py: Bug #192346 - The emerge --help shows
	  a -i option that does not exist.

2007-09-13 18:12  zmedico

	* [r7778] man/ebuild.1, man/make.conf.5: Bug #191645 -
	  Cross-reference the `ebuild --force digest` docs with the
	  FEATURES=assume-digests docs.

2007-09-13 17:40  zmedico

	* [r7777] man/make.conf.5: Add some additional notes about the
	  behavior of FEATURES=assume-digests under various conditions.

2007-09-13 17:19  zmedico

	* [r7776] man/ebuild.1: Bug #191645 - Document the --force option.

2007-09-13 16:55  zmedico

	* [r7775] man/repoman.1: Bug #110443 - Add a KEYWORDS.stable check
	  for ebuilds that are added directly with stable KEYWORDS.

2007-09-13 16:48  zmedico

	* [r7774] pym/emerge/__init__.py: Bug #192321 - Clean dir.old cruft
	  so that they don't prevent unmerge of otherwise empty
	  directories.

2007-09-12 19:36  zmedico

	* [r7773] man/repoman.1: Bug #191645 - Document the --force option.

2007-09-12 18:40  zmedico

	* [r7772] man/repoman.1: Bug #187795 - remove pointless
	  digest.disjointed and digest.notadded warnings since they are
	  always added to cvs automatically anyway.

2007-09-12 18:29  zmedico

	* [r7771] pym/portage/getbinpkg.py: Bug #192195 - In
	  dir_get_list(), append a trailing / to the address when necessary
	  in order to avoid getting a 400 error from the http server.

2007-09-12 15:27  zmedico

	* [r7770] pym/portage/eclass_cache.py: Catch errno.ENOTDIR instead
	  of using os.path.isdir().

2007-09-12 14:59  zmedico

	* [r7769] pym/portage/eclass_cache.py: Bug #192298 - Handle
	  PermissionDenied error in cache.update_eclasses().

2007-09-11 06:11  genone

	* [r7768] pym/emerge/__init__.py: Adjust for r7767

2007-09-11 06:06  genone

	* [r7767] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py,
	  pym/portage/tests/sets/files/testConfigFileSet.py,
	  pym/portage/tests/sets/files/testStaticFileSet.py,
	  pym/portage/tests/sets/shell/testShell.py: Remove name from
	  PackageSet, it's pointless as the caller has to keep track of the
	  name himself anyway

2007-09-09 00:36  antarus

	* [r7766] pym/portage/env/loaders.py: or I was right the first time
	  :(

2007-09-09 00:33  antarus

	* [r7765] pym/portage/env/loaders.py: sigh, or, not and

2007-09-08 21:52  antarus

	* [r7764] pym/portage/env/loaders.py: compress two loop iterations
	  into one

2007-09-08 08:33  zmedico

	* [r7763] pym/emerge/__init__.py: In depgraph.altlist(), try to
	  merge asap_nodes sooner by giving them an exemption from the
	  accept_root_node flag. (branches/2.1.2 r7762)

2007-09-08 07:07  zmedico

	* [r7761] pym/emerge/__init__.py: Fix a typo.

2007-09-08 06:51  zmedico

	* [r7759] pym/portage/__init__.py,
	  pym/portage/tests/ebuild/test_spawn.py: Bug #190268 - Avoid
	  unwanted sandbox violations in src_test(). - Allow 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().

2007-09-07 12:30  genone

	* [r7758] pym/portage/tests/sets/files/testConfigFileSet.py,
	  pym/portage/tests/sets/files/testStaticFileSet.py: Implement/fix
	  testcases for some PackageSet subclasses

2007-09-07 12:30  genone

	* [r7757] pym/portage/env/loaders.py: Fix incorrect parse check as
	  value lists in KeyListFileLoader might be empty, add support for
	  value validators in relevant Loaders

2007-09-07 11:51  genone

	* [r7756] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py: Undo
	  some unwanted changes

2007-09-07 11:49  genone

	* [r7755] pym/portage/env/loaders.py: return the full path, not
	  just the filename

2007-09-07 11:41  genone

	* [r7754] pym/portage/env/loaders.py: fix errors in call logic

2007-09-07 10:17  antarus

	* [r7753] pym/portage/env/loaders.py, pym/portage/news.py,
	  pym/portage/sets/files.py: Fix minor issues with loaders in the
	  static file loader, fix quoting and import style in news.py. Add
	  TextFileLoader and EnvLoader loaders

2007-09-07 10:14  antarus

	* [r7752] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/virtual.py: dbapi currently depends on being
	  subclassed and having the subclasses 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.

2007-09-07 10:08  antarus

	* [r7751] pym/portage/tests/news/__test__,
	  pym/portage/tests/news/test_NewsItem.py: test news item filtering

2007-09-07 09:47  antarus

	* [r7750] pym/portage/tests/ebuild/__test__,
	  pym/portage/tests/sets/shell/__test__: Last commit added more
	  tests for sets and taught me what I was doing wrong ;) This
	  commit adds yet more tests

2007-09-07 09:46  antarus

	* [r7749] pym/portage/tests/sets/files,
	  pym/portage/tests/sets/files/__init__.py,
	  pym/portage/tests/sets/files/__test__,
	  pym/portage/tests/sets/files/testConfigFileSet.py,
	  pym/portage/tests/sets/files/testStaticFileSet.py: fighting with
	  svn over weirdness

2007-09-07 09:40  antarus

	* [r7748] pym/portage/tests/__init__.py,
	  pym/portage/tests/bin/__test__, pym/portage/tests/dep/__test__,
	  pym/portage/tests/env/__test__,
	  pym/portage/tests/env/config/__test__,
	  pym/portage/tests/util/__test__,
	  pym/portage/tests/versions/__test__,
	  pym/portage/tests/xpak/__test__: Rewrite testing to use __test__
	  instead of hardcoded dirs

2007-09-07 03:09  zmedico

	* [r7746] pym/portage/__init__.py: For bug #190268, filter
	  SANDBOX_* from the calling environment so that they can't
	  interfere with ebuild.sh.

2007-09-06 01:33  zmedico

	* [r7729] pym/emerge/__init__.py: Fix a typo.

2007-09-05 23:09  zmedico

	* [r7728] pym/emerge/__init__.py: In the topological sort for merge
	  order, try to avoid selecting root nodes 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.

2007-09-04 20:41  zmedico

	* [r7726] RELEASE-NOTES: Move the note about not needing pycrypto
	  with python-2.5 to the 2.1.3 section.

2007-08-30 22:03  zmedico

	* [r7720] pym/portage/dbapi/vartree.py: Reformat collision-protect
	  output so that the list of file collisions is 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.

2007-08-28 15:36  zmedico

	* [r7718] bin/repoman: Move some of the less expensive QA checks
	  before dep_check() so that they're still done even in --force
	  mode.

2007-08-28 03:42  zmedico

	* [r7714] bin/repoman: Convert myoptions from a list to a dict.

2007-08-28 03:28  zmedico

	* [r7713] bin/repoman: Skip the most expensive QA tests when
	  --force in enabled since there's no point in wasting time on them
	  when the user is intent on forcing the commit anyway.

2007-08-28 03:15  zmedico

	* [r7712] bin/repoman: Make the commit message indicate when the
	  --force option is used.

2007-08-27 23:08  zmedico

	* [r7711] bin/repoman: Fix RepoMan's grammar.

2007-08-27 22:41  zmedico

	* [r7710] bin/repoman: Bug #110443 - Add a KEYWORDS.stable check
	  for ebuilds that are added directly with stable KEYWORDS.

2007-08-27 21:02  zmedico

	* [r7709] bin/repoman: Add a --force option that forces commit to
	  proceed. This is useful for cases like bug #110443 where the
	  commit normally isn't allowed but there are exceptional
	  circumstances where it may be acceptable.

2007-08-27 17:54  zmedico

	* [r7705] bin/repoman, pym/portage/cvstree.py: Bug #190406 - Filter
	  the myheaders list so that it doesn't include binary blobs added
	  to cvs with the -kb option.

2007-08-26 01:35  vapier

	* [r7702] bin/etc-update: change directory to / in case $PWD doesnt
	  exist

2007-08-25 23:02  zmedico

	* [r7701] pym/emerge/__init__.py: Move blocker handling from
	  depgraph.create() to select_dep().

2007-08-25 19:41  zmedico

	* [r7700] bin/misc-functions.sh, pym/portage/__init__.py: Bug
	  #190214 - Make the rpm phase use /usr/src/rpm instead of
	  /usr/src/redhat. Bug #190144 - Use the realpath of DISTDIR so
	  that things like subversion.eclass are compatible with sandbox.

2007-08-25 14:48  vapier

	* [r7699] cnf/etc-update.conf: remove $Id$ as it gives us nothing
	  useful

2007-08-25 09:32  genone

	* [r7695] pym/emerge/__init__.py: Remove pointless information from
	  --info output

2007-08-24 21:57  zmedico

	* [r7694] pym/portage/dep.py: Don't cache results from
	  match_from_list() since *dbapi.match() caches do the job.

2007-08-24 03:26  zmedico

	* [r7693] pym/emerge/__init__.py: Call config.regenerate() after
	  config.reload() so that the incrementals are restacked.

2007-08-24 03:15  zmedico

	* [r7692] pym/emerge/__init__.py, pym/portage/__init__.py: Use a
	  config.reload() method to explicitly reload /etc/profile.env when
	  setting up the ebuild environment.

2007-08-24 02:28  zmedico

	* [r7691] pym/portage/tests/news/test_NewsItem.py: Fix another
	  typo.

2007-08-24 01:18  zmedico

	* [r7690] pym/portage/tests/news/test_NewsItem.py: Fix a typo.

2007-08-23 20:28  zmedico

	* [r7688] pym/portage/__init__.py: Add * and ~* to the list of
	  valid values for ACCEPT_KEYWORDS.

2007-08-23 18:29  zmedico

	* [r7686] pym/emerge/__init__.py: Make depgraph.select_dep() node
	  reuse work when in --usepkgonly mode.

2007-08-23 09:11  zmedico

	* [r7684] pym/portage/__init__.py: Bug #189791 - Define
	  EBUILD_PHASE=unpack during the nofetch phase since otherwise we
	  get EBUILD_PHASE=merge which isn't in our list of valid
	  EBUILD_PHASES recognized by elog.

2007-08-23 08:40  zmedico

	* [r7682] pym/portage/__init__.py: In config.regenerate(), skip
	  loading /etc/profile.env if it's mtime hasn't changed.

2007-08-23 08:11  zmedico

	* [r7680] pym/emerge/__init__.py: Make depgraph.create() avoid
	  metadata lookups for binary packages and ebuilds 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.

2007-08-23 06:54  zmedico

	* [r7678] bin/ebuild.sh: Bug #189791 - Send errors to /dev/null
	  when debug-print() fails to write to ${T}/eclass-debug.log.

2007-08-23 04:00  zmedico

	* [r7676] pym/emerge/__init__.py: Fix a typo from r7663.

2007-08-22 22:55  zmedico

	* [r7674] pym/portage/elog/mod_echo.py: Use INFORM to colorize the
	  package name.

2007-08-22 22:38  zmedico

	* [r7672] pym/portage/getbinpkg.py: Prevent output from being
	  flushed to the console too frequently in dir_get_metadata().

2007-08-22 22:09  zmedico

	* [r7671] pym/emerge/__init__.py: Skip --newuse checks for nodes
	  that have already been added to the graph as "merge" nodes.

2007-08-22 21:31  zmedico

	* [r7666] pym/emerge/__init__.py: Make depgraph.select_dep() reuse
	  cached metadata from nodes that have already been added to the
	  graph.

2007-08-22 20:58  zmedico

	* [r7665] pym/portage/update.py: Fix update_dbentry() to process
	  version components properly before passing them into ververify().

2007-08-22 20:40  zmedico

	* [r7664] pym/portage/versions.py: Make best() return early when
	  it's only given one packages.

2007-08-22 19:05  zmedico

	* [r7663] pym/emerge/__init__.py: Pass complete package metadata
	  from depgraph.select_dep() into create() in order to minimize
	  aux_get calls.

2007-08-22 15:29  zmedico

	* [r7661] pym/portage/__init__.py: Bug #188703 - Don't adjust
	  permissions in ${T} unless userpriv is enabled.

2007-08-22 04:50  zmedico

	* [r7659] pym/emerge/__init__.py: Make --info detect more
	  /etc/*-release files as suggested by grobian.

2007-08-22 04:21  zmedico

	* [r7656] pym/portage/getbinpkg.py: Send cache hit/miss status
	  updates to stdout instead of stderr and add some more flush()
	  calls.

2007-08-22 04:05  zmedico

	* [r7655] pym/portage/getbinpkg.py: Show cache miss/hit counts all
	  on one line, using \r to return to the 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).

2007-08-22 03:39  zmedico

	* [r7653] bin/dohtml, man/ebuild.5: Bug #189743 - Add .jpeg to the
	  list of extensions supported by dohtml.

2007-08-21 07:47  antarus

	* [r7652] pym/emerge/__init__.py: Try harder to figure out what OS
	  we are running

2007-08-21 07:36  zmedico

	* [r7651] pym/portage/elog/messages.py: Just use os.listdir() since
	  portage.listdir() is unnecessary.

2007-08-19 16:48  zmedico

	* [r7647] pym/portage/__init__.py: Fix ACCEPT_KEYWORDS validation
	  so that ** is valid.

2007-08-17 23:30  vapier

	* [r7645] bin/misc-functions.sh: filter out kernel modules from ELF
	  QA checks #184443

2007-08-17 23:27  vapier

	* [r7644] cnf/make.conf.arm.diff, cnf/make.conf.sh.diff: remove
	  "risky" message about -O2

2007-08-17 18:17  zmedico

	* [r7639] pym/emerge/__init__.py: For bug #189219, use pkgcmp() to
	  sort versions in selected/protected/omitted unmerge display.

2007-08-16 21:49  zmedico

	* [r7636] bin/etc-update: Make etc-update copy owner and group bits
	  when it merges config files.

2007-08-16 19:07  vapier

	* [r7632] man/emerge.1: make -f/-F distinction clearer

2007-08-16 06:34  zmedico

	* [r7628] pym/emerge/__init__.py: Fix existing_node logic inside
	  depgraph.create().

2007-08-16 05:53  zmedico

	* [r7627] pym/emerge/__init__.py: Combine 2 locations in
	  depgraph.create() where nodes are added to the digraph. This
	  ensures that dependencies on "rebuild" nodes always have their
	  priority increased.

2007-08-16 05:00  zmedico

	* [r7625] pym/emerge/__init__.py: Always assign higher priority to
	  dependencies on packages that are being 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.

2007-08-15 22:12  zmedico

	* [r7622] pym/portage/tests/versions/test_vercmp.py: Add some
	  floating point vercmp cases.

2007-08-15 04:37  zmedico

	* [r7609] cnf/logrotate.d/elog-save-summary: For bug #188807, add
	  nocreate and delaycompress options for logrotate.

2007-08-15 02:48  zmedico

	* [r7606] pym/portage/versions.py: For bug #188449, since python
	  floats have limited range, we multiply both 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.

2007-08-15 01:37  zmedico

	* [r7604] pym/emerge/__init__.py: For bug #188782, dependencies on
	  packages specified as arguments are given 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.

2007-08-14 20:15  zmedico

	* [r7602] pym/emerge/__init__.py: Make sure to skip info dir files
	  with the .old extension.

2007-08-14 06:30  zmedico

	* [r7599] pym/emerge/__init__.py: For bug #188782, keep "nomerge"
	  nodes in the graph during the merge order calculation so that
	  merge order is better in cases where installed packages have
	  unsatisfied dependencies.

2007-08-13 06:58  solar

	* [r7597] cnf/make.conf.arm.diff, cnf/make.conf.ppc.diff,
	  cnf/make.conf.ppc64.diff, cnf/make.conf.sh.diff: - revert a few
	  -O2 when they should of remained -O3 in comments

2007-08-12 18:18  solar

	* [r7596] cnf/make.conf.alpha.diff, cnf/make.conf.arm.diff,
	  cnf/make.conf.ppc.diff, cnf/make.conf.ppc64.diff,
	  cnf/make.conf.sh.diff, cnf/make.conf.sparc.diff,
	  cnf/make.conf.x86-fbsd.diff, cnf/make.conf.x86.diff: 'decent'
	  CFLAGS should not feature -O3. Bug 188619

2007-08-12 15:12  zmedico

	* [r7593] pym/emerge/__init__.py: For bug #33585, leave the old
	  info dir file in place if there is nothing to generate.

2007-08-12 11:43  zmedico

	* [r7591] pym/portage/dbapi/vartree.py: For bug #188559, invalidate
	  dblink._contents_inodes as necessary to prevent
	  FEATURES=unmerge-orphans from unmerging anything that belongs to
	  the package that has just been merged.

2007-08-11 05:46  zmedico

	* [r7589] pym/portage/__init__.py: Optimize config.setcpv() so that
	  it doesn't call regenerate() unnecessarily when there are no USE
	  wildcards to expand.

2007-08-10 21:02  zmedico

	* [r7587] bin/ebuild.sh: Don't generate a QA Notice if the ${S}
	  directory doesn't exist since it might be irrelevant for some
	  ebuilds.

2007-08-06 19:49  zmedico

	* [r7583] man/emerge.1, pym/emerge/help.py: Update emerge --help
	  and --info docs. Thanks to Arfrever Frehtes Taifersar Arahesis in
	  bug #137483.

2007-08-06 19:42  zmedico

	* [r7582] man/make.conf.5: Document FEATURES=webrsync-gpg. Thanks
	  to Arfrever Frehtes Taifersar Arahesis in bug #130039.

2007-08-06 19:29  zmedico

	* [r7580] bin/repoman: For bug #187795, remove pointless
	  digest.disjointed and digest.notadded warnings since they are
	  always added to cvs automatically anyway.

2007-08-06 04:55  zmedico

	* [r7579] bin/emerge-webrsync: Merge rewrite by Alon Bar-Lev from
	  bug #130039: - Verify gpg signature of snapshot if
	  FEATURES="webrsync-gpg" is enabled. - Add a --revert=yyyymmdd
	  option that alows a specific snapshot to be used.

2007-08-05 21:30  antarus

	* [r7578] pym/portage/util.py: Fix from ferringb

2007-08-05 18:05  zmedico

	* [r7576] pym/emerge/__init__.py: For bug #187806, use mkstemp to
	  create tmpservertimestampfile (instead of using PORTAGE_TMPDIR).

2007-08-04 22:22  zmedico

	* [r7574] pym/emerge/__init__.py: Use == for comparison of
	  portage_node since digraph.clone() makes a deepcopy of the nodes.

2007-08-04 22:01  zmedico

	* [r7572] pym/emerge/__init__.py: Make sure that portage always has
	  all of it's RDEPENDs installed first.

2007-08-04 21:34  zmedico

	* [r7570] bin/misc-functions.sh: Move ecompressdir and ecompress
	  --dequeue after prepall.

2007-08-04 21:30  zmedico

	* [r7568] bin/misc-functions.sh, bin/prepall: Call ecompressdir and
	  ecompress --dequeue outside of prepall since ruby.eclass
	  overrides prepall.

2007-08-04 19:44  zmedico

	* [r7564] pym/emerge/__init__.py: Make config updates get counted
	  correctly for bug #187741.

2007-08-04 00:12  zmedico

	* [r7555] pym/portage/__init__.py: Remove the depend phase from the
	  doebuild actionmap since it's never used.

2007-08-03 22:33  zmedico

	* [r7553] pym/portage/__init__.py: Make droppriv for the depend
	  phase conditional on userpriv in FEATURES.

2007-08-03 08:41  zmedico

	* [r7550] bin/ebuild.sh: Generate a QA Notice and cd to ${WORKDIR}
	  if the ${S} directory does not exist.

2007-08-03 06:48  zmedico

	* [r7548] pym/portage/__init__.py: In portage.spawn() logging, put
	  the read end of the pipe in O_NONBLOCK mode just once at the
	  beginning. This avoids unnecessary fcntl calls and removes one
	  more opportunity to trigger EAGAIN errors on FreeBSD.

2007-08-03 00:49  zmedico

	* [r7547] pym/portage/cache/util.py:
	  s/portage.eclass_cache/eclass_cache/ since eclass_cache is
	  actually a local variable here.

2007-08-02 17:19  zmedico

	* [r7544] pym/portage/util.py: For bug #187518, handle EISDIR
	  thrown from mkdir when the directory already exists on FreeBSD.

2007-08-02 16:43  zmedico

	* [r7541] pym/portage/dbapi/porttree.py: For bug #187480, fix
	  writemsg args in portdbapi.gvisible().

2007-08-01 19:27  zmedico

	* [r7537] pym/emerge/__init__.py: Like older versions of portage,
	  don't show the repo display if [0] is all that will be shown.

2007-08-01 18:00  zmedico

	* [r7535] pym/emerge/__init__.py: For bug #187375, handle an
	  ImportError when portage is downgraded to a version without
	  mod_echo.

2007-07-31 03:45  zmedico

	* [r7531] pym/portage/sets/files.py: Handle the ENOENT error if the
	  world file doesn't exist.

2007-07-31 01:21  zmedico

	* [r7528] pym/emerge/__init__.py: Change the numeric value of
	  DepPriority.MIN to be equal to that of a satisfied PDEPEND since
	  there is currently nothing with lower priority.

2007-07-30 23:37  zmedico

	* [r7526] pym/portage/dbapi/vartree.py: As a workaround for bug
	  #185305, make quickpkg break hardlinks during creation of the
	  archive.

2007-07-30 22:51  zmedico

	* [r7524] pym/emerge/__init__.py: For bug #187142, properly pass a
	  dbapi instance into setcpv() so that USE_EXPAND wildcards work
	  correctly.

2007-07-30 21:19  zmedico

	* [r7522] pym/portage/elog/mod_echo.py,
	  pym/portage/elog/mod_mail_summary.py: Make finalize() accept a
	  parameter once again since older versions of portage import elog
	  modules from newer versions of portage when they upgrade
	  themselves.

2007-07-30 07:51  zmedico

	* [r7516] pym/portage/__init__.py: For bug #186960, try to create a
	  directory for $ROOT if it doesn't exist.

2007-07-30 06:23  zmedico

	* [r7496] pym/emerge/__init__.py: Always pass a dbapi instance into
	  a setcpv call.

2007-07-30 02:23  zmedico

	* [r7432] man/ebuild.5: For bug #139670, update the dohtml docs to
	  show all supported file extensions. Thanks to Arfrever Frehtes
	  Taifersar Arahesis for this patch.

2007-07-30 01:26  zmedico

	* [r7430] man/emerge.1, pym/emerge/__init__.py, pym/emerge/help.py:
	  For bug #137483, move the `emerge --help config` docs to the
	  emerge man page. Thanks to Arfrever Frehtes Taifersar Arahesis
	  for this patch.

2007-07-29 22:09  zmedico

	* [r7428] man/make.conf.5: Update USE_ORDER docs for bug #187016.

2007-07-29 21:42  zmedico

	* [r7427] cnf/make.globals, pym/portage/__init__.py: For bug
	  #187016, and env.d to the default USE_ORDER.

2007-07-29 10:12  zmedico

	* [r7426] pym/portage/__init__.py: Change "output" import to
	  portage.output.

2007-07-29 02:09  zmedico

	* [r7424] pym/portage/__init__.py: For pty logging, handle the
	  EAGAIN error that is thrown from fcntl when the slave end of the
	  pty is closed on FreeBSD.

2007-07-28 22:48  zmedico

	* [r7422] pym/portage/__init__.py: For bug #186876, fall back it
	  os.pipe() if pty.openpty() fails.

2007-07-28 04:09  zmedico

	* [r7419] pym/portage/__init__.py: When the fetch phase fails
	  inside doebuild(), create an eerror log since the mod_echo module
	  might push the original message off of the top of the terminal
	  and prevent the user from being able to see it.

2007-07-28 02:52  zmedico

	* [r7417] pym/portage/__init__.py: Handle 2 more cases where
	  elog_process() needs to be called: - binary install via
	  pkgmerge() fails before reaching the merge phase (pkg_setup dies)
	  - doebuild() is called for the merge phase but it dies before
	  reaching the merge phase

2007-07-28 00:07  zmedico

	* [r7415] bin/emerge-webrsync: For bug #185048, make
	  emerge-webrsync honor http_proxy and ftp_proxy from make.conf.

2007-07-27 23:30  zmedico

	* [r7413] man/portage.5: For bug #186639, note that
	  /etc/portage/profile/ supports all of the same file types that
	  /etc/make.profile/ does, except parent.

2007-07-27 23:16  zmedico

	* [r7411] man/portage.5: For bug #186639, add more clarification
	  about the relationship between /etc/make.profile/ and
	  /etc/portage/profile/.

2007-07-27 22:36  zmedico

	* [r7410] pym/emerge/__init__.py: For bug #186480, while we
	  transition to repository labels, avoid ? spam in the repository
	  display by ignoring a missing repository label for an installed
	  package. (branches/2.1.2 r7409)

2007-07-27 22:02  zmedico

	* [r7407] pym/emerge/__init__.py: For bug #186826, always show
	  --newuse flags that trigger reinstallation even when not in
	  --verbose mode.

2007-07-27 18:57  zmedico

	* [r7405] pym/emerge/__init__.py: For --buildpkgonly, say "built"
	  instead of "merged" in the "These are the packages that would be
	  <action>" message.

2007-07-26 21:52  zmedico

	* [r7402] pym/emerge/__init__.py: For bug #186610, use `find
	  <path>` to scan for config updates since `cd <path>` could fail
	  and cause the cwd to be scanned.

2007-07-26 21:24  zmedico

	* [r7400] pym/portage/__init__.py: When setting the size of the pty
	  for logging, check if stdout isatty rather than stdin.

2007-07-25 15:09  vapier

	* [r7396] bin/ebuild.sh: use ${MAKE:-make} rather than make in
	  einstall()

2007-07-25 10:39  zmedico

	* [r7394] pym/portage/__init__.py, pym/portage/process.py: For bug
	  #186386, pass stdin directly to spawned processes (even when
	  their output goes through a pty) so that Ctrl+Z works as on would
	  expect.)

2007-07-25 08:26  zmedico

	* [r7393] pym/portage/__init__.py: Set O_NONBLOCK just for read
	  calls (uses fewer fcntl calls).

2007-07-25 08:07  zmedico

	* [r7392] pym/portage/__init__.py: CACHE_PATH starts with / and
	  therefore isn't compatible with os.path.join().

2007-07-25 07:55  zmedico

	* [r7391] pym/portage/__init__.py: Use blocking mode for writes
	  since we'd rather block than trigger a EWOULDBLOCK error.

2007-07-25 07:34  antarus

	* [r7390] pym/portage/__init__.py: Use the hardcoded variables from
	  portage.const rather than strings that are apt to change, fix
	  spacing.

2007-07-25 02:18  zmedico

	* [r7389] pym/portage/__init__.py: Use a select loop for moving
	  input and ouput when logging is enabled in portage.spawn().

2007-07-24 06:57  zmedico

	* [r7387] pym/portage/__init__.py: Add droppriv keyword for the
	  depend phase (last one).

2007-07-24 06:48  zmedico

	* [r7385] pym/portage/__init__.py: Add droppriv keyword for the
	  depend phase.

2007-07-24 06:37  zmedico

	* [r7383] cnf/make.conf.sparc-fbsd.diff,
	  cnf/make.conf.x86-fbsd.diff: Fix make.conf.example rejects.

2007-07-24 01:16  zmedico

	* [r7381] bin/prepstrip, cnf/make.conf: For bug #186337, show an
	  ewarn message if FEATURES=installsources is enabled but debugedit
	  is not installed. Also document installsources and splitdebug in
	  make.conf.example.

2007-07-23 23:33  zmedico

	* [r7379] bin/ebuild.sh, man/make.conf.5, pym/portage/__init__.py,
	  pym/portage/const.py, pym/portage/dbapi/porttree.py,
	  pym/portage/process.py: Add FEATURES=fakeroot support which
	  causes install and package phases to run inside fakeroot when a
	  non-root user runs the ebuild command. Thanks to swegener for the
	  initial patch.

2007-07-23 18:57  zmedico

	* [r7377] cnf/make.globals: Add sfperms and strict to the default
	  FEATURES since they're already in the base profile's
	  make.defaults.

2007-07-23 18:50  zmedico

	* [r7375] cnf/make.globals: Enable FEATURES=userfetch by default.

2007-07-23 18:07  zmedico

	* [r7373] pym/portage/__init__.py: Drop privileges in the "depend"
	  phase regardless of FEATURES and RESTRICT since that phase should
	  never need special privileges. Thanks to swegener for the initial
	  patch.

2007-07-23 07:49  antarus

	* [r7371] pym/portage/tests/env/config/test_PackageMaskFile.py,
	  pym/portage/tests/env/config/test_PortageModulesFile.py: add more
	  tests for keyvaluepairloader (it had a bug previously) and fix up
	  other misc tests

2007-07-23 07:30  antarus

	* [r7370] pym/emerge/__init__.py: fix broken import

2007-07-23 07:30  antarus

	* [r7369] pym/portage/util.py: Fix imports for style, slight
	  optimization for grab* function, doc fixups.

2007-07-23 07:28  antarus

	* [r7368] pym/portage/env/config.py, pym/portage/env/loaders.py,
	  pym/portage/env/validators.py: Validator should be a function,
	  not a class, fix spacing/tab issues. Fix 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

2007-07-23 07:26  antarus

	* [r7367] pym/portage/sets/files.py: Fix imports for style,
	  deprecate grab*, what is foo.metadata and what does it contain

2007-07-23 07:21  antarus

	* [r7366] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/profiles.py, pym/portage/sets/security.py,
	  pym/portage/sets/shell.py: Move classes out of __init__.py, they
	  do not belong there. Fix import style, and import statements
	  broken by class moves.

2007-07-23 05:23  antarus

	* [r7365] pym/portage/env/config.py, pym/portage/env/loaders.py:
	  Move common file functionality into a FileLoader class and
	  delegate parsing to subclasses via a lineParser func, no idea how
	  this will work performance wise. Fix errors in parser (blank
	  lines are not errors ;))

2007-07-23 04:06  antarus

	* [r7364] pym/portage/env/loaders.py: fix spacing, comments,
	  default args

2007-07-22 23:21  zmedico

	* [r7363] pym/portage/tests/sets/shell/testShell.py: Fix hardcoded
	  /usr/bin/echo to use portage.process.find_binary().

2007-07-22 22:24  antarus

	* [r7362] pym/portage/sets/files.py, pym/portage/sets/security.py:
	  fix missing import, default value for value in case we try to
	  .join on a variable that hasn't been assigned to yet

2007-07-22 22:18  antarus

	* [r7361] pym/portage/sets/shell.py: add docstring, fix up imports
	  (style), add keyword expansion

2007-07-22 22:17  antarus

	* [r7360] pym/portage/tests/sets,
	  pym/portage/tests/sets/__init__.py, pym/portage/tests/sets/shell,
	  pym/portage/tests/sets/shell/__init__.py,
	  pym/portage/tests/sets/shell/testShell.py: add test for
	  CommandOutputSet

2007-07-22 20:56  zmedico

	* [r7358] bin/ebuild.sh: For bug #184774, put lha's -q option last
	  since otherwise the option parser now requires level 0, 1, or 2
	  to be specified.

2007-07-22 20:15  antarus

	* [r7357] pym/portage/tests/__init__.py: Fix spacing issues,
	  imports

2007-07-22 19:22  antarus

	* [r7356] DEVELOPING, RELEASE-NOTES: Add notes about import
	  statements (clarity) and fix spelling error in release-notes

2007-07-22 10:08  antarus

	* [r7355] pym/portage/sets/__init__.py, pym/portage/xpak.py: remove
	  unused vars from xpak, fix bug in compose. Also fix tests for
	  portage sets, fix misnamed variable.

2007-07-22 09:55  antarus

	* [r7354] pym/portage/checksum.py, pym/portage/getbinpkg.py,
	  pym/portage/glsa.py, pym/portage/news.py, pym/portage/output.py,
	  pym/portage/process.py: Run pychecker over everything, fix
	  obvious thing slike modules not in use, variables not being used,
	  or global exceptions not being deleted. Also fix imports for
	  style (1 per line)

2007-07-22 07:49  zmedico

	* [r7351] pym/emerge/__init__.py: Fix the reverse dependency
	  display for --prune when there is now real parent.

2007-07-22 06:48  zmedico

	* [r7349] pym/emerge/__init__.py: Make --update imply --oneshot
	  since people often us it to update things when they don't want to
	  add them to world. Thanks to jakub for the suggestion.

2007-07-22 06:33  zmedico

	* [r7345] man/emerge.1, pym/emerge/help.py: Document --depclean and
	  --prune enhancements.

2007-07-22 06:08  zmedico

	* [r7344] pym/emerge/__init__.py: Prevent a potential KeyError when
	  removing world from the digraph for --prune display.

2007-07-22 06:06  zmedico

	* [r7343] pym/emerge/__init__.py: Make --prune pull in the system
	  set since that could pull in some slots that wouldn't be pulled
	  in otherwise.

2007-07-21 11:34  zmedico

	* [r7340] bin/repoman: For bug #169500, detect when the cvs server
	  puts /Attic/ inside the $Header path and automatically correct
	  it.

2007-07-21 10:36  zmedico

	* [r7338] bin/repoman: For bug #185153, in commit mode do the
	  "Fetching trivial updates" routine before the qa scan.

2007-07-21 09:42  zmedico

	* [r7336] pym/emerge/__init__.py: Make --prune and --depclean
	  return before calculating dependencies if atoms are given but
	  they don't match any packages.

2007-07-21 09:31  zmedico

	* [r7334] pym/emerge/__init__.py: Prune really uses all installed
	  instead of world. It's not a real reverse dependency so don't
	  display it as such.

2007-07-21 04:57  zmedico

	* [r7332] pym/emerge/__init__.py: Just show [0] instead of [0=>0]
	  in the repo display.

2007-07-21 04:20  zmedico

	* [r7330] pym/portage/__init__.py: For bug #185930, direct all
	  FETCHCOMMAND output to stdout.

2007-07-21 03:51  zmedico

	* [r7329] pym/portage/sets/__init__.py: Optimize
	  PackageSet._updateAtomMap() for the case where one or more atoms
	  are added and none are removed.

2007-07-21 03:37  zmedico

	* [r7327] pym/emerge/__init__.py: Hint about --nodeps if --prune
	  doesn't find anything to prune. Also enable reverse dependency
	  display for global depclean.

2007-07-21 00:21  zmedico

	* [r7325] pym/portage/__init__.py: When digest verification of a
	  distfile fails, rename instead of unlinking it in case it's a
	  large download and the user wants to salvage it due to a bad
	  digest.

2007-07-20 05:40  zmedico

	* [r7321] pym/portage/__init__.py: If the fetcher reported success
	  and the file is too small, don't attempt to resume. Upstream
	  probably changed the distfile and we need to show a digest
	  verification failure so the user gets a clue.

2007-07-20 03:19  zmedico

	* [r7319] man/portage.5: For bug #185504, document
	  profiles/repo_name.

2007-07-20 02:46  zmedico

	* [r7317] RELEASE-NOTES: Document --prune and --depclean
	  enhancements.

2007-07-20 02:23  zmedico

	* [r7315] man/emerge.1, pym/emerge/help.py: Update --prune docs for
	  bug #151653.

2007-07-20 02:00  zmedico

	* [r7313] pym/emerge/__init__.py: Fix --prune so that it always
	  correctly accounts for COUNTER when dealing with packages in the
	  same slot.

2007-07-20 01:52  zmedico

	* [r7312] pym/emerge/__init__.py: For bug #151653, make --prune
	  keep the highest version whenever possible (even when there is
	  one with a higher counter installed).

2007-07-19 23:55  zmedico

	* [r7310] pym/emerge/__init__.py: Make --prune try to prune all
	  slotted packages if no atoms are given (that's how it already
	  works with --nodeps).

2007-07-19 23:43  zmedico

	* [r7309] pym/emerge/__init__.py: Make --prune bail out like
	  depclean does if there are unresolved dependencies. Notify the
	  user that they can use --nodeps in that case.

2007-07-19 23:31  zmedico

	* [r7308] pym/emerge/__init__.py: With --prune and --depclean, if
	  --verbose is enabled then show reverse 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.

2007-07-18 06:26  zmedico

	* [r7306] pym/emerge/__init__.py: Allow atoms to be specified for
	  --depclean so that it can be used to safely unmerge packages if
	  nothing depends on them.

2007-07-18 04:03  zmedico

	* [r7305] pym/emerge/__init__.py, pym/portage/dbapi/virtual.py: Use
	  the --depclean algorithm to make --prune safe. The old unsafe
	  --prune will be used if the --nodeps option is specified.

2007-07-17 21:41  zmedico

	* [r7303] pym/portage/sets/__init__.py: Iterate over a list in
	  order to avoid breaking the iterator when an atom is removed.

2007-07-17 21:16  zmedico

	* [r7302] pym/portage/sets/__init__.py: Use PackageSet.getAtoms()
	  as a wrapper around load() since load() can trigger unnecessary
	  stat calls.

2007-07-17 21:08  zmedico

	* [r7301] pym/portage/sets/__init__.py: Make
	  PackageSet._updateAtomMap() clear the map in case something was
	  removed.

2007-07-17 19:26  zmedico

	* [r7300] bin/misc-functions.sh: Use PF in dyn_package. Thanks to
	  swegener.

2007-07-17 19:13  zmedico

	* [r7298] pym/emerge/__init__.py: Unify USE handling in the
	  depgraph with the other metadata.

2007-07-17 18:19  zmedico

	* [r7296] pym/emerge/__init__.py: For bug #185670, make sure
	  package.use.{mask,force} are properly displayed.

2007-07-17 18:04  zmedico

	* [r7294] pym/emerge/__init__.py: When expanding ambiguous atoms
	  against the vardb, make sure the the expanded package is also
	  available in the portage tree.

2007-07-17 04:58  zmedico

	* [r7292] pym/emerge/__init__.py: When dep_expand throws a
	  ValueError due to an ambiguous atom, try to expand it against the
	  installed packages in case it yields a unique match.

2007-07-17 04:38  zmedico

	* [r7290] pym/emerge/__init__.py: Don't show the repo display when
	  the package list is empty.

2007-07-17 04:35  zmedico

	* [r7289] pym/portage/sets/__init__.py: Make sure the atoms are
	  loaded when calling PackageSet.findAtomForPackage().

2007-07-17 04:21  zmedico

	* [r7288] pym/portage/sets/__init__.py: Make sure PackageSet._atoms
	  is always a set.

2007-07-17 04:15  zmedico

	* [r7287] pym/emerge/__init__.py: Revert PackageSet.containsCPV()
	  calls back to findAtomForPackage() calls so that things like slot
	  atoms and old-style virtuals are properly supported.

2007-07-17 01:31  zmedico

	* [r7286] pym/emerge/__init__.py: Always be sure to load the latest
	  version of the world file while it's locked.

2007-07-16 18:33  zmedico

	* [r7285] pym/portage/sets/files.py: Sort the atoms when writing
	  the world file.

2007-07-16 13:52  genone

	* [r7283] pym/emerge/__init__.py: Replace emerge.WorldSet with
	  portage.sets.files.WorldSet

2007-07-16 13:51  genone

	* [r7282] pym/portage/sets/__init__.py, pym/portage/sets/files.py:
	  break another recursion cycle, add special subclass for "world"
	  to handle locking

2007-07-16 12:53  genone

	* [r7281] pym/emerge/__init__.py: Replace emerge.SystemSet with
	  portage.sets.profiles.PackagesSystemSet

2007-07-16 12:53  genone

	* [r7280] pym/portage/sets/__init__.py: break recursion cycle

2007-07-16 12:35  genone

	* [r7279] pym/emerge/__init__.py, pym/portage/elog/mod_mail.py,
	  pym/portage/sets/__init__.py: replace emerge.AtomSet with
	  portage.sets.InternalPackageSet

2007-07-16 11:48  genone

	* [r7278] pym/portage/__init__.py: disable FEATURES=gpg as it's
	  unmaintained, useless and likely broken for many people

2007-07-16 09:15  genone

	* [r7277] pym/portage/sets/__init__.py, pym/portage/sets/files.py:
	  fix metadata parsing for file-based sets, add support for
	  user-defined file sets in test code

2007-07-16 09:01  genone

	* [r7276] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py: add
	  support for metadata

2007-07-16 08:13  genone

	* [r7275] pym/portage/glsa.py, pym/portage/sets/__init__.py,
	  pym/portage/sets/security.py: ignore already applied glsas when
	  loading the security set

2007-07-16 07:38  genone

	* [r7274] pym/portage/sets/__init__.py: fix load logic for editable
	  sets once more

2007-07-16 07:36  genone

	* [r7273] pym/portage/sets/__init__.py, pym/portage/sets/files.py:
	  use a more logical approach for editable sets

2007-07-16 07:23  genone

	* [r7272] pym/portage/sets/__init__.py, pym/portage/sets/files.py:
	  Make PackageSet to behave more like a real set, and change
	  loading logic a bit to avoid unnecessary reloads for editable
	  sets

2007-07-16 06:39  genone

	* [r7271] pym/portage/sets/__init__.py, pym/portage/sets/dbapi.py,
	  pym/portage/sets/files.py, pym/portage/sets/profiles.py,
	  pym/portage/sets/security.py, pym/portage/sets/shell.py:
	  s/node/atom/ and other minor updates

2007-07-16 04:07  genone

	* [r7270] cnf/make.conf: sync MAILSUBJECT in make.conf with
	  make.globals

2007-07-15 07:16  vapier

	* [r7267] bin/prepstrip: split up the debug/sources steps as
	  proposed by swegener and give the whole file a cleanup

2007-07-15 03:45  zmedico

	* [r7265] pym/emerge/__init__.py: Fix typo.

2007-07-15 03:21  zmedico

	* [r7263] pym/emerge/__init__.py: When deciding if a package is
	  slotted inside create_world_atom(), check the vdb in case the
	  package is multislot.

2007-07-14 23:45  zmedico

	* [r7260] pym/emerge/__init__.py: Remove unused repo_name code.

2007-07-14 23:25  zmedico

	* [r7259] pym/emerge/__init__.py: Use sys.stdout instead of print
	  to avoid an extra newline.

2007-07-14 23:21  zmedico

	* [r7258] pym/emerge/__init__.py: Encapsulate the repo display code
	  in a class.

2007-07-14 22:44  zmedico

	* [r7257] pym/emerge/__init__.py: Always show PORTDIR with index 0
	  in the repo display.

2007-07-14 22:33  zmedico

	* [r7256] pym/emerge/__init__.py: Make the repo display work for
	  overlays that don't define repo_name (like it used to).

2007-07-14 20:28  zmedico

	* [r7254] pym/emerge/__init__.py: For bug #185278, make the verbose
	  flag display show masked/forced flag status for binary packages
	  too.

2007-07-14 08:05  zmedico

	* [r7251] NEWS: PDEPEND is now installed as soon as possible so
	  that it behaves more like RDEPEND.

2007-07-14 04:10  zmedico

	* [r7250] pym/emerge/__init__.py: Fix it so that the 'repository
	  could not be determined' message is shown when appropriate (issue
	  with variable scope).

2007-07-14 03:36  zmedico

	* [r7249] pym/emerge/__init__.py: Misc fixes for verbose repo
	  output: - Support binary packages by using the '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.

2007-07-13 23:37  zmedico

	* [r7247] bin/ebuild.sh, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py: Save the repo name along with the
	  other metadata inside dyn_compile() so that it's saved inside
	  binary packages for when they are finally merged.

2007-07-13 19:40  zmedico

	* [r7246] pym/emerge/__init__.py: Use os.path.realpath(portdir) for
	  comparison of repo paths. (branchs/prefix r7245)

2007-07-12 09:12  zmedico

	* [r7242] man/color.map.5, pym/portage/output.py: Add "reset" to
	  the list of attributes.

2007-07-12 04:50  zmedico

	* [r7241] pym/emerge/__init__.py: Fix the case where the currently
	  installed package is from a repo that is no longer in the overlay
	  (oldrepo is None rather than an empty string).

2007-07-12 00:22  zmedico

	* [r7239] pym/emerge/__init__.py: Make
	  depgraph._reinstall_for_flags() always return all revelant flags.

2007-07-12 00:07  zmedico

	* [r7237] pym/emerge/__init__.py: For bug #184983, prevent
	  USE_EXPAND_HIDDEN flags from being hidden if they are the only
	  thing that triggered reinstallation.

2007-07-11 04:54  zmedico

	* [r7230] pym/emerge/__init__.py: Use set.discard() instead of
	  remove() to avoid a potential KeyError.

2007-07-11 04:18  zmedico

	* [r7228] pym/portage/dbapi/vartree.py: Fix typo.

2007-07-11 02:53  zmedico

	* [r7226] pym/emerge/__init__.py: Fix another case similar to bug
	  #184806 that can occur with --onlydeps.

2007-07-11 01:16  zmedico

	* [r7224] pym/emerge/__init__.py: Fix typo.

2007-07-11 01:08  zmedico

	* [r7222] pym/emerge/__init__.py: For bug #184687, skip the huge
	  --depclean warning when --quiet mode is enabled.

2007-07-11 00:33  zmedico

	* [r7220] pym/portage/dbapi/vartree.py: For bug #184679, handle
	  ENOTDIR by finding the non-directory parent and testing that for
	  collision instead.

2007-07-10 23:08  zmedico

	* [r7218] pym/portage/__init__.py: For bug #184843, allow
	  USE_EXPAND variables to pass through if none of their flags are
	  in IUSE. This allows packages that support LINGUAS but don't
	  declare it in IUSE to use the variable outside of the USE_EXPAND
	  context.

2007-07-10 18:20  zmedico

	* [r7216] pym/portage/__init__.py: For bug #184604, make env-update
	  write $ in front of quoted values when appropriate.

2007-07-10 16:53  zmedico

	* [r7214] pym/emerge/__init__.py: For bug #184806, account for the
	  fact the metadata is not cached for slot_collision_nodes.

2007-07-09 19:28  zmedico

	* [r7212] pym/portage/dbapi/porttree.py: Remove the repo_name
	  warning in the portdbapi constructor since we don't want to see a
	  warning every time the portage module is imported.

2007-07-09 18:11  solar

	* [r7211] pym/portage/dbapi/porttree.py: - be quiet about overlays
	  profiles/repo_name entry when --quiet mode is used

2007-07-09 18:10  solar

	* [r7210] bin/prepstrip: - remove readable bits for debug files if
	  the souce ELF is setXid

2007-07-09 10:10  zmedico

	* [r7207] pym/emerge/__init__.py: Fix interaction of resume opts
	  with spinner output handling so that output always looks correct.

2007-07-09 05:53  genone

	* [r7206] pym/emerge/__init__.py: simplify logic a bit

2007-07-08 16:44  zmedico

	* [r7204] pym/portage/dbapi/vartree.py: Pass the file path into the
	  PermissionDenied exception.

2007-07-08 16:36  zmedico

	* [r7203] pym/portage/dbapi/vartree.py: Make dblink invalidate the
	  vardbapi caches for each merge and unmerge. Don't use
	  portage.listdir() since mtime granularity can prevent cachedir
	  from invalidating it's cache properly and this redundant cache
	  layer isn't needed anyway. This should solve the intermittent
	  failure of AUTOCLEAN to properly clean packages.

2007-07-08 07:24  zmedico

	* [r7201] bin/ebuild.sh, pym/emerge/__init__.py,
	  pym/portage/__init__.py: For bug #184566, enable the emerge
	  --info action to run an option pkg_info() function from each
	  installed ebuild.

2007-07-08 06:07  zmedico

	* [r7199] man/color.map.5, pym/emerge/__init__.py,
	  pym/portage/output.py: Add color classes
	  PROMPT_CHOICE_{DEFAULT,OTHER} for emerge's Yes/No prompt.

2007-07-08 04:09  zmedico

	* [r7197] pym/emerge/__init__.py: Allow system virtuals to be
	  pruned from the world file in cases where the matched package is
	  the only provider of that virtual.

2007-07-08 02:49  zmedico

	* [r7195] pym/emerge/__init__.py: For bug #184412, make depclean
	  more consistent with the update algorithm by keeping the highest
	  version that as visible in the portage tree and pruning any
	  versions that are either masked or no longer exist in the portage
	  tree.

2007-07-08 00:17  vapier

	* [r7193] bin/prepstrip: allow split debuf for kernel modules

2007-07-07 16:23  zmedico

	* [r7191] pym/emerge/__init__.py: Now that the "white" color code
	  really is white, alias it to bold where it's used by emerge since
	  white looks bad on a terminal with a white background.

2007-07-07 09:38  vapier

	* [r7189] bin/prepstrip: `find` can accept a list of paths so
	  condense this nested for loop, and dont split off debug
	  information for ET_REL files as these are never pulled in via
	  debug utilities (and can trigger weird behavior in binutils when
	  linked into things, like glibcs crt1.o)

2007-07-07 06:47  zmedico

	* [r7187] pym/emerge/__init__.py: Add a depgaph.loadResumeCommand()
	  method to handle loading and validation of all resume data.

2007-07-06 22:58  zmedico

	* [r7185] pym/emerge/__init__.py, pym/portage/__init__.py: When
	  depgraph updates preferences for old-style virtuals, also update
	  them in the global config so that they are consistent everywhere.
	  Optimize config.setinst() to minimize the work done.

2007-07-06 21:14  zmedico

	* [r7183] man/color.map.5, pym/emerge/__init__.py,
	  pym/portage/output.py: Misc color fixes. Thanks to Arfrever
	  Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com> for this
	  patch from bug#183861, comment #9.

2007-07-06 09:20  zmedico

	* [r7180] pym/emerge/__init__.py: Don't exclude system virtuals
	  from world since they can match multiple old-style virtuals but
	  only one of them will be pulled in by update or depclean.

2007-07-06 07:16  zmedico

	* [r7178] pym/emerge/__init__.py: Count the number of merges
	  processed by MergeTask and use that to determine whether or not
	  post_merge() should run.

2007-07-06 04:47  vapier

	* [r7177] pym/emerge/__init__.py: tighten up --quiet output for
	  --unmerge

2007-07-06 04:34  vapier

	* [r7176] doc: ignore generated docs

2007-07-06 03:06  zmedico

	* [r7174] man/color.map.5, pym/emerge/__init__.py,
	  pym/portage/output.py: Remove the PKG_*ARG* color classes in
	  order to simplify things since it's questionable whether many
	  people will want to use them. Also, make the PKG_*SYSTEM colors
	  default to the traditional colors since people are generally most
	  interested in world packages.

2007-07-06 00:39  genone

	* [r7172] pym/portage/glsa.py, pym/portage/sets/__init__.py,
	  pym/portage/sets/dbapi.py, pym/portage/sets/files.py,
	  pym/portage/sets/profiles.py, pym/portage/sets/security.py,
	  pym/portage/sets/shell.py: fix copyright year

2007-07-06 00:37  zmedico

	* [r7171] pym/emerge/__init__.py: Fix emerge by tbz2 path so that
	  it works properly.

2007-07-06 00:24  genone

	* [r7170] pym/portage/sets, pym/portage/sets/__init__.py,
	  pym/portage/sets/dbapi.py, pym/portage/sets/files.py,
	  pym/portage/sets/profiles.py, pym/portage/sets/security.py,
	  pym/portage/sets/shell.py: Add first draft of PackageSet backend
	  modules

2007-07-06 00:23  genone

	* [r7169] pym/portage/mail.py, pym/portage/news.py,
	  pym/portage/selinux.py: Enable keyword expansion

2007-07-06 00:22  genone

	* [r7168] pym/portage/glsa.py: add modified copy of gentoolkits
	  glsa.py (r410)

2007-07-06 00:05  zmedico

	* [r7166] pym/emerge/__init__.py: Fix emerge by ebuild path so that
	  it works properly.

2007-07-05 22:12  zmedico

	* [r7164] pym/emerge/__init__.py: Don't store unslotted system
	  packages in the world file.

2007-07-05 18:52  zmedico

	* [r7161] pym/emerge/__init__.py: Move depgraph._args_atoms to
	  depgraph._sets["args"] and move depgraph._args_nodes to
	  self._set_nodes.

2007-07-05 16:25  genone

	* [r7159] pym/emerge/__init__.py: Remove redundant config update
	  notification (bug #184116)

2007-07-05 06:49  genone

	* [r7157] RELEASE-NOTES, pym/emerge/__init__.py,
	  pym/portage/__init__.py, pym/portage/cache/metadata_overlay.py,
	  pym/portage/cache/util.py, pym/portage/cache/volatile.py,
	  pym/portage/data.py, pym/portage/dbapi/vartree.py,
	  pym/portage/getbinpkg.py, pym/portage/manifest.py,
	  pym/portage/sets, pym/portage/util.py: Remove fallback imports
	  for set(), and note minimum requirement of python-2.4

2007-07-05 05:46  genone

	* [r7155] RELEASE-NOTES: Add note about repo name warnings

2007-07-05 01:17  zmedico

	* [r7153] pym/emerge/__init__.py: Replace sys.exit() with return in
	  depgraph.display() and action_build().

2007-07-05 00:43  zmedico

	* [r7150] man/color.map.5: Document the additional color classes
	  for bug #183861.

2007-07-05 00:32  zmedico

	* [r7149] pym/emerge/__init__.py: Make the color class handling for
	  package sets more consistent as suggested in comment #2 of bug
	  #183861.

2007-07-04 23:35  zmedico

	* [r7148] pym/portage/output.py: Fix broken code concatenation
	  logic in parse_color_map().

2007-07-04 12:27  zmedico

	* [r7147] pym/portage/output.py: Add a "onerror" callback to
	  parse_color_map() for handling each ParseError that would
	  otherwise be raised.

2007-07-04 11:48  zmedico

	* [r7146] pym/portage/output.py: For bug #183861, allow a color
	  class in color.map to specify a space separated list of
	  attributes so that any combination of foreground, background, and
	  other attributes is possible. Thanks to Arfrever Frehtes
	  Taifersar Arahesis <Arfrever.FTA@GMail.Com> for this patch.

2007-07-04 04:46  zmedico

	* [r7144] pym/emerge/__init__.py: Fix greedy atoms logic for system
	  mode.

2007-07-04 02:31  zmedico

	* [r7142] RELEASE-NOTES, pym/emerge/__init__.py: Record a slot atom
	  in the world file for any atom that is precise enough to identify
	  a specific slot. Make depclean clean unnecessary slots of system
	  and world packages. For update and depclean, world atoms can be
	  greedy with slots while system atoms can not.

2007-07-03 18:09  zmedico

	* [r7140] pym/emerge/__init__.py: Use depgraph._args_nodes to
	  simplify depgraph.saveNomergeFavorites().

2007-07-03 17:49  zmedico

	* [r7139] pym/emerge/__init__.py: Fix --oneshot handling from the
	  previous commit.

2007-07-03 17:44  zmedico

	* [r7138] pym/emerge/__init__.py: In depgraph.select_files(), unify
	  favorites handling with the other args handling.

2007-07-03 06:23  zmedico

	* [r7135] pym/emerge/__init__.py: Implement BlockerCache.keys() so
	  that DictMixin.__repr__() works.

2007-07-03 01:18  zmedico

	* [r7133] pym/emerge/__init__.py: Fix broken favorites handling
	  with --usepkg.

2007-07-03 00:57  zmedico

	* [r7132] pym/emerge/__init__.py: Add USE to the list of metadata
	  keys to pull.

2007-07-03 00:14  zmedico

	* [r7131] bin/emaint, pym/emerge/__init__.py,
	  pym/portage/dbapi/vartree.py: Clean up system and world set
	  handling. For forward compatibility, the world file handling now
	  allows the world file to contain arbitrary atoms such as slot
	  atoms.

2007-07-02 05:50  zmedico

	* [r7126] pym/emerge/__init__.py: Prefer asap_nodes more
	  aggressively over any other nodes whenever possible. If no
	  asap_nodes can be selected for a given iteration, they will be
	  ignored for the next iteration.

2007-07-02 03:54  zmedico

	* [r7124] pym/emerge/__init__.py: Clone asap_nodes so that
	  iteration is safe for node removal.

2007-07-02 03:39  zmedico

	* [r7122] pym/emerge/__init__.py: Clean up the selected_nodes logic
	  in depgraph.altlist().

2007-07-02 02:06  zmedico

	* [r7120] bin/repoman: Flatten restrict for the RESTRICT.invalid
	  check.

2007-07-02 01:52  zmedico

	* [r7118] pym/emerge/__init__.py: Move medium priority out of
	  ignore_priority_range and handle it separately.

2007-07-01 20:05  zmedico

	* [r7116] pym/emerge/__init__.py: If necessary, resample the leaf
	  nodes so that they include all nodes whose hard deps are
	  satisfied.

2007-07-01 17:16  zmedico

	* [r7114] cnf/make.conf, man/make.conf.5:
	  s/PORTAGE_EXTRA_RSYNC_OPTS/PORTAGE_RSYNC_OPTS/ for correctness.

2007-07-01 17:08  zmedico

	* [r7112] cnf/make.conf, man/make.conf.5: For bug #131030, update
	  the warning about potential for emerge --sync overwrite or delete
	  files in ${PORTDIR}. Add references to the PKGDIR and DISTDIR
	  docs.

2007-07-01 08:38  zmedico

	* [r7110] pym/emerge/__init__.py: Revert --buildpkgonly logic back
	  because it was already correct.

2007-07-01 08:34  zmedico

	* [r7108] pym/emerge/__init__.py: Update --buildpkgonly logic to
	  account for DepPriority.MEDIUM_SOFT.

2007-07-01 08:14  zmedico

	* [r7106] pym/emerge/__init__.py: Add medium-soft support to
	  DepPriority.__str__().

2007-07-01 07:50  zmedico

	* [r7104] pym/emerge/__init__.py: For bug #180045, try to merge
	  PDEPEND as soon as possible so that it behaves more like RDEPEND.

2007-06-30 23:38  zmedico

	* [r7102] bin/repoman: Add a QA warning for invalid values of
	  RESTRICT. Thanks to peper for the patch.

2007-06-30 23:15  zmedico

	* [r7100] man/color.map.5, man/ebuild.1, man/ebuild.5,
	  man/emerge.1, man/make.conf.5, man/portage.5: Add docs for
	  /etc/portage/color.map and a few misc man page fixes. Thanks to
	  Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com> in
	  bug #183758.

2007-06-30 13:19  zmedico

	* [r7099] pym/emerge/__init__.py, pym/portage/data.py: Remove old
	  wheel group warnings since portage stopped using this group long
	  ago.

2007-06-30 11:21  genone

	* [r7098] pym/portage/elog/__init__.py,
	  pym/portage/elog/filtering.py: apply additional phase filters as
	  otherwise some messages are logged in both unmerge and merge

2007-06-30 10:32  genone

	* [r7097] pym/portage/dbapi/vartree.py: ewarn when merging a
	  package and the source repository/overlay does not have a name

2007-06-30 10:04  genone

	* [r7096] pym/portage/dbapi/porttree.py: print a notice when a
	  repository/overlay does not have a name

2007-06-29 21:46  zmedico

	* [r7094] pym/portage/output.py: Add a 0xAAAA00 rgb color code to
	  represent the darkyellow color that some terminals have instead
	  of brown.

2007-06-29 21:30  zmedico

	* [r7093] pym/portage/dbapi/vartree.py: Test for existence of the
	  getRepositories method since bindbapi doesn't have it atm.

2007-06-29 14:09  zmedico

	* [r7091] pym/emerge/__init__.py: For bug #183639, give a more
	  informative message with the package.provided warning.

2007-06-29 09:09  genone

	* [r7089] pym/emerge/__init__.py, pym/portage/dbapi/vartree.py:
	  display source repository for installed package and target
	  package (bug #67072)

2007-06-29 08:04  genone

	* [r7088] bin/portageq: Use better parseable format for
	  list_preserved_libs

2007-06-29 08:03  genone

	* [r7087] pym/portage/dbapi/vartree.py: Store name of source
	  repository in vdb node for later comparison

2007-06-28 09:44  zmedico

	* [r7083] pym/emerge/__init__.py: Fix typo.

2007-06-28 09:31  zmedico

	* [r7081] man/emerge.1, pym/emerge/help.py: For bug #144333,
	  document the new --reinstall=changed-use option.

2007-06-28 09:06  zmedico

	* [r7078] pym/emerge/__init__.py: Remove unused worldlist variable.

2007-06-28 09:01  zmedico

	* [r7076] pym/emerge/__init__.py: Don't colorize system package
	  when in "world" mode.

2007-06-28 08:50  zmedico

	* [r7075] pym/emerge/__init__.py, pym/portage/output.py: For bug
	  #142473, add 2 additional color classes for system packages and
	  packages matched by arguments.

2007-06-28 04:57  zmedico

	* [r7073] pym/portage/__init__.py: For bug #183431, catch a
	  ParseError caused by a corrupt profile and dump an error message.
	  This allows emerge to continue with actions that don't require a
	  valid profile, such as --sync.

2007-06-28 02:48  zmedico

	* [r7071] pym/emerge/__init__.py: When filling in "nomerge" nodes
	  for --tree display, stop at a node that is an argument or a
	  direct member of a set that has been specified as an argument
	  (system or world).

2007-06-28 02:36  zmedico

	* [r7069] pym/emerge/__init__.py: For bug #144333, make the
	  --reinstall option a single choice type.

2007-06-28 01:48  zmedico

	* [r7067] pym/emerge/__init__.py: Discard "nomerge" nodes to speed
	  up depgraph.altlist() since those nodes aren't used and the
	  --tree algorithm does a good job of regenerating them when
	  appropriate.

2007-06-28 01:22  zmedico

	* [r7065] pym/emerge/__init__.py: Just use a containment test for
	  matching pprovided args since it works correctly and
	  match_to_list() isn't appropriate for this.

2007-06-28 01:04  zmedico

	* [r7064] pym/emerge/__init__.py: Cache aux_get() metadata in
	  depgraph.create() and use PROVIDE for matching packages to
	  arguments.

2007-06-27 18:16  zmedico

	* [r7063] pym/emerge/__init__.py: Improve tracking of
	  correspondence between arguments and packages in the depgraph.

2007-06-27 15:15  zmedico

	* [r7061] pym/emerge/__init__.py: Instead of just a list, use a
	  cat/pkg dict for matching packages against args in the depgraph.

2007-06-27 14:54  zmedico

	* [r7059] pym/emerge/__init__.py: For bug #142473, account for
	  $ROOT when deciding if a package is part of world or not.

2007-06-27 10:11  zmedico

	* [r7057] bin/isolated-functions.sh: Fix quoting.

2007-06-27 09:56  zmedico

	* [r7055] bin/isolated-functions.sh: Format
	  $EBUILD_OVERLAY_ECLASSES output more like it was before.

2007-06-27 04:18  zmedico

	* [r7052] pym/emerge/__init__.py: For bug #144333, add a
	  --reinstall=changed-use option which behaves similar to how
	  --newuse behaved in portage-2.0.x days.

2007-06-27 03:21  zmedico

	* [r7050] bin/isolated-functions.sh: Format the callstack
	  indentation more like it used to be.

2007-06-27 01:20  zmedico

	* [r7047] bin/isolated-functions.sh, pym/emerge/__init__.py,
	  pym/portage/__init__.py, pym/portage/dbapi/vartree.py: Send the
	  ebuild die message through eerror and make sure that
	  elog_process() gets called when an ebuild dies. This makes the
	  elog echo module display the die message last in case other elog
	  messages push the original die message off of the top of the
	  screen.

2007-06-26 23:08  zmedico

	* [r7046] pym/portage/elog/mod_echo.py: Preserve merge order in
	  elog output.

2007-06-26 22:38  zmedico

	* [r7044] pym/portage/manifest.py: Short circuit the loop as soon
	  as missing hashes are detected.

2007-06-26 22:18  zmedico

	* [r7042] pym/portage/__init__.py: Short circuit the loop as soon
	  as missing hashes are detected.

2007-06-26 22:16  zmedico

	* [r7041] pym/portage/__init__.py: Add one more size == 0 check to
	  digestgen().

2007-06-26 17:48  zmedico

	* [r7039] pym/portage/__init__.py: Add sanity checks in fetch() and
	  digestgen() to automatically detect and handle invalid empty
	  distfiles since some users have reported difficulty when trying
	  to create digests.

2007-06-25 19:41  zmedico

	* [r7034] pym/emerge/__init__.py: For bug #183167, explicitly call
	  elog_process() when --buildpkgonly is enabled.

2007-06-25 10:36  zmedico

	* [r7031] pym/emerge/__init__.py, pym/portage/output.py: For bug
	  #142473, add 4 color classes corresponding to combinations of
	  world/merge/nomerge attributes of each package.

2007-06-25 09:14  zmedico

	* [r7029] pym/emerge/__init__.py: Fix typo.

2007-06-25 06:21  zmedico

	* [r7027] pym/portage/dbapi/bintree.py: Don't use urljoin() in
	  binarytree.gettbz2() since it doesn't work correctly wih
	  unrecognized protocols like sftp.

2007-06-25 04:49  zmedico

	* [r7025] pym/portage/getbinpkg.py: Allow SystemExit through as
	  usual.

2007-06-25 04:47  zmedico

	* [r7024] pym/portage/getbinpkg.py: Fix file_get_lib() so it
	  behaves the same way with sftp as it does with other protocols.

2007-06-25 03:23  zmedico

	* [r7023] pym/portage/getbinpkg.py: For bug #175891, add sftp
	  protocol support via the paramiko library.

2007-06-25 02:54  zmedico

	* [r7019] pym/portage/dbapi/bintree.py: Fix typo.

2007-06-25 02:48  zmedico

	* [r7018] pym/portage/dbapi/bintree.py: Fix resume logic in
	  binarytree.gettbz2().

2007-06-25 02:35  zmedico

	* [r7016] pym/portage/dbapi/bintree.py: For bug #175891, support
	  ${FETCHCOMMAND}_${PROTOCOL} in binarytree.gettbz2().

2007-06-25 02:07  zmedico

	* [r7014] pym/portage/getbinpkg.py: Clean up file_get() to use
	  shlex, varexpand, and spawn.

2007-06-24 23:47  zmedico

	* [r7012] pym/portage/dbapi/bintree.py: Fix binarytree.isremote()
	  to be consistent with binarytree.gettbz2() logic wrt partially
	  downloaded files.

2007-06-24 22:44  zmedico

	* [r7011] pym/portage/checksum.py: Remove unused imports and
	  unnecessary dict.keys() call.

2007-06-24 22:05  zmedico

	* [r7008] pym/emerge/__init__.py: Use a set to optimize containment
	  lookups.

2007-06-24 21:47  zmedico

	* [r7005] man/make.conf.5: Clarify RESUMECOMMAND requirements.

2007-06-24 21:29  zmedico

	* [r7004] man/make.conf.5: Update the FETCHCOMMAND docs to indicate
	  that the command should be +written to place the fetched file at
	  ${DISTDIR}/${FILE}.

2007-06-24 20:36  zmedico

	* [r7002] pym/portage/dbapi/bintree.py: Fix broken base_uri
	  handling for old-style binhosts in binarytree.gettbz2().

2007-06-24 18:58  zmedico

	* [r6999] bin/emaint, bin/regenworld, pym/emerge/__init__.py: For
	  bug #180706, add sorting and a trailing newline in the rest of
	  the cases where the world file is written.

2007-06-24 18:09  zmedico

	* [r6996] pym/portage/dbapi/vartree.py: Fix more typos from r6988.

2007-06-24 09:38  zmedico

	* [r6990] pym/portage/dbapi/vartree.py: Handle 'Permission denied'
	  errors that can occur if the current user isn't allowed to access
	  PRIVATE_PATH.

2007-06-24 08:47  zmedico

	* [r6989] pym/portage/dbapi/vartree.py: Fix typo.

2007-06-24 07:54  zmedico

	* [r6988] pym/portage/dbapi/vartree.py: Fix column alignment in
	  unmerge output.

2007-06-24 07:11  zmedico

	* [r6987] pym/portage/dbapi/porttree.py: Make the fix for bug
	  #139600 slightly less icky by grabbing the ACCEPT_KEYWORDS
	  through mysettings.configdict[backupenv] instead of directly
	  through os.environ.

2007-06-24 06:43  zmedico

	* [r6986] pym/portage/dbapi/vartree.py: Always unlink the
	  .installed flag prior to merge since portage.movefile() never
	  leaves intact.

2007-06-24 06:40  zmedico

	* [r6985] bin/misc-functions.sh: Provide a default value for
	  PORTAGE_BINPKG_TMPFILE in case the package phase is called by the
	  ebuild command.

2007-06-24 00:32  zmedico

	* [r6983] pym/portage/__init__.py, pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/vartree.py: For bug #182964, replace
	  os.rename() with portage.movefile() in cases where the parent
	  directory might change.

2007-06-23 23:03  zmedico

	* [r6982] pym/portage/dbapi/porttree.py: Fix
	  check_config_instance() weirdness when the ebuild command reloads
	  the portage module.

2007-06-23 19:36  genone

	* [r6981] pym/portage/dbapi/porttree.py: get ACCEPT_KEYWORDS from
	  the env in gvisible() to properly handle negated values (bug
	  #139600)

2007-06-23 19:16  genone

	* [r6980] man/make.conf.5: Add a pointer from FETCHCOMMAND to
	  RESUMECOMMAND (bug #141550)

2007-06-23 19:12  genone

	* [r6979] pym/emerge/__init__.py: highlight world packages in
	  --pretend output (bug #142473)

2007-06-23 18:47  genone

	* [r6978] pym/portage/getbinpkg.py: dont break when the binhost url
	  doesn't end with a slash (bug #144440)

2007-06-23 18:16  genone

	* [r6977] cnf/etc-update.conf: change default diff_command for
	  emacs (bug #147558)

2007-06-23 16:29  genone

	* [r6976] pym/emerge/__init__.py, pym/portage/update.py: sort the
	  world file before writing it and ensure that it's terminated by a
	  newline

2007-06-23 16:17  genone

	* [r6975] pym/portage/dbapi/vartree.py: s/!owned/replaced/ in merge
	  output to clarify it

2007-06-23 16:11  genone

	* [r6974] pym/emerge/__init__.py: syntax error

2007-06-23 15:50  genone

	* [r6973] pym/emerge/__init__.py: Allow sync for unpriviledges
	  users if they have write access to $PORTDIR

2007-06-23 13:12  genone

	* [r6972] pym/portage/__init__.py, pym/portage/checksum.py: add
	  hashlib support for checksum verification, refactor checksum
	  functions to not look like a complete mess

2007-06-23 13:09  zmedico

	* [r6970] pym/emerge/__init__.py, pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/vartree.py, pym/portage/dispatch_conf.py:
	  Revert r6967 since shutil.move() is broken internally.

2007-06-23 11:09  zmedico

	* [r6969] pym/portage/dbapi/vartree.py: s/OSError/EnvironmentError/
	  since shutil.move() generally raises an IOError.

2007-06-23 10:58  zmedico

	* [r6967] pym/emerge/__init__.py, pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/vartree.py, pym/portage/dispatch_conf.py: For
	  bug #182964, replace os.rename() with shutil.move() in order to
	  handle EXDEV errors that are triggered by layered filesystems.

2007-06-23 03:58  zmedico

	* [r6964] bin/quickpkg: Remove redundant 'Usage: ' from the usage
	  message.

2007-06-23 00:21  zmedico

	* [r6962] cnf/logrotate.d, cnf/logrotate.d/elog-save-summary: Add a
	  logrotate config for the save_summary elog module since it's
	  enabled by default now.

2007-06-22 23:42  zmedico

	* [r6959] pym/portage/elog/mod_echo.py: Show which $ROOT a package
	  was merged to when $ROOT is not /.

2007-06-22 23:17  zmedico

	* [r6956] man/ebuild.5: Remove confcache docs.

2007-06-22 23:11  zmedico

	* [r6955] pym/emerge/__init__.py, pym/portage/elog/__init__.py,
	  pym/portage/elog/mod_echo.py,
	  pym/portage/elog/mod_mail_summary.py: Make elog finalize()
	  handling safe for PORTAGE_CONFIGROOT.

2007-06-22 21:55  zmedico

	* [r6954] man/ebuild.5: Document RESTRICT=bindist and add a note
	  about allowance for conditional syntax.

2007-06-22 13:43  zmedico

	* [r6953] pym/emerge/__init__.py: Dump mod_echo elog output inside
	  post_emerge(), just before the other notifications that happen at
	  exit.

2007-06-22 12:57  zmedico

	* [r6952] pym/portage/elog/__init__.py: Add a note about potential
	  for config mixups in elog finalizers.

2007-06-22 11:00  zmedico

	* [r6950] NEWS: Update 2.1.3 news for elog stuff.

2007-06-22 08:47  zmedico

	* [r6945] bin/quickpkg, pym/portage/dbapi/vartree.py: For bug
	  #182428, make quickpkg exclude config files that are protected by
	  CONFIG_PROTECT. Add a --include-config option that includes all
	  config files and a --include-unmodified-config that includes
	  config files that have not been modified since installation
	  (matching md5sum).

2007-06-22 06:13  zmedico

	* [r6937] bin/quickpkg: Make quickpkg print a warning if "bindist"
	  is in RESTRICT.

2007-06-21 23:42  vapier

	* [r6922] bin/ecompress: cache the result of --suffix to reduce
	  testing overhead as suggested by Mr_Bones_

2007-06-21 21:37  zmedico

	* [r6920] pym/portage/__init__.py: Clean up config.__getitem__(),
	  get() and setdefault() implementions.

2007-06-21 21:14  zmedico

	* [r6919] pym/portage/__init__.py: Simplify the implementation of
	  config.__iter__ and also implement iterkeys().

2007-06-21 21:10  zmedico

	* [r6918] pym/portage/cache/anydbm.py,
	  pym/portage/cache/flat_hash.py, pym/portage/cache/flat_list.py,
	  pym/portage/cache/metadata_overlay.py,
	  pym/portage/cache/sql_template.py, pym/portage/cache/sqlite.py,
	  pym/portage/cache/template.py, pym/portage/cache/util.py,
	  pym/portage/cache/volatile.py: Implement iterkeys on top of
	  __iter__ instead of vice versa. Thanks to Brian Harring for the
	  suggestion.

2007-06-21 20:36  zmedico

	* [r6917] pym/portage/__init__.py,
	  pym/portage/tests/ebuild/test_spawn.py: Autodetect if sandbox is
	  active in order to prevent recursive sandbox invocation. Thanks
	  to Brian Harring for the suggestion.

2007-06-21 20:15  zmedico

	* [r6916] pym/portage/__init__.py: Implement config.has_key() on
	  top of __contains__ instead of vice versa.

2007-06-21 12:16  zmedico

	* [r6915] pym/portage/tests/ebuild/test_spawn.py: Fix the test so
	  that it can run inside a sandbox.

2007-06-21 12:12  zmedico

	* [r6914] pym/portage/env/config.py: Implement
	  UserConfigKlass.__iter__() so that tests pass.

2007-06-21 12:01  zmedico

	* [r6913] pym/portage/elog/__init__.py,
	  pym/portage/elog/filtering.py, pym/portage/elog/messages.py,
	  pym/portage/elog/mod_custom.py, pym/portage/elog/mod_echo.py,
	  pym/portage/elog/mod_mail_summary.py, pym/portage/getbinpkg.py,
	  pym/portage/locks.py, pym/portage/manifest.py,
	  pym/portage/tests/env/config/test_PackageMaskFile.py,
	  pym/portage/tests/env/config/test_PortageModulesFile.py,
	  pym/portage/tests/util/test_varExpand.py: Remove more unnecessary
	  list generation.

2007-06-21 11:40  zmedico

	* [r6912] pym/portage/cache/template.py, pym/portage/cache/util.py,
	  pym/portage/checksum.py, pym/portage/cvstree.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/porttree.py,
	  pym/portage/dbapi/vartree.py, pym/portage/dbapi/virtual.py,
	  pym/portage/util.py: Remove more unnecessary list generation.

2007-06-21 10:57  zmedico

	* [r6911] bin/fix-db.py, bin/md5check.py, bin/portageq,
	  bin/repoman, pym/emerge/__init__.py, pym/portage/__init__.py:
	  Remove lots of unnecessary list generation via dict.keys().

2007-06-21 06:25  zmedico

	* [r6909] pym/emerge/__init__.py: Don't generate a list of keys for
	  a containment test.

2007-06-21 05:59  zmedico

	* [r6907] pym/emerge/__init__.py: Don't call digraph.hasallzeros()
	  in --resume mode because the digraph isn't currently populated in
	  that case.

2007-06-21 03:42  zmedico

	* [r6897] bin/quickpkg: Make IUSE handling safe for IUSE defaults.

2007-06-21 03:04  vapier

	* [r6896] bin/quickpkg: as noted by Josh Saddler on the gentoo-dev
	  mailing list, issue a warning if we try to create a binpkg for
	  something that has IUSE=bindist but was emerged with USE=-bindist

2007-06-21 02:19  zmedico

	* [r6894] pym/portage/dbapi/vartree.py: In
	  dblink._security_check(), use os.path.realpath to make sure that
	  the same path isn't counted twice.

2007-06-20 23:53  zmedico

	* [r6892] bin/quickpkg: Add an --ignore-default-opts option that is
	  analogous to the corresponding emerge option.

2007-06-20 23:43  zmedico

	* [r6890] pym/emerge/__init__.py: Use the the optparse options for
	  --ignore-default-opts since that allows option abreviation to
	  work.

2007-06-20 10:06  zmedico

	* [r6889] pym/portage/output.py: Make the progress bar percentage
	  indicator stop at 100% instead of just 99%.

2007-06-20 09:46  zmedico

	* [r6887] pym/emerge/__init__.py: Show a "world problems" warning
	  for packages that aren't installed, even if they are available.

2007-06-20 07:11  zmedico

	* [r6886] pym/emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/eclass_cache.py, pym/portage/gpg.py,
	  pym/portage/output.py, pym/portage/xpak.py: Make all the classes
	  inherit from object.

2007-06-20 05:08  zmedico

	* [r6883] pym/emerge/__init__.py: If a package is in the world set
	  but it's not installed, go ahead and install it if it's available
	  (instead of telling the user to run emaint).

2007-06-20 00:17  zmedico

	* [r6882] bin/ebuild.sh: For bug #180165, make has_version dir if
	  portageq has an unexpected exit code.

2007-06-20 00:01  zmedico

	* [r6881] bin/emerge, bin/portageq, pym/portage/__init__.py,
	  pym/portage/exception.py: For bug #180165, make portageq print a
	  "Permission denied" error when 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.

2007-06-19 21:59  zmedico

	* [r6879] pym/portage/__init__.py: Fix cacheddir() to behave
	  properly if os.listdir() raises errno.EACCES (Permission denied).

2007-06-19 21:37  zmedico

	* [r6877] pym/portage/dbapi/bintree.py: For bug #143340, give an
	  appropriate message when there is no read access to a binary
	  package.

2007-06-19 20:11  zmedico

	* [r6875] pym/portage/output.py: Return early from get_term_size()
	  is stdout is not a tty.

2007-06-19 19:56  zmedico

	* [r6873] pym/portage/output.py: For bug #182571, handle
	  curses.error if it's thrown inside get_term_size().

2007-06-19 09:35  zmedico

	* [r6871] bin/quickpkg: For bug #182428, make quickpkg use a more
	  secure umask by default and allow it to be overridden by a
	  --umask option. Add support for QUICKPKG_DEFAULT_OPTS so that
	  default options can be set in make.conf.

2007-06-19 07:22  zmedico

	* [r6870] pym/portage/tests/__init__.py, pym/portage/tests/ebuild,
	  pym/portage/tests/ebuild/__init__.py,
	  pym/portage/tests/ebuild/test_spawn.py: Add a test case for the
	  logfile functionality of portage.spawn().

2007-06-19 06:16  zmedico

	* [r6869] pym/portage/tests/bin/setup_env.py: Add PORTAGE_BIN_PATH
	  to the environment since it's used by dobin to locate
	  isolated-functions.sh.

2007-06-18 10:26  zmedico

	* [r6867] pym/portage/dbapi/vartree.py: During unmerge, always
	  verify that the file isn't a symlink before doing chmod.

2007-06-17 22:42  zmedico

	* [r6865] pym/portage/dbapi/vartree.py: In dblink.isowner() don't
	  bother to stat the file when it's contained in the contents.

2007-06-17 22:05  zmedico

	* [r6863] pym/portage/dbapi/vartree.py: For bug #182346, use
	  dblink.isowner() during unmerge so that device/inode numbers are
	  used to determine ownership (despite path mismatch due to
	  symlinks).

2007-06-16 21:19  zmedico

	* [r6862] pym/portage/news.py: Fix profile and config arguments to
	  NewsItem.isRelevant() inside NewsManager.updateItems().

2007-06-15 22:53  zmedico

	* [r6860] pym/portage/dbapi/vartree.py: Go ahead and unlink
	  symlinks to directories when they're actually recorded as
	  symlinks in the contents.

2007-06-15 22:39  zmedico

	* [r6858] pym/portage/dbapi/vartree.py: Make the collision-protect
	  loop check for existance of the destination file before checking
	  if it's owned.

2007-06-15 21:38  zmedico

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

2007-06-15 21:31  zmedico

	* [r6854] pym/emerge/__init__.py: For bug #182021, use active voice
	  when notifying the user that superuser access is required.

2007-06-15 20:42  zmedico

	* [r6852] pym/portage/dbapi/vartree.py: Handle another case where
	  removing a symlink to a directory can be harmful.

2007-06-15 20:25  zmedico

	* [r6850] pym/portage/dbapi/vartree.py: For bug #182157, don't let
	  unmerge-orphans unlink symlinks to directories since that can
	  remove /lib and /usr/lib symlinks.

2007-06-15 20:06  zmedico

	* [r6848] pym/portage/dbapi/vartree.py: For bug #182157, never
	  chmod 0 symlinks before unlinking them.

2007-06-15 10:22  zmedico

	* [r6846] pym/portage/output.py: For bug #182105, fix the spelling
	  of the fd_pipes paremeter.

2007-06-14 10:46  zmedico

	* [r6843] pym/portage/dbapi/vartree.py: Fix broken \!found logic so
	  that any missing files are properly skipped.

2007-06-13 23:35  zmedico

	* [r6841] pym/emerge/__init__.py, pym/portage/news.py: Pass
	  existing portdbapi and vardbapi instances into the NewsManager
	  constructor.

2007-06-13 23:01  zmedico

	* [r6840] pym/emerge/__init__.py: Make display_news_notification()
	  reuse the existing portdbapi instance.

2007-06-13 22:56  zmedico

	* [r6839] pym/emerge/__init__.py: Pass all the of the existing
	  package databases into post_emerge() so that we can use them for
	  news and preserve-libs.

2007-06-13 21:46  zmedico

	* [r6837] pym/emerge/__init__.py: For bug #181953, prevent the
	  circular_blocks code from selecting a node that's already been
	  selected by the normal node selection process.

2007-06-13 17:40  genone

	* [r6836] pym/emerge/__init__.py: Get registry object from vardbapi
	  directly instead of creating another one

2007-06-13 17:29  genone

	* [r6835] bin/portageq, pym/portage/dbapi/vartree.py: Add portageq
	  command to list preserved libs

2007-06-13 10:09  zmedico

	* [r6833] pym/portage/dbapi/vartree.py: In dblink.treewalk(),
	  handle the case where the current cpv is already installed but it
	  has a different slot (multislot or unapplied slotmove).

2007-06-13 08:08  zmedico

	* [r6831] RELEASE-NOTES: Add a note about the new unmerge-orphans
	  behavior.

2007-06-13 07:21  zmedico

	* [r6829] cnf/make.globals, man/make.conf.5,
	  pym/portage/dbapi/vartree.py: For bug #134620, add a
	  FEATURES=unmerge-orphans option that causes unmerge to remove
	  files more aggressively. If a file is not claimed by another
	  package in the same slot and it is not protected by
	  CONFIG_PROTECT, unmerge it even if the modification time or
	  checksum differs from the file that was originally installed.
	  This is enabled in make.globals since the vast majority of users
	  probably want this.

2007-06-13 05:53  zmedico

	* [r6827] pym/portage/dbapi/vartree.py: Fix dblink.isowner() so it
	  works properly when ROOT!=/.

2007-06-13 05:40  zmedico

	* [r6825] pym/portage/dbapi/vartree.py: Use cached dblink instances
	  for collision-protect.

2007-06-13 05:16  zmedico

	* [r6823] pym/portage/dbapi/vartree.py: Cache dblink instances for
	  security checks and reference counts during merge/unmerge so that
	  each CONTENTS only has to be parsed once. These can also be
	  reused for collision-protect.

2007-06-12 22:07  zmedico

	* [r6821] pym/portage/dbapi/vartree.py: Reuse previously acquired
	  lstat results.

2007-06-12 21:29  zmedico

	* [r6818] pym/portage/dbapi/vartree.py: Remove some useless
	  dircache code.

2007-06-12 21:08  zmedico

	* [r6816] pym/portage/dbapi/vartree.py: Always return a dict from
	  dblink.getcontents() since callers never expect to get None.

2007-06-12 02:44  zmedico

	* [r6814] pym/portage/dbapi/vartree.py: For bug #181021, during
	  unmerge use all slot matches for reference counts (in case the
	  user has set AUTOCLEAN=no).

2007-06-12 01:41  zmedico

	* [r6812] NEWS: Add a note about preservation of timestamps on
	  merged files.

2007-06-11 21:23  zmedico

	* [r6810] cnf/make.conf: Remove stray newline.

2007-06-11 21:20  zmedico

	* [r6809] man/make.conf.5: Update the PORT_LOGDIR docs for bug
	  #82378. Thanks to Arfrever FTA for reporting.

2007-06-11 21:14  zmedico

	* [r6808] cnf/make.conf: Update the PORT_LOGDIR docs for bug
	  #82378. Thanks to Arfrever FTA for reporting.

2007-06-11 19:55  zmedico

	* [r6807] NEWS: Move news about ** token in package.keywords to the
	  2.1.3 section.

2007-06-11 10:57  zmedico

	* [r6802] NEWS, RELEASE-NOTES: Bump 2.1.3 to 2.2 for some features
	  and add news about USE_EXPAND wildcards.

2007-06-11 08:41  zmedico

	* [r6799] pym/portage/output.py: For consistency with other xterm
	  titles code, redirect $PROMPT_COMMAND output to stderr.

2007-06-11 02:12  zmedico

	* [r6797] pym/portage/dep.py: Remove the "missing left parenthesis"
	  test for now since it gives false positives.

2007-06-11 02:05  zmedico

	* [r6796] bin/repoman, pym/portage/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dep.py: For bug
	  #181355, detect parenthesis mismatch in paren_reduce(), raise an
	  InvalidDependString exception, and make sure that all callers
	  handle the exception properly.

2007-06-10 22:41  zmedico

	* [r6794] pym/portage/dbapi/vartree.py: Fix the suid/sgid check so
	  it only looks at regular files since it can generate false
	  positives otherwise.

2007-06-10 22:15  zmedico

	* [r6793] pym/portage/dbapi/vartree.py: Don't bother to warn about
	  hardlinks to suid/sgid files before unlink since it can give
	  false positives and the existing suid/sgid security check should
	  spot problems before this anyway.

2007-06-10 21:44  zmedico

	* [r6792] pym/portage/dbapi/vartree.py, pym/portage/output.py: For
	  bug #81097, detect and report suspicious hardlinks to suid/sgid
	  files. False positives are prevented by doing reference counts
	  for each inode having suid/sgid bits and multiple hardlinks. The
	  security check is done prior to each merge or unmerge phase and
	  it will cause the phase to abort if a problem is found (so that
	  the user can investigate before any files are removed).

2007-06-10 19:28  zmedico

	* [r6790] pym/portage/dbapi/porttree.py: For bug #181551, support
	  slot deps in package.keywords.

2007-06-10 10:22  zmedico

	* [r6788] bin/repoman: Make repoman work with both + and - flags in
	  IUSE.

2007-06-10 10:12  zmedico

	* [r6786] pym/portage/__init__.py: Preserve order of flags from
	  IUSE in wildcard expansion.

2007-06-09 23:06  zmedico

	* [r6784] bin/ebuild.sh, pym/portage/__init__.py: For bug #148702,
	  use the * token to trigger wildcard expansion of IUSE. This adds
	  flexibility and prevents flags from being enabled unexpectedly.

2007-06-09 13:17  zmedico

	* [r6782] pym/portage/dbapi/vartree.py: When an update is discarded
	  due to confmem, record it's mtime in the contents (it's md5 is
	  already recorded there too).

2007-06-09 11:42  zmedico

	* [r6780] pym/portage/__init__.py: For bug #148702, automatically
	  enable flags from IUSE if they correspond to unset USE_EXPAND
	  variables such as LINGUAS. The variable only has to be set to
	  some value or an empty string in order to disable these flags.

2007-06-09 10:55  zmedico

	* [r6778] pym/portage/dbapi/vartree.py: For bug #181387, fix an
	  UnboundLocalError for the mymtime variable that is triggered by
	  confmem.

2007-06-09 04:45  zmedico

	* [r6775] bin/ebuild.sh: Skip bogus '$ECLASS inherited illegally'
	  messages when installing from a binary package.

2007-06-09 03:48  zmedico

	* [r6772] pym/portage/output.py: Only execute $PROMPT_COMMAND when
	  appropriate.

2007-06-09 00:17  zmedico

	* [r6770] pym/portage/__init__.py, pym/portage/dbapi/vartree.py:
	  For bug #152828, run ${CHOST}-ldconfig when ${CBUILD} !=
	  ${CHOST}.

2007-06-08 23:10  zmedico

	* [r6768] pym/portage/output.py: For bug #139383, in
	  xtermTitleReset() use os.system() instead of commands.getoutput()
	  since the latter puts too much restriction on what
	  $PROMPT_COMMAND may contain.

2007-06-08 21:40  zmedico

	* [r6766] bin/ebuild.sh: For bug #181104, make econf give an
	  appropriate error message when configure is not executable.

2007-06-07 23:38  zmedico

	* [r6751] pym/emerge/__init__.py: Ignore InvalidDependString
	  exceptions from the RESTRICT of "nomerge" nodes.

2007-06-07 18:57  zmedico

	* [r6750] pym/emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dep.py: Make all the python code respect USE
	  conditionals in RESTRICT. It's already handled on the bash side
	  since RESTRICT is assigned the value of PORTAGE_RESTRICT.

2007-06-07 14:47  zmedico

	* [r6749] pym/emerge/__init__.py, pym/portage/versions.py: Make
	  pkgsplit and catpkgsplit return imutable tuples instead of
	  mutable lists so that cached values can be safely returned
	  without cloning them first. Thanks to Brian Harring for the
	  suggestion.

2007-06-07 12:17  zmedico

	* [r6748] pym/portage/process.py: Fix strange _DevNull instance has
	  no attribute 'isatty' warnings that occur when epydoc generates
	  docs.

2007-06-07 12:02  zmedico

	* [r6747] pym/portage/__init__.py, pym/portage/output.py,
	  pym/portage/process.py: When using a pty for logging, use
	  setsid() to create a new session and make 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.

2007-06-06 07:54  zmedico

	* [r6746] pym/portage/versions.py: Return copies of the cached
	  values from pkgsplit and catpkgsplit.

2007-06-06 07:45  zmedico

	* [r6745] pym/portage/dbapi/vartree.py: For bug #181021, don't
	  compare attributes of contents entries when deciding 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.

2007-06-06 05:58  zmedico

	* [r6743] pym/portage/__init__.py: For bug #82378, only set
	  permissions on PORT_LOGDIR if it is created automatically.

2007-06-06 05:25  zmedico

	* [r6742] man/emerge.1, pym/emerge/help.py: For bug #156536, update
	  --resume docs to show that the resume history is capable of
	  storing two merge lists.

2007-06-06 04:09  zmedico

	* [r6741] cnf/make.globals: For bug #153967, use -O
	  ${DISTDIR}/${FILE} in the default FETCHCOMMAND.

2007-06-06 03:37  zmedico

	* [r6740] pym/portage/__init__.py: Comment in portage.movefile()
	  that it's impossible to preserve timestamps of a symlink since
	  utime() only works on the target.

2007-06-06 02:59  zmedico

	* [r6739] pym/portage/dbapi/vartree.py: For bug #181021, preserve
	  timestamps from ${D} during merge. For replacement operations,
	  the unmerge phase checks the contents of the newer instance in
	  order to prevent identical files in the newer instance from being
	  unmerged.

2007-06-06 00:59  zmedico

	* [r6738] pym/portage/__init__.py: Fix typo, split SPACE_SEPARATED
	  variables on whitespace.

2007-06-05 23:34  zmedico

	* [r6737] pym/portage/dbapi/vartree.py: When dblink.treewalk()
	  looks for an installed instance in the same slot, make sure that
	  it selects the one with the highest COUNTER in case there are
	  multiple matches.

2007-06-05 17:55  genone

	* [r6736] pym/portage/__init__.py: Remove duplicate entries from
	  special variables processed by env_update() (bug #172194)

2007-06-05 16:58  genone

	* [r6735] bin/etc-update: Use user-provided $mv_opts for -5 (bug
	  #47442)

2007-06-05 02:28  zmedico

	* [r6733] man/ebuild.5: Add ECONF_SOURCE to the econf docs.

2007-06-05 02:23  zmedico

	* [r6732] man/make.conf.5: Document EXTRA_ECONF, thanks to Arfrever
	  FTA in bug #167057.

2007-06-04 09:29  zmedico

	* [r6730] pym/emerge/__init__.py: Improve support for slot deps
	  atoms given on the command line. Thanks to Flameeyes for
	  reporting.

2007-06-04 03:13  zmedico

	* [r6729] bin/quickpkg: Fix typo.

2007-06-04 01:44  zmedico

	* [r6728] bin/quickpkg, pym/portage/dbapi/vartree.py: For bug
	  #164655, port quickpkg to python and use the tarfile module for
	  proper handling of symlinks to directories. Thanks to Martin Parm
	  <parmus@diku.dk> for the initial port.

2007-06-03 21:48  zmedico

	* [r6727] pym/portage/dbapi/bintree.py: Fix broken usage of lstrip
	  in creating the PROFILE header field.

2007-06-03 07:15  zmedico

	* [r6726] pym/cache, pym/elog_modules: Remove
	  pym/{cache,elog_modules} directory symlinks since they lead to
	  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.

2007-06-02 04:45  zmedico

	* [r6725] man/make.conf.5, pym/portage/dbapi/bintree.py: Use the
	  PORTAGE_BINHOST_HEADER_URI environment variable to define the URI
	  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.

2007-06-02 01:35  antarus

	* [r6724] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/porttree.py,
	  pym/portage/dbapi/vartree.py, pym/portage/dbapi/virtual.py:
	  copyrights.. id? what?

2007-06-01 22:08  zmedico

	* [r6723] pym/portage/dbapi/bintree.py: If PORTAGE_BINHOST is
	  defined then use it as a URI attribute in the Packages index
	  header.

2007-06-01 22:00  zmedico

	* [r6722] pym/portage/dbapi/bintree.py: Include SHA1 digests in the
	  Packages index.

2007-06-01 21:41  zmedico

	* [r6721] pym/portage/dbapi/bintree.py: Add a VERSION attribute to
	  the Packages index header and reject any index with an
	  unsupported version (current supported version is 0).

2007-06-01 20:59  zmedico

	* [r6720] pym/portage/dbapi/bintree.py: Make
	  binarytree.prevent_collision() update the Packages index since it
	  changes the PATH attribute.

2007-06-01 20:35  zmedico

	* [r6718] pym/portage/dbapi/bintree.py: Add an optional PATH
	  attribute to the Packages index in order to indicate the 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).

2007-06-01 19:33  zmedico

	* [r6716] bin/repoman: Fix it so repoman still does QA when
	  $FILESDIR doesn't exist.

2007-06-01 18:30  zmedico

	* [r6711] bin/repoman: Don't complain when $FILESDIR is missing
	  unless manifest1 compatibility is enabled.

2007-06-01 17:33  zmedico

	* [r6709] pym/emerge/__init__.py, pym/portage/dbapi/bintree.py: Add
	  --getbinpkg digest verification.

2007-06-01 15:51  zmedico

	* [r6708] pym/portage/dbapi/porttree.py: Instead of calling
	  sys.exit() when aux_get() fails inside getfetchlist(), convert
	  the KeyError to an InvalidDependString exception since callers
	  already handle it.

2007-06-01 15:44  zmedico

	* [r6707] pym/portage/dbapi/porttree.py: Don't repeatedly invoke
	  the depend phase for ebuilds that are already known to be broken.

2007-06-01 15:03  zmedico

	* [r6706] pym/portage/dbapi/porttree.py: For bug #149397, raise an
	  InvalidDependString exception if a USE has no basename.

2007-06-01 01:50  zmedico

	* [r6705] pym/portage/dbapi/bintree.py: Add some additional
	  variables to the Packages header.

2007-05-31 21:56  zmedico

	* [r6704] pym/portage/dbapi/bintree.py: Fix typo.

2007-05-31 21:28  zmedico

	* [r6699] pym/portage/dbapi/bintree.py: Raise a KeyError from
	  bindbapi.aux_get() when appropriate.

2007-05-31 21:26  zmedico

	* [r6698] pym/portage/__init__.py: Make dep_zapdeps() pull SLOT
	  from the correct dbapi instance when it falls back to the vdb.

2007-05-31 21:07  zmedico

	* [r6697] pym/portage/dbapi/bintree.py: Replace deprecated
	  binarytree.remotepkgs usage with binarytree._remotepkgs since the
	  former is vulnerable to collisions in the tbz2 filename.

2007-05-31 13:18  zmedico

	* [r6695] pym/portage/dbapi/bintree.py: Fix typos.

2007-05-31 12:47  zmedico

	* [r6694] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Add PORTAGE_BINHOST support for fetching a remote Packages index.
	  If the index is not found then it falls back to the old directory
	  listing method.

2007-05-31 08:53  zmedico

	* [r6693] pym/portage/dbapi/bintree.py: Implement
	  bindbapi.cpv_all() since the one from fakedbapi won't populate
	  the tree.

2007-05-31 08:46  zmedico

	* [r6692] pym/portage/dbapi/bintree.py: Don't define
	  bindbapi.move_slot_ent() since the inherited one works fine.
	  Override cp_all() instead of cpv_all() since the latter calls the
	  former.

2007-05-31 08:09  zmedico

	* [r6691] pym/portage/__init__.py: Don't try to perform global
	  updates on binary packages unless $PKGDIR is writable.

2007-05-31 07:41  zmedico

	* [r6690] pym/portage/dbapi/bintree.py: Trigger an update of the
	  Packages index when a package is moved or aux_update() is called.

2007-05-31 07:15  zmedico

	* [r6689] pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/vartree.py: Allow dbapi.aux_update() to prune
	  empty metadata values from storage.

2007-05-31 07:00  zmedico

	* [r6688] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/vartree.py:
	  Create one unified dbapi.move_slot_ent() method to replace the
	  corresponding binarytree and vardbapi methods.

2007-05-31 05:43  zmedico

	* [r6687] bin/fixpackages, pym/emerge/__init__.py,
	  pym/portage/__init__.py: Make automatic "global updates" always
	  use the config instance that's associated with /, since the rest
	  of the code is targeted at /.

2007-05-31 04:49  zmedico

	* [r6686] bin/emaint, pym/portage/__init__.py,
	  pym/portage/dbapi/__init__.py, pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/vartree.py: Create one unified
	  dbapi.update_ents() method and use it for both fixpackages and
	  the emaint move{inst,bin} targets.

2007-05-31 01:36  genone

	* [r6685] pym/emerge/__init__.py: Only check ChangeLog if we're
	  dealing with an ebuild (bug #170604)

2007-05-31 01:26  genone

	* [r6684] bin/ebuild: catch GetoptError

2007-05-31 00:22  genone

	* [r6682] pym/portage/news.py: remove pointless $PORTDIR lock

2007-05-30 23:31  zmedico

	* [r6680] pym/portage/dep.py: Fix an IndexError in get_operator()
	  that occurs when isvalidatom() passes it an empty string.

2007-05-30 23:22  zmedico

	* [r6678] pym/portage/dep.py: For bug #180399, raise an appropriate
	  InvalidDependString exception if there is no flag attached
	  directly to a '?' token.

2007-05-30 22:33  zmedico

	* [r6676] pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/porttree.py, pym/portage/dbapi/vartree.py: Show
	  deprecation warnings if the "clone" parameters are used for the
	  binartree, vartree, or portagetree constructors.

2007-05-30 05:45  zmedico

	* [r6673] pym/portage/dep.py: Return a copy of the cached result
	  from match_from_list().

2007-05-30 02:42  zmedico

	* [r6671] bin/ebuild.sh, pym/emerge/__init__.py,
	  pym/portage/__init__.py: For bug #61732, support -flag in USE
	  (instead of just +flag). Given the current default USE_ORDER,
	  -flag in IUSE has no effect.

2007-05-30 02:23  zmedico

	* [r6669] pym/portage/dep.py: Fix slot handling at the beginning of
	  match_from_list().

2007-05-30 02:05  zmedico

	* [r6667] bin/ecompressdir: For bug #180222, make ecompressdir use
	  -f for the automatic decompression phase.

2007-05-29 21:57  zmedico

	* [r6665] pym/portage/__init__.py: For bug #179870, correctly
	  handle slot deps in the profile's package.* files.

2007-05-29 20:36  zmedico

	* [r6663] pym/portage/dep.py: Fix get_operator() and
	  best_match_to_list() so that slot deps mesh properly with
	  operators.

2007-05-29 12:41  zmedico

	* [r6661] pym/portage/dep.py: Fix dep_getcpv() so that it always
	  properly removes the slot regardless of which operator is
	  present.

2007-05-29 12:10  zmedico

	* [r6659] pym/portage/dep.py: Don't pass slotted packages into
	  pkgsplit since it doesn't handle them.

2007-05-29 11:26  zmedico

	* [r6657] pym/portage/__init__.py, pym/portage/dep.py: For bug
	  #179870, add support for cpv:slot in match_from_list() and use it
	  to make config.setcpv() distinguish slot atoms in package.use.

2007-05-28 23:41  zmedico

	* [r6656] pym/portage/dbapi/bintree.py: Fix binarytree.gettbz2() so
	  that it works without $PKGDIR/All/ and inserts the downloaded
	  package into the local index.

2007-05-28 22:16  zmedico

	* [r6655] pym/portage/dbapi/bintree.py: Include IUSE in the Package
	  index so that it can be used for --newuse calculations.

2007-05-28 21:31  zmedico

	* [r6654] pym/portage/output.py: Cap the progress bar columns at 80
	  since it looks ridiculous when it gets too wide.

2007-05-28 09:34  zmedico

	* [r6653] bin/emaint: Fix emaint world $ROOT handling.

2007-05-28 09:31  zmedico

	* [r6652] bin/emaint, pym/portage/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/vartree.py: Add
	  new emaint targets called "moveinst" and "movebin" for applying
	  package moves from $PORTDIR/profiles/updates/ on installed
	  packages and binary packages.

2007-05-28 07:28  zmedico

	* [r6650] man/make.conf.5, pym/emerge/__init__.py: For bug #180009,
	  add a PORTAGE_RSYNC_INITIAL_TIMEOUT config variable. The default
	  is 15 seconds and it can be disabled by setting it to 0.

2007-05-28 07:11  zmedico

	* [r6648] pym/emerge/__init__.py: For bug #180079, fix a KeyError
	  so that a search for the empty string will go ahead and match all
	  packages.

2007-05-27 22:00  zmedico

	* [r6647] pym/portage/output.py: Fix typo.

2007-05-27 14:48  zmedico

	* [r6644] bin/emaint, pym/portage/dbapi/bintree.py: Make emaint
	  prune stale entires from $PKGDIR/Packages.

2007-05-27 13:59  zmedico

	* [r6643] bin/emaint: Add an emaint "binhost" target which does the
	  time consuming population of $PKGDIR/Packages that is necessary
	  for a binhost (MD5 makes it relatively slow). It reuses metadata
	  from the existing Packages file whenever possible.

2007-05-27 13:06  zmedico

	* [r6642] bin/emaint: Fix a typo.

2007-05-27 12:48  zmedico

	* [r6641] bin/emaint: Fix an UnboundLocalError when there's no tty.

2007-05-27 12:39  zmedico

	* [r6640] bin/emaint: Add SIGWINCH support so that the progress bar
	  is resized if the xterm is resized.

2007-05-27 12:12  zmedico

	* [r6639] bin/emaint, pym/portage/output.py: Add progress support
	  to emaint (similar to wget's progress bar).

2007-05-27 06:17  zmedico

	* [r6638] pym/portage/output.py: Add a get_term_size() function
	  that uses the curses module if available and otherwise falls back
	  to parsing the output of `stty size`.

2007-05-27 02:10  zmedico

	* [r6637] bin/emaint: In the WorldHandler class, add support for an
	  onProgress callback that can be 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.

2007-05-26 21:17  zmedico

	* [r6635] pym/portage/__init__.py: Fix logic for USE_EXPAND
	  variables that are incremental (there are none currently).

2007-05-26 02:41  zmedico

	* [r6634] pym/portage/dbapi/bintree.py: Fix broken dict.get logic.

2007-05-26 02:13  zmedico

	* [r6633] pym/portage/dbapi/bintree.py: Create the Packages index
	  whether or not $PKGDIR/All/ exists so that improved
	  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.

2007-05-26 01:26  zmedico

	* [r6631] bin/repoman: xmlint can produce garbage output even on
	  success, so only dump the ouput when it fails. See bug #179008.

2007-05-26 00:41  zmedico

	* [r6630] bin/ebuild.sh: In the econf die message, don't mention
	  bugs.gentoo.org specifically.

2007-05-26 00:36  zmedico

	* [r6629] bin/ebuild.sh: s/filing a report to/seeking support at/
	  Thanks to marienz.

2007-05-25 22:13  zmedico

	* [r6627] pym/portage/__init__.py: Store flags as a set inside the
	  USE incremental loop.

2007-05-25 20:22  zmedico

	* [r6625] pym/portage/__init__.py: Call tcgetattr and tcsetattr on
	  the slave end of the pty in order to avoid an "invalid argument"
	  error on Solaris. Thanks to grobian.

2007-05-25 19:14  zmedico

	* [r6623] pym/portage/__init__.py: For bug #179766, expand
	  USE_EXPAND variables inside the USE incremental loop so that
	  USE"-*" will not always destroy them.

2007-05-25 07:06  zmedico

	* [r6620] pym/portage/__init__.py, pym/portage/dbapi/porttree.py:
	  To ease the namespace transition, automatically translate cache.*
	  to portage.cache.* if an ImportError occurs.

2007-05-25 00:22  zmedico

	* [r6618] bin/repoman: Skip fetching of metadata.dtd when mymode ==
	  "manifest".

2007-05-24 22:11  zmedico

	* [r6617] pym/portage/dbapi/porttree.py: Don't treat KEYWORDS="-*"
	  like KEYWORDS="*", because it's never been that way and the *
	  behavior was already annoying enough.

2007-05-24 20:55  zmedico

	* [r6615] bin/dispatch-conf: Fix the ignore-previously-merged
	  option so that it compares the original files, since mrgconf can
	  be identical to conf['current'] even when conf['new'] is
	  different from the archived .dist version (due to diff3 merging).

2007-05-24 05:49  zmedico

	* [r6613] pym/portage/getbinpkg.py: Make PackageIndex.write() omit
	  USE when appropriate.

2007-05-24 05:17  zmedico

	* [r6612] pym/portage/dep.py: Remember to call the superclass
	  constructor.

2007-05-24 03:54  zmedico

	* [r6611] pym/portage/getbinpkg.py: Make PackageIndex.write()
	  alphabetize the metadata keys.

2007-05-24 03:36  zmedico

	* [r6610] pym/portage/dep.py: Fix paren_normalize logic.

2007-05-24 03:09  zmedico

	* [r6609] pym/portage/dbapi/bintree.py, pym/portage/dep.py: Add
	  more relevant package metadata to the Packages index, including
	  dependencies with USE conditionals collapsed.

2007-05-23 10:43  zmedico

	* [r6592] bin/dispatch-conf, cnf/dispatch-conf.conf: Add a
	  'ignore-previously-merged' config option which gives similar
	  behavior to the --noconfmem emerge option.

2007-05-23 04:47  zmedico

	* [r6591] bin/misc-functions.sh, pym/emerge/__init__.py,
	  pym/portage/dbapi/bintree.py: Pass a temporary file name to the
	  package phase in the environment variable 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.

2007-05-23 00:55  zmedico

	* [r6590] pym/portage/dbapi/bintree.py: Save memory by not holding
	  a reference to the PackageIndex when it's not being used.

2007-05-23 00:50  zmedico

	* [r6589] pym/portage/dbapi/bintree.py: Lock the Packages index
	  while it's being updated with a packages that was just built.

2007-05-23 00:37  zmedico

	* [r6588] pym/portage/dbapi/bintree.py: Store the path of
	  $PKGDIR/Packages as binarytree._pkgindex_file.

2007-05-23 00:28  zmedico

	* [r6587] pym/portage/dbapi/bintree.py: Lock $PKGDIR/Packages
	  during population so that it won't get out of sync if another
	  process updates it.

2007-05-23 00:05  zmedico

	* [r6586] pym/emerge/__init__.py, pym/portage/dbapi/bintree.py:
	  Update /Packages as each package is built (MD5 is done here since
	  it won't hurt performance).

2007-05-22 22:45  zmedico

	* [r6585] pym/portage/dbapi/bintree.py: Discard metadata from the
	  Packages file if there's no MTIME attribute.

2007-05-22 22:38  zmedico

	* [r6584] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Split reading/writing of $PKGDIR/Packages into a PackageIndex
	  class.

2007-05-22 20:46  zmedico

	* [r6583] pym/portage/dbapi/bintree.py: Fix missing red import.

2007-05-22 20:42  zmedico

	* [r6582] pym/portage/dbapi/porttree.py: Punt the
	  portdbapi.getsize() function since it's unused and broken (mysum
	  referenced before assignment).

2007-05-22 20:37  zmedico

	* [r6581] pym/portage/dbapi/vartree.py: More namespace fixes.

2007-05-22 20:27  zmedico

	* [r6580] pym/portage/dbapi/vartree.py: Fix namespace for S_ISUID
	  and S_ISGID.

2007-05-22 18:19  solar

	* [r6579] pym/portage/dbapi/vartree.py: - cleaner version of the
	  hardlink basic suid protection. actually check that the file is
	  setXid

2007-05-22 12:26  zmedico

	* [r6571] pym/portage/dbapi/bintree.py: Handle a KeyError if an
	  MTIME is missing from the Packages index.

2007-05-22 11:22  zmedico

	* [r6570] pym/portage/dbapi/bintree.py: Fix size comparison logic.

2007-05-22 11:16  zmedico

	* [r6569] pym/portage/dbapi/bintree.py, pym/portage/getbinpkg.py:
	  Cache xpak metadata in ${PKGDIR}/Packages in order to minimize
	  disk load when 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).

2007-05-22 06:27  zmedico

	* [r6568] bin/misc-functions.sh, pym/portage/__init__.py,
	  pym/portage/dbapi/bintree.py: When ${PKGDIR}/All/ doesn't exist,
	  put packages in ${PKGDIR}/${CATEGORY}/ 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.

2007-05-22 05:38  zmedico

	* [r6567] bin/ebuild.sh: Fix src_compile() ECONF_SOURCE logic to
	  make sure it behaves properly.

2007-05-22 05:26  zmedico

	* [r6566] pym/portage/__init__.py: Use bash to spawn FETCHCOMMAND
	  under selinux since most other binaries are forbidden as
	  entrypoints into the fetch domain. Thanks to Justin Heesemann
	  <jh@ionium.org> for reporting.

2007-05-22 05:15  zmedico

	* [r6565] bin/ebuild.sh: For bug #179380, make support for
	  ECONF_SOURCE in the default src_compile() conditional on EAPI !=
	  0.

2007-05-21 19:55  zmedico

	* [r6564] pym/portage/dbapi/vartree.py: Add a missing newline to
	  the writemsg output.

2007-05-21 19:27  solar

	* [r6563] pym/portage/dbapi/vartree.py: - blind chmod 0 before
	  unlinking files to avoid anybody doing sneaky stuff via hardlinks

2007-05-20 22:53  zmedico

	* [r6562] bin/repoman: For bug #179008, just use metadata.dtd
	  directly from $DISTDIR.

2007-05-20 21:28  zmedico

	* [r6561] pym/portage/__init__.py: In fetch(), don't try to parse
	  digests unless the "O" variable is defined.

2007-05-20 19:59  zmedico

	* [r6560] pym/portage/update.py: For bug #179206, improve
	  efficiency by using a containment test instead of str.count
	  inside update_dbentry. Thanks to Jason Lai <jason.lai@gmail.com>.

2007-05-19 22:57  zmedico

	* [r6559] bin/repoman: Use device number and i-node number (like
	  os.path.samefile does) to check if the current directory is
	  inside a given overlay. This solves issues with path comparison
	  and symlinks.

2007-05-19 18:20  zmedico

	* [r6558] bin/ebuild.sh: For bug #178378, make the default
	  src_compile() check for configure in ${ECONF_SOURCE:-.} (instead
	  of just .) before it calls econf. Thanks to James C. Georgas
	  <jgeorgas@rogers.com>.

2007-05-19 08:25  zmedico

	* [r6557] pym/emerge/__init__.py: Add edges to shown_edges at the
	  first oportunity.

2007-05-19 08:16  zmedico

	* [r6556] pym/emerge/__init__.py: In --tree output, keep track of
	  which graph edges have already been displayed and try not to
	  display a given edge more than once.

2007-05-19 07:56  zmedico

	* [r6555] pym/portage/news.py: Avoid permission errors when trying
	  to lock repo_path. Note that the lock file should be mapped into
	  /var somewhere.

2007-05-19 04:36  zmedico

	* [r6554] bin/repoman: For bug #176539, add a "manifest" target to
	  repoman so that there's a simple way to just generate a Manifest.

2007-05-19 04:09  vapier

	* [r6553] bin/ebuild.sh: fix from James C. Georgas to not modify
	  EXTRA_EINSTALL #178544

2007-05-18 22:37  zmedico

	* [r6552] pym/portage/dbapi/vartree.py: Fall back to pickle if
	  cPickle is unavailable. Thanks to Michael Haubenwallner
	  <michael.haubenwallner@salomon.at> for reporting.

2007-05-18 22:17  zmedico

	* [r6551] pym/emerge/__init__.py: Only show extra whitespace where
	  there are some news items to display.

2007-05-18 17:48  zmedico

	* [r6550] pym/portage/__init__.py: Catch a potential OSError if the
	  child process has already died.

2007-05-18 17:41  genone

	* [r6549] NEWS: Update for glep42, preserve-libs and elog

2007-05-18 17:16  genone

	* [r6548] pym/portage/elog/__init__.py,
	  pym/portage/elog/filtering.py, pym/portage/elog/messages.py,
	  pym/portage/elog/mod_custom.py, pym/portage/elog/mod_echo.py,
	  pym/portage/elog/mod_mail.py,
	  pym/portage/elog/mod_mail_summary.py,
	  pym/portage/elog/mod_save.py,
	  pym/portage/elog/mod_save_summary.py,
	  pym/portage/elog/mod_syslog.py: Enable elog functionality for the
	  python side of portage

2007-05-18 14:58  genone

	* [r6547] pym/emerge/__init__.py: Display notification about unread
	  news in all situations specified by glep 42

2007-05-18 13:00  genone

	* [r6546] pym/portage/news.py: - store newsid in unread file, not
	  the path to the news item - use octal numbers to specify file
	  permissions - use descriptive exceptions when (not) creating
	  NewsItem objects - code style cleanups

2007-05-18 12:58  genone

	* [r6545] pym/emerge/__init__.py, pym/portage/dbapi/vartree.py: Add
	  registration support for preserved library objects, move the
	  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()

2007-05-18 06:52  robbat2

	* [r6544] DEVELOPING: Check to see if I have svn.g.o fixed, no
	  actual file changes, pass #2

2007-05-18 06:52  robbat2

	* [r6543] DEVELOPING: Check to see if I have svn.g.o fixed, no
	  actual file changes.

2007-05-17 09:28  zmedico

	* [r6542] pym/portage/__init__.py: wrap lines

2007-05-17 09:13  zmedico

	* [r6541] pym/portage/__init__.py: For bug #162404, use a
	  pseudo-terminal device pair (instead of a normal pipe) for moving
	  ouput out of the sesandbox domain.

2007-05-16 17:05  zmedico

	* [r6540] pym/portage/__init__.py: Don't protect USE_EXPAND
	  variables from -* anymore because the really critical ones should
	  all be in use.force now (typically kernel_linux, elibc_glibc, and
	  userland_GNU).

2007-05-14 11:35  zmedico

	* [r6537] pym/emerge/__init__.py: fix syntax (merged from
	  branches/prefix r6534)

2007-05-13 21:33  zmedico

	* [r6535] pym/portage/manifest.py: For bug #178293, don't write
	  digest-* files unnecessarily when SRC_URI is empty.

2007-05-13 17:36  antarus

	* [r6530] pym/emerge/__init__.py: the profile check is spammy and
	  should be squelched when --quiet is given

2007-05-13 08:29  zmedico

	* [r6529] bin/ebuild: remove old import

2007-05-13 08:25  zmedico

	* [r6528] bin/dispatch-conf: import dispatch_conf from the new
	  namespace

2007-05-13 08:19  zmedico

	* [r6527] bin/dispatch-conf: tabs -> spaces

2007-05-13 07:19  zmedico

	* [r6525] pym/portage/tests/util/test_varExpand.py: Fix the
	  varexpand quotes tests since quotes are no longer removed by this
	  function.

2007-05-12 23:14  zmedico

	* [r6524] pym/emerge/__init__.py: Add TODO note about support for
	  blocks within slots. Thanks to Brian Harring for reporting.

2007-05-12 19:15  zmedico

	* [r6523] cnf/make.conf, man/make.conf.5:
	  s:${PORTDIR}:/usr/portage: so that it's not implied that those
	  variables are automatically relative to ${PORTDIR} when the value
	  of ${PORTDIR} has changed to something other than /usr/portage.
	  Thanks to kerframil for reporting.

2007-05-10 18:29  zmedico

	* [r6519] man/make.conf.5: For bug #177763, clarify about how
	  FEATURES=keepwork allows ${WORKDDIR} to be reused.

2007-05-10 18:14  zmedico

	* [r6517] bin/ebuild: Make sure FEATURES=test and USE=test are
	  consistently enabled for all requested phases when the test phase
	  is forced via the ebuild command.

2007-05-10 05:33  zmedico

	* [r6513] bin/ebuild.sh: Make sure USE=test is properly enabled
	  when the test phase is forced via the ebuild command, even when
	  USE from ${T}/environment doen't have it.

2007-05-09 23:14  zmedico

	* [r6512] man/make.conf.5: fix typo from previous commit

2007-05-09 23:11  zmedico

	* [r6511] man/make.conf.5: For bug #177763, document that
	  FEATURES=keepwork can interfere with normal emerge operation.

2007-05-09 22:49  zmedico

	* [r6508] bin/ebuild, pym/portage/__init__.py: Make sure USE=test
	  is properly enabled when the test phase is forced via the ebuild
	  command. Thanks to Caster for reporting.

2007-05-09 03:42  antarus

	* [r6506] pym/portage/env/loaders.py: fix spacing in loaders

2007-05-08 20:29  zmedico

	* [r6505] pym/portage/util.py: For bug #177591, increase shell
	  compatibility by preserving quotes in varexpand() since quote
	  removal is handled by shlex.

2007-05-08 18:14  zmedico

	* [r6504] man/emerge.1: For bug #177601, add a reference the
	  --verbose option documentation in the OUTPUT section.

2007-05-08 15:42  antarus

	* [r6503] pym/portage/__init__.py: antarus fears it, and fears it
	  often

2007-05-08 05:13  antarus

	* [r6500] pym/portage/__init__.py: imports are one module per line,
	  remove type module in favor of the new hotness, isinstance.

2007-05-08 05:07  antarus

	* [r6499] pym/portage/__init__.py: Honestly if they are missing
	  sys, that error message probably won't help any more than the
	  other one (zomg broken)

2007-05-08 05:02  antarus

	* [r6498] pym/portage/env/config.py, pym/portage/env/loaders.py:
	  validators++

2007-05-07 02:29  zmedico

	* [r6494] pym/emerge/__init__.py: Prevent blockers that are only
	  partially resolvable by merge order from accidentally being
	  ignored.

2007-05-06 20:13  zmedico

	* [r6492] pym/emerge/__init__.py: Use shlex for better splitting of
	  PORTAGE_RSYNC_OPTS and PORTAGE_RSYNC_EXTRA_OPTS.

2007-05-06 19:37  zmedico

	* [r6490] pym/portage/__init__.py: Use shlex for better splitting
	  of FETCHCOMMAND.

2007-05-06 07:56  zmedico

	* [r6487] pym/portage/__init__.py: Use varexpand to expand
	  FETCHCOMMAND and RESUMECOMMAND.

2007-05-05 23:51  zmedico

	* [r6485] pym/portage/versions.py: For bug #171259, fix vercmp so
	  that implicit _p0 is less than explicit _p0. Thanks to TGL
	  <degrenier@easyconnect.fr> for the patch.

2007-05-05 23:40  zmedico

	* [r6484] pym/portage/env/loaders.py: Add missing base class.

2007-05-05 19:56  zmedico

	* [r6482] pym/emerge/__init__.py: Use match_from_list in order to
	  potentially avoid more blocks.

2007-05-05 18:10  zmedico

	* [r6480] bin/ebuild.sh: For bug #177211, use chmod -R on the
	  children of the current directory in order to reduce the size of
	  the argument list.

2007-05-05 17:40  zmedico

	* [r6478] pym/portage/__init__.py: For bug #175058, comment #15,
	  expand all possible variables in each argument.

2007-05-03 09:18  zmedico

	* [r6473] pym/emerge/__init__.py: For bug #176765, when a new
	  package is blocked by another one that is being replaced, handle
	  another case where the conflict can be avoided.

2007-05-02 22:52  zmedico

	* [r6472] NEWS: Remove news about profile masking which has been
	  reverted pending resolution of bug #170697. Thanks to Arfrever
	  Frehtes Taifersar Arahesis in #149508.

2007-05-02 19:58  vapier

	* [r6471] man/ebuild.1: document the behavior of `ebuild` wrt
	  FEATURES=noauto #175444

2007-05-02 17:29  zmedico

	* [r6469] bin/ecompressdir: s/dir/actual_dir/ (branches/prefix
	  r6463:6464

2007-05-02 17:23  zmedico

	* [r6467] bin/isolated-functions.sh, pym/portage/output.py: Fix
	  eend so that it works properly on a standard BSD console. Thanks
	  to UberLord.

2007-04-30 15:12  zmedico

	* [r6461] pym/emerge/__init__.py: Handle KeyError when the ebuild
	  is corrupt.

2007-04-30 03:16  genone

	* [r6459] NEWS, RELEASE-NOTES, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Fix -* handling in gvisible to
	  match incremental semantics

2007-04-30 02:31  genone

	* [r6458] cnf/make.conf, cnf/make.globals,
	  pym/portage/elog/__init__.py, pym/portage/elog/mod_custom.py,
	  pym/portage/elog/mod_echo.py, pym/portage/elog/mod_mail.py,
	  pym/portage/elog/mod_mail_summary.py,
	  pym/portage/elog/mod_save.py,
	  pym/portage/elog/mod_save_summary.py,
	  pym/portage/elog/mod_syslog.py: - add new echo module for people
	  who don't want any real logging - add copyright header in elog
	  modules and enable keyword substitution - enable save_summary and
	  echo modules in make.globals

2007-04-29 06:33  zmedico

	* [r6456] cnf/make.globals, pym/portage/__init__.py: For bug
	  #175058, avoid potential quoting issues by spawning FETCHCOMMAND
	  without a shell.

2007-04-28 19:14  zmedico

	* [r6454] pym/emerge/__init__.py: For bug #176384, adjust config
	  according to options of the command being resumed.

2007-04-28 17:37  zmedico

	* [r6452] cnf/make.globals: For bug #175058, properly quote the
	  variables in FETCHCOMMAND and RESUMECOMMAND since the command is
	  spawned in a bash shell.

2007-04-28 01:57  zmedico

	* [r6446] pym/emerge/__init__.py: Fix up missing mymergelist
	  variable from the previous commit.

2007-04-28 01:46  zmedico

	* [r6444] pym/emerge/__init__.py: For bug #176305, validate the
	  resume merge list before attempting to verify the ebuild
	  manifests.

2007-04-26 21:23  zmedico

	* [r6442] man/make.conf.5: In the installsources docs, note that
	  CFLAGS needs to be set to include debug information. Thanks to
	  tigger^ for reporting.

2007-04-26 20:43  zmedico

	* [r6440] pym/portage/__init__.py: Always ensure permissions in
	  DISTCC_DIR in order to try to prevent potential permission
	  problems for non-root users who are in the portage group
	  (userpriv, etc.).

2007-04-26 19:43  zmedico

	* [r6438] pym/portage/__init__.py: For bug #176139, only symlink
	  the distfiles that are required according the current USE
	  settings.

2007-04-24 07:31  antarus

	* [r6435] bin/repoman: fix typo

2007-04-24 06:55  zmedico

	* [r6432] pym/portage/__init__.py: For bug #175781, add a higher
	  preference priority for choices where all matching slots are
	  installed (not just any slot).

2007-04-24 06:04  antarus

	* [r6431] bin/repoman: Pretty up the repoman imports, use cPickle
	  over pickle for performance

2007-04-21 10:49  zmedico

	* [r6429] bin/ecompressdir: Use portable sh syntax rather than bash
	  syntax. Thanks to drizzt.

2007-04-20 22:53  zmedico

	* [r6427] pym/portage/__init__.py: Also validate RESTRICT inside
	  doebuild().

2007-04-20 22:25  zmedico

	* [r6425] pym/portage/__init__.py: Also validate SRC_URI inside
	  doebuild().

2007-04-20 22:18  zmedico

	* [r6423] pym/portage/__init__.py: For bug #175344, validate
	  LICENSE and PROVIDE inside doebuild().

2007-04-20 21:52  zmedico

	* [r6421] bin/repoman: For bug #175344, handle a potential
	  InvalidDependString exception when parsing PROVIDE.

2007-04-20 21:31  zmedico

	* [r6419] pym/emerge/__init__.py: For bug #175344, handle a
	  potential InvalidDependString exception when parsing PROVIDE.

2007-04-20 18:42  zmedico

	* [r6417] pym/emerge/__init__.py: For bug #175344, use cp_list
	  instead of xmatch in order to avoid dep_expand calls.

2007-04-17 23:07  vapier

	* [r6416] bin/prepstrip: strip .comment by default, add a comment
	  as to what we need before we can do .note, and add safe stripping
	  of relocatable objects

2007-04-15 09:32  vapier

	* [r6411] bin/ebuild.sh, bin/emerge-webrsync, bin/etc-update,
	  bin/misc-functions.sh, bin/prepall, bin/prepstrip, bin/sed:
	  convert `type -p` to `type -P` as noted by grobian

2007-04-14 16:35  vapier

	* [r6403] bin/prepall: do stripping after compression dequeueing

2007-04-14 16:35  vapier

	* [r6402] bin/prepinfo, bin/prepman: queue compression

2007-04-14 11:40  vapier

	* [r6401] bin/doins: revise tests so that `insinto /` does not
	  trigger an error

2007-04-14 05:27  zmedico

	* [r6396] bin/dohard: Prefix the hardlink source with ${D} like we
	  always have.

2007-04-14 02:04  vapier

	* [r6395] man/ebuild.5: document new version suffix style #166522

2007-04-14 01:59  vapier

	* [r6394] bin/dohard: create leading directories to match behavior
	  of other do* programs

2007-04-13 19:19  vapier

	* [r6392] bin/misc-functions.sh: simplify unsafe file checking so
	  files/paths with spaces dont cause troubles

2007-04-13 05:43  zmedico

	* [r6388] bin/ecompressdir: Use relative paths inside ecompressdir
	  in order to avoid 'Argument list too long' errors with large file
	  sets (observed when installing sys-apps/man-pages).

2007-04-13 05:10  zmedico

	* [r6386] pym/portage/__init__.py: Add CATEGORY to blacklisted
	  variables since it can interfere with CATEGORY guessing inside
	  doebuild.

2007-04-13 04:14  zmedico

	* [r6384] pym/portage/__init__.py: Use catpkgsplit instead of
	  pkgsplit for consistency with usage elsewhere.

2007-04-13 04:13  zmedico

	* [r6383] pym/portage/dbapi/porttree.py: Use a config instance
	  that's not locked/immutable.

2007-04-12 13:10  vapier

	* [r6379] man/ebuild.5: cleanup example ebuild to be more
	  representative of a "good" ebuild #174260 by Timothy Redaelli

2007-04-12 04:14  zmedico

	* [r6371] bin/prepman: For bug #173808, add back the old heuristics
	  to make sure that we don't just blindly compress the contents of
	  any directory named "man".

2007-04-10 08:40  zmedico

	* [r6362] bin/prepman: For bug #173808, compress ${mandir} all in
	  one go instead of doing subdirectories separately. This allows
	  symlinks that point into sibling directories to get updated
	  properly be ecompressdir.

2007-04-10 06:03  zmedico

	* [r6360] pym/portage/dbapi/vartree.py: Efficiently recycle partial
	  valid vdb cache when possible. This reduces disk load when
	  switching between versions of portage that cache different keys.

2007-04-09 17:18  zmedico

	* [r6358] pym/portage/__init__.py: Don't load FEATURES in
	  load_infodir() because FEATURES from the build host shouldn't be
	  interpreted asFEATURES on the client system. Thanks to Thanks to
	  Chri

2007-04-09 09:08  zmedico

	* [r6357] man/make.conf.5: Update the FEATURES=strict docs for
	  better clarity. Thanks to taviso for reporting.

2007-04-09 02:45  zmedico

	* [r6356] pym/portage/dbapi/vartree.py: Cache NEEDED in order to
	  optimize update_library_map() calls.

2007-04-08 19:36  zmedico

	* [r6354] pym/portage/__init__.py: Only apply permissions to
	  ccache, confcache, and distcc dirs when they are created in order
	  to avoid interference with whatever the user's preferred
	  permissions are. Thanks to Diego Pettenò <flameeyes@gmail.com>
	  for reporting.

2007-04-07 08:32  vapier

	* [r6351] bin/dobin, bin/doexe, bin/doinitd, bin/ebuild.sh: change
	  "EXEDESTTREE" to "_E_EXEDESTTREE_" to try and prevent abuse from
	  ebuild writers

2007-04-07 04:54  vapier

	* [r6350] man/ebuild.5: remove references to EXEDESTTREE

2007-04-07 04:49  vapier

	* [r6349] man/portage.5: document /var/cache/edb/, /var/db/pkg/,
	  and /var/lib/portage/config

2007-04-07 04:35  vapier

	* [r6348] man/emerge.1: tell people that the FILES section is not
	  supposed to be complete (and sneak in a few style fixups)

2007-04-07 04:32  vapier

	* [r6347] bin/dodoc, bin/dohtml, bin/ebuild.sh: change
	  "DOCDESTTREE" to "_E_DOCDESTTREE_" to try and prevent abuse from
	  ebuild writers

2007-04-07 04:29  vapier

	* [r6346] man/ebuild.5: remove references to DOCDESTTREE and
	  INSDESTTREE

2007-04-05 22:27  zmedico

	* [r6344] pym/portage/data.py: Provide a default value to the
	  getattr call.

2007-04-05 21:34  zmedico

	* [r6343] pym/portage/data.py: Make sure XARGS has a default value.

2007-04-05 21:29  zmedico

	* [r6342] pym/portage/data.py: Don't force OS detection in the
	  portage.data module.

2007-04-05 21:20  zmedico

	* [r6341] bin/etc-update, pym/emerge/__init__.py,
	  pym/portage/__init__.py, pym/portage/data.py: Don't set
	  os.environ["USERLAND"] inside portage.data and rely on USERLAND
	  from the profile instead (bail out if necessary when USERLAND is
	  unset).

2007-04-05 20:46  zmedico

	* [r6339] pym/emerge/__init__.py: Punt the sorted_versions()
	  function in favor of list.sort(vercmp).

2007-04-02 19:43  zmedico

	* [r6332] pym/portage/checksum.py: For bug #173184, handle the
	  CommandNotFound that is produced during uninstallation of
	  prelink.

2007-04-01 04:32  antarus

	* [r6330] pym/portage/env/loaders.py: I consulted the python oracle
	  and it told me enumerate was better, so go team enumerate

2007-03-31 20:13  antarus

	* [r6329] pym/portage/env/config.py, pym/portage/env/loaders.py:
	  drop line_count in favor of izip and count(), itertools FOR THE
	  WIN baby.

2007-03-31 19:42  antarus

	* [r6328] pym/portage/env/config.py, pym/portage/env/loaders.py:
	  After talking to marienz, decide that 1 class is better than 4,
	  also realize 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.

2007-03-31 11:01  zmedico

	* [r6325] pym/portage/__init__.py: Fix missing import.

2007-03-30 22:57  vapier

	* [r6324] man/ebuild.5: make PDEPEND wording less restrictive
	  #172511 and clarify install status wrt ||() as noted by ferringb

2007-03-28 22:40  zmedico

	* [r6321] pym/emerge/__init__.py: For bug #172571, use
	  socket.AF_INET as the default family for socket.getaddrinfo().

2007-03-28 20:01  zmedico

	* [r6318] pym/portage/env/loaders.py: spaces -> tabs

2007-03-28 19:59  zmedico

	* [r6317] pym/portage/env/loaders.py: spaces -> tabs

2007-03-28 18:58  zmedico

	* [r6309] bin/ecompressdir: For bug #172539, fix ecompressdir
	  suffix handling so that automatic decompression of Z, gz, and bz2
	  suffixes works properly.

2007-03-28 17:14  zmedico

	* [r6307] pym/emerge/__init__.py: Correctly pull the metadata again
	  when the node is converted.

2007-03-28 16:53  zmedico

	* [r6305] pym/emerge/__init__.py: Convert "ebuild" and "binary"
	  "nomerge" nodes into "installed" nodes for greater consistency in
	  the depgraph.

2007-03-28 08:58  zmedico

	* [r6303] man/make.conf.5: Synchronize PORTAGE_COMPRESS_FLAGS to
	  reflect that -9 is the default now.

2007-03-27 22:49  zmedico

	* [r6301] bin/ebuild.sh: Properly anchor sed regexp for readlonly
	  attribut filtering.

2007-03-27 22:32  zmedico

	* [r6299] bin/ebuild.sh: Filter the readonly attribute from
	  variables saved in ${T}/environment to prevent 'readonly
	  variable' error messages in later phases.

2007-03-27 22:22  zmedico

	* [r6297] bin/ebuild.sh: source ${T}/environment before the
	  definition of qa_source() and qa_call() so that the call stack
	  shows the original files and line numbers instead of those from
	  ${T}/environment. Thanks to Markus Ullmann <jokey@gentoo.org> for
	  reporting.

2007-03-26 20:09  zmedico

	* [r6292] pym/portage/dbapi/porttree.py: Continue to support
	  profile masking at least until bug #170697 is settled.

2007-03-26 07:23  antarus

	* [r6291] pym/portage/tests/__init__.py,
	  pym/portage/tests/bin/__init__.py,
	  pym/portage/tests/bin/setup_env.py,
	  pym/portage/tests/bin/test_dobin.py,
	  pym/portage/tests/bin/test_dodir.py,
	  pym/portage/tests/dep/__init__.py,
	  pym/portage/tests/dep/test_dep_getcpv.py,
	  pym/portage/tests/dep/test_dep_getslot.py,
	  pym/portage/tests/dep/test_dep_getusedeps.py,
	  pym/portage/tests/dep/test_get_operator.py,
	  pym/portage/tests/dep/test_isjustname.py,
	  pym/portage/tests/dep/test_isvalidatom.py,
	  pym/portage/tests/dep/test_match_from_list.py,
	  pym/portage/tests/env/__init__.py,
	  pym/portage/tests/env/config/__init__.py,
	  pym/portage/tests/env/config/test_PackageKeywordsFile.py,
	  pym/portage/tests/env/config/test_PackageMaskFile.py,
	  pym/portage/tests/env/config/test_PackageUseFile.py,
	  pym/portage/tests/env/config/test_PortageModulesFile.py,
	  pym/portage/tests/news/__init__.py,
	  pym/portage/tests/news/test_NewsItem.py,
	  pym/portage/tests/util/__init__.py,
	  pym/portage/tests/util/test_grabdict.py,
	  pym/portage/tests/util/test_normalizedPath.py,
	  pym/portage/tests/util/test_stackDictList.py,
	  pym/portage/tests/util/test_stackDicts.py,
	  pym/portage/tests/util/test_stackLists.py,
	  pym/portage/tests/util/test_uniqueArray.py,
	  pym/portage/tests/util/test_varExpand.py,
	  pym/portage/tests/versions/__init__.py,
	  pym/portage/tests/versions/test_vercmp.py,
	  pym/portage/tests/xpak/__init__.py,
	  pym/portage/tests/xpak/test_decodeint.py: minor name changes for
	  bin tests, svn propset keywords Id stuff

2007-03-26 05:28  antarus

	* [r6290] pym/portage/env/config.py: fix broken PortageModule
	  classes

2007-03-26 05:28  antarus

	* [r6289] pym/portage/tests/env/config/test_PortageModulesFile.py:
	  fix tests for PortageModulesFile

2007-03-26 05:25  antarus

	* [r6288] pym/portage/env/config.py: clean up some init functions,
	  add PortageModules class

2007-03-26 04:29  antarus

	* [r6287] pym/portage/tests/env/config/test_PackageKeywordsFile.py,
	  pym/portage/tests/env/config/test_PackageUseFile.py,
	  pym/portage/tests/env/config/test_PortageModulesFile.py: fix some
	  tests, break others

2007-03-26 04:17  antarus

	* [r6286] pym/portage/tests/env/config/test_PackageKeywordsFile.py,
	  pym/portage/tests/env/config/test_PackageMaskFile.py,
	  pym/portage/tests/env/config/test_PackageUseFile.py: Fix insecure
	  tempfile usage

2007-03-25 12:27  vapier

	* [r6285] pym/portage/__init__.py: fix grammar in error output

2007-03-25 09:56  zmedico

	* [r6283] pym/emerge/__init__.py: Verify the Manifest first even if
	  there's only one package (prior to the fetch phase).

2007-03-25 07:15  zmedico

	* [r6282] pym/portage/__init__.py: Do the "*" check as early as
	  possible in config.getMissingLicenses().

2007-03-25 06:57  antarus

	* [r6281] pym/portage/env/config.py, pym/portage/env/loaders.py:
	  split the loader classes into their own file, split the recursive
	  filename grabbing out into it's own function

2007-03-25 05:55  antarus

	* [r6280] pym/portage/env/config.py: completely rewrite file bits,
	  use Loader classes to push loading functionality down

2007-03-25 05:54  antarus

	* [r6279] pym/portage/tests/env/config/test_PackageKeywordsFile.py,
	  pym/portage/tests/env/config/test_PackageMaskFile.py,
	  pym/portage/tests/env/config/test_PackageUseFile.py: Fix the rest
	  of the tests

2007-03-24 22:44  zmedico

	* [r6277] pym/emerge/__init__.py: Verify all ebuild manifests
	  before building anything now so that the user is notified of
	  failure as soon as possible.

2007-03-24 21:42  zmedico

	* [r6275] pym/emerge/__init__.py: return from the merge task
	  instead of calling sys.exit directly.

2007-03-24 21:38  zmedico

	* [r6273] pym/emerge/__init__.py: Allow the merge task to continue
	  despite conflicts when --fetch-all-uri is specified.

2007-03-24 18:50  zmedico

	* [r6271] bin/doman: For bug #172033, remove the obsolete QA Notice
	  for man pages that are already compressed.

2007-03-23 02:55  zmedico

	* [r6269] pym/portage/__init__.py: Clean up and simplify preference
	  selection logic for bug #171840.

2007-03-23 01:25  zmedico

	* [r6267] pym/portage/__init__.py: For bug #171840, consider all
	  choices for slot intersection and promote those that have
	  upgrades relative to other choices.

2007-03-23 00:15  zmedico

	* [r6265] pym/portage/cache/flat_hash.py: Ignore non-existent
	  directories for bug #171809. This is required for readonly mode.

2007-03-22 08:41  zmedico

	* [r6264] pym/emerge/help.py: Add --verbose to the "for more help"
	  message.

2007-03-22 07:37  vapier

	* [r6263] pym/emerge/help.py: default --help should be usable, so
	  make the extended output require --verbose

2007-03-21 00:49  zmedico

	* [r6261] pym/portage/__init__.py: Fix a typo.

2007-03-21 00:14  zmedico

	* [r6260] pym/emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/dbapi/porttree.py: Pass a list of USE flags into
	  config.getMissingLicenses() so that the method can eventually be
	  used for binary packages in addition to ebuilds.

2007-03-20 22:08  zmedico

	* [r6259] pym/portage/__init__.py: Add a docstring to
	  config.getMissingLicenses().

2007-03-20 21:58  zmedico

	* [r6258] pym/emerge/__init__.py: Catch a potential
	  InvalidDependString exception.

2007-03-20 20:38  zmedico

	* [r6256] bin/repoman: Fix cvstree import to avoid deprecation
	  warning.

2007-03-20 20:06  zmedico

	* [r6255] pym/portage/__init__.py: Pass missing acceptable_licenses
	  parameter into recursive _getMissingLicenses() calls.

2007-03-20 20:00  zmedico

	* [r6253] pym/portage/__init__.py: Appropriately return from
	  _getMissingLicenses() if one of the choices is satisfied.

2007-03-20 09:52  zmedico

	* [r6251] NEWS, pym/emerge/__init__.py, pym/portage/__init__.py,
	  pym/portage/const.py, pym/portage/dbapi/porttree.py: Implement
	  license visibility filtering for GLEP 23, bug #17367, and bug
	  #152593.

2007-03-18 20:39  vapier

	* [r6247] bin/fowners, bin/fperms: revert previous change since it
	  is obviously incorrect as pointed out by grobian

2007-03-18 19:54  zmedico

	* [r6246] pym/portage/output.py,
	  pym/portage/tests/bin/setup_env.py: Appropriately use globals()
	  instead of locals() as suggested by marienz.

2007-03-18 07:40  zmedico

	* [r6242] pym/portage/dbapi/vartree.py: Never use listdir with both
	  recursion=True and followSymlinks=True since it circular symlinks
	  will lead to endless recursion loops. Thanks to Tobias Hahn
	  <tobhahn@web.de> for this patch.

2007-03-18 00:25  zmedico

	* [r6241] pym/portage/output.py,
	  pym/portage/tests/bin/setup_env.py: Use locals() instead of
	  setattr to insert generated functions into the current module.
	  Thanks to Brian Harring for the suggestion.

2007-03-17 21:52  vapier

	* [r6240] bin/dodir, bin/fowners, bin/fperms: make sure we prefix
	  all arguments with $D, including ones that dont start with a /

2007-03-17 09:20  zmedico

	* [r6234] pym/portage/tests/bin/setup_env.py: Call the base class
	  destructor if it exists.

2007-03-17 08:41  zmedico

	* [r6233] pym/portage/tests/__init__.py: Add "bin" to testDirs.

2007-03-17 08:41  zmedico

	* [r6232] pym/portage/tests/bin/setup_env.py: Make paths
	  independent of cwd.

2007-03-17 08:27  zmedico

	* [r6231] pym/portage/tests/bin/setup_env.py: Close /dev/null when
	  finished.

2007-03-17 08:18  vapier

	* [r6230] pym/portage/tests/bin/__init__.py,
	  pym/portage/tests/bin/setup_env.py,
	  pym/portage/tests/bin/test_dobin.py,
	  pym/portage/tests/bin/test_dodir.py: start of framework for
	  programs in portage bin

2007-03-17 08:07  vapier

	* [r6229] bin/ecompress: send stdout to /dev/null since we rely on
	  the output of stdout here to determine the proper suffix #171212

2007-03-17 07:24  antarus

	* [r6228] pym/portage/tests/__init__.py: bump ________foo from the
	  TestCase class since _exc_info() doesn't do anything anyway

2007-03-17 07:11  antarus

	* [r6227] pym/portage/tests/__init__.py: fix for older python who
	  have oddly named __exc_info()

2007-03-17 03:47  zmedico

	* [r6226] pym/portage/tests/env/config/test_PackageMaskFile.py: Use
	  mkstemp to create a random tempfile.

2007-03-17 02:54  vapier

	* [r6225] pym/portage/tests/env, pym/portage/tests/env/config,
	  pym/portage/tests/xpak: ignore *.py[co]

2007-03-17 02:48  zmedico

	* [r6224] pym/portage/tests/env/config/test_PackageMaskFile.py: Fix
	  a broken test.

2007-03-17 02:47  zmedico

	* [r6223] pym/portage/tests/__init__.py: Fix broken exception
	  handling.

2007-03-17 02:41  zmedico

	* [r6222] pym/portage/env/config.py: Fix a typo.

2007-03-17 02:28  vapier

	* [r6221] bin/ecompressdir: forcibly break all hard links so we
	  dont need to rely on --force in compressor and tweak the
	  _relocate_skip_dirs() func to handle whitespace in paths (thanks
	  to zmedico for tip)

2007-03-17 02:08  vapier

	* [r6220] bin/dodoc, bin/ecompress, bin/ecompressdir, bin/prepall,
	  bin/prepalldocs: redo compression so that it is queued up in
	  src_install and then dequeued post src_install

2007-03-16 23:38  vapier

	* [r6219] bin/ecompress: drop the need for the force flag by
	  default and just delete the existing files automatically #171007

2007-03-16 18:36  zmedico

	* [r6217] pym/portage/dbapi/vartree.py: Fix a utime call to prevent
	  a timestamp collision for bug #171117.

2007-03-16 18:11  zmedico

	* [r6215] pym/portage/dbapi/vartree.py: For bug #171117, ensure
	  that the new and old config have different timestamps (for the
	  benefit of programs like rsync that need distiguishable
	  timestamps to detect file changes). Thanks to Ben Bennett
	  <sink@limey.net> for reporting.

2007-03-16 01:20  zmedico

	* [r6212] bin/ebuild.sh: For bug #163262 and conformance with
	  section 7.2 of the PMS, make the export attribute of variables
	  persist between ebuild phases.

2007-03-15 20:27  zmedico

	* [r6211] pym/portage/__init__.py: Add back rstrip(os.path.sep)
	  from the previous commit since it's needed when ROOT="/".

2007-03-15 20:23  zmedico

	* [r6210] pym/portage/__init__.py: Automatically convert ROOT and
	  PORTAGE_CONFIGROOT to absolute paths when necessary since
	  relative paths lead to problems. Thanks to Christian Heim
	  <phreak@gentoo.org> for reporting.

2007-03-12 23:42  zmedico

	* [r6205] bin/prepinfo: Make prepinfo remove installed info indexes
	  recursively. Thanks to Christian Faulhammer <opfer@gentoo.org>
	  for reporting (see bugs #162675 and #170133).

2007-03-10 00:08  zmedico

	* [r6203] bin/emerge-webrsync, bin/etc-update,
	  pym/portage/dbapi/vartree.py, pym/portage/locks.py: For bug
	  #170178, remove all hardcoded references to '/usr/lib/portage'.

2007-03-09 21:03  zmedico

	* [r6202] bin/misc-functions.sh: import portage.xpak to avoid
	  deprecation warning

2007-03-09 19:10  zmedico

	* [r6201] bin/quickpkg: Add back a missing `source
	  isolated-functions.sh`. The color logic is handled internally.

2007-03-09 10:31  genone

	* [r6199] pym/emerge/__init__.py: Display message about
	  --buildpkgonly restriction in pretend mode as well

2007-03-09 04:43  zmedico

	* [r6198] man/portage.5: Remove profile masking of system packages
	  from the docs.

2007-03-09 04:25  zmedico

	* [r6197] pym/portage/__init__.py: Remove the "masked by: profile"
	  support from getmaskingstatus().

2007-03-09 03:57  zmedico

	* [r6196] pym/emerge/__init__.py: Use the full atoms from the
	  system set, since profile masking does not automatically
	  constrain the matches anymore.

2007-03-09 03:34  zmedico

	* [r6195] NEWS, pym/portage/dbapi/porttree.py: Remove legacy
	  "masked by: profile" support as per bug #149508. Profiles should
	  use package.mask to mask unwanted versions of system packages.

2007-03-08 16:00  antarus

	* [r6194] pym/portage/tests/env/config/test_PackageKeywordsFile.py:
	  whoopse, s/;/:/

2007-03-08 07:10  antarus

	* [r6193] pym/portage/env/config.py,
	  pym/portage/tests/env/config/test_PackageKeywordsFile.py,
	  pym/portage/tests/env/config/test_PackageMaskFile.py,
	  pym/portage/tests/env/config/test_PackageUseFile.py: add
	  PackageMask{File} classes, change unit tests to use try/finally,
	  makes sure the tempfile gets destroyed even if something weird
	  happens

2007-03-08 06:44  antarus

	* [r6192] pym/portage/env/config.py,
	  pym/portage/tests/env/config/test_PackageKeywordsFile.py,
	  pym/portage/tests/env/config/test_PackageUseFile.py: Change
	  load() to have no default arguments, makes caller specifiy
	  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

2007-03-07 06:38  antarus

	* [r6190] pym/portage/env, pym/portage/env/__init__.py,
	  pym/portage/env/config.py, pym/portage/tests/__init__.py,
	  pym/portage/tests/dep/test_isvalidatom.py, pym/portage/tests/env,
	  pym/portage/tests/env/__init__.py, pym/portage/tests/env/config,
	  pym/portage/tests/env/config/__init__.py,
	  pym/portage/tests/env/config/test_PackageKeywordsFile.py: Part of
	  my attempt now involves cleaning up config; this means for me;
	  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.

2007-03-07 04:27  antarus

	* [r6189] pym/portage/tests/__init__.py,
	  pym/portage/tests/dep/test_isvalidatom.py: Take marien's advice,
	  turn Skips into Todos for clarity sake

2007-03-06 20:05  zmedico

	* [r6188] pym/portage/__init__.py: Fix 2 more types.InstanceType
	  comparisons that are broken by the transition of dbapi to
	  new-style classes.

2007-03-06 18:30  zmedico

	* [r6186] pym/emerge/__init__.py: For bug #169620, in --tree
	  display always show the dowload size on the node that is
	  "ordered" rather than one of it's "nomerge" counterparts.

2007-03-06 07:39  antarus

	* [r6183] TEST-NOTES: Add part about new framework and skipping to
	  test notes

2007-03-06 07:35  antarus

	* [r6182] pym/portage/tests/dep/test_dep_getcpv.py,
	  pym/portage/tests/dep/test_dep_getslot.py,
	  pym/portage/tests/dep/test_dep_getusedeps.py,
	  pym/portage/tests/dep/test_get_operator.py,
	  pym/portage/tests/dep/test_isjustname.py,
	  pym/portage/tests/dep/test_isvalidatom.py,
	  pym/portage/tests/dep/test_match_from_list.py,
	  pym/portage/tests/news/test_NewsItem.py,
	  pym/portage/tests/util/test_grabdict.py,
	  pym/portage/tests/util/test_normalizedPath.py,
	  pym/portage/tests/util/test_stackDictList.py,
	  pym/portage/tests/util/test_stackDicts.py,
	  pym/portage/tests/util/test_stackLists.py,
	  pym/portage/tests/util/test_uniqueArray.py,
	  pym/portage/tests/util/test_varExpand.py,
	  pym/portage/tests/versions/test_vercmp.py,
	  pym/portage/tests/xpak, pym/portage/tests/xpak/__init__.py,
	  pym/portage/tests/xpak/test_decodeint.py: Update all the
	  unittests to use the new framework, test skipping with
	  isValidAtom, add silly xpak test since I have it 'done'

2007-03-06 07:34  antarus

	* [r6181] pym/portage/tests/__init__.py: Roll our own unittest
	  framework to add skip support.

2007-03-05 04:10  antarus

	* [r6178] pym/portage/tests/dep/test_isvalidatom.py: these will
	  fail now

2007-03-05 00:11  zmedico

	* [r6175] pym/emerge/__init__.py: Avoid pointless population of the
	  binary tree when --buildpkg is enabled. Thanks to vapier for
	  reporting.

2007-03-04 19:50  vapier

	* [r6174] bin/ecompress, bin/ecompressdir: allow people to disable
	  compression by setting the PORTAGE_COMPRESS variables to ""

2007-03-04 04:24  zmedico

	* [r6169] pym/emerge/__init__.py: Display blockers at the end of
	  the list so that it will more often be easy for the user to see
	  them in a terminal. Thanks to iapitus and hydrogen for the
	  suggestion.

2007-03-04 02:36  zmedico

	* [r6166] pym/portage/__init__.py: Remove the KVERS environment
	  variable since it's code that creates it is broken anyway (only
	  sets KVERS="." in the general case).

2007-03-04 01:49  zmedico

	* [r6164] pym/emerge/__init__.py: Fix the minimum index for pruning
	  consecutive duplicate nodes.

2007-03-04 01:35  zmedico

	* [r6162] pym/emerge/__init__.py: Add a note about --with-bdeps in
	  the --depclean failure message.

2007-03-04 00:34  zmedico

	* [r6160] pym/emerge/__init__.py: For bug #169187, make --depclean
	  prune unneeded slots such that it is consistent with the world
	  update algorithm.

2007-03-03 23:05  zmedico

	* [r6158] pym/emerge/__init__.py: Only prune duplicate consecutive
	  nodes if they both have depth == 0.

2007-03-03 21:42  zmedico

	* [r6156] pym/portage/locks.py: Pass waiting_msg into recursive
	  lockfile() calls.

2007-03-03 18:31  antarus

	* [r6155] pym/portage/news.py: make sure uid is an int

2007-03-03 18:00  antarus

	* [r6154] bin/emerge: In the same vein as copyright, add Id and
	  svn:keywords to it

2007-03-03 17:52  antarus

	* [r6153] bin/emerge: you can't insert into sys.path without
	  importing sys...

2007-03-03 11:24  zmedico

	* [r6148] pym/emerge/__init__.py: Make sure that excess "nomerge"
	  nodes are pruned correctly.

2007-03-03 10:38  zmedico

	* [r6146] pym/portage/data.py: Add missing sys import.

2007-03-03 09:49  zmedico

	* [r6143] pym/portage/__init__.py, pym/portage/locks.py: For bug
	  #138840, show a more informative message when waiting for a
	  distfiles lock due to parallel-fetch. Thanks to David Watzke
	  <david@watzke.cz> for the initial patch.

2007-03-03 08:54  zmedico

	* [r6141] pym/emerge/__init__.py: s/node/selected_parent/ for
	  clarity

2007-03-03 06:15  antarus

	* [r6138] pym/portage/versions.py: remove category regex, dumb
	  idea, sorry I did it

2007-03-03 01:53  zmedico

	* [r6137] pym/portage/__init__.py: Fix types.InstanceType test
	  which is failing now for some reason.

2007-03-03 01:19  zmedico

	* [r6135] pym/emerge/__init__.py: For bug #169046, fill in the
	  --tree display with "nomerge" nodes so that the user can always
	  see at lease 1 parent on any non-root node. Packages may appear
	  in the display list multiple times, and will be marked "nomerge"
	  when their position in the list does not correspond to actual
	  merge order.

2007-03-02 20:06  zmedico

	* [r6133] pym/emerge/__init__.py: When emerge automatically
	  resumes, add --ignore-default-opts to the command line in order
	  to prevent things like --ask from leaking in via
	  EMERGE_DEFAULT_OPTS. Thanks to Peter Weller <welp@gentoo.org> for
	  reporting.

2007-03-02 07:23  zmedico

	* [r6129] cnf/make.globals, pym/emerge/__init__.py: For bug
	  #168646, remove --prune-empty-dirs from PORTAGE_RSYNC_OPTS since
	  it's only a small optimization and it's inconvenient to force
	  >=rsync-2.6.4 on server admins at this time. If users desire,
	  they can still add it to PORTAGE_RSYNC_EXTRA_OPTS.

2007-03-02 01:47  zmedico

	* [r6127] pym/emerge/__init__.py: Even if there's no timestamp
	  available locally, fetch the timestamp anyway as an initial probe
	  to verify that the server is responsive. This protects us from
	  hanging indefinitely on a connection attempt to an unresponsive
	  server which rsync's --timeout option does not prevent.

2007-03-02 00:10  zmedico

	* [r6125] pym/emerge/__init__.py: Remove unnecessary print
	  statement reported by solar.

2007-03-01 23:47  zmedico

	* [r6123] pym/emerge/__init__.py: Fix broken rsync exitcode shift.

2007-03-01 23:31  zmedico

	* [r6121] pym/emerge/__init__.py, pym/portage/cache/fs_template.py:
	  Fix the rest of the broken except statement syntax.

2007-03-01 23:18  zmedico

	* [r6119] pym/emerge/__init__.py: Fix broken except statement
	  syntax.

2007-03-01 22:20  zmedico

	* [r6117] pym/emerge/__init__.py: For consistency, remove exit code
	  2 (protocol incompatibility) from the other list of rsync exit
	  codes.

2007-03-01 22:06  zmedico

	* [r6115] bin/etc-update: Add compatibility code to avoid the GNU
	  specific --reference option of chmod. Thanks to Timothy Redaelli
	  <drizzt@gentoo.org>.

2007-03-01 21:19  solar

	* [r6113] pym/emerge/__init__.py: - please be --quiet emerge. still
	  need to hunt down one more newline

2007-03-01 20:49  zmedico

	* [r6111] pym/emerge/__init__.py: Make sure pids are appropriately
	  removed from portage.process.spawned_pids.

2007-03-01 20:37  zmedico

	* [r6109] pym/emerge/__init__.py: Use an alarm signal to implement
	  a timeout when rsync is fetching the server timestamp file, since
	  rsync's --timeout option doesn't apply to the initial connection
	  attempt.

2007-03-01 19:03  zmedico

	* [r6107] pym/portage/dbapi/vartree.py: Fix misplaced [1]

2007-03-01 12:44  zmedico

	* [r6104] pym/emerge/__init__.py: For bug #168646, don't bail out
	  immediately when rsync detects protocol incompatibility (code 2)
	  during fetching of the timestamp file. Retry for a better server
	  (up to PORTAGE_RSYNC_RETRIES).

2007-03-01 03:35  zmedico

	* [r6102] pym/portage/dbapi/vartree.py: For bug #168823, fix broken
	  except statement syntax that prevents the ValueError from being
	  caught as intended.

2007-02-28 14:45  vapier

	* [r6100] man/emerge.1: update --help example to match current
	  behavior #168678 by Arthur Hagen

2007-02-27 21:45  zmedico

	* [r6099] pym/portage/__init__.py: Merged from branches/prefix
	  r6092:6093.
	  
	  Avoid "TypeError: unpack non-sequence" backtraces, and return a
	  set of None, None when was asked for the location.

2007-02-27 21:32  zmedico

	* [r6098] pym/portage/dbapi/porttree.py: Merged from
	  branches/prefix r6091:6092.
	  
	  Fix undefined whatever 'best' error by importing it from
	  portage.versions

2007-02-27 05:04  zmedico

	* [r6088] bin/ecompress, man/make.conf.5: For bug #168267, use add
	  --force to the default PORTAGE_COMPRESS_FLAGS so that hardlinks
	  are automatically broken.

2007-02-27 04:54  zmedico

	* [r6086] bin/ecompressdir: For compatibility with older findutils,
	  don't use the -L predicate (bug #168432).

2007-02-26 03:37  zmedico

	* [r6070] cnf/make.globals, pym/emerge/__init__.py: For bug
	  #167668, prune empty ${FILESDIR}s by adding --prune-empty-dirs to
	  PORTAGE_RSYNC_OPTS. Thanks to Ulrich Mueller
	  <ulm@kph.uni-mainz.de> for the suggestion.

2007-02-24 12:43  zmedico

	* [r6068] pym/portage/__init__.py: Clean up os.environ["USERLAND"]
	  pollution from the portage.data module so that it doesn't
	  interfere with repoman.

2007-02-24 00:56  zmedico

	* [r6066] pym/emerge/__init__.py: Allow --verbose to trigger a
	  merge list even without --pretend, --ask, or --tree. Thanks to
	  agaffney and zlin for the suggestion.

2007-02-23 23:52  zmedico

	* [r6064] pym/emerge/__init__.py: As requested by solar, never show
	  a merge list unless it's explicitly requested by --ask,
	  --pretend, or --tree.

2007-02-23 23:39  zmedico

	* [r6062] pym/emerge/__init__.py: As requested by solar, never show
	  a merge list unless it's explicitly requested by --ask,
	  --pretend, or --tree.

2007-02-23 23:20  zmedico

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

2007-02-23 21:26  zmedico

	* [r6058] pym/emerge/__init__.py: Do not show the spinner and the
	  "Calculating dependencies" message for installation actions when
	  the --nodeps option has been specified. Thanks to David Watzke
	  <david@watzke.cz> for this patch from bug #168169.

2007-02-23 14:11  zmedico

	* [r6056] pym/portage/__init__.py: Make fetch() bail out when an
	  "Insufficient data for checksum verification" error occurs.

2007-02-23 13:23  zmedico

	* [r6055] pym/portage/checksum.py: Make verify_all() return an
	  "insufficient data" error if there is not at least one supported
	  hash type.

2007-02-23 10:19  robbat2

	* [r6054] NEWS: Undoing previous test

2007-02-23 10:03  robbat2

	* [r6053] NEWS: Testing CIA commit logs, will undo in a moment.

2007-02-23 00:56  zmedico

	* [r6051] pym/emerge/__init__.py: spawn rsync without a shell.

2007-02-22 23:44  zmedico

	* [r6048] pym/emerge/__init__.py: Remove quotes since rsync doesn't
	  accept them (and there is no shell to remove them since we use
	  spawn() for rsync now).

2007-02-22 23:42  zmedico

	* [r6047] cnf/make.globals, pym/emerge/__init__.py: For bug
	  #167668, use an rsync "hide" filter rule to exclude
	  **/files/digest-* and delete them on the receiver.

2007-02-22 22:15  zmedico

	* [r6045] pym/portage/manifest.py: Don't bother to parse
	  ${FILESDIR}/digest-* when manifest1_compat is disabled.

2007-02-22 21:43  zmedico

	* [r6042] bin/repoman: For bug #167667, add support for
	  ${PORTDIR}/manifest1_obsolete and automatically remove
	  ${FILESDIR}/digest-* from cvs when appropriate.

2007-02-22 21:37  zmedico

	* [r6041] pym/portage/__init__.py, pym/portage/manifest.py: For bug
	  #167667, use the existence of ${PORTDIR}/manifest1_obsolete to
	  trigger the disabling of manifest1/digest file generation. This
	  toggle is repo/overlay specific, allowing a specific overlay to
	  drop manifest1 buy adding the manifest1_obsolete file.

2007-02-22 21:10  zmedico

	* [r6039] pym/portage/__init__.py: Make sure that ${A} in
	  initialized in case pkg_nofetch() needs to be called. Thanks to
	  Peper for reporting.

2007-02-22 20:54  zmedico

	* [r6038] pym/portage/dbapi/vartree.py: Fix "NameError: global name
	  'myfilelist' is not defined" when collision-protect is enabled.

2007-02-22 13:18  zmedico

	* [r6036] bin/repoman: Add some sanity checks for file list
	  handling when repolevel < 3.

2007-02-22 13:09  zmedico

	* [r6035] bin/repoman: Fix broken file list handling for
	  FEATUES=sign when only the Manifest has changed.

2007-02-22 12:48  zmedico

	* [r6033] bin/repoman: Fix more broken commitmessagefile handling.

2007-02-22 12:30  zmedico

	* [r6031] bin/repoman: Use startdir instead of mydir since mydir
	  has a trailing slash which triggers normalization issues with the
	  dirname function.

2007-02-22 11:59  zmedico

	* [r6029] bin/repoman: Avoid a TypeError when commitmessagefile is
	  None.

2007-02-21 10:10  zmedico

	* [r6027] bin/repoman: Fix stardir and repodir logic from the
	  previous commit.

2007-02-21 09:30  zmedico

	* [r6024] bin/repoman: For consistency, replace multiple
	  os.getcwd() calls with the "mydir" variable.

2007-02-21 09:25  zmedico

	* [r6023] bin/repoman: s/x/xs/ to fix a typo in a variable name.

2007-02-21 04:35  zmedico

	* [r6021] pym/portage/process.py: Raise a CommandNotFound exception
	  when necessary, to ease troubleshooting. Thanks to marienz for
	  reporting.

2007-02-20 21:48  zmedico

	* [r6019] pym/portage/dbapi/bintree.py: For bug #167795, try avoid
	  the population routine when possible, so that FEATURES=buildpkg
	  doesn't always force population.

2007-02-20 21:25  zmedico

	* [r6017] pym/emerge/__init__.py: As requested by vapier, don't
	  show the merge list in --quiet mode unless it's explicitly
	  requested via --ask or --pretend.

2007-02-19 07:33  zmedico

	* [r6014] pym/emerge/__init__.py: Optimize order for --tree display
	  of circular dependencies.

2007-02-19 07:08  zmedico

	* [r6012] pym/emerge/__init__.py: Make digraph._merge_order_bias()
	  operate on a single digraph that's passed in.

2007-02-19 06:35  zmedico

	* [r6010] pym/emerge/__init__.py: For bug #167450, optimize leaf
	  node selection by ordering nodes from highest to lowest overall
	  reference count.

2007-02-19 01:24  zmedico

	* [r6008] pym/emerge/__init__.py: Automatically enable --tree mode
	  when displaying nodes with circular deps.

2007-02-19 00:45  zmedico

	* [r6006] pym/emerge/__init__.py: For bug #166564, make a circular
	  dependency panic more user friendly by displaying the USE flags
	  that are enabled on nodes that are part of dependency cycles and
	  display a note hinting that circular dependencies can often be
	  avoided by temporarily disabling USE flags.

2007-02-18 23:27  zmedico

	* [r6004] bin/ebuild.sh: Don't exclude . since that excludes the
	  entire contents of some tar files.

2007-02-18 23:15  zmedico

	* [r6002] bin/ebuild.sh: When calling tar, always exclud . in order
	  to preserver PORTAGE_WORKDIR_MODE. Thanks to Brian Harring in bug
	  #167544.

2007-02-18 22:21  zmedico

	* [r6000] pym/emerge/__init__.py: For bug #166880, always display
	  the merge list header.

2007-02-18 21:55  zmedico

	* [r5998] pym/emerge/__init__.py: For bug #166880, always display
	  the merge list (allowing --tree to be obeyed in any case).

2007-02-18 20:45  zmedico

	* [r5996] pym/emerge/__init__.py: For bug #167450, optimize merge
	  order by delaying the merge of root nodes.

2007-02-18 20:19  genone

	* [r5995] pym/portage/dbapi/vartree.py: set.remove() returns None,
	  so can't use it in a function call

2007-02-18 19:28  genone

	* [r5994] pym/portage/dbapi/vartree.py: Move preserve-libs and
	  collision-protect code from treewalk() into their own functions

2007-02-18 18:27  genone

	* [r5993] pym/portage/dbapi/vartree.py: extend check for internal
	  references, should remove all libs that are only used internally
	  now

2007-02-18 15:38  genone

	* [r5992] pym/portage/dbapi/vartree.py: Move reverse NEEDED cache
	  into CACHE_PATH and use a more descriptive name

2007-02-18 08:45  zmedico

	* [r5990] pym/portage/dbapi/bintree.py: For bug #163990, warn about
	  binary packages with invalid categories and do not allow them to
	  be installed.

2007-02-18 08:22  zmedico

	* [r5988] pym/portage/dbapi/porttree.py: For bug #163990, warn
	  about ebuilds with invalid categories and do not allow them to be
	  installed.

2007-02-18 07:47  zmedico

	* [r5986] bin/emaint: For bug #166785, check for invalid categories
	  in the world file.

2007-02-17 19:30  zmedico

	* [r5984] pym/emerge/__init__.py: Fix package.provided breakage
	  from the fix for bug #166939.

2007-02-17 19:12  zmedico

	* [r5983] pym/emerge/__init__.py: Remove unnecessary import that
	  triggers DEPRECATION NOTICE.

2007-02-17 19:08  zmedico

	* [r5982] pym/emerge/__init__.py: For bug #166939, make --nodeps
	  work like a normal package for new-style virtuals.

2007-02-17 13:11  genone

	* [r5981] pym/cvstree.py, pym/dispatch_conf.py,
	  pym/eclass_cache.py, pym/emergehelp.py, pym/getbinpkg.py,
	  pym/output.py, pym/portage_checksum.py,
	  pym/portage_compat_namespace.py, pym/portage_const.py,
	  pym/portage_data.py, pym/portage_debug.py, pym/portage_dep.py,
	  pym/portage_exception.py, pym/portage_exec.py,
	  pym/portage_gpg.py, pym/portage_localization.py,
	  pym/portage_locks.py, pym/portage_mail.py,
	  pym/portage_manifest.py, pym/portage_news.py,
	  pym/portage_selinux.py, pym/portage_update.py,
	  pym/portage_util.py, pym/portage_versions.py, pym/xpak.py:
	  Replace compat symlinks with a new compat module as the symlink
	  solution prevents reuse of state information (requested by
	  ferringb)

2007-02-17 13:10  genone

	* [r5980] pym/portage_exec.py: Remove portage_exec.py as subversion
	  is stupid and can't convert it in one step

2007-02-17 11:21  genone

	* [r5979] bin/emerge: For full backwards compat (with symlinks or
	  other weird stuff) import everything into the main namespace

2007-02-17 11:07  genone

	* [r5978] bin/emerge, pym/emerge/__init__.py: Move bin/emerge to
	  pym/emerge/__init__.py to restore old import behavior as the
	  load_source solution doesn't work properly

2007-02-17 10:46  genone

	* [r5977] pym/emerge/__init__.py: Make emerge importable again
	  without relying on module search path order

2007-02-17 09:14  genone

	* [r5976] bin/emerge: Print hostname in xterm title if sheridan is
	  available in the environment

2007-02-17 08:53  genone

	* [r5975] pym, pym/emerge, pym/portage, pym/portage/cache,
	  pym/portage/dbapi, pym/portage/dbapi/vartree.py,
	  pym/portage/elog, pym/portage/tests, pym/portage/tests/bin,
	  pym/portage/tests/dep, pym/portage/tests/news,
	  pym/portage/tests/util, pym/portage/tests/versions: Ignore
	  compiled files.
	  
	  Add new feature 'preserve-libs' that injects files 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.

2007-02-17 04:17  genone

	* [r5974] bin/emerge, pym/portage/__init__.py: Print filename when
	  displaying package.mask comments

2007-02-17 03:53  genone

	* [r5973] bin/emerge-webrsync: Add support for RSYNC_EXTRA_OPTS to
	  webrsync

2007-02-15 20:23  zmedico

	* [r5970] bin/etc-update: Add missing quotes.

2007-02-15 20:21  zmedico

	* [r5969] bin/etc-update: Fix CONFIG_PROTECT_MASK support. Thanks
	  to piavlo <piavka@cs.bgu.ac.il> for this patch from bug #166837.

2007-02-14 22:48  zmedico

	* [r5967] bin/emerge: Optimize merge order calculation for --tree
	  output when necessary.

2007-02-14 18:27  zmedico

	* [r5965] bin/emerge: For bug #158100, use an exact reversal of the
	  actual merge order for --tree output. It's more efficient than
	  doing 2 order calculations.

2007-02-13 19:57  zmedico

	* [r5963] pym/portage/elog/__init__.py: Fix broken imports.

2007-02-13 19:25  zmedico

	* [r5961] pym/portage/__init__.py: Detect potential issues with
	  mtime granlarity in env_update() and sleep if necessary. Thanks
	  to Brian Harring for reporting.

2007-02-13 19:22  zmedico

	* [r5960] pym/portage/dbapi/vartree.py: Fix missing imports.

2007-02-13 00:38  vapier

	* [r5959] cnf/make.conf: tweak PORT_LOGDIR comments so as to not
	  give the wrong impression about the default value

2007-02-12 07:04  zmedico

	* [r5956] bin/emerge: In the event of a circular dependency panic,
	  eliminate root nodes in order to reduce the noise level to a
	  minimum.

2007-02-11 01:13  genone

	* [r5955] pym/elog_modules, pym/portage/__init__.py,
	  pym/portage/dbapi/vartree.py, pym/portage/elog,
	  pym/portage/elog/__init__.py, pym/portage/elog_modules: Make
	  subpackage naming consistent

2007-02-11 01:07  zmedico

	* [r5954] pym/portage/dbapi/bintree.py: import best() from
	  portage.versions

2007-02-11 00:57  genone

	* [r5953] pym/portage/dbapi/__init__.py,
	  pym/portage/dbapi/bintree.py, pym/portage/dbapi/porttree.py,
	  pym/portage/dbapi/vartree.py, pym/portage/dbapi/virtual.py: Use
	  the real symbols in import statements, not the references in
	  __init__.py

2007-02-10 22:18  zmedico

	* [r5950] pym/portage/output.py: Make xterm titles work even when
	  color is disabled. Thanks to Joachim Kaeber
	  <joachim.kaeber@web.de> in bug #166255.

2007-02-10 22:04  zmedico

	* [r5949] pym/portage/dbapi/vartree.py: Add missing VDB_PATH to fix
	  vardbapi.aux_get() breakage.

2007-02-10 21:59  zmedico

	* [r5948] pym/portage/dbapi/vartree.py: Fix vardb.cpv_all()
	  breakage.

2007-02-10 21:50  zmedico

	* [r5947] pym/portage/dbapi/porttree.py: Fix missing stat import.

2007-02-10 21:47  zmedico

	* [r5946] pym/portage/dbapi/vartree.py: Break a recursive loop.

2007-02-10 21:43  zmedico

	* [r5945] bin/archive-conf, bin/chkcontents, bin/clean_locks,
	  bin/dispatch-conf, bin/ebuild, bin/emaint, bin/emerge,
	  bin/env-update, bin/fix-db.py, bin/fixpackages, bin/md5check.py,
	  bin/pkgname, bin/portageq, bin/regenworld, bin/repoman, bin/xpak:
	  Use os.path.realpath to handle symlinks properly.

2007-02-10 20:43  zmedico

	* [r5944] pym/portage/dbapi/porttree.py: fix broken imports

2007-02-10 20:36  zmedico

	* [r5943] pym/portage/dbapi/vartree.py: remove broken dblink import

2007-02-10 20:26  zmedico

	* [r5942] bin/archive-conf, bin/chkcontents, bin/clean_locks,
	  bin/dispatch-conf, bin/ebuild, bin/emaint, bin/emerge,
	  bin/env-update, bin/fix-db.py, bin/fixpackages, bin/md5check.py,
	  bin/pkgname, bin/portageq, bin/regenworld, bin/repoman, bin/xpak:
	  Fix automatic sys.path insertions so that they're relative
	  instead of absolute hard coded.

2007-02-10 20:01  zmedico

	* [r5941] pym/emerge/__init__.py: Fix imports from the emerge
	  package.

2007-02-10 19:56  zmedico

	* [r5940] pym/portage/dbapi/vartree.py: fix syntax

2007-02-10 18:18  genone

	* [r5939] pym/portage/__init__.py, pym/portage/dbapi,
	  pym/portage/dbapi/__init__.py, pym/portage/dbapi/bintree.py,
	  pym/portage/dbapi/porttree.py, pym/portage/dbapi/vartree.py,
	  pym/portage/dbapi/virtual.py: Move dbapi and related classes out
	  of __init__.py into their own subpackage. Also perform some minor
	  cleanups.

2007-02-10 18:15  antarus

	* [r5938] pym/portage/dep.py: add docstrings

2007-02-10 04:46  antarus

	* [r5935] pym/portage/tests/__init__.py,
	  pym/portage/tests/dep/test_dep_getusedeps.py,
	  pym/portage/tests/dep/test_get_operator.py: fix a few broken
	  tests

2007-02-10 03:19  antarus

	* [r5934] TEST-NOTES: update test notes

2007-02-08 13:39  genone

	* [r5931] bin/emerge, pym/emerge, pym/emerge/help.py,
	  pym/emergehelp.py, pym/portage/emergehelp.py: Create namespace
	  for emerge

2007-02-08 04:38  antarus

	* [r5930] bin/ebuild.sh, bin/isolated-functions.sh: die requires
	  diefunc and dump_trace too; duh; also move extdebug into
	  isolated-functions.sh

2007-02-08 04:22  zmedico

	* [r5928] bin/repoman: Make the "lfull" output more succinct by
	  omitting categories for which there are no violations.

2007-02-08 02:38  zmedico

	* [r5926] pym/portage/tests/dep/test_isvalidatom.py: Turn on strict
	  dep checking to fix the isvalidatom test.

2007-02-07 23:40  zmedico

	* [r5924] pym/portage/__init__.py, pym/portage/manifest.py:
	  Synchronize required hash code in all relevant places.

2007-02-07 23:01  zmedico

	* [r5922] bin/repoman: For bug #165783, handle a potential
	  InvalidDependString exception in repoman and report a
	  SRC_URI.syntax failure.

2007-02-07 22:24  zmedico

	* [r5920] pym/portage/__init__.py: For bug #165783, handle a
	  potential InvalidDependString exception inside doebuild().

2007-02-07 21:54  zmedico

	* [r5918] bin/repoman: Enable strict dep checking for repoman.

2007-02-07 21:47  zmedico

	* [r5916] pym/portage/__init__.py: For bug #165783, handle a
	  potential InvalidDependString exception inside digestgen().

2007-02-07 21:11  zmedico

	* [r5914] bin/dispatch-conf, bin/emerge: For bug #165780, make
	  config-protect code consistently ignore '.*~' and '.*.bak'.

2007-02-07 20:45  zmedico

	* [r5912] bin/isolated-functions.sh: Only echo PORTAGE_LOG_FILE if
	  it's actually set (may not be if sesandbox is enabled).

2007-02-07 20:33  antarus

	* [r5910] bin/ebuild.sh, bin/isolated-functions.sh: move die into
	  isolated-functions.sh

2007-02-07 19:54  zmedico

	* [r5908] bin/emerge: For bug #165783, handle an
	  InvalidDependString exception triggered by an invalid SRC_URI.

2007-02-07 19:27  zmedico

	* [r5907] bin/ebuild, bin/emerge, pym/portage/dep.py: For backward
	  compatibility with api consumers, _dep_check_strict behavior will
	  be explicitly enabled as necessary. Thanks to Brian
	  <dol-sen@telus.net> for reporting issues with porthole and
	  equery.

2007-02-06 21:45  zmedico

	* [r5906] man/portage.5: Update modules doc for the new portage
	  namespace.

2007-02-06 18:45  zmedico

	* [r5904] man/make.conf.5: Document PORTAGE_WORKDIR_MODE for bug
	  #8688. Thanks to Peter Hjalmarsson in bug #164617.

2007-02-06 09:36  zmedico

	* [r5903] pym/portage/__init__.py: Make sure to fetch files if
	  MANIFEST2_REQUIRED_HASH is missing.

2007-02-06 09:28  genone

	* [r5902] pym/portage/manifest.py: Check if entries contain the
	  required hashes before writing the Manifest

2007-02-05 21:24  zmedico

	* [r5897] bin/emerge: For bug #165382, show a helpful message if an
	  exception is raised from cpv_expand().

2007-02-05 20:13  zmedico

	* [r5895] bin/emerge: Fix another UnboundLocalError
	  (branches/prefix r5893)

2007-02-05 06:46  zmedico

	* [r5891] pym/portage/__init__.py: Ensure that the code for bug
	  #165342 only affects name collisions with virtuals.

2007-02-05 06:27  zmedico

	* [r5890] pym/portage/__init__.py: For bug #165382, don't raise a
	  ValueError in cpv_expand() if there are only two matches and one
	  of them is a virtual. Prefer the non-virtual instead.

2007-02-05 01:22  zmedico

	* [r5889] man/emerge.1: Document --config-root for bug #165334.

2007-02-05 00:00  zmedico

	* [r5888] bin/repoman: For bug #165349, use the portage_versions
	  regex (via pkgsplit) instead of the incompatible ones that
	  repoman currently uses.

2007-02-03 23:49  zmedico

	* [r5887] bin/emerge: Fix "UnboundLocalError: local variable
	  'portage' referenced before assignment" caused by a local import
	  hiding a global import.

2007-02-03 12:03  zmedico

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

2007-02-03 11:16  zmedico

	* [r5879] bin/ebuild.sh: Fix a typo from the previos commit.

2007-02-03 11:13  zmedico

	* [r5878] bin/ebuild.sh: Use ! -type l to exclude symlinks better.
	  Thanks to marienz.

2007-02-03 10:26  zmedico

	* [r5877] bin/ebuild.sh: For bug #165034, make sure that symlinks
	  are excluded from chmod calls.

2007-02-03 05:20  zmedico

	* [r5876] pym/portage/tests/dep/test_isvalidatom.py: Make the tests
	  pass.

2007-02-03 00:26  zmedico

	* [r5875] pym/portage/__init__.py: For bug #165065, use the proper
	  RESTRICT setting when fetching files in digestgen().

2007-02-02 00:42  antarus

	* [r5872] pym/portage/tests/portage: grrr I thought I removed this

2007-02-02 00:36  antarus

	* [r5871] pym/portage/tests/__init__.py, pym/portage/tests/dep,
	  pym/portage/tests/news, pym/portage/tests/portage/dep,
	  pym/portage/tests/portage/news,
	  pym/portage/tests/portage/portage,
	  pym/portage/tests/portage/util,
	  pym/portage/tests/portage/versions, pym/portage/tests/util,
	  pym/portage/tests/versions: remove redundant directory now

2007-02-01 22:41  zmedico

	* [r5870] pym/portage/__init__.py: For bug #153109, replace our old
	  chflags module with the one provided by the py-freebsd package.
	  Thanks to Diego Pettenò <flameeyes@gentoo.org> for the initial
	  patch.

2007-02-01 20:13  antarus

	* [r5866] man/make.conf.5: add warning about storing data in
	  PORTDIR

2007-02-01 20:06  zmedico

	* [r5865] bin/emerge: Rename dir.bz2 since that's the most likely
	  case now.

2007-02-01 19:00  antarus

	* [r5864] pym/portage/tests/portage/portage,
	  pym/portage/tests/portage/portage/__init__.py,
	  pym/portage/tests/portage/portage/dep,
	  pym/portage/tests/portage/portage/news,
	  pym/portage/tests/portage/portage/util,
	  pym/portage/tests/portage/portage/versions, tests: apparently I'm
	  retarded and missed some of the tests..

2007-02-01 18:58  antarus

	* [r5863] pym/portage/tests, pym/portage/tests/__init__.py,
	  pym/portage/tests/portage/dep,
	  pym/portage/tests/portage/dep/test_dep_getusedeps.py,
	  pym/portage/tests/runTests: A somewhat more intelligent layout,
	  move tests into portaage namespace so we 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

2007-02-01 18:26  antarus

	* [r5862] pym/portage/dep.py, tests/__init__.py,
	  tests/portage/dep/test_dep_getusedeps.py: fix doc typo; more test
	  fiddling

2007-02-01 07:09  zmedico

	* [r5859] bin/emerge: Fix --newuse so that it works correctly with
	  --usepkg.

2007-02-01 06:15  zmedico

	* [r5858] bin/emerge: Load the most current variables from
	  /etc/profile.env for post_emerge stuff.

2007-02-01 05:50  antarus

	* [r5857] tests/portage/dep/test_dep_getcpv.py: fix regression in
	  test changes

2007-02-01 05:46  antarus

	* [r5856] tests/portage/dep/test_dep_getcpv.py,
	  tests/portage/dep/test_get_operator.py: increase test coverage to
	  cover slots, uncovering a few corner cases that need fixing

2007-02-01 05:25  antarus

	* [r5855] pym/portage/dep.py: Round one of dep_getusedeps()

2007-02-01 05:22  antarus

	* [r5854] tests/portage/dep/test_dep_getusedep.py,
	  tests/portage/dep/test_dep_getusedeps.py: rename file

2007-02-01 05:22  antarus

	* [r5853] tests/portage/dep/test_dep_getslot.py,
	  tests/portage/dep/test_dep_getusedep.py,
	  tests/portage/dep/test_isvalidatom.py: add some new tests

2007-01-31 22:46  zmedico

	* [r5852] pym/portage/__init__.py: Don't use os.path.isdir()
	  because it can swallow errors related to filesystem/disk
	  corruption.

2007-01-31 05:44  vapier

	* [r5849] bin/quickpkg: try and fix $Rev$

2007-01-31 05:43  vapier

	* [r5848] bin/quickpkg: try and fix $LastChangedRevision$

2007-01-31 05:41  vapier

	* [r5847] bin/quickpkg: add some useful options

2007-01-31 00:07  zmedico

	* [r5845] bin/ebuild.sh: Use find + xargs to avoid a potential
	  'Argument list too long' from bash. Thanks to solar for
	  reporting.

2007-01-30 23:28  zmedico

	* [r5842] bin/ebuild.sh: For bug #164617, don't change permissions
	  on ${WORKDIR} with unpack().

2007-01-30 22:31  zmedico

	* [r5840] bin/emerge-webrsync: For bug #164532, don't rely on
	  ${USERLAND} since the portage tree might be empty.

2007-01-30 20:52  zmedico

	* [r5838] bin/emerge: Fix "UnboundLocalError: local variable
	  'portage' referenced before assignment" caused by an unnecessary
	  local import hiding a global import.

2007-01-30 08:11  zmedico

	* [r5833] bin/emerge: For bug #164363, shuffle the ip addresses
	  returned from socket.getaddrinfo().

2007-01-29 01:13  zmedico

	* [r5827] bin/emerge: For bug #164078, don't trigger the
	  CLEAN_DELAY countdown for autoclean operations since those are
	  most likely unattended. Thanks to Dan
	  <hydrogen@notyetimplemented.com> for the initial patch.

2007-01-28 23:41  vapier

	* [r5825] bin/ecompressdir: add support for transparently
	  decompressing gz/Z/bz2 files since some upstream packages will
	  compress for us

2007-01-28 22:10  zmedico

	* [r5821] bin/repoman: Minor cleanup for the LIVEVCS.stable code.

2007-01-28 20:31  genone

	* [r5817] bin/repoman: Can't delete variable that doesn't exist
	  anymore (bug #164280)

2007-01-28 19:04  antarus

	* [r5814] bin/env-update, tests/bin: use errno.EACCES as suggested
	  by Brian Harring

2007-01-28 10:53  vapier

	* [r5804] bin/check-implicit-pointer-usage.py: translate unicode
	  quotes to ascii ones so we can keep our regex simple

2007-01-28 10:31  genone

	* [r5803] bin/env-update: Catch EACCESS when running env-update,
	  orignal patch by <phajdan.jr@gmail.com> (bug #106061)

2007-01-28 08:07  genone

	* [r5802] make.conf.txt, man/make.conf.5: Add a warning about
	  confcache to make.conf(5)

2007-01-28 01:08  zmedico

	* [r5799] bin/emerge: Remove a stray print statement. Thanks to
	  Rick Warner in bug #125261.

2007-01-27 22:58  zmedico

	* [r5798] bin/emerge, pym/portage/__init__.py: Ignore EEXIST from
	  rmdir since some kernels (such as solaris) return that instead of
	  ENOTEMPTY.

2007-01-27 19:41  vapier

	* [r5796] bin/check-implicit-pointer-usage.py: add support for
	  parsing of unicode quotes

2007-01-27 18:23  antarus

	* [r5795] tests/__init__.py: fix minor sed overzeallousness

2007-01-27 18:16  antarus

	* [r5794] tests/portage/dep, tests/portage/dep/__init__.py,
	  tests/portage/dep/test_dep_getcpv.py,
	  tests/portage/dep/test_dep_getslot.py,
	  tests/portage/dep/test_get_operator.py,
	  tests/portage/dep/test_isjustname.py,
	  tests/portage/dep/test_isvalidatom.py,
	  tests/portage/dep/test_match_from_list.py, tests/portage/news,
	  tests/portage/news/__init__.py,
	  tests/portage/news/test_NewsItem.py, tests/portage/util,
	  tests/portage/util/__init__.py,
	  tests/portage/util/test_grabdict.py,
	  tests/portage/util/test_normalizedPath.py,
	  tests/portage/util/test_stackDictList.py,
	  tests/portage/util/test_stackDicts.py,
	  tests/portage/util/test_stackLists.py,
	  tests/portage/util/test_uniqueArray.py,
	  tests/portage/util/test_varExpand.py, tests/portage/versions,
	  tests/portage/versions/__init__.py,
	  tests/portage/versions/test_vercmp.py, tests/portage_dep,
	  tests/portage_news, tests/portage_util, tests/portage_versions:
	  Move tests into new directory structure

2007-01-27 18:14  antarus

	* [r5793] tests/portage_news/test_NewsItem.py: add test to entice
	  svn mv

2007-01-27 18:12  antarus

	* [r5792] tests/__init__.py, tests/portage_dep/__init__.py,
	  tests/portage_dep/test_dep_getcpv.py,
	  tests/portage_dep/test_dep_getslot.py,
	  tests/portage_dep/test_get_operator.py,
	  tests/portage_dep/test_isjustname.py,
	  tests/portage_dep/test_isvalidatom.py,
	  tests/portage_dep/test_match_from_list.py,
	  tests/portage_news/__init__.py, tests/portage_util/__init__.py,
	  tests/portage_util/test_grabdict.py,
	  tests/portage_util/test_normalizedPath.py,
	  tests/portage_util/test_stackDictList.py,
	  tests/portage_util/test_stackDicts.py,
	  tests/portage_util/test_stackLists.py,
	  tests/portage_util/test_uniqueArray.py,
	  tests/portage_util/test_varExpand.py,
	  tests/portage_versions/__init__.py,
	  tests/portage_versions/test_vercmp.py: fix namespacing in tests

2007-01-27 04:49  vapier

	* [r5791] bin/portageq: if requested argv cannot be matched to
	  anything, exit with non-zero status

2007-01-27 01:39  zmedico

	* [r5790] bin/emerge: For consistency, do not imply --pretend with
	  --changelog since that prevents --changelog from being usable in
	  EMERGE_DEFAULTS_OPTS. Thanks to Ryan Hill <dirtyepic@gentoo.org>
	  in #151250.

2007-01-25 21:53  genone

	* [r5789] pym/portage/const.py: Fix automatic path detection to
	  account for new location

2007-01-25 18:34  genone

	* [r5788] pym/portage_exec.py: Fix broken symlink caused by exec
	  module rename

2007-01-25 17:41  genone

	* [r5786] NEWS, RELEASE-NOTES: Document namespace sanitizing

2007-01-25 17:37  genone

	* [r5785] bin/emerge, pym/portage/__init__.py: Namespace
	  sanitizing, step 5

2007-01-25 17:25  genone

	* [r5784] bin/archive-conf, bin/clean_locks, bin/dispatch-conf,
	  bin/ebuild, bin/emaint, bin/fix-db.py, bin/md5check.py,
	  bin/repoman: Namespace sanitizing, step 4

2007-01-25 17:17  genone

	* [r5783] pym/portage/__init__.py, pym/portage/cache/metadata.py:
	  Fix some breakage caused by script malfunction

2007-01-25 17:07  genone

	* [r5782] pym/portage/__init__.py, pym/portage/cache/anydbm.py,
	  pym/portage/cache/flat_hash.py, pym/portage/cache/flat_list.py,
	  pym/portage/cache/fs_template.py, pym/portage/cache/metadata.py,
	  pym/portage/cache/metadata_overlay.py,
	  pym/portage/cache/sql_template.py, pym/portage/cache/sqlite.py,
	  pym/portage/cache/template.py, pym/portage/cache/util.py,
	  pym/portage/cache/volatile.py, pym/portage/checksum.py,
	  pym/portage/data.py, pym/portage/elog_modules/mod_custom.py,
	  pym/portage/emergehelp.py, pym/portage/getbinpkg.py,
	  pym/portage/gpg.py, pym/portage/localization.py,
	  pym/portage/versions.py: Namespace sanitizing, step 3

2007-01-25 16:25  genone

	* [r5781] pym/portage/cache/fs_template.py,
	  pym/portage/cache/sqlite.py,
	  pym/portage/elog_modules/mod_custom.py,
	  pym/portage/elog_modules/mod_mail.py,
	  pym/portage/elog_modules/mod_mail_summary.py,
	  pym/portage/elog_modules/mod_save.py,
	  pym/portage/elog_modules/mod_save_summary.py,
	  pym/portage/elog_modules/mod_syslog.py: Namespace sanitizing,
	  step 2b

2007-01-25 16:20  genone

	* [r5780] pym/portage/__init__.py, pym/portage/checksum.py,
	  pym/portage/data.py, pym/portage/debug.py, pym/portage/dep.py,
	  pym/portage/eclass_cache.py, pym/portage/exec.py,
	  pym/portage/gpg.py, pym/portage/localization.py,
	  pym/portage/locks.py, pym/portage/mail.py,
	  pym/portage/manifest.py, pym/portage/news.py,
	  pym/portage/output.py, pym/portage/process.py,
	  pym/portage/update.py, pym/portage/util.py,
	  pym/portage/versions.py: Namespace sanitizing, step 2 Rename
	  portage.exec to portage.process to avoid syntax errors

2007-01-25 15:51  genone

	* [r5779] pym/cache, pym/elog_modules: Adding compat symlinks for
	  cache and elog packages

2007-01-25 15:49  genone

	* [r5778] pym/cache, pym/cvstree.py, pym/dispatch_conf.py,
	  pym/eclass_cache.py, pym/elog_modules, pym/emergehelp.py,
	  pym/getbinpkg.py, pym/output.py, pym/portage, pym/portage.py,
	  pym/portage/__init__.py, pym/portage/cache,
	  pym/portage/checksum.py, pym/portage/const.py,
	  pym/portage/cvstree.py, pym/portage/data.py,
	  pym/portage/debug.py, pym/portage/dep.py,
	  pym/portage/dispatch_conf.py, pym/portage/eclass_cache.py,
	  pym/portage/elog_modules, pym/portage/emergehelp.py,
	  pym/portage/exception.py, pym/portage/exec.py,
	  pym/portage/getbinpkg.py, pym/portage/gpg.py,
	  pym/portage/localization.py, pym/portage/locks.py,
	  pym/portage/mail.py, pym/portage/manifest.py,
	  pym/portage/news.py, pym/portage/output.py,
	  pym/portage/selinux.py, pym/portage/update.py,
	  pym/portage/util.py, pym/portage/versions.py,
	  pym/portage/xpak.py, pym/portage_checksum.py,
	  pym/portage_const.py, pym/portage_data.py, pym/portage_debug.py,
	  pym/portage_dep.py, pym/portage_exception.py,
	  pym/portage_exec.py, pym/portage_gpg.py,
	  pym/portage_localization.py, pym/portage_locks.py,
	  pym/portage_mail.py, pym/portage_manifest.py,
	  pym/portage_news.py, pym/portage_selinux.py,
	  pym/portage_update.py, pym/portage_util.py,
	  pym/portage_versions.py, pym/xpak.py: Namespace sanitizing, step
	  1

2007-01-24 01:40  genone

	* [r5768] bin/repoman: demote KEYWORDS.missing to a warning to make
	  KEYWORDS='' valid

2007-01-23 23:49  zmedico

	* [r5765] pym/portage.py: Fix broken line number counting for
	  CONTENTS.

2007-01-23 21:38  zmedico

	* [r5763] pym/portage.py: For bug #142279, detect and warn about
	  null bytes in CONTENTS.

2007-01-23 18:03  genone

	* [r5760] man/portage.5: Update package.keywords section in
	  portage(5) with info about new ** token

2007-01-23 17:41  genone

	* [r5759] NEWS, pym/portage.py: Add new ** for package.keywords
	  token to bypass keyword visibility layer

2007-01-22 11:24  zmedico

	* [r5757] pym/portage.py: For bug #163219, handle binpkgs that have
	  missing PF metadata.

2007-01-21 22:14  zmedico

	* [r5749] pym/portage.py, pym/portage_exception.py: For bug
	  #163083, handle an UnsupportedAPIException thrown from the prerm
	  phase.

2007-01-21 07:20  zmedico

	* [r5746] pym/portage.py: To ease transition while Manifest 1 is
	  being removed, only require hashes that will exist before and
	  after the transition.

2007-01-21 00:40  zmedico

	* [r5743] pym/portage.py: Don't require MANIFEST2 hashes since that
	  can trigger excessive fetches when sufficient digests already
	  exist. Thanks to vapier for reporting.

2007-01-20 22:59  zmedico

	* [r5742] man/emerge.1: Minor fixes thanks to Fabio Correa
	  <facorread@alexandria.cc> in bug #162647.

2007-01-20 22:02  zmedico

	* [r5741] bin/ecompressdir: Use XARGS for portable xargs handling
	  when find doesn't find any files. (branches/2.1.2 r5740)

2007-01-20 20:07  zmedico

	* [r5737] bin/emerge: For bug #161356, prevent an AttributeError if
	  the exception has no __module__ attribute.

2007-01-20 20:02  zmedico

	* [r5736] pym/portage.py: For bug #161356, fix the SLOT match code
	  to handle a KeyError thrown due to a corrupt ebuild.

2007-01-20 16:06  genone

	* [r5735] pym/portage_const.py, pym/portage_manifest.py: Some minor
	  fixes for manifest code

2007-01-20 13:48  vapier

	* [r5734] doc/qa.docbook: fix programlisting output to match the
	  sections they are in

2007-01-20 13:43  vapier

	* [r5733] doc/qa.docbook: forgot to document strict alias warnings

2007-01-19 06:50  zmedico

	* [r5722] pym/portage_news.py: Fix syntax.

2007-01-19 01:16  zmedico

	* [r5718] pym/portage.py: For bug #162404, when sesandbox is
	  enabled, only log if PORT_LOGDIR is explicitly enabled since it
	  is possible that local SELinux security policies do not allow
	  ouput to be piped out of the sesandbox domain.

2007-01-18 23:50  zmedico

	* [r5716] bin/emerge: Simplify rsync timestamp.chk handling and
	  print the correct path for bug #50738. Thanks to jeka for
	  reporting on irc.

2007-01-18 20:48  zmedico

	* [r5714] pym/portage_dep.py: Raise an informative InvalidData
	  exception instead of 'TypeError: unsubscriptable object' when
	  pkgsplit returns None.

2007-01-18 20:37  zmedico

	* [r5713] pym/portage.py: Validate ebuild names inside
	  portdbapi.cp_list() in order to prevent problems later on. Thanks
	  to delusions for reporting on irc.

2007-01-18 20:06  genone

	* [r5711] pym/portage_news.py: Unified try-except-finally only
	  works with python-2.5

2007-01-18 20:03  antarus

	* [r5710] pym/portage_news.py: don't force a comparison

2007-01-18 20:00  genone

	* [r5709] pym/portage.py: Don't load a module if there is nothing
	  to process after filtering

2007-01-18 19:45  genone

	* [r5708] cnf/make.conf: update make.conf.example with per-module
	  filtering

2007-01-18 19:41  genone

	* [r5707] pym/portage.py: Allow per-module filtering based on
	  loglevels in addition to the global PORTAGE_ELOG_CLASSES one, add
	  wildcard support for loglevels

2007-01-18 19:27  genone

	* [r5706] pym/portage_news.py: more trivial fixes

2007-01-18 17:39  antarus

	* [r5705] pym/portage_news.py: but news lib path is global, not an
	  attr

2007-01-18 17:37  antarus

	* [r5704] pym/portage_news.py: I really meant NEWS_LIB_PATH
	  (/var/lib/gentoo) but decent idea to have a timestamp per repo ;)

2007-01-18 16:58  genone

	* [r5703] pym/portage_news.py: Attribute error

2007-01-18 16:45  genone

	* [r5702] bin/portageq: Syntax error

2007-01-18 07:15  antarus

	* [r5701] pym/portage_news.py: locking, try 100

2007-01-18 06:59  antarus

	* [r5700] pym/portage_news.py: lock file around chown/chmod

2007-01-18 06:34  antarus

	* [r5699] bin/emerge, pym/portage_news.py: fix apply_permissions
	  import and use keyworded args in the call, as well as
	  PORTAGE_INST_UID instead of root, also fix some spacies in
	  emerge, thanks for Zac for reporting

2007-01-18 06:23  antarus

	* [r5698] bin/emerge, pym/portage_util.py: dump emerge's normpath
	  in favor of portage_util's normalize_path

2007-01-18 06:19  antarus

	* [r5697] pym/portage_news.py: add try finally blocks around
	  locking for news

2007-01-18 04:18  vapier

	* [r5695] bin/misc-functions.sh: arm supports sane exec stack stuff
	  now

2007-01-18 04:17  vapier

	* [r5694] bin/misc-functions.sh: superh supports sane exec stack
	  stuff now

2007-01-18 01:53  vapier

	* [r5693] doc, doc/Makefile, doc/custom.xsl, doc/fragment,
	  doc/fragment/date, doc/fragment/version, doc/portage.docbook,
	  doc/qa.docbook: start documenting qa notices so antarus stops
	  whining

2007-01-17 22:58  zmedico

	* [r5691] pym/portage.py: Use elif where appropriate. Thanks to
	  ferringb.

2007-01-17 21:42  zmedico

	* [r5690] pym/portage.py: For bug #162404, spawn tee outside the
	  sesandbox domain so that it reads from a pipe between two
	  domains.

2007-01-17 09:07  zmedico

	* [r5689] bin/ebuild.sh: Remove one last reference to ${tarvars}.

2007-01-17 02:31  zmedico

	* [r5684] pym/portage.py: Fix elimination of duplicate virtuals
	  between the binpkg repo and installed packages.

2007-01-16 23:49  zmedico

	* [r5682] pym/portage.py: For --usepkgonly, allow
	  _expand_new_virtuals() to fall back to the vardb in case all
	  binaries aren't available.

2007-01-16 23:05  zmedico

	* [r5679] pym/portage.py: Prevent packages that are installed but
	  masked from being incorrectly flagged as "available" (unless
	  --usepkgonly is enabled, which currently has no package.mask
	  support).

2007-01-16 22:43  vapier

	* [r5678] bin/ecompressdir: make sure we rename links and not just
	  what they point to #162451

2007-01-16 22:37  vapier

	* [r5677] bin/isolated-functions.sh: make it executable

2007-01-16 21:59  zmedico

	* [r5676] bin/ebuild.sh: Use the portable -o option for tar. Thanks
	  to Timothy Redaelli <drizzt@gentoo.org> for the patch.

2007-01-16 20:56  zmedico

	* [r5675] pym/portage.py: Allow --usepkgonly/--getbinpkgonly to
	  work with installed deps when binpkgs aren't available for some
	  packages. Thanks to Brent Baude <ranger@gentoo.org> for
	  reporting.

2007-01-16 20:08  zmedico

	* [r5674] pym/portage.py: For consistency, respect the use_binaries
	  flag inside _expand_new_virtuals().

2007-01-16 16:59  antarus

	* [r5673] bin/emerge, pym/portage_const.py, pym/portage_news.py:
	  switch news timestamp and unread/read storage to
	  '/var/lib/gentoo' like the GLEP states.

2007-01-16 16:37  antarus

	* [r5672] pym/portage_news.py: If repo/profiles/news doesn't exist,
	  return 0 updates

2007-01-16 16:35  antarus

	* [r5671] tests/portage_dep/__init__.py, tests/portage_news,
	  tests/portage_news/__init__.py,
	  tests/portage_versions/__init__.py: fix a few typos in tests

2007-01-16 16:07  antarus

	* [r5670] bin/emerge, bin/portageq: Various glep 42 fixes, fix up
	  the portageq calls to fail properly, rewrite the news checking
	  code to check news for all repos with a name.

2007-01-16 07:59  zmedico

	* [r5669] bin/repoman: Replace mktemp with mkstemp since the former
	  is deprecated for security reasons.

2007-01-16 07:40  zmedico

	* [r5668] bin/repoman: Fix broken commitmessagefile handling.

2007-01-16 02:30  zmedico

	* [r5667] bin/repoman: For consistency, just use os.environ.

2007-01-16 02:19  zmedico

	* [r5666] bin/repoman: Make repoman commit removals together with
	  the other changes (instead of with the final Manifest commit).

2007-01-16 01:51  antarus

	* [r5665] pym/portage.py: dirty dirty lies

2007-01-16 01:37  vapier

	* [r5664] cnf/make.conf: make.conf is not a manual so only list
	  common FEATURES #161985

2007-01-16 01:36  vapier

	* [r5663] man/make.conf.5: document FEATURES=sesandbox #161985

2007-01-16 01:36  antarus

	* [r5662] pym/portage.py, pym/portage_news.py: ferringb pointed out
	  this portroot parameter, ended up not using it, try an
	  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.

2007-01-16 01:18  zmedico

	* [r5661] bin/repoman: Enable repoman to commit a Manifest alone
	  instead of bailing out with "Didn't find any changed files".

2007-01-16 00:49  antarus

	* [r5660] pym/portage_news.py: fix minor syntax issues with locking

2007-01-16 00:43  antarus

	* [r5659] pym/portage_news.py: merge didn't bring in portage_news,
	  no idea why

2007-01-16 00:42  antarus

	* [r5658] bin/emerge, bin/portageq, pym/portage.py,
	  pym/portage_const.py: merge glep42 into trunk

2007-01-16 00:40  antarus

	* [r5657] pym/portage_locks.py: Clean up imports in
	  portage_locks.py

2007-01-15 23:56  vapier

	* [r5656] bin/misc-functions.sh: elevate the importance of 64bit
	  clean code on 64bit hosts

2007-01-15 23:07  zmedico

	* [r5655] pym/portage.py: Make invalid deps non-fatal for some
	  phases.

2007-01-15 22:37  zmedico

	* [r5654] pym/portage.py: Clean up variables when finished.

2007-01-15 22:24  zmedico

	* [r5653] pym/portage.py: For bug #162275, make doebuild validate
	  *DEPEND and bail out if necessary.

2007-01-15 21:21  antarus

	* [r5652] bin/portageq: exithandler is not a portageq func, so
	  ignore it

2007-01-14 22:59  zmedico

	* [r5649] man/make.conf.5: Fix alphabetical order.

2007-01-14 22:53  zmedico

	* [r5648] man/make.conf.5: Document DOC_SYMLINKS_DIR.

2007-01-14 22:03  zmedico

	* [r5647] pym/portage.py: Don't warn about /etc/make.profile not
	  being a symlink if it has a parent file.

2007-01-14 21:56  zmedico

	* [r5646] bin/ebuild.sh: Disable the test phase when USE=test is
	  masked (for consistency with the fix for bug #69021).

2007-01-14 20:44  zmedico

	* [r5645] NEWS: For bug #69021, add news about FEATURES="test"
	  implying USE="test".

2007-01-14 20:05  zmedico

	* [r5644] man/make.conf.5: For bug #161975, document the fact that
	  GENTOO_MIRRORS supports mounted filesystem mirrors.

2007-01-14 08:12  zmedico

	* [r5643] man/ebuild.5, man/make.conf.5: Document PORTAGE_LOG_FILE,
	  update PORTAGE_TMPDIR path which now includes CATEGORY, and lots
	  of style/syntax fixes. Thanks to Arfrever Frehtes Taifersar
	  Arahesis <FFTA@WP.PL> from bug #161979.

2007-01-14 05:06  zmedico

	* [r5642] bin/dohtml: Fix dohtml so that it continues to install
	  files even after some fail. Thanks to brad walker
	  <bradmwalker@cableone.net> in bug #149745.

2007-01-13 23:04  zmedico

	* [r5635] pym/portage.py: Fix reversed arguments.

2007-01-13 22:51  zmedico

	* [r5634] pym/portage.py: Fix 'TypeError: not all arguments
	  converted during string formatting'. Thanks to marienz.

2007-01-13 19:25  antarus

	* [r5633] DEVELOPING, pym/portage.py,
	  tests/portage_dep/test_dep_getcpv.py,
	  tests/portage_dep/test_dep_getslot.py,
	  tests/portage_dep/test_isjustname.py,
	  tests/portage_dep/test_isvalidatom.py: fix tabs with patch from
	  Grobian and bug # 161911, fix developing a bit

2007-01-13 18:52  vapier

	* [r5632] bin/ebuild.sh: make sure people call
	  addread/addwrite/adddeny/addpredict correctly

2007-01-13 08:54  zmedico

	* [r5629] bin/emerge: Catch InvalidData exceptions for bad atoms
	  passed as emerge arguments.

2007-01-13 04:52  zmedico

	* [r5628] bin/prepalldocs: Fix a typo.

2007-01-13 03:52  zmedico

	* [r5627] bin/emerge: Obey the silent parameter when parsing
	  options.

2007-01-13 03:12  zmedico

	* [r5626] man/make.conf.5: Document PORTAGE_COMPRESS and
	  PORTAGE_COMPRESS_FLAGS.

2007-01-13 02:54  zmedico

	* [r5625] bin/emerge: For bug #144380, disable color at emerge
	  startup and then enable it only when it's absolutely sure that
	  color should be enabled (after EMERGE_DEFAULT_OPTS has been
	  parsed).

2007-01-13 00:42  zmedico

	* [r5624] bin/emerge: Use end_paragraph(1) instead of
	  add_line_break() so that there is really a blank line.

2007-01-13 00:36  zmedico

	* [r5623] bin/emerge: Send the unmerge failure message to stderr.

2007-01-12 23:24  zmedico

	* [r5621] bin/emerge: Send the slot collision notice to stderr and
	  only show minimal output in --quiet mode.

2007-01-12 23:07  antarus

	* [r5620] pym/portage.py: remove the last of the string module from
	  portage.py

2007-01-12 19:32  antarus

	* [r5613] tests/portage, tests/portage_dep, tests/portage_util,
	  tests/portage_versions: ignore py[co] in tests

2007-01-12 19:26  antarus

	* [r5612] DEVELOPING: Add a few pretty basic comments on writing
	  code, particularly things that portage used to do (and still
	  does) that are...a bit out of style ;)

2007-01-12 11:53  zmedico

	* [r5609] pym/portage_util.py: Fix another typo.

2007-01-12 11:49  zmedico

	* [r5608] pym/portage.py: Fix more typos.

2007-01-12 10:30  zmedico

	* [r5607] bin/emerge: Revert accidentally modified joins.

2007-01-12 10:08  zmedico

	* [r5606] bin/md5check.py: Fix a typo.

2007-01-12 09:57  zmedico

	* [r5605] bin/dispatch-conf: Fix a typo.

2007-01-12 09:08  antarus

	* [r5604] pym/portage.py, pym/portage_util.py: purge string from
	  portage.py, fix minor bug in portage_util

2007-01-12 09:07  antarus

	* [r5603] bin/repoman: purge string module from repoman

2007-01-12 09:00  antarus

	* [r5602] pym/portage_dep.py: another annoy space bug

2007-01-12 08:55  antarus

	* [r5601] bin/dispatch-conf, bin/emerge: fix "" " " bug

2007-01-12 08:30  antarus

	* [r5600] bin/emerge: purge string module from emerge

2007-01-12 08:29  zmedico

	* [r5599] pym/getbinpkg.py: Fix typos from the previous commit.

2007-01-12 08:27  zmedico

	* [r5598] pym/getbinpkg.py: Use startswith and endswith to simplify
	  code.

2007-01-12 08:19  antarus

	* [r5597] bin/archive-conf, bin/chkcontents, bin/dispatch-conf,
	  bin/dohtml, bin/md5check.py, bin/portageq, bin/regenworld: More
	  String deprecation

2007-01-12 08:08  antarus

	* [r5596] tests/portage/__init__.py, tests/portage_dep/__init__.py,
	  tests/portage_dep/test_dep_getcpv.py,
	  tests/portage_dep/test_dep_getslot.py,
	  tests/portage_dep/test_get_operator.py,
	  tests/portage_dep/test_isjustname.py,
	  tests/portage_dep/test_isvalidatom.py,
	  tests/portage_dep/test_match_from_list.py,
	  tests/portage_util/__init__.py,
	  tests/portage_util/test_grabdict.py,
	  tests/portage_util/test_normalizedPath.py,
	  tests/portage_util/test_stackDictList.py,
	  tests/portage_util/test_stackDicts.py,
	  tests/portage_util/test_stackLists.py,
	  tests/portage_util/test_uniqueArray.py,
	  tests/portage_util/test_varExpand.py,
	  tests/portage_versions/__init__.py: set Id on tests

2007-01-12 08:08  antarus

	* [r5595] pym/portage_dep.py, pym/portage_locks.py,
	  pym/portage_util.py, pym/portage_versions.py, pym/xpak.py: more
	  string deprecation

2007-01-12 07:58  antarus

	* [r5594] pym/cvstree.py, pym/getbinpkg.py: Begin the deprecation
	  of the string module

2007-01-12 06:49  zmedico

	* [r5593] pym/emergehelp.py: Remove a duplicate % character.

2007-01-12 06:18  zmedico

	* [r5592] pym/portage.py: Fix incremental virtuals code for the new
	  stricter catpkgsplit behavior.

2007-01-12 06:10  zmedico

	* [r5591] pym/portage_update.py: Prevent an InvalidData exception
	  during global updates due to the new stricter catpkgsplit
	  behavior.

2007-01-12 05:52  zmedico

	* [r5590] bin/ebuild.sh: For bug #88485, show the location of the
	  build log whenever a build fails.

2007-01-12 05:19  zmedico

	* [r5589] pym/portage.py: Return early from finddigest if findname2
	  found nothing.

2007-01-12 04:48  antarus

	* [r5588] pym/portage.py: FIx a bunch of random Except: statements
	  in portage.py, most of them are IO/OS related

2007-01-12 04:28  antarus

	* [r5587] pym/portage.py: os.cwd can return OSError (maybe IOError
	  with wrong perms for ./, will test actually), load_mod should be
	  IMportError, nuke a stupid try except around shuffle which used
	  to break years ago with old glibcs, remove try except around what
	  appears to be a regex? and make the try except around the unlink
	  a bit cleaner

2007-01-12 04:26  antarus

	* [r5586] pym/getbinpkg.py: EOFError is also important according to
	  Zac

2007-01-12 04:12  antarus

	* [r5585] pym/getbinpkg.py: getbinpkg.py fix except: open can be
	  IOERror or OSError and cPickle can throw an unpicklingError

2007-01-12 04:07  antarus

	* [r5584] pym/portage_dep.py, pym/portage_exec.py,
	  pym/portage_versions.py: comment the excepts in a few places

2007-01-12 03:51  antarus

	* [r5583] pym/eclass_cache.py: Fix broad except statement, should
	  only be KeyError

2007-01-12 03:46  antarus

	* [r5582] pym/portage_versions.py: portage_versions.py, more
	  string.atoi -> int, fix another except: that should be ValueError

2007-01-12 03:38  antarus

	* [r5581] pym/portage_dep.py, pym/portage_versions.py: Change
	  vercmp to use int() instead of string atoi, catch ValueError in
	  pkgcmp

2007-01-12 03:17  zmedico

	* [r5580] bin/emerge, pym/portage.py: For bug #147512, don't print
	  a cryptic error message when an EnvironmentError occurs. Also,
	  allow the user to get a traceback via --debug.

2007-01-12 03:02  vapier

	* [r5579] bin/misc-functions.sh: drop lazy bindings check once and
	  for all ... the system ldso should have the logic #71609

2007-01-12 02:44  zmedico

	* [r5578] bin/isolated-functions.sh, pym/portage.py: Fix ebuild
	  environment color.map support so that it works properly through
	  exec calls (since the color variables can not be directly
	  exported due to env pollution).

2007-01-11 23:15  zmedico

	* [r5577] pym/portage_versions.py: Allow catpkgsplit to be less
	  strict for atoms that come from installed packages (for backward
	  compatibility).

2007-01-11 22:30  vapier

	* [r5576] bin/ecompressdir: use cached suffix value and if it is
	  not valid, lets warn

2007-01-11 22:28  vapier

	* [r5575] bin/ecompressdir: dont compress files that are already
	  compressed and dont do sanity checking on the link dest as we
	  cant properly verify things like absolute symlinks

2007-01-11 22:21  zmedico

	* [r5574] pym/portage_versions.py: Use a global to ensure that the
	  valid_category regex is cached.

2007-01-11 21:52  antarus

	* [r5573] pym/portage_versions.py: SpanKY likes the latin
	  categories

2007-01-11 21:39  antarus

	* [r5572] pym/portage_versions.py: learn to spell

2007-01-11 21:38  antarus

	* [r5571] pym/portage_dep.py, pym/portage_versions.py,
	  tests/portage_dep/test_isvalidatom.py: Handle the exception in
	  isvalidatom, change it to use a portage exceptoin, thanks to Zac
	  for pointing this out

2007-01-11 21:32  antarus

	* [r5570] pym/portage_versions.py: Fix comments for catpkgsplit

2007-01-11 21:29  antarus

	* [r5569] tests/portage_dep/test_isvalidatom.py: catch and validate
	  new ValueError Exception

2007-01-11 21:29  antarus

	* [r5568] pym/portage_versions.py: Valid categories in catpkgsplit

2007-01-11 21:18  antarus

	* [r5567] tests/portage_dep/test_isvalidatom.py: print the
	  incorrect atom

2007-01-11 20:59  antarus

	* [r5566] tests/portage_dep/test_dep_getcpv.py: add some invalid
	  ops to getcpv to make sure it returns the cpv still

2007-01-11 20:39  zmedico

	* [r5565] bin/emerge: For bug #50738, inform the user about the
	  location of the timestamp file and that it can be removed to
	  force sync.

2007-01-11 20:37  antarus

	* [r5564] tests/portage_dep/test_isjustname.py: isjustname tests

2007-01-11 20:22  antarus

	* [r5563] pym/portage_dep.py: elaborate a bit on isjustname()

2007-01-11 20:20  antarus

	* [r5562] tests/portage_dep/test_dep_getslot.py: getslot tests

2007-01-11 19:49  antarus

	* [r5561] tests/portage_dep/test_dep_getcpv.py: I owed brian
	  harring 3.50, for th previous advice about assertEqual/NotEqual,
	  oh, add dep_getcpv tests too

2007-01-11 19:43  antarus

	* [r5560] tests/portage_dep/test_get_operator.py,
	  tests/portage_dep/test_isvalidatom.py,
	  tests/portage_dep/test_match_from_list.py,
	  tests/portage_util/test_normalizedPath.py,
	  tests/portage_util/test_stackDictList.py,
	  tests/portage_util/test_stackDicts.py,
	  tests/portage_util/test_stackLists.py: take some advice and use
	  AssertEqual/NotEqual

2007-01-11 19:28  antarus

	* [r5559] tests/portage_dep/test_get_operator.py: add some invalid
	  operators to the test to denote that get_operator doesn't
	  validate them, also make sure some common mis-typed things are
	  tested (=> instead of >= fex)

2007-01-11 19:24  antarus

	* [r5558] tests/portage_dep/test_get_operator.py: get_operator
	  tests

2007-01-11 19:06  antarus

	* [r5557] tests/portage_dep/test_isvalidatom.py,
	  tests/portage_util/test_grabdict.py: Commit unit tests, hey look
	  THEY ARE BROKEN

2007-01-11 19:02  antarus

	* [r5556] pym/portage_util.py: docs for grabdict

2007-01-11 18:50  vapier

	* [r5555] bin/dodoc, bin/doinfo, bin/ecompress, bin/ecompressdir,
	  bin/misc-functions.sh, bin/prepalldocs, bin/prepallinfo,
	  bin/prepallman, bin/prepinfo, bin/prepman: add support for
	  user-customizable compression #9870

2007-01-11 18:09  zmedico

	* [r5554] pym/portage.py: Use dict.get() to prevent a potential
	  (bug unlikely) KeyError.

2007-01-11 17:34  zmedico

	* [r5553] pym/portage_exception.py: Use isinstance(foo, basestring)
	  so that it can work with unicode strings too.

2007-01-11 10:08  genone

	* [r5552] man/make.conf.5: Add note that any value enables
	  EPAUSE_IGNORE

2007-01-11 09:09  genone

	* [r5551] pym/portage.py: Make FEATURES=test imply USE=test

2007-01-11 09:07  genone

	* [r5550] pym/portage_util.py: continue is only for loops

2007-01-11 09:03  antarus

	* [r5549] tests/portage_util/test_stackLists.py: add stack_lists
	  checks

2007-01-11 08:47  genone

	* [r5548] pym/portage_util.py: Extend ignore filter for grablines
	  (bug #144445)

2007-01-11 08:45  antarus

	* [r5547] tests/portage_util/test_stackDicts.py,
	  tests/portage_util/test_uniqueArray.py,
	  tests/portage_util/test_varExpand.py: More portage_util tests

2007-01-11 08:22  genone

	* [r5546] pym/portage_exception.py: Don't escape strings in
	  PortageException as that breaks newline handling (bug 147785)

2007-01-11 07:52  genone

	* [r5545] bin/emerge: Rename 'Last Sync' to 'Timestamp of tree' to
	  clarify the meaning (bug #150051)

2007-01-11 07:19  genone

	* [r5544] cnf/make.conf: Add 'stricter' description, misc typo
	  fixes, patch by Max Lorenz (bug #153755)

2007-01-11 07:10  genone

	* [r5543] cnf/make.conf, man/make.conf.5: Update CCACHE docs, patch
	  by Ryan Hill (bug #156865)

2007-01-11 06:58  genone

	* [r5542] man/ebuild.5: Remove RESTRICT=sandbox docs until bug
	  #161045 is resolved

2007-01-11 06:18  zmedico

	* [r5541] tests/__init__.py: Remove / character from module names.

2007-01-11 05:29  antarus

	* [r5540] tests/__init__.py, tests/portage/test_match_from_list.py,
	  tests/portage_dep, tests/portage_dep/__init__.py,
	  tests/portage_dep/test_match_from_list.py: more test re-arranging
	  as Alec can't read what functions are in what files

2007-01-11 05:12  antarus

	* [r5539] TEST-NOTES: edit test-notes

2007-01-11 05:10  antarus

	* [r5538] tests/__init__.py: remove bogs test dir, add
	  portage_versions

2007-01-11 05:09  antarus

	* [r5537] tests/__init__.py, tests/portage/test_vercmp.py,
	  tests/portage_versions, tests/portage_versions/__init__.py,
	  tests/portage_versions/test_vercmp.py: Add a bit of path mangling
	  to allow deeper tests

2007-01-10 23:53  zmedico

	* [r5536] bin/emerge: Rename
	  depgraph._invalid_depgraph_is_acceptable() to
	  _accept_collisions() for a better description.

2007-01-10 23:46  zmedico

	* [r5535] bin/emerge: Don't allow slot collision nodes to block
	  other packages since blocker validation is only able to account
	  for one package per slot.

2007-01-10 23:29  zmedico

	* [r5534] bin/emerge: For bug #161422, make slot collisions
	  non-fatal in cases where an invalid depgraph is acceptable
	  (--fetchonly, for example).

2007-01-10 21:13  zmedico

	* [r5533] tests/runTests: Fix sys.path so that imports work
	  correctly.

2007-01-10 18:46  zmedico

	* [r5532] tests/__init__.py: Fix module loading.

2007-01-10 13:51  antarus

	* [r5531] TEST-NOTES: add a few tips on adding tests, and kinks in
	  the current system, I hope to fix the import bug soon

2007-01-10 13:45  antarus

	* [r5530] tests/portage_util/test_util.py: remove monolithic test

2007-01-10 13:45  antarus

	* [r5529] tests/portage_util/test_normalizedPath.py,
	  tests/portage_util/test_stackDictList.py,
	  tests/portage_util/test_stackDicts.py,
	  tests/portage_util/test_stackLists.py,
	  tests/portage_util/test_uniqueArray.py,
	  tests/portage_util/test_util.py,
	  tests/portage_util/test_varExpand.py: split out util tests

2007-01-10 13:38  antarus

	* [r5528] tests/portage/test_atoms.py,
	  tests/portage/test_vercmp.py: rename atoms back to vercmp

2007-01-10 13:37  antarus

	* [r5527] tests/portage/test_match_from_list.py: shift test cases
	  around

2007-01-10 13:37  antarus

	* [r5526] tests/portage/test_atoms.py: shift test cases around

2007-01-10 13:35  antarus

	* [r5525] tests/__init__.py, tests/portage,
	  tests/portage/__init__.py, tests/portage/test_atoms.py,
	  tests/portage_util, tests/portage_util/__init__.py,
	  tests/portage_util/test_util.py, tests/test_atoms.py,
	  tests/test_util.py: Take Genone's suggestion and break the
	  modules up into module oriented fashion. Tests for portage.py go
	  in portage/ and so on and so forth...

2007-01-10 12:52  antarus

	* [r5524] tests/test_atoms.py: Fix Fail test

2007-01-10 12:50  zmedico

	* [r5523] tests/test_atoms.py: Make the tests pass.

2007-01-10 12:30  antarus

	* [r5522] tests/__init__.py, tests/test_atoms.py,
	  tests/test_util.py, tests/test_vercmp.py: rework test import
	  code, rename test_vercmp to be more generic, add tests for =*
	  glob matches

2007-01-10 11:41  zmedico

	* [r5521] pym/portage_dep.py: Use startwith to simplify =*
	  matching.

2007-01-10 11:25  zmedico

	* [r5520] pym/portage_dep.py: Minor fixes for the =* operator (I
	  hope we're done now :).

2007-01-10 11:02  genone

	* [r5519] pym/portage_dep.py: I hate this thing

2007-01-10 10:02  genone

	* [r5518] pym/portage_dep.py: minor performance improvement

2007-01-10 09:50  genone

	* [r5517] pym/portage_dep.py: also sanitize mycpv for =* handling

2007-01-10 09:40  genone

	* [r5516] pym/portage_dep.py: =* operator sucks

2007-01-10 09:07  genone

	* [r5515] pym/portage_dep.py: Documenting the loop a bit

2007-01-10 08:55  genone

	* [r5514] pym/portage_dep.py: Make the =* operator more robust

2007-01-10 08:34  genone

	* [r5513] pym/portage_dep.py: Attach the problematic data to the
	  exception for debugging

2007-01-10 08:18  genone

	* [r5512] pym/portage.py, pym/portage_dep.py: Stupid me, shouldn't
	  jsut move a part of the patch

2007-01-10 08:08  genone

	* [r5511] pym/portage.py, pym/portage_dep.py: Always use vercmp for
	  cpv comparisons

2007-01-10 07:44  genone

	* [r5510] man/emerge.1: Make env variable example about USE shell
	  independent

2007-01-10 06:18  genone

	* [r5509] NEWS, bin/misc-functions.sh, pym/portage.py: create
	  symlinks to html documentation if DOC_SYMLINK_DIR is set,
	  original patch by TGL <degrenier@easyconnect.fr> (bug #67130)

2007-01-10 04:34  genone

	* [r5508] pym/portage.py: make.globals has no business in profiles

2007-01-10 04:22  zmedico

	* [r5507] bin/doman, bin/ebuild.sh, bin/isolated-functions.sh,
	  bin/misc-functions.sh, bin/preplib, bin/prepman, bin/prepstrip:
	  For bug #160075, send all 'QA Notice' messages to eqawarn. Also,
	  modify eqawarn to use vecho and send ouput to stderr.

2007-01-10 03:24  genone

	* [r5506] man/ebuild.5, man/make.conf.5: Add elog related variables
	  to make.conf(5) with a pointer to make.conf.example. Add elog()
	  description to ebuild(5) and update einfo() description.

2007-01-10 02:26  genone

	* [r5505] cnf/make.conf.x86.diff: Update x86 CFLAGS section,
	  original patch by Peter Gantner (bug #133402)

2007-01-10 01:40  genone

	* [r5504] bin/ebuild.sh: Misc typo fixes, patch by Benno
	  Schulenberg (bug #157812)

2007-01-09 22:23  zmedico

	* [r5503] bin/emerge: For bug #160971, rename dir.gz to dir.gz.old
	  when necessary to avoid problems with install-info. Thanks to Ed
	  Catmur <ed@catmur.co.uk> for the initial patch.

2007-01-09 20:34  zmedico

	* [r5502] man/portage.5, pym/portage.py: For bug #161003, disallow
	  virtuals in package.provided and document it. Thanks to Robin
	  Johnson <robbat2@gentoo.org> for the initial patch.

2007-01-09 18:54  zmedico

	* [r5499] pym/portage.py: For bug #161103, don't skip
	  collision-protect checks in cases where the beginning of the file
	  path matches a symlink but is not acually inside a symlinked
	  directory (check the path against symlink + os.path.sep).

2007-01-09 04:25  zmedico

	* [r5496] pym/portage.py: Make digestgen() force fetch unless all
	  required digest types are available. Thanks to jokey for
	  reporting on irc.

2007-01-09 02:51  zmedico

	* [r5495] pym/portage.py: Split PORTAGE_ELOG_CLASSES outside the
	  loop for better efficiency.

2007-01-09 02:35  genone

	* [r5494] NEWS: Update NEWS with eqawarn and 'ebuild foo test'
	  changes

2007-01-09 02:18  antarus

	* [r5493] pym/portage_const.py: This file apparently uses spaces to
	  line everything up pretty (I have weird tabs set, so spacies are
	  good :P)

2007-01-09 02:12  antarus

	* [r5492] bin/ebuild.sh: Okies this works locally for me now (and
	  Zac)

2007-01-09 01:56  genone

	* [r5491] cnf/make.conf: Mention new QA loglevel in
	  make.conf.example

2007-01-09 01:43  genone

	* [r5490] bin/isolated-functions.sh,
	  pym/elog_modules/mod_syslog.py: Add new eqawarn function and QA
	  loglevel to be used for QA messages

2007-01-09 01:34  antarus

	* [r5489] bin/ebuild.sh: Zac pointed out that the retcodes would be
	  wrong if stuff failed...Yeah...

2007-01-09 01:23  genone

	* [r5488] bin/ebuild.sh: Disable qa_source usage until it actually
	  works

2007-01-09 01:21  genone

	* [r5487] bin/ebuild, bin/ebuild.sh: Always run src_test when
	  calling 'ebuild foo test'

2007-01-09 01:18  genone

	* [r5486] pym/portage_const.py: Make PORTAGE_BASE_PATH dynamic
	  based on __file__

2007-01-08 23:47  antarus

	* [r5485] bin/ebuild.sh: Antarus sucks at bash, thanks for Genone
	  for reporting this major bug.

2007-01-08 21:15  antarus

	* [r5484] bin/ebuild.sh: Implement QA checks that attempt to detect
	  changed shopts and IFS in ebuild/eclass/profile code. Spit a
	  warning if that is the case. I expect this check will eventually
	  reset the shopts and IFS, but in this case it may break things
	  that depend on the current behavior

2007-01-08 16:20  zmedico

	* [r5483] pym/cache/util.py: For bug #160893, ignore a KeyError
	  during cache cleansing since that key isn't wanted anyway.

2007-01-08 05:27  zmedico

	* [r5482] NEWS: s/suffix/version prefix/ since it really is a
	  prefix for the version string.

2007-01-08 05:09  zmedico

	* [r5481] NEWS: s/prefix/suffix/ Thanks to hydrogen for reporting
	  on irc.

2007-01-07 17:59  zmedico

	* [r5480] bin/repoman: Don't automatically fix digests in --pretend
	  mode.

2007-01-06 23:07  zmedico

	* [r5478] pym/portage.py: Don't swallow an IOError if it is thrown
	  from the aux_get call in portdbapi.getfetchlist().

2007-01-06 22:39  zmedico

	* [r5477] bin/repoman: Fix the digestentry.unused check so that it
	  works properly when old-style files/digest-* don't exist.

2007-01-06 04:35  zmedico

	* [r5471] bin/repoman: For bug #160310, remove the line
	  continuation syntax check since it's still possible for it to
	  generate false positives.

2007-01-06 02:10  zmedico

	* [r5470] bin/repoman: For bug #160310, allow \ inside `` quotes in
	  order to prevent a false Line continuation ("\") Syntax Error.

2007-01-06 01:36  vapier

	* [r5469] bin/misc-functions.sh: force C locale for now when
	  parsing gcc log files #160234

2007-01-06 01:06  vapier

	* [r5468] bin/misc-functions.sh: revert previous changes ...
	  ruby.eclass is wrongly polluting env with nullglob

2007-01-06 00:30  zmedico

	* [r5467] bin/misc-functions.sh: Fix one more potential false glob
	  match.

2007-01-06 00:16  zmedico

	* [r5466] bin/misc-functions.sh: Fix shell glob logic that leads to
	  false positives. Thanks to Flameeyes for reporting.

2007-01-05 22:39  zmedico

	* [r5465] bin/emerge: For bug #160299, make sure that emerge sees a
	  somewhat valid COUNTER even when the counter is missing.

2007-01-05 11:29  zmedico

	* [r5464] pym/portage.py: For python-2.3 compatibility, don't pass
	  an iterable into dict.update().

2007-01-05 01:26  zmedico

	* [r5463] bin/repoman: Make repoman use portage.normalize_path
	  instead of os.path.normpath. This might solve an issue with
	  incorrect repolevel detection that was reported by drizzt.

2007-01-04 21:18  zmedico

	* [r5462] pym/portage_data.py: Use -G instead of -g (typo from the
	  previous commit).

2007-01-04 21:13  zmedico

	* [r5461] pym/portage_data.py: As a workaround for bug #147625,
	  spawn `id -g portage` in order to get a list of groups for the
	  portage user without the need to call grp.getgrall().

2007-01-04 03:23  zmedico

	* [r5459] pym/getbinpkg.py: Make sure that myid is defined for the
	  previous commit.

2007-01-04 03:11  zmedico

	* [r5458] pym/getbinpkg.py: When fetching metadata from a binhost,
	  reconnect if the http server closes the connection before sending
	  a valid response. Thanks to ranger for reporting.

2007-01-04 00:19  zmedico

	* [r5457] pym/portage.py: Export EBUILD_PHASE="" when running
	  misc-function.sh in order to prevent bogus phase values coming
	  from ${T}/environment. Thanks to solar for reporting.

2007-01-04 00:06  zmedico

	* [r5456] bin/emerge: Implement distlocks for --getbinpkg so that
	  it works properly when parallel-fetch is enabled. Thanks to Brent
	  Baude <ranger@gentoo.org> for reporting.

2007-01-03 22:32  zmedico

	* [r5455] pym/portage_exec.py: Make sure stderr is flushed since
	  os._exit doesn't flush stdio buffers.

2007-01-03 22:30  zmedico

	* [r5454] pym/getbinpkg.py: Make sure stderr is flushed since
	  os._exit doesn't flush stdio buffers.

2007-01-03 22:25  zmedico

	* [r5453] pym/getbinpkg.py: Use os._exit instead of sys.exit in a
	  forked child process.

2007-01-03 06:46  zmedico

	* [r5452] pym/portage.py: When using the spawn's returnpid
	  parameter, manually remove the returned pids from
	  portage_exec.spawned_pids.

2007-01-03 02:50  genone

	* [r5451] pym/dbapi: undo

2007-01-03 02:46  genone

	* [r5450] pym/dbapi, pym/dbapi/__init__.py, pym/dbapi/binpkg.py,
	  pym/dbapi/ebuild.py, pym/dbapi/fake.py, pym/dbapi/vardb.py,
	  pym/portage.py: Allow - in elog module names

2007-01-03 02:32  vapier

	* [r5449] bin/check-implicit-pointer-usage.py,
	  bin/misc-functions.sh, pym/portage.py: add support for scanning
	  of build logs for common issues #111436

2007-01-02 21:37  zmedico

	* [r5448] pym/portage.py: Try to create DISTDIR before disabling
	  fetch due to it's nonexistence. Thanks to astinus for reporting.

2007-01-02 10:42  zmedico

	* [r5444] bin/repoman, pym/portage.py: Optimize dep_zapdeps to work
	  without a vartree when called by repoman.

2007-01-02 04:54  zmedico

	* [r5443] pym/portage.py: Don't bother to list the contents of
	  directories before they are unmerged since it triggers
	  unnecessary stat calls. Thanks to James Cloos <cloos@jhcloos.com>
	  for reporting.

2007-01-02 03:31  vapier

	* [r5442] bin/misc-functions.sh, bin/prepall: merge all of the QA
	  related checks together

2007-01-02 01:38  zmedico

	* [r5441] pym/portage.py: Fix the writemsg noiselevel from the
	  previous commit.

2007-01-02 01:30  zmedico

	* [r5440] pym/portage.py: For bug #159638, fix the
	  UnboundLocalError in vartree.getprovide().

2006-12-31 15:35  zmedico

	* [r5438] bin/repoman: For bug #159224, use separate xmatch caches
	  for each value of ACCEPT_KEYWORDS.

2006-12-31 14:07  zmedico

	* [r5437] pym/portage.py: Use slot atom matching to simplify
	  detection of downgrades relative to installed packages.

2006-12-31 03:28  zmedico

	* [r5434] pym/cache/sqlite.py: For bug #159518, increase the
	  "database is locked" timeout.

2006-12-31 00:35  zmedico

	* [r5433] pym/portage.py: Send errors in elog_process() to stderr
	  via writemsg.

2006-12-30 21:38  zmedico

	* [r5432] bin/emerge, pym/portage.py: Use return values instead of
	  direct sys.exit(123) calls when a merge fails.

2006-12-30 21:14  zmedico

	* [r5431] pym/portage.py: Use a try/finally block to ensure that
	  the alarm will always be cancelled appropriately.

2006-12-30 21:02  zmedico

	* [r5430] pym/portage.py: For bug #141361, use an alarm signal to
	  implement a 1 minute timeout for processing inside an elog
	  module.

2006-12-30 20:15  zmedico

	* [r5429] pym/portage.py: Correct the package.mask lookup order in
	  getmaskingreason().

2006-12-30 20:06  zmedico

	* [r5428] pym/portage.py: For bug #151326, prevent invalid comments
	  from being returned by portage.getmaskingreason().

2006-12-30 10:32  zmedico

	* [r5425] bin/ebuild.sh: Punt the abort_unpack() handler since it's
	  pointless anyway.

2006-12-30 05:12  zmedico

	* [r5424] bin/emerge: Fix 'TypeError: unpack non-sequence' that
	  occurs if myparent is None.

2006-12-30 04:49  zmedico

	* [r5423] bin/emerge: Do some small fixes to prevent slot collision
	  nodes from interfering with the depgraph.

2006-12-30 04:11  zmedico

	* [r5422] pym/portage.py: Improve the logic for bug #159360 to
	  ensure that an actual upgrade is selected without any downgrades.

2006-12-30 03:54  zmedico

	* [r5421] bin/emerge, pym/portage.py: Be slightly more defensive
	  when loading the vdb/blockers caches.

2006-12-30 03:15  zmedico

	* [r5420] bin/emerge: Sort the --info USE flags for bug #159161.

2006-12-30 02:27  zmedico

	* [r5419] pym/portage.py: For bug #159360, make sure that the
	  highest available new-style virtual is selected even if it has
	  depes that aren't already installed.

2006-12-30 01:35  vapier

	* [r5418] bin/prepall: detect incorrect absolute symlinks in
	  libdirs

2006-12-30 01:21  vapier

	* [r5417] bin/misc-functions.sh: fixup style

2006-12-29 23:18  zmedico

	* [r5416] bin/emerge: Send stuff that's not a warning or error to
	  stdout rather than stderr.

2006-12-29 22:55  solar

	* [r5415] bin/emerge: - keep things quiet when uninstalling

2006-12-29 22:24  zmedico

	* [r5414] pym/portage.py: Do some minor cleanup in the dep_zapdeps
	  downgrade avoidance logic (while working toward a fix for bug
	  #159360).

2006-12-29 11:10  zmedico

	* [r5413] bin/emerge: For bug #159310, don't show a slot collision
	  notice if there are unresolvable blockers.

2006-12-29 02:17  zmedico

	* [r5412] bin/emerge: Add some docs for the blockers cache format.

2006-12-29 01:57  zmedico

	* [r5411] bin/emerge: For bug #159161, make emerge --info show
	  USE_EXPAND flags similar to the way it does in merge list output.

2006-12-29 00:22  zmedico

	* [r5410] bin/emerge: Use a pickle to cache blockers for all
	  installed packages so that dep_check doesn't have to be called
	  for every single installed package on every invocation of emerge.

2006-12-28 21:40  zmedico

	* [r5409] pym/portage.py: For bug #159295 and python-2.3
	  compatibility, don't assume that dict.update can use an iterable.

2006-12-28 21:14  zmedico

	* [r5408] bin/prepstrip: For bug #159252, don't preserve file
	  attributes when copying files for installsources. Thanks to Ed
	  Catmur <ed@catmur.co.uk> for this patch.

2006-12-28 14:48  zmedico

	* [r5407] pym/portage.py: Make vardbapi.cpv_counter() use aux_get
	  for caching.

2006-12-28 14:40  zmedico

	* [r5406] pym/portage.py: Make vartree.getslot() use the dbapi for
	  aux_get caching.

2006-12-28 14:32  zmedico

	* [r5405] pym/portage.py: Allow the list of keys cached by the
	  vardb to change without forcing a cache version bump.

2006-12-28 13:43  zmedico

	* [r5404] man/emerge.1, pym/emergehelp.py: Update emerge --metadata
	  docs for more clarity.

2006-12-28 13:14  zmedico

	* [r5403] pym/portage.py: Make portdbapi.flush_cache() consistent
	  with vardbapi.flush_cache().

2006-12-28 13:07  zmedico

	* [r5402] bin/emerge, pym/portage.py: Use a pickle to cache vdb
	  metadata. This greatly improves the performance for loading the
	  vdb when the buffer cache is cold.

2006-12-28 01:39  antarus

	* [r5401] man/emerge.1: try to give the emerge manpage a facelift,
	  upgrade clean and prune docs, change 'dependency' to 'atom',
	  other minor fixes

2006-12-27 00:11  zmedico

	* [r5398] pym/portage.py: Allow dep_check to use the global db for
	  compatibility (fixes python-updater breakage).

2006-12-26 02:43  zmedico

	* [r5394] pym/cache/volatile.py: Make _setitem do a deepcopy just
	  in case.

2006-12-25 20:42  zmedico

	* [r5392] bin/ebuild.sh: For bug #148603, when an ebuild dies,
	  print eclasses that are from overlays. Thanks to Alec Warner for
	  the initial patch.

2006-12-25 19:13  zmedico

	* [r5391] bin/ebuild.sh: Use a SIGTERM signal to support a die call
	  inside of a subshell.

2006-12-25 09:15  zmedico

	* [r5390] pym/portage_data.py: Make sure that
	  portage_group_warning() will be shown even in quiet mode.

2006-12-25 09:02  zmedico

	* [r5389] bin/emerge: When the user has insufficient access
	  privileges, specify whether superuser access or portage group
	  access is required. When only portage group access is required
	  but the user is not in the portage group, call
	  portage_data.portage_group_warning() to remind people that the
	  portage group is a system administration group.

2006-12-25 06:04  zmedico

	* [r5388] bin/emerge: Prevent the regen action from running in
	  --pretend mode.

2006-12-25 05:42  zmedico

	* [r5387] pym/portage_data.py: Drop the warning messages for users
	  that aren't in the portage group since tpordbapi now correctly
	  puts the on-disk cache into readonly mode in this case (and
	  allows metadata generation in-memory if necessary).

2006-12-25 05:27  antarus

	* [r5386] pym/portage.py: Docstrings for mergeme...

2006-12-25 04:52  antarus

	* [r5385] pym/portage.py: more docstrings..

2006-12-24 23:49  zmedico

	* [r5384] pym/portage.py: Make sure that bindbapi makes EAPI
	  correctly default to 0 in all possible cases.

2006-12-24 23:17  zmedico

	* [r5383] pym/portage.py: Make bindbapi.aux_get() selectively cache
	  metadata in order to optimize dep matching (like portdbapi does).

2006-12-24 20:03  zmedico

	* [r5382] pym/portage.py: Clone cached match results before
	  returning them from portdbapi.xmatch(). Thanks to Brian
	  <dol-sen@telus.net> for reporting this issue.

2006-12-24 06:20  antarus

	* [r5372] pym/portage.py: cptot appears to be unused, punting it
	  along with this commented out function, it appears to be unused
	  as well.

2006-12-24 06:19  antarus

	* [r5371] pym/portage.py: Docstrings for doebuild

2006-12-24 06:10  antarus

	* [r5370] pym/portage.py: More code cleanup, packagetree appears to
	  be completely unused, so lets remove it in favor of inheriting
	  from object

2006-12-24 02:04  antarus

	* [r5369] man/emerge.1: Manpage fix for bug # 158983, thanks to
	  Fabio Correa for the patch

2006-12-23 20:09  zmedico

	* [r5368] pym/cache/metadata_overlay.py: For forward compatibility,
	  make metadata_overlay pass any additional positional and keyword
	  parameters into the super constructor.

2006-12-23 19:15  zmedico

	* [r5367] NEWS, RELEASE-NOTES: For bug #158931, add some release
	  notes to explain performance penalties for dependency
	  calculations.

2006-12-23 16:13  antarus

	* [r5366] pym/portage.py: move actionmap_deps out of global scope
	  and into doebuild where it is actually used, add docstrings to
	  config class in the meantime.

2006-12-23 15:53  antarus

	* [r5365] pym/portage.py: More Docstrings in portage.py

2006-12-23 10:19  genone

	* [r5364] pym/portage.py: disable display of elapsed time for
	  collision-protect as it's for benchmarking purposes and useless
	  to most people.

2006-12-23 10:06  genone

	* [r5363] pym/elog_modules/mod_save_summary.py: List package in
	  summary logfile

2006-12-23 06:00  antarus

	* [r5362] pym/portage.py: startime is set up in treewalk, so no
	  need to do it globally...

2006-12-23 05:17  zmedico

	* [r5361] bin/emerge: Show the "Calculating dependencies .. done!"
	  message with --resume since the spinner now runs inside the
	  depgraph constructor. Thanks to antarus for reporting.

2006-12-23 04:06  zmedico

	* [r5360] bin/repoman: Only write repo.stats and repo.fails when
	  the repoman user has write access to /var/cache/edb.

2006-12-23 01:56  zmedico

	* [r5359] pym/portage.py: Combine two default EAPI settings in
	  portdbapi.aux_get().

2006-12-23 01:35  zmedico

	* [r5358] bin/ebuild.sh: Fix inverted EAPI default logic.

2006-12-23 00:21  zmedico

	* [r5357] pym/cache/metadata_overlay.py: Make metadata_overlay use
	  the autocommits attribute of the underlying database.

2006-12-23 00:11  zmedico

	* [r5356] pym/cache/metadata_overlay.py, pym/portage.py: Pass a
	  cache instance into metadata_overlay since it doesn't have enough
	  information to construct one itself.

2006-12-22 23:27  zmedico

	* [r5355] pym/cache/volatile.py: Add volatile cache module missing
	  from the previous commit.

2006-12-22 23:26  zmedico

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

2006-12-22 22:55  antarus

	* [r5353] pym/portage.py: Remove two old functions, appear to be
	  relics from 2.0.X branch, no longer used by portage or gentoolkit
	  or esearch

2006-12-22 22:29  antarus

	* [r5351] pym/portage_exec.py: I hate docstrings

2006-12-22 22:22  zmedico

	* [r5350] bin/ebuild.sh, pym/portage.py: Use a pipe instead of a
	  temp file for the depend phase.

2006-12-22 10:02  zmedico

	* [r5349] bin/emerge: Revert the default choice for --ask --unmerge
	  (bug #158354) because people are complaining.

2006-12-22 01:19  zmedico

	* [r5348] bin/emerge: For bug #158649, allow --buildpkgonly to
	  bypass the fakedb population like --nodeps does.

2006-12-22 00:53  zmedico

	* [r5347] bin/ebuild.sh, pym/portage.py: Fix the "help" phase so
	  that it works without build dirs.

2006-12-21 08:09  zmedico

	* [r5346] bin/emerge: Make emerge enable backward compatibility
	  mode for dep_check() calls on installed packages so that it can
	  gracefully invalid atoms or dep syntax.

2006-12-21 07:44  zmedico

	* [r5345] pym/portage.py, pym/portage_dep.py: Create a backward
	  compatibility mode for dep_check() so that emerge can use it to
	  gracefully deal with installed packages that have invalid atoms
	  or dep syntax.

2006-12-21 02:45  zmedico

	* [r5344] pym/portage.py: Use the return value from setdefault to
	  avoid an extra dict lookup.

2006-12-21 02:36  zmedico

	* [r5343] pym/elog_modules/mod_mail_summary.py: For bug #158658,
	  fix the 'TypeError: int argument required' that happens in the
	  finalize() routine.

2006-12-21 01:54  zmedico

	* [r5342] pym/portage.py: For bug #158632, make aux_get caching
	  safe for missing values in cache entries.

2006-12-21 01:11  zmedico

	* [r5341] bin/emerge: For installed packages with invalid
	  depstrings, tell the user the location of the *DEPEND files.

2006-12-21 00:32  zmedico

	* [r5340] bin/emerge, pym/portage.py: When a removal phase fails,
	  tell the user where the ebuild is and advise them that the ebuild
	  can be removed in order to skip the removal phases.

2006-12-20 23:09  zmedico

	* [r5339] bin/emerge: For bug #158558, ignore invalid depstrings
	  for packages that are being replaced anyway (otherwise the user
	  would be forced to manually unmerge the package).

2006-12-20 22:09  zmedico

	* [r5338] pym/cache/metadata_overlay.py: More intelligently handle
	  CacheCorruption errors in the writable cache.

2006-12-20 21:19  zmedico

	* [r5337] bin/emerge: For bug #158649, minimize portdb cache pulls
	  for installed packages when --nodeps is enabled. This patch also
	  allows the vardb lock to be released before doing any cache pulls
	  (even when --nodeps is not enabled), and updates the spinner
	  while the metadata is being pulled.

2006-12-20 19:29  zmedico

	* [r5335] bin/emerge: Fix broken exception handling syntax causing
	  strange exception reported in bug #158608. Thanks to grobian for
	  help troubleshooting.

2006-12-20 04:09  zmedico

	* [r5333] bin/emerge: Fix the invalid dependency message so there's
	  no confusion about which package has the problem.

2006-12-20 04:01  zmedico

	* [r5332] bin/emerge: Give the user some advice whenever an invalid
	  dependency string is encountered.

2006-12-20 02:22  zmedico

	* [r5331] pym/portage.py: Add missing newlines to the warning
	  message that's printed when the user has distlocks enabled
	  together with skiprocheck and the filesystem is readonly.

2006-12-20 02:17  zmedico

	* [r5330] pym/portage.py: For bug #158608, don't attempt to use
	  distlocks when it's detected that the filesystem is readonly
	  (unless "skiprocheck" is in FEATURES for some strange reason).

2006-12-20 00:49  zmedico

	* [r5329] pym/elog_modules/mod_save_summary.py: Fix an import
	  statement typo.

2006-12-19 23:30  zmedico

	* [r5328] pym/portage.py: For bug #158558, make the unmerge phase
	  do automatic cleanup for broken vardbapi.move_ent() in portage
	  versions before 2.1.2.

2006-12-19 22:48  zmedico

	* [r5327] pym/portage.py: For bug #158558, fix broken ebuild rename
	  logic in vardbapi.move_ent().

2006-12-19 22:26  zmedico

	* [r5326] pym/portage.py: Make binarytree.move_ent() properly
	  update PF.

2006-12-19 14:56  genone

	* [r5325] NEWS, cnf/make.conf,
	  pym/elog_modules/mod_mail_summary.py,
	  pym/elog_modules/mod_save_summary.py, pym/portage.py: New elog
	  modules for dismerging messages into a single file/mail

2006-12-19 08:12  zmedico

	* [r5324] bin/emerge: Use a separate digraph to store parent/child
	  relationships (PDEPEND relationships are not reversed) so that
	  relationship is always known in case a slot collision occurs.

2006-12-19 07:16  zmedico

	* [r5323] pym/portage.py: Increase cache hits in
	  portdbapi.xmatch().

2006-12-19 03:11  zmedico

	* [r5322] bin/emerge: For bug #158508, make --fetchonly display a
	  list of packages for which the fetch phase failed.

2006-12-19 00:10  zmedico

	* [r5321] bin/emerge: For bug #158503, allow --nodeps to override
	  blockers.

2006-12-18 06:22  zmedico

	* [r5318] bin/emerge: For bug #158354, make "No" the default
	  response for unmerge actions.

2006-12-18 05:46  zmedico

	* [r5317] bin/emerge: Just start with an empty dict in
	  dep_check_trees since nothing more is needed.

2006-12-18 03:47  zmedico

	* [r5316] bin/emerge: Catch PortageException from portdbapi.aux_get
	  since it can happen when gpg is in FEATURES.

2006-12-18 03:31  zmedico

	* [r5315] pym/portage.py: Make portdbapi cache SLOT in addition to
	  EAPI and KEYWORDS in order to further optimize dep
	  matching/selection.

2006-12-18 01:14  zmedico

	* [r5314] bin/emerge: Disable the spinner when --debug is enabled
	  so that it doesn't interfere.

2006-12-18 00:57  zmedico

	* [r5313] bin/emerge: Make depclean skip empty depstrings.

2006-12-18 00:38  zmedico

	* [r5312] bin/emerge: Do some minor cleanup of the --depclean code.

2006-12-17 20:41  zmedico

	* [r5311] bin/emerge: Add --debug support for --depclean.

2006-12-17 20:32  zmedico

	* [r5310] bin/emerge: Add a comment about the previous commit.

2006-12-17 20:29  zmedico

	* [r5309] bin/emerge: Don't optimize depgraph.altlist() in reversed
	  mode since the optimization destroys --tree ouput.

2006-12-17 10:17  zmedico

	* [r5308] bin/emerge: In depgraph.altlist(), pop as many leaf nodes
	  as possible when no relationship has been ignored. This can halve
	  the time taken for a large merge order calculation.

2006-12-17 01:30  vapier

	* [r5307] bin/ebuild.sh: force environment.bz2 to be clobbered if
	  it already exists

2006-12-17 01:28  vapier

	* [r5306] bin/ebuild.sh: remove pointless redirects to /dev/null
	  when using hasq()

2006-12-16 23:25  zmedico

	* [r5305] pym/portage.py, pym/portage_dep.py: Make use_reduce raise
	  an InvalidDependString exception for use? conditionals that
	  aren't followed by parenthesis and add appropriate exception
	  handling in dep_check.

2006-12-16 21:42  zmedico

	* [r5304] bin/emerge, pym/portage.py: Make dep_check validate all
	  depstring atoms in order to prevent problems from occuring later
	  due to unexpected invalid atoms.

2006-12-16 09:59  zmedico

	* [r5303] pym/portage_update.py: Fix global updates error handling
	  to prevent a traceback with python-2.5 as reported in bug
	  #158264.

2006-12-16 05:21  zmedico

	* [r5302] bin/ebuild.sh: For bug #158177, force configure scripts
	  that automatically detect ccache to respect FEATURES="-ccache".
	  Thanks to Horst Schirmeier <gentoo@schirmeier.com> for this
	  suggestion.

2006-12-16 03:26  zmedico

	* [r5301] bin/repoman: Make repoman cache per-profile xmatch
	  results.

2006-12-16 02:16  zmedico

	* [r5300] pym/portage.py: Split ACCEPT_KEYWORDS before entering the
	  loop for better efficiency.

2006-12-16 02:14  zmedico

	* [r5299] pym/portage.py: Make sure eapi is defined in order to
	  prevent a NameError.

2006-12-16 02:10  zmedico

	* [r5298] pym/portage.py: Cache KEYWORDS and EAPI metadata values
	  in order to speed up portdbapi.gvisible() calls. This greatly
	  improves repoman performance (help emerge a little too).

2006-12-16 02:04  zmedico

	* [r5297] bin/emerge: For bug #157897, show parent nodes in order
	  to help the user decide about what action to take.

2006-12-14 20:42  zmedico

	* [r5296] bin/emerge: Cache blocked slots for better efficiency.

2006-12-14 07:21  zmedico

	* [r5294] bin/emerge: Make --columns blockers output more
	  consistent when --quiet is not enabled.

2006-12-14 07:09  zmedico

	* [r5293] bin/emerge: Remove pointless unpacking of the parent
	  node.

2006-12-14 07:03  zmedico

	* [r5292] bin/emerge: Remove redundant priority handling since
	  that's always handled in select_dep() for nodes that have
	  parents.

2006-12-14 04:30  zmedico

	* [r5291] bin/emerge: Fix the --onlydeps conditional logic in
	  depgraph.create(). These aren't real nodes and shouldn't be added
	  to the digraph, etc...

2006-12-14 01:57  zmedico

	* [r5290] bin/emerge: Use depgraph.pkg_node_map so simplify
	  comparison against existing nodes at the beginning of
	  depgraph.create().

2006-12-14 01:06  zmedico

	* [r5289] bin/emerge: Update the comment about
	  depgraph.pkg_node_map since it now maps all nodes added to the
	  graph.

2006-12-14 01:01  zmedico

	* [r5288] bin/emerge: Fix a typo from the previous commit.

2006-12-14 00:57  zmedico

	* [r5287] bin/emerge: For bug #157897, add slot collision handling
	  in depgraph.create(), since create() is called from places other
	  than select_dep().

2006-12-13 22:13  vapier

	* [r5286] bin/emerge: handle --cols when displaying blockers

2006-12-13 21:50  zmedico

	* [r5285] bin/emerge: For bug #157897, handle the case of multiple
	  versions within a single package slot have been pulled into the
	  dependency graph. If possible, the package that has already been
	  pulled in will be reused. Otherwise, an error message will advise
	  the user to mask an unwanted version.

2006-12-13 10:50  zmedico

	* [r5283] bin/emerge: Remove redundant digraph.pkg_node_map node
	  insertions. Once per digraph.create() call will cover all nodes.

2006-12-13 10:40  zmedico

	* [r5282] bin/emerge: Track slot atom to digraph node mappings as
	  the depgraph is built. This mapping will be used to detect node
	  collisions for bug #157897.

2006-12-13 01:19  zmedico

	* [r5281] pym/portage.py: Move the biolerplate cpv_all()
	  implementation from portdbapi to dbapi.

2006-12-12 22:25  zmedico

	* [r5280] bin/emerge: For bug #157897, ensure that only "merge"
	  nodes are stored in digraph.pkg_node_map.

2006-12-12 11:59  zmedico

	* [r5279] bin/emerge: For bug #157897, only let depgraph.create()
	  inject "merge" nodes into the final state dbapi.

2006-12-12 07:45  zmedico

	* [r5278] bin/emerge: For higher efficiency, call self.__int__()
	  instead of int(self).

2006-12-12 02:22  zmedico

	* [r5277] bin/emerge: Optimize dep_check calls in
	  depgraph.validate_blockers() by using a fakedbapi instance
	  instead of the real pordbapi (minimizes available matches).

2006-12-12 01:47  zmedico

	* [r5276] bin/emerge: Store dependency metadata in depgraph.mydbapi
	  so that it can be used in place of the portdb for optimized
	  dep_check calls in depgraph.validate_blockers().

2006-12-12 01:19  zmedico

	* [r5275] bin/emerge: Centralize all of the vardb metadata mangling
	  in FakeVartree.

2006-12-11 22:43  zmedico

	* [r5274] pym/portage.py: All portage.fetch() to succeed even if
	  FETCHCOMMAND and RESUMECOMMAND aren't defined.

2006-12-11 22:16  zmedico

	* [r5273] pym/portage.py: Make the fetch phase bail out if
	  FETCHCOMMAND or RESUMECOMMAND are missing. Thanks to Flameeyes
	  for reporting.

2006-12-11 21:38  zmedico

	* [r5272] bin/emerge: For bug #157823, ignore blocker collisions
	  between two packages that are already installed if no merge is
	  currently scheduled for either of those package slots. These
	  blockers will be handled as necessary the next time that a merge
	  of either package is triggered.

2006-12-11 16:44  zmedico

	* [r5270] bin/emerge: For bug #157823, don't forget to split the
	  USE.

2006-12-11 09:48  zmedico

	* [r5269] bin/emerge: Fix a typo from the previous commit.

2006-12-11 09:43  zmedico

	* [r5268] bin/emerge: When there are multiple packages occupying
	  the same slot, only consider the one with the highest COUNTER.
	  Thanks to leio for reporting.

2006-12-11 01:24  zmedico

	* [r5267] bin/emerge, pym/portage.py: Ensure that the root of the
	  vdb exists before attempting to lock it. Thanks to Flameeyes for
	  reporting.

2006-12-10 23:56  zmedico

	* [r5266] bin/emerge: Ignore blockers when "--buildpkgonly" is
	  enabled.

2006-12-10 20:36  zmedico

	* [r5264] bin/repoman, pym/portage_dep.py: Add an allow_blockers
	  parameter to isvalidatom so that the behavior is optional. Thanks
	  to Brian Harring for the suggestion.

2006-12-10 19:55  zmedico

	* [r5263] pym/portage_dep.py: For bug #157734, fix repoman
	  isvalidatom() checks. Thanks to Brian Harring for the patch.

2006-12-10 19:41  zmedico

	* [r5262] pym/portage_dep.py: Don't collapse the tuple into a hash,
	  since dict can use __eq__ to avoid problems with hash collisions.
	  Thanks to Brian Harring for reporting.

2006-12-10 11:41  zmedico

	* [r5260] pym/portage_dep.py: To minimize memory consumption and
	  maximize performance, use hash values for cache keys.

2006-12-10 10:59  zmedico

	* [r5256] bin/emerge: Make sure the SLOT comes from the vardb
	  instead of the portdb (for multislot, etc..). Thanks to jakub for
	  reporting.

2006-12-10 10:35  zmedico

	* [r5255] bin/emerge: For bug #128809, optimize dep_check calls and
	  enable the blocker detection by default since the performance now
	  seems acceptable.

2006-12-10 09:52  zmedico

	* [r5254] pym/portage.py: Initialize the match cache in the
	  bindbapi constructor.

2006-12-10 09:36  zmedico

	* [r5253] pym/portage.py: Cache the results of fakedbapi.match()
	  calls and clear the cache automatically when necessary.

2006-12-10 08:09  zmedico

	* [r5252] pym/portage.py: Use dep_getcpv() inside dep_expand() for
	  code sharing and caching.

2006-12-10 07:23  zmedico

	* [r5251] pym/portage_dep.py: Cache results of dep_getcpv() calls.

2006-12-10 07:09  zmedico

	* [r5250] pym/portage_dep.py: Cache the results of
	  match_from_list() calls.

2006-12-10 06:35  zmedico

	* [r5249] pym/portage.py: Avoid unnecessary dbapi.cp_list() calls
	  inside cpv_expand().

2006-12-10 00:31  zmedico

	* [r5248] bin/emerge: For bug #128809, process blockers for all
	  installed packages. Due to the performance penalty incurred by
	  additional dep_check calls, this is only enabled with the --deep
	  option.

2006-12-10 00:11  zmedico

	* [r5247] bin/emerge: Escape a newline from the previous commit.

2006-12-09 23:34  zmedico

	* [r5246] bin/emerge: Don't attempt to enforce merge order unless
	  the blocker parent is actually a "merge" node.

2006-12-09 23:10  zmedico

	* [r5245] bin/emerge: This patch cleans up the blocker validation
	  logic. Unlike the previous implementation, this one carefully
	  considers each parent/block package relationship in order to
	  ensure that no unresolved blocks slip through.

2006-12-09 20:45  zmedico

	* [r5244] bin/ebuild.sh: For bug #157369, clean when cleanup has
	  been triggered by changed timestamps. Also, allow
	  FEATURES=keepwork to override the ebuild mtime check.

2006-12-09 20:34  zmedico

	* [r5243] bin/repoman: Clean up depstring/atom splitting and
	  filtering.

2006-12-09 20:22  zmedico

	* [r5242] pym/portage_dep.py: Add ? to the invalid atom characters.

2006-12-09 20:13  zmedico

	* [r5241] pym/portage_dep.py: Make isvalidatom() (and thus repoman)
	  reject atoms containing |() characters. Thanks to Brian Harring
	  for the suggestion.

2006-12-09 19:30  zmedico

	* [r5240] bin/repoman: Use portage.isvalidatom() for atom
	  validation in repoman.

2006-12-09 19:19  zmedico

	* [r5239] pym/portage.py: Add use.force support to dep_check for
	  repoman especially. Thanks to Flameeyes for reporting and tesing.

2006-12-09 16:00  genone

	* [r5238] bin/misc-functions.sh: adjust QA_* variable names for
	  complex values of like x86-fbsd

2006-12-09 08:05  zmedico

	* [r5237] pym/portage.py: Fix a type from the previous commit.

2006-12-09 07:07  zmedico

	* [r5236] pym/portage.py: Fix broken SLOT update logic in
	  fakedbapi.cpv_inject().

2006-12-09 05:10  zmedico

	* [r5235] bin/emerge: Split some global updates functions out of
	  depgraph and use them for depclean when necessary.

2006-12-09 03:23  zmedico

	* [r5234] bin/emerge: Use tuples for digraph nodes in order to
	  avoid lots of pointless join and split calls.

2006-12-09 03:05  zmedico

	* [r5233] bin/emerge: Remove unused depgraph.match() method.

2006-12-09 01:08  zmedico

	* [r5232] bin/emerge: Move the reset of the per-root
	  initializations into the loop.

2006-12-09 00:58  zmedico

	* [r5231] bin/emerge: Go ahead and populate depgraph.mydbapi even
	  when --emptytree is enabled since it doesn't matter anymore
	  (dep_check now returns all deps anyway).

2006-12-09 00:09  zmedico

	* [r5230] pym/portage.py: Remove locking from dbapi.aux_update()
	  implementations so that the caller can handle locking instead.

2006-12-09 00:02  zmedico

	* [r5229] pym/portage.py: Clean up vardbapi.aux_get().

2006-12-08 22:52  zmedico

	* [r5228] bin/repoman, man/make.conf.5: Remove all traces of
	  FEATURES=cvs since code for that feature no longer exists
	  (apparently since portage-2.1).

2006-12-08 18:34  zmedico

	* [r5227] tests/__init__.py, tests/runTests: Indicate test failure
	  with an exit code.

2006-12-08 06:33  zmedico

	* [r5222] bin/emerge: Break out of the loop if a CacheError occurs.

2006-12-08 06:32  zmedico

	* [r5221] bin/emerge: Delete the exception object after use.

2006-12-08 06:28  zmedico

	* [r5220] bin/emerge: For bug #157370, make `emerge --regen`
	  cleanse stale cache entries.

2006-12-08 02:40  zmedico

	* [r5219] bin/emerge: Simplfy deprecated action parsing logic.

2006-12-08 02:32  zmedico

	* [r5218] bin/emerge: Avoid bogus 'Deprecated use of action'
	  warnings for valid commands such as `emerge -s sync`.

2006-12-08 01:57  antarus

	* [r5217] tests/__init__.py, tests/test_util.py,
	  tests/test_vercmp.py: add some portage_util tests

2006-12-08 01:51  genone

	* [r5216] bin/emerge, make.conf.txt: Allow searching for action
	  terms again

2006-12-08 01:36  antarus

	* [r5215] pym/portage_util.py: minor syntax changes ( in is faster
	  than has_key ) and docstrings

2006-12-08 01:15  zmedico

	* [r5214] pym/portage_locks.py: Make all lock files hidden for bug
	  #142369.

2006-12-08 00:12  antarus

	* [r5213] tests, tests/__init__.py, tests/runTests,
	  tests/test_vercmp.py: Add pretty basic vercmp unit testing...need
	  more cases

2006-12-07 23:10  zmedico

	* [r5212] pym/portage.py: s/zip/izip/ some more

2006-12-07 23:03  zmedico

	* [r5211] bin/emerge: s/zip/izip/ Thanks to Brian Harring for the
	  suggestion.

2006-12-07 22:50  antarus

	* [r5210] pym/portage_versions.py: A quick docstring for vercmp

2006-12-07 22:29  zmedico

	* [r5209] pym/portage.py: Catch an exception instead of using a
	  redundant os.access call.

2006-12-07 22:25  antarus

	* [r5208] pym/portage_versions.py: portage_versions lacks a header
	  or copyright notice :x

2006-12-07 22:23  zmedico

	* [r5207] bin/emerge, pym/portage.py: Enable FakeVartree to
	  populate the virtuals so that the vdb doesn't have to be scanned
	  separately.

2006-12-07 21:55  zmedico

	* [r5206] bin/emerge, pym/portage.py: Share the same config
	  instance between portagetree and portdbapi instances since clone
	  isn't needed here. Also, trigger population of virtuals prior to
	  cloning in emerge. This reduces the number of times the virtuals
	  are populated from 3 to just 1.

2006-12-07 21:00  zmedico

	* [r5205] pym/portage_versions.py: For bug #152127, make vercmp
	  give less value to implcit .0, so two versions that aren't
	  literally equal are not ambiguously given the same value (in
	  sorting, for example).

2006-12-07 20:09  zmedico

	* [r5204] pym/portage_dep.py: Revert r5175 for bug #152127 since
	  the original = behavior seems more desirable. We can change the
	  >= and <= behavior instead.

2006-12-07 18:58  zmedico

	* [r5203] pym/portage.py: Fix the 'TypeError: not all arguments
	  converted during string formatting' for bug #157385.

2006-12-07 09:01  zmedico

	* [r5202] bin/ebuild: Make sure the ebuild path is properly
	  normalized.

2006-12-07 08:56  zmedico

	* [r5201] bin/ebuild: For bug #157393, fix up ebuild path
	  normalization so that it's compatible with portdbapi handling and
	  works properly with symlinks (like crossdev creates).

2006-12-07 06:52  zmedico

	* [r5200] bin/repoman: Make repoman bail out if it's unable to
	  generate the Manifest.

2006-12-07 06:38  zmedico

	* [r5199] pym/portage.py: Fix broken SRC_URI logic in doebuild.

2006-12-07 06:27  zmedico

	* [r5198] pym/portage.py: Fix broken SRC_URI logic from the
	  previous commit.

2006-12-07 06:17  zmedico

	* [r5197] pym/portage.py: For bug #157385, enable
	  portage.digestgen() to fetch any distfiles for which there are no
	  existing digests.

2006-12-06 23:12  zmedico

	* [r5196] bin/emerge: Fix indentation.

2006-12-06 23:10  zmedico

	* [r5195] bin/emerge: Remove all traces of the unmerge
	  raise_on_missing parameter.

2006-12-06 23:07  zmedico

	* [r5194] bin/emerge: Always silently ingnore missing packages
	  during unmerge.

2006-12-06 22:56  zmedico

	* [r5193] bin/emerge: Fix depclean so the fake vartree is used in
	  dep_check calls.

2006-12-06 22:47  zmedico

	* [r5192] bin/emerge: Allow depclean to silently skip packages
	  unmerged behind it's back.

2006-12-06 22:42  zmedico

	* [r5191] bin/emerge: Use FakeVartree for vardb lock/cache during
	  depclean.

2006-12-06 22:19  zmedico

	* [r5190] bin/emerge: Delete the depgraph when it's no longer
	  needed.

2006-12-06 22:12  zmedico

	* [r5189] bin/emerge: Use a fake vartree for depgraph calculations.
	  This minimizes the time that a lock needs to be held on the
	  vardb, and allows in-memory global updates when necessary.

2006-12-06 20:39  zmedico

	* [r5185] bin/emerge: Only call calc_changelog if there is an
	  installed version in the same slot.

2006-12-06 20:32  zmedico

	* [r5184] bin/emerge: Remove dependence on the vartree api by using
	  equivalent vardbapi calls.

2006-12-06 19:36  zmedico

	* [r5180] bin/emerge: Remove unused
	  depgraph.is_newer_ver_installed() method.

2006-12-06 19:27  zmedico

	* [r5178] pym/portage.py: Implement fakedbapi.aux_update().

2006-12-06 18:47  zmedico

	* [r5176] pym/portage_dep.py: Sync match_to_list >=, <=, etc.. code
	  with the new = code.

2006-12-06 18:37  zmedico

	* [r5175] pym/portage_dep.py: Make match_to_list = behavior
	  consistent with >= and <= for bug #152127.

2006-12-04 22:21  zmedico

	* [r5174] bin/emerge: Fix up mtimedb["ldpath"] references broken by
	  the previous commit.

2006-12-04 21:49  zmedico

	* [r5173] bin/emerge: For bug #157134, make `emerge --digest`
	  automatically reload the config with FEATURES=digest enabled
	  globally.

2006-12-04 10:07  zmedico

	* [r5171] pym/portage.py: Use portage.chdir() instead of os.chdir()
	  in order to avoid an 'OSError: [Errno 2] No such file or
	  directory' if the working directory doesn't exist. Thanks to
	  Caster for reporting.

2006-12-04 01:55  zmedico

	* [r5169] bin/ebuild: For `ebuild --force digest`, exempt the
	  depend phase from Manifest checks.

2006-12-04 01:37  zmedico

	* [r5168] man/ebuild.5: Update the RESTRICT=binchecks docs. Thanks
	  to jakub for the suggestion and antarus for the patch.

2006-12-04 01:19  zmedico

	* [r5167] bin/repoman: Make `repoman fix` work with the new ebuild
	  Manifest checks during depend phase.

2006-12-04 00:47  zmedico

	* [r5166] pym/portage.py: When portdbapi.aux_get() generates a
	  KeyError in portage.getmaskingstatus(), handle it by reporting
	  "corruption".

2006-12-03 19:17  vapier

	* [r5164] bin/misc-functions.sh: drop RESTRICT=stricter since every
	  aspect it covers can be handled properly via other means

2006-12-03 03:37  zmedico

	* [r5161] pym/portage.py: Move the global statement out of the try
	  block so that it's clearly in scope for the finally block.

2006-12-03 03:32  zmedico

	* [r5160] pym/portage.py: Make portage.digestgen() automatically
	  exempt the depend phase from Manifest checks so that it works for
	  repoman without triggering a digest verification failure.

2006-12-02 21:57  zmedico

	* [r5159] pym/portage.py: Skip digest checks when digest is in
	  features.

2006-12-02 12:42  zmedico

	* [r5157] pym/portage.py: Make sure that all depend phases
	  triggered by the digest phase are exempt from digest checks.

2006-12-02 10:19  zmedico

	* [r5156] pym/portage.py: Make sure that *all* of the ebuilds are
	  listed in the Manifest.

2006-12-02 08:14  zmedico

	* [r5155] pym/portage.py: Only attempt to verify the Manifest if
	  the ebuild is actually in a portage tree.

2006-12-02 08:07  zmedico

	* [r5154] bin/emerge-webrsync: For consistent behavior in all
	  timezones, make emerge-webrsync use UTC time for decisions about
	  which snapshots to download.

2006-12-02 06:18  zmedico

	* [r5153] pym/portage.py: Avoid checking the same Manifest several
	  times in a row during a regen with an empty cache.

2006-12-02 05:42  zmedico

	* [r5152] pym/portage.py: Temporarily exempt the depend phase
	  during the help phase also.

2006-12-02 05:20  zmedico

	* [r5151] pym/portage.py: For manifest and digest phases, use a
	  global variable to temporarily exempt the depend phase from
	  manifest checks (in cache regeneration is triggered).

2006-12-02 04:42  zmedico

	* [r5150] pym/portage.py: Always verify the ebuild checksums before
	  executing it. Thanks to solar for the suggestion and antarus for
	  the initial patch.

2006-12-01 09:22  genone

	* [r5148] make.conf.txt: use a link in CXXFLAGS section (the typo
	  caused it to be a target)

2006-12-01 09:21  genone

	* [r5147] make.conf.txt: fix a few docutils errors

2006-12-01 08:44  genone

	* [r5146] make.conf.txt: add ReST template to be used for
	  manpage/make.globals/make.conf.example generation later on

2006-11-29 20:26  solar

	* [r5143] bin/misc-functions.sh: - no point in forking a call to
	  true when we can simply use the bash internal of : for true

2006-11-29 20:25  solar

	* [r5142] bin/ebuild.sh: - make sure QUIET mode is exported to the
	  environment properly when using -q mode.

2006-11-26 14:14  zmedico

	* [r5136] bin/dispatch-conf: For bug #8423, make dispatch-conf
	  preserve timestamps when possible.

2006-11-26 14:06  zmedico

	* [r5135] bin/etc-update: For bug #8423, make etc-update preserve
	  timestamps when possible.

2006-11-26 12:50  zmedico

	* [r5134] pym/portage.py: Update the dblink.isprotected()
	  docstring.

2006-11-26 12:40  zmedico

	* [r5133] pym/portage.py: Never overwrite an untouched config file
	  and trigger config protection instead (in case the new config has
	  an unwanted change). In cases where an installed package in the
	  same slot owns a protected file that will be merged, bump the
	  mtime on the installed file in order to ensure that it isn't
	  unmerged. Thanks to Ciaran McCreesh <ciaranm@ciaranm.org> for his
	  suggestion on bug #8423, comment #40.

2006-11-26 09:03  zmedico

	* [r5129] pym/portage.py: For bug #8423, allow the merge phase to
	  overwrite untouched config files and also allow the unmerge phase
	  to unmerge untouched config files.

2006-11-23 12:36  zmedico

	* [r5123] pym/portage.py: Allow -keyword to be matched since some
	  ebuilds use it. Thanks to Brian Harring reporting on bug #150585.

2006-11-23 12:10  zmedico

	* [r5122] bin/emerge: For bug #156014, always round up the next kB
	  so that it doesn't show 0 kB when some small file still needs to
	  be fetched.

2006-11-23 03:13  zmedico

	* [r5121] pym/portage.py: For bug #150585, stack package.keywords
	  incrementally so that -keyword works as expected for any
	  incremental variable. This brings the gvisible and
	  getmaskingstatus logic into sync so that the confusing (masked
	  by: ) message will not be generated in cases where
	  package.keywords contains -keyword followed by keyword.

2006-11-22 14:07  zmedico

	* [r5119] pym/portage_util.py: Use portage_data.lchown for
	  compatibility.

2006-11-22 13:01  zmedico

	* [r5118] bin/emerge: Fix a KeyError in emerge --info <pkg> when
	  there is no matching ebuild in the tree. Thanks to Bo Ørsted
	  Andresen <bo.andresen@zlin.dk> for reporting.

2006-11-22 06:40  zmedico

	* [r5117] pym/portage_util.py: Really fix bit mask support when
	  preserving S_ISUID and S_ISGID in apply_permissions.

2006-11-22 06:33  zmedico

	* [r5116] pym/portage_util.py: Fix bit mask support when preserving
	  S_ISUID and S_ISGID in apply_permissions.

2006-11-22 06:20  zmedico

	* [r5115] pym/portage_util.py: Fix apply_permissions logic for
	  cases where mode is unspecified.

2006-11-22 05:57  zmedico

	* [r5114] bin/misc-functions.sh, pym/portage.py,
	  pym/portage_util.py: For bug #142993, make sure that chown and
	  chgrp calls preserve S_ISUID and S_ISGID mode bits.

2006-11-20 08:29  zmedico

	* [r5107] bin/emerge: Enable PORTAGE_CONFIGROOT to be set via an
	  new --config-root option. Thanks to Daniel Barkalow
	  <barkalow@iabervon.org> for the initial patch (submitted on the
	  gentoo-portage-dev mailing list).

2006-11-20 08:11  zmedico

	* [r5106] bin/emerge: Print a warning message if a user requests a
	  package from package.provided (since it won't be merged).

2006-11-20 07:38  zmedico

	* [r5105] bin/emerge: For bug #155739, only check if a dep is in
	  the args when myroot == self.target_root.

2006-11-20 05:54  zmedico

	* [r5101] bin/emerge, pym/portage.py: Allow the ROOT setting to
	  come from make.conf. Thanks to Daniel Barkalow
	  <barkalow@iabervon.org> for this patch (submitted on the
	  gentoo-portage-dev mailing list).

2006-11-20 03:55  zmedico

	* [r5097] bin/emerge: Remove more redundant package.provided
	  handling that is now covered by dep_wordreduce.

2006-11-20 03:45  zmedico

	* [r5096] bin/emerge: Remove redundant package.provided handling
	  that is now covered by dep_wordreduce.

2006-11-20 03:39  zmedico

	* [r5095] bin/emerge: For depclean, just pass in None for mydbapi
	  (instead of an empty fakedbapi instance) since that's now
	  supported.

2006-11-20 03:35  zmedico

	* [r5093] pym/portage.py: Allow dep_wordreduce to mark things
	  satisfied by package.provided even when mydbapi is None.

2006-11-20 03:03  zmedico

	* [r5092] bin/emerge, pym/portage.py: Use mydbapi is None to
	  eliminate the return_all_deps parameter from dep_check and
	  dep_zapdeps. The result is the same and this way we avoid having
	  an additional parameter with overlapping meaning.

2006-11-19 00:01  zmedico

	* [r5088] pym/portage.py: Fix portdbapi.cpv_all() so that it
	  actually returns a list of all available ebuilds.

2006-11-18 13:39  zmedico

	* [r5086] bin/emerge: Use fake_vardb for cached aux_get calls.

2006-11-18 13:28  zmedico

	* [r5085] bin/emerge: For bug #155559, force depclean dep_check
	  calls to preference installed packages.

2006-11-18 00:45  zmedico

	* [r5081] NEWS, bin/emerge, bin/repoman, pym/portage.py,
	  pym/portage_const.py: Revert ACCEPT_LICENSE support, since
	  license group support is a requirement and it remain
	  unimplemented. This brings trunk back into sync with the 2.1.2
	  branch.

2006-11-17 15:06  zmedico

	* [r5075] bin/fixpackages: s/settings/mysettings/ typo

2006-11-17 14:59  zmedico

	* [r5073] bin/fixpackages: Make fixpackages use PORTAGE_NICENESS.

2006-11-17 14:54  zmedico

	* [r5071] bin/emerge: For bug #155484, apply PORTAGE_NICENESS as
	  soon as possible (especially before global updates).

2006-11-17 10:23  zmedico

	* [r5069] bin/emerge: Fix a typo that prevents emerge --clean from
	  working properly. Thanks to leio for reporting.

2006-11-17 09:20  zmedico

	* [r5067] pym/portage.py: Integrate old-style virtuals handling
	  into _expand_new_virtuals() and prefer new-style over old-style
	  whenever they are available.

2006-11-17 02:01  zmedico

	* [r5066] pym/portage.py: Fix _expand_new_virtuals so that it
	  doesn't allow any virtual deps to go unaccounted for.

2006-11-17 00:02  zmedico

	* [r5064] pym/portage.py: Update the _expand_new_virtuals docstring
	  with a not about zero cost for new-style virtuals.

2006-11-16 23:50  zmedico

	* [r5063] bin/emerge: Revert the depclean message, since new-style
	  virtuals will now be kept.

2006-11-16 23:29  zmedico

	* [r5062] pym/portage.py: For bug #141118, make dep_zapdeps assign
	  zero cost to new-style virtuals.

2006-11-16 21:52  zmedico

	* [r5061] pym/portage.py: Pull in the new-style virtuals and
	  install them so that the vdb has complete standalone dep info, in
	  case a portage tree isn't available.

2006-11-16 04:54  zmedico

	* [r5057] bin/emerge: Add a note about removal of new-style
	  virtuals in the depclean output.

2006-11-16 04:26  zmedico

	* [r5055] pym/portage.py: For bug #141118, make dep_check do
	  recursive expansion of new-style virtuals.

2006-11-15 09:00  zmedico

	* [r5053] bin/emerge: Don't try to lock the vdb unless privileges
	  are sufficient.

2006-11-15 04:09  zmedico

	* [r5051] bin/emerge: Automatically convert --ask to --pretend when
	  the user doesn't have the privileges for --ask. Thanks to Daniel
	  Barkalow <barkalow@iabervon.org> for the initial patch (submitted
	  on gentoo-portage mailing list).

2006-11-14 14:42  zmedico

	* [r5049] bin/emerge: Only reload the config if global updates have
	  actually been performed.

2006-11-14 14:34  zmedico

	* [r5048] pym/portage.py: Make portage.global_updates() return any
	  updates that may have been performed.

2006-11-14 14:07  zmedico

	* [r5046] pym/portage.py: Fix a lock file leak.

2006-11-14 12:14  zmedico

	* [r5044] pym/portage.py: Remove useless unmerge() call after
	  collision-protect has prevented anything from being merged.

2006-11-14 07:35  zmedico

	* [r5042] bin/emerge, pym/portage.py: Make fakedbapi support
	  generic metadata instead of just slots.

2006-11-14 06:32  zmedico

	* [r5040] bin/emerge: Cache depgraph.altlist results, since altlist
	  is called multiple times and can be time consuming for a large
	  depgraph.

2006-11-14 05:57  zmedico

	* [r5038] bin/emerge: For bug #154897, show a summary of fetch
	  restrictions if there are any.

2006-11-14 05:51  zmedico

	* [r5036] pym/portage.py: For bug #154986, show the usual "Filesize
	  does not match recorded size" message even for fetch restricted
	  files.

2006-11-14 03:50  zmedico

	* [r5034] pym/portage.py: Remove reentrance support for
	  dblink.lockdb() since it's no longer used and it won't
	  necessarily work correctly now that a global vdb lock is used.

2006-11-14 03:30  zmedico

	* [r5033] pym/portage.py: Use try/finally to ensure that locks are
	  properly released in dblink.unmerge().

2006-11-14 02:43  zmedico

	* [r5032] bin/emerge: Use try/finally to ensure that locks are
	  properly released in emergelog().

2006-11-14 02:29  zmedico

	* [r5031] pym/portage_checksum.py: Use try/finally to ensure that
	  locks are properly released in perform_checksum().

2006-11-14 02:08  zmedico

	* [r5030] pym/portage.py: Use try/finally to ensure that locks are
	  properly released in portdbapi.aux_get().

2006-11-13 23:59  zmedico

	* [r5028] bin/emerge: For bug #154989, lock /var/db/pkg while
	  determining which packages to unmerge, then release the lock. The
	  lock will be reacquired/released for each individual unmerge,
	  allowing opportunities for other processes to acquire it.

2006-11-13 23:52  zmedico

	* [r5027] pym/portage.py: For bug #154989, use a single lock on
	  /var/db/pkg since finer grained locking is unnecessary and often
	  insufficient.

2006-11-13 01:12  zmedico

	* [r5023] bin/emerge: For bug #154919, when depclean is unable to
	  resolve dependencies, notify the user that it may be necessary to
	  manually uninstalled packages that no longer exist in the portage
	  tree.

2006-11-13 00:50  zmedico

	* [r5021] pym/portage.py: For bug #154921, prevent an IndexError
	  when a + is in USE.

2006-11-12 07:05  zmedico

	* [r5012] bin/emerge: Fix depgraph.pkg_node_map so that it properly
	  supports $ROOT.

2006-11-11 23:59  zmedico

	* [r5010] pym/portage.py: For bug #154554, validate all profile
	  virtuals atoms.

2006-11-11 23:24  zmedico

	* [r5008] bin/emerge: For initial gentoo-x86 checkout, if $PORTDIR
	  exists and is empty then remove it so that the gentoo-x86
	  checkout can replace it.

2006-11-11 14:00  zmedico

	* [r5006] bin/emerge: Fix initial cvs checkout logic for bug
	  #100478.

2006-11-11 13:39  zmedico

	* [r5004] bin/emerge: Fix emerge --sync with a cvs:// uri so that
	  it runs /etc/portage/bin/post_sync like it would with a normal
	  rsync:// uri. Thanks to drizzt for reporting.

2006-11-11 10:13  zmedico

	* [r5002] pym/portage.py: Make digestcheck() fail if an ebuild
	  isn't listed in the Manifest. Thanks to pva for reporting.

2006-11-09 10:44  zmedico

	* [r4999] pym/portage_dep.py: Thanks again to Chris White for these
	  additional portage_dep docstrings.

2006-11-08 07:38  zmedico

	* [r4987] pym/portage_dep.py: Thanks to Chris White for these
	  portage_dep docstrings.

2006-11-07 22:12  zmedico

	* [r4984] bin/emerge: Add --newuse back to the suggested options in
	  the depclean warning message, since it's still needed in some
	  cases.

2006-11-07 22:07  zmedico

	* [r4983] bin/emerge: For bug #154207, add a note about
	  package.provided to the depclean warning message.

2006-11-07 11:45  zmedico

	* [r4980] pym/portage.py: s/grabdict/grabdict_package/ for bug
	  #63429.

2006-11-07 10:04  zmedico

	* [r4978] bin/emerge: Remove some stray blocker validation logic.

2006-11-07 09:38  zmedico

	* [r4976] bin/emerge: Plug some holes in the blocker validation
	  logic so that nothing can slip through.

2006-11-07 07:37  zmedico

	* [r4974] bin/emerge: Thanks to Bo Ørsted Andresen
	  <bo.andresen@zlin.dk> for this output fix for bug #153847.

2006-11-07 07:14  zmedico

	* [r4972] pym/portage_checksum.py: Thanks to Chris White for these
	  portage_checksum docstrings.

2006-11-07 05:58  zmedico

	* [r4970] bin/emerge: Print the number of upgrades, downgrades,
	  etc. next to size of downloads. Thanks to Bo Ørsted Andresen
	  <bo.andresen@zlin.dk> for the initial patch from bug #153847.

2006-11-07 02:55  zmedico

	* [r4968] bin/emerge: Fix validate_blockers() so that a package
	  doesn't block itself via a virtual that it provides.

2006-11-06 21:21  zmedico

	* [r4966] pym/portage.py: Minimize getvirtuals() calls and dict
	  lookups inside dep_virtual().

2006-11-06 20:50  zmedico

	* [r4962] bin/emerge, pym/portage.py: Simplify the new-style ->
	  old-style virtuals bridge by doing it implicitly for all virtuals
	  instead of explicit scanning for available new-style virtuals.

2006-11-06 19:52  zmedico

	* [r4959] bin/emerge-webrsync: For bug #154220, run
	  /etc/portage/bin/post_sync at the end of emerge-webrsync.

2006-11-06 19:16  zmedico

	* [r4957] pym/portage.py: Make config.add_new_virtuals() work
	  properly even if self.virtuals has previously been initialized.

2006-11-06 19:05  zmedico

	* [r4955] bin/emerge, pym/portage.py: For bug #154223, bridge
	  new-style virtuals into old-style virtuals in order to prevent
	  old-style virtuals from making new-style virtuals invisible.

2006-11-06 10:17  zmedico

	* [r4953] bin/emerge: Make sure the node is still in the graph so
	  that a KeyError can't happen.

2006-11-06 09:31  zmedico

	* [r4951] bin/emerge: Remove old code the used to bump portage near
	  the top of the merge list. It's ineffective now that a complete
	  depgraph is built.

2006-11-06 09:26  zmedico

	* [r4950] bin/emerge: Remove "update portage before proceeding"
	  message that is no longer relevant.

2006-11-06 09:19  zmedico

	* [r4949] bin/emerge: Ensure that sys-apps/portage is as close as
	  possible to the beginning of the merge list. This is accomplished
	  by merging it before any soft deps that it may have.

2006-11-06 05:59  zmedico

	* [r4947] bin/emerge: Prevent the --newuse check in
	  depgraph.create() that is intended for the ebuild type from being
	  done on binary packages (which can lead to a KeyError). The
	  --newuse check for binaries is elsewhere (in select_dep).

2006-11-04 04:44  zmedico

	* [r4929] bin/ebuild.sh: Revert implicit rdepend behavior back to
	  the way it was in portage-2.0.51. Thanks to vapier for the patch.
	  The original change seems to have been an accidentally hunk
	  (referencing bug #58819) that was committed to cvs along with
	  another patch in revision 1.201.2.32 of ebuild.sh.

2006-11-04 02:32  zmedico

	* [r4926] bin/emerge: Fix --ignore-default-opts for bug #153980.

2006-11-04 01:58  zmedico

	* [r4925] pym/cache/util.py: Make sure trg is defined.

2006-11-04 01:55  zmedico

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

2006-11-04 00:22  zmedico

	* [r4922] bin/ebuild.sh: Don't allow RESTRICT=ccache since it
	  should work and if not then it's a bug that ought to be fixed.
	  Thanks to vapier.

2006-11-03 22:32  zmedico

	* [r4920] bin/ebuild.sh: Enable RESTRICT=ccache. Thanks to drizzt
	  for reporting.

2006-11-03 21:14  zmedico

	* [r4918] bin/emerge: Silently omit info_pkgs that aren't
	  installed. Thanks to solar.

2006-11-03 20:32  zmedico

	* [r4916] pym/portage.py: For bug #153951, fail with a simple
	  "Permission denied" error if the merge phase doesn't have write
	  access to $ROOT.

2006-11-02 10:03  zmedico

	* [r4912] man/make.conf.5: Fix the USE_ORDER docs for bug #153764.
	  Thanks to Alec Warner for the initial patch.

2006-11-02 08:56  zmedico

	* [r4909] pym/emergehelp.py: Remove broken nocolor() call, since
	  thats handled internally by the output module anyway.

2006-11-02 08:50  zmedico

	* [r4908] pym/emergehelp.py: Add --color < y | n > help output for
	  bug #42115.

2006-11-02 08:30  zmedico

	* [r4907] man/emerge.1: Document the new --color < y | n > option
	  for bug #42115.

2006-11-01 23:55  zmedico

	* [r4906] bin/emerge, pym/output.py: Implement --color < y | n >
	  for bug #42115 and deprecate --nocolor. When --color is not
	  specified, rely on the old NOCOLOR variable and/or stdout
	  auto-detection.

2006-11-01 10:10  zmedico

	* [r4903] bin/archive-conf: For bug #116616, only run the
	  post_process phase if necessary.

2006-11-01 09:39  zmedico

	* [r4901] bin/dispatch-conf: For bug #129670, skip the replace-cvs
	  and replace-wscomments tests if the diff exit code indicates two
	  two binary files that differ.

2006-11-01 07:06  zmedico

	* [r4899] pym/portage.py: For bug #153282, automatically find the
	  owner package(s) in the event of a fatal file collision (since
	  the collision is fatal, the performance hit doesn't matter).

2006-10-31 23:25  zmedico

	* [r4893] pym/portage.py: For bug #153295, make load_infodir ignore
	  files that contain null bytes.

2006-10-31 20:35  vapier

	* [r4889] man/ebuild.5: recommend people use `emake` rather than
	  `make` when installing with DESTDIR

2006-10-31 13:45  zmedico

	* [r4887] bin/dispatch-conf, cnf/dispatch-conf.conf: Add support
	  for frozen config files for which updates are automatically
	  zapped. Thanks to Bo Ørsted Andresen for the initial patch from
	  bug #151685.

2006-10-31 06:46  zmedico

	* [r4885] pym/portage.py: Fix a KeyError when the profile doesn't
	  define default USE.

2006-10-31 04:23  zmedico

	* [r4884] NEWS, bin/archive-conf, bin/chkcontents, bin/clean_locks,
	  bin/dispatch-conf, bin/ebuild, bin/emaint, bin/emerge,
	  bin/env-update, bin/fix-db.py, bin/fixpackages, bin/md5check.py,
	  bin/pkgname, bin/portageq, bin/regenworld, bin/repoman, bin/xpak:
	  Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating
	  portage's python modules, then fall back to an explicit sys.path
	  insertion if an ImportError occurs.

2006-10-30 08:40  zmedico

	* [r4881] bin/dispatch-conf, pym/portage_util.py: Just use stat
	  instead of lstat for config protect, so that broken symlinks are
	  just ignored.

2006-10-30 01:48  zmedico

	* [r4879] pym/portage.py: For getmaskingstatus messages, don't
	  assume ARCH is a valid keyword, since that assumption is not
	  necessarily correct for operating systems other than Linux.
	  Thanks to Diego Pettenò for reporting.

2006-10-29 22:25  zmedico

	* [r4877] pym/portage.py: For bug #153295, do a sanity check for
	  non-string types in config.environ().

2006-10-29 14:01  zmedico

	* [r4872] bin/emerge: Use a tuple for __slots__ so that it's
	  immutable.

2006-10-28 22:51  zmedico

	* [r4869] pym/portage.py: Don't forget to continue for invalid
	  binpkgs.

2006-10-28 21:57  zmedico

	* [r4867] pym/portage.py: Prevent an attribute error AttributeError
	  for invalid binary packages for which there is no CATEGORY data.

2006-10-28 10:37  zmedico

	* [r4863] bin/misc-functions.sh, bin/prepall, pym/portage.py: Use
	  mtree to save/restore bsd file flags before/after prepall and
	  installation. Thanks to Diego Pettenò for this patch (related to
	  bug #153109).

2006-10-27 23:55  zmedico

	* [r4858] bin/emerge: Avoid a TypeError with emerge -kN when
	  there's no matching ebuild.

2006-10-27 21:45  zmedico

	* [r4855] pym/cache/template.py: Add backward compatibility code
	  for cache modules that override has_key instead of __contains__.

2006-10-27 08:14  zmedico

	* [r4853] pym/emergehelp.py: Update help for greedy behavior of
	  --update.

2006-10-27 08:10  zmedico

	* [r4852] pym/emergehelp.py: Update help for --deep.

2006-10-27 08:05  zmedico

	* [r4851] pym/emergehelp.py: Add --with-bdeps to emerge --help
	  output.

2006-10-27 07:36  zmedico

	* [r4850] pym/dispatch_conf.py: Don't bother to insert
	  /usr/lib/portage/pym into sys.path from inside a module. That's
	  the caller's job.

2006-10-27 06:32  zmedico

	* [r4848] bin/ebuild: Do not pass the "clean" parameter to doebuild
	  since it causes ${T} to be cleaned up when it shouldn't be.
	  Thanks to Mr_Bones_ for reporting.

2006-10-26 16:27  genone

	* [r4828] pym/portage.py: show licenses or pointer to license files
	  on 'masked by' message

2006-10-26 16:27  genone

	* [r4827] bin/emerge, pym/portage.py: show licenses or pointer to
	  license files on 'masked by' message

2006-10-26 16:18  genone

	* [r4826] pym/portage.py: add function getlicensetexts() to extract
	  license texts relevant to a given cpv (to be used by emerge
	  masked by display)

2006-10-26 15:47  genone

	* [r4824] pym/portage.py: need a mutable config instance to use
	  setcpv

2006-10-26 15:43  genone

	* [r4823] bin/emerge, pym/portage.py: rename getmaskingreason() to
	  getpmaskcomment() to clarify its function, report each license as
	  a separate mask instead of combining them all together into a
	  single value for getmaskingstatus()

2006-10-26 13:49  genone

	* [r4822] NEWS, bin/archive-conf, bin/chkcontents, bin/clean_locks,
	  bin/dispatch-conf, bin/ebuild, bin/emaint, bin/emerge,
	  bin/env-update, bin/fix-db.py, bin/fixpackages, bin/md5check.py,
	  bin/pkgname, bin/portageq, bin/regenworld, bin/repoman, bin/xpak,
	  pym/dispatch_conf.py: streamline portage pythonpath handling and
	  add an override analog to how the bash side does it

2006-10-26 08:10  zmedico

	* [r4821] pym/cache/anydbm.py, pym/cache/flat_hash.py,
	  pym/cache/flat_list.py, pym/cache/metadata_overlay.py,
	  pym/cache/sql_template.py, pym/cache/sqlite.py,
	  pym/cache/template.py: Reverse the relationship between
	  __contains__ and has_key in all cache classes since python
	  handles the "in" operator more efficiently than a has_key method
	  call.

2006-10-26 06:39  zmedico

	* [r4820] pym/cache/metadata.py: Test for basestring instead of
	  types.DictType so that the test more generic.

2006-10-25 23:02  zmedico

	* [r4819] pym/eclass_cache.py: Fix broken is_eclass_data_valid
	  comparison logic.

2006-10-25 21:44  zmedico

	* [r4818] pym/cache/template.py, pym/eclass_cache.py: For full
	  compatibility with older versions of portage, write the path in
	  the serialized _eclasses_ when possible.

2006-10-25 19:26  zmedico

	* [r4817] pym/portage.py: For bug #152726, ignore hidden files in
	  vardbapi.cp_list().

2006-10-25 16:47  zmedico

	* [r4815] pym/cache/template.py: For the time being, write a
	  variation of the old _eclass_ format so that cache written only
	  forces a regen for older versions of portage rather than a
	  ValueError due to failed long() conversion.

2006-10-25 02:36  zmedico

	* [r4814] pym/cache/template.py: Improve reconstruct_eclasses error
	  handling.

2006-10-25 01:35  zmedico

	* [r4813] man/make.conf.5, man/portage.5: Remove ACCEPT_LICENSE
	  docs until they're really implemented.

2006-10-24 19:34  zmedico

	* [r4810] pym/portage.py: Disable ACCEPT_LICENSE support until the
	  details of license groups are decided and implemented.

2006-10-24 19:12  zmedico

	* [r4809] pym/portage_const.py: Add ACCEPT_LICENSE back to
	  incrementals so that profiles can affect it.

2006-10-24 10:39  zmedico

	* [r4808] pym/cache/flat_hash.py: Enable recognition of _mtime_
	  that doesn't rely on cache mtime mangling.

2006-10-24 07:20  zmedico

	* [r4807] pym/cache/template.py, pym/eclass_cache.py: Remove paths
	  from _eclasses_ serialization in the cache. This makes the mtimes
	  of the eclasses the only thing that distinguishes them, but the
	  probablility of collision is negligible. This same _eclasses_
	  format will be used to serialize eclass mtimes in cache that is
	  distributed via the rsync mirrors. The deserialization code can
	  handle mixtures of both the old and new formats.

2006-10-23 22:41  zmedico

	* [r4806] bin/emerge: Don't display the "Please update portage"
	  message in --quiet mode. Thanks to solar.

2006-10-23 06:14  zmedico

	* [r4805] pym/portage.py: In getmaskingstatus(), add missing check
	  for * in acceptable_licenses.

2006-10-22 21:15  zmedico

	* [r4804] pym/portage.py: Don't put -* in the env layer, since that
	  layer isn't part of the incremental stacking in regenerate.

2006-10-22 20:56  zmedico

	* [r4803] man/portage.5: Add package.license to the list of files.

2006-10-22 20:43  zmedico

	* [r4802] pym/portage.py: Don't limit the size of USE in
	  config.load_infodir.

2006-10-22 20:39  zmedico

	* [r4801] pym/portage.py: Make config.load_infodir also load the
	  data into the env layer in order to ensure that it has preference
	  over what may have been there.

2006-10-22 20:25  zmedico

	* [r4800] NEWS: Add news about ACCEPT_LICENSE and package.license.

2006-10-22 20:23  zmedico

	* [r4799] man/portage.5: Add some package.license docs.

2006-10-22 20:09  zmedico

	* [r4798] man/portage.5: Put the package.keywords docs in
	  alphabetical order with the others.

2006-10-22 20:00  zmedico

	* [r4797] man/make.conf.5: Add some ACCEPT_LICENSE docs.

2006-10-22 10:38  zmedico

	* [r4794] bin/emerge: Fix gcc version parsing once again for bug
	  #137786. sigh. :)

2006-10-22 10:20  zmedico

	* [r4793] pym/portage.py: s/str_matches/acceptable_licenses/ typo

2006-10-22 07:26  zmedico

	* [r4792] bin/repoman, pym/portage.py, pym/portage_const.py: Add
	  support for masking of packages via ACCEPT_LICENSE and
	  /etc/portage/package.license. Thanks to Jason Stubbs for the
	  initial patch from bug #17367.

2006-10-22 05:55  zmedico

	* [r4791] pym/portage.py: Do put empty incrementals in the
	  environment if they are already set.

2006-10-22 05:53  zmedico

	* [r4790] pym/portage.py: Don't put empty incrementals in the
	  environment.

2006-10-22 03:29  zmedico

	* [r4789] pym/portage.py: Call load_infodir before the setup phase
	  for binary packages so that USE is properly set.

2006-10-22 02:56  zmedico

	* [r4788] bin/emerge: Fix visibility checks so that binary packages
	  aren't masked just because there is no matching ebuild in the
	  tree.

2006-10-21 23:40  zmedico

	* [r4787] pym/portage.py: Use reset instead of regenerate (revert
	  part of the previous commit) in order to properly clear the env
	  layer of the config.

2006-10-21 23:05  zmedico

	* [r4786] pym/portage.py: Optimize config.setcpv so that it only
	  calls regenerate when necessary. Thanks to Jason Stubbs for the
	  initial patch from bug #17367.

2006-10-21 12:17  zmedico

	* [r4783] bin/emerge: Also check keyword visibility via gvisible.

2006-10-21 07:52  zmedico

	* [r4782] pym/output.py: For bug #152157, don't send a redundant
	  escape sequence with ${PROMPT_COMMAND}.

2006-10-21 04:46  zmedico

	* [r4781] NEWS: Add news about package.use in profiles and default
	  USE in ebuilds via +flag in IUSE.

2006-10-21 04:43  zmedico

	* [r4780] man/portage.5: Add package.use to the list of files
	  supported in profiles.

2006-10-21 04:40  zmedico

	* [r4779] NEWS: Add news about new-style virtuals being usable for
	  bootstrap deps on self.

2006-10-21 04:36  zmedico

	* [r4778] bin/emerge: Remove redunant population of the fakedb in
	  depgraph.validate_blockers, since r4776 makes it unnecessary.

2006-10-21 04:32  zmedico

	* [r4777] bin/emerge: Update the docs regarding delay of
	  config.setinst calls for bootstrap deps on old-style virtuals.

2006-10-21 04:19  zmedico

	* [r4776] bin/emerge: Add nodes to the fakedb in depgraph.create
	  instead of depgraph.select_deps. It used to be in select_deps
	  only for the case of packages that depend on themselves for
	  bootstrap, but that hack isn't needed anymore because dep_check
	  returns all deps now.

2006-10-21 03:25  zmedico

	* [r4775] bin/emerge: More filtering binary package for visiblity
	  in greedy atom handling.

2006-10-21 03:16  zmedico

	* [r4774] bin/emerge: In greedy atom handlink, filter binary
	  package for visiblity.

2006-10-21 02:24  zmedico

	* [r4773] bin/emerge: Apply the fix for bug #152175 to system/world
	  greedy behavior.

2006-10-21 01:26  zmedico

	* [r4772] bin/emerge: For bug #152175, trigger greedy --update
	  behavior when an atom matches a slot that isn't installed yet.

2006-10-20 22:33  zmedico

	* [r4771] pym/output.py: Allow an empty PROMPT_COMMAND for bug
	  #152157.

2006-10-20 20:49  zmedico

	* [r4769] bin/emerge: We there is a circular deps panic in reversed
	  mode, do the circular deps output without reversed mode since it
	  should reduce the noise level.

2006-10-20 12:45  zmedico

	* [r4766] bin/emerge: Clean up the blocker validation logic so that
	  "blocks" nodes are no longer stored in the main digraph.

2006-10-20 07:39  zmedico

	* [r4763] bin/dosed: Fix sed options from the previous commit so
	  that it doesn't create a backup file ending with "e". Thanks to
	  grobian for spotting this issue.

2006-10-20 06:04  zmedico

	* [r4762] bin/dosed: Make dosed use sed -i instead of a temp file.
	  Thanks to Tim Cera for this patch from bug #152017.

2006-10-20 05:44  zmedico

	* [r4761] bin/emerge: Remove special case of --emptytree in
	  depgraph.display(). Thanks to Jason Stubbs for this patch from
	  bug #152030.

2006-10-19 23:04  zmedico

	* [r4760] pym/portage.py, pym/portage_data.py: For userpriv, call
	  setgroups with all groups that the portage user belongs to (bug
	  #137610).

2006-10-19 21:48  zmedico

	* [r4759] bin/emerge: Only call altlist() to validate blockers when
	  necessary.

2006-10-18 20:27  zmedico

	* [r4756] bin/emerge: s/digraph.MEDIUM/DepPriority.MEDIUM/

2006-10-18 12:20  zmedico

	* [r4753] bin/emerge: Handle unresolvable blockers properly for bug
	  #151822.

2006-10-18 11:35  zmedico

	* [r4752] bin/emerge: Explicitly set the priority when a node is
	  added to enforce merge order for blocker avoidance.

2006-10-18 10:50  zmedico

	* [r4751] bin/emerge: All packages to be added to the world
	  favorites via --noreplace, even when --ask is enabled. Thanks to
	  leio for reporting this issue.

2006-10-18 10:35  zmedico

	* [r4750] bin/emerge: Don't initialize __weakref__ in the
	  DepPriority constructor.

2006-10-18 10:09  zmedico

	* [r4749] bin/emerge: Add __weakref__ to __slots__ so that weakref
	  support isn't disabled.

2006-10-18 09:15  zmedico

	* [r4748] bin/emerge: Fix --usepkg --newuse logic so that it
	  doesn't throw a KeyError if there's no matching ebuild in the
	  tree.

2006-10-18 08:10  zmedico

	* [r4747] bin/emerge: Remove the unused system slot from
	  DepPriority.

2006-10-18 07:45  zmedico

	* [r4746] bin/emerge: Fix a typo in xrange arguments from the
	  previous commit.

2006-10-18 07:32  zmedico

	* [r4745] bin/emerge, pym/portage.py: Add more dependency priority
	  levels for merge order calculations. Previously, all installed
	  deps were categorized at the same level with other soft deps. Now
	  there are 3 priority levels for soft deps: satisfied buildtime,
	  satisfied runtime, and other.

2006-10-17 21:51  zmedico

	* [r4744] pym/portage.py: Eliminate an unnecessary string
	  concatenation.

2006-10-17 21:32  zmedico

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

2006-10-17 21:10  zmedico

	* [r4742] pym/portage_util.py: Fix CONFIG_PROTECT so that is works
	  with symlinked directories for bug #151502.

2006-10-17 20:46  zmedico

	* [r4741] pym/portage.py: Filter empty elements in cumulative
	  env-update variables. Thanks to Brian Harring for this patch from
	  bug #151694.

2006-10-17 10:38  zmedico

	* [r4738] bin/emerge: Encapsulate altlist calls (for blockers that
	  depend on merge order) in validate_blockers().

2006-10-17 10:21  zmedico

	* [r4737] bin/misc-functions.sh: Add back the -v option for tar
	  (removed for bug #151146) in dyn_package(), but don't enable -v
	  when --quiet is enabled.

2006-10-17 09:49  zmedico

	* [r4736] pym/portage_util.py: Add -* support to stack_lists() and
	  use dict.pop() for removal of flags when appropriate.

2006-10-17 09:40  zmedico

	* [r4735] bin/emerge, pym/portage.py: Stack
	  use.mask/package.use.mask together at each level of the profile
	  for bug #151586, and do the same with
	  use.force/package.use.force.

2006-10-17 04:31  zmedico

	* [r4734] cnf/make.globals, pym/portage.py: Merge package.use and
	  USE from make.defaults together at each level of the profile
	  stack. This is analogous to how use.mask and package.use.mask are
	  planned to be merged for bug #151586.

2006-10-17 03:11  zmedico

	* [r4733] bin/emerge: Use setdefault to avoid an extra dict lookup.

2006-10-17 02:27  zmedico

	* [r4732] bin/emerge: Make --depclean treat DEPEND as soft deps
	  instead of forcing the user to have all build time deps
	  installed.

2006-10-16 22:47  zmedico

	* [r4731] bin/emerge: Always add blockers with
	  priority=digraph.SOFT so that blockers with multiple parents
	  can't trigger a circular deps panick.

2006-10-16 22:25  zmedico

	* [r4730] bin/emerge: Fix altlist blocker validation logic so that
	  the correct nodes are added to the list when called in reverse
	  mode.

2006-10-16 22:04  zmedico

	* [r4729] bin/emerge: Blockers that depend on merge order must be
	  validated by depgraph.altlist(reversed=False) before the reverse
	  tree is generated, since the validation won't work in reverse
	  mode.

2006-10-16 21:34  zmedico

	* [r4728] bin/emerge: Remove blocker nodes from the digraph prior
	  to the merge order calculation so that they don't trigger false
	  circular dependencies as reported in comment #17 of bug #151331.

2006-10-16 18:18  zmedico

	* [r4726] bin/emerge: When unable to navigate around blockers, add
	  them back to the main digraph so that the --tree display can show
	  them properly. This fixes the KeyError reported in comment #15 of
	  bug #151331

2006-10-16 16:36  genone

	* [r4724] cnf/make.conf.sparc-fbsd.diff: add make.conf diff for
	  sparc-fbsd arch (from Uberlord)

2006-10-16 08:59  zmedico

	* [r4722] bin/emerge, pym/portage.py: For bug #133908, prevent
	  collisions in ${PKGDIR}/All/ by automatically bumping colliding
	  packages to ${PKGDIR}/${CATEGORY}/ just before a collision would
	  occur. Newly built packages are always stored in ${PKGDIR}/All/,
	  should this be 100% compatible with previous behavior.

2006-10-15 20:32  zmedico

	* [r4719] pym/portage_util.py: Simplify and optimize grabdict.
	  Thanks to Brian Harring for suggesting this.

2006-10-15 20:01  zmedico

	* [r4718] pym/portage_util.py: Make grabdict incremental, so that
	  keys occuring multiple times will stack up instead of
	  overwritting eachother. Thanks to Sven Wegener for this
	  suggestion.

2006-10-15 10:54  zmedico

	* [r4712] pym/portage.py: Trigger binarytree population on
	  bindbapi.cpv_all() calls.

2006-10-15 09:53  zmedico

	* [r4708] pym/cache/metadata.py: Add a missing method parameter.

2006-10-15 07:26  zmedico

	* [r4704] pym/portage.py: Simplify binarytree.getname().

2006-10-15 06:51  zmedico

	* [r4701] bin/ebuild.sh: Use globing to match *rm phases from the
	  last commit.

2006-10-15 06:40  zmedico

	* [r4700] bin/ebuild.sh: Disable the ECLASS inherited illegally
	  message during *rm phases since it gives false alarms (bug
	  #150442).

2006-10-15 05:59  zmedico

	* [r4699] bin/emerge: Fix display of nomerge nodes and --tree for
	  ROOT!=/.

2006-10-14 23:40  zmedico

	* [r4698] bin/emerge: This patch implements intelligent navigation
	  around blockers in cases where the merge order can be adjusted
	  (via hard deps) such that two mutually blocking packages aren't
	  installed simultanously. This fixes bug #150879.

2006-10-14 21:13  zmedico

	* [r4697] bin/emerge: Fix the USE flag handling in
	  depgraph.display() for bug #151331, comment #5.

2006-10-14 13:20  zmedico

	* [r4683] bin/emerge: Fix a KeyError triggered by blockers in
	  depgraph.display() for bug #151331.

2006-10-14 04:07  zmedico

	* [r4679] bin/ebuild.sh, bin/emerge, bin/repoman, cnf/make.globals,
	  pym/portage.py: Implement per-package default USE flags at the
	  ebuild and profile levels for bug #61732.

2006-10-14 03:35  zmedico

	* [r4678] bin/emerge: For bug #151082, don't allow installed
	  packages to inappropriately satisfy packages that have been
	  explicitly requested as arguments.

2006-10-14 02:45  zmedico

	* [r4677] bin/ebuild.sh: Always `unset DEPEND RDEPEND PDEPEND IUSE`
	  prior to sourcing the ebuild in order to ensure correct
	  interaction during the process of sourcing. Thanks to exg for
	  reporting this issue.

2006-10-14 02:17  zmedico

	* [r4676] bin/misc-functions.sh: For bug #151146, don't use tar's
	  --verbose option during the package phase since it doesn't work
	  the same way anymore in tar-1.15.92 (new args have been tested
	  with both gnu tar-1.15.92 and bsdtar-1.3.1-r1).

2006-10-14 01:21  zmedico

	* [r4675] bin/emerge: For bug #151238, fix --with-bdeps logic so
	  that it works correctly with --onlydeps.

2006-10-12 10:49  zmedico

	* [r4664] pym/portage.py: Fix the new env-update lib dirs logic to
	  properly account for $ROOT.

2006-10-11 22:35  zmedico

	* [r4663] man/emerge.1: Escape quotes for bug #150932.

2006-10-11 22:11  zmedico

	* [r4662] pym/portage.py: Make an mtime change force an ldconfig
	  run, since it's possible that pre/postinst made changes in lib
	  dirs (noted by Brian Harring).

2006-10-11 21:51  zmedico

	* [r4661] pym/portage.py: Use contents to avoid unnecessary
	  ldconfig calls for bug #136488.

2006-10-11 18:04  zmedico

	* [r4660] bin/dosed: Use -e instead of -a for better cross-shell
	  compatibility. Thanks to exg.

2006-10-11 16:49  zmedico

	* [r4659] bin/emerge: Append PORTAGE_RSYNC_EXTRA_OPTS after the
	  default options for bug #150883.

2006-10-11 16:27  zmedico

	* [r4658] bin/emerge: Use grabfile instead of cat to display the
	  gentoo-release file.

2006-10-11 10:52  blubb

	* [r4657] bin/ebuild.sh: disable path globbing when creating
	  metadata keys; bug 150866; thanks to brian harring for the patch

2006-10-11 07:13  zmedico

	* [r4656] pym/portage_manifest.py: Make manifest2AuxfileFilter()
	  slightly more efficient and also ignore any hidden files.

2006-10-11 06:56  zmedico

	* [r4655] pym/portage.py: For bug #150121, generate an error in
	  digestcheck() if a file is found that is not listed in the
	  Manifest.

2006-10-11 05:54  zmedico

	* [r4654] bin/emerge, pym/portage.py: Move PORTAGE_BUILDDIR in to a
	  category subdirectory and clean up the category directory if
	  empty (while holding lock). This this will help avoid
	  PORTAGE_BUILDDIR collisions for parallel builds and will also
	  hack around bug #150454.

2006-10-11 03:20  vapier

	* [r4653] bin/misc-functions.sh: do not abort for the time being
	  with lazy bindings and setuid apps and FEATURES=stricter

2006-10-10 21:23  zmedico

	* [r4652] pym/portage.py: Add more self.modifying() checks in order
	  to detect modifcations to locked config objects.

2006-10-10 21:10  zmedico

	* [r4651] bin/repoman: Don't lock repoman_settings because it needs
	  to be mutable.

2006-10-10 21:07  zmedico

	* [r4650] bin/repoman: Remove an unnecessary assumption preventing
	  the use of CVS for an overlay.

2006-10-10 18:06  zmedico

	* [r4649] bin/emerge: Fix breakage in generation of favorites list
	  for bug #150754.

2006-10-10 11:03  zmedico

	* [r4648] pym/portage.py: Only unlink .installed after the
	  collision-protect has completed successfully (reported by axxo).

2006-10-10 08:35  zmedico

	* [r4647] pym/portage_update.py: Only do a slotmove on a slot dep
	  atom if the slotmove atom has no operator (otherwise there's not
	  enough information to perform the slotmove).

2006-10-10 03:40  zmedico

	* [r4646] bin/repoman: Print a more useful error message for bug
	  #150488.

2006-10-10 02:59  zmedico

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

2006-10-10 02:27  zmedico

	* [r4644] pym/portage.py: Simplify the needlessly complex virtuals
	  preferencing logic that lead to bug #150377.

2006-10-10 00:51  zmedico

	* [r4643] pym/portage.py: Avoid unnecessary population of the
	  bintree by populating it as late as possible.

2006-10-09 21:40  zmedico

	* [r4642] bin/emerge: Make --tree not imply --pretend anymore so
	  that people can put it in EMERGE_DEFAULT_OPTS.

2006-10-09 21:32  zmedico

	* [r4641] bin/emerge: Make --newuse not imply --update anymore
	  because that restriction is unnecessary.

2006-10-09 20:44  zmedico

	* [r4640] man/emerge.1: Document greedy atoms for the --update
	  option.

2006-10-09 20:31  zmedico

	* [r4639] man/emerge.1: Remove outdated mention of --update in the
	  --deep docs.

2006-10-09 20:26  zmedico

	* [r4638] pym/portage.py: Catch UnpicklingError when loading the
	  mtimedb (reported by marienz).

2006-10-09 20:09  zmedico

	* [r4637] pym/portage.py: Remove unnecessary config.reset() calls
	  in portage.create_trees().

2006-10-09 15:51  zmedico

	* [r4636] bin/repoman: Fix typo s/upper/lower/.

2006-10-09 07:23  zmedico

	* [r4633] bin/portageq: Remove unused PORTAGE_CALLER=portageq from
	  the environment.

2006-10-09 07:17  zmedico

	* [r4632] bin/emerge: Remove unused PORTAGE_CALLER=emerge from the
	  environment.

2006-10-09 07:14  zmedico

	* [r4631] bin/repoman, pym/portage.py: Use a local_config flag to
	  replace PORTAGE_CALLER == repoman conditionals.

2006-10-09 05:55  zmedico

	* [r4630] bin/repoman: For repoman, hide the vardbapi from
	  dep_zapdeps.

2006-10-08 23:37  zmedico

	* [r4629] NEWS: Add news about multiple inheritance support in
	  profiles.

2006-10-08 23:35  zmedico

	* [r4628] bin/emerge: Generate the depgraph.args_keys list _before_
	  building the graph.

2006-10-08 23:25  zmedico

	* [r4627] man/portage.5: Remove one more reference to use.defaults.

2006-10-08 23:21  zmedico

	* [r4626] man/portage.5: Remove use.default documentation since we
	  don't use it anymore. Thanks to Arfrever Frehtes Taifersar
	  Arahesis for this patch from bug #149608.

2006-10-08 23:06  zmedico

	* [r4625] pym/portage.py: Remove the single parent constraint in
	  profiles.

2006-10-08 22:54  zmedico

	* [r4624] bin/emerge: Clean up depgraph.select_files() to use one
	  list of tuples instead 2 separate lists.

2006-10-08 22:23  zmedico

	* [r4623] pym/portage.py: Make the .installed invalidation
	  conditional on srcroot and destroot being located on the same
	  filesystem (st_dev).

2006-10-08 22:14  zmedico

	* [r4622] pym/portage.py: Make the merge phase automatically
	  invalidate the ${PORTAGE_BUILDDIR}/.installed flag since it may
	  move files out of the image directory.

2006-10-08 21:43  zmedico

	* [r4621] bin/emerge: For bug #150361, implement greedy matching of
	  command line atoms against relevant installed slots. This patch
	  allows a subset of installed slots to be pulled in via operators
	  such as > or <.

2006-10-08 20:52  zmedico

	* [r4620] bin/emerge: Fix another bad package type assumption in
	  depgraph.display().

2006-10-08 20:50  zmedico

	* [r4619] bin/emerge: Make system/world less greedy for bug
	  #150251.

2006-10-08 18:21  zmedico

	* [r4618] cnf/make.conf, man/make.conf.5: For bug #140021, remove
	  autoaddcvs from the docs. Thanks to exg for this patch.

2006-10-08 01:07  zmedico

	* [r4617] pym/portage_update.py: Fix dep_transform breakage
	  (regression from r4596).

2006-10-07 22:14  zmedico

	* [r4616] pym/portage.py: Stack negative user virtuals in the
	  correct order for incremental behavior.

2006-10-07 22:13  zmedico

	* [r4615] pym/portage.py: For bug #150377, make virtual preferences
	  in a profile override the preferences of parent profiles.

2006-10-07 20:25  zmedico

	* [r4614] cnf/make.globals: Remove redundant quotes from
	  PORTAGE_RSYNC_OPTS.

2006-10-07 19:56  zmedico

	* [r4613] bin/emerge: Remove redunant quotes for bug #150381. This
	  change is related to the shlex posix mode used to fix bug #14215.

2006-10-07 17:10  zmedico

	* [r4612] bin/emerge: Fix package type assumptions in
	  depgraph.display() for bug #150359.

2006-10-07 04:09  zmedico

	* [r4611] RELEASE-NOTES: Add a heading for portage-2.1.2.

2006-10-07 04:05  zmedico

	* [r4610] RELEASE-NOTES: Add a release note about --with-bdeps.

2006-10-07 04:01  zmedico

	* [r4609] NEWS: Add news about major bug fixes in 2.1.2.

2006-10-06 23:18  zmedico

	* [r4608] bin/emerge: Delete some temporary variables after use.

2006-10-06 22:03  zmedico

	* [r4607] pym/portage_update.py: In update_dbentries(), use !=
	  rather than "is not" to make sure that updates never occur
	  unnecessarily.

2006-10-06 12:48  zmedico

	* [r4606] bin/emerge: Reject installed packages if they have a
	  matching masked ebuild in the tree.

2006-10-06 10:26  zmedico

	* [r4605] bin/emerge: For bug #48195, fall back to the installed
	  packages when there are no other choices. Global updates are
	  automatically performed on *DEPEND if necessary in order to clean
	  up stale atoms (we do single packages as necessary because it's
	  too time consuming to do the whole vdb at once).

2006-10-06 07:37  zmedico

	* [r4604] bin/repoman: Make repoman generate a syntax error if a
	  slot dep is used with EAPI == 0.

2006-10-06 03:28  zmedico

	* [r4603] pym/portage.py, pym/portage_util.py: Don't call varexpand
	  inside getconfig for env.d/profile.env values.

2006-10-06 02:48  zmedico

	* [r4602] pym/portage_util.py: For bug #14215, put the shlex parser
	  in posix mode so that it properly recognizes escaped quotes.

2006-10-06 01:25  zmedico

	* [r4601] pym/portage_util.py: For bug #150163, remove unnecessary
	  validation of new_protect_filename() parameters.

2006-10-06 00:54  zmedico

	* [r4600] bin/emerge: For bug #150178, print an error message when
	  emerge is called with both --config and --pretend.

2006-10-05 12:09  zmedico

	* [r4599] NEWS: Add news about slot deps.

2006-10-05 11:52  zmedico

	* [r4598] pym/portage_dep.py: Improve best_match_to_list() and
	  include support for slot deps.

2006-10-05 11:15  zmedico

	* [r4597] pym/portage_update.py: Fix package moves/slotmoves to
	  work with slot deps.

2006-10-05 09:03  zmedico

	* [r4596] pym/portage_update.py: Just use a simple replace for the
	  needlessly complex dep_transform function. This will make it
	  compatible with slot deps.

2006-10-05 06:50  zmedico

	* [r4595] bin/emerge: For bug #4698, use slot deps to ensure that
	  all installed slots are automatically updated.

2006-10-05 05:24  zmedico

	* [r4594] pym/portage.py, pym/portage_dep.py: Add support for slot
	  based dep matching in all dbapi derived classes. The supported
	  syntax is ${CATEGORY}/${PN}:${SLOT} (identical to that used by
	  paludis and pkgcore).

2006-10-04 23:02  zmedico

	* [r4593] pym/portage_dep.py: Share duplicate code between
	  dep_getkey() and dep_getcpv().

2006-10-04 08:17  zmedico

	* [r4591] pym/portage.py: Don't create /cvs-src since the
	  cvs.eclass will do that automatically.

2006-10-04 08:04  zmedico

	* [r4590] pym/portage.py: Fix a typo for the file mode in ${T}.

2006-10-04 07:37  zmedico

	* [r4589] bin/emerge, pym/portage.py: Don't apply the sticky bits
	  until we have a complete plan for bug #149062.

2006-10-04 07:17  zmedico

	* [r4588] pym/portage.py: Properly write all fifo and device nodes
	  to CONTENTS for bug #144781. Code to parse these entries has
	  already in place and they are never unmerged.

2006-10-04 06:10  zmedico

	* [r4587] pym/portage.py: Remove redundant PORTAGE_BUILDDIR
	  creation.

2006-10-04 05:09  zmedico

	* [r4586] bin/emerge: When gathering a group of nodes to merge
	  (with circular RDEPEND), make sure not to prematurely merge any
	  nodes that have unsatisfied hard deps.

2006-10-04 04:37  zmedico

	* [r4585] pym/portage.py: Make PORTAGE_BUILDDIR and subdirectories
	  group writable for now (reverts some of the changes from bug
	  #149062). One major problem is that the first phase (setup) is
	  often run as root. We need a way to tell portage about a less
	  privileged user that may need to be given permission on files and
	  directories.

2006-10-03 22:18  zmedico

	* [r4584] pym/portage.py: Don't set the gid unnecessarily on
	  $PORTAGE_BUILDDIR/distdir.

2006-10-03 22:09  zmedico

	* [r4583] pym/portage.py: For userpriv support, chown files in ${T}
	  if necessary after priveleged phases.

2006-10-03 21:04  zmedico

	* [r4582] bin/emerge, pym/portage.py: Use 01775 permissions for
	  subdirectories of PORTAGE_TMPDIR, and 0755 permissions for other
	  directories (bug #149062).

2006-10-03 19:03  zmedico

	* [r4581] pym/portage.py: Use 755 permissions for
	  ${PORTAGE_WORKDIR}/distdir (bug #149062).

2006-10-03 18:33  zmedico

	* [r4580] bin/emerge: Print a message about make.globals if PORTDIR
	  is undefined.

2006-10-03 07:05  zmedico

	* [r4579] bin/emerge, pym/portage.py: Add a digraph.NONE constant
	  to represent no priority.

2006-10-03 06:45  zmedico

	* [r4578] bin/emerge: Refector depgraph.altlist()
	  reverse/ignore_priority handling.

2006-10-03 01:51  zmedico

	* [r4577] bin/emerge: Remove a len(nodes) == 1 test that's never
	  True.

2006-10-03 01:40  zmedico

	* [r4576] bin/emerge: In depgraph.altlist(), use a recursive
	  fuction to gather groups of nodes that RDEPEND on eachother.

2006-10-03 00:27  zmedico

	* [r4575] pym/portage.py: Fix priority logic in digraph.add().

2006-10-02 22:39  zmedico

	* [r4574] pym/portage_util.py: Optimize varexpand for bug #149900.

2006-10-02 22:21  zmedico

	* [r4573] bin/emerge: Remove unnecessary set creation.

2006-10-02 22:08  zmedico

	* [r4572] bin/emerge, pym/portage.py: Fix depgraph.altlist() so
	  that it can identify a group of nodes that completely satisfy
	  eachothers non-soft deps. This should complete the fix for bug
	  #149881.

2006-10-02 19:29  zmedico

	* [r4571] bin/emerge, pym/portage.py: Add medium priority level
	  into the digraph (in addition to the existing hard and

2006-10-01 23:15  zmedico

	* [r4570] bin/quickpkg: For bug #149781, exclude symlinks to
	  directories when creating binary package with quickpkg.

2006-09-30 19:35  zmedico

	* [r4568] man/emerge.1: Fix misspelling of dependencies for bug
	  #149645.

2006-09-30 18:24  zmedico

	* [r4567] bin/emerge: Emulate old --update world/system behavior
	  for bug #149527.

2006-09-30 04:06  zmedico

	* [r4566] bin/emerge: Don't try to match call best_match_to_list()
	  on "blocks" nodes for bug #149576.

2006-09-29 21:56  zmedico

	* [r4565] man/make.conf.5: Update CONFIG_PROTECT docs to reflect
	  that files are now supported.

2006-09-29 21:50  zmedico

	* [r4564] man/make.conf.5: Update installsources docs for bug
	  #149491.

2006-09-29 21:47  zmedico

	* [r4563] man/make.conf.5: Document the new COLLISION_IGNORE
	  variable.

2006-09-29 21:36  zmedico

	* [r4562] pym/portage.py: For bug #149412, add a COLLISION_IGNORE
	  user config option that behaves similar to CONFIG_PROTECT_MASK,
	  but for collision-protect.

2006-09-29 21:07  zmedico

	* [r4561] man/emerge.1: Document the new --with-bdeps option.

2006-09-29 20:37  zmedico

	* [r4560] bin/emerge: Allow options contained in
	  EMERGE_DEFAULT_OPTS to be overridden by the real command line
	  options.

2006-09-29 19:12  zmedico

	* [r4559] bin/prepstrip: Move installed sources into ${CATEGORY}
	  subdirectories in order to prevent collisions for bug #149491.

2006-09-29 18:28  zmedico

	* [r4558] pym/portage.py: Allow env.d file names with 3 characters.
	  This is a regression from r4451.

2006-09-29 17:47  zmedico

	* [r4557] bin/ebuild.sh: Fix quoting of ${D} in make arguments for
	  einstall(). Thanks to Volkov Peter <pva@gentoo.org> for this
	  patch from bug #149494.

2006-09-29 17:41  zmedico

	* [r4556] bin/ebuild.sh: Fix broken [ -z "" ] test. Thanks to
	  Volkov Peter <pva@gentoo.org> for this patch from bug #149494.

2006-09-29 05:36  zmedico

	* [r4555] bin/emerge: Fix inverted --with-bdeps logic.

2006-09-29 02:10  zmedico

	* [r4554] pym/output.py: Call sys.stdout.flush() after print
	  statements so that output has the correct order when multiple
	  processes output to a shared pipe.

2006-09-29 01:52  zmedico

	* [r4553] bin/emerge: Properly treat myopts as a dict.

2006-09-29 01:26  zmedico

	* [r4552] bin/emerge: Remove some unreachable code.

2006-09-29 01:14  zmedico

	* [r4551] bin/emerge: Use dict.pop(k, None) to delete items if they
	  exist.

2006-09-29 00:47  zmedico

	* [r4550] bin/emerge: Store myopts in the mtimedb as a list for
	  backward compatibility.

2006-09-29 00:05  zmedico

	* [r4549] bin/emerge: Add missing calls to iteritems() from the
	  last commit.

2006-09-28 23:02  zmedico

	* [r4548] bin/emerge: Add a --with-bdeps=[y,n] option for bug
	  #148870.

2006-09-28 18:29  zmedico

	* [r4547] bin/emerge: Convert myopts into a dictionary so that it
	  can be used for more that boolean flags.

2006-09-28 17:36  zmedico

	* [r4546] bin/emerge: Convert emerge option parsing to use python's
	  optparse module. This patch makes the minimum changes necessary
	  for the conversion and is supposed to be 100% compatible with
	  previous parsing behavior.

2006-09-28 00:15  zmedico

	* [r4545] pym/cache/flat_hash.py: Catch a ValueError caused by
	  corrupt cache for bug #149134.

2006-09-27 16:50  zmedico

	* [r4543] pym/portage.py: In dep_zapdeps preference selection, use
	  package names instead of the real atoms for an initial rough
	  match against installed packages. More specific preference
	  selection is handled later via slot and version comparison.
	  Thanks to Jason Stubbs for this patch from bug #147766.

2006-09-27 15:41  zmedico

	* [r4542] pym/portage.py: Revert dep_zapdeps fakedbapi usage as per
	  comment #31 on bug #147766.

2006-09-27 08:44  zmedico

	* [r4541] bin/emerge: Fix --update so that it updates direct
	  dependencies for bug #149208.

2006-09-27 07:01  zmedico

	* [r4540] bin/emerge: Make sure that all packages are in the dbapi
	  when doing the blocker validation.

2006-09-27 06:22  zmedico

	* [r4539] bin/emerge, pym/portage.py: Add SLOT support to fakedbapi
	  then use it for depgraph blocker handling and dep_zapdeps
	  preference selection.

2006-09-25 21:16  zmedico

	* [r4530] pym/portage_data.py: Add a warning about the portage
	  group and the possiblility of exploits for bug #149062.

2006-09-25 20:40  zmedico

	* [r4529] bin/emerge: Clean up the logic a little for bug #149092.

2006-09-25 20:07  zmedico

	* [r4528] bin/emerge: Check the dep_check return value and fail
	  with a message if an error has occurred.

2006-09-25 18:26  zmedico

	* [r4527] bin/emerge: Make `emerge world` (without --deep) work as
	  expected for bug #149092.

2006-09-25 16:22  vapier

	* [r4526] bin/emerge: print errors to stderr, not stdout

2006-09-25 09:49  zmedico

	* [r4525] pym/portage.py: For bug #149028, don't lock the tbz2 file
	  because the filesytem could be readonly or shared by a cluster.

2006-09-24 23:45  zmedico

	* [r4524] bin/emerge, pym/portage.py: Clean up and simplify
	  depgraph params logic. This fixes bug #148893.

2006-09-24 21:30  zmedico

	* [r4523] bin/emerge: Remove depgraph params for depclean since it
	  no longer uses the depgraph.

2006-09-24 07:49  zmedico

	* [r4522] bin/emerge: In order to ensure correct merge order such
	  that build time dependencies will really be usable, don't treat
	  RDEPEND as soft_deps. Thanks for Jason Stubbs for recognizing
	  this issue.

2006-09-24 01:07  zmedico

	* [r4521] pym/portage.py: Use the same directories for binary
	  package merges as would be used for source based merges (since
	  the normal PORTAGE_BUILDDIR is already used by the setup,
	  preinst, and postinst phases anyway).

2006-09-23 22:14  zmedico

	* [r4520] pym/portage.py: Fix portage.pkgmerge() so that it locks
	  files and directories when in use.

2006-09-23 19:21  zmedico

	* [r4519] bin/pkgmerge, bin/pkgmerge.new: Remove pkgmerge since
	  it's apparent that nobody uses it (it's been broken for a long
	  time, anyway).

2006-09-23 19:01  zmedico

	* [r4518] bin/emerge, pym/portage.py: Remove doebuild_environment
	  return value checks since it no raises and exception if
	  necessary.

2006-09-23 10:47  zmedico

	* [r4516] pym/portage.py: Make doebuild_environment raise an
	  exception so that we never have to check the return value.

2006-09-23 10:30  zmedico

	* [r4515] pym/portage.py: Only lock PORTAGE_BUILDDIR if the ebuild
	  exists (otherwise we don't run prerm and postrm).

2006-09-23 10:28  zmedico

	* [r4514] pym/portage.py: Lock PORTAGE_BUILDDIR all the way through
	  prerm, unmerge, and postrm.

2006-09-23 09:47  zmedico

	* [r4513] bin/emerge, pym/portage.py: Always check the return value
	  of doebuild_environment().

2006-09-23 09:07  zmedico

	* [r4512] bin/emerge, pym/portage.py: Move PORTAGE_BUILDDIR locking
	  out of doebuild and into emerge in order to ensure that emerge
	  maintains it's lock through all phases.

2006-09-23 07:09  zmedico

	* [r4511] bin/emerge: Remove outdated "Unable to run required
	  binary" messages that are now unreachable.

2006-09-23 06:56  zmedico

	* [r4510] pym/portage.py: Move PORTAGE_LOG_FILE initialization from
	  doebuild to prepare_build_dirs.

2006-09-23 05:24  zmedico

	* [r4509] bin/emerge: Pass in the correct arg= value to select_dep.

2006-09-23 05:13  zmedico

	* [r4508] bin/emerge: Never allow packages explicitly requested on
	  the command line to be tagged "nomerge" unless --noreplace has
	  been specified. This patch accomplishes the same goal as r4494
	  but without the potential for causing inconsistency in the
	  depgraph.

2006-09-22 23:57  zmedico

	* [r4507] bin/emerge: Ensure that soft_dep is a plain boolean (not
	  vardb match results).

2006-09-22 22:31  zmedico

	* [r4506] pym/cache/flat_hash.py: Move the open call out of the
	  inner try block.

2006-09-22 22:20  zmedico

	* [r4505] bin/emerge: Make it possible, once again, to use
	  --noreplace to add a package to the world file.

2006-09-22 21:49  zmedico

	* [r4504] pym/cache/flat_hash.py: Use finally: to ensure that the
	  file is closed properly.

2006-09-22 21:26  zmedico

	* [r4503] pym/cache/sqlite.py: Don't use LazyLoad for cache pulls
	  because it causes a race condition.

2006-09-22 21:17  zmedico

	* [r4502] pym/cache/flat_hash.py: Improve and simplify __getitem__
	  error handling.

2006-09-22 20:59  zmedico

	* [r4501] pym/cache/flat_hash.py, pym/cache/metadata.py: Use fstat
	  to when retrieve cache timestamps and avoid a race.

2006-09-22 20:24  zmedico

	* [r4500] bin/emerge, pym/cache/flat_list.py, pym/eclass_cache.py,
	  pym/portage.py, pym/portage_update.py: For compatibility with
	  float timestamps in python-2.5, convert st_mtime attributes to
	  long wherever portage expects 1s resolution.

2006-09-22 19:53  zmedico

	* [r4499] pym/cache/flat_hash.py: Convert stat timestamps to long
	  for compatibility with python-2.5, which returns floats for
	  timestamps.

2006-09-22 19:50  zmedico

	* [r4498] pym/cache/sqlite.py: Allow cache.sqlite to use sqlite3
	  from python-2.5, if available.

2006-09-22 09:55  zmedico

	* [r4496] bin/emerge, pym/portage.py: Revert r4495, since
	  conversion from nomerge to merge may put the depgraph into an
	  inconsistent state du to USE flag mismatch. This can be solved by
	  checking all args prior to marking packages as nomerge.

2006-09-22 09:18  blubb

	* [r4495] bin/ebuild.sh: use EBUILD_SH_ARGS instead of $*; bug
	  148615

2006-09-22 08:11  zmedico

	* [r4494] bin/emerge, pym/portage.py: Allow packages specified on
	  the command line to be retroactively upgraded from "nomerge" to
	  "merge" nodes.

2006-09-21 11:16  zmedico

	* [r4493] bin/emerge: Fix another IndexError due to an assumption
	  that digraph nodes split into at least 4 parts.

2006-09-21 07:44  zmedico

	* [r4492] bin/emerge: Prevent --update and/or --deep style behavior
	  when the user hasn't specified them. In these cases a full
	  depgraph isn't desired and we have to ignore the installed deps
	  that are now returned from dep_check.

2006-09-21 05:17  zmedico

	* [r4491] bin/emerge: Prevent an IndexError caused by blocker nodes
	  splitting to 3 items instead of 4.

2006-09-21 03:13  zmedico

	* [r4490] bin/emerge: Add a comment about old-style virtuals inside
	  depgraph.validate_blockers().

2006-09-21 03:02  zmedico

	* [r4489] bin/emerge: Remove an inaccurate comment.

2006-09-21 02:54  zmedico

	* [r4488] bin/emerge: Add a docstring for
	  depgraph.validate_blockers().

2006-09-21 00:58  zmedico

	* [r4487] bin/emerge: Fix depgraph.validate_blockers() logic so
	  that match_from_list works correctly.

2006-09-20 22:13  zmedico

	* [r4486] bin/emerge: Thanks to Jason Stubbs for this patch from
	  bug #16365 which invalidates any blocker that is made irrelevant
	  by a package upgrade.

2006-09-20 03:47  zmedico

	* [r4485] pym/portage.py: As suggested by vapier, send emerge -fp
	  output to stdout and make it work together with --quiet.

2006-09-20 03:09  zmedico

	* [r4484] bin/portageq: Make portageq exit successfully for -h or
	  --help.

2006-09-19 22:01  zmedico

	* [r4483] bin/portageq: Make portageq exit with nonzero status when
	  called incorrectly.

2006-09-19 18:07  zmedico

	* [r4482] bin/emerge, pym/portage.py: For consistency, pass
	  ignore_soft_deps into digraph.hasallzeros().

2006-09-19 09:03  zmedico

	* [r4481] pym/portage.py: Fix digraph.hasallzeros() breakage.

2006-09-19 07:20  zmedico

	* [r4480] bin/ebuild: Properly close the caches before reloading
	  portage.

2006-09-19 06:46  zmedico

	* [r4479] bin/emerge, pym/portage.py: This is a new --tree
	  implementation by Jason Stubbs, from bug #147766.

2006-09-19 02:36  zmedico

	* [r4478] pym/portage.py: Fix fetch resume logic for bug #145601
	  and document the meaning of the "fetched" variable.

2006-09-19 01:58  zmedico

	* [r4477] pym/portage.py: Fix digraph.debug_print inverted
	  hard/soft logic.

2006-09-19 01:00  zmedico

	* [r4476] bin/etc-update: Turn off file name globbing during
	  expansion of ${find_opts} for bug #148115.

2006-09-18 11:36  zmedico

	* [r4475] bin/emerge: Allow packages matched by something in
	  package.provided to be explicitly merged by the user.

2006-09-18 10:36  zmedico

	* [r4474] bin/emerge: Idendify soft deps in emerge --debug output.

2006-09-18 10:18  zmedico

	* [r4473] bin/emerge: Thanks again to Jason Stubbs for this patch
	  from bug #147766 which represents PDEPEND relationships withing
	  the depgraph as reverse soft dependencies.

2006-09-18 08:31  zmedico

	* [r4472] bin/emerge, pym/portage.py: Thanks to Jason Stubbs for
	  this patch from bug #147766 which enables creation of a full and
	  complete depgraph, leaving no dependencies unaccounted for. This
	  will allow more accurate merge order and proper detection of
	  circular dependencies!

2006-09-18 04:20  zmedico

	* [r4471] bin/emerge: Ensure that the parent process gets the first
	  fetch when parallel-fetch is enabled.

2006-09-18 03:54  zmedico

	* [r4470] pym/cache/anydbm.py, pym/cache/flat_hash.py,
	  pym/cache/flat_list.py, pym/cache/fs_template.py,
	  pym/cache/metadata.py, pym/cache/metadata_overlay.py,
	  pym/cache/sql_template.py, pym/cache/sqlite.py,
	  pym/cache/template.py, pym/cache/util.py: Replace relative
	  imports with absolute imports for forward compatibility with
	  python 2.6.

2006-09-18 03:14  zmedico

	* [r4469] bin/emerge: Close the parallel-fetch log file descriptor
	  when it's no longer needed.

2006-09-17 20:32  zmedico

	* [r4468] bin/emerge, pym/portage.py: Use mtimedb.filename == None
	  to disable mtimedb writes (instead of /dev/null).

2006-09-17 04:51  zmedico

	* [r4467] bin/emerge: Reimplement parallel-fetch so that it simply
	  spawns `emerge --fetch --resume` via portage_exec.spawn. This
	  prevents potential issues with shared file descriptors and unsafe
	  forks as discussed in bug #147516. This patch makes sure that the
	  spawned emerge process does not write to emerge.log or the
	  mtimedb.

2006-09-16 07:33  zmedico

	* [r4464] pym/portage.py: In portage.commit_mtimedb(), use the
	  commit() method when possible, so that the mtimedb is only
	  rewritten when it has been modified.

2006-09-16 05:23  vapier

	* [r4463] man/make.conf.5: document FEATURES=buildsyspkg #147729

2006-09-16 01:08  zmedico

	* [r4462] bin/repoman: Add CATEGORY to the list of readonly
	  variables.

2006-09-16 00:50  zmedico

	* [r4461] bin/dispatch-conf: For bug #14321, make dispatch-conf
	  scan for individual files listed in CONFIG_PROTECT.

2006-09-16 00:45  zmedico

	* [r4460] bin/etc-update: For bug #14321, make etc-update scan for
	  individual files listed in CONFIG_PROTECT.

2006-09-16 00:42  zmedico

	* [r4459] bin/emerge: For bug #14321, make emerge scan for
	  individual files listed in CONFIG_PROTECT.

2006-09-16 00:38  zmedico

	* [r4458] pym/portage.py, pym/portage_util.py: For bug #14321, add
	  support for individual files in CONFIG_PROTECT and
	  CONFIG_PROTECT_MASK.

2006-09-15 10:49  zmedico

	* [r4453] pym/portage.py: When it's detected that a previously
	  remembered update has been accepted, remove it from confmem.

2006-09-15 07:07  zmedico

	* [r4452] pym/portage.py: Add support for SPACE_SEPARATED and
	  COLON_SEPARATED in /etc/env.d/ so that hard coded values are not
	  required.

2006-09-15 03:12  zmedico

	* [r4451] pym/portage.py: Move all env.d file name filtering into a
	  single loop.

2006-09-15 02:07  zmedico

	* [r4450] pym/portage.py: Simplify the confmem logic so that it's
	  easier to read.

2006-09-14 07:52  zmedico

	* [r4449] pym/portage_locks.py: Remove an unused hardlink_active()
	  function.

2006-09-14 07:44  zmedico

	* [r4448] pym/portage_locks.py: Simplify
	  portage_locks.hardlink_is_mine() so that it only checks the
	  number of links. Nothing more is needed.

2006-09-14 07:17  zmedico

	* [r4447] pym/portage_locks.py: Remove all traces of atexit
	  hardlock cleanup code, since it doesn't work correctly anyway.

2006-09-14 06:33  zmedico

	* [r4446] pym/portage_locks.py: In unhardlink_lockfile(), make sure
	  not to touch lockfilename unless we really have a lock. See bug
	  #147453.

2006-09-14 02:26  vapier

	* [r4443] man/make.conf.5: note that you need to use an absolute
	  path for ROOT #147427 by Brad Plant

2006-09-13 20:50  zmedico

	* [r4442] pym/portage.py: Use configdict["env"].clear() instead of
	  manual deletion because the result is the same and it's much more
	  efficient.

2006-09-13 20:42  zmedico

	* [r4441] pym/portage.py: For correct LINGUAS handling, don't
	  export empty USE_EXPAND variables unless the user config exports
	  them as empty. Thanks to Harald van Dijk <truedfx@gentoo.org> for
	  this patch from bug #147428.

2006-09-10 21:53  zmedico

	* [r4434] pym/portage.py: Add KDEDIRS to colon_separated env-update
	  vars as requested by Carlo.

2006-09-10 21:34  zmedico

	* [r4433] pym/portage_update.py: Fix a broken call to
	  new_protect_filename for bug #147010. This is a regression from
	  r4400 (fix for bug #146289).

2006-09-10 04:54  vapier

	* [r4432] cnf/make.conf.sh.diff: diff for superh

2006-09-09 23:11  zmedico

	* [r4431] pym/portage.py: For bug #80846, prevent false collisions
	  caused by symlinks. Thanks to Thomas Bettler
	  <bettlertho@sis.unibe.ch> for the initial patch.

2006-09-09 22:00  zmedico

	* [r4430] pym/portage.py: In dblink.isowner(), correct the logic to
	  test the path itself (via lstat) rather than the referant in the
	  case of symlinks.

2006-09-08 20:37  zmedico

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

2006-09-07 08:31  zmedico

	* [r4425] bin/ebuild.sh, pym/portage.py: Add PORTAGE_DEPCACHEDIR to
	  SANDBOX_PREDICT since it's legitimate for portageq calls to
	  trigger cache writes. See bug #144011.

2006-09-07 07:05  zmedico

	* [r4424] bin/quickpkg: Make quickpkg respect PORTAGE_NICENESS.

2006-09-07 07:01  zmedico

	* [r4423] bin/quickpkg: Substitute isolated-functions.sh in place
	  of /sbin/functions.sh.

2006-09-07 06:38  zmedico

	* [r4422] bin/quickpkg: Condense a few portageq calls into one.

2006-09-07 06:08  zmedico

	* [r4421] bin/misc-functions.sh: Make sure that the package phase
	  has the PYTHONPATH set correctly so that the xpak module is
	  accessible.

2006-09-07 06:00  zmedico

	* [r4420] bin/quickpkg: Optimize quickpkg so that it creates the
	  binary package directly in $PKGDIR/All. This eliminates the need
	  for tbz2tool and is the same approach used by the package phase
	  in misc-functions.sh.

2006-09-07 05:01  zmedico

	* [r4419] bin/quickpkg: For bug #146564, include directories in
	  packages created by quickpkg. Note that tar's --no-recursion
	  option causes the directories to be selectively included without
	  nessarily including their contents.

2006-09-06 20:19  zmedico

	* [r4418] pym/portage.py: Document that dblink.unmerge() does not
	  perform locking internally.

2006-09-06 20:07  zmedico

	* [r4417] pym/portage.py: Properly lock the critical section of
	  portage.unmerge() for bug #101240.

2006-09-06 17:04  zmedico

	* [r4416] pym/portage.py: Allow env_update to work if there are
	  broken symlinks in /etc/env.d/. See bug #146412.

2006-09-06 07:36  zmedico

	* [r4415] bin/repoman: Remove ACCEPT_KEYWORDS from incrementals to
	  that a hypothetical config.regenerate() call won't affect it.

2006-09-06 07:23  zmedico

	* [r4414] bin/repoman: Call dep_settings.setcpv() first so that
	  ACCEPT_KEYWORDS when setcpv calls reset. The backup_changes call
	  isn't working for some reason (reported by vapier).

2006-09-06 05:03  vapier

	* [r4413] bin/ebuild.sh: unpack rar files with -o+ to force
	  overwriting #146508 by Paul Bredbury

2006-09-06 04:52  vapier

	* [r4412] bin/ebuild.sh: make .compiled warning the same helpful
	  format as .installed

2006-09-06 04:48  vapier

	* [r4411] bin/ebuild.sh: if user has FEATURES=noauto then dont
	  check lame .installed file

2006-09-05 20:30  zmedico

	* [r4408] pym/portage.py: During env_update, raise a FileNotFound
	  exception if a file is unexpectedly removed by a concurrent
	  process. See bug #146412.

2006-09-04 23:58  zmedico

	* [r4407] pym/portage.py: Add an additional note about $ROOT and
	  USE flag handling in dep_check.

2006-09-04 22:35  zmedico

	* [r4406] bin/emerge: Revert r4403 since dep_check needs a config
	  instance for the $ROOT where the dependencies will be installed.

2006-09-04 21:29  zmedico

	* [r4405] pym/portage.py: Only apply USE masks in dep_check when
	  called by repoman with use="all".

2006-09-04 20:56  zmedico

	* [r4404] pym/portage.py: Use a set for masklist inside dep_check.

2006-09-04 19:50  zmedico

	* [r4403] bin/emerge: For emerge dep_check calls, use a config
	  instance that has the correct state and the correct $ROOT.

2006-09-04 18:50  zmedico

	* [r4402] bin/repoman: Move setcpv call (from the last commit) to a
	  more logical location.

2006-09-04 18:42  zmedico

	* [r4401] bin/repoman, pym/portage.py: Add repoman support for
	  package.use.mask.

2006-09-04 17:59  zmedico

	* [r4400] pym/portage_util.py: Since none of the code is written to
	  handle it, never return a tuple from new_protect_filename(). See
	  bug #146289.

2006-09-04 04:44  zmedico

	* [r4396] pym/portage.py: Don't call dict.keys() unnecessarily for
	  the containment test in dblink.isowner().

2006-09-03 21:36  zmedico

	* [r4395] NEWS, RELEASE-NOTES: Move notes about --depclean and
	  --newuse from NEWS to RELEASE-NOTES.

2006-09-03 21:27  zmedico

	* [r4394] NEWS: Add news about --newuse being able to detect
	  changes in IUSE.

2006-09-03 20:47  zmedico

	* [r4393] pym/portage.py: When aux_get can't find a matching
	  ebuild, simply raise a KeyError(cpv) and don't dump redundant
	  messages to stderr unless --debug is enabled.

2006-09-03 12:42  blubb

	* [r4382] bin/ebuild.sh: moving the portage-specific sandbox-code
	  out of the ebuild-specific src_test

2006-09-03 05:20  zmedico

	* [r4381] man/emerge.1: Describe each of the USE flag symbols that
	  are displayed in verbose mode (see bug #146060).

2006-09-02 23:24  zmedico

	* [r4380] bin/emerge: Make code from the last 2 commits conditional
	  on merging == 0 and vardbapi.cpv_exists(mykey).

2006-09-02 22:59  zmedico

	* [r4379] bin/emerge: Update the depgraph's USE flag cache so
	  that's it's consistent with installed packages.

2006-09-02 22:55  zmedico

	* [r4378] bin/emerge: When creating the depgraph, use the correct
	  USE flags for packages that are already installed.

2006-08-29 21:28  zmedico

	* [r4375] bin/etc-update: Use a specialized read_int function to
	  read integer input for bug #143881. This uses a subshell to work
	  around bash's tendency to break out of a loop whenever an integer
	  conversion fails.

2006-08-29 19:58  zmedico

	* [r4374] pym/portage.py: Before the preinst phase, only call
	  load_infodir for binary packages. Otherwise, load_infodir will
	  wipe settings from doebuild_environment (such as CATEGORY).

2006-08-28 21:12  vapier

	* [r4364] bin/etc-update: fix whitespace

2006-08-27 19:46  blubb

	* [r4355] bin/misc-functions.sh: let's not fork too much

2006-08-27 18:54  blubb

	* [r4354] bin/misc-functions.sh: make the multilib-strict check
	  show all files that violate the rule, not just the first one

2006-08-27 18:30  zmedico

	* [r4353] pym/portage.py: Add a missing newline from the previous
	  commit.

2006-08-27 16:46  blubb

	* [r4351] pym/portage.py: don't display useless messages when using
	  --quiet

2006-08-27 10:57  zmedico

	* [r4350] bin/emerge: Display flags that have been removed from
	  IUSE as (-flag%) instead of !flag% and display newly added masked
	  flags without the % symbol in order to avoid ambiguity. See bug
	  #144661.

2006-08-27 10:15  zmedico

	* [r4349] bin/emerge: For --newuse, ignore masked/forced flags when
	  comparing IUSE. See bug #144661.

2006-08-27 09:55  zmedico

	* [r4348] bin/emerge: For --newuse, ignore masked/forced flags when
	  comparing IUSE. See bug #144661.

2006-08-26 23:48  zmedico

	* [r4347] bin/emerge: Remove a redundant conditional from the last
	  commit.

2006-08-26 23:27  zmedico

	* [r4346] bin/emerge: Show the * symbol in addition to the % symbol
	  when the flags state transitions from nonexistent -> enabled or
	  vice versa.

2006-08-26 21:01  zmedico

	* [r4345] NEWS: Add news about the new depclean algorithm.

2006-08-26 01:32  zmedico

	* [r4344] bin/emerge: Recommend `emerge --update --deep world`
	  prior to depclean in order to make sure that all dependencies are
	  satisfied. See bug #145078.

2006-08-25 15:37  blubb

	* [r4343] bin/misc-functions.sh: remove the MULTILIB_STRICT_EXEMPT
	  default as all profiles set it anyway

2006-08-25 14:57  blubb

	* [r4342] bin/misc-functions.sh: ignore binutils wrt
	  multilib-strict; bug 121641

2006-08-24 18:51  blubb

	* [r4339] bin/isolated-functions.sh, bin/misc-functions.sh: only
	  print the "Removing /usr/share/info" if --quiet was not passed

2006-08-24 18:26  zmedico

	* [r4336] pym/portage.py: Make symlink merge output respect
	  --quiet. Thanks to blubb for reporting.

2006-08-24 07:43  zmedico

	* [r4322] bin/emerge: Display flags that have been removed from
	  IUSE as !flag% for bug #144661.

2006-08-24 03:51  zmedico

	* [r4321] bin/prepstrip: For bug #144928, add -L to the rsync
	  options (transform symlink into referent). Thanks to Olivier
	  Crete <tester@gentoo.org> for this patch.

2006-08-22 17:15  vapier

	* [r4320] bin/etc-update: include filename in submenu so we know
	  exactly what we are working on

2006-08-20 07:47  zmedico

	* [r4313] pym/portage.py: Don't bother to lock CONFIG_MEMORY_FILE
	  since writedict is atomic anyway.

2006-08-20 07:12  zmedico

	* [r4312] bin/emerge: Make depclean more friendly about unresolved
	  atoms. Thanks to jstubbs for this patch from bug #144486.

2006-08-19 22:10  vapier

	* [r4311] man/portage.5: document the ability to make package.
	  files directories in /etc/portage #144381 by Caleb Cushing

2006-08-19 21:55  vapier

	* [r4310] man/portage.5: eat some extraneous newlines

2006-08-19 17:57  vapier

	* [r4309] man/ebuild.5: document ROOT #144331

2006-08-19 16:29  vapier

	* [r4308] cnf/make.conf, man/make.conf.5: some INSTALL_MASK docs by
	  compnerd

2006-08-19 02:03  zmedico

	* [r4306] bin/portageq: Make sure that portageq exits quietly when
	  killed, like emerge does.

2006-08-17 17:09  solar

	* [r4283] pym/portage.py: - record the md5 checksum of the .tbz2
	  used at merge time. This will become useful to know if we should
	  refetch a .tbz2 from a remote repo

2006-08-17 03:18  zmedico

	* [r4272] bin/repoman: Remove an unused "objsadded" variable
	  spotted by antarus.

2006-08-17 01:51  zmedico

	* [r4271] pym/portage.py: This is a new dep_zapdeps implementation.
	  Thanks to jstubbs for this patch from bug #143908.

2006-08-16 19:37  zmedico

	* [r4270] bin/emerge: Add a depclean warning message, once again,
	  because it's never completely safe.

2006-08-16 05:28  zmedico

	* [r4267] bin/emerge: This is a new and improved depclean
	  implementation. Thanks to jstubbs for this patch from bug #67179.

2006-08-14 19:45  zmedico

	* [r4258] bin/emerge-webrsync: Add forgotten PORTAGE_TMPDIR to the
	  portageq call.

2006-08-14 19:40  zmedico

	* [r4257] bin/emerge-webrsync: Use eval $(portageq envvar -v FOO
	  BAR) to collapse many portageq calls into 1.

2006-08-14 07:12  zmedico

	* [r4254] bin/emerge: Update the virtuals even if the package
	  already exists in the fakedbapi since it may be necessary if the
	  package is being remerged.

2006-08-14 06:42  zmedico

	* [r4253] bin/emerge: Revert most of r4086 because it broke
	  circular bootstrap dependencies for things like gwydion-dylan and
	  ghc. Thanks to araujo for reporting the breakage.

2006-08-13 05:35  zmedico

	* [r4240] pym/portage_util.py: Make stack_dictlist return an empty
	  dictionary when there is nothing to stack. See bug #143730.

2006-08-13 05:19  zmedico

	* [r4239] bin/emerge: For consistent results, sort the contents
	  when generating the info directory index. See bug #142652.

2006-08-11 20:12  zmedico

	* [r4216] NEWS: Add news about use.force.

2006-08-11 20:08  zmedico

	* [r4215] man/portage.5: Add some docs for use.force and
	  package.use.force.

2006-08-11 19:46  zmedico

	* [r4214] bin/emerge, pym/portage.py: Add support for use.force and
	  package.use.force in profiles.

2006-08-11 19:31  zmedico

	* [r4213] pym/portage_util.py: Fix stack_dictlist() so that
	  incremental stacking behaves more like it does in
	  config.regenerate().

2006-08-10 20:17  zmedico

	* [r4212] bin/emerge: Display masked USE flags as (-flag) instead
	  of ( -flag ) to save space.

2006-08-09 20:06  zmedico

	* [r4211] bin/emerge: Use ( -flag ) to indicate flags that have
	  been forced off via use.mask.

2006-08-09 19:55  zmedico

	* [r4210] bin/quickpkg: Force a sane umask in quickpkg for bug
	  #143340.

2006-08-09 18:02  zmedico

	* [r4209] pym/portage.py: Return early from global directory
	  initialization if the current user does not have write access to
	  $ROOT.

2006-08-09 03:05  zmedico

	* [r4208] bin/repoman: Remove a dead hunk of code spotted by
	  antarus.

2006-08-08 03:13  zmedico

	* [r4191] pym/portage.py: Remove unnecessary check for USE flags
	  that start with "-".

2006-08-07 23:53  vapier

	* [r4189] man/ebuild.1: fixups from Benno Schulenberg #143079

2006-08-07 22:33  zmedico

	* [r4187] pym/portage.py: When performing expansion of USE_EXPAND
	  variables, display warnings about invalid use of incremental
	  operators.

2006-08-07 18:53  zmedico

	* [r4186] man/ebuild.5: Remove the dopython docs for bug #141935.

2006-08-07 02:42  zmedico

	* [r4182] pym/getbinpkg.py: Cleanse stale metadata cache for
	  binpkgs that have been removed from the remote host. Thanks to
	  André Luiz A. G. Carvalho <alcarvalho@gmail.com> for the initial
	  patch from bug #107453.

2006-08-06 08:37  zmedico

	* [r4181] pym/portage.py: Sort the USE flags.

2006-08-06 08:17  zmedico

	* [r4180] man/portage.5: Add some package.use.mask docs.

2006-08-06 08:05  zmedico

	* [r4179] bin/emerge: Fix rsync code to work with a username@ uri
	  for bug #141185. Thanks to David-John Miller
	  <anoyomouse@petermiller.co.za> for this patch.

2006-08-06 04:37  zmedico

	* [r4178] pym/portage.py: Split the USE flags calculation out of
	  the generic incrementals loop and 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.

2006-08-06 02:34  zmedico

	* [r4177] bin/emerge: Keep USE flags from / and $ROOT separate in
	  the depgraph. See bug #142918.

2006-08-06 00:32  zmedico

	* [r4176] bin/repoman: Remove unused "cladded" variable reported by
	  antarus.

2006-08-06 00:18  zmedico

	* [r4175] pym/portage.py: Allow USE_EXPAND vars to be overridden in
	  the environment for bug #142909.

2006-08-05 22:08  zmedico

	* [r4174] bin/emerge: Add the date and time of the last sync to
	  emerge --info output. Thanks to Pablo Antonio <pabloa@gmail.com>
	  for the patch from bug #140163.

2006-08-05 12:23  solar

	* [r4159] bin/emerge: - emerge -pqv should display USE flags; Bug
	  128598 - David-John Miller, anoyomouse@petermiller.co.za

2006-08-05 07:02  zmedico

	* [r4157] man/make.conf.5: Add notes about nostrip and
	  installsources to the splitdebug docs.

2006-08-05 06:56  zmedico

	* [r4156] man/make.conf.5: Add some docs for the installsources
	  feature.

2006-08-05 04:30  zmedico

	* [r4155] bin/emerge: Add additional checks for --pretend and
	  --fetch-all-uri to ensure correct behavior. See bug #140552.

2006-08-05 01:37  vapier

	* [r4154] bin/etc-update: add space before prompt

2006-08-04 23:04  zmedico

	* [r4153] pym/portage.py: Ignore hidden files or directories in the
	  vardbapi.cpv_all() listing.

2006-08-04 19:09  zmedico

	* [r4152] pym/portage.py: For completeness, clone self.puse and
	  self.mycpv.

2006-08-04 18:57  zmedico

	* [r4151] bin/emerge, pym/portage.py: Add support for
	  package.use.mask in the profile. It should behave exactly as
	  use.mask currently does except that it allows USE flags to be
	  masked for specific packages rather than for all packages. See
	  bug #96368.

2006-08-04 13:43  genone

	* [r4150] bin/regenworld: ignore packages that were just fetched
	  from being added to the worldfile

2006-08-04 05:30  zmedico

	* [r4136] bin/prepstrip: Fix the installsources feature so that it
	  works even with splitdebug or nostrip. Thanks to Olivier Crete
	  <tester@gentoo.org> for this patch from bug #136197.

2006-08-04 03:13  zmedico

	* [r4131] bin/prepstrip: Fix STRIP_MASK logic so that a match
	  results in stripitbaby=0.

2006-08-03 09:49  zmedico

	* [r4114] pym/portage.py: Protect USE_EXPAND flags from -* in order
	  to preserve previous behavior which has changed due to the fix
	  for bug #142125.

2006-08-03 09:01  zmedico

	* [r4113] pym/portage.py: Instead of self.puse, use self.mycpv to
	  return early from setcpv.

2006-08-03 06:30  zmedico

	* [r4112] pym/portage.py: Expand USE_EXPAND flags earlier so that
	  their incremental stacking behaves just like it does for normal
	  USE flags. See bug #142125.

2006-08-03 02:27  zmedico

	* [r4091] pym/portage.py: Use a recursive function to simplify the
	  walking of the profile paths. The number of parent profiles is
	  constrained to 1 but could easily be extended to allow multiple
	  inheritence.

2006-08-02 21:52  zmedico

	* [r4090] man/ebuild.5: Remove dojar docs for bug #108517.

2006-08-02 18:56  zmedico

	* [r4089] pym/portage.py: Remove the unnecessary "Previously
	  fetched" portion of the disfiles checksum output for bug #142271.

2006-08-02 07:12  zmedico

	* [r4087] bin/emerge: Link the full handbook since it's guaranteed
	  to continue to work as per comment #12 of bug #142225. Also, add
	  a note about the architecture being irrelevant as per comment
	  #10.

2006-08-02 06:02  zmedico

	* [r4086] bin/emerge: Move code that updates depgraph state from
	  select_dep() to a more appropriate 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).

2006-08-02 04:42  zmedico

	* [r4085] pym/portage.py: Grab /etc/profile.env from the target
	  root instead of the configroot.

2006-08-02 03:24  zmedico

	* [r4084] pym/portage.py: Move profile.env to the bottom of the
	  stack so that, for example, it's possible for make.conf values to
	  override or stack incrementally with values from profile.env. See
	  bug #51370.

2006-08-02 03:01  zmedico

	* [r4083] pym/portage.py: Remove duplicate profile.env values from
	  the environment so that they don't override updated profile.env
	  values later (profile.env is reloaded in each call to
	  self.regenerate). See bug #51370.

2006-08-01 17:44  zmedico

	* [r4081] bin/dojar: Remove dojar for bug #108517.

2006-07-31 18:25  zmedico

	* [r4068] bin/emerge: Don't write to emerge.log when --pretend is
	  enabled for bug #139449.

2006-07-31 03:03  zmedico

	* [r4053] bin/emerge: When emerge exits to blockers, show a link to
	  the relevant section of the Gentoo Handbook. See bug #142225.

2006-07-31 02:11  zmedico

	* [r4052] pym/portage_util.py: Only ignore ENOENT in getconfig() so
	  that more important errors don't go unnoticed.

2006-07-31 01:52  zmedico

	* [r4051] pym/portage.py: Add matching quote (typo from last
	  revision).

2006-07-31 01:51  zmedico

	* [r4050] pym/portage.py, pym/portage_util.py: Catch ParseError
	  from getconfig during env_update for bug #142157.

2006-07-31 01:01  zmedico

	* [r4049] bin/repoman: Remove pointless cvs dependent REPOROOTS
	  code. Thanks to Alec Warner <antarus@gentoo.org> for this patch.

2006-07-29 18:20  zmedico

	* [r4048] bin/ebuild.sh, pym/portage.py, pym/portage_util.py: Stack
	  /etc/profile.env inside portage.config so that it doesn't stop
	  variables in inappropriate places. See bug #51370.

2006-07-28 19:06  zmedico

	* [r4047] pym/portage.py: Make sure we doebuild uses the correct
	  tree for fetch lists when there are overlays.

2006-07-28 18:57  zmedico

	* [r4046] bin/ebuild: Use the FetchlistDict to simplify code.

2006-07-28 17:46  zmedico

	* [r4045] bin/ebuild: Pass in the path to the base of the current
	  tree to ensure that the correct fetchlist is used when there are
	  overlays present.

2006-07-28 07:37  zmedico

	* [r4044] pym/portage.py: Add PKG_CONFIG_PATH to env_update
	  incrementals for bug #105384.

2006-07-28 06:32  zmedico

	* [r4043] bin/ebuild, pym/portage_manifest.py: Allow a digest to be
	  created before any distfiles have been fetched for bug #141843.

2006-07-28 04:58  zmedico

	* [r4041] bin/ebuild, pym/portage_manifest.py: Add a --force option
	  for `ebuild digest` so that the user doesn't have to manually
	  remove the Manifest and files/digest-* files when upstream
	  changes the identity of distfiles. See bug #141843.

2006-07-27 22:07  zmedico

	* [r4037] pym/portage.py: Simplify permissions adjustment after a
	  file is fetched.

2006-07-27 21:30  zmedico

	* [r4034] pym/portage.py: Move the filesystem mirrors code into the
	  main fetch loop.

2006-07-27 20:20  zmedico

	* [r4033] pym/portage.py: Move permissions adjustment of previously
	  fetched files into the main fetch loop.

2006-07-27 19:11  zmedico

	* [r4032] pym/portage.py: Fix ENOENT exception handler so that it
	  only wraps the relevant stat call.

2006-07-27 08:36  zmedico

	* [r4031] pym/portage.py: Hide a password if a uri contains one (a
	  custom local mirror, for example). Thanks to nelchael for the
	  patch.

2006-07-27 08:22  zmedico

	* [r4030] pym/portage.py: Simplify fetch failure logic.

2006-07-27 08:12  zmedico

	* [r4029] pym/portage.py: Ensure that that fetch restriction
	  message is only show once in --pretend mode.

2006-07-27 08:01  zmedico

	* [r4028] pym/portage.py: Allow fetch restricted files to be
	  fetched from custom local mirrors as per bug #37455. This patch
	  additionally allows a mirror:// uri to override fetch
	  restriction, but only for the specified mirror (or a custom local
	  mirror).

2006-07-27 06:20  zmedico

	* [r4027] pym/portage.py: Move the initial check of previously
	  fetched files out of the locations loop 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.

2006-07-26 22:26  zmedico

	* [r4026] pym/portage_util.py: Fix unsafe deletion of a dictionary
	  item during iteration.

2006-07-25 05:42  zmedico

	* [r4022] bin/emerge: When necessary, always print a list of
	  missing atoms even if --verbose is not enabled. Thanks to Caster
	  <caster@matfyz.cz> for this patch from bug #141643.

2006-07-25 04:57  zmedico

	* [r4021] bin/emerge, pym/portage.py: Move the self dependency
	  check from digraph.addnode() to depgraph.create() since that's
	  the only place it's currently needed. This patch should not
	  affect emerge behavior.

2006-07-25 03:18  zmedico

	* [r4019] bin/emerge, pym/portage.py: Add more dependencies to the
	  digraph in order to help prevent strange merge orders for bug
	  #126748.

2006-07-24 16:05  zmedico

	* [r4016] bin/emerge: s/difference/symmetric_difference/ for the
	  last two commits.

2006-07-24 15:48  zmedico

	* [r4015] bin/emerge: For binary packages, trigger a rebuild with
	  --newuse when IUSE has changed for bug #116955.

2006-07-24 15:25  zmedico

	* [r4014] bin/emerge: Trigger a rebuild with --newuse when IUSE has
	  changed for bug #116955.

2006-07-23 09:11  zmedico

	* [r4013] bin/emerge: Simplify depgraph.select_dep() logic by using
	  a list of matched packages (instead of separate variables for
	  ebuild and binary packages).

2006-07-23 00:37  zmedico

	* [r4009] pym/xpak.py: Return tuples instead of lists from getboth
	  functions and methods.

2006-07-23 00:31  zmedico

	* [r4008] pym/xpak.py: Return a tuple from searchindex instead of a
	  list.

2006-07-22 23:37  zmedico

	* [r4006] pym/xpak.py: Make xsplit() return False on failure and
	  True on success for bug #141445.

2006-07-22 11:39  zmedico

	* [r3991] pym/portage.py, pym/portage_dep.py: Move
	  best_match_to_list, match_from_list, and match_to_list from the
	  core portage module to portage_dep.

2006-07-22 11:19  zmedico

	* [r3990] pym/portage.py, pym/portage_versions.py: Move
	  portage.best() to portage_versions.

2006-07-22 11:12  zmedico

	* [r3989] pym/portage.py: Remove unused
	  portage.match_from_list_original() function.

2006-07-22 11:08  zmedico

	* [r3988] bin/emerge: Use portage.best() to simplify package
	  comparison.

2006-07-22 06:54  zmedico

	* [r3987] bin/emerge: Just add the providers to the protected set
	  without bothering to check if they're in the vdb.

2006-07-22 00:33  zmedico

	* [r3986] bin/emerge: Make depclean account for old-style virtuals
	  so that it doesn't remove the providers.

2006-07-21 22:31  zmedico

	* [r3985] pym/portage.py: Make sure that PORTAGE_BUILDDIR exists
	  before attempting to lock it. Depending on the phase, either
	  BUILD_PREFIX or PKG_TMPDIR could be the parent, so we simply use
	  PORTAGE_BUILDDIR to cover both cases.

2006-07-21 20:28  zmedico

	* [r3984] pym/portage.py: Collapse whitespace in aux_get calls for
	  remote binpkg metadata. See bug #141279.

2006-07-21 19:45  zmedico

	* [r3983] pym/portage_update.py: Ignore hidden directories and
	  files when updating config files.

2006-07-21 18:36  zmedico

	* [r3982] cnf/make.conf: Add a link for "Setting up your own local
	  rsync mirror" as suggested by jkt.

2006-07-21 08:41  zmedico

	* [r3981] pym/portage.py, pym/portage_dep.py,
	  pym/portage_update.py: Move dep_transform from the portage_dep
	  module to portage_update.

2006-07-21 07:19  zmedico

	* [r3980] pym/portage.py, pym/portage_update.py: Move
	  update_config_files from the core portage module to
	  portage_update.

2006-07-21 07:09  zmedico

	* [r3979] pym/portage_util.py: Do the portage_checksum import in
	  local scope because of circular dependency.

2006-07-21 06:25  zmedico

	* [r3978] pym/portage.py, pym/portage_util.py: Move
	  new_protect_filename from the core portage module to
	  portage_util.

2006-07-21 05:59  zmedico

	* [r3977] pym/portage.py, pym/portage_update.py: Move parse_updates
	  from the core portage module to portage_update.

2006-07-21 05:38  zmedico

	* [r3976] pym/portage.py, pym/portage_dep.py: Move isjustname,
	  isspecific, dep_getkey, and dep_transform from the core portage
	  module to portage_dep.

2006-07-21 05:13  zmedico

	* [r3975] pym/portage.py, pym/portage_util.py: Remove
	  grabdict_package and grabfile_package from the core portage
	  module since the copies in portage_util can now work by importing
	  isvalidatom from portage_dep.

2006-07-21 05:06  zmedico

	* [r3974] pym/portage.py, pym/portage_dep.py: Move dep_getcpv,
	  get_operator, and isvalidatom from the core portage module to
	  portage_dep.

2006-07-21 03:41  zmedico

	* [r3973] pym/portage.py: Blacklist some variables in the config
	  constructor so that they can't interfere with portage internals.

2006-07-20 21:47  zmedico

	* [r3972] bin/etc-update: Fix broken if/elif statement.

2006-07-20 20:51  zmedico

	* [r3971] bin/repoman: Fix a broken reference to portage.portdb.

2006-07-20 09:17  zmedico

	* [r3970] pym/portage.py: Remove redundant initialization of
	  directories for cloned config instances.

2006-07-20 09:08  zmedico

	* [r3969] pym/portage.py: Move initialization of config.uvlist into
	  the regenerate() method since that's the only place it's used.

2006-07-20 08:53  zmedico

	* [r3968] pym/portage.py: Move initialization of self.lookuplist to
	  a more logical location for cloned config instances.

2006-07-20 08:12  zmedico

	* [r3967] pym/portage.py: Remove redundant initialization of
	  self.features (and self.regenerate() call) for cloned config
	  instances.

2006-07-20 07:43  blubb

	* [r3966] cnf/make.conf: note that there is the possibility to have
	  a local rsync server; bug 141110

2006-07-20 07:32  zmedico

	* [r3965] pym/portage.py: Remove redundant initialization of
	  PORTAGE_BIN_PATH and PORTAGE_PYM_PATH for cloned config
	  instances.

2006-07-20 07:26  zmedico

	* [r3964] pym/portage.py: Remove redundant initialization of CBUILD
	  for cloned config instances.

2006-07-20 06:46  zmedico

	* [r3963] pym/portage.py: Remove redundant definition of catsplit()
	  which is already imported from portage_versions. Thanks to
	  ChrisWhite for reporting.

2006-07-20 06:07  zmedico

	* [r3962] pym/portage.py: Remove redundant copying of
	  self.lookuplist and self.uvlist for cloned config instances.

2006-07-20 05:59  zmedico

	* [r3961] pym/portage.py: When cloning a config instance, use the
	  copied env instead of grabbing a new copy of os.environ.

2006-07-20 05:51  zmedico

	* [r3960] pym/portage.py: Remove redundant processing of ROOT and
	  PORTAGE_CONFIGROOT for cloned config instances.

2006-07-20 05:21  zmedico

	* [r3959] pym/portage.py: Remove redundant (and possibly problem
	  causing) copying of self.backupenv for cloned config instances.

2006-07-20 04:40  zmedico

	* [r3958] pym/portage.py: Remove redundant processing of
	  PORTDIR_OVERLAY for cloned config instances.

2006-07-20 04:25  zmedico

	* [r3957] pym/portage.py: Remove redundant initialization of
	  self.depcachedir for cloned config instances.

2006-07-20 04:14  zmedico

	* [r3956] pym/portage.py: When a config instance is cloned, don't
	  initialize PORTAGE_GID since it would have been done already for
	  the instance being cloned.

2006-07-20 04:06  zmedico

	* [r3955] pym/portage.py: When a config instance is cloned, don't
	  set default USE_ORDER since it would have been done already for
	  the instance being cloned.

2006-07-20 01:43  zmedico

	* [r3954] pym/output.py: Handle a potential ValueError when parsing
	  the number of terminal columns.

2006-07-19 21:12  zmedico

	* [r3953] bin/etc-update: Make user_special() return 1 if none of
	  the patterns in /etc/etc-update.special are matched.

2006-07-19 19:56  zmedico

	* [r3952] pym/portage.py: Make PORTAGE_TMPDIR cannonical for
	  sandbox before it's exported to the ebuild environment for bug
	  #140436.

2006-07-19 11:41  genone

	* [r3936] bin/etc-update: add support to prevent auto-processing
	  for user-special files that match a pattern in
	  /etc/etc-update.special

2006-07-19 11:10  genone

	* [r3935] bin/etc-update: use eval to allow shell expansion in
	  config file

2006-07-19 11:00  genone

	* [r3934] bin/etc-update: Only call portageq once

2006-07-19 10:40  zmedico

	* [r3933] pym/portage.py: Remove redundant checksum output.

2006-07-19 10:36  genone

	* [r3932] bin/etc-update: update mtime after replacing config files

2006-07-19 10:26  genone

	* [r3931] bin/etc-update: add notice about remaining updates on
	  exit

2006-07-19 10:21  genone

	* [r3930] bin/etc-update: add option to discard config updates

2006-07-19 09:57  genone

	* [r3929] bin/etc-update: Show full path when auto-merging

2006-07-19 09:55  genone

	* [r3928] bin/etc-update: ensure we have the necessary access

2006-07-19 05:56  zmedico

	* [r3925] pym/portage.py: Use the python implemention of
	  ebegin/eend to visually enhance the ouput for checksums.

2006-07-19 05:54  zmedico

	* [r3924] pym/output.py: Add an EOutput class that provides a
	  python implementation of the familar e* funtions from
	  /sbin/functions.sh. Thanks to Alex Tarkovsky
	  <alextarkovsky@gmail.com> for this patch.

2006-07-19 05:51  zmedico

	* [r3923] pym/portage.py: Don't try to create a log file unless
	  PORTAGE_BUILDDIR exists.

2006-07-19 01:13  zmedico

	* [r3922] pym/portage.py: Use the portage gid for BUILD_PREFIX.

2006-07-19 01:11  zmedico

	* [r3921] pym/portage.py: Ensure that BUILD_PREFIX has been created
	  before attempting to lock PORTAGE_BUILDDIR.

2006-07-18 23:40  zmedico

	* [r3920] pym/portage.py: Do file locking on PORTAGE_BUILDDIR and
	  use a finally block to ensure that the lock is properly released.
	  This fixes bug #140971.

2006-07-18 21:50  zmedico

	* [r3919] bin/repoman: Ensure a sane umask for repoman.

2006-07-18 18:21  blubb

	* [r3918] bin/doman, bin/prepman: fix up doman and prepman so that
	  they work with the new .keep files in rev 3917

2006-07-18 17:09  blubb

	* [r3917] bin/ebuild.sh: make .keep files package-dependant to fix
	  bug 102436

2006-07-18 03:59  zmedico

	* [r3916] bin/emerge: Use a set instead of a list for better
	  efficiency.

2006-07-18 03:52  zmedico

	* [r3915] bin/emerge: Simplify generation of the cleanlist for
	  depclean.

2006-07-17 23:57  zmedico

	* [r3914] bin/emerge: Fix depclean so that it cleans unneeded slots
	  (unless they are exempted by the system or world sets). See bug
	  #140591.

2006-07-17 19:14  zmedico

	* [r3913] pym/portage_versions.py: Add a docstring with epytext
	  markup to portage_versions.pkgcmp(). Thanks to chriswhite for
	  this patch.

2006-07-17 18:48  zmedico

	* [r3912] bin/repoman: Enable repoman to work with
	  portage.init_legacy_globals() disabled.

2006-07-17 17:49  zmedico

	* [r3911] pym/portage.py: Remove redundant variable definitions.

2006-07-17 10:34  zmedico

	* [r3910] pym/portage.py: Fix categories and arch.list handling for
	  repoman with overlays so that /etc/portage is not used.

2006-07-17 09:57  zmedico

	* [r3909] pym/portage.py: Collapse two repoman PORTAGE_CALLER
	  conditionals into one.

2006-07-16 22:20  zmedico

	* [r3908] bin/emerge: Add ipv6 --sync support for bug #37124.
	  Thanks to Bernhard Schmidt <berni@birkenwald.de> for the initial
	  patch.

2006-07-16 20:47  zmedico

	* [r3907] bin/emerge: Fix broken --usepkg masking logic for bug
	  #140694.

2006-07-16 02:36  zmedico

	* [r3895] pym/portage.py, pym/portage_util.py: Move the
	  ConfigProtect class to the portage_util module.

2006-07-16 01:28  zmedico

	* [r3894] pym/portage.py: s/config_protect/ConfigProtect/ for the
	  class name.

2006-07-15 19:46  zmedico

	* [r3893] bin/portageq: Add a new portageq metadata function that
	  wraps dbapi.aux_get() so that things like built_with_use in
	  eutils.eclass can retrieve metadata in manner that is independent
	  of the installed package database implementation.

2006-07-15 19:09  zmedico

	* [r3892] pym/eclass_cache.py, pym/portage_file.py,
	  pym/portage_locks.py: Remove the portage_file module for bug
	  #133591.

2006-07-15 19:03  zmedico

	* [r3891] pym/portage.py, pym/portage_util.py: Move normalize_path
	  into portage_util.

2006-07-15 18:54  zmedico

	* [r3890] pym/portage.py: Use normalize_path instead of using
	  normpath directly.

2006-07-15 18:34  zmedico

	* [r3889] pym/portage.py: Simplify portage.normalize_path() logic.

2006-07-15 07:15  zmedico

	* [r3881] bin/emerge: Use calculations to center --info header
	  titles.

2006-07-15 05:36  zmedico

	* [r3879] bin/emerge: As suggested by vapier, only show the "System
	  Settings" banner when myfiles is not empty.

2006-07-15 01:39  genone

	* [r3878] RELEASE-NOTES: note change in search behavior in release
	  notes

2006-07-15 01:37  genone

	* [r3877] man/emerge.1, pym/emergehelp.py: update search docs

2006-07-15 01:27  genone

	* [r3876] bin/emerge: disable regular expressions for search by
	  default

2006-07-13 23:42  zmedico

	* [r3869] bin/emerge: Fix gid typo from the last commit.

2006-07-13 23:33  zmedico

	* [r3868] bin/emerge, pym/portage.py: Move the world file trimming
	  out of dblink.unmerge() since the world file is package set
	  territory and therefore doesn't belong inside dblink.

2006-07-13 19:29  zmedico

	* [r3857] pym/portage.py: Make the merge phase bail out if srcroot
	  doesn't exist for bug #140159.

2006-07-13 19:08  zmedico

	* [r3854] bin/emerge: Remove the unmerge_overlapping() function
	  since unmerge() now works properly in the case where ROOT!=/
	  thanks to the fix for bugs #137446 and #131319.

2006-07-13 18:04  zmedico

	* [r3852] bin/misc-functions.sh: Die at the beginning of
	  install_qa_check if ${D} doesn't exist. See bug #140159.

2006-07-13 08:23  zmedico

	* [r3844] bin/emerge: Split depgraph.merge() to a separate
	  MergeTask class.

2006-07-13 06:54  zmedico

	* [r3843] pym/portage.py: Fix incorrect path handling in parts of
	  symlink merge logic.

2006-07-13 04:15  zmedico

	* [r3842] pym/portage.py: Remove orphan srctarget variable.

2006-07-13 04:09  zmedico

	* [r3841] pym/portage.py: Use startswith instead of slice or find.

2006-07-13 03:44  zmedico

	* [r3840] pym/portage.py: Clean up various path joins in
	  dblink.mergeme().

2006-07-13 02:22  zmedico

	* [r3839] pym/portage.py: Don't swallow unknown exceptions from
	  lstat() during the merge phase.

2006-07-12 17:12  zmedico

	* [r3838] pym/portage.py: Use startswith instead of slices to
	  simplify config protect code.

2006-07-12 09:59  zmedico

	* [r3837] pym/portage.py: Use a safer method to join the path when
	  deciding if the current merge offset is config protected. The
	  main problem with corresponding change from r3836 is that the
	  destroot variable happens to be // when ROOT=/. See bug #140045.

2006-07-11 01:51  zmedico

	* [r3836] pym/portage.py: Replace incorrect references to
	  myrealdest (the file name that appears in CONTENTS) with correct
	  references to mydest (the absolute destination path, prefixed
	  with $ROOT). See bug #120653.

2006-07-11 00:59  zmedico

	* [r3835] pym/portage_checksum.py: Just use the raise statement
	  alone to re-raise exceptions.

2006-07-10 23:01  zmedico

	* [r3834] bin/emerge: Allow emerge --info to show per-package
	  settings for bug #95741. Thanks to npmccallum for the initial
	  patch.

2006-07-10 19:40  zmedico

	* [r3833] bin/emerge: Don't call emergelog() from the
	  parallel-fetch process for bug #88837.

2006-07-10 19:12  zmedico

	* [r3832] bin/emaint: Move code out of global scope.

2006-07-10 08:04  zmedico

	* [r3831] bin/emerge: Use a list comprehension to simplify the code
	  for bug #55871.

2006-07-10 05:51  zmedico

	* [r3830] bin/emerge: Move all the config adjustments that require
	  the config instance to be 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 != /.

2006-07-10 02:00  zmedico

	* [r3829] bin/emerge: If category expansion fails against the
	  portage tree, remove the null/ prefix so that it may be given
	  another chance to expand against the binary package tree in
	  select_dep(). See bug #135834.

2006-07-10 01:08  zmedico

	* [r3828] bin/emerge: Start at the end of the list so that the
	  index works properly after items are deleted.

2006-07-10 00:57  zmedico

	* [r3827] bin/emerge: Allow binary packages to be installed with
	  --usepkg even when there is no ebuild in tree (but not when there
	  is a matching ebuild in the tree that is masked). See bugs
	  #135834 and #55871.

2006-07-09 22:27  zmedico

	* [r3826] pym/portage.py: Implement fakedbapi.cpv_all() so that
	  bindbapi will inherit it.

2006-07-09 21:05  zmedico

	* [r3825] pym/portage.py: Add a bindbapi.aux_update() method for
	  database maintenance. See bug #122089.

2006-07-09 20:34  zmedico

	* [r3824] pym/portage.py: Use write_atomic for dblink metadata
	  updates.

2006-07-09 20:31  zmedico

	* [r3823] bin/emaint, pym/portage.py: Update error handling for
	  write_atomic calls to use PortageException.

2006-07-09 20:18  zmedico

	* [r3822] pym/portage_util.py: Wrap common write_atomic exceptions
	  for easier error handling.

2006-07-09 20:09  zmedico

	* [r3821] pym/portage.py: Add a vardbapi.aux_update() method for
	  database maintenance. See bug #122089.

2006-07-09 19:07  zmedico

	* [r3820] bin/emerge: Use dbapi to unify config.setinst() call in
	  depgraph.select_dep().

2006-07-09 18:49  zmedico

	* [r3819] bin/emerge: Use the abstract dbapi.aux_get() interface to
	  unify retrieval of IUSE in depgraph.create().

2006-07-09 18:43  zmedico

	* [r3818] bin/emerge: Use the abstract dbapi.aux_get() interface to
	  unify retrieval of dependency strings in depgraph.create().

2006-07-08 23:12  zmedico

	* [r3817] bin/emerge: Use a cmpsplit() function to simplify package
	  comparisons in depgraph.select_dep().

2006-07-08 23:03  zmedico

	* [r3816] bin/emerge: Remove the merging=2 case to simplify
	  merge/nomerge logic.

2006-07-08 22:58  zmedico

	* [r3815] bin/emerge: Fix indentation mistake from the last commit.

2006-07-08 22:55  zmedico

	* [r3814] bin/emerge: Use set.intersection() to simplify --newuse
	  comparison.

2006-07-08 00:33  zmedico

	* [r3813] pym/portage.py: Do config.reset() prior to the depend
	  phase to make sure that doebuild chooses the correct category.
	  This fixes a problem similar to bug #137105.

2006-07-07 21:57  zmedico

	* [r3812] cnf/make.globals: Remove USE_EXPAND_HIDDEN from
	  make.globals since it's now included in the base profile.

2006-07-07 18:02  zmedico

	* [r3811] pym/portage.py: Fix the NameError that occurs when
	  collision-protect triggers unmerge. See bug #139580.

2006-07-06 19:58  zmedico

	* [r3808] pym/portage.py: Use copy.deepcopy() to ensure that state
	  comparison works properly.

2006-07-06 19:54  zmedico

	* [r3807] pym/portage.py: Only commit the mtimedb if the internal
	  state has changed.

2006-07-06 18:01  zmedico

	* [r3802] pym/portage.py: Export the path of the build log into the
	  ebuild env as suggested by Flameeyes.

2006-07-06 17:46  vapier

	* [r3800] bin/misc-functions.sh: remove pointless line that just
	  ruins the display

2006-07-06 16:40  zmedico

	* [r3798] bin/emerge: Clean up getportageversion() profile logic
	  and fix a ValueError that occurs when profile is None.

2006-07-06 02:46  zmedico

	* [r3797] pym/portage.py: Remove global autouse cache since most
	  people don't use it anyway and it's broken in the case where
	  $ROOT != /.

2006-07-06 02:30  zmedico

	* [r3796] bin/emerge: Move the ARCH sanity check from the depgraph
	  constructor to a new 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.

2006-07-06 00:08  zmedico

	* [r3795] pym/portage.py: Fix missing newline.

2006-07-05 22:36  zmedico

	* [r3793] pym/portage.py: Cache a cloned config instance inside
	  portdbapi so that a new one doesn't have to be cloned each time
	  metadata generation is triggered.

2006-07-05 20:03  zmedico

	* [r3792] bin/repoman: Make a backup of ACCEPT_KEYWORDS when
	  repoman changes it for each profile. 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.

2006-07-05 18:39  zmedico

	* [r3791] pym/portage.py: Use a cloned config instance for the
	  depend phase in portdbapi.aux_get(). See bug #132601.

2006-07-05 17:57  zmedico

	* [r3790] bin/repoman: Fix repoman breakage due to the fact that
	  portage.portagetree now creates 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.

2006-07-05 05:24  zmedico

	* [r3789] bin/emerge: Freeze all pordbapi instances.

2006-07-05 04:29  zmedico

	* [r3788] bin/emerge: Run global updates asap and then reload the
	  whole config to make sure everything is consistent.

2006-07-05 03:41  zmedico

	* [r3787] bin/emerge: Match blockers against the correct $ROOT for
	  bug #108449.

2006-07-05 03:07  zmedico

	* [r3786] bin/emerge: Pass existing trees into load_emerge_config()
	  so that the existing portdbapi instances will be cleaned up by
	  portage.create_trees().

2006-07-05 02:42  zmedico

	* [r3785] bin/emerge, pym/portage.py: Allow the loading of a
	  completely separate config for / and PORTAGE_CONFIGROOT. This
	  fixes bug #137446.

2006-07-04 00:29  zmedico

	* [r3784] bin/emerge: Fix more $ROOT references for bug #137446.

2006-07-04 00:02  zmedico

	* [r3783] bin/emerge: Fix $ROOT references in the depgraph class
	  for bug #137446.

2006-07-03 20:31  zmedico

	* [r3782] pym/portage.py: Use the correct bintree and porttree for
	  bug #137446.

2006-07-03 19:52  zmedico

	* [r3781] bin/emerge: Remove color from "none" reported by vapier.

2006-07-03 19:43  zmedico

	* [r3780] bin/emerge: Remove commented code cruft.

2006-07-03 19:26  zmedico

	* [r3779] bin/emerge: Do some basic validation of the mtimedb
	  resume data so that assumptions can be made later.

2006-07-03 17:35  zmedico

	* [r3778] bin/emerge, pym/output.py: When displaying the resume
	  merge list, don't show the skipped package when --skipfirst is
	  enabled. See bug #121106.

2006-07-03 16:35  zmedico

	* [r3777] bin/emerge: Commit the mtimedb for --skipfirst so that if
	  the user aborts the first 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.

2006-07-03 01:51  zmedico

	* [r3774] pym/portage.py: Revert accidental hunk from the last
	  commit.

2006-07-03 01:45  zmedico

	* [r3773] pym/portage.py: Force fetch if the number of parsed
	  digests does not match the number of digest types that are
	  supported. See bug #138911.

2006-07-03 00:27  zmedico

	* [r3772] pym/portage_manifest.py: When assume-digests is enabled,
	  for digest generation if the number of parsed digests does not
	  match the number of digest types that are supported. See bug
	  #138911.

2006-07-02 18:15  zmedico

	* [r3760] bin/repoman: Ignore hidden directories (such as .svn)
	  when building the scanlist.

2006-07-02 16:53  zmedico

	* [r3759] bin/emerge: Commit the mtimedb prior to restart via excve
	  for bug #138837.

2006-07-02 08:07  zmedico

	* [r3752] bin/repoman: Add support for arch.list in overlays (bug
	  #137975).

2006-07-02 07:56  zmedico

	* [r3751] bin/repoman: Add support for licenses in overlays (bug
	  #137975).

2006-07-02 07:43  zmedico

	* [r3750] bin/repoman: Add overlay support for use.local.desc in
	  repoman.

2006-07-02 06:43  zmedico

	* [r3749] bin/repoman: Fix import issues reported by pyflakes.

2006-07-02 06:24  zmedico

	* [r3748] bin/repoman: Add a new parse_use_local_desc() function.

2006-07-02 01:14  zmedico

	* [r3747] pym/portage.py: Fix NameError when collision-protect is
	  enabled for bug #138793.

2006-07-01 20:26  zmedico

	* [r3746] pym/portage.py: Fix references to global settings in the
	  binarytree class that were reported by solar.

2006-07-01 19:57  zmedico

	* [r3745] bin/emerge: Use GOOD, BAD, and WARN color classes where
	  appropriate. Thanks to Damien THEBAULT
	  <damien.thebault@laposte.net> for this patch from bug #138600.

2006-07-01 19:35  zmedico

	* [r3744] bin/emerge: Use the BAD and GOOD color classes to remove
	  hard coded colors from the depclean warning message.

2006-07-01 18:05  zmedico

	* [r3743] bin/emerge, pym/output.py: Add a new MERGE_LIST_PROGRESS
	  color class and remove hard coded yellow/green.

2006-07-01 15:18  solar

	* [r3742] bin/emerge: - multi-package emerge now prints the
	  sequence highlighting count and cpv to visually stand out in
	  wondercolors...

2006-07-01 10:21  zmedico

	* [r3735] pym/portage.py: Fix autouse so that it works with
	  init_legacy_globals() disabled.

2006-07-01 09:45  zmedico

	* [r3734] bin/emerge: Trigger post_emerge() after the relevent
	  actions and commit the mtimedb there.

2006-07-01 09:16  zmedico

	* [r3733] bin/emerge: Pass a config instance into movefile() to
	  avoid dependence on global variables.

2006-07-01 08:48  zmedico

	* [r3732] bin/emerge: In order to ensure that emerge doesn't use
	  any of portage's legacy global variables, run emerge with
	  portage.init_legacy_globals() disabled.

2006-07-01 08:28  zmedico

	* [r3731] pym/portage.py: Pass the trees into two more dep_zapdeps
	  calls to avoid dependence on global variables.

2006-07-01 05:57  zmedico

	* [r3729] bin/emerge: Pass a more dbapi instances into doebuild to
	  avoid dependence on global variables.

2006-07-01 05:37  zmedico

	* [r3728] bin/emerge: Pass a portdbapi instance into doebuild to
	  avoid dependence on global variables.

2006-07-01 05:03  zmedico

	* [r3727] bin/emerge, pym/portage.py: Allow
	  portage.getmaskingreason() to operate without global variables.

2006-07-01 04:43  zmedico

	* [r3726] bin/emerge, pym/portage.py: Allow
	  portage.getmaskingstatus() to operate without global variables.

2006-07-01 04:34  zmedico

	* [r3725] pym/portage.py: Recycle the portdbapi instance at the and
	  of global_updates().

2006-07-01 02:39  zmedico

	* [r3724] bin/emerge: Go ahead and dump a full traceback without
	  having to enable --debug. There's no sense in hiding valuable
	  traceback info like that.

2006-07-01 02:26  zmedico

	* [r3723] pym/portage.py: Use PORTAGE_DEBUG=1 since that's all that
	  portage currently recognizes.

2006-06-30 18:38  zmedico

	* [r3722] bin/emerge: Fix unmerge version spacing for bug #138611.

2006-06-30 18:12  zmedico

	* [r3721] pym/portage.py: Integrate the load_mtimedb() function
	  into the MtimeDB class. This function is relatively new so nobody
	  should miss it.

2006-06-30 17:16  zmedico

	* [r3720] bin/emerge: Remove redundant "portdb" parameters since
	  pordbapi instances are accessible via the "trees" paramters.
	  There is currently only one global pordbapi instance but
	  eventually there will be separate instances for / and $ROOT.

2006-06-30 14:48  zmedico

	* [r3719] bin/emerge, pym/portage.py: Pass trees into dep_check and
	  dep_zapdeps calls in order to avoid dependance on global
	  variables.

2006-06-30 11:16  zmedico

	* [r3717] bin/emerge, pym/portage.py: Fix pkgmerge() to work
	  without dependance on global variables.

2006-06-30 10:10  zmedico

	* [r3716] bin/emerge, pym/portage.py: Pass a config instance into
	  the bindbapi and fakedbapi constructors in order to avoid
	  dependance on globals for dep_expand() calls.

2006-06-30 09:22  zmedico

	* [r3715] bin/emerge: Pass missing parameters to doebuild in order
	  to avoid dependance on globals.

2006-06-30 09:09  zmedico

	* [r3714] pym/portage.py: Pass the ldpath_mtimes for unmerging the
	  already-installed instance.

2006-06-30 09:02  zmedico

	* [r3713] pym/portage.py: Fix missing target_root keyword
	  parameter.

2006-06-30 08:54  zmedico

	* [r3712] bin/emerge: Pass portdbapi instances into doebuild in
	  order to avoid dependance on globals.

2006-06-30 08:45  zmedico

	* [r3711] pym/portage.py: Only use the global vartree when really
	  necessary.

2006-06-30 08:27  zmedico

	* [r3710] pym/portage.py: Pass config and portdbapi instances into
	  the portagetree constructor.

2006-06-30 08:18  zmedico

	* [r3709] pym/portage.py: Allow the portagetree constructor to work
	  without globals.

2006-06-30 07:22  zmedico

	* [r3708] bin/emerge: Fix accidental replacement from r3705.

2006-06-30 07:20  zmedico

	* [r3707] bin/emerge: Make use of the new mtimdb.commit() method.

2006-06-30 07:07  zmedico

	* [r3706] pym/portage.py: Add an MtimeDB class to encapsulate the
	  mtimedb.

2006-06-30 03:57  zmedico

	* [r3705] bin/emerge: Replace global references to the mtimedb with
	  local references.

2006-06-30 03:26  zmedico

	* [r3704] bin/emerge, pym/portage.py: Pass ldpath mtimes into the
	  unmerge operations.

2006-06-30 03:03  zmedico

	* [r3703] bin/emerge, pym/portage.py: Trigger env_update() after
	  each unmerge operation.

2006-06-30 02:39  zmedico

	* [r3702] bin/emerge: Remove a pointless "if" statement.

2006-06-30 02:12  zmedico

	* [r3699] bin/emerge: Pass parameters into env_update() so that it
	  doesn't depend on global variables.

2006-06-29 22:37  zmedico

	* [r3697] bin/emerge: After sync, reload portage before the
	  metadata transfer so that action_metadata() doesn't have to be
	  concerned with invalid settings.categories and such.

2006-06-29 21:22  zmedico

	* [r3696] bin/emerge: Replace references to portage.portdb with
	  local references.

2006-06-29 19:02  zmedico

	* [r3695] bin/emerge: Replace references to portage.root with local
	  settings[ROOT].

2006-06-29 08:21  zmedico

	* [r3694] bin/emerge: Replace direct references to portage.db with
	  local references.

2006-06-29 07:46  zmedico

	* [r3693] bin/emerge: Remove reference to global portage.db from
	  validate_merge_list().

2006-06-29 07:20  zmedico

	* [r3692] bin/emerge: Replace direct references to portage.settings
	  with local references.

2006-06-29 05:11  zmedico

	* [r3691] bin/emerge: Pass a vardbapi instance into
	  getportageversion() so that it doesn't have to construct one
	  itself.

2006-06-29 04:53  zmedico

	* [r3690] bin/emerge, pym/portage.py: Pass a config instance into
	  each dep_expand call.

2006-06-29 04:22  zmedico

	* [r3689] pym/portage.py: Pass a config instance into the vardbapi
	  constructor so that it doesn't have to rely on global settings.

2006-06-29 04:18  zmedico

	* [r3688] pym/portage.py: Pass a config instance into the vardbapi
	  constructor so that it doesn't have to rely on global settings.

2006-06-28 22:24  zmedico

	* [r3687] pym/portage.py: Update symlinks in during package moves
	  for bug #138394.

2006-06-28 19:36  zmedico

	* [r3686] bin/repoman: To simplify code, use startswith() instead
	  of slices.

2006-06-28 18:18  zmedico

	* [r3685] pym/portage.py: Allow a config instance to be passed into
	  dep_expand so that it doesn't have to rely on global settings.

2006-06-28 18:11  zmedico

	* [r3684] pym/portage.py: Allow a config instance to be passed into
	  cpv_expand so that it doesn't have to rely on global settings.

2006-06-28 05:59  zmedico

	* [r3683] bin/emerge: Fix the writemsg noiselevel so that versions
	  are correctly shown even when --quiet is enabled.

2006-06-28 05:54  zmedico

	* [r3682] bin/emerge: Add a missing space in the unmerge output
	  that was reported by vapier.

2006-06-28 05:26  vapier

	* [r3681] bin/emerge, pym/output.py: retain current color schema by
	  adding a new color class for unmerging

2006-06-28 04:57  zmedico

	* [r3680] pym/output.py: Set WARN=red to so that warnings appear
	  red, as they always have.

2006-06-28 02:38  antarus

	* [r3679] pym/portage.py: readd Rev to portage.py for proper svn
	  revisions in portage.version

2006-06-27 20:33  zmedico

	* [r3678] bin/emerge: Remove unnecessary --quiet check since
	  writemsg handles that already.

2006-06-27 20:26  zmedico

	* [r3677] bin/emerge: Make unmerge() colors more consistent.

2006-06-27 20:10  zmedico

	* [r3676] bin/emerge: Fix output colors for bug #138259.

2006-06-27 19:18  zmedico

	* [r3675] bin/isolated-functions.sh: Make sure that variables
	  containing colors pollute the environment for bug #138246.

2006-06-27 09:33  zmedico

	* [r3674] bin/emerge: Fix chk_updated_cfg_files() parameters for
	  bug #138131.

2006-06-27 09:23  zmedico

	* [r3673] bin/emerge: Fix action_search() parameters for bug
	  #138131.

2006-06-27 07:21  zmedico

	* [r3672] bin/emerge: Pass an xterm_titles parameter into
	  emergelog() so that it doesn't need any global variables.

2006-06-27 04:37  zmedico

	* [r3671] bin/emerge: When --buildpkg is enabled, merge directly
	  from the uncompressed install image instead of needlessly
	  unpacking the binary package. See bug #138105.

2006-06-27 04:19  antarus

	* [r3670] bin/emerge: Docstrings galore in the dep resolver. Hoping
	  to get it better documented so 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.

2006-06-26 21:21  zmedico

	* [r3669] bin/emerge: For compatibility with revdep-rebuild, do not
	  allow NOCOLOR=false to override the isatty() check.

2006-06-26 19:31  zmedico

	* [r3668] bin/emerge: Ignore SIGPIPE signals in order to prevent
	  '[Errno 32] Broken pipe' exceptions from being raised when emerge
	  output is being piped. This reverts a behavior change from r3606.

2006-06-26 18:51  zmedico

	* [r3667] bin/emerge: Turn off color automatically when stdout is a
	  pipe, but allow the behavior to be overridden via the NOCOLOR
	  environment variable.

2006-06-26 06:21  zmedico

	* [r3666] bin/emerge: Use the cannonical path of $PORTDIR when
	  transferring metadata so that the _eclasses_ paths are
	  consistent. See bug #137965.

2006-06-26 05:39  zmedico

	* [r3665] bin/isolated-functions.sh, pym/portage.py: Allow
	  /etc/portage/color.map to control colors associated with einfo,
	  ewarn, etc...

2006-06-26 04:02  zmedico

	* [r3664] bin/emerge: Ensure that the PORTAGE_DEBUG environment
	  variable has a valid integer value.

2006-06-26 03:10  zmedico

	* [r3663] bin/emerge: Fix a few global variable references and move
	  all the global scope code into an emerge_main() function.

2006-06-26 02:27  zmedico

	* [r3662] bin/emerge: Don't run post_emerge() when --pretend is
	  enabled.

2006-06-26 02:19  zmedico

	* [r3661] bin/emerge: Remove direct references to the global
	  mtimedb from chk_updated_info_files().

2006-06-26 01:48  zmedico

	* [r3660] bin/emerge, pym/portage.py: Remove all direct references
	  to global variables form post_emerge().

2006-06-25 21:14  zmedico

	* [r3659] bin/emerge: Use the PORTAGE_DEBUG environment variable to
	  replace the global scope edebug variable.

2006-06-25 20:50  zmedico

	* [r3658] bin/emerge: Replace a references to global scope
	  CLEAN_DELAY and EMERGE_WARNING_DELAY with the previously
	  validated environment variables.

2006-06-25 20:26  zmedico

	* [r3657] bin/emerge: Ensure that CLEAN_DELAY and
	  EMERGE_WARNING_DELAY environment variables contain valid integer
	  values.

2006-06-25 19:34  zmedico

	* [r3656] bin/emerge: Remove the help() function.

2006-06-25 19:25  zmedico

	* [r3655] bin/emerge: Remove an unused import.

2006-06-25 09:54  zmedico

	* [r3654] pym/portage.py: Print a message to stderr if an error
	  occurs when updating a config file.

2006-06-25 09:43  zmedico

	* [r3653] pym/portage.py: Pass in just the CONFIG_PROTECT info
	  instead of the whole config object.

2006-06-25 08:30  zmedico

	* [r3652] pym/portage.py: Split the config protect functionality
	  from the dblink class to a new class and use it in
	  portage.update_config_files() (dblink requires a vartree and
	  that's not needed here).

2006-06-25 07:51  zmedico

	* [r3651] pym/portage.py: Fix portage.update_config_files() so that
	  it can work with an arbitrary $ROOT and without any global
	  variables.

2006-06-25 04:39  zmedico

	* [r3650] bin/emerge: Split the command line argument parsing into
	  a function.

2006-06-25 02:15  zmedico

	* [r3649] bin/env-update, bin/etc-update, bin/md5check.py: Remove
	  unnecessary PORTAGE_CALLER exports.

2006-06-25 01:52  zmedico

	* [r3648] pym/portage.py: Pass a config object into the binarytree
	  constructor so that is doesn't have to use global settings for
	  key_expand calls.

2006-06-25 01:15  zmedico

	* [r3647] pym/portage.py: Pass a config object into the vartree
	  constructor so that is doesn't have to use global settings for
	  key_expand calls.

2006-06-24 23:57  zmedico

	* [r3646] bin/ebuild.sh: Skip the install phase when
	  ${PORTAGE_BUILDDIR}/.installed exists. See bug #137864.

2006-06-24 20:55  zmedico

	* [r3645] pym/portage.py: Move the counter_tick methods from the
	  dbapi class to the vardbapi class.

2006-06-24 20:43  zmedico

	* [r3644] pym/portage.py: Make the COUNTER regeneration logic
	  account for $ROOT as per bug #129054.

2006-06-24 18:26  zmedico

	* [r3643] pym/portage.py: The mtimedb should not be relative to the
	  target $ROOT because the paths that it contains are currently
	  relative to "/".

2006-06-24 18:01  zmedico

	* [r3642] bin/misc-functions.sh: s/Preform/Perform/ Thanks to exg
	  for reporting.

2006-06-24 07:52  zmedico

	* [r3638] bin/emerge: Remove references to portage.settings from
	  unmerge().

2006-06-24 07:47  zmedico

	* [r3637] bin/emerge: Remove references to portage.root from
	  unmerge().

2006-06-24 07:31  zmedico

	* [r3636] pym/portage.py: Pass a config instance into key_expand
	  calls so that it doesn't rely on global settings.

2006-06-24 06:51  zmedico

	* [r3635] bin/emerge, pym/portage.py: Remove all direct references
	  to global variables from unmerge().

2006-06-24 05:14  zmedico

	* [r3634] bin/emerge: Remove all direct references to global
	  variables from getlist().

2006-06-24 04:43  zmedico

	* [r3633] bin/emerge: Remove all references to global variables
	  from getportageversion().

2006-06-24 04:14  zmedico

	* [r3632] bin/emerge: Fix getgccversion logic for bug #137786.

2006-06-24 04:03  zmedico

	* [r3631] pym/portage.py: Remove the deprectated digestCheckFiles
	  function.

2006-06-24 03:18  zmedico

	* [r3630] pym/portage.py: Remove a few unused imports.

2006-06-24 03:12  zmedico

	* [r3629] pym/portage.py: Remove a few unused imports.

2006-06-23 11:08  zmedico

	* [r3628] bin/emerge: Split the --metadata action into a separate
	  function from --sync.

2006-06-23 10:22  zmedico

	* [r3627] bin/emerge: Register emerge exit and signal handlers
	  after parsing options, just before the action phase.

2006-06-23 09:59  zmedico

	* [r3626] bin/emerge: Minor import cleanups.

2006-06-23 09:52  zmedico

	* [r3625] bin/emerge: Ensure that ^C interrupts are handled
	  quietly.

2006-06-23 08:50  zmedico

	* [r3624] bin/emerge: Shift all global scope code to the bottom.

2006-06-23 08:07  zmedico

	* [r3623] bin/emerge: Fix extra imports and undefined variable
	  found by pyflakes.

2006-06-23 08:03  zmedico

	* [r3622] bin/emerge: Fix error handling for getlist().

2006-06-23 07:29  zmedico

	* [r3621] pym/portage_util.py: Sort filenames for predictable
	  results.

2006-06-23 06:58  zmedico

	* [r3620] bin/emerge: Do not import * for cooperation with
	  pyflakes.

2006-06-23 06:28  zmedico

	* [r3619] bin/emerge: Use secpass to determine whether emergelog
	  exceptions should be ignored.

2006-06-23 06:14  zmedico

	* [r3618] bin/emerge: Remove unnecessary "myaction" parameter from
	  the depgraph constructor.

2006-06-23 06:09  zmedico

	* [r3617] bin/emerge: Pass relevant global variables as parameters
	  to action_* functions.

2006-06-23 05:40  zmedico

	* [r3616] bin/emerge: Document "deep" and remove unused "params"
	  variable.

2006-06-23 05:20  zmedico

	* [r3615] bin/emerge: Remove unused "merged" variable.

2006-06-23 04:35  zmedico

	* [r3614] pym/portage.py: Prevent an inappropriate warning when a
	  repoman user's profile does not support sandbox. Thanks to exg
	  for reporting.

2006-06-23 03:41  zmedico

	* [r3613] pym/portage_util.py: Test the basename for starting with
	  "." instead of the full path.

2006-06-23 03:35  zmedico

	* [r3612] pym/portage_util.py: Fix a typo from r3611 (file !=
	  files).

2006-06-23 00:40  antarus

	* [r3611] pym/portage_util.py: ignore .files in /etc/portage
	  recursion

2006-06-22 19:41  zmedico

	* [r3610] bin/dispatch-conf: Use portage_exec.find_binary since
	  "which" always returns 0 status on darwin. Thanks to exg for
	  reporting.

2006-06-22 19:11  zmedico

	* [r3609] bin/emerge: Simplify permission logic for emerge.log.

2006-06-22 17:51  zmedico

	* [r3608] bin/emerge: Move the creation of depgraph params from
	  global scope to a function.

2006-06-22 17:16  zmedico

	* [r3607] bin/isolated-functions.sh: As suggested by exg, include
	  the einfon code inside einfo instead of using the FUNCNAME hack
	  (FUNCNAME only works with >=bash-3.0).

2006-06-22 16:43  zmedico

	* [r3606] pym/portage.py: Don't register signal handlers during
	  module import because it may override signal hadlers that were
	  registered by the calling code.

2006-06-22 16:43  blubb

	* [r3605] man/emerge.1: mention the use of @ in -s; bug 137565

2006-06-22 15:10  zmedico

	* [r3604] bin/emerge: Fix a broken reference to syslist and remove
	  two extras.

2006-06-22 14:40  zmedico

	* [r3603] bin/emerge: Move emerge's default action code from global
	  scope to a function.

2006-06-22 14:27  zmedico

	* [r3602] bin/emerge: Fix missing global "syslist" from r3594.

2006-06-22 14:24  zmedico

	* [r3601] bin/emerge: Move the --depclean code from global scope to
	  a function.

2006-06-22 14:19  zmedico

	* [r3600] bin/emerge: Move the --search code from global scope to a
	  function.

2006-06-22 14:11  zmedico

	* [r3599] bin/emerge: Move the --info code from global scope to a
	  function.

2006-06-22 14:08  zmedico

	* [r3598] bin/emerge: Fix a collision with a previous variable
	  named "p".

2006-06-22 13:15  zmedico

	* [r3597] bin/emerge: Move the --config code from global scope to a
	  function.

2006-06-22 13:10  zmedico

	* [r3596] bin/emerge: Move the --regen code from global scope to a
	  function.

2006-06-22 12:59  zmedico

	* [r3595] bin/emerge: Move the --sync and --metadata code from
	  global scope to a function.

2006-06-22 11:33  zmedico

	* [r3594] bin/emerge: Remove most direct references to global
	  variables from emerge's depgraph class.

2006-06-22 08:24  zmedico

	* [r3593] bin/emerge: Remove unused "olddbapi" variable.

2006-06-22 08:17  zmedico

	* [r3592] bin/emerge: Remove all global variables from emerge's
	  search class.

2006-06-22 06:51  zmedico

	* [r3591] bin/emerge: Encapsulate emerge's spinner into an object.

2006-06-22 02:09  zmedico

	* [r3590] pym/portage.py: Simplify PORT_LOGDIR intitialization.

2006-06-22 01:49  zmedico

	* [r3589] pym/portage.py: Prevent and exception when PORT_LOGDIR is
	  an empty string.

2006-06-22 01:39  zmedico

	* [r3588] pym/portage.py: Remove redundant PORT_LOGDIR validation
	  from the config constructor.

2006-06-22 01:33  zmedico

	* [r3587] pym/portage.py: Don't bother to warn when PORT_LOGDIR="".

2006-06-22 01:24  zmedico

	* [r3586] pym/portage.py: Make sure that PORT_LOGDIR is properly
	  unset when it is unusable. Thanks to solar for reporting issues
	  with logs landing in $PWD.

2006-06-21 00:43  zmedico

	* [r3548] bin/emerge: By popular demand (including releng), revert
	  the unmerge behavior change from bug #118515 (r3186).

2006-06-20 22:51  zmedico

	* [r3547] pym/cache/metadata_overlay.py: Make it easy to pass
	  alternative cache implementations into the constructor as
	  suggested by Brian Harring.

2006-06-20 22:39  zmedico

	* [r3546] pym/cache/metadata_overlay.py: Use get() to simplify
	  setitem logic as suggested by Brian Harring.

2006-06-20 22:23  zmedico

	* [r3545] pym/cache/template.py: Implement get() as part of the
	  standard mapping interface.

2006-06-20 21:55  zmedico

	* [r3544] pym/cache/metadata_overlay.py: Fix it so that values are
	  properly saved in the writable layer. Previously they've been
	  discarded, leading to regen on each access (only in cases where
	  the user has altered an ebuild in the $PORTDIR).

2006-06-20 18:28  zmedico

	* [r3543] pym/portage.py: Use wantnewlockfile=1 on
	  /var/lib/portage/config for bug #137269. r3540 is also related.

2006-06-19 21:28  zmedico

	* [r3540] pym/portage_locks.py: To prevent infinite recursion when
	  a lock file has more than 1 hardlink, test for exactly 0
	  hardlinks before recursing.

2006-06-19 18:15  genone

	* [r3539] pym/portage.py: make sure that elog entries are also
	  processed in *rm phases and that they are only processed once

2006-06-19 03:09  zmedico

	* [r3537] bin/emerge: Save timestamp.chk even when
	  metadata-transfer is disabled for bug #137177.

2006-06-19 01:37  solar

	* [r3534] bin/emerge: - do not complain about redundant use of
	  pretend and verbose flags

2006-06-18 23:42  antarus

	* [r3533] pym/portage.py: goodbye tokenize

2006-06-18 22:40  zmedico

	* [r3532] pym/output.py: Put bright colors before dark colors for
	  bug #137206. Thanks to Benno Schulenberg <benno@nietvergeten.nl>
	  for this patch.

2006-06-18 21:22  zmedico

	* [r3531] pym/portage_mail.py: Add missing sys import found by
	  pyflakes.

2006-06-18 21:13  genone

	* [r3530] pym/portage_mail.py: fix typo

2006-06-18 16:43  vapier

	* [r3528] bin/misc-functions.sh: get rid of quotes in output

2006-06-18 03:12  zmedico

	* [r3527] pym/portage.py: Prevent repoman frm using
	  /etc/portage/package.mask. This is a regression in 2.1.1_pre1
	  from svn r3495. See bug #133740. Thanks to sekretarz for
	  reporting this issue.

2006-06-18 00:43  zmedico

	* [r3526] bin/emerge: Overwrite the existing fetch log so that it
	  only contains the most recent fetch.

2006-06-17 23:30  zmedico

	* [r3525] bin/emerge: Log parallel-fetch output to
	  /var/log/emerge-fetch.log just in case it's needed. See bug
	  #137105.

2006-06-17 23:18  zmedico

	* [r3524] bin/emerge, pym/portage.py: Make sure that doebuild gets
	  the correct CATEGORY. See bug #137105.

2006-06-17 21:50  vapier

	* [r3523] man/emerge.1: Benno Schulenberg writes in #136818: tweak
	  --nocolor description

2006-06-17 21:49  vapier

	* [r3522] man/emerge.1: Benno Schulenberg writes in #136818: tweak
	  the description of --info

2006-06-17 21:47  vapier

	* [r3521] man/emerge.1: Benno Schulenberg writes in #136818: make
	  the style of the --pretend letter descriptions uniform

2006-06-17 21:43  vapier

	* [r3520] man/emerge.1: Benno Schulenberg writes in #136818: put
	  the --config action in its alphabetical place while adjusting the
	  words and spaces a little.

2006-06-17 21:41  vapier

	* [r3519] man/emerge.1: line wrap to 80 cols

2006-06-17 21:39  vapier

	* [r3518] man/emerge.1: Benno Schulenberg writes in #136818:
	  changes the wording of the "set" parameter to be similar to its
	  neighbours.

2006-06-17 15:56  zmedico

	* [r3517] pym/portage_manifest.py: Force digest generation when
	  assume-digests is enabled but the file size does not match. See
	  bug #137032.

2006-06-16 20:13  zmedico

	* [r3516] pym/portage_util.py: Import missing PermissionDenied
	  class. Thanks to marienz for reporting (and suggesting pyflakes).

2006-06-16 06:10  zmedico

	* [r3515] pym/portage.py: Fix checksum error messages for bug
	  #136947. Thanks to truedfx for this patch.

2006-06-15 23:10  zmedico

	* [r3514] pym/portage.py: Only attempt to unmerge the
	  already-installed instance if it actually exists. 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).

2006-06-15 16:19  zmedico

	* [r3513] bin/emerge: When --debug is enabled, do not raise a
	  ValueError for unresolved dependencies. See bug #126793.

2006-06-14 12:42  antarus

	* [r3512] RELEASE-NOTES: more fixes to make it sound like I didn't
	  write it at 8:41am

2006-06-14 12:41  antarus

	* [r3511] RELEASE-NOTES: idiot, use.defaults, not make.defaults

2006-06-14 12:35  antarus

	* [r3510] RELEASE-NOTES: Add autouse removal to RELEASE-NOTES

2006-06-14 10:08  zmedico

	* [r3509] bin/emerge: Give a useful error message when a dependency
	  has an ambiguous atom due to the category being unspecified. See
	  bug #123677.

2006-06-13 23:30  zmedico

	* [r3508] bin/ebuild.sh: Source /etc/portage/bashrc after the
	  profile.bashrcs, since user env should be over to override the
	  profile env.

2006-06-13 20:46  antarus

	* [r3507] bin/repoman: fix path to ebuild for dsd, bug # 135705

2006-06-13 19:55  zmedico

	* [r3506] bin/ebuild.sh, pym/portage.py: Fix generation of ebuild
	  log file names for bug #136285.

2006-06-13 04:21  zmedico

	* [r3505] bin/etc-update: Fix signal handling for bug #96331.
	  Thanks to S. Caglar Onur <caglar@pardus.org.tr> for this patch.

2006-06-13 03:50  zmedico

	* [r3504] cnf/make.conf.x86-fbsd.diff: s/i686-unknown/i686-gentoo/
	  for bug #136532.

2006-06-13 00:20  zmedico

	* [r3503] pym/elog_modules/mod_save.py: Fix a typo from the last
	  revision (octal literals begin with 0).

2006-06-13 00:06  zmedico

	* [r3502] pym/elog_modules/mod_save.py: Toggle the setgid bit on
	  $PORT_LOGDIR\elog\ for bug #136278.

2006-06-12 23:22  zmedico

	* [r3501] bin/isolated-functions.sh: Prevent extra newlines in elog
	  for einfo invocations. See bug #136208.

2006-06-12 19:06  zmedico

	* [r3500] pym/portage.py: For more simplicity, use os.rename
	  instead of spawning MOVE_BINARY (see bug #136404).

2006-06-12 18:24  zmedico

	* [r3499] bin/emerge: Remove pointless closing of stdin that is
	  done prior to metadata transfer (See bug #136404).

2006-06-12 17:33  blubb

	* [r3498] bin/emerge: removing windows-like senseless confirmation
	  requests

2006-06-12 15:57  genone

	* [r3497] pym/portage_mail.py: add date header for rfc2822
	  compliance

2006-06-12 03:51  zmedico

	* [r3496] bin/repoman: Replace --include-masked with an inverse
	  --ignore-masked option for bug #85576.

2006-06-12 02:46  zmedico

	* [r3495] pym/portage.py: Stack package.mask files in a more
	  logical order as specified in bug #133740.

2006-06-12 00:13  zmedico

	* [r3494] pym/portage_util.py: Wrap more exceptions in
	  ensure_dirs().

2006-06-11 23:51  zmedico

	* [r3493] pym/portage_util.py: Wrap more exceptions when applying
	  permissions. Thanks to marienz for reporting.

2006-06-10 23:03  zmedico

	* [r3488] bin/misc-functions.sh: Remove QA warning when files are
	  installed with portage uid/gid for bug #136313.

2006-06-10 22:54  antarus

	* [r3487] bin/repoman: Fix LIVEVCS.stable for -* keywords

2006-06-10 22:50  genone

	* [r3486] pym/portage_mail.py: override sender on sendmail
	  invocation

2006-06-10 22:43  genone

	* [r3485] cnf/make.conf, pym/portage_mail.py: add code to allow
	  sendmail binaries to be used instead of a smtp connection for
	  sending mails

2006-06-10 22:38  genone

	* [r3484] pym/elog_modules/mod_mail.py, pym/portage_mail.py:
	  refactor elog mail stuff so it's reusable by other tools (like
	  glsa-check)

2006-06-10 21:40  genone

	* [r3483] NEWS, RELEASE-NOTES, bin/archive-conf, bin/chkcontents,
	  bin/clean_locks, bin/dispatch-conf, bin/dobin, bin/doconfd,
	  bin/dodir, bin/dodoc, bin/doenvd, bin/doexe, bin/dohard,
	  bin/dohtml, bin/doinfo, bin/doinitd, bin/doins, bin/dojar,
	  bin/dolib, bin/dolib.a, bin/dolib.so, bin/doman, bin/domo,
	  bin/dosbin, bin/dosed, bin/dosym, bin/ebuild, bin/ebuild.sh,
	  bin/emaint, bin/emake, bin/emerge, bin/emerge-webrsync,
	  bin/env-update, bin/env-update.sh, bin/etc-update,
	  bin/find-requires, bin/fix-db.py, bin/fixdbentries,
	  bin/fixpackages, bin/fowners, bin/fperms,
	  bin/isolated-functions.sh, bin/md5check.py, bin/md5check.sh,
	  bin/misc-functions.sh, bin/newbin, bin/newconfd, bin/newdoc,
	  bin/newenvd, bin/newexe, bin/newinitd, bin/newins, bin/newlib.a,
	  bin/newlib.so, bin/newman, bin/newsbin, bin/pemerge.py,
	  bin/pkgmerge, bin/pkgmerge.new, bin/pkgname,
	  bin/portage_gpg_update.sh, bin/portageq, bin/prepall,
	  bin/prepalldocs, bin/prepallinfo, bin/prepallman,
	  bin/prepallstrip, bin/prepinfo, bin/preplib, bin/prepman,
	  bin/prepstrip, bin/quickpkg, bin/regenworld, bin/repoman,
	  bin/sed, bin/xpak, cnf/dispatch-conf.conf, cnf/etc-update.conf,
	  cnf/make.conf, cnf/make.conf.alpha.diff,
	  cnf/make.conf.amd64.diff, cnf/make.conf.arm.diff,
	  cnf/make.conf.hppa.diff, cnf/make.conf.ia64.diff,
	  cnf/make.conf.mips.diff, cnf/make.conf.ppc.diff,
	  cnf/make.conf.ppc64.diff, cnf/make.conf.s390.diff,
	  cnf/make.conf.sparc.diff, cnf/make.conf.x86-fbsd.diff,
	  cnf/make.conf.x86.diff, cnf/make.globals, make-man-tarball.sh,
	  make.conf-repatch.sh, man/dispatch-conf.1, man/ebuild.1,
	  man/ebuild.5, man/emaint.1, man/emerge.1, man/env-update.1,
	  man/etc-update.1, man/make.conf.5, man/portage.5, man/quickpkg.1,
	  man/repoman.1, pym/cache/__init__.py, pym/cache/anydbm.py,
	  pym/cache/cache_errors.py, pym/cache/flat_hash.py,
	  pym/cache/flat_list.py, pym/cache/fs_template.py,
	  pym/cache/mappings.py, pym/cache/metadata.py,
	  pym/cache/metadata_overlay.py, pym/cache/sql_template.py,
	  pym/cache/sqlite.py, pym/cache/template.py, pym/cache/util.py,
	  pym/cvstree.py, pym/dispatch_conf.py, pym/eclass_cache.py,
	  pym/elog_modules/__init__.py, pym/elog_modules/mod_custom.py,
	  pym/elog_modules/mod_mail.py, pym/elog_modules/mod_save.py,
	  pym/elog_modules/mod_syslog.py, pym/emergehelp.py,
	  pym/getbinpkg.py, pym/output.py, pym/portage.py,
	  pym/portage_checksum.py, pym/portage_const.py,
	  pym/portage_data.py, pym/portage_debug.py, pym/portage_dep.py,
	  pym/portage_exception.py, pym/portage_exec.py,
	  pym/portage_file.py, pym/portage_gpg.py,
	  pym/portage_localization.py, pym/portage_locks.py,
	  pym/portage_manifest.py, pym/portage_update.py,
	  pym/portage_util.py, pym/portage_versions.py, pym/xpak.py,
	  src/bsd-flags/PKG-INFO, src/bsd-flags/chflags.c,
	  src/bsd-flags/setup.cfg, src/bsd-flags/setup.py,
	  src/python-missingos/ChangeLog, src/python-missingos/PKG-INFO,
	  src/python-missingos/README, src/python-missingos/missingos.c,
	  src/python-missingos/setup.cfg, src/python-missingos/setup.py,
	  src/tbz2tool.c, tabcheck.py, tarball.sh: make elog mail module
	  always set the 'From' header for rfc2822 compliance

2006-06-10 05:06  zmedico

	* [r3482] pym/portage.py: Do not unmerge fifo files because, since
	  their mtime is not stored in 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.

2006-06-10 00:25  solar

	* [r3481] bin/misc-functions.sh: - Bug 136236 misc-functions.sh
	  fails to always honor RESTRICT=stricter - Donnie Berkholz
	  spyderous@gentoo.org

2006-06-09 09:06  zmedico

	* [r3476] pym/portage.py: I meant to ignore an IndexError here, in
	  case mysettings["PORTDIR_OVERLAY"] becomes corrupted and the
	  split has an unexpected number of elements for some reason.

2006-06-08 22:10  zmedico

	* [r3475] bin/sed: Use ${BASH_SOURCE[0]} instead of $_ because the
	  former is more dependable for 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.

2006-06-08 16:56  zmedico

	* [r3474] pym/portage.py: Break out of the loop asap.

2006-06-08 16:15  zmedico

	* [r3473] pym/portage.py: When an ebuild from overlay fails,
	  display a message indicating which overlay it came from (bug
	  #136031). Thanks to genstef for the initial patch.

2006-06-08 15:15  zmedico

	* [r3472] man/portage.5: Add some documentation for
	  /etc/make.profile/profile.bashrc.

2006-06-08 13:57  zmedico

	* [r3471] bin/emerge: Delete incomplete resume data before exiting
	  due to blockers. This prevents a 'mergelist' KeyError from
	  occurring if the user attempts to run `emerge --resume`
	  immediately afterwards. Thanks to axxo for reporting.

2006-06-08 13:26  zmedico

	* [r3470] cnf/make.globals, pym/portage.py: Move hard coding of
	  /etc/env.d in CONFIG_PROTECT_MASK from
	  portage.config.__getitem__() to make.globals. Thanks to pauldv
	  for reporting.

2006-06-08 12:25  zmedico

	* [r3469] pym/portage.py: Revert r3468 because this type of
	  functionality belongs in profile.bashrc or an eclass.

2006-06-07 13:20  vapier

	* [r3468] pym/portage.py: support for FEATURES=debug-build

2006-06-07 12:49  zmedico

	* [r3467] pym/portage_data.py: Call the bogus lchown() once so that
	  the warning is seen asap.

2006-06-07 12:39  zmedico

	* [r3466] pym/portage_data.py: If lchown is unavailable for some
	  unexpected reason, make all lchown calls print a warning message
	  (bug #135398).

2006-06-07 11:53  zmedico

	* [r3465] pym/portage.py: Also bump the counter for the "merge"
	  phase since it calls spawnebuild (bug #135856).

2006-06-07 10:32  zmedico

	* [r3464] pym/portage.py: Make sure that each new build attempt
	  gets it's own unique log file for bug #135856.

2006-06-06 04:10  zmedico

	* [r3463] bin/emerge: Fix getgccversion() logic so that it works
	  properly with eselect compiler for bug #108393. Thanks to
	  eradicator for help with this patch.

2006-06-05 17:16  zmedico

	* [r3462] bin/misc-functions.sh: Store the original suid bits when
	  suidctl is enabled for bug #135639. Thanks to
	  splite-gentoo@sigint.cs.purdue.edu for this patch.

2006-06-05 07:59  zmedico

	* [r3461] bin/repoman: Put LIVEVCS.stable in qawarnings for now
	  since it's new and hasn't been thoroughly discussed.

2006-06-05 07:43  zmedico

	* [r3460] bin/repoman: Add python 2.3 compatibility code for the
	  set builtin.

2006-06-05 05:51  zmedico

	* [r3459] bin/emerge: Fix getgccversion() logic for bug #108393.
	  Thanks to eradicator for suggesting this logic.

2006-06-04 19:49  antarus

	* [r3458] man/repoman.1: add LIVEVCS.stable to man repoman

2006-06-04 19:48  antarus

	* [r3457] bin/repoman: Add live VCS check to repoman, fix
	  misspelling

2006-06-04 15:33  zmedico

	* [r3456] pym/portage.py: When generating digests, print a
	  digest.assumed QA warning if necessary in order to prevent
	  confusion. Thanks to jakub for suggesting this.

2006-06-04 03:42  zmedico

	* [r3455] pym/portage.py: Raise a ParseError if the profile has a
	  parent file containing a nonexistant parent.

2006-06-04 03:29  zmedico

	* [r3454] pym/portage.py: Raise a ParseError if the profile has a
	  parent file containing anything other than 1 parent.

2006-06-04 03:13  zmedico

	* [r3453] pym/portage.py: Revert lazy loading of autouse because it
	  is both broken and useless.

2006-06-04 00:30  zmedico

	* [r3452] cnf/make.conf: Escape the shell parameter expansions in
	  the PORTAGE_ELOG_COMMAND example for bug #135429.

2006-06-04 00:09  zmedico

	* [r3451] bin/emerge: Restore the old behavior of performing global
	  updates when portage is reloaded after `emerge --sync` for bug
	  #135446.

2006-06-03 19:21  zmedico

	* [r3450] bin/emerge: Fix emerge's overlay display so that it works
	  properly with overlay paths that contain symlinks. This is
	  necessary due to pordbapi's internal use of cannonical paths.
	  Thanks to kevquinn for reporting.

2006-06-02 19:08  zmedico

	* [r3449] bin/portageq: In portageq, catch a KeyError and print a
	  message to stderr. If the KeyError is raised, portageq prints a
	  help message which leads to bug #135278.

2006-06-02 09:32  zmedico

	* [r3448] cnf/make.conf.x86-fbsd.diff: Update make.conf.example for
	  x86-fbsd with patch from Flameeyes for bug #135241.

2006-06-01 13:46  zmedico

	* [r3447] bin/ebuild.sh: Fix unpack so that it works with 7z
	  archives for bug #135134. Thanks to Paul Bredbury
	  <brebs@sent.com> for the initial patch.

2006-06-01 11:15  zmedico

	* [r3446] bin/emerge: Wrap at 80 columns for bug #135132.

2006-06-01 07:59  zmedico

	* [r3445] bin/emerge: Fix --buildpkgonly so that the "clean" phase
	  is run afterwards. In other cases, "clean" is triggered
	  automatically after the package is merged.

2006-06-01 06:52  zmedico

	* [r3444] man/ebuild.5, man/make.conf.5: Document
	  RESTRICT="confcache" and add a reference econf in the
	  FEATURES="confcache" docs.

2006-06-01 01:40  antarus

	* [r3443] pym/getbinpkg.py: Fix quoting for bug 109739

2006-05-30 09:10  zmedico

	* [r3442] bin/emerge-webrsync: Use python to lookup the user and
	  group corresponding to PORTAGE_INST_UID and PORTAGE_INST_GID
	  since tarsync doesn't support numeric arguments for the user and
	  group. See bug #134885.

2006-05-30 08:23  zmedico

	* [r3441] bin/emerge: Add some helpful troubleshooting tips to the
	  depclean warning message.

2006-05-30 03:52  zmedico

	* [r3440] bin/prepstrip: Fix prepstrip so that it properly
	  distiguishes between stripped and unstripped binaries for bug
	  #133420. Thanks to robbat2 for this patch.

2006-05-29 19:00  blubb

	* [r3439] bin/repoman: everybody hates repoman failing on modular
	  X, so make it a warning

2006-05-29 11:45  zmedico

	* [r3438] pym/portage_selinux.py: Use the well know selinux_aux
	  functions for bug #134743.

2006-05-28 23:27  zmedico

	* [r3437] bin/emerge, man/emerge.1, pym/emergehelp.py: Revert patch
	  for r3426 for bug 134466 and add warnings to docs.

2006-05-28 22:32  zmedico

	* [r3436] man/make.conf.5: Update the default USE_ORDER setting in
	  the man page. Thanks to jakub for reporting.

2006-05-28 06:37  zmedico

	* [r3434] cnf/make.conf, man/make.conf.5: Update FEATURES docs for
	  'assume-digests' and 'digest'. Thanks to robbat2 for reporting.

2006-05-27 21:03  zmedico

	* [r3433] pym/portage.py: Ignore ENOENT errors that are expected to
	  occur in portage.fetch().

2006-05-27 04:53  zmedico

	* [r3430] pym/portage.py, pym/portage_selinux.py: Remove dependence
	  on a patched version of libselinux for bug #122517.

2006-05-27 03:40  zmedico

	* [r3429] pym/portage_util.py: Add noiselevel=-1 to writemsg calls
	  in portage_util.py for errors that shouldn't happen so that
	  messages are printed even when --quiet is used.

2006-05-27 03:27  zmedico

	* [r3428] pym/portage.py: Add noiselevel=-1 to writemsg calls in
	  portage.py for errors that shouldn't happen so that messages are
	  printed even when --quiet is used.

2006-05-27 02:24  zmedico

	* [r3427] bin/emerge: Add noiselevel=-1 to writemsg calls for fatal
	  emerge errors so that important errors are printed even when
	  --quiet is used.

2006-05-27 02:11  zmedico

	* [r3426] bin/emerge: Fix emerge's userquery() so that it rejects
	  empty responses when the enter key is pressed for bug #134466.

2006-05-27 01:52  zmedico

	* [r3425] pym/portage.py: Add noiselevel=-1 to writemsg calls for
	  legitimate errors in merge and unmerge phases so that important
	  errors are printed even when --quiet is used.

2006-05-27 01:45  zmedico

	* [r3424] pym/portage.py: Add noiselevel=-1 to writemsg calls for
	  legitimate errors in portage.digestcheck() so that important
	  errors are printed even when --quiet is used.

2006-05-27 01:38  zmedico

	* [r3423] pym/portage.py: Add noiselevel=-1 to writemsg calls for
	  legitimate errors in doebuild so that important errors are
	  printed even when --quiet is used.

2006-05-27 01:05  zmedico

	* [r3422] pym/portage.py: Make sure that fetch errors are reported
	  even when --quiet is being used.

2006-05-27 00:59  zmedico

	* [r3421] pym/portage.py: Only print a warning if absolutely
	  necessary when adjusting distfiles permissions for bug #112612.

2006-05-27 00:09  zmedico

	* [r3420] bin/prepstrip: For availability in all stages, use rsync
	  instead of cpio for bug #124638.

2006-05-26 22:38  zmedico

	* [r3419] bin/prepstrip: For portability, use cpio instead of `cp
	  --parents` for bug #124638.

2006-05-26 04:08  zmedico

	* [r3418] pym/portage.py: Add some additional error handling for
	  OperationNotPermitted and ReadOnlyFileSystem exceptions (bug
	  #112612).

2006-05-26 03:38  zmedico

	* [r3417] pym/portage.py: Fix the last revision so it also works
	  for files copied from local fsmirrors.

2006-05-26 03:27  zmedico

	* [r3416] pym/portage.py: If necessary, apply appropriate
	  permissions to previously fetched files for bug #112612.

2006-05-26 01:59  zmedico

	* [r3415] pym/portage.py: Reset DISTDIR to it's original value
	  before returning from doebuild() in order to prevent unexpected
	  values for DISTDIR later on.

2006-05-25 22:34  zmedico

	* [r3414] man/ebuild.1: Fix CATEGORY spelling for bug #134362.

2006-05-25 13:30  antarus

	* [r3413] cnf/make.conf: update the wget examples in make.conf

2006-05-25 13:09  antarus

	* [r3412] cnf/make.globals: set a timeout on wget to 60 seconds to
	  fix bug 101196; the old timeout was 15 minutes :/

2006-05-24 22:34  zmedico

	* [r3411] man/ebuild.5: Add some documentation for
	  RESTRICT="binchecks" (bug #133804).

2006-05-24 16:11  solar

	* [r3410] bin/misc-functions.sh, man/ebuild.5, man/make.conf.5: -
	  More updates from Kevin Q bug 131779 ; document the stricter
	  feature along with the QA_* handling

2006-05-24 10:42  solar

	* [r3409] bin/misc-functions.sh: - final commit hopefully for
	  QA_TEXTRELS etc.

2006-05-24 08:12  zmedico

	* [r3408] bin/ebuild.sh: When /usr/lib/distcc/bin does not exist,
	  only add a maximum of one distcc to CC and CXX for bug #84150.

2006-05-23 22:20  zmedico

	* [r3405] bin/repoman: Fix repoman so that it works when the
	  portage tree structure contains symlinks for bug #109961.

2006-05-23 18:27  zmedico

	* [r3404] cnf/make.globals: Add kernel to the default
	  USE_EXPAND_HIDDEN. Thanks to Flameeyes for reporting.

2006-05-23 17:51  antarus

	* [r3403] bin/prepstrip: Fix prepstrip to work with restrict,
	  thanks to flameeyes and bug 134135

2006-05-23 09:33  zmedico

	* [r3401] cnf/make.globals: Add ELIBC and USERLAND to
	  USE_EXPAND_HIDDEN in make.globals since the user can't change
	  those flags easily.

2006-05-23 09:26  zmedico

	* [r3400] man/make.conf.5: Add some documentation for
	  USE_EXPAND_HIDDEN.

2006-05-23 09:04  zmedico

	* [r3399] bin/emerge: Prevent a KeyError from occurring when
	  USE_EXPAND_HIDDEN is used for bug #134086.

2006-05-23 03:23  zmedico

	* [r3392] cnf/make.conf: Document userfetch for bug #133975. Thanks
	  to RiverRat for this patch.

2006-05-22 09:05  zmedico

	* [r3390] pym/portage_manifest.py: Fix a bug that causes hashes of
	  random types (mostly SHA1, from my experience) to be erroneously
	  discarded due to dictionary assignment instead up update.

2006-05-22 07:47  zmedico

	* [r3389] bin/ebuild.sh: Don't warn about RESTRICT=test unless
	  FEATURES=test is enabled for bug #134004.

2006-05-22 05:59  zmedico

	* [r3387] pym/portage.py: Fix userfetch so that it works regardless
	  of whether or not userpriv is 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().

2006-05-21 21:48  zmedico

	* [r3385] man/make.conf.5: Fix bad spelling of "privileges" in
	  userpriv docs.

2006-05-21 20:45  zmedico

	* [r3384] man/make.conf.5: Document userfetch for bug #133975.

2006-05-21 18:59  zmedico

	* [r3383] pym/portage_manifest.py: Don't include a redundant size
	  field with the other hashes when creating manifest2 entries.
	  Thanks to solar for reporting.

2006-05-21 04:41  zmedico

	* [r3382] pym/portage.py: Validate the CATEGORY data in
	  portage.config.load_infodir() and print a warning message if
	  corruption is detected.

2006-05-19 09:55  zmedico

	* [r3378] bin/emerge: In order to help protect users, make
	  AUTOCLEAN case insensitive.

2006-05-19 01:01  zmedico

	* [r3377] pym/emergehelp.py: Add --nocolor to emerge's short help
	  for bug #133734. Thanks to gabebw@gmail.com for this patch.

2006-05-19 00:39  zmedico

	* [r3376] bin/portageq: Catch a ValueError thrown from cpv_expand
	  and use it print an error message (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.

2006-05-18 08:59  zmedico

	* [r3373] bin/prepstrip: Fix prepstrip split-debug paths for bug
	  #133628. Thanks to kevquinn for this patch.

2006-05-18 08:45  zmedico

	* [r3372] bin/emerge: Revert r3371 because it doesn't fix the real
	  problem and get ROOT directly from portage.settings["ROOT"] since
	  self.pkgsettings["ROOT"] does not have the desired value.

2006-05-18 07:22  zmedico

	* [r3371] bin/emerge: Catch PackageNotFound exceptions from
	  unmerge() for bug #133606.

2006-05-18 05:25  zmedico

	* [r3370] bin/emerge: Correctly autoclean build time dependencies
	  that have been upgraded in / when ROOT!=/ for bug #133606. This
	  patch duplicates code from emerge's unmerge() function in order
	  to touch as little existing code as possible.

2006-05-17 22:30  zmedico

	* [r3369] bin/emerge: When portage is upgraded, only restart emerge
	  when destroot="/". Also, clean up and fix the related logic in
	  depgraph.display().

2006-05-17 20:55  zmedico

	* [r3368] pym/portage.py: Fix repoman to grab categores, arch.list,
	  and package.mask from the proper locations when scanning an
	  overlay. Thanks to mcummings for reporting.

2006-05-17 07:08  zmedico

	* [r3367] cnf/make.conf.ppc64.diff: s/mtarget/mtune/g for bug
	  #133528.

2006-05-17 05:44  zmedico

	* [r3366] bin/emerge: Print a warning message when AUTOCLEAN is
	  disabled because it's quite dangerous.

2006-05-16 20:23  zmedico

	* [r3365] pym/portage.py: Fix portage.getmaskingreason() so that it
	  properly stacks all available package.mask files for bug #104000.

2006-05-16 19:54  zmedico

	* [r3364] cnf/make.conf: Add a warning message for AUTOCLEAN="no".
	  Thanks to jakub for reporting.

2006-05-16 06:10  zmedico

	* [r3362] bin/emerge: Add + to the --changelog regex so that
	  dvd+rw-tools works for bug #133288.

2006-05-16 05:50  zmedico

	* [r3361] man/emerge.1: Add some PORTAGE_CONFIGROOT documentation
	  for bug #131925. Thanks to Christian Heim for this patch.

2006-05-15 12:50  antarus

	* [r3360] bin/emerge: Fix for bug 133363, thanks to
	  <world.root@gmail.com> for reporting.

2006-05-15 04:25  zmedico

	* [r3359] pym/portage.py: Fix a typo from r3357.

2006-05-15 04:20  zmedico

	* [r3358] pym/portage.py: Add back the rstrip(os.path.sep) which is
	  needed in the case where ROOT=/ (regression from r3356).

2006-05-15 03:06  zmedico

	* [r3357] pym/portage.py: Revert the performance optimization from
	  r3355 in favor of maximum robustness.

2006-05-15 02:40  zmedico

	* [r3356] pym/portage.py: Ensure that ${ROOT} is normalized for bug
	  #90444.

2006-05-15 02:27  zmedico

	* [r3355] pym/portage.py: Remove unnecessary and time consuming
	  normpath call for bug #90444.

2006-05-14 21:42  zmedico

	* [r3354] pym/portage.py: Ensure a sane global umask for bug
	  #133307 (regression from r3228).

2006-05-14 21:07  antarus

	* [r3353] pym/portage_data.py: Wheel != secpass=1, so kill it.
	  Wheel grants you nothing wrt portage perms.

2006-05-14 13:42  vapier

	* [r3352] bin/prepstrip: strip leading slash in output

2006-05-14 13:40  vapier

	* [r3351] bin/isolated-functions.sh: you have to quote $@ or things
	  can break

2006-05-14 12:08  zmedico

	* [r3350] pym/cache/flat_hash.py: Use iteritems() instead of
	  items() because an iterator uses less memory.

2006-05-14 11:39  zmedico

	* [r3349] pym/cache/flat_hash.py: Write raw bytes instead of
	  attempting to encode as utf-8 for bug #133287.

2006-05-14 07:07  zmedico

	* [r3348] pym/portage.py: Make portdbapi._init_cache_dirs() obey
	  self.depcachedir.

2006-05-14 06:24  zmedico

	* [r3347] pym/portage.py: Make portdbapi obey self.depcachedir
	  instead of using portage_const.DEPCACHE_PATH directly.

2006-05-13 22:19  zmedico

	* [r3346] bin/emerge: Allow `emerge --metadata` and `emerge
	  --regen` for users in the portage group(bug #133157).

2006-05-12 22:39  zmedico

	* [r3345] man/portage.5: s/DEPEND atoms/package atoms/ for better
	  wording

2006-05-12 21:40  zmedico

	* [r3343] pym/portage.py: Make /etc/portage/bashrc relative to
	  PORTAGE_CONFIGROOT.

2006-05-12 21:13  zmedico

	* [r3342] man/portage.5: Add some documentation for
	  /etc/portage/modules and metadata_overlay.

2006-05-12 18:41  zmedico

	* [r3341] pym/portage.py: Revert r3339 because r3301 makes it
	  unnecessary. See bug #133055.

2006-05-11 23:54  antarus

	* [r3340] bin/emerge: Minor 1 liner for bug 131657

2006-05-11 19:46  antarus

	* [r3339] pym/portage.py: Fix bug 113055, Binpkg's need SLOT in
	  mysettings

2006-05-10 03:52  zmedico

	* [r3338] pym/portage.py: Neglect EOFError during mtimedb loading
	  since this error seems to be common when the mtimedb has been
	  corrupted.

2006-05-10 02:39  vapier

	* [r3337] pym/portage.py, pym/portage_const.py: remove unused
	  STICKIES variable

2006-05-10 00:31  zmedico

	* [r3336] bin/emerge: Only adjust priority for PORTAGE_NICENESS on
	  the first run for bug #132739.

2006-05-09 02:08  vapier

	* [r3335] bin/ebuild.sh: slightly easier test to read for
	  DISTDR/unpack check

2006-05-08 20:26  zmedico

	* [r3334] pym/portage.py: Use os.path.realpath instead of
	  portage.abssymlink to resolve /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.

2006-05-08 17:55  zmedico

	* [r3333] bin/ebuild.sh: Give a less confusing error message when
	  unpack() arguments begin with ${DISTDIR}. Thanks to Flameeyes for
	  reporting.

2006-05-08 07:48  zmedico

	* [r3332] pym/portage.py: Prevent a TypeError exception when the
	  /etc/make.profile symlink is broken on nonexistent.

2006-05-08 06:24  zmedico

	* [r3331] pym/portage.py: Catch FileNotFound exception and print a
	  message when a file listed in the Manifest could not be found.

2006-05-08 01:28  zmedico

	* [r3330] bin/ebuild.sh, pym/portage.py: Move the fake $HOME that's
	  used for ebuilds from $PORTAGE_TMPDIR/portage/homedir to
	  $PORTAGE_BUILDDIR/homedir so that each build has a unique $HOME
	  for bug #130395.

2006-05-07 20:36  zmedico

	* [r3329] pym/cache/metadata.py: Fix a potential NameError due to
	  'cpv' being undefined in the namespace and 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().

2006-05-07 19:01  zmedico

	* [r3328] pym/cache/flat_hash.py: Properly encode metadata strings
	  as utf-8 in order to avoid "UnicodeEncodeError: 'ascii' codec
	  can't encode character" exception when given a unicode string.

2006-05-07 06:54  zmedico

	* [r3327] pym/cache/flat_hash.py: Replace inappropriate use of
	  writelines with normal write.

2006-05-06 18:37  zmedico

	* [r3326] pym/portage.py: Fix portage.config handling of ROOT and
	  PORTAGE_CONFIGROOT for bug #132442.

2006-05-06 13:23  genone

	* [r3325] bin/emerge: make rsync variable messages a bit less
	  inviting

2006-05-06 11:52  zmedico

	* [r3324] pym/portage.py: Catch a KeyError and report a missing
	  digest for bug #132410.

2006-05-06 02:34  zmedico

	* [r3323] pym/cache/metadata.py: Remove the uppercase requirement
	  on flat_hash metadata keys so that _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.

2006-05-06 02:11  zmedico

	* [r3322] pym/portage.py: Obey self.incrementals in
	  config.regenerate() instead of using portage_const.INCREMENTALS
	  directly.

2006-05-05 21:04  zmedico

	* [r3321] bin/emerge: Catch a KeyError and notify the user of a
	  missing digest for bug #132373.

2006-05-05 18:10  zmedico

	* [r3320] pym/portage.py: Reimplement the fix for bug #79566 more
	  cleanly (the -* hack seems quite non-intuitive).

2006-05-04 18:00  zmedico

	* [r3319] bin/ebuild.sh: Fix some small typos in ebuild.sh for bug
	  #86151. Thanks to Yoshino for this patch.

2006-05-04 10:15  zmedico

	* [r3318] pym/portage.py: Make sure that cloned FEATURES are
	  correctly preserved by getting them directly from the backupenv
	  instead of going through the lookuplist (Bug #132196).

2006-05-04 02:44  zmedico

	* [r3317] pym/portage.py, pym/portage_manifest.py: Bring back
	  FEATURES="assume-digests" for bug #132182.

2006-05-03 23:00  zmedico

	* [r3316] bin/ebuild.sh: Improve the error message when an eclass
	  is not found and remove unnecesary ERRORMSG variable.

2006-05-03 19:02  zmedico

	* [r3313] pym/cache/util.py: Catch an uncaught CacheCorruption for
	  the traceback from bug #126692.

2006-05-03 17:07  blubb

	* [r3312] bin/ebuild: readd not-so pointless if statement

2006-05-02 19:29  blubb

	* [r3311] bin/ebuild: remove pointless if statement

2006-05-02 18:53  blubb

	* [r3310] man/ebuild.5: best_version doesn't return different codes
	  depending on whether it found a match or not, it's has_version;
	  bug 130655

2006-05-02 17:54  blubb

	* [r3309] bin/clean_locks: catch ENOENT and ENOTDIR in clean_locks
	  to prevent ugly tracebacks; bug 124164

2006-05-02 16:10  blubb

	* [r3308] bin/prepstrip: use hasq where appropriate

2006-05-02 13:15  blubb

	* [r3307] pym/emergehelp.py: let 'emerge -h world' print a nice
	  help message powered by antarus; bug 67448

2006-05-02 13:08  blubb

	* [r3306] pym/output.py: use escaping code that works for mrxvt
	  too; thanks to nelchael for the patch; bug 117509

2006-05-02 09:31  blubb

	* [r3305] bin/ebuild.sh: revert rev 3300 as it has various issues
	  and doesn't fully solve the problem

2006-05-02 06:22  zmedico

	* [r3304] pym/portage.py: Migrate old digest-* code in
	  portage.fetch() to be Manifest2 compatible.

2006-05-02 06:11  zmedico

	* [r3303] pym/portage.py: fix a typo from the last revision

2006-05-02 06:10  zmedico

	* [r3302] pym/portage.py: Properly join CUSTOM_MIRRORS_FILE with
	  PORTAGE_CONFIG_ROOT in portage.fetch().

2006-05-02 05:09  zmedico

	* [r3301] pym/portage.py: Remove an extra aux_get call in doebuild
	  and combine it with another aux_get call in doebuild_environment.

2006-05-01 22:41  blubb

	* [r3300] bin/ebuild.sh: don't let profile.env overwrite variables
	  that are already set; bug 130229

2006-05-01 22:13  zmedico

	* [r3299] pym/cache/sqlite.py: Add a new sqlite cache module (one I
	  wrote) that has acceptable performance.

2006-05-01 21:54  zmedico

	* [r3298] pym/cache/sqlite.py: Remove sqlite.py because it's
	  performance is unacceptable and it is therefore useless.

2006-05-01 21:33  blubb

	* [r3297] bin/doexe, bin/doins, bin/doman, bin/prepall,
	  bin/prepalldocs, bin/prepallinfo, bin/prepallman, bin/prepinfo,
	  bin/preplib, bin/prepman, bin/prepstrip: replace hardcoded
	  /usr/lib/portage/bin with PORTAGE_BIN_PATH, defaulting to the
	  hardcoded value

2006-05-01 21:12  blubb

	* [r3296] bin/doexe, bin/doins, bin/doman, bin/ebuild.sh,
	  bin/isolated-functions.sh, bin/misc-functions.sh, bin/prepall,
	  bin/prepalldocs, bin/prepallinfo, bin/prepallman, bin/prepinfo,
	  bin/preplib, bin/prepman, bin/prepstrip: make portage shut up if
	  --quiet is given; bug 62273

2006-05-01 18:51  blubb

	* [r3295] bin/emaint, bin/repoman: revert my last commit except for
	  the parts i really wanted to commit

2006-05-01 18:34  blubb

	* [r3294] bin/emaint, bin/isolated-functions.sh, bin/repoman: allow
	  escaping in elog_base() to fix bug 131913

2006-05-01 10:09  zmedico

	* [r3293] pym/portage.py: Don't skip regenerate() because leads to
	  'Problem resolving dependencies' from emerge. Thanks to swegener
	  for reporting.

2006-05-01 07:29  zmedico

	* [r3292] bin/emerge, pym/portage.py: Make sure that emerge really
	  removes noauto from FEATURES for bug #131820.

2006-05-01 04:25  zmedico

	* [r3291] pym/portage.py: Initial PORTAGE_CONFIGROOT support in the
	  portage.config class for bug #73350.

2006-04-30 16:06  antarus

	* [r3290] pym/emergehelp.py, pym/portage_data.py: Add cfg-update to
	  the list of happy config file managers.

2006-04-30 14:17  solar

	* [r3289] bin/misc-functions.sh: - People have started RESTRICTing
	  "stricter", which we would like to discourage. bug 131779
	  (kevquinn)

2006-04-30 14:16  solar

	* [r3288] bin/prepstrip: - be sure to remove o+w bits on debug
	  files

2006-04-30 11:57  zmedico

	* [r3286] pym/portage.py: Pass a vartree instance into
	  portage.unmerge() to avoid globals.

2006-04-30 11:43  zmedico

	* [r3285] pym/portage.py: Handle the doebuild's unmerge phase
	  before setting up logfile because unmerge doesn't use the log.

2006-04-30 11:38  zmedico

	* [r3284] pym/portage.py: Avoid global db usage in doebuild()
	  except when absolutely necessary.

2006-04-30 11:00  zmedico

	* [r3283] pym/emergehelp.py, pym/portage_data.py: Update portage
	  config update messages to mention dispatch-conf (in addition to
	  etc-update). Thanks to genstef for reporting this.

2006-04-30 09:08  zmedico

	* [r3282] pym/portage.py: Print disfiles file names for bug
	  #131774. I've removed the [ OK ] from okaymsg because the wink
	  makes it redundant.

2006-04-30 08:39  vapier

	* [r3281] pym/portage.py: retain important historical aspects of
	  the checksum messages

2006-04-30 08:38  zmedico

	* [r3280] bin/ebuild.sh, bin/misc-functions.sh, pym/portage.py: Add
	  PORTAGE_BIN_PATH and PORTAGE_PYM_PATH to the enviroment and use
	  them to replace hard coded paths in ebuild.sh and
	  misc-functions.sh.

2006-04-30 08:02  zmedico

	* [r3279] pym/output.py, pym/portage.py: Print [ OK ] messages
	  (like eend) when checksums are good. Thanks to fox2mike for
	  suggesting this.

2006-04-29 16:49  antarus

	* [r3275] bin/emerge: Remove 4 year old cvs sync code, fix login
	  around spawn, fix random raise

2006-04-29 11:58  zmedico

	* [r3274] pym/portage.py: Remove all usage of the portage.root
	  global from portage.py.

2006-04-29 11:41  zmedico

	* [r3273] pym/portage.py: Add a portage.config.selinux_enabled()
	  accessor and use it to remove all global usage of
	  portage.selinux_enabled.

2006-04-29 10:33  zmedico

	* [r3272] pym/portage.py: Prevent a NameError in commit_mtimedb()
	  when the portage.mtimedb attribute does not exist.

2006-04-29 10:16  zmedico

	* [r3271] pym/portage.py: Move the legacy global initializations
	  into a function and allow them to be disabled via an experimental
	  PORTAGE_LEGACY_GLOBALS environment variable.

2006-04-29 08:53  zmedico

	* [r3270] pym/portage.py: Pass mtimes through doebuild(), into
	  dblink.merge(), and finally to env_update().

2006-04-29 08:11  zmedico

	* [r3269] pym/portage.py: Return early from
	  portage.commit_mtimedb() when mtimedb is None.

2006-04-29 08:04  zmedico

	* [r3268] pym/portage.py: Enable portage.commit_mtimedb() to work
	  without globals.

2006-04-29 05:12  zmedico

	* [r3267] pym/portage.py: Enable portage.pkgmerge() to work without
	  globals.

2006-04-29 04:47  zmedico

	* [r3266] pym/portage.py: Enable portage.dep_zapdeps() to work
	  without globals.

2006-04-29 02:42  zmedico

	* [r3265] pym/portage.py: Enable portage.env_update() to work
	  without globals.

2006-04-29 01:09  zmedico

	* [r3264] bin/ebuild.sh: In the clean phase, for maximum chflags
	  portablility, make *unlnk flags optional and drop the USERLAND
	  test (bug #113536).

2006-04-29 00:40  zmedico

	* [r3263] pym/portage.py, pym/portage_manifest.py: Catch Permission
	  Denied errors during manifest/digest generation for bug #131073.

2006-04-28 23:22  zmedico

	* [r3262] bin/repoman: Fix PORTAGE_GPG_DIR handling so that
	  ~/.gnupg/ works correctly like the Manifest Signing Guide says it
	  should. Thanks to Tupone for reporting.

2006-04-28 21:46  zmedico

	* [r3261] bin/emerge: Fix spelling of "hierarchy" for bug #131582
	  and raise an exception for cleaner error handling.

2006-04-28 12:12  zmedico

	* [r3259] pym/portage.py: Remove global db usage from
	  portdbapi.gvisible().

2006-04-28 11:57  zmedico

	* [r3258] bin/emerge: Only trigger the 'Using system located in
	  ROOT' message when ROOT!=/.

2006-04-28 11:41  zmedico

	* [r3257] pym/portage.py: Remove global db usage from
	  portage.config.regenerate().

2006-04-28 11:06  zmedico

	* [r3256] bin/emerge: Fix a typo from r3245.

2006-04-28 10:54  zmedico

	* [r3255] pym/portage.py: Disable the FEATURES=cvs part of r3251
	  because it prevents missing files from bein fetched when they
	  need to be.

2006-04-28 10:35  zmedico

	* [r3254] pym/portage.py: Make portage.vardbapi able to work
	  without any global variables.

2006-04-28 03:03  zmedico

	* [r3253] bin/emerge, bin/fixpackages, pym/portage.py: Fix
	  portage.global_updates() and portage.do_vartree() so they don't
	  have to use any globals.

2006-04-27 22:26  zmedico

	* [r3252] pym/portage.py: Remove usage of the
	  portage.thirdpartymirrors global variable.

2006-04-27 13:50  zmedico

	* [r3251] pym/portage.py: Make FEATURES=cvs cause all distfiles to
	  be fetched if necessary (just like `ebuild digest`) and update
	  the code for Manifest2.

2006-04-27 09:16  zmedico

	* [r3250] pym/portage.py: Only use one global statement to avoid
	  bogus python syntax warning.

2006-04-27 08:50  zmedico

	* [r3249] pym/portage.py: Pass in mydbapi and vartree where
	  relevant for all doebuild calls in portage.py and add necessary
	  support to merge() and the dblink class.

2006-04-27 08:35  blubb

	* [r3248] cnf/make.conf: escape $ in PORTAGE_ELOG_MAILSUBJECT; bug
	  131373

2006-04-27 06:02  zmedico

	* [r3247] pym/portage.py: Add an option vartree parameter to
	  doebuild(), merge(), and the dblink constructor so that they
	  don't have to use globals.

2006-04-27 04:23  zmedico

	* [r3246] pym/portage.py: Add optional mydbapi parameter to
	  doebuild() so that it doesn't have to use any globals.

2006-04-26 22:10  zmedico

	* [r3245] bin/emerge, bin/repoman, pym/portage.py,
	  pym/portage_manifest.py: Make fetchlist_dict an optional
	  parameter in the Manifest constructor since it's required only
	  for generation of a Manifest (not needed for parsing and checking
	  sums).

2006-04-26 10:56  zmedico

	* [r3244] bin/repoman, pym/portage.py: Pass a portdbapi instance
	  into portage.digestgen() so that it doesn't have to use any
	  globals.

2006-04-26 10:27  zmedico

	* [r3243] bin/emerge, bin/repoman, pym/portage.py: Pass a portdbapi
	  instance into the FetchlistDict constructor so that it doesn't
	  have to use any globals.

2006-04-26 09:33  zmedico

	* [r3242] pym/portage.py: Group together and clearly mark some
	  deprecated globals.

2006-04-26 09:14  zmedico

	* [r3241] pym/portage.py: Move PORTAGE_MASTER_PID and BASH_ENV from
	  global scope to the doebuild_environment() function.

2006-04-26 08:19  zmedico

	* [r3240] bin/repoman: Use the correct ACCEPT_KEYWORDS for each
	  profile (regression from r3231).

2006-04-26 04:08  zmedico

	* [r3239] pym/portage.py: Remove portage.config.root (from r3229)
	  and just use config["ROOT"] to eliminate redundancy.

2006-04-26 03:36  zmedico

	* [r3238] bin/repoman, pym/portage.py: Remove portage.config.groups
	  (formerly portage.groups) and instead use ACCEPT_KEYWORDS
	  directly (simplifies the code).

2006-04-26 02:04  zmedico

	* [r3237] pym/portage.py: Fix portdbapi.aux_get(), findname2(), and
	  getfetchlist() so that the tree can be overridden by the caller
	  if necessary (ensures that metadata is pulled from the correct
	  tree when generating a manifest).

2006-04-25 21:24  zmedico

	* [r3236] bin/repoman: Fix false variable.readonly match on
	  continued lines. Thanks to Flameeyes for reporting.

2006-04-25 20:33  zmedico

	* [r3235] bin/emerge: Validate the resume merge list in --ask and
	  --pretend mode for bug #128455.

2006-04-25 19:38  zmedico

	* [r3234] pym/portage.py: Make copies of the groups attribute
	  before modifying (regression from r3231).

2006-04-25 10:55  zmedico

	* [r3233] bin/emerge, bin/repoman, pym/portage.py: Remove all
	  dependence on the portage.features global variable.

2006-04-25 10:08  zmedico

	* [r3232] bin/repoman, pym/portage.py: Remove all usage of the
	  portage.archlist global variable.

2006-04-25 09:36  zmedico

	* [r3231] bin/repoman, pym/portage.py: Remove all usage of the
	  portage.groups global variable.

2006-04-25 08:45  zmedico

	* [r3230] bin/repoman, pym/portage.py: Remove all usage of
	  portage.usedefaults and portage.profiledir globals.

2006-04-25 07:46  zmedico

	* [r3229] pym/portage.py: Move portage.root logic from global scope
	  into the portage.config class.

2006-04-25 06:58  zmedico

	* [r3228] pym/portage.py: Move initialization of tmp, var/tmp,
	  var/lib/portage, and var/cache/edb from global scope to
	  portage.cofig._init_dirs().

2006-04-25 05:42  zmedico

	* [r3227] pym/portage.py: Move cache dir initialization from global
	  scope to the portdbapi class.

2006-04-25 05:20  vapier

	* [r3226] bin/sed: enable +x bits on sed

2006-04-25 05:11  zmedico

	* [r3225] pym/portage.py: Move USER_VIRTUALS_FILE deprecation
	  warning to config.validate().

2006-04-25 04:40  zmedico

	* [r3224] pym/portage.py: Split a config.validate() method and move
	  PORTAGE_TMPDIR sanity check to doebuild.

2006-04-25 04:04  zmedico

	* [r3223] pym/portage.py: Move the make.profile symlink warning
	  from global scope to the config class.

2006-04-25 03:48  zmedico

	* [r3222] pym/portage.py: Catch IOError when loading the mtimedb.

2006-04-25 03:42  zmedico

	* [r3221] pym/portage.py: Move ACCEPT_KEYWORDS and PORTAGE_ARCHLIST
	  validation from global scope to the config class.

2006-04-25 03:13  zmedico

	* [r3220] pym/portage.py: Move the mtimedb initialization code from
	  global scope to a function.

2006-04-25 01:44  zmedico

	* [r3219] bin/emerge: Catch ValueError from cpv_expand for bug
	  #131160.

2006-04-24 23:20  zmedico

	* [r3218] pym/portage.py: Add a note concerning the separation of
	  legacy global initializations.

2006-04-24 22:35  zmedico

	* [r3217] pym/portage.py: For better organization, migrate the
	  initialization of all major globals in portage.py to the bottom
	  of the file.

2006-04-24 22:03  zmedico

	* [r3216] pym/portage.py: Make sure usage of portage.db and
	  portage.mtimedb is appropriately marked as global.

2006-04-24 21:50  zmedico

	* [r3215] pym/portage.py: Make sure a usage of portage.settings is
	  marked as global.

2006-04-24 20:58  zmedico

	* [r3214] pym/portage.py: Use tree="vartree" for prerm, postrm, and
	  cleanrm phases (see bug #131116).

2006-04-24 20:44  zmedico

	* [r3213] pym/portage.py: Use one aux_get call instead of 2.

2006-04-24 12:37  zmedico

	* [r3212] pym/portage.py: Use local myroot instead of portage.root
	  global.

2006-04-24 11:29  zmedico

	* [r3211] pym/portage.py: Replace finddigest usage with Manifest2
	  compatible code.

2006-04-24 10:41  zmedico

	* [r3210] pym/portage.py: Pass a dbapi instance into
	  doebuild_environment so that it doesn't need to access the global
	  db directly.

2006-04-24 10:29  zmedico

	* [r3209] pym/portage.py: Remove a possibly unecessary try
	  statement that may swallow important exceptions.

2006-04-24 09:56  zmedico

	* [r3208] pym/portage.py: Replace usage of global portage.settings
	  with self.mysettings instead.

2006-04-24 08:56  zmedico

	* [r3207] pym/portage.py: Fix accidental usage of global settings
	  instead of self.

2006-04-24 00:36  zmedico

	* [r3206] pym/portage.py: Do lazy initialization of
	  portage.db[root][porttree] and db[root][vartree] for quicker
	  portage import.

2006-04-24 00:08  zmedico

	* [r3205] pym/portage.py: Move thirdpartymirrors stacking out of
	  global scope.

2006-04-23 23:19  zmedico

	* [r3204] bin/emerge, pym/portage.py: Move deprecated profile check
	  out of global scope.

2006-04-23 23:02  antarus

	* [r3203] bin/emerge: Minor emerge -V/--info fixes thanks to iggy,
	  use portage_const PROFILE_PATH

2006-04-23 22:15  zmedico

	* [r3202] pym/portage.py, pym/portage_versions.py: Move endversion
	  and endversion_keys to portage_versions and import them for
	  backward compatibility.

2006-04-23 20:52  zmedico

	* [r3201] bin/emerge, bin/fixpackages, pym/portage.py: Move
	  portage.global_updates() invocation out of portage.py and into
	  emerge/fixpackages where it belongs.

2006-04-23 16:36  antarus

	* [r3200] bin/sed: Make sed wrapper not executable. Currently the
	  wrapper is installed via doexe 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.

2006-04-23 15:55  antarus

	* [r3199] bin/sed: Fix sed breakage for people with weird PATH, fix
	  tabs. Thanks to Flameeyes once again.

2006-04-23 14:31  blubb

	* [r3198] bin/sed: set executable bit for sed-wrapper

2006-04-23 07:56  vapier

	* [r3197] bin/emerge: tighten up output in pretend mode

2006-04-23 07:47  vapier

	* [r3196] bin/emerge: fixup clean output

2006-04-23 07:26  vapier

	* [r3195] bin/emerge: space arguments

2006-04-23 07:23  zmedico

	* [r3194] pym/portage_manifest.py: Fix FileNotFound error when
	  ignoreMissing=True for bug #130928.

2006-04-23 06:34  zmedico

	* [r3193] pym/portage_manifest.py: Replace hard coded "size" with
	  MANIFEST1_HASH_FUNCTIONS.

2006-04-23 06:22  zmedico

	* [r3192] pym/portage_manifest.py: Remove bogus "size" manifest
	  entries reported by vapier.

2006-04-22 20:12  antarus

	* [r3191] bin/sed: Add copyright header, thanks to Zac Medico for
	  pointing that out for me

2006-04-22 20:08  antarus

	* [r3190] bin/sed: A sed wrapper for OSX/BSD courtesy of Flameeyes
	  and Spanky

2006-04-22 19:46  zmedico

	* [r3189] bin/misc-functions.sh: Disable sandbox during package
	  phase interaction with $PKGDIR for compatibility with symlinks
	  (See bug #130824).

2006-04-22 01:10  zmedico

	* [r3188] bin/clean_locks: Print the actual DISTDIR location in the
	  help ouput of clean_locks for bug #116676.

2006-04-22 00:59  zmedico

	* [r3187] bin/emerge: s/Do you want me/Would you like/g for bug
	  #112439.

2006-04-22 00:15  zmedico

	* [r3186] bin/emerge: Exit with error status when the user has
	  attempted to unmerge a package that is not installed (bug
	  #118515).

2006-04-21 22:34  zmedico

	* [r3185] pym/portage.py: Fix partial download size calculation for
	  bug #116796.

2006-04-21 19:07  zmedico

	* [r3184] bin/emerge, pym/portage_manifest.py: Fix `emerge -s`
	  download size calculation for bug #130750.

2006-04-21 06:40  zmedico

	* [r3182] pym/portage.py: Implement portage.config.get() in order
	  to provide more of the standard mapping interface.

2006-04-21 05:50  zmedico

	* [r3181] bin/repoman: Use os.path.join for PORTAGE_GPG_DIR and
	  remove a duplicate access check.

2006-04-20 23:19  vapier

	* [r3180] bin/repoman: if PORTAGE_GPG_DIR is not set then default
	  to ~/.gnupg instead of just dumping an error

2006-04-20 20:13  zmedico

	* [r3179] bin/repoman: Fix repoman --commitmsgfile logic. Thanks to
	  Christian Heim <phreak@gentoo.org> for reporting.

2006-04-20 18:06  zmedico

	* [r3178] bin/isolated-functions.sh, pym/portage_const.py: Add and
	  "other" EBUILD_PHASE for bug #127585. Thanks to Patrick Avery
	  <pyromancer@gmail.com> for this patch.

2006-04-20 05:48  zmedico

	* [r3177] bin/repoman: Update Manifest automatically in repoman
	  commit mode for bug #130541.

2006-04-19 04:52  vapier

	* [r3176] bin/ebuild.sh: support *.bz #130406

2006-04-18 22:54  vapier

	* [r3175] bin/etc-update: use just [[...]] instead of ((...));
	  especially when dealing with user input

2006-04-18 11:10  zmedico

	* [r3174] man/ebuild.5: s/GENTOO_MIRRORs/GENTOO_MIRRORS/

2006-04-18 09:56  zmedico

	* [r3173] bin/repoman: Fix gpgsign logic for bug #57445.

2006-04-18 04:17  zmedico

	* [r3172] pym/portage.py: Implement portage.config.setdefault() in
	  order to provide more of the standard mapping interface.

2006-04-17 19:57  zmedico

	* [r3171] pym/portage_manifest.py: Ignore ENOENT errors when
	  $FILESDIR doesn't exist. Thanks to Christian Heim for reporting.

2006-04-17 07:38  vapier

	* [r3170] bin/repoman: dont dump debug update info in quiet mode

2006-04-17 02:52  zmedico

	* [r3168] pym/portage_manifest.py: Avoid rewritting the Manifest
	  whenever possible by comparing the existing manifest entries to
	  the ones that will be written.

2006-04-16 21:43  blubb

	* [r3167] pym/emergehelp.py: touchup emerge --help: reorder and
	  wrap lines. credit goes to Benno Schulenberg; bug 121528

2006-04-16 21:29  blubb

	* [r3166] pym/emergehelp.py: sync short options with the rest of
	  emerge --help; bug 124489

2006-04-16 21:16  blubb

	* [r3165] bin/emerge: add instructions how to update portage when
	  --sync tells you to do so; bug 118715

2006-04-16 18:13  blubb

	* [r3164] bin/misc-functions.sh: make misc-functions.sh executable
	  as it's called directly from the python side

2006-04-16 17:44  blubb

	* [r3163] bin/misc-functions.sh: fix misuse of 'cat'

2006-04-16 04:50  vapier

	* [r3162] bin/clean_locks: eat whitespace

2006-04-16 01:41  vapier

	* [r3161] bin/misc-functions.sh: use a temp file but this time cut
	  out the duplicate calls to `find`

2006-04-16 01:17  zmedico

	* [r3160] bin/misc-functions.sh: Make find arguments portable for
	  bug #129935 and remove temp file usage for bug #121368.

2006-04-15 23:05  zmedico

	* [r3159] pym/portage_util.py: Override LazyItemsDict.update() so
	  that it works correctly with other instances of LazyItemsDict.

2006-04-15 19:29  vapier

	* [r3158] bin/ebuild.sh: touchup syntax and dont execute the loop
	  as many times

2006-04-15 19:23  blubb

	* [r3157] bin/ebuild.sh: use strip_duplicate_slashes instead of
	  "for 1 2 3 do var=${var/\/\///}"

2006-04-15 19:16  blubb

	* [r3156] bin/ebuild.sh: remove all unneeded slashes, not only //
	  or ///

2006-04-15 18:42  blubb

	* [r3155] bin/doexe, bin/dojar, bin/ebuild.sh, bin/etc-update,
	  bin/find-requires, bin/isolated-functions.sh,
	  bin/misc-functions.sh, bin/prepalldocs, bin/prepinfo,
	  bin/quickpkg: `` must die

2006-04-15 18:11  blubb

	* [r3154] bin/ebuild.sh: some more hasq fixes

2006-04-15 18:01  blubb

	* [r3153] bin/ebuild.sh: use has instead of bloated bash constructs

2006-04-15 12:10  blubb

	* [r3152] bin/ebuild.sh: fix typo from rev 3151

2006-04-15 12:08  blubb

	* [r3151] bin/ebuild.sh: only move $T/environment if it exists; bug
	  64926

2006-04-15 11:17  zmedico

	* [r3150] pym/portage_manifest.py: Split out a reusable
	  Manifest._readManifest() method.

2006-04-15 05:26  zmedico

	* [r3149] pym/portage.py, pym/portage_util.py: Add singleton
	  support to LazyItemsDict to make it easier to use with arbitrary
	  function calls.

2006-04-14 21:39  zmedico

	* [r3148] pym/portage.py: Catch fetch_check FileNotFound exceptions
	  for bug #129962.

2006-04-14 11:03  zmedico

	* [r3147] pym/portage.py: Run chflags only when needed for bug
	  #129852. Thanks to Diego Pettenò for the patch.

2006-04-14 10:00  zmedico

	* [r3146] pym/portage.py: Preserve the mysettings["SLOT"] for bug
	  #129720.

2006-04-14 08:51  zmedico

	* [r3145] pym/portage.py: Fix a typo from the last revision.

2006-04-14 08:01  zmedico

	* [r3144] pym/portage.py: Fix collision-protect logic so the
	  correct cpv is used for slot comparison.

2006-04-14 06:30  zmedico

	* [r3143] pym/portage.py, pym/portage_util.py: Add an initial_items
	  parameter to the LazyItemsDict constructor in order to facilitate
	  integration with existing dict based code.

2006-04-13 21:59  zmedico

	* [r3142] pym/portage.py, pym/portage_manifest.py: Fix digestcheck
	  logic for bug #129839.

2006-04-13 17:59  blubb

	* [r3141] bin/etc-update: exit if user hits the cancel button in
	  dialog mode; bug 108137

2006-04-13 17:38  blubb

	* [r3140] bin/etc-update: don't declare input as integer, or
	  etc-update will crash whenever the user enters some non-integer
	  value; bug 55082

2006-04-13 16:49  blubb

	* [r3139] bin/etc-update: ignore backup files when scanning for
	  ._cfg????_*; bug 121401

2006-04-13 16:19  blubb

	* [r3138] bin/etc-update: don't display the ._cfg???? files anymore
	  but instead the number of updates for each file; bug 69845

2006-04-13 05:39  vapier

	* [r3137] bin/emerge: fixes by solar for ROOT output when unmerging
	  #129649 and make --quiet output a bit more useful

2006-04-13 03:50  zmedico

	* [r3136] pym/portage.py, pym/portage_manifest.py: Fix
	  manifest/digest generation logic for bug #129737.

2006-04-12 09:52  zmedico

	* [r3135] pym/portage.py: Use LazyItemsDict to avoid a vdb scan
	  during portage import when autouse is enabled.

2006-04-12 03:45  zmedico

	* [r3134] pym/portage.py: Use cannonical paths for portdb.portrees
	  to ensure that, given pkgdir, FetchlistDict can determine the
	  correct path for the portage tree.

2006-04-12 02:46  zmedico

	* [r3133] pym/portage.py, pym/portage_util.py: Create a generic
	  portage_util.LazyItemsDict and use it for lazy initialization
	  portage.db[root] items.

2006-04-11 21:11  zmedico

	* [r3132] bin/dispatch-conf, bin/etc-update: Revert r3129 and r3130
	  because they don't solve bug #129515.

2006-04-11 19:59  zmedico

	* [r3131] pym/portage.py: Fix LazyDatabasesDict so that databases
	  only need to be created once.

2006-04-11 09:29  zmedico

	* [r3130] bin/etc-update: Make etc-update play nice with symlinks
	  for bug #129515. Thanks to Patrick McLean for the initial patch.

2006-04-11 08:58  zmedico

	* [r3129] bin/dispatch-conf: Make dispatch-conf play nice with
	  symlinks for bug #129515. Thanks to Patrick McLean for the
	  initial patch.

2006-04-11 06:49  zmedico

	* [r3128] pym/portage.py: Make qmerge imply noclean for bug
	  #129559.

2006-04-11 05:34  zmedico

	* [r3127] pym/portage.py: Implement lazy construction of global
	  databases db[root]["porttree"] and db[root]["bintree"] and
	  automatically populate db[root]["bintree"] on access.

2006-04-11 04:12  zmedico

	* [r3126] pym/portage.py: Support EBUILD_PHASE during more phases
	  for bug #129244.

2006-04-11 03:54  zmedico

	* [r3125] bin/ebuild.sh, pym/portage.py: Support EBUILD_PHASE
	  during package and rpm phases for bug #129244.

2006-04-11 03:20  zmedico

	* [r3124] pym/portage.py: Remove dead code from
	  portage.digestcheck().

2006-04-11 03:02  zmedico

	* [r3123] pym/portage.py: Remove the "db" parameter from
	  digestcheck() because it's not needed.

2006-04-11 02:57  zmedico

	* [r3122] pym/portage.py: Remove the "db" parameter from
	  digestParseFile() because it's not needed.

2006-04-11 02:50  zmedico

	* [r3121] pym/portage.py: Remove the "db" parameter from
	  digestgen() because it's not needed.

2006-04-11 01:51  zmedico

	* [r3120] pym/portage.py: Fix FetchlistDict.keys() so it does the
	  same porttrees trick as __getitem__.

2006-04-11 01:37  zmedico

	* [r3119] pym/portage.py: Fix FetchlistDict so usage of global
	  portdb leaves portdb.porttrees intact.

2006-04-11 00:53  vapier

	* [r3118] bin/misc-functions.sh: kill off custom bash hacks and
	  replace with calls to find/xargs #121368

2006-04-10 12:07  jstubbs

	* [r3117] pym/portage.py: Ensure that binarytree.populate is called
	  even when the first access is via
	  binarytree.dbapi.{aux_get,match}.

2006-04-10 08:51  zmedico

	* [r3116] bin/repoman: Use os.path.join for cleaner joins.

2006-04-10 07:44  zmedico

	* [r3115] bin/repoman: Make repoman ignore deeply nested CVS
	  directories and files they contain in order to prevent false
	  file.name errors (files with CVS directories may contain commas).

2006-04-10 04:38  zmedico

	* [r3114] pym/portage.py: Add docstrings for FetchlistDict.

2006-04-10 04:28  zmedico

	* [r3113] pym/portage.py: Simplify the porttrees logic for
	  FetchlistDict.

2006-04-10 04:17  zmedico

	* [r3112] pym/portage_manifest.py: Remove unnecessary calls to
	  dict.keys() from portage_manifest.

2006-04-10 03:37  zmedico

	* [r3111] bin/repoman, pym/portage.py, pym/portage_manifest.py:
	  Remove db and mysettings from Manifest and replace them with a
	  mapping object that provides access to fetch lists for each cpv.

2006-04-10 01:42  zmedico

	* [r3110] bin/repoman, pym/portage.py, pym/portage_manifest.py:
	  Pass DISTDIR into the Manifest constructor instead of getting it
	  from mysettings because mysettings will be eliminated soon.

2006-04-09 22:18  zmedico

	* [r3109] pym/portage_checksum.py, pym/portage_manifest.py: Remove
	  dependency on the core portage module from portage_manifest.

2006-04-09 20:28  vapier

	* [r3108] bin/dosym: simpler dosym to make mr bones happy

2006-04-09 09:10  zmedico

	* [r3107] pym/portage.py: Remove dead code from
	  portage.digestParseFile().

2006-04-09 09:00  zmedico

	* [r3106] pym/portage.py, pym/portage_manifest.py: Encapsulate type
	  guessing logic in a new Manifest method.

2006-04-09 08:28  zmedico

	* [r3105] pym/portage_checksum.py: For compatibility, return a
	  tuple of 3 when an OSError is raised in
	  portage_checksum.verify_all()

2006-04-09 04:50  zmedico

	* [r3104] pym/portage.py: Move mf.create out of a loop because it
	  should only need to be called once.

2006-04-09 04:37  zmedico

	* [r3103] pym/portage_manifest.py: Supply missing parameters to a
	  checkFileHashes call.

2006-04-08 10:11  zmedico

	* [r3101] NEWS, bin/mirror.py: Remove bin/mirror.py because,
	  according to Brian Harring, it's obsoleted by mirror-dist.

2006-04-08 09:52  zmedico

	* [r3100] pym/portage_contents.py: Remove pym/portage_contents.py
	  because it's not used. Thanks to Brian Harring for noticing.

2006-04-08 09:49  zmedico

	* [r3099] pym/dcdialog.py: Remove pym/dcdialog.py because it's not
	  used. Thanks to antarus for noticing.

2006-04-08 09:45  zmedico

	* [r3098] pym/portage_manifest.py, pym/portage_update.py: Add
	  copyright headers for portage_update and portage_manifest.

2006-04-08 08:16  zmedico

	* [r3097] pym/cache/anydbm.py: Fix some minor issues with the
	  anydbm cache module. Thanks to Halcyon for reporting.

2006-04-08 07:18  zmedico

	* [r3096] bin/emerge: Remove redundant "please tell me what to do"
	  code, which is now handled earlier.

2006-04-08 06:26  zmedico

	* [r3095] bin/emerge: Fix myaction logic so that --resume works
	  (with --pretend) for non-root users.

2006-04-08 03:01  jstubbs

	* [r3094] pym/portage.py: Protect string indexes during input
	  stripping in dep_getkey and dep_getcpv. Bug #129193

2006-04-07 22:44  zmedico

	* [r3093] bin/emerge: Fix myaction logic (myaction==None is
	  actually valid, regression from r3090).

2006-04-07 22:38  vapier

	* [r3092] pym/portage.py: remove reference to a script that doesnt
	  exist

2006-04-07 19:11  antarus

	* [r3091] bin/emerge: Fix this random y that was in the last
	  commit...I blame nano :P

2006-04-07 19:02  antarus

	* [r3090] bin/emerge: Fix a regression in security handling, emerge
	  with no options should print out helpful information, not tell
	  you you need to be root ;)

2006-04-07 16:55  antarus

	* [r3089] bin/emerge: Thanks to jforman for finding this one,
	  emerge was not helpful when 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.

2006-04-07 09:39  zmedico

	* [r3088] pym/portage_manifest.py: Optimize manifest2AuxfileFilter
	  handling of ignored directories. Thanks to Brian Harring for the
	  patch.

2006-04-07 09:23  zmedico

	* [r3087] pym/portage_util.py: Raise exceptions when appropriate in
	  the atomic_ofstream constructor for bug #129098.

2006-04-07 00:50  antarus

	* [r3086] pym/portage.py: Speed up portage.config.keys()

2006-04-07 00:48  antarus

	* [r3085] bin/emerge, bin/repoman, pym/getbinpkg.py,
	  pym/portage.py, pym/portage_file.py, pym/portage_locks.py,
	  pym/portage_manifest.py, pym/portage_util.py: Change == None to
	  is None

2006-04-06 21:05  blubb

	* [r3084] bin/emerge: only display syncing progress for each file
	  when --verbose is set; thanks Olaf Hering, bug 128362

2006-04-06 19:47  blubb

	* [r3083] bin/ebuild.sh: set PKG_CONFIG_PATH correct on multilib
	  systems; bug 126801

2006-04-06 19:28  blubb

	* [r3082] bin/ebuild.sh: add /usr/local/{,s}bin to PATH; bug 117713

2006-04-06 10:58  blubb

	* [r3080] pym/emergehelp.py: emerge info -> emerge --info

2006-04-06 05:37  antarus

	* [r3079] bin/repoman: Remove really really old check during a cvs
	  move. Fix except statement to be saner

2006-04-06 02:06  zmedico

	* [r3078] bin/repoman: Revert r3073 since it causes a regression
	  (digestgen needs to be run for each value of
	  repoman_settings["O"]). See bug #128946.

2006-04-05 18:58  zmedico

	* [r3077] pym/portage.py: Revert FEATURES=noclean behavior so that
	  clean is only skipped after merge. Thanks to azarah for
	  reporting.

2006-04-05 10:22  zmedico

	* [r3076] pym/output.py: Move some color mappings to ensure that
	  they do not override the user defined color map.

2006-04-05 10:05  zmedico

	* [r3075] pym/output.py: Add color code mappings for 16 colors in
	  rgb format.

2006-04-05 01:48  zmedico

	* [r3074] pym/portage.py: Remove the srcroot parameter from
	  env_update because is doesn't work when portage.movefile merges
	  files via os.rename. To do this properly we need to pass in
	  CONTENTS instead.

2006-04-04 23:25  antarus

	* [r3073] bin/repoman: Don't generate digests on --pretend for
	  repoman. Thanks go once again to exg@gentoo.org :)

2006-04-04 21:13  zmedico

	* [r3072] pym/output.py, pym/portage_const.py,
	  pym/portage_exception.py: Add support for user configuration of
	  colors in the output module for bug #125120. Thanks to solar for
	  the patch that this was derived from.

2006-04-04 19:59  zmedico

	* [r3071] pym/portage_manifest.py: Automatically create FILESDIR if
	  necessary when writing old style digests. Thanks to blubb for
	  reporting.

2006-04-04 19:17  blubb

	* [r3070] cnf/make.conf: fix typo in make.conf and remove
	  RSYNC_EXCLUDEFROM since it's deprecated; bug 127614

2006-04-04 18:01  blubb

	* [r3069] cnf/make.conf: fix make.conf indentation per bug 127868;
	  thanks to Paul Varner for the patch

2006-04-03 15:08  antarus

	* [r3068] bin/repoman: It was pointed out that we have a
	  Test-Manifest perl package, which would get sadly excluded using
	  the old string match, so we fix it to match less ;)

2006-04-03 14:53  antarus

	* [r3067] bin/repoman: Fix yet another typo of mine, thanks to exg

2006-04-03 13:40  antarus

	* [r3066] bin/repoman: Fix ordering in cvs calls to be correct,
	  thanks to exg for the fix (again)

2006-04-03 10:43  jstubbs

	* [r3065] pym/portage.py: s/parenreduce/paren_reduce/ comment fix.

2006-04-03 05:25  antarus

	* [r3064] TODO: Remove out-dated TODO file

2006-04-03 05:08  zmedico

	* [r3063] pym/portage.py: Fix a typo from r3058.

2006-04-03 05:07  antarus

	* [r3062] bin/repoman: Fixes for repoman thanks to exg@gentoo.org
	  and bug #128451, Excludes Manifest regeneration in certain cases,
	  adds pretend gpg outut

2006-04-03 04:19  antarus

	* [r3061] bin/emerge: Fix minor typo: reported by Brian Harring

2006-04-03 04:18  antarus

	* [r3060] pym/portage.py: tsk tsk, fix a missing parenthesis :)

2006-04-03 04:16  antarus

	* [r3059] pym/portage.py: Add a deprecation notice for those who
	  are still using tokenize ( hopefully no one :/ )

2006-04-03 03:59  zmedico

	* [r3058] pym/portage.py, pym/portage_exception.py,
	  pym/portage_util.py: Move DISTDIR initialization from doebuild to
	  fetch and handle read-only file system errors for bug #128506.

2006-04-03 02:30  antarus

	* [r3057] bin/repoman: Take sound advice and move all the use
	  expand files into desc/

2006-04-03 02:17  antarus

	* [r3056] bin/emerge, bin/repoman: Make repoman check for USE
	  expand descriptions in other files so USE_EXPAND variables can
	  have longer/better/faster/stronger descriptions.

2006-04-02 08:05  jstubbs

	* [r3055] pym/portage_exec.py: Make the reading of /proc/<pid>/fd/
	  impervious to the possible addition of non-numerically named
	  entries.

2006-04-02 05:53  zmedico

	* [r3054] pym/portage_exec.py: Add a portage_exec.get_open_fds()
	  function for bug #128284. Thanks to Brian Harring for this patch.

2006-04-02 04:18  antarus

	* [r3053] pym/portage_locks.py: More exception fixes...

2006-04-02 00:12  antarus

	* [r3051] bin/emerge: Fixing stupid exception handling

2006-04-01 09:39  vapier

	* [r3048] pym/portage.py: fix makelinks logic again

2006-04-01 08:08  zmedico

	* [r3047] pym/portage.py: Rename local 'root' variable to
	  parent_dir so that it's not confused with portage.root

2006-04-01 07:34  zmedico

	* [r3046] pym/portage.py: Fix ROOT handling for timestamps of lib
	  directories. Only run ldconfig when timestamps have changed (the
	  makelinks flag does not force ldconfig unless timestamps have
	  changed).

2006-04-01 04:53  vapier

	* [r3045] pym/portage.py: need to still check makelinks

2006-04-01 04:27  zmedico

	* [r3044] pym/portage.py: Fix env_update so it runs ldconfig when a
	  lib dir timestamp has changed unless srcroot is not None and no
	  files were installed into libdir.

2006-04-01 01:56  vapier

	* [r3043] pym/portage.py: dont run ldconfig if a package doesnt
	  actually install any libraries

2006-03-30 11:46  zmedico

	* [r3042] pym/portage_manifest.py: Fix manifest2AuxfileFilter so
	  that it correctly filters files such as 2.1_pre7/CVS/Entries.

2006-03-30 10:09  zmedico

	* [r3041] pym/portage.py: Use ensure_dirs for CCACHE_DIR,
	  CONFCACHE_DIR, and DISTCC_DIR.

2006-03-30 09:41  zmedico

	* [r3040] pym/portage.py, pym/portage_util.py: Add a reusable
	  ensure_dirs() function and use it for DISTDIR initialization.

2006-03-30 09:20  zmedico

	* [r3039] pym/portage_util.py: The return value from
	  apply_permissions now indicates whether or not the permissions
	  needed to be modified.

2006-03-30 04:54  zmedico

	* [r3038] pym/portage.py: Handle distlocks subdir initialization
	  together with $DISTDIR and $DISTDIR/cvs-src.

2006-03-29 22:22  zmedico

	* [r3037] pym/portage.py: Only do recursive permissions on $DISTDIR
	  and $DISTDIR/cvs-src when the top level permissions do not match.
	  Thanks to marienz for reporting.

2006-03-29 10:02  zmedico

	* [r3036] bin/ebuild.sh: Compare distfiles timestamps with the
	  files in PORTAGE_ACTUAL_DISTDIR instead of with the symlinks in
	  DISTDIR. Thanks to Ed Catmur for this patch (bug #127930).

2006-03-29 09:25  zmedico

	* [r3035] pym/portage_debug.py: Ignore more system libraries in
	  python-trace mode.

2006-03-29 08:51  zmedico

	* [r3034] pym/portage_util.py: Automatically follow symlinks in the
	  atomic_ofstream constructor. See bug #127897.

2006-03-29 05:38  vapier

	* [r3033] bin/emerge: add missing space in quiet col output

2006-03-29 03:17  zmedico

	* [r3030] pym/output.py: Create a single colorize() function in the
	  output module and use it to generate all of the existing color
	  functions.

2006-03-28 05:27  genone

	* [r3029] bin/emerge: Recommend PORTAGE_RSYNC_EXTRA_OPTS instead of
	  PORTAGE_RSYNC_OPTS

2006-03-27 15:46  solar

	* [r3028] bin/ebuild.sh: - set sane perms on unpacking. If anybody
	  hates this than they are welcome to tie it into FEATURES= sfperms

2006-03-27 10:16  zmedico

	* [r3026] pym/portage_manifest.py: Sort the hashes for manifest2
	  lines to that output is reproducible.

2006-03-27 07:21  genone

	* [r3024] pym/portage_manifest.py: sort digest/Manifest files by 1)
	  filetype (v2 only) 2) filename (v1+v2) 3) hashtype (v1 only)

2006-03-27 05:25  zmedico

	* [r3022] pym/portage_manifest.py: Compare new digest data with old
	  digest data and rewrite the new digest only if they differ
	  (forward port r2951 from manifest1 to manifest2).

2006-03-27 03:08  zmedico

	* [r3021] pym/portage_manifest.py: Use write_atomic for updates of
	  old style digest files.

2006-03-27 02:42  genone

	* [r3020] bin/repoman: fix some nasty repoman tricks causing
	  problems (always use absolute paths with manifest2 code)

2006-03-27 01:49  zmedico

	* [r3019] pym/portage_manifest.py: Split out a reusable
	  Manifest._createDigestLines1() method.

2006-03-27 01:21  zmedico

	* [r3018] pym/portage_manifest.py: fix a typo from the last
	  revision.

2006-03-27 01:05  zmedico

	* [r3017] pym/portage_manifest.py: Split out a reusable
	  Manifest._parseDigests() method.

2006-03-26 07:00  zmedico

	* [r3015] bin/emerge: Allow users in the portage group to fetch.
	  Thanks to truedfx for reporting this regression.

2006-03-26 06:35  genone

	* [r3014] cnf/make.conf, cnf/make.globals,
	  pym/elog_modules/mod_mail.py, pym/elog_modules/mod_save.py: move
	  some elog defaults into make.globals, add new vars for mail from
	  and subject (bug #116637), change default location for mod_save
	  logfiles to PORT_LOGDIR/elog (bug #124165)

2006-03-26 06:29  zmedico

	* [r3013] pym/portage.py: Clean up code for creation of CCACHEDIR,
	  CONFCACHEDIR, and DISTCC_DIR. Prevent excessive recursive stat
	  calls for bug #127563.

2006-03-26 05:54  genone

	* [r3012] pym/portage.py: for collision-protect also check that
	  only versions with the same slot can overwrite each others files

2006-03-26 03:08  genone

	* [r3011] pym/portage_manifest.py: fix AuxfileFilter to ignore all
	  files in svn or cvs dirs

2006-03-25 23:33  zmedico

	* [r3006] pym/portage.py: Fix traceback for bug #127573. Thanks to
	  illuminata for reporting and antarus for the patch.

2006-03-25 13:57  zmedico

	* [r3004] pym/portage.py: Add lazy loading of virtuals in
	  portage.do_vartree() for backward compatibility.

2006-03-25 05:44  genone

	* [r3002] bin/repoman, man/repoman.1, pym/portage_manifest.py: Add
	  files/ prefix for AUX files in manifest1 entries; fix
	  digest.unused check partially by checking all DIST entries
	  against all SRC_URI entries of a package (instead of per ebuild
	  checks)

2006-03-25 01:04  zmedico

	* [r2999] bin/emerge, bin/repoman, pym/portage.py: Load virtuals on
	  demand in order to avoid needless vdb scanning during a simple
	  'import portage'. Virtuals are loaded during import, for
	  initialization of portage.settings, only when autouse is enabled
	  (though autouse is disabled by default).

2006-03-25 00:54  genone

	* [r2998] pym/portage.py: only reuse distfile checksums if the file
	  doesn't exist

2006-03-25 00:45  genone

	* [r2997] pym/portage.py, pym/portage_manifest.py: Make ebuild
	  digest reuse existing checksums

2006-03-25 00:32  genone

	* [r2996] pym/portage.py: Make ebuild digest a bit more verbose

2006-03-25 00:18  genone

	* [r2995] pym/portage_checksum.py: FileNotFoundException should be
	  used with the filename

2006-03-24 23:40  genone

	* [r2994] pym/portage.py: PORTAGE_WORKDIR_MODE is octal

2006-03-24 23:09  genone

	* [r2992] pym/portage_manifest.py: add missing manifest module

2006-03-24 21:31  genone

	* [r2990] pym/portage.py, pym/portage_checksum.py,
	  pym/portage_const.py: Add manifest2 support.

2006-03-24 21:24  genone

	* [r2989] pym/portage.py: Fix crappy error handling for
	  PORTAGE_WORKDIR_MODE

2006-03-24 18:14  genone

	* [r2987] cnf/make.conf.alpha, cnf/make.conf.alpha.diff,
	  cnf/make.conf.amd64, cnf/make.conf.amd64.diff, cnf/make.conf.arm,
	  cnf/make.conf.arm.diff, cnf/make.conf.hppa,
	  cnf/make.conf.hppa.diff, cnf/make.conf.ia64,
	  cnf/make.conf.ia64.diff, cnf/make.conf.mips,
	  cnf/make.conf.mips.diff, cnf/make.conf.ppc,
	  cnf/make.conf.ppc.diff, cnf/make.conf.ppc64,
	  cnf/make.conf.ppc64.diff, cnf/make.conf.s390,
	  cnf/make.conf.s390.diff, cnf/make.conf.sparc,
	  cnf/make.conf.sparc.diff, cnf/make.conf.x86,
	  cnf/make.conf.x86-fbsd, cnf/make.conf.x86-fbsd.diff,
	  cnf/make.conf.x86.diff, make.conf-repatch.sh: Replacing arch
	  specific make.conf files with patches for the fallback make.conf
	  which should be applied in the ebuild. Add a helper script to
	  update patches if the main make.conf is changed.

2006-03-24 08:33  zmedico

	* [r2986] bin/misc-functions.sh: Create tbz2 package directly in
	  ${PKGDIR}/All to avoid need for temp file (inefficient) and avoid
	  selinux label issues for bug #127374.

2006-03-23 08:22  zmedico

	* [r2979] bin/ebuild, bin/emerge, pym/portage_debug.py: Add a
	  portage_debug module and python-trace feature for --debug mode.

2006-03-23 02:18  zmedico

	* [r2974] pym/portage.py: When the post preinst shell tasks fail,
	  write a message to stderr and return it's exit status so that die
	  calls (inside preinst_selinux_labels for example) can work
	  correctly.

2006-03-23 01:47  zmedico

	* [r2973] pym/portage.py: Write a message to stderr indicating when
	  install_qa_check fails. See bug #126442.

2006-03-23 01:27  zmedico

	* [r2972] bin/ebuild.sh: Include the die call itself (including
	  line number) in the printed call stack when an ebuild dies.

2006-03-22 23:47  zmedico

	* [r2971] bin/ebuild.sh: Enable bash tracing during sourcing of
	  bashrc for --debug mode. See bug #126442.

2006-03-20 11:59  zmedico

	* [r2965] bin/emerge-webrsync: Make emerge-webrsync only do
	  metadata-transfer when necessary. Thanks to Patrick Lauer for
	  reporting.

2006-03-20 11:21  zmedico

	* [r2964] bin/ebuild.sh, bin/isolated-functions.sh: Move has, hasq,
	  and hasv functions to isolated-functions.sh since they do not
	  depend on ebuild.sh.

2006-03-20 09:04  zmedico

	* [r2963] pym/portage.py: Fix sandbox feature (broken since r2947).

2006-03-20 00:30  zmedico

	* [r2961] bin/emerge: Do not split PORTAGE_RSYNC_EXTRA_OPTS and add
	  it directly to rsynccommand in order to preserve (hypothetical)
	  quoted whitespace.

2006-03-20 00:12  marienz

	* [r2960] pym/portage.py: Move CacheError from the block of python
	  imports to the block of portage imports, fix spelling in error
	  message.

2006-03-19 23:52  zmedico

	* [r2959] bin/emerge: Miscellaneous fixes and cleanup for the rsync
	  options handling.

2006-03-19 21:10  zmedico

	* [r2958] bin/emerge: Fix deprecated RSYNC_TIMEOUT handling (move
	  it where rsync_flags is defined) and direct error messages to
	  stderr via writemsg.

2006-03-19 17:48  genone

	* [r2957] NEWS, RELEASE-NOTES: adding notes about new rsync option
	  handling

2006-03-19 17:41  genone

	* [r2956] cnf/make.conf: make the fallback make.conf more generic
	  by removing x86 specific stuff and removing CHOST completely

2006-03-19 17:36  genone

	* [r2955] bin/emerge, cnf/make.conf, cnf/make.conf.alpha,
	  cnf/make.conf.amd64, cnf/make.conf.arm, cnf/make.conf.hppa,
	  cnf/make.conf.ia64, cnf/make.conf.mac, cnf/make.conf.mips,
	  cnf/make.conf.ppc, cnf/make.conf.ppc64, cnf/make.conf.s390,
	  cnf/make.conf.sparc, cnf/make.conf.x86, cnf/make.conf.x86-fbsd,
	  cnf/make.globals, man/make.conf.5: Add support for generic
	  PORTAGE_RSYNC_{EXTRA_,}OPTS, deprecate existing RSYNC_ variables,
	  rename RSYNC_RETRIES to PORTAGE_RSYNC_RETRIES

2006-03-19 07:05  vapier

	* [r2954] bin/repoman: update -I long option

2006-03-19 06:46  vapier

	* [r2953] bin/repoman: delete extraneous print

2006-03-19 06:14  zmedico

	* [r2952] bin/ebuild.sh, bin/emerge: Add NOCOLOR support to
	  ebuild.sh and make emerge automatically add NOCOLOR to
	  portage.settings when --nocolor is specified. See bug #126756.

2006-03-19 04:48  zmedico

	* [r2951] pym/portage.py: Compare new digest data with old digest
	  data and rewrite the new digest only if they differ. Thanks to
	  AllanonJL for reporting this issue.

2006-03-19 04:34  zmedico

	* [r2950] pym/portage_util.py: Catch a possible OSError from the
	  stat call in atomic_ofstream.close().

2006-03-18 23:42  zmedico

	* [r2947] pym/portage.py: Reset the selinux security context before
	  returning from spawn (regression from r2834). See bug #126711.

2006-03-18 22:42  zmedico

	* [r2946] pym/portage.py: Fix typo from the last revision.

2006-03-18 22:40  zmedico

	* [r2945] pym/portage.py: Stop swallowing IOError and TypeError
	  exceptions in portdbapi.gvisible(). Write instances of
	  PortageException to stderr. Thanks to marienz for reporting.

2006-03-18 21:11  zmedico

	* [r2944] pym/cache/flat_hash.py: Prevent an IOError with errno !=
	  ENOENT from being swallowed in flat_hash._setitem().

2006-03-18 20:43  zmedico

	* [r2943] bin/emerge-webrsync: Fix typo in spelling of been in
	  emerge-webrsync. Thanks to bonsaikitten for reporting.

2006-03-18 20:29  zmedico

	* [r2942] bin/dobin, bin/dosbin, bin/emerge-webrsync,
	  bin/misc-functions.sh: Make PORTAGE_INST_UID and PORTAGE_INST_GID
	  default to 0 in case of environment problems.

2006-03-18 19:59  antarus

	* [r2941] pym/portage.py: Minor speedup for findname2, suggested by
	  Brian Harring

2006-03-18 19:47  zmedico

	* [r2940] bin/ebuild.sh: Make successful inherit calls return
	  success so that \'source ${EBUILD}` returns success when an
	  ebuild calls inherit last.

2006-03-18 19:16  kito

	* [r2939] pym/emergehelp.py: add short options for --one-shot and
	  --fetch-all-uri to --help output. Closes Bug #126626

2006-03-18 17:23  zmedico

	* [r2938] pym/cache/flat_hash.py, pym/cache/flat_list.py: Replace
	  hard coded number 2 in cache modules with errno.ENOENT.

2006-03-18 07:36  zmedico

	* [r2936] pym/portage.py: Change os.makedirs to makedirs (typo from
	  r2934).

2006-03-18 07:13  zmedico

	* [r2935] pym/portage.py: Fix a typo from the last revision.

2006-03-18 07:08  zmedico

	* [r2934] pym/portage.py: Use one makedirs function for all
	  directory creations inside prepare_build_dirs.

2006-03-18 06:40  zmedico

	* [r2933] bin/ebuild.sh: Fix PORTAGE_WORKDIR_MODE so that 0700 is
	  correctly substituted when PORTAGE_WORKDIR_MODE is unset or null.

2006-03-18 06:14  zmedico

	* [r2932] pym/portage.py: Use loops to consolidate directory
	  cleaning and creation in prepare_build_dirs.

2006-03-18 04:03  zmedico

	* [r2931] bin/ebuild.sh: Prevent "eclass-debug.log: No such file or
	  directory" messages that are produced during the "depend" phase
	  when ${T} doesn't exist.

2006-03-18 02:29  zmedico

	* [r2930] pym/portage.py: Fix PORTAGE_WORKDIR_MODE parsing so that
	  the validated value is stored in mysettings.

2006-03-18 02:10  zmedico

	* [r2929] pym/portage.py: Catch a possible SyntaxError from the
	  eval function when parsing PORTAGE_WORKDIR_MODE. Thanks to solar
	  for reporting.

2006-03-18 01:58  zmedico

	* [r2928] pym/portage.py: Use apply_recursive_permissions for
	  DISTCC_DIR.

2006-03-18 01:33  zmedico

	* [r2927] pym/portage.py: Use apply_recursive_permissions for
	  CCACHE_DIR. Also fix a typo in error handling for CONFCACHE_DIR
	  from r2912.

2006-03-18 00:36  zmedico

	* [r2926] pym/portage.py: Use apply_recursive_permissions for
	  CONFCACHE_DIR.

2006-03-18 00:18  zmedico

	* [r2925] pym/portage.py, pym/portage_util.py: Add a generic
	  apply_recursive_permissions function and use is for
	  $DISTDIR/cvs-src.

2006-03-17 23:00  zmedico

	* [r2924] bin/emerge-webrsync: Fix deprecated emerge syntax in
	  emerge-webrsync for bug #126558.

2006-03-17 22:57  zmedico

	* [r2923] bin/emerge-webrsync: Merge emerge-webrsync uid and gid
	  fixes from the prefix branch.

2006-03-17 22:41  zmedico

	* [r2922] pym/portage.py: For better handling of $DISTDIR/cvs-src
	  permissions, use os.walk instead of spawning chgrp and chmod.

2006-03-17 21:24  zmedico

	* [r2919] pym/portage.py: Fix error handling for $DISTDIR/cvs-src
	  creation and permissions in doebuild.

2006-03-17 21:11  zmedico

	* [r2918] pym/portage_util.py: Fix typo in variable name from last
	  revision.

2006-03-17 21:04  zmedico

	* [r2917] pym/portage_util.py: Fix the apply_permissions XOR logic
	  so that mask removes mode bits correctly.

2006-03-17 08:48  zmedico

	* [r2915] pym/portage.py: Improve error handling in
	  prepare_build_dirs for PORT_LOGDIR. Fix doebuild 'logfile' which
	  has caused broken logging since r2894.

2006-03-17 07:26  zmedico

	* [r2914] pym/portage.py: Error handling in prepare_build_dirs for
	  DISTCC_DIR.

2006-03-17 06:25  zmedico

	* [r2913] pym/portage.py: Disable confcache when it's not possible
	  to apply correct group permissions to an existing file in
	  CONFCACHE_DIR.

2006-03-17 06:14  zmedico

	* [r2912] pym/portage.py: Improve error handling in the
	  CONFCACHE_DIR section of prepare_build_dirs. Thanks to solar for
	  reporting this issue.

2006-03-17 03:58  zmedico

	* [r2911] bin/misc-functions.sh: Use `mv -f` to make sure mv does
	  not prompt for confirmation.

2006-03-17 02:38  zmedico

	* [r2910] pym/portage_util.py: Fix permissions functions so that
	  error messages tell exactly which call failed.

2006-03-17 01:53  zmedico

	* [r2909] pym/portage.py: Use the built-in bool() function to
	  convert 1 or 0 to True or False as recommended by marienz.

2006-03-16 21:00  zmedico

	* [r2908] bin/emerge: Add package atom validation to the `emerge
	  --config` action. Thanks to sekretarz for reporting and providing
	  an initial patch.

2006-03-16 09:37  zmedico

	* [r2907] pym/portage.py: Implement __contains__ for portage.config
	  so that it calls has_key, enabling membership test operators (in
	  and not in) to work as expected.

2006-03-16 06:39  zmedico

	* [r2906] pym/portage.py: Revert a hunk from r2834 because
	  PORTAGE_SANDBOX_T is used incorrectly where PORTAGE_FETCH_T
	  should be used for selinux fetch. Thanks to spb for reporting.

2006-03-16 05:11  vapier

	* [r2905] bin/ebuild.sh: touchup some more misc bits of bash code

2006-03-16 04:57  zmedico

	* [r2904] pym/portage.py: Move environment variables WORKDIR, D,
	  and T from prepare_build_dirs to doebuild_environment.

2006-03-16 04:18  vapier

	* [r2903] bin/ebuild.sh: cleanup bash code in use*() and has*()
	  functions with the help of agriffis

2006-03-16 03:54  vapier

	* [r2902] bin/ebuild.sh: add support for unpacking .tbz, .a, and
	  .deb files

2006-03-16 03:30  zmedico

	* [r2901] bin/ebuild.sh, cnf/make.globals, pym/portage.py: Add a
	  new PORTAGE_WORKDIR_MODE config variable so that the mode of
	  WORKDIR is no longer hard coded. See bug #8688.

2006-03-16 03:11  vapier

	* [r2900] bin/ebuild.sh: declare more local variables to prevent
	  env pollution

2006-03-16 01:26  vapier

	* [r2898] bin/ebuild.sh: - dont allow people to call `install` with
	  -s via insopts/diropts/exeopts/libopts and simplify them in
	  general - fix "nostrip" usage and DEBUGBUILD

2006-03-15 13:48  zmedico

	* [r2895] pym/portage.py: Check the return value of
	  prepare_build_dirs and return early from doebuild if necessary.

2006-03-15 13:36  zmedico

	* [r2894] pym/portage.py: Split the bulk of directory preparation
	  out of doebuild into a new prepare_build_dirs function.

2006-03-15 13:06  zmedico

	* [r2893] pym/portage.py: Split the bulk of ebuild environment
	  setup out of doebuild into a new doebuild_environment function.

2006-03-15 01:17  zmedico

	* [r2892] pym/portage.py: Use writemsg_stdout for update_ents and
	  move_ent routines. See bug #126111.

2006-03-15 00:36  vapier

	* [r2891] bin/emerge: add --quiet support to --cols

2006-03-15 00:03  zmedico

	* [r2890] bin/emerge: Generate depgraph.applied_useflags in the
	  display method as necessary for use with --resume. See bug
	  #126120.

2006-03-14 22:42  zmedico

	* [r2889] bin/dopython: Remove bin/dopython because it's not either
	  used or useful. Thanks to Brian Harring for noticing.

2006-03-14 21:59  zmedico

	* [r2888] pym/portage.py: Send a global updates messages to stdout
	  for bug #126111.

2006-03-14 17:07  antarus

	* [r2887] pym/portage.py: Comma's are for pussies ( fixing
	  regression from last reivision )

2006-03-14 16:30  antarus

	* [r2886] pym/portage.py: marienz pointed out that 'raise e'
	  actually raises a new exception, which is not intended here, so
	  we raise instead of raising e

2006-03-14 16:18  antarus

	* [r2885] bin/emerge: Catch keyboardinterrupt during imports, don't
	  print nasty tracebacks there, later on we have signal handlers
	  for control C

2006-03-14 16:17  antarus

	* [r2884] pym/portage.py: Remove SystemExit's from portage imports,
	  raise on the correct exception, don't die if imports fail.

2006-03-14 15:46  antarus

	* [r2883] pym/portage.py: Remove some SystemExit exceptions, make
	  portage behave during a ctrl+c

2006-03-14 09:05  zmedico

	* [r2882] pym/portage_util.py: One more 'mode & 07777' in
	  apply_permissions.

2006-03-14 08:46  zmedico

	* [r2881] pym/portage_util.py: Make that 'mode & 07777' for the
	  previous commit.

2006-03-14 08:39  zmedico

	* [r2880] pym/portage_util.py: Use 'mode & 0777' to protect
	  ourselves from unwanted mode bits in apply_permissions.

2006-03-14 07:00  zmedico

	* [r2879] pym/portage.py: Move the "noclean" feature check into
	  clean phase part of doebuild.

2006-03-14 06:39  zmedico

	* [r2878] pym/portage.py: Use a separate PORTAGE_BUILDDIR for
	  overlapping install and unmerge phases in order to prevent
	  interference between {pre,post}inst and {pre,post}rm phases. See
	  bug #125942.

2006-03-14 04:32  zmedico

	* [r2877] pym/portage.py: Use apply_secpass_permissions for all
	  permissions in doebuild.

2006-03-14 04:26  zmedico

	* [r2876] pym/portage_util.py: Make mode=-1 the default parameter
	  for apply_permissions in order to distinguish the behavior from
	  mode=0.

2006-03-14 03:39  zmedico

	* [r2875] pym/portage.py: Fix some typos in the DISTDIR permissions
	  handling.

2006-03-14 02:31  zmedico

	* [r2874] pym/portage_util.py: Make the apply_permissions function
	  default to exact matching of mode bits and add a "mask" parameter
	  that allows for XOR restriction of mode bits.

2006-03-14 00:57  zmedico

	* [r2873] pym/portage.py: Handle FileNotFound errors instead of
	  ENOENT errors when doing permissions for the distlocks subdir.

2006-03-14 00:47  zmedico

	* [r2872] pym/portage_util.py: Wrap possible exceptions raised by
	  stat call in apply_secpass_permissions.

2006-03-14 00:38  zmedico

	* [r2871] pym/portage.py, pym/portage_exception.py,
	  pym/portage_util.py: Add a new OperationNotPermitted exception
	  and use it to wrap apply_permissions exceptions.

2006-03-14 00:08  zmedico

	* [r2870] pym/portage.py: Use apply_secpass_permissions for DISTDIR
	  permissions.

2006-03-13 23:59  zmedico

	* [r2869] pym/portage_util.py: Make
	  portage_util.apply_stat_permissions() wrap
	  apply_secpass_permissions instead of plain old apply_permissions.

2006-03-13 23:49  zmedico

	* [r2868] pym/portage_util.py: Add a new
	  portage_util.apply_secpass_permissions() function that
	  intelligently attempts to apply as much of the requested
	  permissions as possible without generating an exception.

2006-03-13 21:24  zmedico

	* [r2867] bin/emerge: Simplify emerge's secpass logic.

2006-03-13 19:59  zmedico

	* [r2866] pym/portage_data.py: Document portage_data.secpass and
	  give secpass=0 to users that are not in the "portage" group.

2006-03-13 02:27  zmedico

	* [r2865] pym/portage.py: Do not clean shared ${T} after the
	  unmerge phase when the new and old package are the same version
	  (regression from r2844). See bug #125942.

2006-03-13 00:15  zmedico

	* [r2864] bin/emerge: Fix KeyError: 'mergelist' error (regression
	  from r2847). See bug #125993.

2006-03-12 13:30  zmedico

	* [r2863] bin/misc-functions.sh: Use find -path instead of -name
	  for compatibility with both gnu and bsd userlands. See bug
	  #125919.

2006-03-12 11:22  zmedico

	* [r2862] pym/portage.py: Make portage.unmerge return 0 on success
	  in order to make `ebuild unmerge` exit nicely. Thanks to kosmikus
	  for reporting the "Could not run the required binary?" message.

2006-03-12 09:39  zmedico

	* [r2861] pym/cache/util.py: Fix misuse of dict.fromkeys class
	  method so that cache cleansing works during `emerge --metadata`
	  runs.

2006-03-12 09:31  vapier

	* [r2860] bin/misc-functions.sh: ppc64 isnt ok just yet, so dont
	  scan for exec stacks

2006-03-12 08:37  zmedico

	* [r2859] pym/portage.py: Use the ** operator for better unpacking
	  of actionmap args in spawnebuild.

2006-03-12 07:00  zmedico

	* [r2858] pym/portage.py: Add the command (ebuild.sh or
	  misc-functions.sh) to the actionmap for spawnebuild.

2006-03-12 04:11  zmedico

	* [r2857] bin/emerge: Add --tree to the blacklist when --resume is
	  used. See bug #54040.

2006-03-11 19:24  zmedico

	* [r2854] pym/portage.py: Make the clean phase obey keeptemp in
	  FEATURES.

2006-03-11 17:47  vapier

	* [r2851] man/make.conf.5: default CCACHE_DIR doesnt use
	  PORTAGE_TMPDIR, it just happens to also reside there by default

2006-03-11 10:36  vapier

	* [r2850] bin/quickpkg, pym/portage.py: backport portage-pkg path
	  change from savior branch

2006-03-11 10:33  vapier

	* [r2849] bin/emerge: dont reset spinner for non-ttys if --quiet is
	  in use

2006-03-11 07:25  zmedico

	* [r2847] bin/emerge, pym/portage.py: Do automatic backup the
	  resume list when it's length is greater than 1 for bug #122527.

2006-03-11 07:14  zmedico

	* [r2846] bin/ebuild.sh, cnf/make.globals: Move PORTAGE_INST_UID
	  and PORTAGE_INST_GID from ebuild.sh to make.globals so they can
	  be overridden.

2006-03-11 02:42  zmedico

	* [r2845] bin/dobin, bin/dosbin: Make dobin and dosbin use
	  PORTAGE_INST_UID and PORTAGE_INST_GID.

2006-03-11 01:27  zmedico

	* [r2844] pym/portage.py: Trigger the clean phase at the end of
	  dblink.unmerge() in order to remove cruft left by the pkg_*rm
	  phases.

2006-03-11 01:03  zmedico

	* [r2843] bin/emerge, pym/portage.py: Do the clean phase at the end
	  of dblink.treewalk() to ensure that it is triggered when both
	  source and binary packages are merged. See bug #105706.

2006-03-11 00:28  zmedico

	* [r2842] pym/portage.py: Consolidate duplicate "myebuild" logic in
	  the dblink.treewalk() method.

2006-03-10 23:53  zmedico

	* [r2841] pym/portage.py: Do cleanup of cruft prior to the setup
	  phase for binary packages. See bug #85803.

2006-03-10 12:01  zmedico

	* [r2840] bin/ebuild.sh: Fix dyn_clean in ebuild.sh so that it
	  removes the builddir correctly (if it is empty). See bug #105706.

2006-03-10 11:52  zmedico

	* [r2839] bin/emerge: Fix emerge's "Post-Build Cleaning" so that it
	  works with --buildpkgonly in FEATURES. See bug #105706.

2006-03-10 08:17  zmedico

	* [r2838] bin/ebuild.sh, bin/misc-functions.sh, pym/portage.py:
	  Move dyn_rpm and dyn_spec from ebuild.sh to misc-functions.sh.

2006-03-09 21:51  zmedico

	* [r2837] bin/ebuild.sh, bin/misc-functions.sh, pym/portage.py:
	  Move the install phase qa checks from ebuild.sh to
	  misc-functions.sh and add the necessary support to spawnebuild.

2006-03-09 21:39  zmedico

	* [r2836] bin/ebuild.sh: Remove "myarg" from the ebuild.sh env
	  before it is saved so that it doesn't interfere when ebuild.sh is
	  sourced by other scripts.

2006-03-09 10:58  zmedico

	* [r2835] pym/portage.py: Add sesandbox to the spawnebuild
	  actionmap.

2006-03-09 09:54  zmedico

	* [r2834] pym/portage.py: Add a "sesandbox" flag to the spawn
	  function so that it can handle selinux context for the exec call
	  (prevents code duplication).

2006-03-09 04:48  zmedico

	* [r2833] bin/ebuild.sh: Remove install_mask from ebuild.sh since
	  it's in misc-functions.sh now.

2006-03-09 04:15  zmedico

	* [r2832] bin/ebuild.sh, bin/misc-functions.sh, pym/portage.py:
	  Split install_mask and parts of dyn_preinst from ebuild.sh to
	  misc-functions.sh and add the necessary support to doebuild.

2006-03-09 04:07  zmedico

	* [r2831] bin/ebuild.sh, bin/misc-functions.sh, pym/portage.py,
	  pym/portage_const.py: Split dyn_package from ebuild.sh to
	  misc-functions.sh and add MISC_SH_BINARY support to spawnebuild.

2006-03-09 01:10  vapier

	* [r2830] bin/ebuild.sh: add support for ebuild authors to mark
	  stuff as ignorable

2006-03-09 00:28  vapier

	* [r2829] man/ebuild.5: misc updates

2006-03-09 00:21  vapier

	* [r2828] bin/env-update, man/env-update.1: document new
	  --no-ldconfig option

2006-03-09 00:16  vapier

	* [r2827] cnf/make.conf, cnf/make.conf.alpha, cnf/make.conf.amd64,
	  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
	  cnf/make.conf.mac, cnf/make.conf.mips, cnf/make.conf.ppc,
	  cnf/make.conf.ppc64, cnf/make.conf.s390, cnf/make.conf.sparc,
	  cnf/make.conf.x86, cnf/make.conf.x86-fbsd, cnf/make.globals,
	  pym/emergehelp.py: update copyrights

2006-03-08 08:18  zmedico

	* [r2826] bin/ebuild.sh: Move PKG_INSTALL_MASK functionality (see
	  bug #81025) from dyn_install to dyn_package because we don't want
	  PKG_INSTALL_MASK to affect the install phase (INSTALL_MASK is in
	  dyn_preinst).

2006-03-08 03:39  solar

	* [r2825] bin/ebuild.sh: - commit initial split install masking
	  code. this commits adds new portage 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

2006-03-07 19:27  zmedico

	* [r2824] bin/emerge: Make the parallel-fetch process sleep for 3
	  seconds at the beginning in order to allow the parent process to
	  have the first fetch (rather than display a 'waiting for a lock'
	  message). Suggestion by Brian Harring.

2006-03-07 01:53  zmedico

	* [r2821] pym/portage.py, pym/portage_update.py: Catch ENOENT
	  errors when $PORTDIR/profiles/updates does not exist.

2006-03-07 01:10  solar

	* [r2820] bin/emerge: - make portage display the ROOT when
	  unmerging a selected package

2006-03-06 02:53  vapier

	* [r2819] bin/ebuild.sh: only scan for exec stacks on linux/glibc
	  hosts

2006-03-06 00:38  zmedico

	* [r2818] bin/emaint, bin/emerge, bin/regenworld, pym/portage.py,
	  pym/portage_const.py: Remove the leading / from WORLD_FILE for
	  better cooperation with os.path.join (see bug #124471).

2006-03-05 22:30  vapier

	* [r2817] bin/ebuild.sh: fix BASH_ARGV walking

2006-03-05 19:57  zmedico

	* [r2816] pym/portage.py, pym/portage_const.py: Remove the leading
	  / from CONFIG_MEMORY_FILE for better cooperation with
	  os.path.join (see bug #124471).

2006-03-05 19:45  zmedico

	* [r2815] pym/portage.py, pym/portage_checksum.py,
	  pym/portage_const.py: Remove the leading / from PRIVATE_PATH
	  (var/lib/portage) for better cooperation with os.path.join (see
	  bug #124471).

2006-03-05 18:57  zmedico

	* [r2814] pym/portage.py: Remove a dead and broken hunk of code
	  that attempts to remove files from an empty directory.

2006-03-05 15:01  solar

	* [r2813] bin/ebuild.sh: - have scanelf nuke insecure rpaths

2006-03-05 00:10  zmedico

	* [r2812] bin/emerge, pym/portage.py: Strip the leading slash from
	  WORLD_FILE so that os.path.join works correctly for bug #124471.
	  Thanks to Thomas de Grenier de Latour for finding the cause of
	  the problem and Jonathan Adamczewski for the initial report.

2006-03-04 06:54  zmedico

	* [r2811] pym/portage.py: Remove the 'didupdate' variable from
	  global_updates() because it is no longer used.

2006-03-04 06:35  zmedico

	* [r2810] pym/portage.py: Rename the global updates do_upgrade()
	  function to parse_updates().

2006-03-04 06:21  zmedico

	* [r2809] pym/portage.py: Move all output out of the global updates
	  do_upgrade() function so that it only performs parsing and
	  validation.

2006-03-04 01:52  vapier

	* [r2808] bin/ebuild.sh: add some URLs for people to learn more

2006-03-03 01:02  vapier

	* [r2807] pym/portage.py: kill off pointless print

2006-03-02 19:10  zmedico

	* [r2806] bin/emerge-webrsync: Make emerge-webrsync use renice for
	  cleaner PORTAGE_NICENESS handling (bug #124621).

2006-03-02 17:46  zmedico

	* [r2805] bin/emerge-webrsync: Fix typo in emerge-webrsync
	  PORTAGE_NICENESS handling for bug #124621 (regression from
	  r2623).

2006-03-02 04:25  zmedico

	* [r2804] bin/dobin, bin/dosbin: Assume 0 for both uid and gid in
	  dobin and dosbin (bug #124568).

2006-03-02 00:18  vapier

	* [r2803] bin/dobin, bin/dosbin: just use group 0 to workaround
	  broken systems #124568

2006-02-28 13:43  jstubbs

	* [r2802] bin/emerge: Use ROOT when checking installed packages for
	  --pretend output

2006-02-28 06:40  zmedico

	* [r2801] pym/portage.py, pym/portage_update.py: Split out a
	  portage_update.grab_updates() function so that it can be reused.

2006-02-28 00:24  zmedico

	* [r2800] bin/ebuild.sh: Add a sanity check in dyn_clean() to make
	  sure that PORTAGE_BUILDDIR is not zero length for bug #124203.

2006-02-27 00:44  zmedico

	* [r2794] bin/emerge: Make sure myopts does not contain duplicate
	  options for bug 124204.

2006-02-26 21:36  zmedico

	* [r2793] pym/cache/metadata.py: Use rstrip("\n") instead of -1
	  index to safely remove newline characters.

2006-02-26 13:10  zmedico

	* [r2792] pym/cache/metadata_overlay.py: Add a new
	  cache.metadata_overlay module that layers a writable cache over a
	  readonly cache.

2006-02-26 12:58  zmedico

	* [r2791] cnf/make.conf, cnf/make.conf.alpha, cnf/make.conf.amd64,
	  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
	  cnf/make.conf.mips, cnf/make.conf.ppc, cnf/make.conf.ppc64,
	  cnf/make.conf.s390, cnf/make.conf.sparc, cnf/make.conf.x86,
	  cnf/make.conf.x86-fbsd, man/make.conf.5: Add some docs for
	  metadata-transfer in make.conf.example and make.conf.5.

2006-02-26 12:05  zmedico

	* [r2790] pym/portage_locks.py: Fix 'Bad file descriptor' error
	  with hardlink locking for bug 124140.

2006-02-26 10:27  zmedico

	* [r2789] bin/emerge: Make `emerge --metadata` work even when
	  metadata-transfer is not in FEATURES.

2006-02-26 10:08  zmedico

	* [r2788] bin/emerge, cnf/make.globals: Make the post-sync
	  metadata-transfer a FEATURE so that it can be optionally
	  disabled.

2006-02-26 07:51  zmedico

	* [r2787] pym/cache/flat_hash.py: Only write known keys in
	  flat_hash cache entries (filter out UNUSED_* keys).

2006-02-26 05:39  zmedico

	* [r2786] pym/cache/metadata.py: Fix cache.metadata.database so
	  that it correctly removes the newline character from the end of
	  the line when parsing flat_hash entries.

2006-02-26 05:35  zmedico

	* [r2785] pym/cache/template.py: Make complete_eclass_entries
	  variable name consistent so that classes derived from
	  cache.template.database are compatible with the mirror_cache()
	  function in the cache.util module.

2006-02-25 15:46  antarus

	* [r2784] pym/portage.py: Killing some old code that is never
	  executed.

2006-02-25 06:03  antarus

	* [r2783] pym/portage.py: Add a message to advise deleting
	  corrupted binary packages. Bug #86088

2006-02-25 05:11  antarus

	* [r2782] pym/portage_exception.py: Adding a new exception class.

2006-02-24 01:43  vapier

	* [r2780] bin/repoman: move the err/warn funcs together

2006-02-23 23:29  antarus

	* [r2779] bin/repoman: Fix a missing parenthesis.

2006-02-23 18:27  antarus

	* [r2777] RELEASE-NOTES: Fix typo, profile instead of profiles

2006-02-23 18:25  antarus

	* [r2776] RELEASE-NOTES: update release notes

2006-02-23 18:20  antarus

	* [r2775] bin/emerge, bin/repoman: Kill inject for good.

2006-02-23 18:18  antarus

	* [r2774] man/emerge.1: Remove inject from the manpage. Bug #
	  120429.

2006-02-23 17:36  zmedico

	* [r2773] bin/ebuild: Add NOCOLOR support to bin/ebuild for bug
	  78701.

2006-02-23 06:36  vapier

	* [r2771] bin/prepallstrip: remove code that is duplicated in
	  prepstrip

2006-02-23 05:45  vapier

	* [r2770] bin/prepman: update syntax/style

2006-02-23 05:31  vapier

	* [r2769] bin/prepman: warn if we were given a non-existent dir

2006-02-23 05:31  vapier

	* [r2768] bin/prepallman: simply code to break down arguments to
	  prepman

2006-02-23 05:25  vapier

	* [r2767] bin/doman: dont warn in manpage exists but is empty

2006-02-23 05:24  vapier

	* [r2766] bin/doman: disable compression in doman, just let
	  `prepman` handle it

2006-02-23 05:13  vapier

	* [r2765] bin/doman: update syntax and add error checking #121317
	  by Simon Stelling

2006-02-23 00:43  zmedico

	* [r2764] bin/emerge: Revert emergelog output change from revision
	  2641 to maintain compatibility with genlop (reported by
	  fuzzyray).

2006-02-22 23:50  zmedico

	* [r2763] pym/portage.py: Prevent output of '*' characters when
	  there are no updates but fixpackages is in features (reported by
	  fuzzyray).

2006-02-22 21:20  antarus

	* [r2762] bin/repoman: Suggestion from Brian Harring to remove
	  extra processing, condense code.

2006-02-21 09:57  zmedico

	* [r2759] pym/portage.py: Fix typo from revision 2758.

2006-02-21 09:52  zmedico

	* [r2758] pym/portage.py: Validate the names of update files in
	  order to filter out unwanted files such as CVS directories.

2006-02-21 06:07  zmedico

	* [r2757] NEWS, RELEASE-NOTES: Some news and release notes for
	  2.1_pre5.

2006-02-21 01:44  zmedico

	* [r2756] pym/output.py: Patch by Ed Catmur to add "gnome" to
	  legal_terms in output.py.

2006-02-21 01:16  zmedico

	* [r2755] pym/output.py: Patch by marienz to generate
	  default_xterm_title just in time with python instead of the
	  shell. Fixes "Bad substitution" shell messages reported by
	  flameeyes.

2006-02-20 23:42  vapier

	* [r2754] bin/ebuild.sh: enable exec stack scanning on ppc64

2006-02-20 03:07  zmedico

	* [r2753] pym/portage.py: Remove temporary file usage from move_ent
	  and move_slot_ent routines.

2006-02-19 23:52  zmedico

	* [r2752] pym/portage.py: Remove temporary file usage from
	  fixpackages update_ents routine.

2006-02-19 23:28  zmedico

	* [r2751] pym/xpak.py: Add a tbz2.get_data() method that returns
	  the xpak segment data as a dict.

2006-02-19 22:55  zmedico

	* [r2750] pym/portage.py, pym/portage_update.py: Split out 2
	  reusable functions from fixdbentries and put them in a new
	  portage_update module.

2006-02-19 20:47  zmedico

	* [r2748] pym/xpak.py: In order do avoid the need for temporary
	  files, add a new tbz2.recompose_mem() method that uses an xpak
	  segment from memory.

2006-02-19 20:19  zmedico

	* [r2747] pym/xpak.py: In order do avoid the need for temporary
	  files, add a new xpak_mem() function that creates an xpak_segment
	  from a map object.

2006-02-19 16:10  genone

	* [r2746] RELEASE-NOTES: update release notes regarding deprecated
	  stuff

2006-02-19 05:44  genone

	* [r2745] qa: more obsolete stuff, qa is in ebuild.sh now

2006-02-19 05:42  genone

	* [r2744] spec: this stuff was supposed to be dead for ages

2006-02-19 05:40  zmedico

	* [r2743] pym/portage.py: Fix problem with /var/tmp/tbz2/tbz2
	  directory for bug 113088.

2006-02-19 04:55  genone

	* [r2742] bin/emerge, pym/emergehelp.py: deprecate 'emerge action'
	  syntax in favor of 'emerge --action'

2006-02-19 04:47  genone

	* [r2741] man/emerge.1: remove documentation on --upgradeonly

2006-02-19 04:46  genone

	* [r2740] bin/emerge, pym/emergehelp.py: finally remove --rsync

2006-02-19 04:43  genone

	* [r2739] bin/emerge, pym/emergehelp.py: finally remove
	  --upgradeonly

2006-02-19 01:13  zmedico

	* [r2738] pym/portage.py: Update the mtimedb only after the updates
	  have been processed.

2006-02-19 00:16  zmedico

	* [r2737] pym/portage.py: Split move_ent calls from do_upgrade()
	  and do them in global_updates() instead.

2006-02-19 00:01  zmedico

	* [r2736] pym/portage.py: Fix 2 typos from revision 2735.

2006-02-18 23:39  zmedico

	* [r2735] pym/portage.py: Clean up do_upgrade() and add atom
	  validation.

2006-02-18 22:39  zmedico

	* [r2734] pym/portage.py: Split the config file updates from
	  do_upgrade into a new update_config_files() function that does
	  all updates in one big batch.

2006-02-18 21:45  zmedico

	* [r2733] pym/portage.py: Create a global_updates() function in
	  order to remove a chunk from the global scope.

2006-02-18 19:25  zmedico

	* [r2732] pym/portage.py: Consider global updates that proceed
	  quickly as a single mtimedb transaction.

2006-02-18 19:18  zmedico

	* [r2731] pym/portage.py: Split out a vardbapi.update_ents() method
	  and leave it unused for the moment since it's not currently being
	  used properly anyway (see bug 122089).

2006-02-18 02:25  zmedico

	* [r2730] pym/portage.py, pym/xpak.py: Add a cleanup() method to
	  xpak.tbz2 and do a sanity check there.

2006-02-18 01:39  zmedico

	* [r2729] pym/portage.py: Add a return value to fixdbentries that
	  indicates whether or not modifications were performed. Use this
	  to avoid unnecessary recomposition of tbz2 files.

2006-02-17 23:25  zmedico

	* [r2728] pym/portage.py: Filter out some more invalid updates
	  before fixpackages gets them.

2006-02-17 19:08  zmedico

	* [r2727] pym/portage.py: Bring back myline variable inside
	  do_upgrade because it is needed (regression from rev 2726).

2006-02-17 18:56  zmedico

	* [r2726] pym/portage.py: Store split lines in myupd so that they
	  don't need to be split again later.

2006-02-17 18:35  zmedico

	* [r2725] pym/portage.py: Optimize fixpackages to do all updates in
	  one big batch so that each tbz2 is only recomposed once.

2006-02-17 07:56  zmedico

	* [r2724] pym/portage.py: Make fixdbentries operate on an iterable
	  instead of a dict because order can matter.

2006-02-17 05:41  zmedico

	* [r2723] pym/portage.py: optimize fixpackages (update_ents) to
	  feed batched package moves to fixdbentries

2006-02-17 05:35  zmedico

	* [r2722] pym/portage.py: optimize fixdbentries by enabling it to
	  process packages moves in batches

2006-02-17 04:41  zmedico

	* [r2721] pym/portage.py: remove invalid package moves from myupd
	  so that fixpackages doesn't process them

2006-02-16 13:10  genone

	* [r2718] pym/portage.py, pym/portage_exception.py: Add basic
	  sanity check for global update entries

2006-02-16 04:51  ferringb

	* [r2717] pym/portage_data.py: generalize the BSD checks.

2006-02-16 01:37  vapier

	* [r2716] pym/portage_data.py: Robert Sebastian Gerus: add support
	  for DragonFly #122976

2006-02-15 18:40  zmedico

	* [r2715] pym/portage_locks.py: fix case where myfd == None
	  (regression from revision 2714)

2006-02-15 17:47  zmedico

	* [r2714] pym/portage_locks.py: fix a race and prevent unlinking of
	  a file locked by another process in portage_locks.unlockfile()

2006-02-15 11:21  ferringb

	* [r2713] bin/ebuild.sh: silence extdebug errors when on bash2;
	  it's handled by the code already, just is fugly.

2006-02-14 22:38  zmedico

	* [r2712] pym/portage_locks.py: fix race condition for bug 121819
	  by using os.fstat(myfd).st_nlink instead of os.path.exists

2006-02-14 00:23  vapier

	* [r2710] bin/repoman: get rid of pointless whitespace

2006-02-14 00:18  vapier

	* [r2709] bin/dolib: cleanup output and syntax, make sure we exit
	  with non-zero status when something goes wrong #121317 by Simon
	  Stelling, and fix installing of relative symlinks

2006-02-14 00:12  vapier

	* [r2708] bin/quickpkg: add support for ROOT by Joel Martin #122728

2006-02-13 05:26  genone

	* [r2707] bin/repoman, man/repoman.1: Make repoman
	  ebuild.invalidname message a bit more useful

2006-02-13 01:21  zmedico

	* [r2703] pym/portage.py: misc atomic_ofstream and write_atomic
	  updates in portage.py

2006-02-12 23:43  zmedico

	* [r2701] pym/portage.py: use write_atomic for move_ent CATEGORY
	  updates

2006-02-12 22:56  genone

	* [r2700] pym/portage.py: fix dirsonly handling in listdir

2006-02-12 21:09  zmedico

	* [r2698] pym/portage.py: use write_atomic for fixdbentries

2006-02-12 11:55  zmedico

	* [r2697] pym/portage.py, pym/portage_checksum.py: fix
	  perform_checksum.perform_checksum() so that it wraps FileNotFound
	  exceptions

2006-02-12 07:52  zmedico

	* [r2696] bin/emerge, man/emerge.1, man/make.conf.5: add a new
	  emerge --ignore-default-opts option for bug 121695

2006-02-12 03:09  zmedico

	* [r2695] pym/portage.py: catch possible ENOENT error from
	  portage_checksum.perform_md5 for bug 24374

2006-02-12 02:42  zmedico

	* [r2694] pym/portage.py: import errno at the top of portage.py

2006-02-11 10:43  solar

	* [r2693] bin/ebuild.sh: - add portage to MULTILIB_STRICT_EXEMPT

2006-02-11 08:45  zmedico

	* [r2692] bin/emerge: fix typo for bug 111098 (patch by
	  andre@fluffyspider.com.au)

2006-02-10 23:39  zmedico

	* [r2691] pym/portage.py: use cached stat and lstat results to
	  minimize the number of stat calls in dblink.unmerge()

2006-02-10 22:07  zmedico

	* [r2690] pym/portage_checksum.py: avoid unnecessary stat by
	  catching ENOENT error instead of using os.path.exists()

2006-02-10 07:00  zmedico

	* [r2689] pym/portage.py: fix KeyError: '.' in dblink.unmerge()
	  from bug 100479

2006-02-10 01:47  zmedico

	* [r2688] bin/repoman: make repoman obey NOCOLOR for bug 77566
	  (patch by antarus)

2006-02-09 20:26  zmedico

	* [r2687] pym/portage.py: for each fetch ensure correct permissions
	  on both $DISTDIR and $DISTDIR/.locks (bug 117781)

2006-02-09 04:25  zmedico

	* [r2686] pym/portage.py: use write_atomic for the counter file

2006-02-09 03:44  zmedico

	* [r2685] pym/portage_util.py: use getattr instead of hasattr for
	  detection of base class destructor (recommended by marienz)

2006-02-09 03:38  vapier

	* [r2684] bin/emake: eat the parent process with exec, YUM

2006-02-09 03:36  vapier

	* [r2683] bin/doexe: touchup style

2006-02-09 01:38  zmedico

	* [r2682] pym/portage.py: use atomic_ofstream for mtimedb commits

2006-02-09 01:10  zmedico

	* [r2681] bin/emaint, bin/emerge, bin/regenworld, pym/portage.py:
	  use new write_atomic() function for all world file updates

2006-02-09 01:09  zmedico

	* [r2680] pym/portage_util.py: add new atomic_ofstream class for
	  safer writes

2006-02-08 17:51  ferringb

	* [r2679] pym/getbinpkg.py, pym/portage.py, pym/portage_util.py:
	  cPickle import protection; fall back to pickle if cPickle is
	  unavailable.

2006-02-08 01:10  vapier

	* [r2677] pym/portage.py: fix whitespace breakage introduced by
	  writemsg_stdout() changes

2006-02-07 14:39  jstubbs

	* [r2676] bin/emerge: Remove references to --verbose and --quiet in
	  depgraph.display() and make it work of a verbosity parameter
	  instead.

2006-02-06 19:25  zmedico

	* [r2674] bin/emerge, pym/portage.py, pym/portage_exec.py,
	  pym/portage_locks.py: wrap all relevant atexit usage due to
	  incompatibility with os.execv (needed for emerge to restart
	  itself)

2006-02-06 07:34  ferringb

	* [r2673] bin/emerge: use sys.argv[0] for the path to emerge rather
	  then hard coding

2006-02-06 02:52  zmedico

	* [r2672] bin/emerge: when emerge restarts itself, make
	  /usr/lib/portage/bin/emerge the first argument in the list passed
	  to os.execv (regression from revision 2667)

2006-02-06 01:41  marienz

	* [r2671] pym/portage.py: Make sure confcache files are writable by
	  the portage group, not just the portage user.

2006-02-05 21:19  zmedico

	* [r2670] bin/ebuild.sh, man/ebuild.5: add CATEGORY to ebuild.5 and
	  declare it readonly in ebuild.sh

2006-02-05 20:24  zmedico

	* [r2669] bin/emerge: do commit_mtimedb() after each merge for bug
	  100300

2006-02-05 19:28  zmedico

	* [r2668] bin/emerge: remove outdated "You may avoid the remerging
	  of packages" message

2006-02-05 19:22  zmedico

	* [r2667] bin/emerge: replace existing "restarting emerge via
	  exec()" functionality with a new approach that uses --resume and
	  myopts

2006-02-05 06:02  vapier

	* [r2666] man/repoman.1: document more stuff

2006-02-05 06:02  vapier

	* [r2665] man/ebuild.5, man/portage.5: mention mirror, not nomirror

2006-02-04 12:32  ferringb

	* [r2660] pym/portage.py: aparently someone never heard of
	  rstrip...

2006-02-04 07:34  antarus

	* [r2659] bin/emerge: Adding a comment about normpath, and why we
	  use our own copy.

2006-02-04 07:22  zmedico

	* [r2658] bin/emerge: remove stray quote introduced in revision
	  2645

2006-02-04 06:01  vapier

	* [r2657] bin/dohard: touchup code like dosym

2006-02-04 06:01  vapier

	* [r2656] bin/dosym: send error to stderr

2006-02-04 05:59  vapier

	* [r2655] bin/dodir: use much simpler code as inspired by agriffis'
	  fowners work

2006-02-04 05:56  vapier

	* [r2654] bin/dobin, bin/dosbin: cleanup code and handle errors
	  better as Simon Stelling says in Bug 121317

2006-02-04 05:33  vapier

	* [r2653] bin/newbin, bin/newdoc, bin/newexe, bin/newins,
	  bin/newlib.a, bin/newlib.so, bin/newman, bin/newsbin: touchup
	  code so we handle errors better

2006-02-04 05:28  vapier

	* [r2652] bin/doconfd, bin/doenvd, bin/doinitd: touchup code so we
	  handle errors better

2006-02-04 05:27  vapier

	* [r2651] bin/newconfd, bin/newenvd, bin/newinitd: touchup code so
	  we handle errors better

2006-02-04 05:17  vapier

	* [r2650] bin/dodir: Simon Stelling writes in Bug 121317:
	  currently, the do* scripts don't exit 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.

2006-02-04 03:38  jstubbs

	* [r2649] bin/ebuild.sh, bin/emerge, cnf/etc-update.conf,
	  pym/portage.py: Remove all bug references

2006-02-04 03:06  jstubbs

	* [r2648] bin/emerge: Add back emerge list header hiding when
	  --quiet is used.

2006-02-03 23:54  antarus

	* [r2646] cnf/etc-update.conf: Fix bug #86067. Thanks to
	  J\xc3\xbcrgen H\xc3\xb6tzel <gentoo@hoetzel.info> for the emacs
	  command

2006-02-03 23:08  antarus

	* [r2645] bin/emerge: Fix for bug #119049

2006-02-03 17:47  antarus

	* [r2644] bin/emerge: Shout out to RiverRat for reporting, fixup
	  the output to use the correct verbs, disable tree output for
	  fetching since it does not work.

2006-02-03 17:22  antarus

	* [r2643] bin/emerge: Minor fixups with spelling, Thanks to Benno
	  Schulenberg <benno@nietvergeten.nl>, bug # 110382

2006-02-03 16:55  antarus

	* [r2642] pym/emergehelp.py: This should have been excluded...

2006-02-03 16:52  antarus

	* [r2641] bin/emerge, pym/emergehelp.py, pym/portage.py: Thanks to
	  Benno Schulenberg <benno@nietvergeten.nl> for the
	  spelling/grammar fixes, bug #80754

2006-02-03 05:14  ferringb

	* [r2635] cnf/make.conf.alpha, cnf/make.conf.amd64,
	  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
	  cnf/make.conf.mips, cnf/make.conf.ppc, cnf/make.conf.ppc64,
	  cnf/make.conf.s390, cnf/make.conf.sparc, cnf/make.conf.x86:
	  confcache updates...

2006-02-03 05:12  ferringb

	* [r2634] cnf/make.conf: confcache make.conf example...

2006-02-03 05:09  ferringb

	* [r2633] man/make.conf.5: FEATURES="confcache" addition

2006-02-03 05:08  ferringb

	* [r2632] NEWS, bin/ebuild.sh, pym/portage.py: confcache, baby.

2006-02-03 03:09  vapier

	* [r2629] bin/prepallstrip: grab some fixes from prepstrip script

2006-02-03 03:08  vapier

	* [r2628] bin/prepallinfo: style touchups

2006-02-03 03:07  vapier

	* [r2627] bin/prepallman: exit with proper status rather than
	  always 0

2006-02-03 01:54  vapier

	* [r2626] pym/portage.py: s/cronological/chronological/ for you
	  anal peeps

2006-02-02 16:04  antarus

	* [r2625] bin/emerge: Revert change in -r2611, re-opening bug
	  121106. The fix is not that simple...as usual :)

2006-02-02 12:58  ferringb

	* [r2624] bin/emerge-webrsync: optional tarsync integration; thanks
	  to Johannes Fahrenkrug for doing the legwork.

2006-02-02 11:58  ferringb

	* [r2623] bin/emerge-webrsync: added PORTAGE_NICENESS support.

2006-02-02 10:41  ferringb

	* [r2622] bin/ebuild.sh: bug #116681 , better handling of
	  MULTILIB_STRICT_EXEMPT

2006-02-01 23:05  vapier

	* [r2621] bin/ebuild.sh: touchup syntax/output of new $D/$D check

2006-02-01 20:56  solar

	* [r2620] bin/ebuild.sh: - portage allows installing files into
	  ${D}/${D}. Simon Stelling bug #120941

2006-02-01 03:30  vapier

	* [r2612] bin/repoman: touchup the way options are declared to
	  prevent bitrot, add a --quiet option and use it, and make the
	  help output useful

2006-01-31 23:28  antarus

	* [r2611] bin/emerge: Fix for bug #121106, resume + skipfirst +
	  pretend would print the skipped package. Thanks to Andrew D.
	  Keyser (aka Legoguy) <andrewdk@sbcglobal.net> for reporting.

2006-01-31 07:43  antarus

	* [r2610] man/emerge.1, man/portage.5: Change the usage of a
	  "class" of packages into a "set" of packages. world and system
	  are now "sets" instead of "classes".

2006-01-31 06:33  zmedico

	* [r2609] bin/emerge: remove red coloring from right ')' in
	  'dependency required by' message reported by cardoe

2006-01-30 12:35  zmedico

	* [r2608] bin/emerge: get --nospinner from myopts instead of
	  sys.argv so that it works with EMERGE_DEFAULT_OPTS

2006-01-30 04:19  vapier

	* [r2606] bin/ebuild.sh: Chris PeBenito writes in #110857 for
	  SELinux updates: 1) change ebuild.sh 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.

2006-01-29 14:31  vapier

	* [r2605] bin/prepstrip: make sure all .debug files have the
	  executable bit cleared

2006-01-29 11:51  jstubbs

	* [r2604] pym/portage.py, pym/portage_dep.py: Allow || ( ) deps
	  that have no default atoms (or turn out empty). Released in
	  2.1_pre4-r1. #120803

2006-01-28 00:46  jstubbs

	* [r2600] RELEASE-NOTES: Add note about --alphabetical

2006-01-28 00:42  jstubbs

	* [r2599] bin/emaint: Disable the vdb check until it can be
	  migrated to filter-env.

2006-01-27 19:18  ferringb

	* [r2593] bin/emaint: add the "/usr/lib/portage/pym" insert to deal
	  with osx (bit of a hack, but tiz the convention currently).

2006-01-27 05:02  vapier

	* [r2592] bin/env-update, pym/portage.py: make env-update a bit
	  more flexible by adding a --no-ldconfig option

2006-01-27 04:57  vapier

	* [r2591] pym/portage.py: touchup if logic

2006-01-27 04:51  jstubbs

	* [r2589] bin/emerge, man/emerge.1, pym/emergehelp.py: Add support
	  for an --alphabetical option to emerge that restores the old
	  ordering of flags in --pretend output.

2006-01-27 04:50  jstubbs

	* [r2588] bin/emerge, cnf/make.conf, cnf/make.conf.alpha,
	  cnf/make.conf.amd64, cnf/make.conf.arm, cnf/make.conf.hppa,
	  cnf/make.conf.ia64, cnf/make.conf.mips, cnf/make.conf.ppc,
	  cnf/make.conf.ppc64, cnf/make.conf.s390, cnf/make.conf.sparc,
	  cnf/make.conf.x86, cnf/make.conf.x86-fbsd, man/make.conf.5: Add
	  support for EMERGE_DEFAULT_OPTS configuration variable for
	  setting options that emerge always considers to be specified.

2006-01-27 04:43  jstubbs

	* [r2587] bin/repoman: Added a check for obsolete virtual/x11 usage
	  in dependencies.

2006-01-27 04:07  vapier

	* [r2586] bin/ebuild.sh: m68k generates proper gnu stack markings

2006-01-25 11:39  genone

	* [r2584] bin/repoman: Fix typo in error description

2006-01-24 17:41  genone

	* [r2583] bin/repoman, man/repoman.1: Add a warning for KEYWORDS=-*

2006-01-24 17:00  genone

	* [r2582] cnf/make.globals: Disable auto-use prior to code removal

2006-01-24 15:20  genone

	* [r2581] bin/emaint: fix possible path and vdb location issues

2006-01-24 15:19  jstubbs

	* [r2580] bin/repoman: Add further checks for correct DEPEND syntax

2006-01-24 15:16  jstubbs

	* [r2579] pym/portage_dep.py: Provide more information with DEPEND
	  syntax exceptions

2006-01-24 14:54  jstubbs

	* [r2578] pym/portage.py, pym/portage_dep.py: Move DEPEND empty
	  sublist processing back into use_reduce

2006-01-24 03:09  vapier

	* [r2577] man/make.conf.5: patch by Alec Warner to document
	  CCACHE_DIR #65492

2006-01-23 22:39  vapier

	* [r2576] bin/prepstrip: fix prepstrip after previous commit as
	  pointed out by Olivier Crete

2006-01-23 10:58  ferringb

	* [r2575] bin/ebuild.sh: fixed up dump_trace, courtesy of spyderous

2006-01-23 07:55  ferringb

	* [r2574] bin/ebuild.sh: Added usage info to dump_trace, and credit
	  for the code (eselect authors)

2006-01-23 07:49  ferringb

	* [r2573] bin/ebuild.sh: updated diefunc "post the relevant info"
	  msg

2006-01-23 07:48  ferringb

	* [r2572] bin/ebuild.sh: bash tracebacks. :)

2006-01-23 01:29  vapier

	* [r2571] bin/emerge: accept --skip-first and --skipfirst

2006-01-23 00:01  ferringb

	* [r2570] pym/portage.py: verify_all occasionally returns longs
	  rather then strings. Wouldn't be a problem, but the writemsg code
	  isn't written to do conversions on the fly... so, made it so it
	  was.

2006-01-22 21:26  genone

	* [r2569] bin/emaint: fixup

2006-01-22 21:05  genone

	* [r2568] bin/ebuild.sh, bin/emaint: store all auxdbkeys in vdb and
	  add a new emaint target to create missing entries

2006-01-20 02:38  vapier

	* [r2567] bin/ebuild.sh: also catch leading null runpaths

2006-01-18 11:56  vapier

	* [r2566] cnf/make.conf, cnf/make.conf.alpha, cnf/make.conf.amd64,
	  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
	  cnf/make.conf.mips, cnf/make.conf.ppc, cnf/make.conf.ppc64,
	  cnf/make.conf.s390, cnf/make.conf.sparc, cnf/make.conf.x86,
	  cnf/make.conf.x86-fbsd: s/maketest/test/

2006-01-17 04:15  vapier

	* [r2565] bin/env-update: add -h/--help

2006-01-15 19:23  vapier

	* [r2564] bin/dispatch-conf: fix traceback when EDITOR is not set
	  in the env #118976 by Paul Varner

2006-01-15 03:31  vapier

	* [r2563] bin/prepstrip: fix inverted strip skip logic

2006-01-13 11:03  vapier

	* [r2562] bin/repoman, man/make.conf.5: add FEATURES=assume-digests
	  so i dont have to keep hashing all the glibc tarballs whenever i
	  want to commit

2006-01-13 07:58  vapier

	* [r2561] bin/prepstrip: clean up coding style/quoting, figure out
	  what objdump to run same as strip, and add support for STRIP_MASK

2006-01-12 11:16  ferringb

	* [r2560] bin/emaint: don't inline code, do __name__=="__main__" so
	  the module can be used instead of strictly called.

2006-01-10 22:44  solar

	* [r2559] bin/prepstrip: - dont save debug info twice

2006-01-09 13:07  ferringb

	* [r2556] pym/portage.py: Always call prerm/postrm regardless if
	  the previous install had contents or not.

2006-01-09 06:29  vapier

	* [r2555] man/make.conf.5: fix display of ebuild(1)

2006-01-09 06:27  vapier

	* [r2554] bin/emerge: get rid of the word "downloaded" in the
	  search output because some people cant seem to handle it #81501

2006-01-09 02:51  ferringb

	* [r2553] man/emerge.1: reorganization and a bit of clean up from
	  Benno Schulenberg , bug 84285

2006-01-09 02:32  vapier

	* [r2552] bin/ebuild.sh: handle cross-compilers as well

2006-01-08 18:46  ferringb

	* [r2551] pym/portage.py: fixed the '/' stray char output

2006-01-08 12:41  ferringb

	* [r2550] bin/portageq: bug 118191 , puke properly when no args to
	  envvar are supplied.

2006-01-08 04:45  vapier

	* [r2549] man/portage.5: add another common example for
	  package.provided

2006-01-08 02:29  genone

	* [r2546] NEWS: s/checksums/manifests/

2006-01-08 02:21  genone

	* [r2545] NEWS: slightly improve news

2006-01-08 01:57  genone

	* [r2544] pym/portage_checksum.py, pym/portage_const.py: reenable
	  multi-hash and make error message a bit more useful

2006-01-07 23:48  ferringb

	* [r2543] pym/portage.py: bug 117440, added PORTAGE_ACTUAL_DISTDIR
	  var to make cvs/svn eclasses play nice since they're not part of
	  our SRC_URI scheme (yet).

2006-01-07 13:13  solar

	* [r2542] bin/prepstrip: - FEATURES=installsources from Olivier
	  Crete an extention of splitdebug for better debugging when
	  debugedit is installed. bug 112907

2006-01-06 05:58  vapier

	* [r2540] bin/dosym: touchup style

2006-01-06 00:49  vapier

	* [r2539] bin/ebuild.sh: generate a log file for users to attach to
	  bug reports

2006-01-06 00:48  vapier

	* [r2538] bin/prepall: touchup output slightly

2006-01-05 23:54  solar

	* [r2537] bin/emerge: - set noiselevel when quiet is enabled

2006-01-05 09:19  ferringb

	* [r2534] bin/emerge: bug 117849, when parallel-fetch is on don't
	  write out the mtimedb in the fetcher process

2006-01-05 08:37  ferringb

	* [r2533] bin/repoman: filter '(' and ')' tokens also when checking
	  for invalid atoms.

2006-01-05 08:10  ferringb

	* [r2532] bin/repoman: bug 42299, detect and fail invalid atoms in
	  *DEPEND

2006-01-05 07:26  ferringb

	* [r2531] cnf/make.conf, cnf/make.conf.alpha, cnf/make.conf.amd64,
	  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
	  cnf/make.conf.mips, cnf/make.conf.ppc, cnf/make.conf.ppc64,
	  cnf/make.conf.s390, cnf/make.conf.sparc, cnf/make.conf.x86,
	  cnf/make.conf.x86-fbsd: adress -> address spelling typo.
	  
	  Sidenote, really should remove the 101 files and centralize this
	  damn thing..

2006-01-05 07:09  ferringb

	* [r2529] pym/portage.py: force a realpath call for complaints
	  about digest files; better resolution is resetting DISTDIR post
	  doebuild (see, we really need to break the beast up or decorate
	  it), but this resolves 117264 in the meantime.

2006-01-05 05:33  ferringb

	* [r2528] pym/portage.py, pym/portage_dep.py: 'k. reverted
	  use_reduce filtering of empty lists (was resulting in ["||"] as
	  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.

2006-01-05 05:24  vapier

	* [r2527] bin/ebuild.sh: only complain about executable stacks on
	  architectures that actually support them

2006-01-05 03:56  vapier

	* [r2526] bin/archive-conf, bin/chkcontents, bin/clean_locks,
	  bin/dispatch-conf, bin/dobin, bin/doconfd, bin/dodir, bin/dodoc,
	  bin/doenvd, bin/doexe, bin/dohard, bin/dohtml, bin/doinfo,
	  bin/doinitd, bin/doins, bin/dojar, bin/dolib, bin/dolib.a,
	  bin/dolib.so, bin/doman, bin/domo, bin/dopython, bin/dosbin,
	  bin/dosed, bin/dosym, bin/ebuild, bin/ebuild.sh, bin/emake,
	  bin/emerge, bin/emerge-webrsync, bin/env-update,
	  bin/env-update.sh, bin/etc-update, bin/find-requires,
	  bin/fix-db.py, bin/fixdbentries, bin/fixpackages, bin/fowners,
	  bin/fperms, bin/md5check.py, bin/md5check.sh, bin/mirror.py,
	  bin/newbin, bin/newconfd, bin/newdoc, bin/newenvd, bin/newexe,
	  bin/newinitd, bin/newins, bin/newlib.a, bin/newlib.so,
	  bin/newman, bin/newsbin, bin/pkgmerge, bin/pkgmerge.new,
	  bin/pkgname, bin/portage_gpg_update.sh, bin/portageq,
	  bin/prepall, bin/prepalldocs, bin/prepallinfo, bin/prepallman,
	  bin/prepallstrip, bin/prepinfo, bin/preplib, bin/prepman,
	  bin/prepstrip, bin/quickpkg, bin/regenworld, bin/repoman,
	  bin/xpak: update copyright years

2006-01-05 03:41  vapier

	* [r2525] bin/fowners, bin/fperms: sync with savior branch

2006-01-04 08:57  ferringb

	* [r2522] pym/portage_dep.py: el buggo pointed out via spyderous.
	  || ( a ( x? ( b ) y? ( c ) ) ) -x -y , 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.

2006-01-04 01:50  vapier

	* [r2521] bin/preplib: use an echo rather than ewarn

2006-01-03 05:00  vapier

	* [r2520] bin/isolated-functions.sh: re-import the e* functions
	  from baselayout since these ones are broken #117186

2006-01-03 03:27  vapier

	* [r2519] bin/isolated-functions.sh: fix broken quoting

2006-01-03 03:25  vapier

	* [r2518] bin/isolated-functions.sh: if youre going to rip code
	  from baselayout, you really need to do it from an up-to-date
	  version ... so re-import the KV functions and the color code so
	  it doesnt suck

2006-01-01 19:14  solar

	* [r2517] pym/portage.py: - added writemsg_stdout function and make
	  portage use it internally

2006-01-01 19:12  solar

	* [r2516] pym/portage_util.py: - added writemsg_stdout function and
	  make portage use it internally

2006-01-01 05:57  jstubbs

	* [r2515] pym/output.py: Kill the double xterm title codes.

2005-12-31 05:27  jstubbs

	* [r2510] bin/ebuild.sh: Add CTARGET back into the list of vars to
	  be written out for installed packages.

2005-12-31 05:25  jstubbs

	* [r2509] pym/portage.py: Redo virtuals code that relied on
	  unique_array keeping the original order.

2005-12-31 05:19  jstubbs

	* [r2508] bin/ebuild.sh: BUILDIR => BUILDDIR

2005-12-31 05:05  jstubbs

	* [r2507] bin/ebuild.sh: Update the `touch .unpacked` error message
	  to output the actual path in order to match the other touch error
	  messages.

2005-12-31 04:20  jstubbs

	* [r2505] man/emerge.1: Updated --pretend example to document new
	  USE flag displays.

2005-12-31 03:58  jstubbs

	* [r2504] bin/emerge: Unify the -p and -pv USE display functions
	  and IUSE additions in yellow followed by a "%" character.

2005-12-30 07:19  jstubbs

	* [r2498] pym/portage.py, pym/portage_checksum.py: Check and raise
	  an exception when a hash function is missing during digesting.

2005-12-30 06:48  jstubbs

	* [r2497] pym/elog_modules/mod_mail.py: Split email addresses on
	  the final "@" so as to allow "@" within the username portion of
	  the address.

2005-12-30 06:37  jstubbs

	* [r2496] pym/portage.py: Convert digest failure information to
	  strings for printing.

2005-12-30 04:10  jstubbs

	* [r2495] pym/portage.py: Don't attempt to chmod/chown unless
	  running as root when calling simple ebuild functions.

2005-12-30 04:02  jstubbs

	* [r2494] pym/portage.py: Don't download distfiles when
	  manifesting.

2005-12-30 03:34  jstubbs

	* [r2493] bin/emerge: Don't print emaint warning for
	  masked/non-existant packages. When using --verbose, print a
	  warning for those packages.

2005-12-30 03:25  jstubbs

	* [r2492] bin/emaint: Remove tests for masked/unavailable packages.

2005-12-29 11:03  vapier

	* [r2491] bin/repoman: tweak multiline whitespace display cause i'm
	  anal like that

2005-12-27 13:15  ferringb

	* [r2490] pym/portage_util.py: revert down to 2.3 python
	  requirement via avoiding sorted

2005-12-27 06:12  ferringb

	* [r2489] pym/portage_exec.py: whitespace corrections, single space
	  between funcs, double between class blocks...

2005-12-27 06:09  ferringb

	* [r2488] pym/portage_util.py: linear unique_array lifted from
	  saviour, lifted from a python cookbook.

2005-12-27 06:07  ferringb

	* [r2487] pym/portage.py, pym/portage_util.py: ongoing portage_util
	  cleanup. removed grabint, writeint; rewrote stack_list to use a
	  dict rather then doing a crapload of linear searches.

2005-12-27 05:49  ferringb

	* [r2486] pym/portage.py, pym/portage_util.py: bye bye crap
	  grab_multiple function. list comp just as easily handles it.

2005-12-26 23:31  jstubbs

	* [r2485] bin/emerge: Modify portage's settings object rather than
	  the original env.

2005-12-26 22:01  solar

	* [r2484] man/make.conf.5: - add splitdebug FEATURE to make.conf.5

2005-12-26 20:09  solar

	* [r2483] bin/emerge: - export env variable PORTAGE_QUIET when
	  --quiet option is passed

2005-12-26 16:11  jstubbs

	* [r2482] bin/portageq: Sanitize the root parameter specified to
	  portageq.

2005-12-26 16:03  solar

	* [r2481] bin/ebuild.sh: - add back in 1 newline after trimming all
	  the extraneous ones

2005-12-26 15:42  solar

	* [r2480] bin/ebuild.sh: - update fatal qa error handling

2005-12-26 15:32  jstubbs

	* [r2479] bin/portageq: Export the ROOT environment variable when
	  using functions that take a <root>

2005-12-26 07:40  ferringb

	* [r2478] pym/portage.py: final cleanups for indirect distfiles,
	  exempt fetch phase also.

2005-12-26 07:20  ferringb

	* [r2477] pym/portage.py: don't generate the distfiles indirection
	  for digest/manifest doebuild calls

2005-12-26 06:56  vapier

	* [r2476] bin/ebuild.sh: quote a bit more

2005-12-26 06:55  vapier

	* [r2475] bin/ebuild.sh, pym/portage.py: rename BUILDDIR to
	  PORTAGE_BUILDDIR

2005-12-26 06:29  ferringb

	* [r2474] NEWS, bin/ebuild.sh, pym/portage.py: 'DISTFILES
	  indirection; access $BUILDDIR/distdir instead of $DISTFILES ,
	  thus blocking unstated access.

2005-12-25 21:31  solar

	* [r2473] bin/ebuild.sh: - consolidate noman noinfo nodoc into a
	  simple loop and use INSTALL_MASK. Add debug to default list of
	  MULTILIB_STRICT_EXEMPT=

2005-12-25 12:41  jstubbs

	* [r2472] bin/dohtml: Make dohtml return 1 when a passed file/dir
	  doesn't exist.

2005-12-25 11:00  jstubbs

	* [r2471] bin/emerge: Don't show any use flags when using --quiet.

2005-12-25 10:58  jstubbs

	* [r2470] bin/emerge: Don't try to resolve deps of blockers when
	  using --onlydeps.

2005-12-25 10:49  jstubbs

	* [r2469] pym/portage.py, pym/portage_dep.py: Remove the now
	  unnecessary USE="*" hack.

2005-12-25 10:37  jstubbs

	* [r2468] pym/portage.py: Allow overlays and the user profile to
	  extend arch.list.

2005-12-25 10:20  solar

	* [r2467] bin/ebuild.sh: - trim extraneous spaces tabs form feeds
	  and newlines

2005-12-25 10:17  jstubbs

	* [r2466] bin/repoman: Check for adequate spacing around "||", "("
	  and ")" tokens.

2005-12-25 10:05  ferringb

	* [r2465] bin/ebuild.sh: register_death_hook -> register_die_hook
	  thanks to axxo for the catch.

2005-12-25 10:01  ferringb

	* [r2464] RELEASE-NOTES: convert release notes over to upgrade
	  information

2005-12-25 09:58  ferringb

	* [r2463] NEWS: news file, releasenotes data schlopped into it,
	  plus couple of updates.

2005-12-25 09:42  ferringb

	* [r2462] bin/ebuild.sh: renaming the death hook registration func
	  to register_die_hook

2005-12-25 09:33  solar

	* [r2461] bin/emerge: - initial commit of post --sync hook.
	  postsync.d to come at a later time

2005-12-25 09:11  jstubbs

	* [r2460] pym/portage.py: Include symlinks themselves when checking
	  collision-protect.

2005-12-25 09:08  jstubbs

	* [r2459] pym/portage.py: Skip to next directory after one has been
	  removed in unmerge().

2005-12-25 09:01  solar

	* [r2458] bin/ebuild.sh: - use -n syntax like most of ebuild.sh

2005-12-25 08:39  jstubbs

	* [r2457] pym/portage.py: Only do one round of directory removal
	  attempts. As symlinks are now removed before directory removal
	  begins, more than one round is unnecessary.

2005-12-25 08:31  solar

	* [r2456] bin/ebuild.sh: - remove intermediate var entry

2005-12-25 08:04  jstubbs

	* [r2455] pym/portage.py: Factor out mtimedb saving code from
	  portageexit() into a new commit_mtimedb function and call that
	  rather than portageexit() after package updates.

2005-12-25 07:42  jstubbs

	* [r2454] pym/output.py: Use the env's PROMPT_COMMAND for resetting
	  xterm titles when available. Otherwise use
	  ${user}@${hostname}:${cwd}.

2005-12-25 07:27  solar

	* [r2453] bin/ebuild.sh: - only record vdb entries when the value
	  is non null

2005-12-25 07:04  jstubbs

	* [r2452] pym/portage.py: Fix mishandling of masked atoms in || (
	  .. ) dependencies.

2005-12-25 04:41  jstubbs

	* [r2450] pym/portage_util.py: Fix typo in writeints()

2005-12-24 09:56  ferringb

	* [r2447] pym/portage_util.py: bug 114133, write a tmp file then
	  rename it for write* funcs. This removes the possibility of out
	  of space errors to occur, and blocks unexpected flat out bails
	  (segfault fex) from hosing important files.

2005-12-24 09:20  jstubbs

	* [r2446] pym/portage_const.py: Limiting hashing to MD5 only until
	  behaviour improves in the case of the needed python module not
	  being installed. #116485

2005-12-24 09:17  jstubbs

	* [r2445] pym/portage.py: Treat symlinks similar to regular files
	  when unmerging and remove them if the mtime matches rather than
	  only removing them if the target is no longer valid.

2005-12-24 09:11  jstubbs

	* [r2444] bin/emaint: Fix an incorrect variable reference triggered
	  when using --fix and --check together. Patch by Ashley Stovall. #
	  116576

2005-12-23 12:38  jstubbs

	* [r2441] bin/emerge: Fix an incorrect comparision self-comparison
	  in USE change calculation.

2005-12-23 11:55  jstubbs

	* [r2440] bin/ebuild: Check if the specified package follows
	  correct syntax and error out if it doesn't.

2005-12-23 02:46  jstubbs

	* [r2439] pym/portage.py, pym/portage_util.py: Generalize
	  portage_util.dump_traceback() and make use of it if importing a
	  cache module fails.

2005-12-22 06:56  ferringb

	* [r2437] pym/portage.py: if you're going to print an exception,
	  bind the exception when you catch it

2005-12-22 03:47  vapier

	* [r2434] man/dispatch-conf.1, man/ebuild.1, man/ebuild.5,
	  man/emaint.1, man/emerge.1, man/env-update.1, man/etc-update.1,
	  man/make.conf.5, man/portage.5, man/quickpkg.1, man/repoman.1:
	  update date/version to stop people from pointless whining

2005-12-22 03:42  vapier

	* [r2433] man/emerge.1, man/make.conf.5, man/portage.5: finish
	  syncing manpages between trunk/savior

2005-12-22 02:21  vapier

	* [r2432] man/ebuild.5: quick sync manpages between trunk/savior

2005-12-21 16:10  jstubbs

	* [r2429] bin/ebuild.sh: Added /dev/{stdin,stdout,stderr} to the
	  default sandbox permissions.

2005-12-21 16:04  jstubbs

	* [r2428] bin/ebuild.sh: Mention bugs.gentoo.org when asking the
	  user to post config.log.

2005-12-21 16:00  jstubbs

	* [r2427] bin/emaint: Separate masked and unavailable ebuilds and
	  report that masked ebuilds can be handled with package.keywords
	  or package.unmask when they are detected.

2005-12-21 15:49  jstubbs

	* [r2426] pym/portage.py: Missing return on load_mod.

2005-12-21 15:43  jstubbs

	* [r2425] bin/emerge: Make --skipfirst imply --resume.

2005-12-21 15:35  jstubbs

	* [r2424] pym/portage.py: Check that cache modules load correctly
	  and fail if they don't.

2005-12-21 15:27  solar

	* [r2423] bin/emerge: - make quiet really mean it

2005-12-21 15:12  jstubbs

	* [r2422] bin/emerge: USE flags in the to-be-installed package's
	  IUSE but not in currently 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.

2005-12-21 14:57  jstubbs

	* [r2421] bin/emerge: Don't show enabled flags when not using
	  --verbose if they haven't changed since the last emerge. Show
	  enabled flags in red rather than green if the previously merged
	  package didn't support them.

2005-12-21 14:50  jstubbs

	* [r2420] bin/emerge: Push portage to the top of the system and
	  world lists when updating.

2005-12-21 14:48  jstubbs

	* [r2419] bin/emerge, pym/getbinpkg.py, pym/portage.py: Prevent
	  traceback on fetcher failure and properly check for error
	  conditions when fetching remote binary packages. #116276

2005-12-21 14:46  jstubbs

	* [r2418] pym/portage_dep.py: Fix an incorrect positional check in
	  *DEPEND parsing.

2005-12-21 14:16  jstubbs

	* [r2417] man/make.conf.5: Document the full-path-to-executable
	  requirement on FETCHCOMMAND and RESUMECOMMAND as well as the
	  relevant substitution placeholders.

2005-12-21 00:09  vapier

	* [r2416] bin/prepstrip: dont use string substitution as this
	  operation can be quite slow on older bash versions (<=3.0)
	  #116111

2005-12-20 14:49  jstubbs

	* [r2415] pym/portage.py: Remove old debugging related error
	  message.

2005-12-20 01:37  genone

	* [r2414] bin/mirror.py: update to work with the verbose error
	  messages

2005-12-20 01:31  genone

	* [r2413] RELEASE-NOTES: update with multi-hash stuff and verbose
	  digest errormessages, remove some not-so-important information.

2005-12-19 23:58  genone

	* [r2412] pym/portage.py, pym/portage_checksum.py: Make digest
	  errors more verbose

2005-12-19 22:29  genone

	* [r2410] pym/portage.py, pym/portage_checksum.py,
	  pym/portage_const.py: adding multi-hash support

2005-12-19 17:53  genone

	* [r2409] cnf/make.conf, cnf/make.conf.alpha, cnf/make.conf.amd64,
	  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
	  cnf/make.conf.mips, cnf/make.conf.ppc, cnf/make.conf.ppc64,
	  cnf/make.conf.s390, cnf/make.conf.sparc, cnf/make.conf.x86,
	  cnf/make.conf.x86-fbsd: quote vars inside PORTAGE_ELOG_COMMAND

2005-12-19 17:39  genone

	* [r2408] pym/elog_modules/mod_custom.py,
	  pym/elog_modules/mod_save.py: fix custom module (bug #116024)

2005-12-19 16:01  jstubbs

	* [r2407] pym/portage.py: Make the dep_zapdeps a little bit more
	  readable.

2005-12-19 14:27  jstubbs

	* [r2406] pym/portage.py: Check if atoms are masked when scanning
	  for which || ( ) atom/list to use.

2005-12-19 14:00  jstubbs

	* [r2405] pym/portage.py: Removed the now unnecessary dep_opconvert
	  portage function.

2005-12-19 12:21  ferringb

	* [r2404] pym/portage.py: further type -> isinstance cleanup in dep
	  crap

2005-12-19 12:20  ferringb

	* [r2403] pym/portage.py: moved cpv funcs out of the block of dep
	  funcs, removed some type usage (use isinstance instead), and
	  cleaned up some of the more c like code so it's pythonic...

2005-12-19 11:48  ferringb

	* [r2402] cnf/make.conf: use spaces for space aligned text (kind of
	  a duh)

2005-12-19 11:16  ferringb

	* [r2401] cnf/make.conf: added parallel-fetch in...

2005-12-18 16:41  jstubbs

	* [r2400] bin/emerge: Add USE display when --verbose is not used.
	  Only flags that are enabled, have changed or are new but disabled
	  are shown.

2005-12-18 16:13  jstubbs

	* [r2399] bin/emerge: Restore previous --verbose USE flag style and
	  prepare for a minimal flag display for when not using --verbose.

2005-12-18 14:02  jstubbs

	* [r2398] bin/emerge: Quick hack to work around the extra package
	  lookups in porttree when checking 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.

2005-12-18 11:38  ferringb

	* [r2397] pym/cache/anydbm.py: removed unnecessary
	  reconstruct_eclasses import

2005-12-18 11:07  ferringb

	* [r2396] bin/emerge, man/make.conf.5, pym/portage.py:
	  parallel-fetch, baby.

2005-12-18 11:02  ferringb

	* [r2395] pym/cache/anydbm.py, pym/cache/template.py: couple of
	  tweaks. fixed up whitespacing for template, added a default
	  __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

2005-12-17 17:13  jstubbs

	* [r2393] pym/cache/anydbm.py: Unpack the _eclasses_ value as it's
	  packed by the database template's __setitem__ method.

2005-12-17 10:43  jstubbs

	* [r2392] bin/emerge: Check if packages listed in the --resume list
	  have been removed from the relevant trees and report the problem.
	  #103564

2005-12-17 07:48  jstubbs

	* [r2390] ChangeLog, ChangeLog.000: Remove old ChangeLog files as
	  they will now be auto-generated from commit messages.

2005-12-17 05:59  jstubbs

	* [r2389] bin/emerge, pym/portage.py: Check if atoms with matching
	  keys will result in higher versioned packages when dealing with
	  || ( ) type dependencies. #100876

2005-12-17 05:40  jstubbs

	* [r2388] bin/prepall: Remove duplicate if statement.

2005-12-17 05:34  jstubbs

	* [r2387] bin/ebuild: Fix missing ":" on except line.

2005-12-17 03:32  vapier

	* [r2386] bin/preplib: deprecate preplib

2005-12-17 02:26  jstubbs

	* [r2385] bin/emerge: Add --verbose to the list of options that
	  need to be removed from those pulled from the mtimedb when using
	  --resume. Patch by Alec Warner (antarus). Code-style cleanups.
	  #74990

2005-12-17 02:20  vapier

	* [r2384] man/ebuild.5: remove preplib/preplib.so docs

2005-12-17 02:19  vapier

	* [r2383] bin/preplib.so: nothing uses it so no point in keeping it
	  ... plus the ldconfig calls are glibc specific

2005-12-17 02:14  jstubbs

	* [r2382] bin/emerge: Fail if not running as root and --resume is
	  attempted. Patch by Alec Warner (antarus). #114550

2005-12-17 02:13  vapier

	* [r2381] bin/prepall: sync with savior branch

2005-12-17 02:00  vapier

	* [r2380] bin/ebuild.sh: add an add-ebuild-death-hook func so
	  people dont need to know about setting some variable

2005-12-17 01:55  jstubbs

	* [r2379] bin/ebuild: Catch KeyError exception throw from aux_get.

2005-12-17 00:48  vapier

	* [r2378] bin/ebuild.sh: touchup TEXTREL warning some more #115727

2005-12-17 00:29  vapier

	* [r2377] bin/ebuild.sh: cleanup textrel qa notice

2005-12-16 15:55  jstubbs

	* [r2376] bin/emerge: Prevent masked use flags from being shown in
	  packages' flag list. Colorize negated flags if they have changed.
	  Code style cleanups.

2005-12-16 15:40  jstubbs

	* [r2375] bin/emerge: Change unmatched ' to " in use flag output.

2005-12-15 14:58  solar

	* [r2374] bin/prepstrip: - initial commit of split elf debug code

2005-12-15 06:03  vapier

	* [r2373] pym/portage.py: ferringb says: i pity the fool who doesnt
	  use better style

2005-12-15 04:51  vapier

	* [r2372] pym/portage.py: Bug 115519 by Diego Petteno: Fix ldconfig
	  command ordering, add dragonfly support

2005-12-14 16:25  jstubbs

	* [r2368] pym/portage_const.py: Add USE_EXPAND_HIDDEN so that users
	  can extend it without killing off profile settings.

2005-12-14 06:28  ferringb

	* [r2365] pym/portage_exec.py: Use soft limit, not hard limit.

2005-12-13 15:51  jstubbs

	* [r2364] pym/portage.py: Prevent USE_EXPAND variables from
	  bypassing use.mask

2005-12-13 15:51  jstubbs

	* [r2363] bin/emerge: Separate and format USE_EXPAND based
	  variables found in IUSE.

2005-12-11 05:05  jstubbs

	* [r2360] pym/portage.py: Removed the specific check against
	  PORTAGE_CALLER with regard to fetching.

2005-12-10 20:02  vapier

	* [r2359] bin/portageq: add a -v (verbose) option to envvar for
	  easily generating output for use in bash scripts

2005-12-10 02:09  vapier

	* [r2358] pym/portage.py: fix the fetch/digest shortcuts so they
	  dont break normal runs of emerge/ebuild

2005-12-10 02:08  vapier

	* [r2357] bin/emerge: make the --quiet option useful, touchup
	  whitespace in a few places, and add --cols as short for --columns
	  for retards like myself who cant remember how to spell

2005-12-10 02:07  vapier

	* [r2356] bin/portageq: touchup in general, add support for
	  -h/--help, and delay importing portage so using -h/--help doesnt
	  blow goats because portage was imported

2005-12-10 01:59  vapier

	* [r2355] man/ebuild.5: fix whitespace in depend atom as point out
	  by chkno #114956

2005-12-10 01:39  jstubbs

	* [r2352] bin/repoman: Drop the virtuals related fatal errors down
	  to warnings.

2005-12-09 03:27  vapier

	* [r2350] bin/env-update.sh: dont run depscan.sh anymore

2005-12-09 03:22  vapier

	* [r2349] bin/emerge: eat whitespace -> YUM

2005-12-09 02:03  vapier

	* [r2348] pym/portage.py: only digest/fetch files when the
	  operation warrants it

2005-12-07 23:43  jstubbs

	* [r2347] bin/ebuild.sh, pym/portage.py: s/series/serious/ mistake

2005-12-07 23:22  vapier

	* [r2346] bin/ebuild.sh: run all elf QA checks before aborting, and
	  all some packages (like binary-only) to prevent aborting since
	  there isnt much we can do about those craptastic developers

2005-12-07 00:55  vapier

	* [r2345] bin/ebuild.sh: kill dead whitespace and make function def
	  style consistent

2005-12-07 00:51  vapier

	* [r2344] bin/ebuild.sh, pym/portage.py: cleanse maketest once and
	  for all

2005-12-07 00:49  vapier

	* [r2343] bin/ebuild.sh: get rid of duplicated Test phase message
	  in src_test()

2005-12-07 00:47  vapier

	* [r2342] bin/ebuild.sh: add a status message to src_compile() like
	  src_unpack()

2005-12-07 00:46  vapier

	* [r2341] bin/ebuild.sh: use emake -j1 in default src_test()
	  instead of make

2005-12-07 00:43  vapier

	* [r2340] pym/portage.py: if PORT_LOGDIR doesnt exist, then try to
	  create it automagically

2005-12-05 21:24  genone

	* [r2339] RELEASE-NOTES: add a user-friendly list of changes

2005-12-01 08:04  vapier

	* [r2325] man/repoman.1: Saleem Abdulrasool: document IUSE.invalid

2005-11-30 07:07  genone

	* [r2324] pym/portage.py, pym/portage_util.py: add an option to
	  grab* so that if they're given a directory they'll 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.

2005-11-29 06:00  vapier

	* [r2323] bin/ebuild: give a slightly better usage message

2005-11-29 03:44  vapier

	* [r2322] man/ebuild.1: compnerd: document manifest action

2005-11-27 15:47  jstubbs

	* [r2321] bin/ebuild.sh, bin/portageq: Kill of generation of
	  CDEPEND for binary and installed packages. Patch by solar.

2005-11-27 08:52  vapier

	* [r2319] bin/dodoc: Petteri says: exit with non-zero status if a
	  file wasnt found

2005-11-23 22:57  genone

	* [r2316] pym/portage.py: kill stupid message about 'masked by -*'

2005-11-22 05:19  vapier

	* [r2315] man/emerge.1: move --nocolor to OPTIONS instead of
	  ACTIONS #113225 by P Nienaber

2005-11-16 18:27  genone

	* [r2314] ., bin, cnf, man, pym, pym/cache, pym/elog_modules, qa,
	  qa/iuse, spec, src, src/bsd-flags, src/python-missingos: Also
	  ignore compiled python files in all subdirs ;)

2005-11-15 19:28  genone

	* [r2312] cnf/make.conf, cnf/make.conf.alpha, cnf/make.conf.amd64,
	  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
	  cnf/make.conf.mips, cnf/make.conf.ppc, cnf/make.conf.ppc64,
	  cnf/make.conf.s390, cnf/make.conf.sparc, cnf/make.conf.x86,
	  cnf/make.conf.x86-fbsd: config additions for elog

2005-11-15 18:07  ferringb

	* [r2311] bin/portageq: fix for portageq usage call (missing argv),
	  via Emanuele Giaquinta <e.giaquinta@glauco.it>

2005-11-15 00:28  vapier

	* [r2310] man/emaint.1: manpage for emaint #112510

2005-11-13 16:07  genone

	* [r2309] pym/portage.py, pym/portage_versions.py: Backport of
	  version code rewrite (bug 37406), should be completely backwards
	  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.

2005-11-13 15:03  genone

	* [r2308] pym/elog_modules/mod_syslog.py: minor glitch:
	  EBUILD_PHASES is a list, no need to split() it

2005-11-13 15:01  genone

	* [r2307] pym/elog_modules, pym/elog_modules/__init__.py,
	  pym/elog_modules/mod_custom.py, pym/elog_modules/mod_mail.py,
	  pym/elog_modules/mod_save.py, pym/elog_modules/mod_syslog.py:
	  First bunch of simple logging modules.

2005-11-13 14:49  genone

	* [r2306] bin/ebuild.sh, bin/isolated-functions.sh, pym/portage.py,
	  pym/portage_const.py: Add slightly modified elog_base patch
	  containing the basic framework for ebuild logging.

2005-11-13 11:28  vapier

	* [r2304] pym/portage_data.py: add NetBSD to the BSD list #112393

2005-11-13 11:22  vapier

	* [r2302] bin/ebuild.sh: tweak marking of D as readonly since we
	  need to play around with it in pkg_preinst

2005-11-13 08:57  ferringb

	* [r2301] bin/emerge: don't do a sort if just doing percentage for
	  emerge --metadata

2005-11-13 00:26  jstubbs

	* [r2299] pym/emergehelp.py: Documented `emerge --config` (#109496)

2005-11-13 00:20  jstubbs

	* [r2298] bin/emaint: Added a description of emaint to `emaint
	  --help`

2005-11-13 00:19  jstubbs

	* [r2297] man/emerge.1: Documented `emerge --config` (#109496)

2005-11-09 20:06  ferringb

	* [r2267] bin/ebuild.sh: pre/post hooks originally from 2.1, quick
	  rewrite by axxo for 2.0 Not to be used by ebuilds/eclasses (with
	  the sole exception of java eclass var reset till ebd is stabled),
	  this is user hooks.

2005-11-09 12:56  jstubbs

	* [r2266] bin/emerge: Limit --emptytree to only affect ${ROOT}
	  (#34887)

2005-11-09 12:52  jstubbs

	* [r2265] pym/portage_const.py: Add USE_EXPAND to INCREMENTALS
	  (#105304)

2005-11-08 12:19  jstubbs

	* [r2264] bin/emerge: Clean up reporting of the parent of an
	  unsatisfied atom.

2005-11-08 12:18  jstubbs

	* [r2263] cnf/make.conf.ppc: Updated make.conf.ppc as requested by
	  lu_zero (#102656)

2005-11-06 08:36  jstubbs

	* [r2262] .: Relocating current 2.0 branch to trunk.

2005-11-05 21:09  vapier

	* [r2260] clean up the last few sections so that they are
	  consistent

2005-11-05 06:14  ferringb

	* [r2259] bye bye you decrepit POS cache implementation.

2005-11-05 06:13  ferringb

	* [r2258] integration chunk of the cache subsystem patch. Will deal
	  with UNUSED_0* after this

2005-11-05 06:09  ferringb

	* [r2257] replacement cache subsystem that's gestated in 2.1 and
	  3.0. it rocks your world, baby.

2005-11-03 15:23  jstubbs

	* [r2256] Use os.path.splitext() rather than slicing strings to get
	  at file extensions. Patch by Jason Pepas.

2005-11-03 14:35  jstubbs

	* [r2255] Remove the now unused SANDBOX_PIDS_FILE

2005-11-03 14:34  jstubbs

	* [r2254] A couple of bug fixes, large cleanups, commenting and a
	  bit of dead code removal.

2005-11-03 14:30  jstubbs

	* [r2253] Start from 1st element rather than 2nd when doing checks
	  on *DEPEND

2005-11-02 23:56  vapier

	* [r2252] document sandbox and test RESTRICT

2005-11-02 23:55  vapier

	* [r2251] fix patch for PKGDIR #111222 by Armand

2005-11-02 23:54  vapier

	* [r2250] grab fixes from trunk

2005-11-02 23:54  vapier

	* [r2249] deprecate IMAGE

2005-11-01 01:33  vapier

	* [r2225] add support for unpacking lha files

2005-11-01 01:33  vapier

	* [r2224] merge tweaks from trunk

2005-11-01 01:33  vapier

	* [r2223] if STRIP begins with a -, make sure type doesnt error out

2005-11-01 01:32  vapier

	* [r2222] output a finished message

2005-10-30 07:23  jstubbs

	* [r2203] Add treetype instance member to dblink. Add treetype
	  parameters to 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).

2005-10-29 04:25  jstubbs

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

2005-10-19 13:18  jstubbs

	* [r2150] Remove an extra space in a hyphenated string.

2005-10-19 13:15  jstubbs

	* [r2149] s/no/not/ typo

2005-10-16 15:25  jstubbs

	* [r2139] Removing --inject from emerge help summary

2005-10-16 14:27  jstubbs

	* [r2138] Clarifying the error message when path/to/ebuild is used
	  on an ebuild that isn't in a normal PORTDIR structure.

2005-10-16 08:46  jstubbs

	* [r2137] Typo :(

2005-10-16 08:25  jstubbs

	* [r2136] Return after detecting an invalid command line atom so as
	  to avoid spurious dependency errors.

2005-10-15 12:51  jstubbs

	* [r2135] Check if ebuild path is in vdb and check that vdb finds
	  it okay rather than 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.

2005-10-15 06:11  jstubbs

	* [r2134] Adjusting the clipping...

2005-10-15 06:09  jstubbs

	* [r2133] Adding svn revision property to portage.py's VERSION

2005-10-15 03:58  jstubbs

	* [r2132] Added missing quotes to stat_perms area of ebuild.sh
	  (#93293)

2005-10-14 12:12  jstubbs

	* [r2130] Take the str() of the option passed to the callback so it
	  can be compared usefully later on.

2005-10-13 12:40  jstubbs

	* [r2129] Use realpath instead of abspath to ensure that symlinks
	  are correctly accounted for.

2005-10-11 12:46  jstubbs

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

2005-10-11 07:34  ferringb

	* [r2122] reset EBUILD_DEATH_HOOKS prior to sourcing, due to
	  stable's re-sourcing of ebuild every run. god stable env handling
	  sucks. :/

2005-10-10 05:18  jstubbs

	* [r2119] Global var profiledir was only being set correctly when
	  portage was imported by emerge

2005-10-09 13:56  jstubbs

	* [r2118] cacheddir() would incorrectly return from the cache when
	  the cached entry is less than <mtime resolution> old. Fixed by
	  axxo.

2005-10-07 13:08  jstubbs

	* [r2117] Rework to API behaviour rather than API documentation

2005-10-06 18:24  ferringb

	* [r2116] removing unused sandbox dirs.

2005-10-06 18:23  ferringb

	* [r2115] nuking this directory, since it's no longer used.

2005-10-06 14:10  jstubbs

	* [r2114] Restore the old behaviour that was dropped in the big
	  refactoring by making --update implied by world or system
	  targets.

2005-10-05 20:18  jstubbs

	* [r2112] Make --newuse switch on --update

2005-10-05 19:21  jstubbs

	* [r2110] Reverting behaviour of ebuild when FEATURES="-noauto"

2005-10-05 18:45  jstubbs

	* [r2107] Be sure to reset settings changes before each package is
	  merged.

2005-10-05 17:39  ferringb

	* [r2106] added EBUILD_DEATH_HOOKS , a way for ebuilds/eclasses to
	  register extra messages to spew if die is triggered

2005-10-05 17:33  jstubbs

	* [r2105] Restoring the metadata EAPI check code-style to match
	  that of the ebuild EAPI check.

2005-10-05 17:14  ferringb

	* [r2104] tweak, since the logic I just replaced was wrong (go me)

2005-10-05 17:11  ferringb

	* [r2103] save _mtime_ when EAPI nukes a cache entry, and a tweak
	  to the supported eapi check so it's lenient about spaces

2005-10-05 16:58  jstubbs

	* [r2102] Account for empty EAPI

2005-10-05 16:21  jstubbs

	* [r2101] Exclude distcc and and ccache setup from the "setup"
	  phase. Also make the redundant CCACHE_DIR default match what the
	  python side sets.

2005-10-05 15:49  jstubbs

	* [r2099] Make dispatch-conf's log file have 0600 permissions.

2005-10-05 15:42  jstubbs

	* [r2098] Add new tool to check and fix problems with the world
	  file (to begin with)

2005-10-05 15:40  jstubbs

	* [r2097] Suggest running emaint when problems with the world file
	  are detected.

2005-10-05 12:05  jstubbs

	* [r2096] Always return a list of the same length as the query in
	  vardbapi.aux_get()

2005-10-04 16:01  jstubbs

	* [r2089] Add path to utf-8 checks so that repoman doesn't break
	  outside of the package dir

2005-10-04 15:56  ferringb

	* [r2088] god this module sucked. Removed all of the duplicate
	  code.

2005-10-04 15:56  jstubbs

	* [r2087] Extra bracket typo :(

2005-10-04 15:17  jstubbs

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

2005-10-04 14:31  ferringb

	* [r2085] don't declare -r the contents, declare -r the var name.

2005-10-04 14:25  jstubbs

	* [r2084] Big cleanup and added check regarding chosen ebuild.

2005-10-04 14:13  ferringb

	* [r2083] bug 107770 , fix A D and a few other vars being set
	  implicitly by readonly protection during setup phase.

2005-10-03 13:33  jstubbs

	* [r2082] Warn and ignore on invalid system/world atoms

2005-10-03 13:32  jstubbs

	* [r2081] Remove app-portage/portage-docs files from portage-2.0
	  branch

2005-10-03 13:28  ferringb

	* [r2080] final fixup (ebuild nameerror)

2005-10-03 13:25  ferringb

	* [r2079] fixing horkage when noauto is in use (nameerrors)

2005-10-02 14:50  jstubbs

	* [r2076] Make sure to include package.use flags with
	  fetch-restricted packages

2005-10-02 14:47  jstubbs

	* [r2075] Specify ebuildpath to merge() when using qmerge

2005-10-02 14:30  jstubbs

	* [r2074] Pass use list rather than config obj to
	  portdbapi.fetch_check()

2005-10-02 14:29  jstubbs

	* [r2073] Fix typo wrt to lamba usage.

2005-10-02 03:52  ferringb

	* [r2070] saner handling of selinux_enabled

2005-10-01 15:30  jstubbs

	* [r2069] Remove the specific dependency on python-2.2.

2005-10-01 15:29  jstubbs

	* [r2068] Restore full range of possible atoms that can be given to
	  emerge by doing atom validity checks using a dummy category if
	  necessary.

2005-10-01 10:41  jstubbs

	* [r2066] Check if invalid atoms are only missing a category and
	  let those pass.

2005-10-01 09:12  ferringb

	* [r2065] touches up on file.name check, part of glep31

2005-10-01 07:52  ferringb

	* [r2064] fixed ebuild so ebuild some-ebuild clean setup unpack #
	  works like ebuild some-ebuild clean unpack

2005-09-29 16:45  jstubbs

	* [r2063] Sort digests and manifests (to look nice and making them
	  diff'able)

2005-09-29 16:44  jstubbs

	* [r2062] Add some more info about where the problem is coming from
	  when atoms cannot be resolved.

2005-09-29 16:43  jstubbs

	* [r2061] Make depclean a little friendler (so that perhaps people
	  will read the messages? ;)

2005-09-29 16:42  jstubbs

	* [r2060] Ignore packages in system/world that are satisfied by
	  packages in package.provided.

2005-09-29 16:41  jstubbs

	* [r2059] Ignore files (such as metadata.xml) within portdir
	  category dirs.

2005-09-29 16:38  jstubbs

	* [r2058] Ignore blockers when fetching.

2005-09-29 16:37  jstubbs

	* [r2057] Remove specific reference to the Gentoo Handbook.

2005-09-29 16:36  jstubbs

	* [r2056] Refactored world graphing code to reuse the standard
	  dependency resolution paths.

2005-09-29 16:35  jstubbs

	* [r2055] Add -i to FBSD's ldconfig as requested.

2005-09-29 16:35  jstubbs

	* [r2054] Update the casing of "linux" on the default distfile
	  mirror.

2005-09-29 16:34  jstubbs

	* [r2053] Harmless typo in signal catcher.

2005-09-29 16:33  jstubbs

	* [r2052] Prevent globbed atoms from having relative operators.

2005-09-29 16:32  jstubbs

	* [r2051] Fix incorrect Exception when checking LOGDIR permissions

2005-09-29 16:32  jstubbs

	* [r2050] Adhere to USE flags passed into fetch()

2005-09-29 16:31  jstubbs

	* [r2049] Security checks regarding installation of world-writable
	  files.

2005-09-29 16:30  jstubbs

	* [r2048] Validation of user atoms.

2005-09-29 16:29  jstubbs

	* [r2047] add --newuse short option to emerge help

2005-09-29 16:29  jstubbs

	* [r2046] remove CDEPEND ignore RDEPEND on --buildpkgonly

2005-09-29 16:28  jstubbs

	* [r2045] overridable lchown/lchgrp

2005-09-29 16:27  jstubbs

	* [r2044] zmedico's prelink optimization

2005-09-28 06:06  ferringb

	* [r2035] fixups to EAPI handling.

2005-09-28 05:35  ferringb

	* [r2034] file.name fixup for glep31 checks.

2005-09-28 04:45  ferringb

	* [r2033] bye bye global portageq's.

2005-09-28 00:02  ferringb

	* [r2032] eapi fix up for installation.

2005-09-26 23:45  ferringb

	* [r2026] typo fix.

2005-09-24 19:13  ferringb

	* [r2025] emerge --metadata ran as user, and silenced auxdb
	  Corruption exceptions when doing metadata transfer.

2005-09-24 18:51  ferringb

	* [r2024] update so that int 0 is stored (change to the logic test
	  for storing null vals)

2005-09-24 18:41  ferringb

	* [r2023] correction of eapi transfer for metadata -> local cache

2005-09-24 17:54  ferringb

	* [r2022] EAPI awareness, and flat_hash/flat_list autodetection for
	  rysnc cache.

2005-09-24 02:56  ferringb

	* [r2021] cleanse_cache cleanups.

2005-09-24 02:53  ferringb

	* [r2020] bug 106544 , glep31 enforcement checks

2005-09-24 00:28  vapier

	* [r2019] man/repoman.1: repoman will work in any portage tree, but
	  the commit option will only work in a cvs tree

2005-09-24 00:26  vapier

	* [r2018] man/ebuild.5: use() is silent, update notes

2005-09-20 22:05  ferringb

	* [r2014] syntax error (wth?), fixed it.

2005-09-20 13:20  ferringb

	* [r2012] added the bug number I missed on previous commit.

2005-09-20 13:13  ferringb

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

2005-09-18 04:38  vapier

	* [r1998] ChangeLog, bin/etc-update: add a sanity check for diff
	  before using it #48184

2005-09-16 02:27  vapier

	* [r1996] document the -* KEYWORD #97165

2005-09-08 16:31  ferringb

	* [r1992] fixing unpack so it works once again for tar :/

2005-09-08 13:55  jstubbs

	* [r1991] Only warn on removal of system virtuals if there is only
	  one satisfying package.

2005-09-08 02:23  vapier

	* [r1990] backport local unpacking support from trunk and add
	  support for jar

2005-09-08 02:22  vapier

	* [r1988] bin/doman: if passing the -i18n option to doman, make
	  sure we eat the option and continue processing

2005-09-01 14:42  jstubbs

	* [r1960] 68928-spawn-command-isabs-zmedico.patch (spawn included
	  "." in PATH) 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)

2005-08-31 07:44  ferringb

	* [r1954] don't commit the remenants from applying a patch

2005-08-30 05:24  ferringb

	* [r1953] bye bye mr. cvs_id_string

2005-08-30 05:24  ferringb

	* [r1952] this file should've been killed long ago.

2005-08-30 05:16  ferringb

	* [r1951] header changes, $Header: -> $Id:

2005-08-30 04:07  ferringb

	* [r1947] re-adding the unpack function to stable someone yanked...
	  :)

2005-08-28 08:37  jstubbs

	* [r1941] Migration (without history) of the current stable line to
	  subversion.

