HADOOP-16334. Fix yetus-wrapper not working when HADOOP_YETUS_VERSION >= 0.9.0

This closes #864

Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
(cherry picked from commit d23e8e9232f030fcdeff91b9e8a625516244dc72)
This commit is contained in:
Wanqiang Ji 2019-05-28 22:20:31 +08:00 committed by Akira Ajisaka
parent 90cc5ddd49
commit 2133bb561d
No known key found for this signature in database
GPG Key ID: C1EDBB9CA400FD50

View File

@ -68,6 +68,10 @@ function yetus_abs
return 1 return 1
} }
function version_ge()
{
test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1";
}
WANTED="$1" WANTED="$1"
shift shift
@ -77,11 +81,17 @@ HADOOP_YETUS_VERSION=${HADOOP_YETUS_VERSION:-0.4.0}
BIN=$(yetus_abs "${BASH_SOURCE-$0}") BIN=$(yetus_abs "${BASH_SOURCE-$0}")
BINDIR=$(dirname "${BIN}") BINDIR=$(dirname "${BIN}")
## HADOOP_YETUS_VERSION >= 0.9.0 the tarball named with apache-yetus prefix
if version_ge "${HADOOP_YETUS_VERSION}" "0.9.0"; then
YETUS_PREFIX=apache-yetus
else
YETUS_PREFIX=yetus
fi
### ###
### if YETUS_HOME is set, then try to use it ### if YETUS_HOME is set, then try to use it
### ###
if [[ -n "${YETUS_HOME}" if [[ -n "${YETUS_HOME}" && -x "${YETUS_HOME}/bin/${WANTED}" ]]; then
&& -x "${YETUS_HOME}/bin/${WANTED}" ]]; then
exec "${YETUS_HOME}/bin/${WANTED}" "${ARGV[@]}" exec "${YETUS_HOME}/bin/${WANTED}" "${ARGV[@]}"
fi fi
@ -105,8 +115,8 @@ HADOOP_PATCHPROCESS=${mytmpdir}
## ##
## if we've already DL'd it, then short cut ## if we've already DL'd it, then short cut
## ##
if [[ -x "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" ]]; then if [[ -x "${HADOOP_PATCHPROCESS}/${YETUS_PREFIX}-${HADOOP_YETUS_VERSION}/bin/${WANTED}" ]]; then
exec "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" "${ARGV[@]}" exec "${HADOOP_PATCHPROCESS}/${YETUS_PREFIX}-${HADOOP_YETUS_VERSION}/bin/${WANTED}" "${ARGV[@]}"
fi fi
## ##
@ -114,7 +124,7 @@ fi
## ##
BASEURL="https://archive.apache.org/dist/yetus/${HADOOP_YETUS_VERSION}/" BASEURL="https://archive.apache.org/dist/yetus/${HADOOP_YETUS_VERSION}/"
TARBALL="yetus-${HADOOP_YETUS_VERSION}-bin.tar" TARBALL="${YETUS_PREFIX}-${HADOOP_YETUS_VERSION}-bin.tar"
GPGBIN=$(command -v gpg) GPGBIN=$(command -v gpg)
CURLBIN=$(command -v curl) CURLBIN=$(command -v curl)
@ -166,9 +176,9 @@ if ! (gunzip -c "${TARBALL}.gz" | tar xpf -); then
exit 1 exit 1
fi fi
if [[ -x "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" ]]; then if [[ -x "${HADOOP_PATCHPROCESS}/${YETUS_PREFIX}-${HADOOP_YETUS_VERSION}/bin/${WANTED}" ]]; then
popd >/dev/null popd >/dev/null
exec "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" "${ARGV[@]}" exec "${HADOOP_PATCHPROCESS}/${YETUS_PREFIX}-${HADOOP_YETUS_VERSION}/bin/${WANTED}" "${ARGV[@]}"
fi fi
## ##