HADOOP-14008. Upgrade to Apache Yetus 0.4.0

Signed-off-by: Andrew Wang <wang@apache.org>
This commit is contained in:
Allen Wittenauer 2017-04-07 09:34:28 -07:00
parent 2aa8967809
commit 39fa3712d9

View File

@ -14,6 +14,14 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# you must be this high to ride the ride
if [[ -z "${BASH_VERSINFO[0]}" ]] \
|| [[ "${BASH_VERSINFO[0]}" -lt 3 ]] \
|| [[ "${BASH_VERSINFO[0]}" -eq 3 && "${BASH_VERSINFO[1]}" -lt 2 ]]; then
echo "bash v3.2+ is required. Sorry."
exit 1
fi
set -o pipefail set -o pipefail
## @description Print a message to stderr ## @description Print a message to stderr
@ -39,6 +47,7 @@ function yetus_abs
declare obj=$1 declare obj=$1
declare dir declare dir
declare fn declare fn
declare dirret
if [[ ! -e ${obj} ]]; then if [[ ! -e ${obj} ]]; then
return 1 return 1
@ -51,7 +60,8 @@ function yetus_abs
fi fi
dir=$(cd -P -- "${dir}" >/dev/null 2>/dev/null && pwd -P) dir=$(cd -P -- "${dir}" >/dev/null 2>/dev/null && pwd -P)
if [[ $? = 0 ]]; then dirret=$?
if [[ ${dirret} = 0 ]]; then
echo "${dir}${fn}" echo "${dir}${fn}"
return 0 return 0
fi fi
@ -63,7 +73,7 @@ WANTED="$1"
shift shift
ARGV=("$@") ARGV=("$@")
HADOOP_YETUS_VERSION=${HADOOP_YETUS_VERSION:-0.3.0} 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}")
@ -85,7 +95,8 @@ if [[ ! -d "${HADOOP_PATCHPROCESS}" ]]; then
fi fi
mytmpdir=$(yetus_abs "${HADOOP_PATCHPROCESS}") mytmpdir=$(yetus_abs "${HADOOP_PATCHPROCESS}")
if [[ $? != 0 ]]; then ret=$?
if [[ ${ret} != 0 ]]; then
yetus_error "yetus-dl: Unable to cwd to ${HADOOP_PATCHPROCESS}" yetus_error "yetus-dl: Unable to cwd to ${HADOOP_PATCHPROCESS}"
exit 1 exit 1
fi fi
@ -108,15 +119,13 @@ TARBALL="yetus-${HADOOP_YETUS_VERSION}-bin.tar"
GPGBIN=$(command -v gpg) GPGBIN=$(command -v gpg)
CURLBIN=$(command -v curl) CURLBIN=$(command -v curl)
pushd "${HADOOP_PATCHPROCESS}" >/dev/null if ! pushd "${HADOOP_PATCHPROCESS}" >/dev/null; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: Cannot pushd to ${HADOOP_PATCHPROCESS}" yetus_error "ERROR: yetus-dl: Cannot pushd to ${HADOOP_PATCHPROCESS}"
exit 1 exit 1
fi fi
if [[ -n "${CURLBIN}" ]]; then if [[ -n "${CURLBIN}" ]]; then
"${CURLBIN}" -f -s -L -O "${BASEURL}/${TARBALL}.gz" if ! "${CURLBIN}" -f -s -L -O "${BASEURL}/${TARBALL}.gz"; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: unable to download ${BASEURL}/${TARBALL}.gz" yetus_error "ERROR: yetus-dl: unable to download ${BASEURL}/${TARBALL}.gz"
exit 1 exit 1
fi fi
@ -126,40 +135,33 @@ else
fi fi
if [[ -n "${GPGBIN}" ]]; then if [[ -n "${GPGBIN}" ]]; then
mkdir -p .gpg if ! mkdir -p .gpg; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: Unable to create ${HADOOP_PATCHPROCESS}/.gpg" yetus_error "ERROR: yetus-dl: Unable to create ${HADOOP_PATCHPROCESS}/.gpg"
exit 1 exit 1
fi fi
chmod -R 700 .gpg if ! chmod -R 700 .gpg; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: Unable to chmod ${HADOOP_PATCHPROCESS}/.gpg" yetus_error "ERROR: yetus-dl: Unable to chmod ${HADOOP_PATCHPROCESS}/.gpg"
exit 1 exit 1
fi fi
"${CURLBIN}" -s -L -o KEYS_YETUS https://dist.apache.org/repos/dist/release/yetus/KEYS if ! "${CURLBIN}" -s -L -o KEYS_YETUS https://dist.apache.org/repos/dist/release/yetus/KEYS; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: unable to fetch https://dist.apache.org/repos/dist/release/yetus/KEYS" yetus_error "ERROR: yetus-dl: unable to fetch https://dist.apache.org/repos/dist/release/yetus/KEYS"
exit 1 exit 1
fi fi
"${CURLBIN}" -s -L -O "${BASEURL}/${TARBALL}.gz.asc" if ! "${CURLBIN}" -s -L -O "${BASEURL}/${TARBALL}.gz.asc"; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: unable to fetch ${BASEURL}/${TARBALL}.gz.asc" yetus_error "ERROR: yetus-dl: unable to fetch ${BASEURL}/${TARBALL}.gz.asc"
exit 1 exit 1
fi fi
"${GPGBIN}" --homedir "${HADOOP_PATCHPROCESS}/.gpg" --import "${HADOOP_PATCHPROCESS}/KEYS_YETUS" >/dev/null 2>&1 if ! "${GPGBIN}" --homedir "${HADOOP_PATCHPROCESS}/.gpg" --import "${HADOOP_PATCHPROCESS}/KEYS_YETUS" >/dev/null 2>&1; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: gpg unable to import ${HADOOP_PATCHPROCESS}/KEYS_YETUS" yetus_error "ERROR: yetus-dl: gpg unable to import ${HADOOP_PATCHPROCESS}/KEYS_YETUS"
exit 1 exit 1
fi fi
"${GPGBIN}" --homedir "${HADOOP_PATCHPROCESS}/.gpg" --verify "${TARBALL}.gz.asc" >/dev/null 2>&1 if ! "${GPGBIN}" --homedir "${HADOOP_PATCHPROCESS}/.gpg" --verify "${TARBALL}.gz.asc" >/dev/null 2>&1; then
if [[ $? != 0 ]]; then
yetus_error "ERROR: yetus-dl: gpg verify of tarball in ${HADOOP_PATCHPROCESS} failed" yetus_error "ERROR: yetus-dl: gpg verify of tarball in ${HADOOP_PATCHPROCESS} failed"
exit 1 exit 1
fi fi
fi fi
gunzip -c "${TARBALL}.gz" | tar xpf - if ! (gunzip -c "${TARBALL}.gz" | tar xpf -); then
if [[ $? != 0 ]]; then
yetus_error "ERROR: ${TARBALL}.gz is corrupt. Investigate and then remove ${HADOOP_PATCHPROCESS} to try again." yetus_error "ERROR: ${TARBALL}.gz is corrupt. Investigate and then remove ${HADOOP_PATCHPROCESS} to try again."
exit 1 exit 1
fi fi