aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2011-05-10 15:54:58 -0600
committerEric Blake <eblake@redhat.com>2011-05-11 12:03:45 -0600
commit0e5a7ace8a69b7f2e2d4cb16b3eafcc126fd0ff1 (patch)
tree838d1776d569d5d087c33348ef6bae5619e7274e /bootstrap
parentnode_device: avoid null dereference on error (diff)
downloadlibvirt-0e5a7ace8a69b7f2e2d4cb16b3eafcc126fd0ff1.tar.gz
libvirt-0e5a7ace8a69b7f2e2d4cb16b3eafcc126fd0ff1.tar.bz2
libvirt-0e5a7ace8a69b7f2e2d4cb16b3eafcc126fd0ff1.zip
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.
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap31
1 files changed, 21 insertions, 10 deletions
diff --git a/bootstrap b/bootstrap
index d91611b4a..d32db57bf 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