From 0e5a7ace8a69b7f2e2d4cb16b3eafcc126fd0ff1 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 10 May 2011 15:54:58 -0600 Subject: [PATCH] maint: avoid a couple of gnulib regressions Double-close regression in upstream gnulib fclose was introduced to libvirt in commit 9d8e01a1d. Meanwhile, adding rpcgen as a bootstrap prerequisite in commit fb1e8d9c prevented RHEL 5 from running bootstrap. * .gnulib: Update to latest, for fclose and bootstrap fixes. * bootstrap: Synchronize from upstream. --- .gnulib | 2 +- bootstrap | 31 +++++++++++++++++++++---------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.gnulib b/.gnulib index a6676cca64..64a5e38bce 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit a6676cca6498ce67c5a3c8d7221b8d6c30b61dc4 +Subproject commit 64a5e38bced6c8f5117efbed95cdfd8ca133ed54 diff --git a/bootstrap b/bootstrap index d91611b4a4..d32db57bf1 100755 --- a/bootstrap +++ b/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2011-05-03.08; # UTC +scriptversion=2011-05-11.17; # UTC # Bootstrap this package from checked-out sources. @@ -425,17 +425,28 @@ check_versions() { GZIP) ;; # Do not use $GZIP: it contains gzip options. *) eval "app=\${$appvar-$app}" ;; esac - inst_ver=$(get_version $app) - if [ ! "$inst_ver" ]; then - echo "$me: Error: '$app' not found" >&2 - ret=1 - elif [ ! "$req_ver" = "-" ]; then - latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) - if [ ! "$latest_ver" = "$inst_ver" ]; then - echo "$me: Error: '$app' version == $inst_ver is too old" >&2 - echo " '$app' version >= $req_ver is required" >&2 + if [ "$req_ver" = "-" ]; then + # Merely require app to exist; not all prereq apps are well-behaved + # so we have to rely on $? rather than get_version. + $app --version >/dev/null 2>&1 + if [ 126 -le $? ]; then + echo "$me: Error: '$app' not found" >&2 ret=1 fi + else + # Require app to produce a new enough version string. + inst_ver=$(get_version $app) + if [ ! "$inst_ver" ]; then + echo "$me: Error: '$app' not found" >&2 + ret=1 + else + latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) + if [ ! "$latest_ver" = "$inst_ver" ]; then + echo "$me: Error: '$app' version == $inst_ver is too old" >&2 + echo " '$app' version >= $req_ver is required" >&2 + ret=1 + fi + fi fi done -- GitLab