[libvirt] [PATCH 2/2] build: require more tools from maintainers

Eric Blake eblake at redhat.com
Fri Dec 2 18:50:02 UTC 2011

We want our tarballs to be complete - this means that any
generated file that gets shipped as part of the tarball so that
ordinary users don't have to rebuild it must be something
that the maintainer can generate.  There have been various
reports of random build failures when using libvirt.git
instead of a tarball, and often it is due to missing a
maintainer-specific tool to produce one of these generated
files.  This patch raises the bar for what you must have
installed to build libvirt.git, but does not impact what
you can get away with for building tarballs.

Note: It still remains possible to do a successful 'make dist'
without these tools, when starting from a release tarball.

* bootstrap.conf (buildreq): Add tools that maintainers need for a
successful 'make dist' from a fresh git checkout.
 bootstrap.conf |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/bootstrap.conf b/bootstrap.conf
index 6498aba..a291590 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -181,6 +181,12 @@ ACLOCAL="$ACLOCAL -I m4"
 export ACLOCAL

 # Build prerequisites
+# Note that some of these programs are only required for 'make dist' to
+# succeed from a fresh git checkout; not all of these programs are
+# required to run 'make dist' on a tarball.  As a special case, we want
+# to require the equivalent of the Fedora python-devel package, but
+# RHEL 5 lacks the witness python-config package; we hack around that
+# old environment below.
 autoconf   2.59
 automake   1.9.6
@@ -191,9 +197,18 @@ gzip       -
 libtool    -
 perl       5.5
 pkg-config -
+python-config -
 rpcgen     -
 tar        -
+xmllint	   -
+xsltproc   -
+# You don't have to be on a system with rpm; rather, if you happen to
+# be on RHEL 5, then this bypasses the bootstrap logic that probes for
+# a working 'python-config --version'.
+if `(rpm -q python-devel) >/dev/null 2>&1`; then

 # Automake requires that ChangeLog exist.
 touch ChangeLog || exit 1

More information about the libvir-list mailing list