diff --git a/britney2/excuse.py b/britney2/excuse.py index 81269d6..7e6b366 100644 --- a/britney2/excuse.py +++ b/britney2/excuse.py @@ -412,11 +412,15 @@ class Excuse(object): info = "Impossible %s: %s -> %s" % (d.deptype, self.uvname, desc) else: duv = excuses[dep].uvname - if d.valid: - info = "%s: %s %s" % (d.deptype, self.uvname, duv, duv) - else: + verdict = excuses[dep].policy_verdict + if not d.valid or verdict in (PolicyVerdict.REJECTED_NEEDS_APPROVAL, + PolicyVerdict.REJECTED_CANNOT_DETERMINE_IF_PERMANENT, + PolicyVerdict.REJECTED_PERMANENTLY): info = "%s: %s %s (not considered)" % (d.deptype, self.uvname, duv, duv) - dep_issues[d.verdict].add("Invalidated by %s" % d.deptype.get_description()) + if not d.valid: + dep_issues[d.verdict].add("Invalidated by %s" % d.deptype.get_description()) + else: + info = "%s: %s %s" % (d.deptype, self.uvname, duv, duv) dep_issues[d.verdict].add(info) seen = set() diff --git a/britney2/utils.py b/britney2/utils.py index afb07dd..b48426e 100644 --- a/britney2/utils.py +++ b/britney2/utils.py @@ -728,6 +728,7 @@ def invalidate_excuses(excuses, valid, invalid, invalidated): exc = excuses[x] # if the item is valid and it is not marked as `forced', then we # invalidate this specfic dependency + if x in valid and not exc.forced: # mark this specific dependency as invalid still_valid = exc.invalidate_dependency(ename, rdep_verdict)