1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-18 23:42:00 +03:00

bootstrap: support a prereq of 'rpcgen -' on RHEL5

On RHEL 5, 'rpcgen --version' spews usage to stderr with status 1,
rather than a version string to stdout with status 0.  But libvirt
merely requires a prereq of 'rpcgen -' - that is, it must exist,
but need not have a well-behaved --version.

* build-aux/bootstrap (check_versions): When no specific version
is required, merely check that the app produces an exit status
that indicates its existence.

Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Eric Blake
2011-05-11 11:21:01 -06:00
parent 0d1b8dbea0
commit 86186b176c
2 changed files with 26 additions and 10 deletions

View File

@@ -1,5 +1,10 @@
2011-05-11 Eric Blake <eblake@redhat.com> 2011-05-11 Eric Blake <eblake@redhat.com>
bootstrap: support a prereq of 'rpcgen -' on RHEL5
* build-aux/bootstrap (check_versions): When no specific version
is required, merely check that the app produces an exit status
that indicates its existence.
maint.mk: drop redundant check maint.mk: drop redundant check
* top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
the same but better. the same but better.

View File

@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Print a version string. # Print a version string.
scriptversion=2011-05-03.08; # UTC scriptversion=2011-05-11.17; # UTC
# Bootstrap this package from checked-out sources. # Bootstrap this package from checked-out sources.
@@ -425,11 +425,21 @@ check_versions() {
GZIP) ;; # Do not use $GZIP: it contains gzip options. GZIP) ;; # Do not use $GZIP: it contains gzip options.
*) eval "app=\${$appvar-$app}" ;; *) eval "app=\${$appvar-$app}" ;;
esac esac
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) inst_ver=$(get_version $app)
if [ ! "$inst_ver" ]; then if [ ! "$inst_ver" ]; then
echo "$me: Error: '$app' not found" >&2 echo "$me: Error: '$app' not found" >&2
ret=1 ret=1
elif [ ! "$req_ver" = "-" ]; then else
latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
if [ ! "$latest_ver" = "$inst_ver" ]; then if [ ! "$latest_ver" = "$inst_ver" ]; then
echo "$me: Error: '$app' version == $inst_ver is too old" >&2 echo "$me: Error: '$app' version == $inst_ver is too old" >&2
@@ -437,6 +447,7 @@ check_versions() {
ret=1 ret=1
fi fi
fi fi
fi
done done
return $ret return $ret