Re: ELN build order (was: Re: OCaml 5.1 rebuild)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Fri, Oct 6, 2023 at 3:45 PM Richard W.M. Jones <rjones@xxxxxxxxxx> wrote:
On Fri, Oct 06, 2023 at 11:16:17AM -0400, Stephen Gallagher wrote:
> So, as we all know, build ordering is hard (and, despite intuitive
> belief, not actually deterministic).
>
> ELN actually "cheats" somewhat when we do our builds. When we process
> a batch of builds (triggered by a set of tag events that come in all
> at the same time, such as when a side-tag is merged), we create a new
> ELN side-tag, tag all of the new *Rawhide* builds into this side tag,
> then trigger a rebuild of all of those builds for ELN. The result here
> is that we use the Fedora build in the buildroot to avoid
> bootstrapping issues. Now, there are some special-case packages for
> which we do *NOT* automatically tag in the Fedora builds because they
> have known incompatibilities. All OCAML packages fall into this
> category, since we discovered about 9 months ago that we absolutely
> cannot mix Fedora's OCAML builds with ELN's (I don't recall the exact
> reason).

It's probably because the build flags are different and
(unnecessarily) OCaml encodes the build flags into the hashes of one
of the base modules.  I forget the exact details but there's an email
on this list about it somewhere.  Anyway the upshot is that if the
build flags change at all, as they obviously do in Fedora vs RHEL,
then the hashes change.  We ought to fix this upstream ...

Anyway I was going to say why not order the packages by their original
build date in Koji?


For one, this doesn’t actually mean that it’ll happen in order, since if we are merging a side tag with a low-level package getting bootstrapped, it’s possible that the packages getting tagged back to Rawhide are not in the correct order.

For another, the only way then to ensure that they all build in the same order is to serialize them. That adds so much latency to the build process that after a few weeks, rebuilds would lag by days or more.

So, we cheat. We take a couple shortcuts that results in about 99% of our builds working properly and then we deal with the remainder. Usually this is in the form of build failures which are easy to spot. Sometimes we have issues like this one where the build succeeds but the built package is wrong, which we really only find out about when someone tells us.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux