spec: Make the build reproducible

If the spec file applies a patch which touches any file in the API XMLs
dependency tree, we need to regenerate the XMLs and consequently
recreate hvsupport.html. The file will contain a time stamp in a comment
which means it will be different every time the package is built. The
commit a54c962286 which added the time stamp also added support for
SOURCE_DATE_EPOCH environment variable. Let's set it to the time stamp
of the spec file itself to make the build reproducible.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pino Toscano <ptoscano@redhat.com>
This commit is contained in:
Jiri Denemark 2017-11-29 11:08:40 +01:00
parent c2dc04c5aa
commit 4fe1125b77

View File

@ -1300,6 +1300,8 @@ exit 1
# place macros above and build commands below this comment # place macros above and build commands below this comment
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
%if 0%{?enable_autotools} %if 0%{?enable_autotools}
autoreconf -if autoreconf -if
%endif %endif
@ -1372,6 +1374,8 @@ gzip -9 ChangeLog
%install %install
rm -fr %{buildroot} rm -fr %{buildroot}
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
# Avoid using makeinstall macro as it changes prefixes rather than setting # Avoid using makeinstall macro as it changes prefixes rather than setting
# DESTDIR. Newer make_install macro would be better but it's not available # DESTDIR. Newer make_install macro would be better but it's not available
# on RHEL 5, thus we need to expand it here. # on RHEL 5, thus we need to expand it here.