functions.sh 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/env bash
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # -----------------------------------------------------------------------------
  4. # allow running the jobs by hand
  5. [ -z "${NETDATA_BUILD_WITH_DEBUG}" ] && export NETDATA_BUILD_WITH_DEBUG=0
  6. [ -z "${NETDATA_INSTALL_PATH}" ] && export NETDATA_INSTALL_PATH="${1-/opt/netdata}"
  7. [ -z "${NETDATA_MAKESELF_PATH}" ] && NETDATA_MAKESELF_PATH="$(dirname "${0}")/../.."
  8. [ "${NETDATA_MAKESELF_PATH:0:1}" != "/" ] && NETDATA_MAKESELF_PATH="$(pwd)/${NETDATA_MAKESELF_PATH}"
  9. [ -z "${NETDATA_SOURCE_PATH}" ] && export NETDATA_SOURCE_PATH="${NETDATA_MAKESELF_PATH}/../.."
  10. export NETDATA_MAKESELF_PATH NETDATA_MAKESELF_PATH
  11. export NULL=
  12. # make sure the path does not end with /
  13. if [ "${NETDATA_INSTALL_PATH:$((${#NETDATA_INSTALL_PATH} - 1)):1}" = "/" ]; then
  14. export NETDATA_INSTALL_PATH="${NETDATA_INSTALL_PATH:0:$((${#NETDATA_INSTALL_PATH} - 1))}"
  15. fi
  16. # find the parent directory
  17. NETDATA_INSTALL_PARENT="$(dirname "${NETDATA_INSTALL_PATH}")"
  18. export NETDATA_INSTALL_PARENT
  19. # -----------------------------------------------------------------------------
  20. # bash strict mode
  21. set -euo pipefail
  22. # -----------------------------------------------------------------------------
  23. fetch() {
  24. local dir="${1}" url="${2}" sha256="${3}"
  25. local tar="${dir}.tar.gz"
  26. if [ ! -f "${NETDATA_MAKESELF_PATH}/tmp/${tar}" ]; then
  27. run wget -O "${NETDATA_MAKESELF_PATH}/tmp/${tar}" "${url}"
  28. fi
  29. # Check SHA256 of gzip'd tar file (apparently alpine's sha256sum requires
  30. # two empty spaces between the checksum and the file's path)
  31. set +e
  32. echo "${sha256} ${NETDATA_MAKESELF_PATH}/tmp/${tar}" | sha256sum -c -s
  33. local rc=$?
  34. if [ ${rc} -ne 0 ]; then
  35. echo >&2 "SHA256 verification of tar file ${tar} failed (rc=${rc})"
  36. echo >&2 "expected: ${sha256}, got $(sha256sum "${NETDATA_MAKESELF_PATH}/tmp/${tar}")"
  37. exit 1
  38. fi
  39. set -e
  40. if [ ! -d "${NETDATA_MAKESELF_PATH}/tmp/${dir}" ]; then
  41. cd "${NETDATA_MAKESELF_PATH}/tmp"
  42. run tar -zxpf "${tar}"
  43. cd -
  44. fi
  45. run cd "${NETDATA_MAKESELF_PATH}/tmp/${dir}"
  46. }
  47. # -----------------------------------------------------------------------------
  48. # load the functions of the netdata-installer.sh
  49. # shellcheck source=packaging/installer/functions.sh
  50. . "${NETDATA_SOURCE_PATH}/packaging/installer/functions.sh"
  51. # -----------------------------------------------------------------------------
  52. # debug
  53. echo "ME=${0}"
  54. echo "NETDATA_INSTALL_PARENT=${NETDATA_INSTALL_PARENT}"
  55. echo "NETDATA_INSTALL_PATH=${NETDATA_INSTALL_PATH}"
  56. echo "NETDATA_MAKESELF_PATH=${NETDATA_MAKESELF_PATH}"
  57. echo "NETDATA_SOURCE_PATH=${NETDATA_SOURCE_PATH}"
  58. echo "PROCESSORS=$(nproc)"