DevHeads.net

Dynamic BuildRequires on Fedora 29/30: Possible!

Hello,

All applications written in Rust are shipped to stable releases via
modules which includes building all crates (libraries), applications
themselves and throwing away all crates (since those are linked
statically).

However, since we are using dynamic BuildRequires[0] as of yesterday
it is not possible to build those RPMs on F29 and F30 anymore because
their RPM does not support this feature.

I was thinking about way how to solve this problem so I have created a
module "rpm" with stream "4.15" which is building RPM from the master
dist-git branch. RPM 4.15 did not change RPM packages in some
incompatible manner, it should be okay-ish to install packages it
produced using RPM 4.14 :)

So just add "rpm: [4.15]" into the buildrequires section of your
module and be happy[1] :)

Obviously, some RPMs depend on librpm.so.7, so it won't be possible to
build some things using this way and generally this is just a hack...
But I'm going to look what can be done to improve our build-time
situation around rpmbuild features.

[0] <a href="https://fedoraproject.org/wiki/Changes/DynamicBuildRequires" title="https://fedoraproject.org/wiki/Changes/DynamicBuildRequires">https://fedoraproject.org/wiki/Changes/DynamicBuildRequires</a>
[1] <a href="https://koji.fedoraproject.org/koji/buildinfo?buildID=1291189" title="https://koji.fedoraproject.org/koji/buildinfo?buildID=1291189">https://koji.fedoraproject.org/koji/buildinfo?buildID=1291189</a>