#162 Modules will possibly disappear from the buildroot at Fedora 32 branching
Opened 4 years ago by churchyard. Modified 4 years ago

I'm afraid that after Fedora 32 branches, all our rawhide modules will disappear again until they are rebuilt. They can be non-existent for an arbitrary amount of time:

  • It takes arbitrary amount of time before the releng starts rebuilding F33 modules.
  • It takes considerable amount of time before the modules actually finish building, although we can probably predict the magnitude of this.
  • If there is an infra/releng problem, it takes arbitrary amount of time before it is fixed, so the rebuilds can proceed.
  • If there is a build failure of a modular build, it takes arbitrary amount of time before it is fixed and the module is rebuilt.

For example Fedora 31 has branched mid-August, but the scala module (default stream) was not rebuilt yet for Fedora 32 (Rawhide).

Until modules were enabled in the buildroot, this was a problem for our Rawhide users, but not a big blocker for our packagers. Once we enable modules in buildroot, this will actively block building packages depending on modular content in Rawhide.

I'm not sure whether the behavior is a design decision or a bug, or whether something wasn't already done to change the procedure for the Fedora 32 branching. If the behavior I'm describing does not reflect the reality, please correct me.

Language clarification: When I say "rebuilt" I always mean "successfully rebuilt", I don't think there is such thing as "unsuccessful rebuild" in this context - either it built or not.


I think we could meet with releng at DevConf and figure out how to make the procedures less fragile. @mohanboddu, @kevin, does that sound okay? When would you be free?

I should be there, but I am not sure enough of my schedule to pin down a time. :)

I'll be there for devconf and monday/tuesday for some meetings, so whenever we can all get together is fine with me.

In my opinion it has a straightforward solution. The same as we use for non-modular packages.

In case of non-modular package we copy the packages into F33 repository and
voilà, we have F33 packages immediately without any rebuilding. I think we should do the same with modules. At the end platform:f33 is only a copy of platform:f32.

My proposal is:

Take latest versions of each f32 module builds. Copy their modulemd files and rewrite "requires: platform:[f32]" to "requires: platform:[f33]" and recalculate context based on "buildrequires: platform[f33]". To make the builds available in MBS for later regular builds, we should actually do that in MBS and then cascade creating koji modular build, tagging it into f33-modular, and making the F33 compose from the tag. I think this should be implemented as an MBS API call that will "clone" the builds between platform streams. And RCM will call the MBS API as part of branching new Fedora release.

Login to comment on this ticket.

Metadata