We’ve just merged Use dynamic build requires for Foreman's gem dependencies by ekohl · Pull Request #8414 · theforeman/foreman-packaging · GitHub and the description may be a bit cryptic to those not familiar with packaging.
What this means is that instead of keeping a static list of the BuildRequires in foreman.spec we now look at the Gemfile and bundler.d files from the sources to generate the entries.
It saves us from having to manually update the spec file when something changes. You may see Packit builds fail when you update dependencies that aren’t packaged, but that’s a feature. In the past we required the packaging team to manually do this on reviews.
One limitation is that we can’t generate the Requires (run time dependencies) yet, so we still need to sync that. I’d love to see that implemented as well to further reduce the packaging burden.
Now I only wrote this for the Ruby parts because I could easily do that, but there’s no reason it can’t be done in the same way for NPM.
As always, if you see issues that could be related, please share them here.