summaryrefslogtreecommitdiff
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
* If deepcopy() raises a TypeError for a lazy item that has been added via aZac Medico2009-02-241-3/+15
| | | | | | | call to LazyItemsDict.addLazySingleton(), automatically evaluate the the singleton and instead call deepcopy() on the result. svn path=/main/trunk/; revision=12704
* Make USE_EXPAND wildcard expansion more efficient, and prevent possibleZac Medico2009-02-231-4/+5
| | | | | | duplicates. svn path=/main/trunk/; revision=12703
* Fix breakage in USE_EXPAND wildcard handling, from r12697.Zac Medico2009-02-231-2/+5
| | | | svn path=/main/trunk/; revision=12702
* Fix headers that contain $Header instead of $Id.Zac Medico2009-02-237-12/+12
| | | | svn path=/main/trunk/; revision=12701
* In LazyItemsDict, avoid storing empty lists and dicts when no positional orZac Medico2009-02-231-0/+8
| | | | | | keyword arguments are given. svn path=/main/trunk/; revision=12700
* In config.setcpv(), increase efficiency by filtering USE with IUSE beforeZac Medico2009-02-231-5/+5
| | | | | | | calculating USE_EXPAND variables. Also use a generator expression instead of a list comprehension in the USE_EXPAND generation code. svn path=/main/trunk/; revision=12697
* Fix getmaskingstatus() so that it doesn't inappropriately return aZac Medico2009-02-231-3/+7
| | | | | | | 'missing keyword' mask is some cases when the user has ** in package.keywords. Thanks to Raúl Porcel <armin76@g.o> for reporting. svn path=/main/trunk/; revision=12696
* Fix default_encoding logic in _ensure_default_encoding().Zac Medico2009-02-231-1/+2
| | | | svn path=/main/trunk/; revision=12695
* Reorganize _ensure_default_encoding().Zac Medico2009-02-231-47/+46
| | | | svn path=/main/trunk/; revision=12694
* Revert vardbapi._owners_cache_version and unicode handling since it needsZac Medico2009-02-231-3/+3
| | | | | | some more work. svn path=/main/trunk/; revision=12693
* Don't try to call setdefaultencoding() since it's not intended to be called.Zac Medico2009-02-231-10/+6
| | | | svn path=/main/trunk/; revision=12692
* When displaying reverse dependencies in verbose --depclean/--prune output,Zac Medico2009-02-231-2/+11
| | | | | | sort the parent packages by cpv. svn path=/main/trunk/; revision=12691
* Bump vardbapi._owners_cache_version from 1 to 2 since hash value encodingZac Medico2009-02-231-1/+1
| | | | | | is now hardcoded as utf_8. svn path=/main/trunk/; revision=12690
* When encoding strings inside vardbapi._counter_hash() andZac Medico2009-02-231-2/+4
| | | | | | | | | vardbapi._owners_cache._hash_str(), use 'backslashreplace' in order to avoid potential UnicodeError exceptions. Use constant ascii and utf_8 codecs, respectively, since these codecs are guaranteed to be available by _ensure_default_encoding(). svn path=/main/trunk/; revision=12689
* Add support in _ensure_default_encoding(), add support for utf_8 and fallZac Medico2009-02-231-30/+98
| | | | | | | back to utf_8 if the encoding returned by sys.getdefaultencoding() is unavailable. svn path=/main/trunk/; revision=12688
* When decoding term codes inside the JobStatusDisplay constructor, use theZac Medico2009-02-221-1/+2
| | | | | | | 'replace' error handling scheme in order to avoid triggering a potential UnicodeError. svn path=/main/trunk/; revision=12687
* In EbuildFetchonly.execute(), skip builddir creation when the ebuild doesZac Medico2009-02-221-4/+26
| | | | | | | not set RESTRICT=fetch (since it's not possible for pkg_nofetch to be executed in this case). svn path=/main/trunk/; revision=12686
* Avoid spurious CCACHE_DIR permissions adjustments when fetching withZac Medico2009-02-221-1/+4
| | | | | | | a temporary PORTAGE_TMPDIR setting (for fetchonly). Thanks to Marat Radchenko <slonopotamusorama@gmail.com> for reporting. svn path=/main/trunk/; revision=12685
* The python that's inside stage 1 or 2 is built with a minimalZac Medico2009-02-221-0/+58
| | | | | | | | | | | | | | 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. svn path=/main/trunk/; revision=12684
* Use a lock to ensure that threaded code doesn't cause problems with proxyZac Medico2009-02-221-15/+36
| | | | | | registration and unregistration. svn path=/main/trunk/; revision=12683
* Use lazyimport to avoid importing the portage.elog module when portage isZac Medico2009-02-221-2/+2
| | | | | | initially imported. svn path=/main/trunk/; revision=12682
* Use lazyimport to avoid importing the dep, output, update, and versionsZac Medico2009-02-229-26/+21
| | | | | | modules when portage is initially imported. svn path=/main/trunk/; revision=12681
* Use lazyimport to avoid importing the checksum, locks, and util modulesZac Medico2009-02-2212-36/+81
| | | | | | when portage is initially imported. svn path=/main/trunk/; revision=12680
* Fix _LazyImportFrom to use the correct module name when registering andZac Medico2009-02-221-11/+14
| | | | | | unregistering. svn path=/main/trunk/; revision=12679
* Make lazyimport proxies trigger automatic destruction of other proxies forZac Medico2009-02-221-0/+33
| | | | | | | modules that have been imported. This way, destruction of a single proxy can trigger destruction of all the rest. svn path=/main/trunk/; revision=12678
* Fix typo in __all__.Zac Medico2009-02-221-1/+1
| | | | svn path=/main/trunk/; revision=12677
* Reduce bloat in portage.util by splitting ObjectProxy and lazyimport into aZac Medico2009-02-225-184/+215
| | | | | | new portage.proxy package. svn path=/main/trunk/; revision=12676
* Make lazy_import() skip proxy creation for modules that already existZac Medico2009-02-221-8/+19
| | | | | | in sys.modules. svn path=/main/trunk/; revision=12675
* Make the UserDict and LazyItemsDict constructors use an optional positionalZac Medico2009-02-213-8/+25
| | | | | | argument instead of a keyword argument. svn path=/main/trunk/; revision=12674
* In config.setcpv(), use LazyItemsDict to implement lazy evaluation ofZac Medico2009-02-212-8/+58
| | | | | | | | | | | 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. svn path=/main/trunk/; revision=12673
* In LazyItemsDict, when a singleton is instantiated, replace the wrapper withZac Medico2009-02-211-12/+22
| | | | | | the singleton since the wrapper is no longer needed at this point. svn path=/main/trunk/; revision=12672
* Revert r12639 and use string.ascii_letters for python-3.0 compatibility.Zac Medico2009-02-211-1/+2
| | | | svn path=/main/trunk/; revision=12669
* Inside portage.spawn(), open files for logfile handling in binary mode, forZac Medico2009-02-211-3/+3
| | | | | | compatibility with python-3.0. svn path=/main/trunk/; revision=12668
* For python-3.0 compatibility, open files in binary mode insideZac Medico2009-02-211-3/+3
| | | | | | SpawnProcess._start(). svn path=/main/trunk/; revision=12666
* When loading vdb_metadata.pickle inside vardbapi._aux_cache_init(), inZac Medico2009-02-201-1/+9
| | | | | | | | order to avoid an extreme performance issue, disable buffering when opening the file under python-3.0. Unfortunately, performance is still poor relative to python-2.x, but buffering makes it much worse. svn path=/main/trunk/; revision=12665
* In python-3.0, integer division results in a float, so convert back to int.Zac Medico2009-02-201-1/+1
| | | | svn path=/main/trunk/; revision=12663
* Fix StringIO imports so that 2to3 can handle them. Also, replace shlex +Zac Medico2009-02-204-27/+17
| | | | | | StringIO usage with shlex.split() where appropriate. svn path=/main/trunk/; revision=12662
* Add a new portage.utils.lazy_import() function which behaves similar to theZac Medico2009-02-203-30/+126
| | | | | | snakeoil.demandload.demandload() function. svn path=/main/trunk/; revision=12661
* Try to fix svn:keywords again.Zac Medico2009-02-201-2/+2
| | | | svn path=/main/trunk/; revision=12659
* Add back Rev to svn:keywords (accidentally removed when setting Id). ThanksZac Medico2009-02-191-1/+1
| | | | | | to ABCD for reporting. svn path=/main/trunk/; revision=12656
* When displaying the list of failed packages, tell the number that failed.Zac Medico2009-02-191-2/+7
| | | | | | Thanks to Jeremy Olexa <darkside@g.o> for the suggestion. svn path=/main/trunk/; revision=12655
* Make isvalidatom() identify empty slot as invalid (missing slot is valid) andZac Medico2009-02-192-0/+5
| | | | | | add a corresponding test case. svn path=/main/trunk/; revision=12654
* Optimize depgraph._dep_expand() to avoid calling pordbapi.cp_all(),Zac Medico2009-02-193-18/+8
| | | | | | | | since it can be more efficient to call cp_list() on each category. Thanks to Marat Radchenko <slonopotamusorama@gmail.com> for the suggestion. svn path=/main/trunk/; revision=12653
* Decode terminal codes from binary when necessary, for python-3.0 compatibilityZac Medico2009-02-191-0/+3
| | | | | | since sys.stdout is a text stream. svn path=/main/trunk/; revision=12649
* Handle ValueError when unpickling, since this can be triggered by anZac Medico2009-02-194-4/+4
| | | | | | unsupported pickle protocol. svn path=/main/trunk/; revision=12648
* Fix update() methods to work with python-3.0.Zac Medico2009-02-191-8/+24
| | | | svn path=/main/trunk/; revision=12647
* Tweak exception handling indentation to avoid a bug in 2to3.Zac Medico2009-02-191-2/+4
| | | | svn path=/main/trunk/; revision=12646
* For python-3.0 compatibility, encode strings as binary before trying to passZac Medico2009-02-191-2/+2
| | | | | | them to hashlib. svn path=/main/trunk/; revision=12645
* Tweak code to avoid python-3.0 errors like this one:Zac Medico2009-02-191-3/+9
| | | | | | SyntaxError: can not delete variable 'e' referenced in nested scope svn path=/main/trunk/; revision=12644
* Revert accidental python-3.0 syntax.Zac Medico2009-02-191-2/+2
| | | | svn path=/main/trunk/; revision=12643