| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This increases performance dramatically in cases when there are
hundreds of blockers to solve, like when when upgrading to a new slot
of kde-meta.
|
|
|
|
|
| |
Hopefully this helps for bug #340983, similar to how it did for
bug #291142.
|
| |
|
| |
|
|
|
|
|
| |
This include the ability to mask packages that don't satisfy all
parent atoms, from commit 9ff5e9731142d389373ea6ebc949919c3b637110.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents the following traceback which was reported in forum
thread 847007:
File "pym/_emerge/depgraph.py", line 3694, in _merge_order_bias
mygraph.order.sort(key=cmp_sort_key(cmp_merge_preference))
File "pym/portage/util/__init__.py", line 808, in __lt__
return self._cmp_func(self._obj, other._obj) < 0
File "pym/_emerge/depgraph.py", line 3675, in cmp_merge_preference
if node1.operation == 'uninstall':
AttributeError: 'SetArg' object has no attribute 'operation'
|
|
|
|
|
|
| |
The --buildpkgonly option does not negate the need for _load_vdb(),
at least not with the --resume option since otherwise the
select_pkg_from_graph() method fails to select installed packages.
|
| |
|
|
|
|
| |
to addition of repo to Package._hash_key.
|
|
|
|
|
|
|
|
|
|
| |
version if appropriate.
Generally, we mask the higher version since this solves common
cases in which a lower version is needed so that all dependencies
will be satisfied (bug #337178). However, if existing_node happens
to be installed then we mask that since this is a common case that
is triggered when --update is not enabled.
|
|
|
|
| |
to refer to the new pkg, not the one to_be_masked.
|
|
|
|
|
|
|
|
| |
bug #337178 and comment about reasoning for behavior.
We always mask existing_node since _select_package tries to avoid
slot conflicts when possible and therefore a conflict typically
means that existing_node was a poor choice.
|
|
|
|
|
|
|
|
|
|
|
| |
depgraph._show_missed_update_slot_conflicts() since the fix from
bug #337178.
When depgraph._add_pkg() was fixed to mask the higher version in
4bc78ab0b563697b98527eebcdfe474863383cf0, we didn't adjust the
parent_atoms variable so that it would contain parent atoms from
the versions being masked. This resulted in confusing messages from
depgraph._show_missed_update_slot_conflicts().
|
|
|
|
| |
list printer
|
| |
|
| |
|
|
|
|
| |
updates args with _set_args().
|
| |
|
| |
|
| |
|
|
|
|
| |
fix from bug #337540.
|
| |
|
|
|
|
| |
depgraph._show_unsatisfied_dep().
|
|
|
|
| |
sets.
|
|
|
|
| |
enabled.
|
| |
|
|
|
|
|
|
| |
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.
|