relup-base-packages.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/usr/bin/env bash
  2. ## This script helps to download relup base version packages
  3. if [[ -n "$DEBUG" ]]; then
  4. set -x
  5. fi
  6. set -euo pipefail
  7. PROFILE="${1}"
  8. if [ "$PROFILE" = "" ]; then
  9. PROFILE="emqx"
  10. fi
  11. case $PROFILE in
  12. "emqx")
  13. DIR='broker'
  14. EDITION='community'
  15. ;;
  16. "emqx-ee")
  17. DIR='enterprise'
  18. EDITION='enterprise'
  19. ;;
  20. "emqx-edge")
  21. DIR='edge'
  22. EDITION='edge'
  23. ;;
  24. esac
  25. SYSTEM="${SYSTEM:-$(./scripts/get-distro.sh)}"
  26. ARCH="${ARCH:-$(uname -m)}"
  27. case "$ARCH" in
  28. x86_64)
  29. ARCH='amd64'
  30. ;;
  31. aarch64)
  32. ARCH='arm64'
  33. ;;
  34. arm*)
  35. ARCH=arm
  36. ;;
  37. esac
  38. SHASUM="sha256sum"
  39. if [ "$SYSTEM" = "macos" ]; then
  40. SHASUM="shasum -a 256"
  41. fi
  42. # ensure dir
  43. cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
  44. mkdir -p _upgrade_base
  45. pushd _upgrade_base
  46. for tag in $(../scripts/relup-base-vsns.sh $EDITION | xargs echo -n); do
  47. filename="$PROFILE-$SYSTEM-${tag#[e|v]}-$ARCH.zip"
  48. url="https://www.emqx.com/downloads/$DIR/$tag/$filename"
  49. echo "downloading ${filename} ..."
  50. if [ ! -f "$filename" ] && curl -I -m 10 -o /dev/null -s -w "%{http_code}" "${url}" | grep -q -oE "^[23]+" ; then
  51. curl -L -o "${filename}" "${url}"
  52. if [ "$SYSTEM" != "centos6" ]; then
  53. curl -L -o "${filename}.sha256" "${url}.sha256"
  54. ## https://askubuntu.com/questions/1202208/checking-sha256-checksum
  55. echo "$(cat "${filename}.sha256") ${filename}" | $SHASUM -c || exit 1
  56. fi
  57. fi
  58. done
  59. popd