Added: dev/incubator/heron/heron-0.20.4-incubating-candidate-1/heron-install-0.20.4-incubating-ubuntu18.04.sh ============================================================================== --- dev/incubator/heron/heron-0.20.4-incubating-candidate-1/heron-install-0.20.4-incubating-ubuntu18.04.sh (added) +++ dev/incubator/heron/heron-0.20.4-incubating-candidate-1/heron-install-0.20.4-incubating-ubuntu18.04.sh Tue May 18 03:05:19 2021 @@ -0,0 +1,2767984 @@ +#!/bin/bash -e +# Copyright 2015 The Bazel Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +function set_untar_flags { + # Some tar implementations emit verbose timestamp warnings, allowing the ability to disable them + # via --warning=no-timestamp (which we want to do in that case). To find out if we have one of + # those implementations, we see if help returns an error for that flag. + SUPPRESS_TAR_TS_WARNINGS="--warning=no-timestamp" + tar $SUPPRESS_TAR_TS_WARNINGS --help &> /dev/null && TAR_X_FLAGS=$SUPPRESS_TAR_TS_WARNINGS + # echo this so function doesn't return 1 + echo $TAR_X_FLAGS +} + +# Untars a gzipped archived to an output dir. Lazily creates dir if it doesn't exit +function untar { + if (( $# < 2 )); then + echo "Usage: untar <tar_file> <output_dir>" >&2 + echo "Args passed: $@" >&2 + exit 1 + fi + [ -d "$2" ] || mkdir -p $2 + tar xfz $1 -C $2 $TAR_X_FLAGS +} + +function test_write() { + local file="$1" + while [ "$file" != "/" ] && [ -n "${file}" ] && [ ! -e "$file" ]; do + file="$(dirname "${file}")" + done + [ -w "${file}" ] || { + echo >&2 + echo "The Heron installer must have write access to $1!" >&2 + echo >&2 + usage + } +} + +# Test for unzip dependencies +function check_unzip() { + if ! which unzip >/dev/null; then + echo >&2 + echo "unzip not found, please install the corresponding package." >&2 + echo "See $getting_started_url for more information on" >&2 + echo "dependencies of Heron." >&2 + exit 1 + fi +} + +# Test for tar dependencies +function check_tar() { + if ! which tar >/dev/null; then + echo >&2 + echo "tar not found, please install the corresponding package." >&2 + echo "See $getting_started_url for more information on" >&2 + echo "dependencies of Heron." >&2 + exit 1 + fi +} + +# Test for java dependencies +function check_java() { + if [ -z "${JAVA_HOME-}" ]; then + case "$(uname -s | tr 'A-Z' 'a-z')" in + linux) + JAVA_HOME="$(readlink -f $(which java) 2>/dev/null | sed 's_/bin/java__')" || true + BASHRC="~/.bashrc" + ;; + freebsd) + JAVA_HOME="/usr/local/openjdk8" + BASHRC="~/.bashrc" + ;; + darwin) + JAVA_HOME="$(/usr/libexec/java_home -v ${JAVA_VERSION}+ 2> /dev/null)" || true + BASHRC="~/.bash_profile" + ;; + esac + fi + if [ ! -x "${JAVA_HOME}/bin/java" ]; then + echo >&2 + echo "Java not found, please install the corresponding package" >&2 + echo "See $getting_started_url for more information on" >&2 + echo "dependencies of Heron." >&2 + exit 1 + fi +} + +set_untar_flags + +# Copyright 2015 The Bazel Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Heron self-extractable installer for client package + +# Set help URL +getting_started_url=https://heron.incubator.apache.org/docs/getting-started-local-single-node/ + +# Installation and etc prefix can be overriden from command line +install_prefix=${1:-"/usr/local/heron"} + +progname="$0" + +echo "Heron installer" +echo "---------------" +echo + +function usage() { + echo "Usage: $progname [options]" >&2 + echo "Options are:" >&2 + echo " --prefix=/some/path set the prefix path (default=/usr/local)." >&2 + echo " --user configure for user install, expands to" >&2 + echo ' `--prefix=$HOME/.heron`.' >&2 + exit 1 +} + +prefix="/usr/local" +bin="%prefix%/bin" +base="%prefix%/heron" +conf="%prefix%/heron/conf" + +for opt in "${@}"; do + case $opt in + --prefix=*) + prefix="$(echo "$opt" | cut -d '=' -f 2-)" + ;; + --user) + bin="$HOME/bin" + base="$HOME/.heron" + ;; + *) + usage + ;; + esac +done + +bin="${bin//%prefix%/${prefix}}" +base="${base//%prefix%/${prefix}}" + +check_unzip; check_tar; check_java + +# Test for write access +test_write "${bin}" +test_write "${base}" + +# Do the actual installation +echo -n "Cleaning up symlinks in ${bin}, if present." + +# Cleaning-up, with some guards. +if [ -L "${bin}/heron" ]; then + rm -f "${bin}/heron" +fi + +if [ -L "${bin}/heron-explorer" ]; then + rm -f "${bin}/heron-explorer" +fi + +if [ -L "${bin}/heron-tracker" ]; then + rm -f "${bin}/heron-tracker" +fi + +if [ -L "${bin}/heron-ui" ]; then + rm -f "${bin}/heron-ui" +fi + +if [ -L "${bin}/heron-apiserver" ]; then + rm -f "${bin}/heron-apiserver" +fi + +if [ -d "${base}" -a -x "${base}/bin/heron" ]; then + rm -fr "${base}" +fi + +mkdir -p ${bin} ${base} ${base}/etc +echo "..done" + +echo -n "Uncompressing heron package." +unzip -q -o "${BASH_SOURCE[0]}" -d "${base}" +untar ${base}/heron.tar.gz ${base} +echo "..done" +chmod 0755 ${base}/bin/heron +chmod 0755 ${base}/bin/heron-explorer +chmod 0755 ${base}/bin/heron-tracker +chmod 0755 ${base}/bin/heron-ui +chmod 0755 ${base}/bin/heron-apiserver +chmod -R og-w "${base}" +chmod -R og+rX "${base}" +chmod -R u+rwX "${base}" + +ln -s "${base}/bin/heron" "${bin}/heron" +ln -s "${base}/bin/heron-explorer" "${bin}/heron-explorer" +ln -s "${base}/bin/heron-tracker" "${bin}/heron-tracker" +ln -s "${base}/bin/heron-ui" "${bin}/heron-ui" +ln -s "${base}/bin/heron-apiserver" "${bin}/heron-apiserver" + +echo -n "Uncompressing heron core." +untar ${base}/dist/heron-core.tar.gz ${base}/dist +echo "..done" + +rm "${base}/heron.tar.gz" +rm -f "${base}/dist/release.yaml" + +cat <<EOF + +Heron is now installed! + +Make sure you have "${bin}" in your path. + +See ${getting_started_url} for how to use Heron. +EOF +echo +cat <<'EOF' +heron.build.version : '0.20.4-incubating-rc1' +heron.build.time : Tue May 18 01:39:54 UTC 2021 +heron.build.timestamp : 1621302321000 +heron.build.host : asf923.gq1.ygridcore.net +heron.build.user : jenkins +heron.build.git.revision : 0.20.4-incubating-rc1 +heron.build.git.status : Clean +EOF +exit 0 +PKÇg¸XÜ]AîÏ7~`nã +:ÜÝXmðÀ±Éàsïâqþêí_àó7ÁÁ[ÐXfPð�Mef¼¢/Üôv,9ÑaÚ{±´äPÍÑÄlao!©Ù¹~pc5 ÈähÚÔ{2lX sGoã½ùl!UÚK}¿#hDÈ.¡IYO#U5ÔBdéy;Ûy +!øÇÚö}iÛ<çåà5¡±¦Ùú¨¡pÙpÑCdSêÕÜ,ûy lÔºkK³P'ôÂzúÚ>Ep*òy½78¯ü! â9)KNY>®HUÛâRÒw-rë_äóËCIWÌ´Ü¿ÿÏ:&u%-P',áÿzCw0r±2¶²µrñdpðÖz{Ç^ìWa857V"ÕØR,)¶IÍÄÇ}Ñ}µôÕ´³EsìY'òê+t%¹1Æÿ6Â&3B2XöäCAú(cÀ¸ÀD,Wú¶¾AèáR4cJxÄñA°î²À+Ä<³ß¯£Bn +~ÏXHÄçkwy¸Ë¯( t²Eë0>Ð)ÞoS 5«Ie3NB¨,'Ài8 & qvPAåÞúÛPÈrÿ¼&Îæâ_ýZß6'~[3MÚxÒì4{îÐ"FhÂ9KÍoïçñq85«äïÒQÆr9ì(,4ª¯L*f¦Ab(Z=ö½&ÿ@¯I7w]SyF3§çz§Sq½?<AGlÌW?"ÂÖâ\A®Å¢Ùó5 O@?/?½Üpì§zÀPD¿Ò¡Ð0 E5E:w<ízªpß¹Ô+éV0í G-øÔq~T^í¬·f»RÊ[³èqzoÛÿ+Y"@XìÝÿOÝÀÌÅÈÔÈÅèRhUôb7|fk5ûÁ˱ÄtÊ#]ÿÈÐ.¡¼°¿%È;·ØØÿ;ÜÝ=*<¨x!Oáämäe½5V)~ÜLhØ/ÍCT5QT8æ ÷`ù[¼tÔÏóz /¯Àb6G:ðdT¯5-ø»ÆWµR D}£´aS¬0|tS%÷fùÛ{ÖÅCa¼u·5[Ú8ì5òFä\À5#C?Â\6#IDØÍâèÔò/T- Ãì^kN¡ea^ún©{J+ç5`ó¾ºsçñÌ÷©Ä:ÇÈ ©´}FÎuE£.JeªoÿV ¨ r¿d%$@¿Ó;%tAN¡e²Ã¦ÍZY*ÎF:h:±Þçz¿Ü5²ú4PEݱ,ZGÁ½9?þyÞÒ @U+5VÅG«©çnôVÐï¹=L^g©^SkÉ[ÜáOn6(NÃïè@AA~âp +¹Â§ågXàÁB= ÔL¢n?u!E¤qMëÅÆîé|;ÖDÏËýÝla½t`ïU6#ÛÂhöß»jÃáÏV·¥Q(ëCBb0T+<ªáM,æäçò³`Ú[gÔ! à"ÁpPSeè]Ñx9BÑE´êñIñôgì."@ñCzlwËaÈ +¹éÇTKCÎìȳÜ8P,nqiâ>Xk$ÕÛËr98Íai´_ +ìùñXñ¤¬³%ASR}oàóÀÊBãgñGÈ¡pÿæ1òúcëb}9Óí¿NKgÿÔ¥FmM7núI!RåÓ/¹Ô¡i +X8Èj1îXO$bD.,ÇMÉ¢òQÙX/ÅÈù'¾a¡ç%¯¬ð¡ +¦8g¦BÚèd˲92{´¹£NZ&9R6a|²ÐV9gØÎóF¸ÍÖmû®Åa¦E03[ 2iZC×4èÕP^ùÓÇáøï~1OenÇ%ß-Jm0\5ȧ®týþþdÁݨ5$·?¼Õ²ç¥ÜÑê¢&ÿ& S#Z.S©&»9æd8:}ö!ðùÈZnÚ?AòGév" FµíqxÃâùSÆÂȺþTx'ÜçêWߣß[ΪOÍ@UA²ð© G²5aÍ#U× Î\yâ)×-4]-!$2¨"&fëΣf _XÏãß"½Ì¶á¢dIfÉ#JÀrê$üI&ÑAÂ;0e¬ÄÖ"Jì(Òá#6ÚûöÞ°Ò^æÈïðY¹ +Æ#b÷ämªÓô9\»D-À4ͪ¢¯ìWeS£¬¾ùÀ³!Õ²d eI¡ò¤ßk0hÉý}îPÂwú¾o¬¸¸}t{S.ÓñäÑûÉxÄÝ×Vðg9Î* nºÇ)ýôÛGáf¶ÌóX|dRIis;Ùùh´Æ^PJ ½âV(7HO+î¾NVÉ[ñp^¢ù7ξ|¡Q®¬úû ȹóù4zYUôhã¹rX>0''* bNef¿ÚF8[t5ÔªëÈê\øIó ï·ÈÓßÞX¡}Á5QõÞ>RáSâ#®dÄÈ¿tÌ0 5Ài»s£?hllÜFvA{ váÒ éH¼ý%)&ý´Ê¿È?èÿ>m¯¾AÔ_`î~jp´néýÏXm)V¥>«\âÆq·æpÆÊ& JO¥ºîè
