[libvirt] [PATCH] build: fix fresh checkout on RHEL5

Eric Blake eblake at redhat.com
Thu Apr 19 23:15:01 UTC 2012


Building a fresh checkout on RHEL 5 has been broken since commit
29db7a00, due to a gnulib regression in the bootstrap script
(incremental builds from a checkout earlier than that point were
okay, though).

* .gnulib: Update to latest, for bootstrap fixes.
* bootstrap: Resync from gnulib.
* gnulib/local/top/maint.mk.diff: Drop patch that was added
upstream in the meantime.
---

Lots of gnulib changes, and I'm not sure how many of them directly
impact us.  But the bootstrap ones definitely affect building a fresh
checkout on RHEL 5, so I'm pushing this under the build-breaker
rule; now's a decent time, since we still have a bit of time before
feature freeze for the 0.9.12 release.

* .gnulib d5612c7...f15a17d (240):
  > bootstrap: accommodate older libtool
  > autoupdate
  > announce-gen: avoid failure due to lack of Digest::SHA1
  > bootstrap: don't let a user's CDPATH setting affect this script
  > maint: indent ChangeLog entries with TAB, not 8 spaces
  > maint.mk: expand syntax-check rule to catch @xref and @pxref abuse
  > bootstrap: really use gnulib's po/Makefile.in.in
  > configmake: correct minor inconsistency in Makefile rule
  > bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
  > Fix recursion of install-* into po directories.
  > maint: avoid spurious "make sc_maint" failure
  > lseek: Make configure test independent of environment.
  > autoupdate
  > stat: Bypass buggy override in mingw64.
  > pathmax: Fix compilation error on MSVC 9.
  > README: document pointer comparison assumption
  > Tests for module 'getrusage'.
  > New module 'getrusage'.
  > Tests for module 'sys_resource'.
  > New module 'sys_resource'.
  > ioctl: Fix compilation error on mingw.
  > autoupdate
  > update from texinfo
  > regex: correct #pragma guard expression
  > regex: remove unnecessary type punning
  > Tests for module 'ilogbl'.
  > New module 'ilogbl'.
  > Tests for module 'ilogbf'.
  > New module 'ilogbf'.
  > Tests for module 'ilogb'.
  > New module 'ilogb'.
  > math: Provide FP_ILOGB0 and FP_ILOGBNAN.
  > Tests for module 'logbl-ieee'.
  > New module 'logbl-ieee'.
  > Tests for module 'logb-ieee'.
  > New module 'logb-ieee'.
  > Tests for module 'logbf-ieee'.
  > New module 'logbf-ieee'.
  > Tests for module 'logbl'.
  > New module 'logbl'.
  > Tests for module 'logbf'.
  > New module 'logbf'.
  > logb tests: More tests.
  > logb: Provide replacement and workarounds.
  > log10* tests: Speed up.
  > logf-ieee: Fix test whether logf works.
  > log10l: Work around log10l-ieee test failure on IRIX 6.5.
  > log10f-ieee: Work around test failure on NetBSD 5.1.
  > log10f-ieee: Work around test failure on Solaris 9.
  > log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
  > Tests for module 'log10l-ieee'.
  > New module 'log10l-ieee'.
  > Tests for module 'log10-ieee'.
  > New module 'log10-ieee'.
  > Tests for module 'log10f-ieee'.
  > New module 'log10f-ieee'.
  > log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
  > log10f: Work around OSF/1 5.1 bug.
  > log10: Work around OSF/1 5.1 bug.
  > log10l tests: More tests.
  > log10f tests: More tests.
  > log10 tests: More tests.
  > Fix typo in ChangeLog entry.
  > fflush: Fix syntax error.
  > regex: pacify GCC when compiling GRUB
  > update from texinfo
  > warnings.m4: fix errors.
  > stdio: don't assume gets any more
  > maint.mk: fix syntax checks without exclusions
  > strerror_r: avoid compiler warning
  > fflush: avoid compiler warning
  > warnings.m4: check the compiler, not the preprocessor
  > autoupdate
  > Tests for module 'localeconv'.
  > New module 'localeconv'.
  > locale: Provide a complete 'struct lconv'.
  > locale: Provide a complete 'struct lconv' on Solaris 10, 11.
  > locale: Provide a working 'struct lconv'.
  > Enable common subexpression optimization in GCC.
  > Enable common subexpression optimization in GCC.
  > gnulib-tool: Avoid unintended error output from 'cmp'.
  > gnulib-tool: fix imprecise comments w.r.t. an automake bug
  > autoupdate
  > announce-gen: use Digest::SHA when possible
  > tests: avoid gcc warnings about argv vs. const initializers
  > README-release: simplify slightly
  > git-merge-changelog: add specific example on how to use with hg.
  > git-merge-changelog: Report bugs to bug-gnulib at gnu.org.
  > git-version-gen: don't let "prefix" envvar cause trouble
  > regex: diagnose too-large repeat counts in EREs
  > doc: some glibc x32 integer width issues
  > autoupdate
  > fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
  > hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
  > remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
  > Oops, fix regression on AIX through recent commit.
  > Oops, fix cross-compilation guess in recent commits.
  > sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
  > doc: update timer_* platform portability notes
  > cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
  > remainderl: Avoid compilation error on AIX >= 5.2.
  > Avoid compilation errors with MSVC option -fp:strict.
  > uninorm: Don't crash in out-of-memory conditions.
  > quote: fix syntax-check
  > Collapse list of copyright years to ranges.  See <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
  > log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
  > log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
  > Tests for module 'log2l-ieee'.
  > New module 'log2l-ieee'.
  > Tests for module 'log2-ieee'.
  > New module 'log2-ieee'.
  > Tests for module 'log2f-ieee'.
  > New module 'log2f-ieee'.
  > Tests for module 'log2l'.
  > New module 'log2l'.
  > Tests for module 'log2f'.
  > New module 'log2f'.
  > Tests for module 'log2'.
  > New module 'log2'.
  > exp2* tests: More tests.
  > update from texinfo
  > autoupdate
  > log1p* tests: Reduce running time of tests.
  > log1pl-ieee: Work around test failure on AIX 7.1.
  > log1pl-ieee: Work around test failure on IRIX 6.5.
  > log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
  > log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
  > log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
  > Tests for module 'log1pl-ieee'.
  > New module 'log1pl-ieee'.
  > Tests for module 'log1p-ieee'.
  > New module 'log1p-ieee'.
  > Tests for module 'log1pf-ieee'.
  > New module 'log1pf-ieee'.
  > Tests for module 'log1pl'.
  > New module 'log1pl'.
  > Tests for module 'log1pf'.
  > New module 'log1pf'.
  > log1p tests: More tests.
  > log1p: Provide replacement for Minix and MSVC.
  > expm1: Tiny doc fix.
  > math tests: Small simplification.
  > log tests: Add a comment.
  > Fix some comments.
  > regex: allow inclusion of <regex.h> before <limits.h>
  > fts: depend on fdopendir
  > Remove unused variables.
  > isnanf-nolibm: Fix last commit.
  > isnanf-nolibm: Make it work on IRIX 6.5 with cc.
  > logf-ieee: Work around test failure on NetBSD 5.1.
  > logf-ieee: Work around test failure on Solaris 9.
  > log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
  > Tests for module 'logl-ieee'.
  > New module 'logl-ieee'.
  > Tests for module 'log-ieee'.
  > New module 'log-ieee'.
  > Tests for module 'logf-ieee'.
  > New module 'logf-ieee'.
  > log: Fix bug introduced on 2012-03-09.
  > timer-time: link explicitly with pthreads on glibc
  > log* tests: More tests.
  > logl: Work around OSF/1 5.1 bug.
  > logf: Work around OSF/1 5.1 bug.
  > log: Work around OSF/1 5.1 bug.
  > readtokens.c: adjust wording in a comment
  > modechange: add notations +40, 00440, etc.
  > exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
  > Tests for module 'exp2l-ieee'.
  > New module 'exp2l-ieee'.
  > Tests for module 'exp2-ieee'.
  > New module 'exp2-ieee'.
  > Tests for module 'exp2f-ieee'.
  > New module 'exp2f-ieee'.
  > Tests for module 'exp2l'.
  > New module 'exp2l'.
  > Tests for module 'exp2f'.
  > New module 'exp2f'.
  > Tests for module 'exp2'.
  > New module 'exp2'.
  > savedir: fix comment typo
  > test-readtokens.c: use const; remove unwarranted cast
  > autoupdate
  > fmal: Avoid compilation error on AIX.
  > fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
  > remainderf: Override buggy system function on IRIX 6.5.
  > test-readtokens.c: avoid const-related compilation warnings
  > frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
  > expm1l: Avoid compilation error on AIX.
  > expm1l: Don't override undeclared system function on IRIX 6.5.
  > remainderl: Don't override undeclared system function on IRIX 6.5.
  > rintf: Don't override undeclared system function on IRIX 6.5.
  > roundl: Avoid compilation error on AIX.
  > roundl: Don't override undeclared system function on IRIX 6.5.
  > roundf: Don't override undeclared system function on IRIX 6.5.
  > round: Don't override undeclared system function on IRIX 6.5.
  > copysignf: Don't override undeclared system function on IRIX 6.5.
  > readtokens: add tests
  > quotearg: the module must now include quote.h
  > readtokens: avoid core dumps with unusual calling patterns
  > quote: Adhere to common module description layout.
  > quote: fuse into quotearg
  > Tests for module 'expm1l-ieee'.
  > New module 'expm1l-ieee'.
  > Tests for module 'expm1f-ieee'.
  > New module 'expm1f-ieee'.
  > Tests for module 'expm1-ieee'.
  > New module 'expm1-ieee'.
  > Work around expm1f bug on IRIX 6.5.
  > Tests for module 'expm1l'.
  > New module 'expm1l'.
  > Tests for module 'expm1f'.
  > New module 'expm1f'.
  > Tests for module 'expm1'.
  > New module 'expm1'.
  > math: Ensure declarations of math functions.
  > math: Update module names in warnings.
  > expl: Simplify computation.
  > exp* tests: More tests.
  > expl: Fix precision of computed result.
  > cbrt* tests: More tests.
  > hypot* tests: More tests.
  > fpucw: Doc about FreeBSD.
  > sqrt* tests: Rename local variable.
  > sqrt* tests: More tests.
  > sqrt* tests: More tests.
  > remainder* tests: More tests.
  > remainder, remainderf, remainderl: Fix computation for large quotients.
  > fmodl: Fix last commit.
  > fmod* tests: More tests.
  > fmod, fmodl: Fix computation for large quotients x / y.
  > fmod* tests: More tests.
  > rint* tests: More tests.
  > modf* tests: More tests.
  > fabs* tests: More tests.
  > ldexp* tests: More tests.
  > frexp* tests: More tests.
  > Support for pseudo-random numbers in tests.
  > frexp* tests: Refactor.
  > maint: don't specify XZ_OPT=-9ev in dist-related rule
  > autoupdate

 .gnulib                        |    2 +-
 bootstrap                      |   18 +++++++++++++++---
 gnulib/local/top/maint.mk.diff |   32 --------------------------------
 3 files changed, 16 insertions(+), 36 deletions(-)
 delete mode 100644 gnulib/local/top/maint.mk.diff

diff --git a/.gnulib b/.gnulib
index d5612c7..f15a17d 160000
--- a/.gnulib
+++ b/.gnulib
@@ -1 +1 @@
-Subproject commit d5612c714c87555f1059d71d347e20271dced322
+Subproject commit f15a17dc1f5d2b1fc8a423795c54b211552c0483
diff --git a/bootstrap b/bootstrap
index 31eb651..5aa73cc 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2012-02-11.09; # UTC
+scriptversion=2012-04-19.22; # UTC

 # Bootstrap this package from checked-out sources.

@@ -36,6 +36,10 @@ nl='
 LC_ALL=C
 export LC_ALL

+# Ensure that CDPATH is not set.  Otherwise, the output from cd
+# would cause trouble in at least one use below.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
 local_gl_dir=gl

 me=$0
@@ -758,9 +762,15 @@ fi
 # Autoreconf runs aclocal before libtoolize, which causes spurious
 # warnings if the initial aclocal is confused by the libtoolized
 # (or worse out-of-date) macro directory.
+# libtoolize 1.9b added the --install option; but we support back
+# to libtoolize 1.5.22, where the install action was default.
 if test $use_libtool = 1; then
-  echo "running: $LIBTOOLIZE --copy --install"
-  $LIBTOOLIZE --copy --install
+  install=
+  case $($LIBTOOLIZE --help) in
+    *--install*) install=--install ;;
+  esac
+  echo "running: $LIBTOOLIZE $install --copy"
+  $LIBTOOLIZE $install --copy
 fi

 version_controlled_file() {
@@ -863,6 +873,8 @@ 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 test -d runtime-po; then
     # Similarly for runtime-po/Makevars, but not quite the same.
     rm -f runtime-po/Makevars
diff --git a/gnulib/local/top/maint.mk.diff b/gnulib/local/top/maint.mk.diff
deleted file mode 100644
index 85e97ae..0000000
--- a/gnulib/local/top/maint.mk.diff
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git i/top/maint.mk w/top/maint.mk
-index 4cbd5f4..2228a37 100644
---- i/top/maint.mk
-+++ w/top/maint.mk
-@@ -279,7 +279,7 @@ define _sc_search_regexp
-    if test -n "$$files"; then						\
-      if test -n "$$prohibit"; then					\
-        grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \
--         | grep -vE "$${exclude-^$$}"					\
-+         | grep -vE "$${exclude:-^$$}"					\
-          && { msg="$$halt" $(_sc_say_and_exit) } || :;			\
-      else								\
-        grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \
-@@ -455,7 +455,8 @@ sc_prohibit_quotearg_without_use:
-
- # Don't include quote.h unless you use one of its functions.
- sc_prohibit_quote_without_use:
--	@h='quote.h' re='\<quote(_n)? *\(' $(_sc_header_without_use)
-+	@h='quote.h' re='\<quote((_n)? *\(|_quoting_options\>)' \
-+	  $(_sc_header_without_use)
-
- # Don't include this header unless you use one of its functions.
- sc_prohibit_long_options_without_use:
-@@ -1332,7 +1333,7 @@ alpha beta stable: $(local-check) writable-files $(submodule-checks)
- 	$(MAKE) vc-diff-check
- 	$(MAKE) news-check
- 	$(MAKE) distcheck
--	$(MAKE) dist XZ_OPT=-9ev
-+	$(MAKE) dist
- 	$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
- 	$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
-
-- 
1.7.7.6




More information about the libvir-list mailing list