|
|
@ -594,7 +594,7 @@ class RCBugPolicy(BasePolicy):
|
|
|
|
# (https://tracker.debian.org/news/415935)
|
|
|
|
# (https://tracker.debian.org/news/415935)
|
|
|
|
assert not bugs_t or source_data_tdist, "%s had bugs in the target suite but is not present" % source_name
|
|
|
|
assert not bugs_t or source_data_tdist, "%s had bugs in the target suite but is not present" % source_name
|
|
|
|
|
|
|
|
|
|
|
|
success_verdict = PolicyVerdict.PASS
|
|
|
|
verdict = PolicyVerdict.PASS
|
|
|
|
|
|
|
|
|
|
|
|
for ignore_hint in self.hints.search('ignore-rc-bugs', package=source_name,
|
|
|
|
for ignore_hint in self.hints.search('ignore-rc-bugs', package=source_name,
|
|
|
|
version=source_data_srcdist.version):
|
|
|
|
version=source_data_srcdist.version):
|
|
|
@ -612,7 +612,7 @@ class RCBugPolicy(BasePolicy):
|
|
|
|
'bugs': sorted(ignored_bugs),
|
|
|
|
'bugs': sorted(ignored_bugs),
|
|
|
|
'issued-by': ignore_hint.user
|
|
|
|
'issued-by': ignore_hint.user
|
|
|
|
}
|
|
|
|
}
|
|
|
|
success_verdict = PolicyVerdict.PASS_HINTED
|
|
|
|
verdict = PolicyVerdict.PASS_HINTED
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
self.logger.info("Ignoring ignore-rc-bugs hint from %s on %s as none of %s affect the package",
|
|
|
|
self.logger.info("Ignoring ignore-rc-bugs hint from %s on %s as none of %s affect the package",
|
|
|
|
ignore_hint.user, source_name, str(ignored_bugs))
|
|
|
|
ignore_hint.user, source_name, str(ignored_bugs))
|
|
|
@ -625,20 +625,20 @@ class RCBugPolicy(BasePolicy):
|
|
|
|
new_bugs = rcbugs_info['unique-source-bugs']
|
|
|
|
new_bugs = rcbugs_info['unique-source-bugs']
|
|
|
|
old_bugs = rcbugs_info['unique-target-bugs']
|
|
|
|
old_bugs = rcbugs_info['unique-target-bugs']
|
|
|
|
excuse.setbugs(old_bugs, new_bugs)
|
|
|
|
excuse.setbugs(old_bugs, new_bugs)
|
|
|
|
|
|
|
|
|
|
|
|
if new_bugs:
|
|
|
|
if new_bugs:
|
|
|
|
excuse.addhtml("Updating %s introduces new bugs: %s" % (source_name, ", ".join(
|
|
|
|
verdict = PolicyVerdict.REJECTED_PERMANENTLY
|
|
|
|
|
|
|
|
excuse.add_verdict_info(verdict, "Updating %s introduces new bugs: %s" % (source_name, ", ".join(
|
|
|
|
["<a href=\"https://bugs.debian.org/%s\">#%s</a>" % (quote(a), a) for a in new_bugs])))
|
|
|
|
["<a href=\"https://bugs.debian.org/%s\">#%s</a>" % (quote(a), a) for a in new_bugs])))
|
|
|
|
|
|
|
|
|
|
|
|
if old_bugs:
|
|
|
|
if old_bugs:
|
|
|
|
excuse.addhtml("Updating %s fixes old bugs: %s" % (source_name, ", ".join(
|
|
|
|
excuse.addinfo("Updating %s fixes old bugs: %s" % (source_name, ", ".join(
|
|
|
|
["<a href=\"https://bugs.debian.org/%s\">#%s</a>" % (quote(a), a) for a in old_bugs])))
|
|
|
|
["<a href=\"https://bugs.debian.org/%s\">#%s</a>" % (quote(a), a) for a in old_bugs])))
|
|
|
|
if new_bugs and len(old_bugs) > len(new_bugs):
|
|
|
|
if new_bugs and len(old_bugs) > len(new_bugs):
|
|
|
|
excuse.addhtml("%s introduces new bugs, so still ignored (even "
|
|
|
|
excuse.addinfo("%s introduces new bugs, so still ignored (even "
|
|
|
|
"though it fixes more than it introduces, whine at debian-release)" % source_name)
|
|
|
|
"though it fixes more than it introduces, whine at debian-release)" % source_name)
|
|
|
|
|
|
|
|
|
|
|
|
if not bugs_u or bugs_u <= bugs_t:
|
|
|
|
return verdict
|
|
|
|
return success_verdict
|
|
|
|
|
|
|
|
return PolicyVerdict.REJECTED_PERMANENTLY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _read_bugs(self, filename):
|
|
|
|
def _read_bugs(self, filename):
|
|
|
|
"""Read the release critical bug summary from the specified file
|
|
|
|
"""Read the release critical bug summary from the specified file
|
|
|
|