#!/usr/bin/env bash ## This script helps to download relup base version packages if [[ -n "$DEBUG" ]]; then set -x; fi set -euo pipefail # ensure dir cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." ROOT_DIR="$(pwd)" PROFILE="${1:-emqx-enterprise}" export PROFILE case $PROFILE in "emqx-enterprise") #S3DIR='emqx-ee' #EDITION='enterprise' echo "No relup for now" exit 0 ;; "emqx") echo "No relup for opensource edition" exit 0 ;; *) echo "Unknown profile $PROFILE" exit 1 ;; esac SYSTEM="$(./scripts/get-distro.sh)" case "$SYSTEM" in windows*) echo "NOTE: no_relup_for_windows" exit 0 ;; macos*) SHASUM="shasum -a 256" ;; *) SHASUM="sha256sum" ;; esac BASE_VERSIONS="$("${ROOT_DIR}"/scripts/relup-build/base-vsns.sh "$EDITION" | xargs echo -n)" fullvsn() { env PKG_VSN="$1" "${ROOT_DIR}"/pkg-vsn.sh "$PROFILE" --long } mkdir -p _upgrade_base pushd _upgrade_base >/dev/null for tag in ${BASE_VERSIONS}; do filename="$PROFILE-$(fullvsn "${tag#[e|v]}").tar.gz" url="https://packages.emqx.io/$S3DIR/$tag/$filename" echo "downloading ${filename} ..." ## if the file does not exist (not downloaded yet) ## and there is such a package to downlaod if [ ! -f "$filename" ] && curl -I -m 10 -o /dev/null -s -w "%{http_code}" "${url}" | grep -q -oE "^[23]+" ; then curl -L -o "${filename}" "${url}" curl -L -o "${filename}.sha256" "${url}.sha256" ## https://askubuntu.com/questions/1202208/checking-sha256-checksum echo "$(cat "${filename}.sha256") ${filename}" | $SHASUM -c || exit 1 fi done popd >/dev/null