[libvirt] [PATCH] maint: update to latest gnulib

A couple of fixes for bootstrap issues reported on IRC: - on some older glibc systems, ./configure could deadlock due to a glibc malloc bug - on FreeBSD systems, a broken autom4te coupled with gettext 0.18.3 prevents bootstrap; we can't work around it, but can at least inform the user why they have a problem And as always, portability fixes in other modules, some of which are used by libvirt. * .gnulib: Update to latest, in part for bootstrap improvements. * bootstrap: Resync to gnulib. Signed-off-by: Eric Blake <eblake@redhat.com> --- Hmm, in reading this gnulib changelog, I'm not sure I want to push right away: the line about md5 being tweaked to use openssl makes me wonder if this update is dragging in a new library dependency; I'll have to do a bit more investigation. But here's the patch, if anyone else also wants to investigate. * .gnulib 831b84c...fdfe96f (18):
bootstrap: warn about BSD toolchain snafu open-tests: port to glibc with _FORTIFY_SOURCE and -O1 include_next: minimize code duplication getcwd: fix compile error in configure check regex: suppress core dumps from detection code md5, sha1, sha256, sha512: support mandating use of openssl test-xvasprintf: disable some -Wformat-security diagnostics regex: avoid glibc deadlock during configure md5, sha1, sha256, sha512: use openssl routines if available base64: fix recent compilation regression on some compilers autoupdate autoupdate ignore-value: revert previous code change selinux-h: improve stub types and add more stub functions ignore-value: prefer GCC version back through 2.0 pty: Activate the signature wrapper of forkpty. maint: fix gendocs.sh permissions autoupdate
.gnulib | 2 +- bootstrap | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.gnulib b/.gnulib index 831b84c..fdfe96f 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 831b84c59ef413c57a36b67344467d66a8a2ba70 +Subproject commit fdfe96fe43746d63364f823ab3032c8301d53d1f diff --git a/bootstrap b/bootstrap index e31d17d..5acbe5b 100755 --- a/bootstrap +++ b/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2013-08-15.22; # UTC +scriptversion=2013-12-05.23; # UTC # Bootstrap this package from checked-out sources. @@ -551,6 +551,14 @@ if ! printf "$buildreq" | check_versions; then fi fi +# Warn the user if autom4te appears to be broken; this causes known +# issues with at least gettext 0.18.3. +probe=$(echo 'm4_quote([hi])' | autom4te -l M4sugar -t 'm4_quote:$%' -) +if test "x$probe" != xhi; then + warn_ "WARNING: your autom4te wrapper eats stdin;" + warn_ "if bootstrap fails, consider upgrading your autotools" +fi + echo "$0: Bootstrapping from checked-out $package sources..." # See if we can use gnulib's git-merge-changelog merge driver. -- 1.8.3.1

On 06.12.2013 00:52, Eric Blake wrote:
A couple of fixes for bootstrap issues reported on IRC: - on some older glibc systems, ./configure could deadlock due to a glibc malloc bug - on FreeBSD systems, a broken autom4te coupled with gettext 0.18.3 prevents bootstrap; we can't work around it, but can at least inform the user why they have a problem
And as always, portability fixes in other modules, some of which are used by libvirt.
* .gnulib: Update to latest, in part for bootstrap improvements. * bootstrap: Resync to gnulib.
Signed-off-by: Eric Blake <eblake@redhat.com> ---
Hmm, in reading this gnulib changelog, I'm not sure I want to push right away: the line about md5 being tweaked to use openssl makes me wonder if this update is dragging in a new library dependency; I'll have to do a bit more investigation. But here's the patch, if anyone else also wants to investigate.
* .gnulib 831b84c...fdfe96f (18):
bootstrap: warn about BSD toolchain snafu open-tests: port to glibc with _FORTIFY_SOURCE and -O1 include_next: minimize code duplication getcwd: fix compile error in configure check regex: suppress core dumps from detection code md5, sha1, sha256, sha512: support mandating use of openssl test-xvasprintf: disable some -Wformat-security diagnostics regex: avoid glibc deadlock during configure md5, sha1, sha256, sha512: use openssl routines if available
I think openssl is widely available. And yet, libvirt is already dragging openssl in: $ ldd ./daemon/.libs/libvirtd | grep ssl libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f7ceed3e000) I wonder where it got from: libvirt.git $ grep -r \\-lssl . grep: ./.git/objects/a1/sedRc8oQE: Permission denied Michal

On 12/06/2013 01:33 AM, Michal Privoznik wrote:
On 06.12.2013 00:52, Eric Blake wrote:
A couple of fixes for bootstrap issues reported on IRC: - on some older glibc systems, ./configure could deadlock due to a glibc malloc bug - on FreeBSD systems, a broken autom4te coupled with gettext 0.18.3 prevents bootstrap; we can't work around it, but can at least inform the user why they have a problem
And as always, portability fixes in other modules, some of which are used by libvirt.
* .gnulib: Update to latest, in part for bootstrap improvements. * bootstrap: Resync to gnulib.
Signed-off-by: Eric Blake <eblake@redhat.com> ---
Hmm, in reading this gnulib changelog, I'm not sure I want to push right away: the line about md5 being tweaked to use openssl makes me wonder if this update is dragging in a new library dependency; I'll have to do a bit more investigation. But here's the patch, if anyone else also wants to investigate.
I think openssl is widely available. And yet, libvirt is already dragging openssl in:
$ ldd ./daemon/.libs/libvirtd | grep ssl libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f7ceed3e000)
That's pulled in indirectly; as is libcrypto.so, also from openssl. This gnulib patch only adds an optional dependency on libcrypto, not libssl; and upstream gnulib has since tweaked things to further default to avoiding openssl. The official party line of Fedora is that openssl is shipped as a system library, and therefore Fedora is okay if it uses the configure option to pull in the library explicitly; but as openssl is incompatible with GPL and is not present as a system library on all platforms, the only safe default for upstream gnulib was to require downstream users to explicitly request the use of the library. As long as we don't change the spec file, we aren't changing behavior; and while Fedora allows us to link to openssl, I'll leave such a spec change for a later patch. I'll go ahead and push a gnulib update on Jan 1 (which is when we have to update anyways because of copyright year changes impacting 'make syntax-check'). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Eric Blake
-
Michal Privoznik