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: