RPM builds should be using Mock
The Debian package builds are using pbuilder to ensure clean and sane package builds, why don't the RPM package builds for Fedora, RHEL/CentOS, and openSUSE use Mock?
Mock supports the wide variety of RPM Linux distributions (Fedora, CentOS/RHEL, openSUSE Leap, openSUSE Tumbleweed) and is generally the preferred way to do clean, consistent, and reproducible package builds.
Is there something stopping us from using it for Ceph?
It's a trade-off between "slower and more accurate" vs "faster and more error-prone". Historically we went with straight rpmbuild outside of mock because Ceph build times are already incredibly slow. I support mock, though, since the quality of the resulting binaries is higher, and Fedora/CentOS and RHEL use it.
Totally agree. How much slower is mock with the appropriate '%_smp_mflags' setting and cache set-up?
Other than the cost of setting up the mock chroot, why do you think mock is slower. Using mock will help ensure correctness in general and in particular the correctness of the ceph.spec. It ensures that the build env is populated only with the intended dependencies and isn't polluted with any leftover packages from other things.
For a ceph build that takes literal hours, the cost of the mock chroot setup is negligible.
Behind the scenes Fedora koji, CentOS cbs, and RHEL brew builds all are done with mock.
I'll see what we can do about this.
@badone - is this something you are still looking into?
@badone - is this something you are still looking into?
No, this kind of dropped off my radar. Do you have any new information of requirements to add to incentivise revisiting this?