summaryrefslogtreecommitdiffstats
path: root/packaging/scripts/install.sh
blob: c591b0bee0ec042e4a6b0737e3fee32e7bdb5c56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/sh

install_debian_like() {
  # This is needed to ensure package installs don't prompt for any user input.
  export DEBIAN_FRONTEND=noninteractive

  apt-get update

  # Install NetData
  apt-get install -y "/packages/netdata_${VERSION}_${ARCH}.deb"

  # Install testing tools
  apt-get install -y --no-install-recommends \
    curl netcat jq
}

install_fedora_like() {
  # Using a glob pattern here because I can't reliably determine what the
  # resulting package name will be (TODO: There must be a better way!)

  PKGMGR="$( (command -v dnf > /dev/null && echo "dnf") || echo "yum")"

  pkg_version="$(echo "${VERSION}" | tr - .)"

  # Install NetData
  "$PKGMGR" install -y /packages/netdata-"${pkg_version}"-*.rpm

  # Install testing tools
  "$PKGMGR" install -y curl nc jq
}

install_centos() {
  # Using a glob pattern here because I can't reliably determine what the
  # resulting package name will be (TODO: There must be a better way!)

  PKGMGR="$( (command -v dnf > /dev/null && echo "dnf") || echo "yum")"

  pkg_version="$(echo "${VERSION}" | tr - .)"

  # Install EPEL (needed for `jq`
  "$PKGMGR" install -y epel-release

  # Install NetData
  "$PKGMGR" install -y /packages/netdata-"${pkg_version}"-*.rpm

  # Install testing tools
  "$PKGMGR" install -y curl nc jq
}

install_suse_like() {
  # Using a glob pattern here because I can't reliably determine what the
  # resulting package name will be (TODO: There must be a better way!)

  pkg_version="$(echo "${VERSION}" | tr - .)"

  # Install NetData
  # FIXME: Allow unsigned packages (for now) #7773
  zypper install -y --allow-unsigned-rpm \
    /packages/netdata-"${pkg_version}"-*.rpm

  # Install testing tools
  zypper install -y --no-recommends \
    curl gnu-netcat jq
}

case "${DISTRO}" in
  debian | ubuntu)
    install_debian_like
    ;;
  fedora)
    install_fedora_like
    ;;
  centos)
    install_centos
    ;;
  opensuse)
    install_suse_like
    ;;
  *)
    printf "ERROR: unspported distro: %s_%s\n" "${DISTRO}" "${DISTRO_VERSION}"
    exit 1
    ;;
esac