mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-06-06 15:21:38 +00:00
Output enhancements; small changes for the do_all method.
This commit is contained in:
parent
3c58b798cd
commit
53a2923fea
37
britney.py
37
britney.py
@ -258,7 +258,6 @@ class Britney:
|
|||||||
self.hints = self.read_hints(self.options.unstable)
|
self.hints = self.read_hints(self.options.unstable)
|
||||||
self.excuses = []
|
self.excuses = []
|
||||||
self.dependencies = {}
|
self.dependencies = {}
|
||||||
self.selected = []
|
|
||||||
|
|
||||||
def __parse_arguments(self):
|
def __parse_arguments(self):
|
||||||
"""Parse the command line arguments
|
"""Parse the command line arguments
|
||||||
@ -2228,12 +2227,11 @@ class Britney:
|
|||||||
counters before and after the actions to decide if the update was
|
counters before and after the actions to decide if the update was
|
||||||
successful or not.
|
successful or not.
|
||||||
"""
|
"""
|
||||||
|
selected = []
|
||||||
if actions:
|
if actions:
|
||||||
upgrade_me = actions[:]
|
upgrade_me = actions[:]
|
||||||
selected = []
|
|
||||||
else:
|
else:
|
||||||
upgrade_me = self.upgrade_me[:]
|
upgrade_me = self.upgrade_me[:]
|
||||||
selected = self.selected
|
|
||||||
nuninst_start = self.nuninst_orig
|
nuninst_start = self.nuninst_orig
|
||||||
|
|
||||||
# these are special parameters for hints processing
|
# these are special parameters for hints processing
|
||||||
@ -2265,9 +2263,14 @@ class Britney:
|
|||||||
self.output_write(self.eval_uninst(self.newlyuninst(nuninst_start, nuninst_end)) + "\n")
|
self.output_write(self.eval_uninst(self.newlyuninst(nuninst_start, nuninst_end)) + "\n")
|
||||||
if not force and not self.is_nuninst_asgood_generous(self.nuninst_orig, nuninst_end):
|
if not force and not self.is_nuninst_asgood_generous(self.nuninst_orig, nuninst_end):
|
||||||
nuninst_end, extra = None, None
|
nuninst_end, extra = None, None
|
||||||
self.selected = selected[:len(init)]
|
|
||||||
else:
|
else:
|
||||||
|
if init:
|
||||||
|
backup = self.nuninst_orig
|
||||||
|
(nuninst_end, extra) = self.iter_packages(init, selected, hint=True)
|
||||||
|
self.nuninst_orig = nuninst_end
|
||||||
(nuninst_end, extra) = self.iter_packages(upgrade_me, selected)
|
(nuninst_end, extra) = self.iter_packages(upgrade_me, selected)
|
||||||
|
if not self.is_nuninst_asgood_generous(self.nuninst_orig, nuninst_end):
|
||||||
|
nuninst_end, extra = None, None
|
||||||
|
|
||||||
if nuninst_end:
|
if nuninst_end:
|
||||||
self.output_write("final: %s\n" % ",".join(sorted(selected)))
|
self.output_write("final: %s\n" % ",".join(sorted(selected)))
|
||||||
@ -2280,8 +2283,11 @@ class Britney:
|
|||||||
self.output_write("SUCCESS (%d/%d)\n" % (len(actions or self.upgrade_me), len(extra)))
|
self.output_write("SUCCESS (%d/%d)\n" % (len(actions or self.upgrade_me), len(extra)))
|
||||||
self.nuninst_orig = nuninst_end
|
self.nuninst_orig = nuninst_end
|
||||||
if not actions:
|
if not actions:
|
||||||
self.upgrade_me = extra
|
self.upgrade_me = sorted(extra)
|
||||||
|
if not self.options.compatible:
|
||||||
|
self.sort_actions()
|
||||||
else:
|
else:
|
||||||
|
if init: self.nuninst_orig = backup
|
||||||
self.output_write("FAILED\n")
|
self.output_write("FAILED\n")
|
||||||
if not earlyabort: return
|
if not earlyabort: return
|
||||||
|
|
||||||
@ -2336,7 +2342,7 @@ class Britney:
|
|||||||
for x in self.hints['easy']:
|
for x in self.hints['easy']:
|
||||||
self.do_hint("easy", x[0], x[1])
|
self.do_hint("easy", x[0], x[1])
|
||||||
|
|
||||||
# process `easy' hints
|
# process `force-hint' hints
|
||||||
for x in self.hints["force-hint"]:
|
for x in self.hints["force-hint"]:
|
||||||
self.do_hint("force-hint", x[0], x[1])
|
self.do_hint("force-hint", x[0], x[1])
|
||||||
|
|
||||||
@ -2355,18 +2361,24 @@ class Britney:
|
|||||||
self.do_all()
|
self.do_all()
|
||||||
allpackages += self.upgrade_me
|
allpackages += self.upgrade_me
|
||||||
for a in self.options.break_arches.split():
|
for a in self.options.break_arches.split():
|
||||||
x = self.options.break_arches
|
backup = self.options.break_arches
|
||||||
self.options.break_arches = " ".join([x for x in self.options.break_arches.split() if x != a])
|
self.options.break_arches = " ".join([x for x in self.options.break_arches.split() if x != a])
|
||||||
self.upgrade_me = archpackages[a]
|
self.upgrade_me = archpackages[a]
|
||||||
self.output_write("info: broken arch run for %s\n" % (a))
|
self.output_write("info: broken arch run for %s\n" % (a))
|
||||||
tmp = self.selected
|
|
||||||
self.selected = []
|
|
||||||
self.do_all()
|
self.do_all()
|
||||||
self.selected = tmp + self.selected
|
|
||||||
allpackages += self.upgrade_me
|
allpackages += self.upgrade_me
|
||||||
self.options.break_arches = x
|
self.options.break_arches = backup
|
||||||
self.upgrade_me = allpackages
|
self.upgrade_me = allpackages
|
||||||
|
|
||||||
|
# process `hint' hints
|
||||||
|
hintcnt = 0
|
||||||
|
for x in self.hints["hint"][:50]:
|
||||||
|
if hintcnt > 50:
|
||||||
|
self.output_write("Skipping remaining hints...")
|
||||||
|
break
|
||||||
|
if self.do_hint("hint", x[0], x[1]):
|
||||||
|
hintcnt += 1
|
||||||
|
|
||||||
# run the auto hinter
|
# run the auto hinter
|
||||||
if not self.options.compatible:
|
if not self.options.compatible:
|
||||||
self.auto_hinter()
|
self.auto_hinter()
|
||||||
@ -2411,7 +2423,7 @@ class Britney:
|
|||||||
"hint": 0,
|
"hint": 0,
|
||||||
"force-hint": -1,}
|
"force-hint": -1,}
|
||||||
|
|
||||||
self.__log("> Processing hints from %s" % who, type="I")
|
self.__log("> Processing '%s' hint from %s" % (type, who), type="I")
|
||||||
self.output_write("Trying %s from %s: %s\n" % (type, who, " ".join( ["%s/%s" % (p,v) for (p,v) in pkgvers])))
|
self.output_write("Trying %s from %s: %s\n" % (type, who, " ".join( ["%s/%s" % (p,v) for (p,v) in pkgvers])))
|
||||||
|
|
||||||
ok = True
|
ok = True
|
||||||
@ -2443,7 +2455,6 @@ class Britney:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
self.do_all(hintinfo[type], map(operator.itemgetter(0), pkgvers))
|
self.do_all(hintinfo[type], map(operator.itemgetter(0), pkgvers))
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def sort_actions(self):
|
def sort_actions(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user