Bugzilla – Bug 1206816
rpm headers vary from parallelism
Last modified: 2023-04-14 20:27:17 UTC
While working on reproducible builds for openSUSE, I found that since the introduction of rpm-4.18 3 weeks ago, many Factory packages now vary from parallelism in their .src.rpm headers. e.g. building with osc build -j3 and -j4 gives openSUSE:Factory/abcm2ps # filterdiff 'strings' RPMS*/*src.rpm --- strings RPMS.2/abcm2ps-8.14.14-0.0.src.rpm +++ strings RPMS/abcm2ps-8.14.14-0.0.src.rpm @@ -1,6 +1,7 @@ abcm2ps-8.14.14-0.0 - 7f401a1d6b1de68d118627417c967c5a3d3bcdb8 -e2020445b31966aa351b789c86275831a3121502e6fcf5b550a1caa835313886 + c4291b1c9ffe3ecbfad5785cfd63e7574158e1fa +12af42be780406c7ed6eaef3cec3f885fa5d3b7bb36269cdbb2fb34e888c8a4c +p|oK abcm2ps 8.14.14 A program to typeset abc tunes into Postscript @@ -334,7 +335,7 @@ --sharedstatedir=/var/lib \ --mandir=/usr/share/man \ --infodir=/usr/share/info -make -j3 +make -j4 %install make install DESTDIR="/home/abuild/rpmbuild/BUILDROOT/abcm2ps-8.14.14-0.0.x86_64" It seems to capture the expanded .spec file in rpm headers. Especially make %{?_smp_mflags} Binary rpms vary as well, because these contain a .src.rpm hash. This is different from earlier bug 1197780.
https://github.com/rpm-software-management/rpm/pull/2047 fixing https://github.com/rpm-software-management/rpm/issues/1241 show it's a feature not a bug for upstream. It's still very annoying that host specific macros are expanded into the src rpm
https://github.com/rpm-software-management/rpm/issues/2343 collects a few more issues from this. https://build.opensuse.org/request/show/1062399 fixed one of these issues.