| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
A new depgraph._expand_set_args() method adds nested SetArg instances
to the digraph, in order to record parent -> child relationships from
nested sets.
|
|
|
|
|
|
|
|
| |
depgraph._complete_graph().
With this patch, nested set traversal is only used for removal
operations like --depclean and --prune. A later patch will introduce
similar traversal for all operations, in order to solve bug #337540.
|
|
|
|
| |
DependencyArg.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
self._frozen_config.pkgsettings so that it has populated virtuals.
This solves allows us to avoid triggering an AssertionError reported
at http://forums.gentoo.org/viewtopic-t-844519.html with the following
traceback:
Calculating dependencies... done!
Traceback (most recent call last):
File "/usr/bin/emerge", line 43, in <module>
retval = emerge_main()
File "/usr/lib/portage/pym/_emerge/main.py", line 1683, in emerge_main
myopts, myaction, myfiles, spinner)
File "/usr/lib/portage/pym/_emerge/actions.py", line 204, in action_build
settings, trees, mtimedb, myopts, myparams, spinner)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6047, in resume_depgraph
myparams, spinner)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6070, in _resume_depgraph
skip_masked=skip_masked)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5617, in _loadResumeCommand
if not self._add_pkg(task, None):
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 893, in _add_pkg
pkgsettings.setinst(pkg.cpv, pkg.metadata)
File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 1757, in setinst
self._virtuals_manager.add_depgraph_virtuals(mycpv, virts)
File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 199, in add_depgraph_virtuals
self.getvirtuals()
File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 156, in getvirtuals
self._compile_virtuals()
File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 131, in _compile_virtuals
"any query about virtuals"
AssertionError: _populate_treeVirtuals() must be called before any query about virtuals
|
|
|
|
| |
This patch also drops flags with EAPI 4 use dep defaults from use.required.
|
|
|
|
| |
to masked or forced USE flags.
|
|
|
|
|
| |
change to parent USE is not a valid solution (a normal mask message should
be displayed instead).
|
| |
|
|
|
|
|
| |
for availability and visibilty checks. This provides consistency
with install operations, so we don't get install/uninstall cycles.
|
| |
|
|
|
|
| |
visiblity checks with self._pkg_visibility_check().
|
|
|
|
| |
object.
|
|
|
|
|
| |
USE settings for installed packages when --newuse is enabled in
cases when none of the packages match a given USE dep.
|
|
|
|
|
| |
Package instances whose root_config attribute is a specially optimized
RootConfig that has a FakeVartree instead of a real vartree.
|
|
|
|
| |
to packages in the FakeVartrees.
|
|
|
|
|
|
|
| |
_scheduler_graph_config instead of just a digraph. This new
object includes instances of FakeVartree and a package cache
that is pruned to contain only installed packages or those
in the digraph.
|
|
|
|
| |
sets.
|
|
|
|
| |
USE settings for installed packages when --newuse is enabled.
|
| |
|
| |
|
|
|
|
| |
and parent changes exist
|
|
|
|
| |
depgraph._show_unsatisfied_dep() calls it.
|
|
|
|
|
|
|
|
|
| |
stdout, so that app-portage/autounmask continues to work. Note that
depgraph.display_problems() temporarily overrides the stdout stream
to point to stderr, so mask messages shown there continue to go
to stderr. Maybe the emerge --autounmask will eventually make
app-portage/autounmask obsolete, but for now we should support both
approaches since emerge --autounmask is relatively experimental.
|
|
|
|
| |
to the front of the merge list when it is reinstalled.
|
|
|
|
|
|
|
|
|
| |
git.eclass or has 9999 in its version, trigger the 'use copy of current
sources for install, then restart portage' routine. This is required
since with the live git portage-9999 ebuild we can't use the version
to detect incompatible changes to ebuild.sh. This issue was noticed
due to recent versions of ebuild.sh expecting PORTAGE_BZIP2_COMMAND to
be set, causing incompatibility with installed portage-9999 instances.
|
|
|
|
|
| |
in the upcoming 2.1.9 branch which will not have sets support but will
still have the code in private and disabled form.
|
| |
|
|
|
|
|
|
| |
doesn't have a message, eliminate root nodes before calling
digraph.debug_print(). If --debug is enabled then do this even if
circular_dependency_handler has a message.
|
|
|
|
| |
Atom.violated_conditionals() raises InvalidAtom.
|
| |
|
|
|
|
| |
packages, no that it accounts for invalid metadata.
|
| |
|
| |
|
|
|
|
|
| |
the package is not installed and it should have been validated and masked
already if necessary.
|
|
|
|
|
|
|
| |
with invalid metadata, and remove show_invalid_depstring_notice()
calls for installed packages since depgraph.display_problems() will
now show the invalid metadata masking reasons when it displays installed
packages that are masked.
|
|
|
|
|
|
| |
to avoid invalid or masked installed packages when necessary. This is
especially important for invalid packages since they need be replaced
so that their dependencies can be parsed for --depclean operations.
|
|
|
|
|
|
| |
so that the depgraph won't select them unless they are already installed
and there is no other choice. This should trigger automatic reinstallation
of installed packages that have invalid metadata.
|
|
|
|
|
|
|
|
|
|
|
| |
depgraph._add_pkg_deps(), ignore invalid USE conditionals, since
these are a common problem and it's practical to ignore them for
installed packages.
TODO: For installed package, save any InvalidDependString info in
dynamic_config and wait until display_problems() to show it. For
packages that aren't installed, we should validate and mask them
before they are selected.
|
| |
|
|
|
|
|
|
| |
* Use iterators instead of sets for set.intersection() calls.
* Use digraph.__iter__ and __contains__ as shortcuts to digraph.nodes
access.
|
|
|
|
|
| |
allow_unstable_keywords is True before adding a package to
_needed_unstable_keywords.
|
| |
|
|
|
|
| |
TypeError: writemsg() got an unexpected keyword argument 'file'
|
|
|
|
| |
a good error message
|
|
|
|
| |
This also fixes some pkg.use.enabled / _pkg_use_enabled(pkg) bugs
|
| |
|
|
|
|
|
|
|
|
|
| |
classes, and use it in ResolverPlayground to emulate a prefix-like
environment. This fixes ResolverPlayground so that it doesn't have
to abuse the --root and --root-deps options in order to create a
testing environment. Instead it simply creates a temporary EPREFIX.
WARNING: EPREFIX/EROOT support is experimental and may be incomplete
for cases in which EPREFIX is non-empty.
|
|
|
|
|
| |
DEPEND and in the future we may have separate build-time dep types for
host and target.
|
|
|
|
| |
and use the pkg.built attribute instead.
|