Make "approve" hints require the tpu package to be built on all arches

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

Previously, an "approve" hint would allow a package to migrate from
testing-proposed-updates to testing even if packages were not available
for some architectures on which the package existed in testing.

The t-p-u package must now have built on the same architectures as the
existing package in testing; the previous behaviour can be achieved by
combining "approve" and "force" hints.
bzr-import-20160707
Adam D. Barratt 15 years ago
parent c761168718
commit 5bfd046886

@ -139,11 +139,11 @@ does for the generation of the update excuses.
that the highest urgency uploaded since the previous testing that the highest urgency uploaded since the previous testing
transition is taken into account. transition is taken into account.
8. All the architecture-dependent binary packages and the 8. If the suite is unstable, all the architecture-dependent binary
architecture-independent ones for the `nobreakall' architectures packages and the architecture-independent ones for the `nobreakall'
have to be built from the source we are considering. If this is architectures have to be built from the source we are considering.
not true, then these are called `out-of-date' architectures and If this is not true, then these are called `out-of-date'
the package is ignored. architectures and the package is ignored.
9. The source package must have at least a binary package, otherwise 9. The source package must have at least a binary package, otherwise
it is ignored. it is ignored.
@ -156,7 +156,10 @@ does for the generation of the update excuses.
updated even if it is marked as ignored from the previous steps. updated even if it is marked as ignored from the previous steps.
12. If the suite is testing-proposed-updates, the source package can 12. If the suite is testing-proposed-updates, the source package can
be updated only if there is an explicit approval for it. be updated only if there is an explicit approval for it. Unless
a `force' hint exists, the new package must also be available
on all of the architectures for which it has binary packages in
testing.
13. If the package will be ignored, mark it as "Valid candidate", 13. If the package will be ignored, mark it as "Valid candidate",
otherwise mark it as "Not considered". otherwise mark it as "Not considered".
@ -1294,6 +1297,29 @@ class Britney:
else: else:
update_candidate = False update_candidate = False
if suite == 'tpu':
# o-o-d(ish) checks for t-p-u
for arch in self.options.architectures:
# If the package isn't in testing or the testing
# package produces no packages on this architecture,
# then it can't be out-of-date. We assume that if
# the t-p-u package has produced any binaries for
# this architecture then it is ok
if not src in self.sources["testing"] or \
(len([x for x in self.sources["testing"][src][BINARIES] if x.endswith("/"+arch)]) == 0) or \
(len([x for x in self.sources[suite][src][BINARIES] if x.endswith("/"+arch)]) > 0):
continue
text = "Not yet built on <a href=\"http://buildd.debian.org/build.php?arch=%s&pkg=%s&ver=%s&suite=testing\" target=\"_blank\">%s</a> (relative to testing)" % (urllib.quote(arch), urllib.quote(src), urllib.quote(source_u[VERSION]), arch)
if arch in self.options.fucked_arches.split():
text = text + " (but %s isn't keeping up, so never mind)" % (arch)
else:
update_candidate = False
excuse.addhtml(text)
# at this point, we check the status of the builds on all the supported architectures # at this point, we check the status of the builds on all the supported architectures
# to catch the out-of-date ones # to catch the out-of-date ones
pkgs = {src: ["source"]} pkgs = {src: ["source"]}

Loading…
Cancel
Save