diff options
author | 2011-05-10 15:54:58 -0600 | |
---|---|---|
committer | 2011-05-11 12:03:45 -0600 | |
commit | 0e5a7ace8a69b7f2e2d4cb16b3eafcc126fd0ff1 (patch) | |
tree | 838d1776d569d5d087c33348ef6bae5619e7274e /bootstrap | |
parent | node_device: avoid null dereference on error (diff) | |
download | libvirt-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-x | bootstrap | 31 |
1 files changed, 21 insertions, 10 deletions
@@ -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 |