| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This will fix bug #375331.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Since StringIO.StringIO fallback was removed in commit
5df96179611ce0e98727945b1800b43daccedfc2, we can rely on
io.StringIO.getoutput() to return unicode, so there's no
need to call _unicode_decode on the result.
|
|
|
|
|
|
|
|
| |
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 is a major regression that has been triggering lots of complaints
about emerge --keep-going.
|
|
|
|
|
|
| |
Also, suppress this maintainer info from going to stdout since it's
intended for the log and it doesn't necessarily need to be visible
elsewhere. This will fix bug #374809.
|
|
|
|
|
|
| |
Due to a quirk in python import behavior, this only failed
nondeterministically. However, the new preinst sanity test in the
portage-9999 ebuild tends to trigger it more often for some people.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
This should make it easier to debug cases like bug 374423,
among others.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The flags from REQUIRED_USE were added to affecting_use, which was not
really necessary and was a bad idea because a number of flags in
affecting_use affects our number of loops exponentially. This will fix
bug #374397 in which the large number of flags in the REQUIRED_USE of
dev-lang/php-5.3.6-r1 triggered execution of 2 ^ 45 loops.
|
|
|
|
|
|
| |
Special handling for missing IUSE that was introduced in commit
9a193d42032005396800eb30e550691513529c79 is also useful in one
more spot.
|
|
|
|
|
| |
This might help in some cases like bug 374397 where we're
troubleshooting the circular_dependency code.
|
|
|
|
|
| |
Python's cartesian product function does exactly what we want, so use
it to simplify our code.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The feature is as it sounds- primarily useful for temporary
trees or instances where manifests aren't used.
Signed-off-by: Brian Harring <ferringb@gmail.com>
|
| |
|
| |
|
|
|
|
|
|
|
| |
This will allow us to safely use the ldconfig -X option for all
ldconfig calls, an thereby avoid having ldconfig override our own
soname symlink policy which allows preserve-libs to work correctly
when libraries are downgraded as discussed in bug 373341.
|
| |
|
| |
|
|
|
|
|
| |
This allows the merge list display to account for repository-level
USE_EXPAND and USE_EXPAND_HIDDEN settings (see bug #370693).
|
| |
|
| |
|
|
|
|
|
| |
Obviously, we don't want to consider the input cp as a possible
suggestion, as reported in bug 372033.
|
|
|
|
|
| |
This prevents get_dep_chain from triggering a KeyError some cases as
reported in bug #371767.
|
|
|
|
|
|
|
|
| |
Built/installed packages have frozen USE settings, so there's no sense
in considering them for autounmask USE config changes. They'll simply
be rejected by select_package, and an unbuilt ebuild will be selected
instead. This will fix bug 371423 by avoiding unnecessary use_reduce
calls on the deps of installed packages.
|
| |
|
|
|
|
|
|
|
|
|
| |
In the case of multiple runtime cycles, where some cycles
may depend on smaller independent cycles, it's optimal
to merge smaller independent cycles before other cycles
that depend on them. Therefore, we search for the
smallest cycle in order to try and identify and prefer
these smaller independent cycles.
|
| |
|
| |
|
|
|
|
|
|
| |
This allows us to avoid the less efficient runtime cycle pathway for
cases in which an asap node is a leaf if medium_soft deps are ignored.
Ths should increase efficiency without changing behavior.
|
| |
|
|
|
|
|
|
|
| |
When gathering the nodes belonging to a runtime cycle, we want to
minimize the number of nodes gathered, since this tends to produce
a more optimal merge order. Ignoring all medium_soft deps serves
this purpose.
|
| |
|
|
|
|
|
| |
This ensures that all asap_nodes are explored before setting
prefer_asap to False.
|
| |
|
|
|
|
| |
This code is only intended when more than one node is selected.
|
|
|
|
|
|
| |
When USE flags are removed, it can be essential to see all broken
reverse dependencies here, so don't omit any. If the list is long,
people can simply use a pager.
|