Package: release.debian.org Followup-For: Bug #859566 User: release.debian....@packages.debian.org Usertags: britney
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Because this bug is hampering migration of fpc with every new upstream release and lazarus with every minor upstream update, I spent some time on investigating the issue in britney. As always with nicely written code, the fix needs minimal changes. Travis¹ already ran on my push to github², but it seems that the test-suite is out-of-date (pun intended) on the current state of britney. I'll fix the test-suite ASAP. I manually tested the runtests framework and I had no regressions there and as expected the current two "expected failure" test cases for this bug now pass. Please consider my patch to enable migration of fpc and lazarus without human interaction. Paul ¹ https://travis-ci.org/Debian/britney2/ ² https://github.com/Debian/britney2/commit/0b58a313cbc8db17befbff36907af4fbd6f663d5 - -- System Information: Debian Release: buster/sid APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 'testing'), (50, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.13.0-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEWLZtSHNr6TsFLeZynFyZ6wW9dQoFAloPLYsACgkQnFyZ6wW9 dQqnPAf/QmXhbNQN8Dz/e/HUb1G3zaWrRJMEQXM1vU6I/d9W/PiiUL8+PGXGP+pm 3Jk62YwKeRD5Mg8rIQETcP7k0fgfz420dHSTGN7oxrx9srtdo4mGcPFdqaGvUUAk Oi82lx+V/gylHndbOi0J0BYS6ZOdevvxSqGmidbQd2cVvNjqpDidfw+a526kGdJg Pikc/G1B4qlCTmg7Hdyt7Pxk2mT+gwa25h87LXLeWG0uqCm1zVxAiY+9G5cKSe0H 4cXIudEukqHytQX3XfQIirYSrHmpFjXrLBfvENR6vCB6O/b8SjMUFAZ14jb+/AD8 jXHh4xnx8+Go6vCJCW5YzWY9dd/bVQ== =QNEr -----END PGP SIGNATURE-----
>From 0b58a313cbc8db17befbff36907af4fbd6f663d5 Mon Sep 17 00:00:00 2001 From: Paul Gevers <elb...@debian.org> Date: Fri, 17 Nov 2017 18:20:43 +0100 Subject: [PATCH] Treat arch:all nearly as regular arch when determining out-of-dateness Closes #859566 --- britney.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/britney.py b/britney.py index 4573e5b..e5f6424 100755 --- a/britney.py +++ b/britney.py @@ -1370,21 +1370,28 @@ class Britney(object): # at this point, we check the status of the builds on all the supported architectures # to catch the out-of-date ones - pkgs = {src: ["source"]} all_binaries = self.all_binaries - for arch in self.options.architectures: + archs_to_consider = list(self.options.architectures) + archs_to_consider.append('all') + for arch in archs_to_consider: oodbins = {} uptodatebins = False # for every binary package produced by this source in the suite for this architecture - for pkg_id in sorted(x for x in source_u.binaries if x.architecture == arch): + if arch == 'all': + consider_binaries = source_u.binaries + else: + consider_binaries = sorted(x for x in source_u.binaries if x.architecture == arch) + for pkg_id in consider_binaries: pkg = pkg_id.package_name - if pkg not in pkgs: pkgs[pkg] = [] - pkgs[pkg].append(arch) # retrieve the binary package and its source version binary_u = all_binaries[pkg_id] pkgsv = binary_u.source_version + # arch:all packages are treated separately from arch:arch + if binary_u.architecture != arch: + continue + # if it wasn't built by the same source, it is out-of-date # if there is at least one binary on this arch which is # up-to-date, there is a build on this arch @@ -1395,10 +1402,7 @@ class Britney(object): excuse.add_old_binary(pkg, pkgsv) continue else: - # if the binary is arch all, it doesn't count as - # up-to-date for this arch - if binary_u.architecture == arch: - uptodatebins = True + uptodatebins = True # if the package is architecture-dependent or the current arch is `nobreakall' # find unsatisfied dependencies for the binary package -- 2.15.0