| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This helps to ensure consistent results, regardless of whether we're
using Python 2 or Python 3.
|
|
|
|
|
| |
The raw metadata is considered a private low-level internal. This
makes the Package class consistent with the _pkg_str class.
|
| |
|
| |
|
|
|
|
|
| |
This will be needed in order to support stable use.mask/force for
bug #431078.
|
|
|
|
| |
This allows us to avoid extraneous use_reduce/paren_enclose calls.
|
| |
|
|
|
|
| |
These go along with commit a715b65f7bd36409c1283e6911265d1f4405ab7a.
|
|
|
|
|
|
|
|
|
|
| |
This is required in order for dep_zapdeps to work as intended for
solving cases of bug #264434 in which there is an installed
package that may need to be uninstalled in order to resolve blockers.
It fixes a failure to resolve blockers when attempting to replace
media-video/ffmpeg with media-video/libav (symptom is similar to
bug #339164, but with new-style virtual instead of old-style PROVIDE
virtual).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This should prevent the following error due to returning raw bytes,
reported in forum thread #869281:
File "pym/_emerge/BlockerDB.py", line 72, in findInstalledBlockers
portage.writemsg("!!! %s/*DEPEND: %s\n" % \
(pkg_location, atoms), noiselevel=-1)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in
position 23: ordinal not in range(128)
|
|
|
|
|
|
|
|
| |
Atoms are stored in the graph as (atom, id(atom)) tuples since each
atom is considered to be a unique entity. For example, atoms that
appear identical may behave differently in USE matching, depending on
their unevaluated form. Also, specially generated virtual atoms may
appear identical while having different _orig_atom attributes.
|
| |
|
|
|
|
|
|
|
|
| |
As mentioned in bug #353933, comment #4, special new-style virtual
atoms generated/distorted by _expand_new_virtuals() can prevent
extract_affecting_use() from working properly. This is fixed by
saving the original atoms so that the depgraph can map them back
into place at the appropriate step in dependency evaluation.
|
|
|
|
| |
AttributeError: 'tuple' object has no attribute 'use'
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
We need to evaluate conditionals for dependency matching purposes,
though the unevaluated atom will still be available later for other
purposes.
|
|
|
|
|
|
|
|
| |
This leads to a better unsatisfied USE message than the one reported
in bug 353933, comment #3. TODO: Fix it so that these generated
atoms don't break depgraph._get_dep_chain(), due to not being
identical to the original atoms and therefore breaking
extract_affecting_use().
|
| |
|
|
|
|
| |
Hopefully this will fix bug #350488.
|
|
|
|
|
|
|
|
|
| |
The current implementation doesn't provide anything to distinguish
it from use.mask, and it's arguable that another approach such as
an atom syntax extension (for optional dependencies) would be more
appropriate.
This reverts commit 93ee6a847be949e7752c3c052d3eb0619e408b43.
|
| |
|
|
|
|
| |
appropriately.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
constraints for installed packages since previous validation will
have already marked them as invalid when necessary and now we're
more interested in evaluating dependencies so that things like
--depclean work as well as possible in spite of partial
invalidity. Also, remove obsolete EAPI atom validation code from
_expand_new_virtuals() since it's handled by use_reduce() and
the Atom constructor now.
|
|
|
|
|
| |
and pass token_class=Atom in use_reduce() calls so that external
Atom.evaluate_conditionals() calls can be eliminated.
|
|
|
|
| |
eapi to use_reduce() when available.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This change makes paren_reduce and paren_normalize calls for use_reduce redundant,
resp. wrong. All consumers inside portage are adopted.
|
|
|
|
| |
new-style virtuals when appropriate.
|
|
|
|
| |
that will be useful for repoman atom display.
|
| |
|
|
svn path=/main/trunk/; revision=15462
|