For your consideration: Secondary Architectures in Fedora

David Woodhouse dwmw2 at
Wed May 30 17:17:17 UTC 2007

On Wed, 2007-05-30 at 13:06 -0400, Jesse Keating wrote:
> On Wednesday 30 May 2007 13:00:30 David Woodhouse wrote:
> > OK.... strange person. In we're playing that game, then Spot's proposal
> > won't work as-is either, for exactly the same reason.
> Uh no.  In spot's proposal a failure on a secondary arch would not cause a 
> failure on the primary arch.  As in a build in fedora's koji will succeed, be 
> imported, and alert secondary arch kojis that they have a build to do.  If 
> they fail that build, it's a problem for that arch.  The upstream fedora koji 
> continues on without issue, packages go out.

In my proposal, a failure on one secondary arch would also _not_ cause
an immediate abort on other architectures. But once the 

> [ snipped rhetoric ]
> > The proposal I'm making is that we should allow the builds to run to
> > completion on the architectures which is actually builds on, but just
> > not let the resulting packages get pushed to the repo until any needed
> > ExcludeArch bugs are filed. But I'm sure you knew that.
> No I didn't.  That's something else entirely, that's all post-build/import and 
> into 'what gets pushed out'.  I'm even less happy here as it wouldn't be the 
> primary setup's concern to do pushes for the secondary arches. 

And it wouldn't need to be. I think I still haven't quite communicated
what I mean.

1. A build is submitted.
2. It fails on some architecture.
3. All other architectures run to completion. The packages can be
   fetched from koji immediately, and perhaps even used for building
   new dependent packages¹.
4. The build is not complete (or 'committed') until all architectures
   for which it was _attempting_ to build are spoken for -- either with
   a successful build, _or_ a 'retrospective ExcludeArch' bug being
   filed (and put in the specfile).

¹ elsewhere, I spoke of improving the way we handle dependent builds
like bluez-libs and bluez-utils, by letting the packager submit them
simultaneously rather than having to wait for one to complete before
submitting the next. Each koji instance would build the dependent
package(s) as soon as the original package was ready. And of course the
dependent builds could not 'commit' before the original.


More information about the fedora-devel-list mailing list