diff --git a/britney2/excuse.py b/britney2/excuse.py
index f16b591..bd7052b 100644
--- a/britney2/excuse.py
+++ b/britney2/excuse.py
@@ -421,6 +421,22 @@ class Excuse(object):
"""Render the excuse in HTML"""
res = "%s (%s to %s)\n
\n" % \
(self.uvname, self.uvname, self.uvname, self.ver[0], self.ver[1])
+ if self.distribution == "ubuntu":
+ lp_pkg = "https://launchpad.net/%s/+source/%s" % \
+ (self.distribution, self.name.split("/")[0])
+
+ def lp_linkify(version):
+ if version == "-":
+ return version
+
+ return "%s" % \
+ (lp_pkg, version, version)
+
+ res = (
+ "%s (%s to %s)\n\n" %
+ (self.uvname, self.uvname, lp_pkg, self.uvname,
+ lp_linkify(self.ver[0]), lp_linkify(self.ver[1])))
+
info = self._text(excuses)
for l in info:
res += "- %s\n" % l
diff --git a/britney2/excusefinder.py b/britney2/excusefinder.py
index 31ccdf4..de79435 100644
--- a/britney2/excusefinder.py
+++ b/britney2/excusefinder.py
@@ -372,17 +372,33 @@ class ExcuseFinder(object):
for v in sorted(oodbins):
if oodtxt:
oodtxt = oodtxt + "; "
- oodtxt = oodtxt + "%s (from %s)" % \
- (", ".join(sorted(oodbins[v])), quote(arch), quote(src), quote(v), v)
+ if self.options.distribution != "ubuntu":
+ oodtxt = oodtxt + "%s (from %s)" % \
+ (", ".join(sorted(oodbins[v])), quote(arch), quote(src), quote(v), v)
+ else:
+ oodtxt = oodtxt + "%s (from %s)" % \
+ (", ".join(sorted(oodbins[v])), self.options.distribution, quote(src.split("/")[0]),
+ quote(v), quote(arch), v)
if uptodatebins:
text = "old binaries left on %s: %s" % \
(quote(arch), quote(src), quote(source_u.version), arch, oodtxt)
+ if self.options.distribution == "ubuntu":
+ text = "old binaries left on %s: %s" % \
+ (self.options.distribution, quote(src.split("/")[0]), quote(source_u.version),
+ quote(arch), arch, oodtxt)
else:
text = "missing build on %s" % \
(quote(arch), quote(src), quote(source_u.version), arch)
+ if self.options.distribution == "ubuntu":
+ text = "missing build on %s: %s" % \
+ (self.options.distribution, quote(src.split("/")[0]), quote(source_u.version),
+ quote(arch), arch, oodtxt)
if arch in self.options.outofsync_arches:
text = text + " (but %s isn't keeping up, so nevermind)" % (arch)
@@ -440,6 +456,11 @@ class ExcuseFinder(object):
"arch=%s&pkg=%s&ver=%s&suite=%s\" target=\"_blank\">%s "\
"(relative to target suite)" % \
(quote(arch), quote(src), quote(source_u.version), base, arch)
+ if self.options.distribution == "ubuntu":
+ text = "Not yet built on "\
+ "%s "\
+ "(relative to target suite)" % \
+ (self.options.distribution, quote(src.split("/")[0]), quote(source_u.version), quote(arch), arch)
if arch in self.options.outofsync_arches:
text = text + " (but %s isn't keeping up, so never mind)" % (arch)