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

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@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

On Thu, Apr 19, 2012 at 05:15:01PM -0600, Eric Blake wrote:
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. ---
ACK [...]
--- 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 +
oh, fun, I'm one of the unfortunate using/relying on CDPATH for shell naviagtion and it's incredible the amount of stuff it broke over the years in auto* ... I have build scripts to disable it now ... Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
participants (2)
-
Daniel Veillard
-
Eric Blake