[libvirt] [PATCH] build: fix bootstrap on RHEL

Eric Blake eblake at redhat.com
Wed Apr 25 22:24:03 UTC 2012


Commit 8fe455fd364cd7462e02170084c45a58ee302cc3 tried to work around
a regression introduced in upstream gnulib that requires gettext 0.18
or newer on all projects using bootstrap, by making libvirt require
gettext 0.18.  But this fails on RHEL 6.2, which still ships gettext
0.17.  Revert that change, and instead, import the latest round of
gnulib updates that fix that problem properly.

If you have already built in the window where libvirt required 0.18,
be aware that incremental updates may run into problems: this is
because 'autopoint --force' will not downgrade m4/po.m4 back to an
older version, but it must be downgraded back to 0.17 levels to work
with this patch.  You may either manually remove that file then rerun
bootstrap, or it may prove easier to just clean up all non-git files
to start from a clean slate.

* bootstrap.conf: Revert minimum gettext back to 0.17.
* configure.ac: Likewise.
* .gnulib: Update to latest, for bootstrap fixes.
* bootstrap: Resync from gnulib.
---

Pushing under the build-breaker rule (and this took me a lot longer
than I wanted, but I'm happy with the solution).

* .gnulib f15a17d...bb2f564 (6):
  > bootstrap: only force latest Makefile.in.in for gettext module
  > doc: Mention reason for replacement on glibc/Linux systems.
  > pwrite: Don't replace on all platforms.
  > rint* tests: Avoid gcc warnings.
  > users.txt: Update.
  > Large File Support for native Windows platforms.

 .gnulib        |    2 +-
 bootstrap      |   12 ++++++++++--
 bootstrap.conf |    2 +-
 configure.ac   |    2 +-
 4 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/.gnulib b/.gnulib
index f15a17d..bb2f564 160000
--- a/.gnulib
+++ b/.gnulib
@@ -1 +1 @@
-Subproject commit f15a17dc1f5d2b1fc8a423795c54b211552c0483
+Subproject commit bb2f5640d5379c5b4eec2d62341413bbab1aa308
diff --git a/bootstrap b/bootstrap
index 5aa73cc..6b45868 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2012-04-19.22; # UTC
+scriptversion=2012-04-25.17; # UTC

 # Bootstrap this package from checked-out sources.

@@ -873,7 +873,15 @@ if test $with_gettext = yes; then
     }
   ' po/Makevars.template >po/Makevars || exit 1

-  cat $GNULIB_SRCDIR/build-aux/po/Makefile.in.in > po/Makefile.in.in || exit 1
+  # If the 'gettext' module is in use, grab the latest Makefile.in.in.
+  # If only the 'gettext-h' module is in use, assume autopoint already
+  # put the correct version of this file into place.
+  case $gnulib_modules in
+  *gettext-h*) ;;
+  *gettext*)
+    cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in || exit 1
+    ;;
+  esac

   if test -d runtime-po; then
     # Similarly for runtime-po/Makevars, but not quite the same.
diff --git a/bootstrap.conf b/bootstrap.conf
index 56911e0..c6620e5 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -195,7 +195,7 @@ buildreq="\
 autoconf   2.59
 automake   1.9.6
 autopoint  -
-gettext    0.18
+gettext    0.17
 git        1.5.5
 gzip       -
 libtool    -
diff --git a/configure.ac b/configure.ac
index 5936d31..89fe818 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2300,7 +2300,7 @@ dnl compute the difference between save_CPPFLAGS and CPPFLAGS and append it
 dnl to INCLUDES in order to preserve changes made by gettext but in a place
 dnl that does not break the build
 save_CPPFLAGS="$CPPFLAGS"
-AM_GNU_GETTEXT_VERSION([0.18])
+AM_GNU_GETTEXT_VERSION([0.17])
 AM_GNU_GETTEXT([external])
 GETTEXT_CPPFLAGS=
 if test "x$save_CPPFLAGS" != "x$CPPFLAGS"; then
-- 
1.7.7.6




More information about the libvir-list mailing list