summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/main.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-10-31 23:35:48 +0000
committerZac Medico <zmedico@gentoo.org>2009-10-31 23:35:48 +0000
commitaf58d636ac13513682e04ed8880dca42bff24520 (patch)
tree1424d40405ddcb6eeeba3fc3efdbde552788958f /pym/_emerge/main.py
parent3ea97985ed33afb010042d7694afe6633b6ea521 (diff)
downloadportage-af58d636ac13513682e04ed8880dca42bff24520.tar.gz
portage-af58d636ac13513682e04ed8880dca42bff24520.tar.bz2
portage-af58d636ac13513682e04ed8880dca42bff24520.zip
Add a --backtrack=COUNT option to control how many times backtracking is
allowed, and reduce the default from 30 to 5. (trunk r14763) svn path=/main/branches/2.1.7/; revision=14766
Diffstat (limited to 'pym/_emerge/main.py')
-rw-r--r--pym/_emerge/main.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index 37875cbd2..0ed2604a7 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -432,6 +432,15 @@ def parse_opts(tmpcmdline, silent=False):
"help":"temporarily override ACCEPT_PROPERTIES",
"action":"store"
},
+
+ "--backtrack": {
+
+ "help" : "Specifies how many times to backtrack if dependency " + \
+ "calculation fails ",
+
+ "action" : "store"
+ },
+
"--config-root": {
"help":"specify the location for portage configuration files",
"action":"store"
@@ -653,6 +662,21 @@ def parse_opts(tmpcmdline, silent=False):
if myoptions.selective == "True":
myoptions.selective = True
+ if myoptions.backtrack is not None:
+
+ try:
+ backtrack = int(myoptions.backtrack)
+ except (OverflowError, ValueError):
+ backtrack = -1
+
+ if backtrack < 0:
+ backtrack = None
+ if not silent:
+ writemsg("!!! Invalid --backtrack parameter: '%s'\n" % \
+ (myoptions.backtrack,), noiselevel=-1)
+
+ myoptions.backtrack = backtrack
+
if myoptions.deep is not None:
deep = None
if myoptions.deep == "True":