relup-base-packages.sh 1.5 KB

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