#1012 Reuse of components from failed builds
Closed: Duplicate 5 years ago by mprahl. Opened 6 years ago by otaylor.

We're thinking of having a 'flatpak-common' module in Fedora which would have ~400 components, and have one stream per Fedora release. (The goal of this module is to take standard Fedora packages and rebuild them with prefix=/app.)

Imagine trying to take this module and build it for the first time for a new stream - some non-zero set of packages are going to fail for various reasons. Since MBS only reuses components from successful module builds, it might take many iterations of building every component module to make everything work.

It would be nice for this to be able to do something like:

fedpkg module-build --optional reuse_from_failed=true

Does such a build need to be tagged in some way as second-class? Or on the other hand, could this be the default behavior for only-changed rebuilds?


How about something like the following?

fedpkg module-build --optional reuse_components_from=<nsvc>

That way it'd be a conscious decision of where the component is being pulled from and it'd be helpful for other situations as well such as needing to reuse components from an older successful module build.

@psabata, are there any policy issues around reusing components from a failed module build or specifying which specific module to reuse components from? I imagine we'd want to restrict reusing components to only modules of the same name and stream, and perhaps the same buildrequires.

If you record what NSVC the components were re-used from and allow to specify what build you want, I guess that could help make the builds somewhat reproducible.

I suppose we could also re-use from successfully built batches (from buildorder) but if Owen's example builds all ~400 components in parallel, that wouldn't help.

I'd like component re-use to work for any module and stream as long as they share the same buildroot, i.e. their buildrequires evaluate as identical. So I wouldn't restrict it here either. On the other hand, we don't do this yet and while I keep mentioning that a NEVRA might appear in more than one module, I'm not convinced all the tools are ready for that.

Today, @psabata and I had a discussion, and decided that allowing the user to manually specify a module build by to reuse components from would be the clearest and most flexible approach.

I filed #1296 to capture this RFE. So I'll close this ticket in favor of that one.

Metadata Update from @mprahl:
- Issue close_status updated to: Duplicate
- Issue status updated to: Closed (was: Open)

5 years ago

Log in to comment on this ticket.

Metadata