summaryrefslogtreecommitdiffstats
path: root/pym/portage/__init__.py
Commit message (Collapse)AuthorAgeFilesLines
* Add workaround for Python 2.6.4 issue 4978Zac Medico2013-01-181-0/+9
| | | | | Avoid "TypeError: keywords must be strings" issue triggered by unicode_literals: http://bugs.python.org/issue4978
* Use unicode_literals more.Zac Medico2013-01-181-0/+2
| | | | | This helps to ensure consistent results, regardless of whether we're using Python 2 or Python 3.
* selinux: python3 unicode paths, bug #430488Arfrever Frehtes Taifersar Arahesis2013-01-141-0/+4
|
* Add portage._internal_caller var, and use it.Zac Medico2013-01-031-2/+2
|
* Handle closed sys.__stdin__, for multiprocessingZac Medico2012-12-151-0/+11
| | | | | | | Buggy code in python's multiprocessing/process.py closes sys.stdin and reassigns it to open(os.devnull), but fails to update the corresponding __stdin__ reference. So, detect that case and handle it appropriately. The buggy code is visible in http://hg.python.org/lookup/r73708.
* EAPI="5-progress": Add automatic unpack dependencies.Arfrever Frehtes Taifersar Arahesis2012-11-241-0/+1
|
* Move portage.dep._internal_warnings to portage.v2.2.0_alpha139Zac Medico2012-10-161-0/+3
|
* Handle missing mkfifo for Jython.Zac Medico2012-10-161-1/+6
|
* emerge: lazy imports, optimize --helpZac Medico2012-10-141-0/+1
|
* Bug #434970: Disable some warnings during `emerge --sync`.Arfrever Frehtes Taifersar Arahesis2012-10-141-0/+2
|
* Add experimental EAPI 5-hdepend support.Ambroz Bizjak2012-09-241-2/+2
|
* Deprecate EAPI 5_pre2.Zac Medico2012-09-211-2/+2
|
* Support EAPI="5-progress".Arfrever Frehtes Taifersar Arahesis2012-09-211-1/+1
|
* Deprecate EAPI 5_pre1.Zac Medico2012-09-131-2/+2
|
* chflags: fixed empty opts argumentv2.2.0_alpha127Zac Medico2012-09-121-1/+5
| | | | This broke in commit 09de8dc47ec48af2276dfa098dd5e1d3d09ddbdd.
* chflags: fixed octal flags format breakageZac Medico2012-09-111-1/+1
| | | | This broke in commit 09de8dc47ec48af2276dfa098dd5e1d3d09ddbdd.
* Replace getstatusoutput with unicode safe Popen.Zac Medico2012-09-111-14/+24
| | | | This fixes potential issues similar to those reported in bug #310789.
* Add EAPI 5_pre2 with features approved by councilZac Medico2012-09-111-1/+1
| | | | | | In the 9/11 council meeting, they approved everything in EAPI 5_pre1 except user patches. So, add EAPI 5_pre2 which is identical to EAPI 5_pre1 but with user patches (apply_user_patches) support removed.
* Enable EAPI 5_pre1 for testing.Zac Medico2012-09-011-1/+1
|
* Add experimental EAPI 4-slot-abi support.Zac Medico2012-06-221-1/+1
| | | | Refer to 4-slot-abi.docbook for a full description.
* Delete workaround for http://bugs.python.org/issue14007.Arfrever Frehtes Taifersar Arahesis2012-06-031-10/+0
|
* portageexit: skip SANDBOX_ON checkZac Medico2012-06-011-2/+1
| | | | | This check is redundant, since the portdbapi constructor already has special SANDBOX_ON / SANDBOX_WRITE handling.
* portageexit: skip secpass checkZac Medico2012-06-011-1/+1
| | | | | | The portdbapi should handle secpass already internally, and access to secpass here can trigger unnecessary instantiation of a config instance via the portage.data module.
* _pms_eapi_re: require whitespace before commentZac Medico2012-05-131-1/+1
| | | | | See discussion on gentoo-pms mailing list here: http://archives.gentoo.org/gentoo-pms/msg_1f76a55d04b4f2a3721cddc611434aad.xml
* Check type of xml.etree.ElementTree.TreeBuilder before applyingArfrever Frehtes Taifersar Arahesis2012-05-131-4/+10
| | | | workaround for http://bugs.python.org/issue14007.
* Add workaround for http://bugs.python.org/issue14007.Arfrever Frehtes Taifersar Arahesis2012-05-121-0/+4
|
* Parse EAPI with pattern from PMS section 7.3.1.Zac Medico2012-05-091-19/+15
| | | | | | | | 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.
* create_trees: pass __PORTAGE_TEST_HARDLINK_LOCKSZac Medico2011-12-141-1/+2
| | | | | | This allows testing of stage builds with __PORTAGE_TEST_HARDLINK_LOCKS set in the environment, since __PORTAGE_TEST_HARDLINK_LOCKS needs to propagate to childs processes for all ROOTs.
* Make eprefix=None params map to const.EPREFIXZac Medico2011-12-101-1/+1
|
* create_trees: add public eprefix parameterZac Medico2011-12-091-4/+3
|
* config: make eprefix constructor parameter publicZac Medico2011-12-091-2/+2
|
* Use portage.const.EPREFIX more.Zac Medico2011-12-091-0/+2
|
* _trees_dict: define __slots__Zac Medico2011-10-281-0/+1
|
* create_trees: ensure trees is _trees_dict typeZac Medico2011-10-271-5/+10
|
* Use EROOT instead of ROOT for keys everywhere.Zac Medico2011-10-251-10/+10
| | | | | | | | | | It makes more sense to use EROOT instead of ROOT for keys in mappings like portage.db, since it allows for multiple prefixes to exist simultaneously within the same map without having a key collision. This affects all portageq commands which take a <root> parameter, since that parameter now corresponds to EROOT instead of ROOT. None of this makes any difference for non-prefix users, since EROOT and ROOT are identical when EPREFIX is empty.
* create_trees: save target_root for later useZac Medico2011-10-251-2/+12
|
* ResolverPlayground: use create_treesZac Medico2011-10-251-3/+5
|
* Use utf_8 'merge' encoding for all locales.v2.2.0_alpha55Zac Medico2011-09-091-18/+22
| | | | | | | | | | | | | | | | | | | | | | | Previously, we used sys.getfilesystemencoding() for the 'merge' encoding, but that had various problems: 1) If the locale is ever changed then it can cause orphan files due to changed character set translation. 2) Ebuilds typically install files with utf_8 encoded file names, and then portage would be forced to rename those files to match sys.getfilesystemencoding(), possibly breaking things. 3) Automatic translation between encodings can lead to nonsensical file names when the source encoding is unknown by portage. 4) It's inconvenient for ebuilds to convert the encodings of file names themselves, and upstreams typically encode file names with utf_8 encoding. So, instead of relying on sys.getfilesystemencoding(), we avoid the above problems by using a constant utf_8 'merge' encoding for all locales, as discussed in bug #382199 and bug #381509.
* abssymlink: fix inverted logic from last commitv2.2.0_alpha54Zac Medico2011-09-061-1/+1
|
* merge: avoid abssymlink readlink callZac Medico2011-09-061-2/+5
| | | | | | This will avoid the "OSError: [Errno 2] No such file or directory" that is triggered inside abssymlink if the merge encoding is not ascii or utf_8, as shown in bug #382021.
* Use utf_8 encoding for merge when ascii is configured.Zac Medico2011-09-011-3/+14
| | | | | | | It probably won't hurt, and forced conversion to ascii encoding is known to break some packages that install file names with utf_8 encoding (see bug #381509). The ascii aliases are borrowed from python's encodings.aliases.aliases dict.
* emerge: add simple unit testsZac Medico2011-08-281-2/+4
| | | | | | | These tests are similar to the repoman tests, using a __PORTAGE_TEST_EPREFIX environment variable to make emerge confine itself to a testing prefix so that things like install and uninstall operations can be performed.
* Improve a comment.Arfrever Frehtes Taifersar Arahesis2011-08-251-1/+1
|
* Avoid baseline subprocess import under python2.Zac Medico2011-07-121-2/+4
|
* Remove python-2.6 StringIO.StringIO fallback.Zac Medico2011-07-121-8/+0
| | | | | | | | Since the io module in python-2.6 was broken when threading was disabled, we needed to fall back from io.StringIO to StringIO.StringIO in this case (typically just for Gentoo's stage1 and stage2 tarballs). Now that python-2.7 is stable in stages and we rely on io.open() being available, we can also rely on io.StringIO being available.
* Remove unused codecs import.Zac Medico2011-07-101-1/+0
|
* Remove the _ensure_encodings module.Zac Medico2011-07-071-24/+0
| | | | | | | | This was only needed for ancient versions of python built with USE=build since the ebuilds used to remove the encodings module in that case. Since the StreamWriter and StreamReader classes may be deprecated in the near future, now would be a good time to stop using them.
* Add initial support for EAPI="4-python".Arfrever Frehtes Taifersar Arahesis2011-06-081-1/+1
|
* portdbapi: cleanup when base module is reloadedZac Medico2011-06-031-0/+29
| | | | | | | This prevents memory leaks via portdbapi.portdbapi_instances when the module is reloaded. Also, there's no need for ebuild(1) to call close_portdbapi_caches() since it's now handled automatically during the reload.
* Update timestamps in headers of modified files.Zac Medico2011-06-031-1/+1
|