Over time, Fedora and RHEL RPMs have often backported upstream
patches that touched configure.ac and/or Makefile.am; this
necessitates rerunning the autotools for the patch to be effective.
Making this part of the spec file will make it easier for future
backports to pull patches without thinking about this issue.
However, there have been historical instances where an update
in the autotools caused FTBFS situations; make it easy to avoid
these by allowing the user to override our default.
* libvirt.spec.in (BuildRequires): Add autotools.
(%build): Conditionally use them before configure.
---
v2: make the autotools default overridable, so that an rpm packager can
bypass any changes caused by incompatibilities in an autotools upgrade.
libvirt.spec.in | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 97b811d..806ff8f 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -8,6 +8,11 @@
sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
%endif
+# Default to running autoreconf in case any downstream patches touched
+# configure.ac or Makefile.am. Set enable_autotools to 0 if you want
+# to skip this step, perhaps if an upgrade in the autotools causes problems.
+%{?enable_autotools:%define enable_autotools 1}
+
# A client only build will create a libvirt.so only containing
# the generic RPC driver, and test driver and no libvirtd
# Default to a full server + client build
@@ -349,6 +354,11 @@ Requires(postun): systemd-units
%endif
# All build-time requirements
+%if 0%{?enable_autotools}
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+%endif
BuildRequires: python-devel
%if %{with_systemd}
BuildRequires: systemd-units
@@ -729,6 +739,9 @@ of recent versions of Linux (and other OSes).
%define init_scripts --with-init_script=redhat
%endif
+%if 0%{?enable_autotools}
+autoreconf -if
+%endif
%configure %{?_without_xen} \
%{?_without_qemu} \
%{?_without_openvz} \
--
1.7.7.3