| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Avoid "TypeError: keywords must be strings" issue triggered
by unicode_literals: http://bugs.python.org/issue4978
|
|
|
|
|
| |
This helps to ensure consistent results, regardless of whether we're
using Python 2 or Python 3.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This broke in commit 09de8dc47ec48af2276dfa098dd5e1d3d09ddbdd.
|
|
|
|
| |
This broke in commit 09de8dc47ec48af2276dfa098dd5e1d3d09ddbdd.
|
|
|
|
| |
This fixes potential issues similar to those reported in bug #310789.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Refer to 4-slot-abi.docbook for a full description.
|
| |
|
|
|
|
|
| |
This check is redundant, since the portdbapi constructor already has
special SANDBOX_ON / SANDBOX_WRITE handling.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
See discussion on gentoo-pms mailing list here:
http://archives.gentoo.org/gentoo-pms/msg_1f76a55d04b4f2a3721cddc611434aad.xml
|
|
|
|
| |
workaround for http://bugs.python.org/issue14007.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|