functions.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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}"
  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. if [ ! -d "${NETDATA_MAKESELF_PATH}/tmp/${dir}" ]; then
  30. cd "${NETDATA_MAKESELF_PATH}/tmp"
  31. run tar -zxpf "${tar}"
  32. cd -
  33. fi
  34. run cd "${NETDATA_MAKESELF_PATH}/tmp/${dir}"
  35. }
  36. # -----------------------------------------------------------------------------
  37. # load the functions of the netdata-installer.sh
  38. # shellcheck source=packaging/installer/functions.sh
  39. . "${NETDATA_SOURCE_PATH}/packaging/installer/functions.sh"
  40. # -----------------------------------------------------------------------------
  41. # debug
  42. echo "ME=${0}"
  43. echo "NETDATA_INSTALL_PARENT=${NETDATA_INSTALL_PARENT}"
  44. echo "NETDATA_INSTALL_PATH=${NETDATA_INSTALL_PATH}"
  45. echo "NETDATA_MAKESELF_PATH=${NETDATA_MAKESELF_PATH}"
  46. echo "NETDATA_SOURCE_PATH=${NETDATA_SOURCE_PATH}"
  47. echo "PROCESSORS=$(nproc)"