If you have the tarball you can trivially generate the source RPM if
you need it because the tarball still contains the .spec file. IOW
just run
$ rpmbuild -ts libvirt-6.7.0.tar.xz
Wrote: /home/berrange/rpmbuild/SRPMS/libvirt-6.7.0-1.fc32.src.rpm
I've never tried this before... what does it do if the .spec file is non-trivial and includes things expanded by autoconf, or if there are multiple different .spec files?
Personally, I have found the libvirt provided spec file limiting - and use a distro one like Fedora as a starting point instead. And, I meant to try and figure out why this was and provide feedback about it. But, for other projects such as openvswitch - I find that the one they build and maintain upstream, to be very useful. In this case, you do run autoconf and configure, and "make rpm-fedora" generates both RPM and SRPM. From that respect, the need to distribute a .src.rpm separately is not as important, but the ability to build an SRPM using an easy mechanism is the real requirement and I'm mostly wondering if "rpmbuild -ts" is sophisticated enough to support many real-world use cases, or if it is only useful for the most trivial and eventually limiting use cases.
--