Merged from trunk -r12671:12686
authorFabian Groffen <grobian@gentoo.org>
Mon, 23 Feb 2009 19:29:16 +0000 (19:29 -0000)
committerFabian Groffen <grobian@gentoo.org>
Mon, 23 Feb 2009 19:29:16 +0000 (19:29 -0000)
commit6570b4215d402acd68c33d7455d9f9708ef44744
tree5faad62652f85371d405ff965e44c7b020eac03f
parent6de1bf8cdb41ae7c3b920fd5d89ec476d5a8edeb
   Merged from trunk -r12671:12686

   | 12672   | In LazyItemsDict, when a singleton is instantiated, replace  |
   | zmedico | the wrapper with the singleton since the wrapper is no       |
   |         | longer needed at this point.                                 |

   | 12673   | In config.setcpv(), use LazyItemsDict to implement lazy      |
   | zmedico | evaluation of PORTAGE_IUSE. The PORTAGE_IUSE value is lazily |
   |         | evaluated since re.escape() is slow and the value is only    |
   |         | used when an ebuild phase needs to be executed (it's used    |
   |         | only to generate QA notices). Thanks to Marat Radchenko      |
   |         | <slonopotamusorama@gmail.com> for identifying this           |
   |         | performance issue and submitting the initial patch which     |
   |         | used a memoization approach instead of lazy evaluation.      |

   | 12674   | Make the UserDict and LazyItemsDict constructors use an      |
   | zmedico | optional positional argument instead of a keyword argument.  |

   | 12675   | Make lazy_import() skip proxy creation for modules that      |
   | zmedico | already exist in sys.modules.                                |

   | 12676   | Reduce bloat in portage.util by splitting ObjectProxy and    |
   | zmedico | lazyimport into a new portage.proxy package.                 |

   | 12677   | Fix typo in __all__.                                         |
   | zmedico |                                                              |

   | 12678   | Make lazyimport proxies trigger automatic destruction of     |
   | zmedico | other proxies for modules that have been imported. This way, |
   |         | destruction of a single proxy can trigger destruction of all |
   |         | the rest.                                                    |

   | 12679   | Fix _LazyImportFrom to use the correct module name when      |
   | zmedico | registering and unregistering.                               |

   | 12680   | Use lazyimport to avoid importing the checksum, locks, and   |
   | zmedico | util modules when portage is initially imported.             |

   | 12681   | Use lazyimport to avoid importing the dep, output, update,   |
   | zmedico | and versions modules when portage is initially imported.     |

   | 12682   | Use lazyimport to avoid importing the portage.elog module    |
   | zmedico | when portage is initially imported.                          |

   | 12683   | Use a lock to ensure that threaded code doesn't cause        |
   | zmedico | problems with proxy registration and unregistration.         |

   | 12684   | The python that's inside stage 1 or 2 is built with a        |
   | zmedico | minimal configuration which does not include the             |
   |         | /usr/lib/pythonX.Y/encodings directory. This results in      |
   |         | error like the following: LookupError: no codec search       |
   |         | functions registered: can't find encoding In order to solve  |
   |         | this problem, detect it early and manually register a search |
   |         | function for the ascii codec. Starting with python-3.0 this  |
   |         | problem is more noticeable because of stricter handling of   |
   |         | encoding and decoding between strings of characters and      |
   |         | bytes.                                                       |

   | 12685   | Avoid spurious CCACHE_DIR permissions adjustments when       |
   | zmedico | fetching with a temporary PORTAGE_TMPDIR setting (for        |
   |         | fetchonly). Thanks to Marat Radchenko                        |
   |         | <slonopotamusorama@gmail.com> for reporting.                 |

   | 12686   | In EbuildFetchonly.execute(), skip builddir creation when    |
   | zmedico | the ebuild does not set RESTRICT=fetch (since it's not       |
   |         | possible for pkg_nofetch to be executed in this case).       |

svn path=/main/branches/prefix/; revision=12698
18 files changed:
pym/_emerge/__init__.py
pym/portage/__init__.py
pym/portage/cache/mappings.py
pym/portage/data.py
pym/portage/dbapi/__init__.py
pym/portage/dbapi/bintree.py
pym/portage/dbapi/porttree.py
pym/portage/dbapi/vartree.py
pym/portage/elog/__init__.py
pym/portage/elog/messages.py
pym/portage/manifest.py
pym/portage/output.py
pym/portage/process.py
pym/portage/proxy/__init__.py [new file with mode: 0644]
pym/portage/proxy/lazyimport.py [new file with mode: 0644]
pym/portage/proxy/objectproxy.py [new file with mode: 0644]
pym/portage/update.py
pym/portage/util.py