summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/EbuildMetadataPhase.py
Commit message (Collapse)AuthorAgeFilesLines
* EAPI="5-progress": Add automatic unpack dependencies.Arfrever Frehtes Taifersar Arahesis2012-11-241-0/+9
|
* PollScheduler: remove register/unregister methodsZac Medico2012-10-051-1/+1
| | | | | | | These methods were aliases for the EventLoop io_add_watch and source_remove methods. Migrating to the EventLoop method names allows an EventLoop instance to substitute for a PollScheduler inside subclasses of AbstractPollTask.
* egencache: skip auxdb write if not metadata-transZac Medico2012-09-151-3/+6
|
* Remove FEATURES=parse-eapi-ebuild-headZac Medico2012-08-291-4/+2
| | | | | | | | It's already been enabled by default in stable portage for awhile now, so it should be safe to enable it unconditionally. The PMS eapi-5 branch also says that it's mandatory to parse the EAPI: http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=91d1e1e39b034bde7e5b981a5616a127135f37fa
* Optimize sys.std* flush code.v2.2.0_alpha122Zac Medico2012-08-221-2/+3
|
* Use sys.__std*.fileno() in case of overrides.Zac Medico2012-08-221-6/+6
| | | | | This fixes AttributeError exceptions for API consumers that override sys.std* streams pseudo-file objects.
* Don't write or trust cache for unsupported EAPIs.Zac Medico2012-05-101-14/+32
| | | | | | Since we're supposed to be able to efficiently obtain the EAPI from _parse_eapi_ebuild_head, we don't need to write or trust cache entries for unsupported EAPIs.
* EbuildMetadataPhase: handle empty EAPI from bashZac Medico2012-05-091-1/+2
|
* Split out eapi_invalid function.Zac Medico2012-05-091-39/+9
|
* Parse EAPI with pattern from PMS section 7.3.1.Zac Medico2012-05-091-26/+86
| | | | | | | | This implements the specification that was approved in Gentoo's council meeting on May 8, 2012 (see bug #402167). The parse-eapi-ebuild-head FEATURES setting is now enabled by default, and causes non-conformant ebuilds to be treated as invalid. This behavior will soon become enabled unconditionally.
* Use IO_* constants where appropriate.Zac Medico2012-02-091-3/+2
|
* PollScheduler: glib.io_add_watch() compatibilityZac Medico2012-02-071-0/+2
|
* Handle OSError from os.read and loop if needed.Zac Medico2011-12-011-10/+13
| | | | | | Looping fixes EbuildMetadataPhase failures for ebuilds that produce more than 4096 bytes of metadata, broken since commit b432a1b3051d91546649e8f3190675767461d8e8.
* _emerge/EbuildMetadataPhase.py: use os.read()Zac Medico2011-12-011-7/+13
| | | | | | There's no need for a file object, and file objects introduce complexity that can lead to bugs as mentioned in bug 337465 comment 31, so use os.read() directly on the file descriptor.
* EbuildMetadataPhase: use /dev/null for stdinZac Medico2011-10-291-1/+3
|
* Remove unused root parameters from doebuild callsZac Medico2011-10-241-1/+1
|
* python3.2 fixes: "ResourceWarning: unclosed file"Zac Medico2011-10-171-3/+3
|
* EbuildMetadataPhase: avoid redundant EAPI parsingZac Medico2011-10-161-2/+4
|
* EbuildMetadataPhase: tweak metadata_callback usageZac Medico2011-10-151-3/+2
| | | | | For parse-eapi-ebuild-head, we want to assign self.metadata from the return value, for conformity with usage elsewhere.
* EbuildMetadataPhase: fix parse-eapi-ebuild-headZac Medico2011-10-151-2/+7
| | | | | This fixes bugs that can only be triggered by egencache since other callers handle parse-eapi-ebuild-head earlier.
* EbuildMetadataPhase: fix broken _metadata_callbackZac Medico2011-10-151-2/+2
| | | | | This fixes a regression in FEATURES=parse-eapi-ebuild-head support for egencache since commit 2ed1cb53cc4158af08c22d466b15b9a9a7767212.
* EbuildMetadataPhase: use b''.join() for bytesZac Medico2011-10-151-3/+3
|
* cache: rewrite to support arbitrary validation methodBrian Harring2011-10-141-7/+6
| | | | | | | | | | Specifically, the cache can use any portage supported checksum method, or use the standard mtime approach. In addition, support controlling whether or not paths are stored, and generally try to restore some of the centralization/encapsulation that was in place originally. (cherry picked from commit bc1aed614fb588f0ade5bcb5d1265a8db0f8d247) Change-Id: Ic38057e7dbb15063c64a93c99e66e113a7d4c70e
* Migrate from codecs.open() to io.open().Zac Medico2011-07-101-2/+2
| | | | | | | | | | | | | | | | | The io.open() function is the same as the built-in open() function in python3, and its implementation is optimized in python-2.7 and later. In addition to the possible performance improvement, this also allows us to avoid any future compatibility issues with codecs.open() that may arise if it is delegated to the built-in open() function as discussed in PEP 400. The main caveat involved with io.open() is that TextIOWrapper.write() raises TypeError if given raw bytes, unlike the streams returned from codecs.open(). This is mainly an issue for python2 since literal strings are raw bytes. We handle this by wrapping TextIOWrapper.write() arguments with our _unicode_decode() function. Also, the atomic_ofstream class overrides the write() method in python2 so that it performs automatic coercion to unicode when necessary.
* SubProcess: fix status for _set_returncode callerZac Medico2011-06-091-2/+2
| | | | | | These callers don't intend to make WIFSIGNALED return True, so they need to shift their codes 8 bits to the left. This ensures that commit 88f5bf84e2fd23125910b2ecaffc035971445696 behaves as intended.
* fdopen: read from processes in unbuffered modev2.2.0_alpha19Zac Medico2011-01-211-2/+2
| | | | | It doesn't make sense to use buffers in cases like this, and is potentially error prone (as in bug #287648 / python issue 5380).
* Fix SubProcess instances to call _set_returncode() when appropriate,Zac Medico2010-08-151-2/+2
| | | | instead of setting self.returncode directly.
* Remove unuser return values from PollScheduler event handlers.Zac Medico2010-08-151-1/+0
|
* GLEP 55 removalDaniel Robbins2010-07-061-3/+0
|
* Remove all svn $Id keywords.Zac Medico2010-03-241-1/+0
|
* Use dict.(keys|values|items)() instead of ↵Arfrever Frehtes Taifersar Arahesis2009-09-211-1/+1
| | | | | | | | dict.(iterkeys|itervalues|iteritems)() for compatibility with Python 3. (2to3-3.1 -f dict -nw ${FILES}) svn path=/main/trunk/; revision=14327
* Support both Python 2 and 3 in portage._unicode_encode() and ↵Arfrever Frehtes Taifersar Arahesis2009-09-211-1/+2
| | | | | | | | portage._unicode_decode(). Update decoding in some files. svn path=/main/trunk/; revision=14321
* Use filter() and zip() instead of itertools.ifilter() and itertools.izip() ↵Arfrever Frehtes Taifersar Arahesis2009-09-211-2/+1
| | | | | | | | for compatibility with Python 3. (2to3-3.1 -f itertools -f itertools_imports -nw ${FILES}) svn path=/main/trunk/; revision=14314
* Use _encodings where appropriate.Zac Medico2009-08-191-5/+10
| | | | svn path=/main/trunk/; revision=14100
* Update imports to import portage.os (with unicode wrappers), and useZac Medico2009-08-111-8/+3
| | | | | | _unicode_encode() and _unicode_decode() where appropriate. svn path=/main/trunk/; revision=13993
* Assume utf_8 encoding when reading raw ebuild metadata.Zac Medico2009-07-041-1/+3
| | | | svn path=/main/trunk/; revision=13785
* Add/update copyright headers.Zac Medico2009-06-251-0/+4
| | | | svn path=/main/trunk/; revision=13690
* Bug #275047 - Split _emerge/__init__.py into smaller pieces. Thanks toZac Medico2009-06-221-0/+132
Sebastian Mingramm (few) <s.mingramm@gmx.de> for this patch. svn path=/main/trunk/; revision=13663