clearlinux.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/usr/bin/env bash
  2. # Package tree used for installing netdata on distribution:
  3. # << ClearLinux: [base] >>
  4. set -e
  5. NON_INTERACTIVE=0
  6. DONT_WAIT=0
  7. declare -a package_tree=(
  8. bison
  9. c-basic
  10. curl
  11. devpkg-elfutils
  12. devpkg-json-c
  13. devpkg-libmnl
  14. devpkg-libuv
  15. devpkg-lz4
  16. devpkg-openssl
  17. devpkg-util-linux
  18. devpkg-zlib
  19. findutils
  20. flex
  21. git
  22. gzip
  23. make
  24. python3-basic
  25. service-os-dev
  26. sysadmin-basic
  27. yaml-dev
  28. )
  29. usage() {
  30. cat << EOF
  31. OPTIONS:
  32. [--dont-wait] [--non-interactive] [ ]
  33. EOF
  34. }
  35. check_flags() {
  36. while [ -n "${1}" ]; do
  37. case "${1}" in
  38. dont-wait | --dont-wait | -n)
  39. DONT_WAIT=1
  40. ;;
  41. non-interactive | --non-interactive | -y)
  42. NON_INTERACTIVE=1
  43. ;;
  44. help | -h | --help)
  45. usage
  46. exit 1
  47. ;;
  48. *)
  49. echo >&2 "ERROR: Cannot understand option '${1}'"
  50. echo >&2
  51. usage
  52. exit 1
  53. ;;
  54. esac
  55. shift
  56. done
  57. if [ "${DONT_WAIT}" -eq 0 ] && [ "${NON_INTERACTIVE}" -eq 0 ]; then
  58. read -r -p "Press ENTER to run it > " || exit 1
  59. fi
  60. }
  61. # shellcheck disable=SC2068
  62. check_flags ${@}
  63. packages_to_install=
  64. # shellcheck disable=SC2068
  65. for package in ${package_tree[@]}; do
  66. if [[ "$(swupd bundle-info "$package" | grep Status | cut -d':' -f2)" == " Not installed" ]]; then
  67. echo "Package '$package' is NOT installed"
  68. packages_to_install="$packages_to_install $package"
  69. else
  70. echo "Package '$package' is installed"
  71. fi
  72. done
  73. if [[ -z $packages_to_install ]]; then
  74. echo "All required packages are already installed. Skipping .."
  75. else
  76. echo "packages_to_install: " "${packages_to_install[@]}"
  77. # shellcheck disable=SC2068
  78. swupd bundle-add ${packages_to_install[@]}
  79. fi