summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-02-02 20:18:47 -0800
committerZac Medico <zmedico@gentoo.org>2011-02-02 20:18:47 -0800
commitbc41037a5ad34c8812fe1f4ac36a051660a0fca6 (patch)
tree119a1b7c5d09d2ee4a782d9b31a00f2803ad3a52 /pym/_emerge
parent93328d0d02f4f0f6ce3fbaad93e978148a130238 (diff)
downloadportage-bc41037a5ad34c8812fe1f4ac36a051660a0fca6.tar.gz
portage-bc41037a5ad34c8812fe1f4ac36a051660a0fca6.tar.bz2
portage-bc41037a5ad34c8812fe1f4ac36a051660a0fca6.zip
depgraph: skip backtrack for fatal errors
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/depgraph.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 920cd215f..d0ceb3384 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1598,6 +1598,7 @@ class depgraph(object):
if os.path.realpath(x) != \
os.path.realpath(self._frozen_config.trees[myroot]["bintree"].getname(mykey)):
writemsg(colorize("BAD", "\n*** You need to adjust PKGDIR to emerge this package.\n\n"), noiselevel=-1)
+ self._dynamic_config._skip_restart = True
return 0, myfavorites
pkg = self._pkg(mykey, "binary", root_config,
@@ -1623,6 +1624,7 @@ class depgraph(object):
if ebuild_path != os.path.join(os.path.realpath(tree_root),
cp, os.path.basename(ebuild_path)):
writemsg(colorize("BAD", "\n*** You need to adjust PORTDIR or PORTDIR_OVERLAY to emerge this package.\n\n"), noiselevel=-1)
+ self._dynamic_config._skip_restart = True
return 0, myfavorites
if mykey not in portdb.xmatch(
"match-visible", portage.cpv_getkey(mykey)):
@@ -1643,6 +1645,7 @@ class depgraph(object):
if not x.startswith(myroot):
portage.writemsg(("\n\n!!! '%s' does not start with" + \
" $ROOT.\n") % x, noiselevel=-1)
+ self._dynamic_config._skip_restart = True
return 0, []
# Queue these up since it's most efficient to handle
# multiple files in a single iter_owners() call.
@@ -1652,6 +1655,7 @@ class depgraph(object):
if not f.startswith(myroot):
portage.writemsg(("\n\n!!! '%s' (resolved from '%s') does not start with" + \
" $ROOT.\n") % (f, x), noiselevel=-1)
+ self._dynamic_config._skip_restart = True
return 0, []
lookup_owners.append(f)
else:
@@ -1673,6 +1677,7 @@ class depgraph(object):
noiselevel=-1)
portage.writemsg("!!! Please check ebuild(5) for full details.\n")
portage.writemsg("!!! (Did you specify a version but forget to prefix with '='?)\n")
+ self._dynamic_config._skip_restart = True
return (0,[])
# Don't expand categories or old-style virtuals here unless
# necessary. Expansion of old-style virtuals here causes at
@@ -1730,6 +1735,7 @@ class depgraph(object):
writemsg("\n\n", noiselevel=-1)
ambiguous_package_name(x, expanded_atoms, root_config,
self._frozen_config.spinner, self._frozen_config.myopts)
+ self._dynamic_config._skip_restart = True
return False, myfavorites
if expanded_atoms:
atom = expanded_atoms[0]
@@ -1769,6 +1775,7 @@ class depgraph(object):
if not owners:
portage.writemsg(("\n\n!!! '%s' is not claimed " + \
"by any package.\n") % lookup_owners[0], noiselevel=-1)
+ self._dynamic_config._skip_restart = True
return 0, []
for cpv in owners:
@@ -4074,6 +4081,7 @@ class depgraph(object):
raise self._unknown_internal_error()
if not self._validate_blockers():
+ self._dynamic_config._skip_restart = True
raise self._unknown_internal_error()
if self._dynamic_config._slot_collision_info:
@@ -4656,6 +4664,7 @@ class depgraph(object):
if not selected_nodes:
self._dynamic_config._circular_deps_for_display = mygraph
+ self._dynamic_config._skip_restart = True
raise self._unknown_internal_error()
# At this point, we've succeeded in selecting one or more nodes, so
@@ -4764,6 +4773,7 @@ class depgraph(object):
self._dynamic_config._unsatisfied_blockers_for_display = unsolvable_blockers
self._dynamic_config._serialized_tasks_cache = retlist[:]
self._dynamic_config._scheduler_graph = scheduler_graph
+ self._dynamic_config._skip_restart = True
raise self._unknown_internal_error()
if self._dynamic_config._slot_collision_info and \