Testing unbuilt/uninstallable reverse dependencies [was: Re: proposed-migration mis-handling of numexpr, pytables]

Martin Pitt martin.pitt at ubuntu.com
Wed Aug 12 15:36:00 UTC 2015


Hello all,

FTR, this change showed the status of the affected
unbuilt/uninstallable rdepends as "Test in progress", which is indeed
confusing. As a quick remedy I now changed that to a new state
"Unbuilt/uninstallable":

  http://bazaar.launchpad.net/~ubuntu-release/britney/britney2-ubuntu/revision/466

This will most likely go away again, but fixing this more properly
isn't just a quick 10-minute hack and requires more discussion and
care.

Steve Langasek [2015-08-11 22:10 -0700]:
> Sorry, I think what you're describing is not what I meant.  I'm not
> suggesting that we should use the last result of D prior to P's upload; I'm
> saying that P's upload should trigger the test of whichever version of D has
> been most recently built, *not* the most recent version of D's source that
> has been uploaded.

There's three cases here:

(1) D is not built yet: Then we can either

   - (a) Wait for it to be built and running the tests of proposed-D
     against proposed-P (slightly more useful IMHO).

     or

   - (b) Run release-D against proposed-P, as you suggest. This would
     require some attention in britney or autopkgtest to
     force-download the release-D source to run the tests, instead of
     the (probably already published) proposed-D source. This can only
     be implemented heuristically as a source package's test
     dependencies do not necessarily (only/at all) come from its own
     source. As a compromise we could run proposed-D's source's tests
     against release-D's binaries, which should be good enough in 99%
     of cases; and in the 1% where proposed-D has incompatible tests
     we just have to go ahead and fix D.

(2) D was attempted to build, but FTBFS. This is pretty much like (1b)
    then. As we shouldn't stall P for such a long time, implementing
    this instead of the current "wait until D gets built" is quite
    important.

(3) D is/was built, but is uninstallable. E. g. mesa currently waits
    [1] on uninstallable yade [2], so we can't run its tests
    in -proposed. This is rather hard to get right; we would need to
    introduce apt pinning and figure out how to set it up to use a
    subset of packages (at least P its dependencies) in -proposed, but
    some other packages (at least D and its dependencies), and other test
    dependencies from either -release or -proposed.
    I'm not sure whether this heuristic and complex would actually
    help here.

Britney knows the difference between unbuilt (1/2) and uninstallable
(3), so we could maybe start doing "run test against release D" for
"unbuilt" first, and keep the "Uninstallable" status for now,
requiring fixing D?

Thanks,

Martin

[1] http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html#mesa
[2] http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html#yade

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



More information about the Ubuntu-release mailing list